/* Atelier — product presentation. Business grids, status semantics and handlers
   stay in their original modules. This sheet is loaded last on every page. */
:root{--font:'Segoe UI',Inter,-apple-system,BlinkMacSystemFont,sans-serif;--font-editorial:Georgia,'Times New Roman',serif;--bg:#f6f5f0;--surface:#fffefa;--surface-1:var(--surface);--surface-2:#f0f1e9;--surface-3:#e7ebe1;--text-1:#203a32;--text-2:#354d43;--text-3:#647269;--text-4:#6b786f;--border:#dfe4da;--border-m:#c9d2c6;--accent:#009688;--accent-d:#00695c;--accent-l:#e0f2f1;--radius:11px;--radius-sm:7px;--radius-lg:12px;--shadow-sm:0 1px 3px #203a3205;--atelier-sidebar:214px}
body{font-family:var(--font);background:var(--bg);color:var(--text-2)}
button,input,select,textarea{font-family:var(--font)}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
::selection{background:var(--accent-l);color:var(--accent-d)}
.app-v2{background:var(--bg)}
.atelier-workspace{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}
.atelier-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:10px 30px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}
.atelier-breadcrumb{display:flex;align-items:center;gap:13px;font-size:12px;color:var(--text-3);min-width:0}
.atelier-breadcrumb a{color:var(--text-3);text-decoration:none}
.atelier-breadcrumb>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-1)}
.atelier-top-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}
.atelier-profile-link{color:var(--text-3);display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:50%}
.atelier-profile-link svg{width:17px;height:17px}
.atelier-topbar .cp-trigger{width:auto;margin:0;padding:7px 10px;background:transparent;min-height:36px;border-color:transparent;box-shadow:none;gap:9px}
.atelier-topbar .cp-trigger .cp-trig-label{font-size:12px;font-weight:400}
.atelier-test-banner{display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;background:var(--surface-2);border-bottom:1px solid var(--border);padding:7px 30px;font-size:11px;color:var(--text-3)}
.atelier-test-banner>span:first-child{font-weight:650;font-size:10px;letter-spacing:.06em;color:var(--text-2)}
.sidebar-v2{width:var(--atelier-sidebar);min-width:var(--atelier-sidebar);background:var(--surface);border-right:1px solid var(--border)}
.sidebar-v2-brand{padding:20px 18px 14px;border-bottom:0;gap:10px}
.sidebar-v2-logo{background:var(--accent);width:33px;height:33px;border-radius:9px;font:25px var(--font-editorial);font-weight:400;letter-spacing:-2px;padding-right:2px}
.sidebar-v2-brand-name{font-family:var(--font-editorial);font-size:18px;font-weight:600;letter-spacing:-.5px}
.sidebar-v2-brand-sub{font-size:9px;margin-top:4px;letter-spacing:.09em;color:var(--text-3)}
.atelier-nav-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--text-1);padding:7px 9px;margin:12px 0 5px;background:var(--surface-2);border-left:3px solid var(--accent);border-radius:0 5px 5px 0;line-height:1.2}.sidebar-v2-nav>.atelier-nav-label:first-child{margin-top:5px}.sidebar-v2>.cp-trigger{width:calc(100% - 24px);margin:0 12px 7px;min-height:36px;padding:7px 9px;flex-shrink:0}.sidebar-v2>.cp-trigger .cp-trig-label{font-size:12px}
.sidebar-v2>.atelier-nav-label{padding:0 24px 8px}
.sidebar-v2-nav{padding:0 12px 12px;overflow-y:auto;overflow-x:hidden}
.sidebar-v2-item{min-height:36px;padding:5px 10px;gap:9px;font-weight:400;font-size:12px;border-radius:7px;margin-bottom:2px;color:var(--text-3)}
.sidebar-v2-item.active{background:var(--accent);color:#fff;box-shadow:none;font-weight:500}
.sidebar-v2-item.active .sv2-icon{background:transparent;color:#fff}
.sidebar-v2-item.active .sv2-icon svg{stroke:currentColor;stroke-width:1.6}
.sv2-icon{width:20px;height:24px;background:transparent!important;color:inherit}
.sv2-icon svg{width:17px;height:17px}
.sidebar-v2 .sg-badge{background:var(--surface-2);color:var(--text-3);border-radius:4px;font-size:8px;letter-spacing:.03em}
.sidebar-v2 .active .sg-badge{background:#ffffff26;color:#fff}
.sidebar-v2-footer{padding:10px 12px 14px;border-top:1px solid var(--border)}
#notif-bell-btn-sidebar{background:none!important;border:0!important;color:var(--text-3)!important;border-radius:7px!important;padding:9px 10px!important}
#notif-bell-btn-sidebar>span{color:inherit!important;background:transparent!important;font-weight:400!important}
.sv2-user{background:none;padding:11px 7px 0;margin:0;border-radius:0;border-top:1px solid var(--border)}
.sv2-user-name{font-weight:500;font-size:12px}.sv2-user-email{font-size:10px;color:var(--text-3)}
.user-avatar-sm{background:var(--accent-l);color:var(--accent-d);font-size:10px;font-weight:600}
.page-v2{padding:30px 32px 90px;min-height:0;scrollbar-gutter:stable;scroll-behavior:smooth}
.atelier-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:27px}
.atelier-heading h1,.atelier-client-name{font-family:var(--font-editorial)!important;font-size:34px!important;line-height:1.15!important;font-weight:400!important;letter-spacing:-.8px!important;color:var(--text-1)}
.atelier-heading p:not(.atelier-eyebrow){font-size:13px;color:var(--text-3);margin:11px 0 0;line-height:1.6}
.atelier-eyebrow{font-size:10px;letter-spacing:.12em;color:var(--text-3);font-weight:600;margin:0 0 11px}
.btn{border-radius:7px;min-height:37px;font-weight:500;box-shadow:none;font-size:13px;padding:9px 14px}
.btn-primary,.btn-primary:hover:not(:disabled){box-shadow:none}
.btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text-2)}
.btn-secondary:hover:not(:disabled){background:var(--surface-2)}
.btn-ghost{border-color:var(--border);background:var(--surface)}
.btn-sm{font-size:12px;min-height:33px;padding:7px 10px}
.input{background:var(--surface);border-radius:7px;border-color:var(--border-m);min-height:40px;padding:10px 12px;font-size:13px;box-shadow:none}
.input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.label{font-size:12px;color:var(--text-3);margin-bottom:7px}
.card{border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:none}
.card-header{padding:17px 20px;border-bottom:1px solid var(--border)}
.card-title{font-size:14px;font-weight:600;letter-spacing:0}
.card-body{padding:var(--card-p,20px)}
th{background:var(--surface-2);font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-3);border-bottom:1px solid var(--border)}
td{border-bottom-color:var(--border)}
.badge{border-radius:5px;font-size:11px;font-weight:500;padding:3px 7px}
.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;overscroll-behavior-x:contain}
.modal,.modal-panel,.cp-box{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 80px #142b2226}
.modal-header{background:var(--surface)!important;padding:20px 22px;border-bottom:1px solid var(--border)}
.modal-title{font-family:var(--font-editorial);font-size:25px;font-weight:400;letter-spacing:-.4px}
.modal-body{padding:22px}.modal-footer{padding:16px 22px;background:var(--surface-2)}
.modal-close{background:var(--surface-2);border-radius:6px;color:var(--text-2);min-width:32px;min-height:32px}
.empty-title{font-family:var(--font-editorial);font-weight:400;font-size:23px}
.filter-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px}
.filter-badge{background:var(--accent-l);color:var(--accent-d);border-radius:5px}
/* Mon bureau: the same live indicators, rearranged around daily work. */
#db-root{max-width:1240px;padding:4px 0 130px;margin:0 auto}
.db-head{border:0;margin-bottom:25px;padding:0;align-items:center}
.db-date{font-size:10px;font-weight:500;letter-spacing:.12em;color:var(--text-3);margin-bottom:12px}
.db-greeting{font-family:var(--font-editorial);font-size:38px;font-weight:400;letter-spacing:-1px;line-height:1.15}
.db-intro{font-size:13px;line-height:1.5;margin-top:12px;color:var(--text-3)}
.db-qbtn{height:38px;border-radius:7px;font-weight:500;font-size:12px;background:var(--surface);border:1px solid var(--border)}
.db-qbtn:hover{background:var(--surface-2)}
.atelier-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0;margin-bottom:30px}
.atelier-stats>a{text-decoration:none;color:var(--text-1);display:flex;flex-direction:column;gap:5px;padding:0 25px;border-right:1px solid var(--border)}
.atelier-stats>a:first-child{padding-left:0}.atelier-stats>a:last-child{border:0}
.atelier-stats span{color:var(--text-3);font-size:12px}.atelier-stats strong{font-size:32px;letter-spacing:-1px;font-weight:500;font-variant-numeric:tabular-nums}
.atelier-stats small{color:var(--text-3);font-size:11px;font-weight:400;letter-spacing:0}
.atelier-stats strong small{margin-left:8px;font-size:12px}
.db-cols{grid-template-columns:minmax(0,1.65fr) minmax(265px,1fr);gap:28px}
.db-section{padding:0 0 13px;gap:8px}.db-section h2{font:24px/1.25 var(--font-editorial);letter-spacing:-.4px;color:var(--text-1)}
.db-section .cnt{font-size:11px;color:var(--text-3);font-weight:400}.db-section .go{font-size:12px;font-weight:500}
.db-card{border:0;background:transparent;border-radius:0;box-shadow:none;margin-bottom:29px}
.db-row,.db-cl-row,.db-ech-row{padding:16px 0;border-top:0;border-bottom:1px solid var(--border)}
.db-row-title,.db-cl-nom{font-size:13px;font-weight:500}
.db-row-sub,.db-cl-ref{font-size:11px;color:var(--text-3);margin-top:5px}
.db-row-ico{border:1px solid var(--border);background:var(--surface)!important;color:var(--text-3)!important;width:25px;height:25px;border-radius:6px;font-weight:400}
.db-row-tag{font-size:10px;font-weight:500;border-radius:5px}
.db-cl-bar{height:4px;background:var(--surface-3)}.db-cl-bar-fill{height:4px;background:var(--accent)!important}
.db-cl-pct{color:var(--text-2)!important;font-weight:500}.db-cl-row{grid-template-columns:minmax(0,1fr) 65px 38px}
.atelier-time-section{margin-bottom:26px}.db-ring-card{background:var(--accent);border:0;border-radius:11px;padding:22px;min-height:165px;gap:17px;box-shadow:none;flex-wrap:wrap}
.db-ring-card>div:first-child{order:2;width:56px!important;height:56px!important}.db-ring-card>div:first-child svg{width:56px;height:56px}
.db-ring-card>div:nth-child(2){order:1}.db-ring-go{order:3;width:100%;justify-content:center;border:1px solid #ffffff55;background:transparent;border-radius:6px;min-height:34px;font-size:12px;font-weight:400}
.db-ring-kicker{font-size:10px;font-weight:500;letter-spacing:.06em}.db-ring-title{font-size:22px;line-height:1.3;font-weight:400;letter-spacing:-.4px;margin-top:10px}.db-ring-hint{font-size:11px;margin-top:7px}
.db-ech-nom{font-size:12px;font-weight:500}.db-ech-date{font-weight:500}.db-ech-type{font-size:10px;font-weight:500;border-radius:5px}
.db-note{border-radius:8px;box-shadow:none}.db-note-txt{font-size:12px;font-weight:400;line-height:1.65}
.db-empty{padding:24px 10px;text-align:left}.db-empty-t{font:22px var(--font-editorial);font-weight:400}.db-empty-s{font-size:12px;color:var(--text-3)}
.db-quickbar-wrap{left:var(--atelier-sidebar);padding:0 30px;bottom:22px}.db-quickbar{max-width:760px;border:1px solid var(--border-m);background:var(--surface);border-radius:10px;box-shadow:0 5px 24px #203a3212;padding:8px 10px}.db-quick-input{font-size:13px}
/* Dossiers and detail: retain filters, columns, imports, edit dialogs and tabs. */
body[data-page="clients"] #page-content{padding-top:31px}
.dossier-table{box-shadow:none}.dossier-mobile-card{border-radius:10px;box-shadow:none;background:var(--surface)}
.dossier-mobile-card h2{font:23px var(--font-editorial);font-weight:400;letter-spacing:-.3px}
.dossier-mobile-card p{color:var(--text-3)}
body[data-page="client-detail"] .card{margin-bottom:16px}
body[data-page="client-detail"] #page-content{padding:30px 32px 90px}
body[data-page="client-detail"] .tabs{flex-wrap:wrap;gap:5px 0}
body[data-page="client-detail"] .tab{padding:10px 13px;min-height:40px;font-size:12px}
/* Dense fiscal grids keep their fixed columns, checkboxes and horizontal scroll. */
.cb-page,.tv-page,.is-page,.dp-page{background:var(--bg)}
.cb-bar,.tv-bar,.is-bar,.dp-bar{background:var(--surface);border-color:var(--border);border-radius:8px}
.cb-kpi,.tv-kpi,.is-kpi{border:1px solid var(--border);border-radius:9px;box-shadow:none;background:var(--surface);margin-bottom:16px}
.kpi-val{font-weight:500!important}.kpi-lbl{color:var(--text-3)}
.cb-nom-link{font-weight:500;color:var(--text-1)}
.atelier-fiscal-nav{display:flex;flex-wrap:wrap;gap:7px;border-bottom:1px solid var(--border);padding:0 0 16px;margin-bottom:20px}
.atelier-fiscal-nav a{color:var(--text-3);font-size:12px;text-decoration:none;padding:7px 10px;border-radius:6px}
.atelier-fiscal-nav a.active{color:var(--accent-d);background:var(--accent-l)}
.atelier-workspace>.atelier-fiscal-nav{padding:10px 22px;margin:0;flex-shrink:0;background:var(--surface)}
/* Bind old viewport-sized grids to the available workspace, including the test
   banner and navigation. Inner tables keep their own horizontal/vertical scroll. */
body:is([data-page="cloture"],[data-page="tva"],[data-page="ca3"]) #page-content{display:flex;flex-direction:column;min-height:0;padding-bottom:16px}
body:is([data-page="cloture"],[data-page="tva"],[data-page="ca3"]) #page-content>#app{display:flex;flex-direction:column;flex:1;min-height:0}
.atelier-workspace .cb-page,.atelier-workspace .tb-page,.atelier-workspace .ca3-page{height:100%;min-height:0;flex:1}
/* Task lists and kanban. */
.nt-head{background:var(--bg)!important;border-bottom:1px solid var(--border);box-shadow:none!important;padding-bottom:20px!important}
.nt-h1,.tp2-h1{font:34px/1.2 var(--font-editorial)!important;letter-spacing:-.8px!important;font-weight:400!important}
.nt-tabs-help{color:var(--text-3)!important;line-height:1.6}
.nt-tab,.nt-filter-btn,.nt-bulk-btn{font-weight:500!important;border-radius:6px!important}
.nt-search{background:var(--surface)!important;border:1px solid var(--border-m)!important;border-radius:7px!important;color:var(--text-1)}
.nt-card,.nt-kanban-card,.kb-card{box-shadow:none!important;border:1px solid var(--border)!important;border-radius:9px!important;background:var(--surface)}
.nt-col,.nt-kanban-col,.kb-col{border-radius:10px!important;background:var(--surface-2)}
.nt-notif-banner{background:var(--surface-2)!important;border:1px solid var(--border)!important;border-radius:8px!important;color:var(--text-2)!important}
.nt-hero{background:var(--accent);border-radius:11px;box-shadow:none}.nt-hero::after{display:none}.nt-hero-title{font-weight:500}
.nt-kpi,.nt-group-body{border:1px solid var(--border);border-radius:10px;box-shadow:none}.nt-kpi:hover{box-shadow:none;transform:none}.nt-kpi-val{font-weight:500}
.nt-kcol{border-radius:10px;background:var(--surface-2)}.nt-kcard{border:1px solid var(--border);border-radius:8px;box-shadow:none}.nt-kcard:hover{box-shadow:none;transform:none}
.nt-primary,.nt-primary:hover{box-shadow:none;border-radius:7px;font-weight:500;transform:none}.nt-seg{border-radius:7px;background:var(--surface-2)}.nt-icon-btn{border-radius:7px;background:var(--surface);border:1px solid var(--border)}
.nt-row:hover{background:var(--surface-2)}.nt-row-title{font-weight:500}.nt-check{border-radius:6px;width:21px;height:21px}
.nt-modal{border-radius:14px;box-shadow:0 24px 70px #203a3226}.nt-modal-title{font-family:var(--font-editorial);font-size:26px;font-weight:400}.nt-modal .btn-primary{box-shadow:none}
.nt-quick{left:var(--atelier-sidebar)}.nt-quick-inner{background:var(--surface);border:1px solid var(--border-m);border-radius:10px;box-shadow:0 5px 24px #203a3212;backdrop-filter:none}.nt-quick input{font-size:13px}
/* Time tracking. Existing timers and entry actions remain the source of truth. */
.tp-topbar{background:var(--bg)!important;border-bottom:1px solid var(--border);box-shadow:none!important}
.tp2-date-sub{font-size:11px!important;color:var(--text-3)!important;letter-spacing:.04em}
.tp2-band{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.tp2-hero{background:var(--accent)!important;border-radius:11px!important;box-shadow:none!important;min-width:0}.tp2-hero::after{display:none}.tp2-hero-title{font-weight:500!important}.tp2-hero-kicker{font-weight:500!important;font-size:10px!important}
.tp2-kpi{border:1px solid var(--border)!important;border-radius:10px!important;box-shadow:none!important;min-width:0}.tp2-kpi-val{font-weight:500!important}.tp2-kpi-sub{white-space:normal!important;font-size:11px!important}
.tp2-nl-wrap{background:var(--surface);border:1px solid var(--border-m);border-radius:8px}.tp2-nl-wrap input{min-width:0}
.tp2-seg{background:var(--surface-2)!important;border:1px solid var(--border);border-radius:7px!important}
.tp2-seg button{font-weight:500!important;border-radius:5px!important}.tp2-seg button.sel{background:var(--surface)!important}
.launch-card,.recap-card,.timer-card,.tp-card{border:1px solid var(--border)!important;border-radius:11px!important;box-shadow:none!important;background:var(--surface)}
.timer-card.running{border-color:var(--accent)!important;box-shadow:inset 3px 0 var(--accent)!important}
.tbtn,.tp2-navbtn,.tp2-todaybtn{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:6px!important}
.launch-title{font-weight:600!important;letter-spacing:.09em!important}
.cli-wrap .input,#inp-comment.input{background:var(--surface)!important;border:1px solid var(--border-m)!important;border-radius:7px!important}
/* Tax preparation, document tools, administration and preferences. */
.ca3-title,.ca12-title,.pdf-title,.adm-title{font:30px/1.2 var(--font-editorial)!important;font-weight:400!important;letter-spacing:-.5px!important}
.ca3-card,.ca12-card,.pdf-card,.adm-card,.s-card,.s-group,.settings-card{background:var(--surface);box-shadow:none!important;border:1px solid var(--border)!important;border-radius:11px!important}
.ca3-card-title,.ca12-card-title{font-size:13px!important;font-weight:600!important;letter-spacing:0!important}
body[data-page="settings"] #page-content{background:var(--bg)!important}
.s-title{font-family:var(--font-editorial)!important;font-size:23px!important;font-weight:400!important;text-transform:none!important;letter-spacing:-.3px!important;color:var(--text-1)!important}
.s-row{border-color:var(--border)!important}.sw{max-width:1000px!important}
body[data-page="tableau"] #page-content,body[data-page="tableau-perso"] #page-content{background:var(--bg)}
.notif-panel,.cl-modal{border-radius:13px;box-shadow:0 20px 70px #142b2233;border:1px solid var(--border)}
.notif-panel-header{background:var(--surface);border-radius:13px 13px 0 0}.notif-title-txt{font-weight:500}.notif-msg{color:var(--text-3)}
.rt-dock,.rt-menu{background:var(--surface)!important;border:1px solid var(--border);border-radius:9px;box-shadow:0 4px 18px #203a3214;backdrop-filter:none}
.rt-pill{font-family:var(--font);font-size:11px;border-radius:6px;height:29px}.rt-pill.rt-active{background:var(--accent-l);color:var(--accent-d);box-shadow:none;font-weight:500}
.rt-ico{background:transparent!important;color:var(--text-3)}.rt-pill.rt-active .rt-ico{color:var(--accent-d)}
#recent-tabs-bar{left:var(--atelier-sidebar)!important;bottom:10px}
/* Complete tools catalogue, connected to the existing modules. */
.atelier-tools{max-width:1120px;margin:0 auto}.atelier-tool-search{max-width:480px;margin-bottom:24px}
.atelier-tool-section{margin-bottom:30px}.atelier-tool-section h2{font:25px var(--font-editorial);font-weight:400;letter-spacing:-.4px;color:var(--text-1);margin:0 0 6px}
.atelier-tool-section>p{font-size:12px;color:var(--text-3);margin:0 0 16px}
.atelier-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.atelier-tool-card{display:flex;align-items:flex-start;gap:12px;padding:20px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-1);text-decoration:none;min-width:0;transition:background .15s,border-color .15s}
.atelier-tool-card:hover{background:var(--surface-2);border-color:var(--border-m)}.atelier-tool-card>span:nth-child(2){flex:1;min-width:0}
.atelier-tool-card strong{font-size:13px;font-weight:600;display:block}.atelier-tool-card small{display:block;font-size:12px;color:var(--text-3);margin-top:6px;line-height:1.6}
.atelier-tool-initial{background:var(--accent-l);color:var(--accent-d);width:31px;height:31px;border-radius:8px;display:grid;place-items:center;font:15px var(--font-editorial);flex-shrink:0}
.atelier-empty{padding:30px 0;color:var(--text-3)}
/* Entry points share the same visual identity. */
body.login-page{background:var(--bg)}.login-page .auth-screen{background:var(--surface);border:1px solid var(--border);box-shadow:0 18px 70px #203a3210;border-radius:16px}
.login-page .auth-left{background:#174e42}.login-page .auth-hero h1{font-family:var(--font-editorial);font-weight:400;font-size:48px;letter-spacing:-1px}.login-page .auth-hero h1 span{color:#c7dbc4}
.login-page .auth-right h2{font-family:var(--font-editorial);font-size:32px;font-weight:400;letter-spacing:-.6px}
.login-page .input{background:var(--surface)}.login-page #btn-login,.login-page #btn-register{border-radius:7px;box-shadow:none;font-weight:500}
.guide-page{--g-navy:#174e42;--g-blue:var(--accent);--g-purple:var(--accent);font-family:var(--font)}
.guide-page .guide-hero{background:var(--accent);box-shadow:none}.guide-page .hero-title{font-family:var(--font-editorial);font-weight:400;letter-spacing:-1px}
.guide-page .section-title{font-family:var(--font-editorial);font-weight:400}.guide-page .feature-card{box-shadow:none;border:1px solid var(--border);border-radius:10px}
.atelier-guide-update{padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:11px;margin-bottom:30px;font-size:13px;line-height:1.75}.atelier-guide-update p{margin-top:9px}.atelier-guide-update a{color:var(--accent-d)}
/* Camera surfaces intentionally stay dark for framing documents. */
body.scanner-page{--bg:#13231d;--surf:#20372c;--bord:#3b5144;--acc:#8fc3a0;--text-1:#f2f5ed;--text-2:#e2eade;--text-3:#b9c8ba;--text-4:#a8bbaa;background:var(--bg);color:var(--text-1)}
.scanner-page .bar{background:#13231d;color:#f2f5ed}.scanner-page .bar-sub{color:#b9c8ba}.scanner-page .bar-title{font:22px var(--font-editorial);font-weight:400}
.scanner-page .ib{color:#e2eade}.scanner-page .pc-box{background:var(--surf)}
:root:is([data-theme="dark"],[data-theme="midnight"],[data-theme="forest"],[data-theme="sunset"],[data-theme="nord"]){--atelier-link:#bce1cd}
:root:is([data-theme="dark"],[data-theme="midnight"],[data-theme="forest"],[data-theme="sunset"],[data-theme="nord"]) :is(.tab.active,.db-section .go,.atelier-breadcrumb a,.atelier-fiscal-nav a.active,.cb-nom-link){color:var(--atelier-link)}
:root:is([data-theme="dark"],[data-theme="midnight"],[data-theme="forest"],[data-theme="sunset"],[data-theme="nord"]) .atelier-tool-initial{background:#29473a;color:var(--atelier-link)}
@media(min-width:768px){.app-v2{flex-direction:row}.atelier-topbar{display:flex}.topbar-v2{display:none}.page-v2{padding-bottom:85px}}
@media(min-width:768px) and (max-width:1100px){:root{--atelier-sidebar:188px}.sidebar-v2-brand{padding:24px 13px}.sidebar-v2-brand-name{font-size:16px}.sidebar-v2-item{font-size:11px;gap:7px}.atelier-topbar{padding:10px 22px}.page-v2{padding:24px 22px 90px}.atelier-test-banner{padding:7px 22px}.db-cols{grid-template-columns:1fr}.atelier-day-aside{display:grid;grid-template-columns:1fr 1fr;gap:22px}.atelier-day-aside>section:last-child{grid-column:1/-1}.db-greeting{font-size:33px}.atelier-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.atelier-topbar{display:none}.topbar-v2{height:54px;background:var(--surface);box-shadow:none;backdrop-filter:none}.topbar-brand{font-family:var(--font-editorial);font-size:20px;font-weight:500}.mobile-search{background:transparent;border:0;border-radius:6px}.atelier-test-banner{padding:6px 16px;font-size:10px;gap:2px}.atelier-test-banner>span:last-child{font-size:10px}.page-v2{padding:22px 16px 105px}.sidebar-v2{display:none}.atelier-heading{margin-bottom:22px}.atelier-heading h1,.atelier-client-name{font-size:30px!important}.atelier-heading p:not(.atelier-eyebrow){font-size:12px}.atelier-eyebrow{font-size:9px}.atelier-tool-grid{grid-template-columns:1fr 1fr}.atelier-tool-card{padding:15px 12px;gap:9px}.atelier-tool-card small{font-size:11px}.atelier-tool-initial{display:none}.tab-bar{height:calc(65px + env(safe-area-inset-bottom));background:var(--surface);backdrop-filter:none;padding-top:8px}.tab-item{min-height:46px}.tab-label{font-size:10px}.tab-item.active .tab-icon{background:var(--accent-l);border-radius:7px;width:34px}.tab-item.active .tab-icon svg{stroke-width:1.7}.full-menu-head h2{font-family:var(--font-editorial);font-weight:400;font-size:28px}.full-menu-link{font-size:12px;border-radius:7px;background:var(--surface)}#db-root{padding:2px 0 135px}.db-greeting{font-size:32px}.db-head{gap:18px;margin-bottom:22px}.db-intro{font-size:12px}.db-qactions{gap:6px}.db-qbtn{min-height:40px;padding:0 10px}.atelier-stats{padding:17px 0;margin-bottom:24px}.atelier-stats>a{padding:0 11px}.atelier-stats span{font-size:10px}.atelier-stats strong{font-size:27px}.atelier-stats small{font-size:10px}.atelier-stats strong small{font-size:10px;margin-left:4px}.db-cols{grid-template-columns:1fr;gap:0}.db-section h2{font-size:24px}.db-section .cnt{font-size:10px}.db-row{gap:10px}.db-row-title{font-size:13px}.db-quickbar-wrap{left:0;bottom:calc(75px + env(safe-area-inset-bottom));padding:0 12px}.db-quickbar{border-radius:9px}.db-quick-input{font-size:16px}.db-quickbar-plus{display:none}.db-quickbar .btn{padding:8px 10px;font-size:12px}.db-ring-card{min-height:0;padding:20px}.db-card{margin-bottom:24px}.db-cl-row{padding:15px 0;gap:10px}.nt-h1,.tp2-h1{font-size:30px!important}.nt-notif-banner{flex-wrap:wrap;gap:10px}.modal-title{font-size:23px}.modal-header,.modal-body{padding:18px}.login-page .auth-right h2{font-size:29px}.atelier-fiscal-nav{gap:2px;padding-bottom:10px;margin-bottom:13px}.atelier-fiscal-nav a{font-size:11px;padding:7px}.btn{min-height:40px}.btn-sm{min-height:35px}input.input,textarea.input{font-size:16px}}
@media(max-width:380px){.atelier-tool-grid{grid-template-columns:1fr}.atelier-stats strong{font-size:24px}.atelier-stats>a{padding:0 8px}.db-greeting{font-size:29px}.db-qbtn{font-size:11px}.db-row-tag{padding:3px 5px}}
@media(max-width:767px){body[data-page="client-detail"] #page-content{padding:22px 16px 100px}.nt-quick{left:0;bottom:calc(75px + env(safe-area-inset-bottom))}.nt-quick input{font-size:16px}.atelier-workspace>.atelier-fiscal-nav{padding:7px 10px}.nt-modal{border-radius:14px 14px 0 0}}
@media(max-width:1050px){.tp2-band{grid-template-columns:repeat(2,minmax(0,1fr))}.tp2-hero{grid-column:1/-1}.tp-scroll{min-width:0}.tp2-kpi{padding:15px!important}.tp2-nl-wrap{flex-wrap:wrap}.tp2-nl-wrap input{flex-basis:150px}}
@media(prefers-reduced-motion:reduce){.page-v2{scroll-behavior:auto}.atelier-tool-card{transition:none}}
@media print{.atelier-topbar,.atelier-test-banner,.sidebar-v2,.tab-bar,#recent-tabs-bar,.db-quickbar-wrap{display:none!important}.atelier-workspace,.app-body,.app-v2,.page-v2{height:auto!important;overflow:visible!important;display:block!important}.page-v2{padding:0!important}}

/* 4.351 — visual finish on the 4.340 application, without changing its layouts,
   table density, column order, controls or business states. */
:root{--bg:#f5f4ee;--surface:#fffefa;--surface-2:#eef1e9;--surface-3:#e3eade;--text-1:#223a32;--text-2:#354c42;--text-3:#627168;--text-4:#68766c;--border:#dedfd6;--border-m:#c6cfc2;--accent:#009688;--accent-d:#00695c;--accent-l:#e0f2f1;--ui-shadow:0 12px 38px #183d2912}
/* Shared forms, overlays and menus. Document pages and camera pixels are not recolored. */
.modal,.modal-panel,.nt-modal,.cl-modal,.cp-box,.notif-panel{background:var(--surface);color:var(--text-1);border-color:var(--border-m);box-shadow:var(--ui-shadow)}
.modal-overlay{background:color-mix(in srgb,var(--text-1) 28%,transparent)}
.modal-footer,.pdf-toolbar,.files-bar{background:var(--surface-2);border-color:var(--border)}
.input,.adm-search-input,.rsel,.ca3-card select,.s-row select,.s-row input:not([type=checkbox]):not([type=range]):not([type=color]){background:var(--surface);color:var(--text-1);border-color:var(--border-m);border-radius:8px}
.modal input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),.modal textarea,.modal select{background:var(--surface)!important;color:var(--text-1)!important;border-color:var(--border-m)!important}
input::placeholder,textarea::placeholder{color:var(--text-4);opacity:1}
:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary:hover:not(:disabled){background:var(--accent-d)}
.btn-secondary,.btn-ghost{background:var(--surface);color:var(--text-2);border-color:var(--border-m)}
.flt-drop,#ctx-menu,.cli-list,.adm-cli-drop,.rt-menu{background:var(--surface);color:var(--text-2);border-color:var(--border-m);box-shadow:var(--ui-shadow)}
.flt-opt:hover,.ctx-item:hover,.cli-item:hover,.adm-cli-item:hover{background:var(--surface-2)}
.flt-opt.on,.th-flt-btn.active{color:var(--accent-d)}
/* Original seven tracking matrices: colors only, no geometry or replacement views. */
:is(.cb-table,.bp-table,.tb-table) th{background:var(--surface-2);color:var(--text-2);border-color:var(--border-m)}
:is(.cb-table,.bp-table,.tb-table) .td-nom-b{background:var(--surface);border-right-color:var(--border-m)}
.cb-bar,.bp-bar,.tb-bar,.cb-kpi,.bp-kpi,.tb-kpi{background:var(--surface);border-color:var(--border)}
.cb-search,.bp-search,.tb-search{background:var(--surface-2);color:var(--text-1);border-color:var(--border-m)}
.cb-tr:hover .td-nom-b,.tb-tr:hover .td-nom-b{background:var(--surface-2)}
.td-cell-b.s-done{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.tc.done .tc-date,.tc.done .tc-note{color:var(--accent-d)}
.td-cell-b.td-na{background:var(--surface-2)}
.jdc-btn-full,.jdc-btn,.jdc-btn-sync{background:var(--accent);color:#fff;border-color:var(--accent)}
/* Tool-specific surfaces now use the same palette as the main workspace. */
.adm-client-card,.adm-doc-card,.ucard,.grp-card,.drop-zone,.ca3-card,.ca12-card,.s-group{background:var(--surface);border-color:var(--border);border-radius:11px;box-shadow:none}
.adm-doc-card:hover,.ucard:hover,.grp-card:hover{border-color:var(--border-m);box-shadow:var(--ui-shadow)}
.adm-doc-title,.adm-client-name{color:var(--text-1);font-weight:600}
.adm-doc-desc,.adm-client-meta,.adm-sub{color:var(--text-3)}
.adm-client-avatar,.adm-doc-tag:not(.soon){background:var(--accent-l);color:var(--accent-d)}
.drop-zone:hover,.drop-zone.over,.ca3-drop:hover,.ca3-drop.drag-over{background:var(--surface-2);border-color:var(--accent)}
.tp-title,.stitle{font-family:var(--font-editorial);font-weight:400;letter-spacing:-.3px;color:var(--text-1)}
.page-title,.page-header h1,.adm-page>h2{font-family:var(--font-editorial)!important;font-weight:400!important}
.tbtn.pri,.tbtn.active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
.tbtn.pri:hover,.tbtn.active:hover{background:var(--accent-d)!important}
.pnum{background:var(--surface);color:var(--text-3)}
.pact{background:var(--surface);color:var(--text-1)}
.ca3-tab.active,.tab.active{color:var(--accent-d);border-color:var(--accent)}
.tva-tbl th:not([class*="hdr-"]){background:var(--accent);color:#fff}
.f-section-title,.ca3-sub,.ca3-card-title{color:var(--text-3)}
.guide-content,.guide-sidebar{background:var(--surface);border-color:var(--border)}
.nt-card,.nt-kanban-card,.kb-card,.tp2-kpi,.timer-card,.recap-card{background:var(--surface);color:var(--text-1);border-color:var(--border)}
.nt-search,.tp2-nl-wrap{background:var(--surface);border-color:var(--border-m)}
.nt-tab.active,.nt-filter-btn.active{color:var(--accent-d);background:var(--accent-l)}
/* Saved dark appearances remain supported; muted ink must stay readable. */
:root:is([data-theme=dark],[data-theme=midnight],[data-theme=forest],[data-theme=sunset],[data-theme=nord]){
  --accent-l:color-mix(in srgb,var(--accent) 24%,var(--surface))!important;
  --accent-d:color-mix(in srgb,var(--accent) 35%,#fff)!important;
  --text-3:#bdcbbf!important;--text-4:#aabcae!important;--ui-shadow:0 16px 48px #0005;
}
:root:is([data-theme=dark],[data-theme=midnight],[data-theme=forest],[data-theme=sunset],[data-theme=nord]) .sidebar-v2-item:not(.active){color:var(--text-3)!important}
:root:is([data-theme=dark],[data-theme=midnight],[data-theme=forest],[data-theme=sunset],[data-theme=nord]) .sidebar-v2-item:not(.active) .sv2-icon{color:inherit!important}
:root:is([data-theme=dark],[data-theme=midnight],[data-theme=forest],[data-theme=sunset],[data-theme=nord]) :is(.btn-primary:hover,.tbtn.pri:hover,.tbtn.active:hover){background:var(--accent)!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}

/* Completed tasks and archives: folded by client, active tables unchanged. */
.nt-history{margin:24px 0 90px}.nt-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.nt-history-head h2{font-family:var(--font-editorial);font-weight:400;font-size:21px;margin:0}.nt-history-head>span,.nt-history>p{font-size:12px;color:var(--text-3)}
.nt-history-group{border:1px solid var(--border);border-radius:12px;background:var(--surface);margin:9px 0;overflow:hidden}.nt-history-group>summary{display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer;list-style:none;min-height:48px}.nt-history-group>summary::-webkit-details-marker{display:none}.nt-history-group>summary:before{content:'›';font-size:20px;transition:rotate .25s}.nt-history-group[open]>summary:before{rotate:90deg}.nt-history-folder{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:600}.nt-history-items{border-top:1px solid var(--border)}.nt-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;padding:13px 16px;border-bottom:1px solid var(--border)}.nt-history-row:last-child{border:0}.nt-history-title{padding:0;text-align:left;background:none;border:0;color:var(--text-1);font:inherit;font-weight:500;cursor:pointer;overflow-wrap:anywhere}.nt-history-title:hover{text-decoration:underline}.nt-history-date{grid-column:1;font-size:11px;color:var(--text-3)}.nt-history-actions{grid-column:2;grid-row:1 / 3;display:flex;align-items:center;gap:7px}.nt-history-empty{padding:22px;background:var(--surface);border-radius:12px;font-size:13px;color:var(--text-3)}.nt-kcol .nt-history-group{font-size:12px}.nt-kcol .nt-history-items{padding:8px}.nt-kcol .nt-history-group>summary{padding:10px}
@media(max-width:600px){.nt-history-row{grid-template-columns:minmax(0,1fr)}.nt-history-actions{grid-row:3;grid-column:1;justify-content:flex-start}.nt-history-actions .nt-done-btn{margin-left:0;min-height:36px}}

/* Task scheduling and explicitly sent follow-ups. */
.task-inline-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:6px}.task-inline-actions .nt-done-btn{margin-left:0;white-space:nowrap;font-size:11px}.task-wait-badge{font-size:11px;color:var(--accent-d);background:var(--accent-l);padding:3px 7px;border-radius:6px;overflow-wrap:anywhere}.task-workflow-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 18px}.task-workflow-filters>span{font-size:12px;color:var(--text-3);flex-basis:100%}.task-actions-panel{width:520px;max-width:calc(100vw - 24px);max-height:85dvh;overflow-y:auto}.task-actions-panel>p{overflow-wrap:anywhere}.task-action-section{border-top:1px solid var(--border);padding:14px 0}.task-action-section h3{font-size:14px;margin:0 0 10px}.task-action-section label{display:block;font-size:12px;color:var(--text-3);margin:8px 0 5px}.task-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.task-shortcuts input{flex:1;min-width:140px}.task-actions-panel .input{box-sizing:border-box;width:100%}.task-shortcuts .input{width:auto}.task-action-section small,.task-reminder-help{font-size:12px;color:var(--text-3)}#task-action-error{color:var(--red);font-size:13px}.task-inline-actions button{min-height:28px}
@media(pointer:coarse){.task-inline-actions button{min-height:36px}}

.nt-cal-mobile-agenda{display:none}@media(max-width:720px){.nt-cal-mobile-agenda{display:block;margin-top:18px}.nt-cal-mobile-agenda h3{font-size:12px;color:var(--text-3);margin:16px 0 8px}.nt-cal-agenda-row{padding:12px 0;border-top:1px solid var(--border)}.nt-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}

.task-pin-menu{position:fixed;z-index:9999;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:6px;box-shadow:0 12px 40px #0003;max-width:calc(100vw - 16px)}.task-pin-menu button{font:600 13px var(--font);padding:13px;border:0;border-radius:8px;background:transparent;color:var(--text-1);cursor:pointer}.task-pin-menu button:hover,.task-pin-menu button:focus{background:var(--accent-l)}.task-pin-button{margin:4px 0;min-height:32px}
#task-actions-overlay{position:fixed;inset:0;background:#0006;backdrop-filter:blur(5px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:12px}#task-actions-overlay .task-actions-panel{background:var(--surface);color:var(--text-1);border:1px solid var(--border);border-radius:18px;padding:22px;box-sizing:border-box}

/* V4358 — compact task density, without hiding actions on hover. */
.nt-row{padding:7px 12px;gap:10px}.nt-row-title{font-size:13px}.nt-row-line2{margin-top:2px;gap:7px}
.nt-list-row{padding:6px 12px}.nt-list-title{font-size:13px}.nt-list-sub{font-size:11px}
.nt-list-row:hover{background:var(--surface-2)}
.nt-card{padding:10px 12px}.nt-kcard{padding:8px 10px}.nt-kcard-top{margin-bottom:4px}.nt-kcard-title{margin-bottom:5px}
.task-inline-actions{gap:4px;margin-top:3px;flex-wrap:nowrap;min-width:0}
.task-inline-actions .nt-done-btn{min-height:24px;padding:2px 6px;font-size:11px;flex-shrink:0}
.task-inline-actions .task-pin-button{margin:0;min-width:26px;min-height:24px;padding:2px 4px}
.task-wait-badge{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:2px 5px;font-size:10px}
.nt-row-main,.nt-list-cell{min-width:0}
@media(min-width:900px){
 .nt-row-main{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center}
 .nt-row-main>.nt-row-line1,.nt-row-main>.nt-row-line2{grid-column:1;min-width:0}
 .nt-row-main>.task-inline-actions{grid-column:2;grid-row:1 / span 2;margin:0}
 .nt-row-main .task-wait-badge{max-width:240px}
}
@media(pointer:coarse){.task-inline-actions .nt-done-btn{min-height:32px;min-width:32px}}
@media(max-width:640px){.nt-row{padding:8px 10px;gap:8px}.nt-list-row{padding:7px 10px;gap:5px}.nt-card{padding:10px}.task-wait-badge{white-space:normal;line-height:1.25}}
#jdc-worker-url{min-width:0;width:100%}

/* Consistent section rhythm; separators inside cards remain intact. */
body[data-page="settings"] .sw{gap:18px}
body[data-page="settings"] .sw>.sw-sep{display:none}
body[data-page="settings"] .sw>.s-box{margin:0}
.settings-admin>summary.s-title{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}
.settings-admin>summary::-webkit-details-marker{display:none}
.settings-admin>summary::after{content:'▸';font:14px var(--font);color:var(--text-3)}
.settings-admin[open]>summary::after{content:'▾'}
.settings-admin>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
