/* Atelier Pro by ToolboxDZ — habillage Toolbox DZ (v81)
   Utilise les variables du site (--bg, --surface, --ink, --muted, --line, --accent, --soft, --shadow) :
   le mode sombre du site s'applique donc automatiquement. Toutes les classes de l'app qui existaient
   aussi dans style.css (card, btn, grid, nav, page, stat, muted, small, table-wrap) sont préfixées « ap- ». */

.ap{--ap-field:#fff;--ap-sunk:rgba(0,113,227,.045);--ap-danger:#d92d20;--ap-warn-bg:#fff6e5;--ap-warn:#8a5a00;--ap-paper-line:#e5e8ee;
  max-width:1280px;margin:0 auto;padding:26px 20px 48px;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.005em}
.dark .ap{--ap-field:#14161c;--ap-sunk:rgba(255,255,255,.045);--ap-danger:#ff7066;--ap-warn-bg:#2f2610;--ap-warn:#f3c969}
.ap *,.ap *::before,.ap *::after{box-sizing:border-box}
.ap button,.ap input,.ap select,.ap textarea{font:inherit}
html[dir=rtl] .ap{direction:rtl}

/* ---------- Intro ---------- */
.ap-intro{text-align:center;padding:0 0 20px}
.ap-intro .badge{margin-bottom:10px}
.ap-intro h1{font-size:clamp(28px,4.2vw,42px);line-height:1.06;letter-spacing:-.055em;font-weight:760;margin:0 auto 10px;max-width:820px;text-wrap:balance}
.ap-intro h1 span{background:linear-gradient(105deg,#0071e3 5%,#4778f5 52%,#8c7cf8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ap-intro p{max-width:640px;margin:0 auto;color:var(--muted);font-size:clamp(15px,1.7vw,17.5px);line-height:1.6}
.ap-promises{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:12px;font-size:13px;font-weight:600;color:var(--muted)}
.ap-promises b{color:var(--accent);margin-right:4px}

/* ---------- Structure ---------- */
.ap .app{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}
.ap .main{min-width:0}
.ap .sidebar{position:static;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:18px 12px 14px;display:flex;flex-direction:column;gap:18px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.ap .content{padding:0;max-width:none;margin:0}

/* Marque : Atelier Pro by ToolboxDZ */
.ap-brand{display:flex;align-items:center;gap:11px;padding:2px 6px 4px}
.ap-mark{flex:0 0 auto;display:block;width:44px;height:44px;border-radius:14px;box-shadow:0 8px 20px rgba(238,118,18,.30);transition:transform .2s}
.ap-mark:hover{transform:translateY(-1px) rotate(-3deg)}
.ap-mark svg{display:block;width:100%;height:100%}
.ap-name{display:grid;gap:3px;min-width:0}
.ap-name b{font-size:18px;font-weight:800;letter-spacing:-.045em;line-height:1;color:var(--ink)}
.ap .ap-by{display:inline-flex;align-items:center;gap:2px;font-size:11.5px;font-weight:650;letter-spacing:-.01em;color:var(--muted);text-decoration:none;white-space:nowrap}
.ap .ap-by span{background:#eaf3ff;color:#075db5;border-radius:6px;padding:1px 5px;margin-left:1px;font-weight:800}
.dark .ap .ap-by span{background:#202f42;color:#8fc7ff}
.ap .ap-by:hover{color:var(--ink)}
.ap .nav-label{font-size:10.5px;color:var(--muted);letter-spacing:.14em;font-weight:800;padding:0 12px}
.ap .ap-nav{display:grid;gap:3px;margin-top:6px}
.ap .ap-nav button{width:100%;border:0;background:transparent;color:var(--ink);text-align:start;padding:11px 12px;border-radius:13px;display:flex;align-items:center;gap:12px;font-size:13.5px;font-weight:620;letter-spacing:-.01em;box-shadow:none;transform:none;transition:background .15s,color .15s}
.ap .ap-nav button:hover{background:var(--soft);color:var(--accent);transform:none;box-shadow:none}
.ap .ap-nav button.active{background:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(0,113,227,.24)}
.ap .ap-nav .ico{width:20px;text-align:center;font-size:16px}
.ap .side-foot{border-top:1px solid var(--line);padding:14px 8px 2px;color:var(--muted);font-size:11.5px;line-height:1.55}

/* Barre du haut de l'app */
.ap .topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;background:none;border:0;height:auto;padding:0;position:static}
.ap .eyebrow{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.ap .ap-title{font-size:22px;margin:3px 0 0;letter-spacing:-.045em;font-weight:760}
.ap .top-actions{display:flex;align-items:center;gap:10px}
.ap .avatar{height:38px;width:38px;border-radius:12px;display:block;overflow:hidden;box-shadow:0 6px 16px rgba(238,118,18,.28)}.ap .avatar svg{display:block;width:100%;height:100%}
.ap .mobile-menu{display:none!important}

/* Pages internes */
.ap .ap-page{display:none;animation:apfade .22s ease;min-width:0;max-width:none;margin:0;padding:0;line-height:1.5;overflow-wrap:normal}
.ap .ap-page.active{display:block}
@keyframes apfade{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}
.ap .page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:24px}
.ap .page-head h2{font-size:clamp(24px,3vw,32px);letter-spacing:-.05em;font-weight:760;margin:6px 0;line-height:1.1}
.ap .page-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.55;max-width:60ch}

/* ---------- Boutons (même langage que le site : pilules) ---------- */
.ap .ap-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:10px 17px;border-radius:999px;font-weight:650;font-size:13px;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:none;transform:none;cursor:pointer;text-decoration:none;white-space:normal;transition:background .15s,border-color .15s,color .15s,filter .15s}
.ap .ap-btn:hover{border-color:var(--accent);background:var(--soft);color:var(--accent);transform:none;box-shadow:none}
.ap .ap-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(0,113,227,.2)}
.ap .ap-btn.primary:hover{filter:brightness(1.1);color:#fff;background:var(--accent);box-shadow:0 8px 20px rgba(238,118,18,.30)}
.ap .ap-btn.gold{background:var(--soft);border-color:transparent;color:var(--accent)}
.ap .ap-btn.gold:hover{border-color:var(--accent)}
.ap .ap-btn.danger{color:var(--ap-danger)}
.ap .ap-btn.danger:hover{border-color:var(--ap-danger);background:transparent;color:var(--ap-danger)}
.ap .ap-btn.ap-small{padding:6px 13px;font-size:12px}
.ap .ap-btn:focus-visible,.ap .ap-nav button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.ap label.ap-btn{cursor:pointer}

/* ---------- Cartes, stats, listes ---------- */
.ap .ap-grid{display:grid;gap:16px;margin:0}
.ap .stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}
.ap .ap-stat,.ap .ap-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);color:var(--ink);text-decoration:none}
.ap .ap-stat{padding:20px;min-width:0}
.ap .stat-top{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:12.5px;font-weight:600}
.ap .stat-icon{background:var(--soft);color:var(--accent);height:34px;width:34px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto}
.ap .ap-stat strong{display:block;font-size:clamp(20px,2.4vw,27px);letter-spacing:-.05em;margin:14px 0 5px;line-height:1.15;overflow-wrap:anywhere}
.ap .ap-stat small{font-size:11.5px;color:var(--muted);display:block}
.ap .two-col{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr)}
.ap .ap-card{padding:22px;min-width:0}
.ap .ap-card p,.ap .ap-card h3{color:inherit}
.ap .card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.ap .card-head h3{margin:0;font-size:16px;letter-spacing:-.03em;font-weight:720}
.ap .card-head p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.ap .ap-muted{color:var(--muted)}
.ap .empty{padding:30px 12px;text-align:center;color:var(--muted);font-size:13px;line-height:1.7}
.ap .empty b{display:block;color:var(--ink);font-size:14px;margin-bottom:5px}
.ap .list{display:grid;gap:0}
.ap .list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line)}
.ap .list-row:first-child{border-top:0}
.ap .list-row b{font-size:13.5px;font-weight:680}
.ap .list-row small{display:block;color:var(--muted);font-size:12px;margin-top:4px;line-height:1.5}
.ap .pill{font-size:11px;font-weight:750;padding:6px 11px;border-radius:99px;background:var(--soft);color:var(--accent);white-space:nowrap}
.ap .pill.gold{background:var(--ap-warn-bg);color:var(--ap-warn)}
.ap .toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ap .tag{font-size:11px;border:1px solid var(--line);border-radius:8px;padding:5px 8px;color:var(--muted)}
.ap .notice{background:var(--ap-warn-bg);color:var(--ap-warn);padding:13px 15px;border-radius:14px;font-size:12.5px;line-height:1.6;margin-bottom:16px}
.ap .helper{font-size:12px;color:var(--muted);line-height:1.6}
.ap .negative{color:var(--ap-danger)}

/* ---------- Formulaires ---------- */
.ap .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ap .field{display:grid;gap:7px;min-width:0}
.ap .field.full{grid-column:1/-1}
.ap .field[hidden]{display:none!important}
.ap .field label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:0}
.ap .field input,.ap .field select,.ap .field textarea,.ap td input,.ap td select,.ap .element-dims input{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);background:var(--ap-field);color:var(--ink);border-radius:13px;padding:11px 14px;font-size:14px;outline:none;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.ap .field textarea{min-height:84px;resize:vertical}
.ap .field input:focus,.ap .field select:focus,.ap .field textarea:focus,.ap td input:focus,.ap td select:focus,.ap .element-dims input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(0,113,227,.14)}
.ap .field input[type=file]{padding:9px 12px;min-height:0}
.ap .field input[readonly]{background:var(--ap-sunk)}
.ap .section-title{font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:24px 0 12px}
.ap .section-hint{margin:-4px 0 14px;color:var(--muted);font-size:12.5px;line-height:1.55}

/* Documents */
.ap #page-documents .documents-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px}
.ap #page-documents .documents-list-card{padding:18px 22px}
.ap #page-documents .documents-list-card .list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.ap #page-documents .document-editor-card{padding:clamp(18px,2.6vw,32px)}
.ap #page-documents .document-editor-card>.card-head{padding-bottom:17px;border-bottom:1px solid var(--line)}
.ap #page-documents #docForm{display:grid;gap:22px}
.ap #page-documents .form-section{min-width:0;padding:0 0 22px;border-bottom:1px solid var(--line)}
.ap #page-documents .section-title{display:flex;align-items:center;gap:10px;margin:0 0 15px;color:var(--ink);font-size:15px;font-weight:740;letter-spacing:-.025em;text-transform:none}
.ap #page-documents .doc-pricing{grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);align-items:start;gap:22px}
.ap #page-documents .doc-pricing .summary{position:sticky;top:96px}
.ap #page-documents .doc-actions{border-top:1px solid var(--line);padding:16px 0 2px;margin-top:6px!important}
.ap #page-documents .doc-actions .ap-btn{min-height:42px}
.ap #page-documents #docLines .line-name{min-width:190px}
.ap .split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.ap .summary{padding:18px;background:var(--ap-sunk);border:1px solid var(--line);border-radius:18px;display:grid;gap:12px}
.ap .sum-row{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.ap .sum-row.total{border-top:1px solid var(--line);padding-top:13px;margin-top:4px;font-size:18px;font-weight:800;letter-spacing:-.03em}
.ap .ap-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;max-width:100%;margin-top:4px;-webkit-overflow-scrolling:touch}
.ap table{border-collapse:collapse;width:100%;min-width:640px;background:transparent}
.ap th{text-align:start;background:var(--ap-sunk);color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;padding:12px;font-weight:750}
.ap td{padding:10px 12px;border-top:1px solid var(--line);font-size:13px;vertical-align:middle;color:var(--ink)}
.ap td input,.ap td select{min-width:78px;min-height:40px;padding:8px 10px;font-size:13px;border-radius:10px}

/* Plan 2D */
.ap .room-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}
.ap .plan-wrap{background:#f6f8fb;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.ap .plan-toolbar{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap}
.ap .plan-canvas{display:block;width:100%;height:440px;touch-action:none;cursor:crosshair;border-radius:0 0 18px 18px}
.ap .ap-step{display:flex;gap:6px;align-items:stretch}.ap .ap-step input{flex:1;min-width:0;text-align:center;font-weight:700}.ap .ap-step .ap-btn{flex:0 0 46px;min-width:46px;height:44px;padding:0;border-radius:12px;font-size:20px;line-height:1}
.ap .room-list{display:grid;gap:8px}
.ap .room-option{border:1px solid var(--line);background:var(--ap-field);color:var(--ink);border-radius:14px;padding:12px;display:flex;justify-content:space-between;align-items:center;text-align:start;gap:8px;box-shadow:none;transform:none;font-weight:inherit;width:100%}
.ap .room-option:hover{transform:none;box-shadow:none;border-color:var(--accent);background:var(--soft)}
.ap .room-option.active{border-color:var(--accent);background:var(--soft)}
.ap .room-option b{font-size:13px}
.ap .room-option small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.ap .element-dims{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.ap .element-dims label{display:grid;gap:6px;font-size:11.5px;font-weight:700;color:var(--muted)}
.ap .element-row.active{background:var(--ap-sunk);border-radius:12px}

/* Catalogue */
.ap .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ap .catalog-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:16px;display:grid;gap:10px;box-shadow:var(--shadow)}
.ap .catalog-card h4{margin:0;font-size:14px;letter-spacing:-.02em}
.ap .catalog-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.ap .catalog-card .meta{font-size:10.5px;color:var(--accent);font-weight:800;letter-spacing:.06em;text-transform:uppercase}

/* Suivi de chantier (dépenses + photos) */
.ap .project-finance-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}
.ap .project-extra-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:6px}
.ap .subcard{box-shadow:none;background:var(--ap-sunk)}
.ap .project-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:14px}
.ap .project-photo{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:10px;display:grid;gap:8px;min-width:0}
.ap .project-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:11px;display:block}
.ap .photo-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ap .photo-foot small{color:var(--muted);font-size:11px}

/* Fenêtres (modales) et notifications */
.ap #modalHost .ap-card{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.ap .toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);max-width:min(92vw,520px);background:var(--ink);color:var(--bg);padding:13px 18px;border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.25);font-size:13px;font-weight:600;line-height:1.45;z-index:90;display:none}
.ap .toast.show{display:block;animation:apfade .2s}
.ap .old-browser{margin:0;padding:18px 22px;background:var(--ap-warn-bg);color:var(--ap-warn);font:14px/1.5 system-ui,sans-serif;border-radius:14px}

/* ---------- Aperçu A4 : toujours une vraie feuille blanche (aussi en mode sombre) ---------- */
.ap .doc-preview{background:#fff;color:#1d1d1f;border:1px solid var(--ap-paper-line);border-radius:16px;padding:30px;max-width:794px;min-height:1123px;margin:0 auto;box-shadow:var(--shadow-hover,0 18px 50px rgba(0,0,0,.12));line-height:1.5}
.ap .doc-preview *{color:inherit}
.ap .doc-head{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #0071e3;padding-bottom:20px}
.ap .doc-brand{font-size:21px;font-weight:850;color:#0071e3!important;letter-spacing:-.03em}
.ap .doc-title{text-align:right;font-size:23px;font-weight:850;letter-spacing:.04em}
.ap .doc-blocks{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0}
.ap .doc-blocks small{display:block;color:#6e6e73!important;font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}
.ap .doc-table{width:100%;min-width:0;background:#fff}
.ap .doc-table th{background:#0071e3;color:#fff!important;text-transform:none;letter-spacing:0;font-size:11px}
.ap .doc-table td{color:#1d1d1f;border-top:1px solid #e5e8ee;font-size:12px}
.ap .doc-table .doc-section td{background:#eaf3ff;color:#075db5!important;font-weight:800;font-size:11px}
.ap .doc-total{margin:20px 0 0 auto;max-width:270px}
.ap .doc-total .sum-row{color:#1d1d1f}
.ap .doc-total .sum-row.total{border-top:1px solid #d7dbe3}
.ap .doc-footer{margin-top:28px;border-top:1px solid #e5e8ee;padding-top:14px;font-size:10px;color:#6e6e73!important}

/* ---------- Contenu sous l'app (utile pour comprendre l'outil) ---------- */
.ap-about{max-width:1000px;margin:54px auto 0}
.ap-about h2{font-size:clamp(24px,3.4vw,34px);letter-spacing:-.05em;font-weight:760;text-align:center;margin:0 0 8px}
.ap-about .lead{text-align:center;color:var(--muted);max-width:640px;margin:0 auto 26px;line-height:1.6}
.ap-about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ap-about-grid article{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:22px}
.ap-about-grid h3{margin:0 0 8px;font-size:17px;letter-spacing:-.03em}
.ap-about-grid p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.ap-faq{max-width:760px;margin:34px auto 0;display:grid;gap:10px}
.ap-faq details{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 20px}
.ap-faq summary{cursor:pointer;font-weight:700;letter-spacing:-.02em}
.ap-faq details p{color:var(--muted);line-height:1.65;margin:10px 0 0;font-size:14px}

/* ---------- Tablette ---------- */
@media(max-width:1050px){
  .ap .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ap .two-col,.ap .split,.ap .room-layout,.ap .project-extra-grid{grid-template-columns:1fr}
  .ap .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ap .app{grid-template-columns:216px minmax(0,1fr);gap:16px}
}

/* ---------- Mobile : le menu devient une barre d'onglets en bas ---------- */
@media(max-width:800px){
  .ap{padding:18px 14px 40px}
  .ap-intro{padding:0 0 14px}
  .ap-intro p{font-size:14.5px}
  .ap-promises{display:none}
  .ap-about-grid{grid-template-columns:1fr}
  .ap .app{display:block}
  .ap .sidebar{position:static;background:none;border:0;box-shadow:none;padding:0;gap:0;backdrop-filter:none;-webkit-backdrop-filter:none}
  .ap .sidebar .ap-brand,.ap .sidebar .nav-label,.ap .sidebar .side-foot{display:none}
  .ap .ap-nav{position:fixed;left:0;right:0;bottom:0;z-index:25;margin:0;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--line);scroll-snap-type:x proximity}
  .ap .ap-nav::-webkit-scrollbar{display:none}
  .ap .ap-nav button{flex:0 0 auto;width:auto;min-width:76px;max-width:92px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:7px 6px;font-size:10.5px;line-height:1.15;text-align:center;border-radius:14px;scroll-snap-align:center;white-space:normal}
  .ap .ap-nav button.active{box-shadow:none}
  .ap .ap-nav .ico{font-size:19px;width:auto}
  .ap .toast{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
  .site-footer{padding-bottom:92px!important}
  .ap .topbar{margin-bottom:14px}
  .ap .ap-title{font-size:19px}
  .ap .top-actions .ap-btn span{display:none}
  .ap .page-head{align-items:flex-start;flex-direction:column;margin-bottom:18px}
  .ap .page-head>.ap-btn{width:100%}
  .ap .stats{gap:10px}
  .ap .ap-stat{padding:15px;border-radius:18px}
  .ap .ap-card{padding:16px;border-radius:18px}
  .ap .form-grid{grid-template-columns:1fr}
  .ap .field.full{grid-column:auto}
  .ap .catalog-grid,.ap .project-finance-stats{grid-template-columns:1fr}
  .ap .plan-canvas{height:340px}
  .ap #page-documents .documents-list-card .list{grid-template-columns:minmax(0,1fr)}
  .ap #page-documents .document-editor-card{padding:16px}
  .ap #page-documents .doc-pricing{grid-template-columns:minmax(0,1fr)}
  .ap #page-documents .doc-pricing .summary{position:static}
  .ap #page-documents .doc-actions .ap-btn{flex:1 1 42%}
  .ap .doc-preview{padding:16px;min-height:0}
  .ap .doc-head{gap:8px}.ap .doc-title{font-size:17px}.ap .doc-brand{font-size:16px}.ap .doc-blocks{gap:12px}
}

/* ---------- Impression / PDF : seulement le document ---------- */
@media print{
  body,html{background:#fff!important}
  header,.site-footer,.ap-intro,.ap-about,.ap .sidebar,.ap .topbar,.ap .no-print,.ap .toast,.ap .ap-nav,#tbBack{display:none!important}
  .ap{padding:0;max-width:none}
  .ap .app,.ap .main,.ap .content{display:block!important;padding:0!important;margin:0!important}
  .ap .ap-page:not(#page-document){display:none!important}
  .ap #page-document{display:block!important}
  .ap .doc-preview{border:0;box-shadow:none;max-width:none;padding:0;border-radius:0;min-height:0}
  .ap .doc-table{page-break-inside:auto}.ap .doc-table tr{page-break-inside:avoid;page-break-after:auto}
  .ap .doc-head,.ap .doc-blocks,.ap .doc-total{break-inside:avoid}
  @page{size:A4;margin:15mm}
}
@media(prefers-reduced-motion:reduce){.ap *{animation:none!important;transition:none!important}}


/* Barre d'identité : on est dans Atelier Pro */
.ap-bar{position:sticky;top:calc(var(--hdr,68px) + 8px);z-index:15;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:9px 10px 9px 12px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.ap-bar-brand{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none;color:var(--ink)}
.ap-bar-brand svg{flex:0 0 auto;width:38px;height:38px;border-radius:12px;box-shadow:0 6px 16px rgba(238,118,18,.28)}
.ap-bar-brand span{display:grid;gap:3px;min-width:0}
.ap-bar-brand b{font-size:17px;font-weight:800;letter-spacing:-.04em;line-height:1}
.ap-bar-brand small{font-size:11.5px;font-weight:650;color:var(--muted);line-height:1}
.ap-bar-brand i{font-style:normal;background:#eaf3ff;color:#075db5;border-radius:6px;padding:1px 5px;margin-left:3px;font-weight:800}
.dark .ap-bar-brand i{background:#202f42;color:#8fc7ff}
.ap-bar-back{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:8px 14px;white-space:nowrap}
.ap-bar-back:hover{color:var(--ink);border-color:var(--muted)}
html[dir=rtl] .ap-bar-back span{display:inline-block;transform:scaleX(-1)}
@media print{.ap-bar{display:none}}
.ap .list-row>.ap-btn{white-space:nowrap;flex:0 0 auto}
@media(min-width:801px){.ap .ap-brand{display:none}.ap .sidebar{position:sticky;top:calc(var(--hdr,68px) + 8px + 16px);max-height:calc(100vh - var(--hdr,68px) - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
/* v84 — PC : le menu « Espace de travail » reste TOUJOURS devant soi (pages courtes, bas de page, pied de page).
   Le script d'atelier-pro-extras.js ajoute html.ap-pin et règle top/left ; sans script, on garde le comportement collant (sticky) ci-dessus. */
html.ap-pin .ap .main{grid-column:2}
html.ap-pin .ap .sidebar{position:fixed;z-index:14;width:250px;box-sizing:border-box;margin:0}
}
/* v84 — écran bas (zoom du navigateur, téléphone couché) : la barre d'identité ne reste plus collée, pour laisser de la place */
@media(max-width:800px) and (max-height:720px){.ap-bar{position:static}}
.ap .notice[hidden]{display:none}

/* v84 — les fenêtres (pièce, client, catalogue, paiement, quantité) passent AU-DESSUS de la barre du bas : plus de boutons Enregistrer/Annuler cachés.
   Hauteur calculée sur l'écran réellement visible (dvh) quand le navigateur le gère. */
div[id$="Overlay"]>.ap-card{max-height:min(90vh,90dvh)!important;overscroll-behavior:contain}
html[dir="rtl"] .ap-nav,html[dir="rtl"] .ap-card,html[dir="rtl"] .main,html[dir="rtl"] .topbar{direction:rtl}
html[dir="rtl"] .ap-bar-back span{display:inline-block;transform:scaleX(-1)}
html[dir="rtl"] input,html[dir="rtl"] textarea,html[dir="rtl"] select{text-align:right}

/* v102 — studio Atelier Pro : l'identité Atelier Pro remplace le logo Toolbox DZ dans l'en-tête */
header .nav .ap-head-brand{margin-inline-end:auto}
header .nav .ap-head-sp{display:none}
header .nav .ap-head-back{order:5}
@media(max-width:640px){header .nav .ap-head-back{display:none}header .nav .ap-bar-brand svg{width:34px;height:34px}header .nav .ap-bar-brand b{font-size:16px}}
