:root{--ink:#162333;--muted:#6d7b8a;--line:#e4e9ed;--soft:#f5f7f8;--paper:#fff;--navy:#122b3b;--navy2:#1b3e52;--gold:#d4a84d;--blue:#397c9e;--green:#2f8063;--amber:#b77a18;--red:#b9534e;--purple:#755c99;--shadow:0 10px 35px rgba(21,38,51,.07)}
*{box-sizing:border-box}html{background:#edf1f3}body{margin:0;background:#f4f6f7;color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(57,124,158,.23);outline-offset:2px}.icon{width:19px;height:19px;flex:0 0 auto}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;display:flex;flex-direction:column;background:var(--navy);color:#fff;z-index:40;box-shadow:8px 0 28px rgba(7,26,38,.08)}.brand-row{min-height:82px;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#d4a84d,#b98524);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25);font-size:12px;font-weight:900;letter-spacing:-.05em}.brand-row>div{min-width:0}.brand-row strong{display:block;font-size:17px;letter-spacing:-.02em}.brand-row span{display:block;margin-top:2px;color:#9db0bc;font-size:10px;letter-spacing:.08em}.mobile-close{display:none;margin-left:auto;border:0;background:transparent;color:#b7c5ce;font-size:26px}.main-nav{flex:1;overflow-y:auto;padding:22px 13px}.nav-label{margin:0 10px 9px;color:#788f9e;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.nav-label.later{margin-top:28px}.nav-link,.nav-disabled{width:100%;min-height:43px;display:flex;align-items:center;gap:12px;border-radius:10px;padding:0 12px;color:#b9c7ce;transition:.18s ease}.nav-link:hover{background:rgba(255,255,255,.06);color:#fff}.nav-link.active{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 3px 0 var(--gold)}.nav-link.active .icon{color:var(--gold)}.nav-link span,.nav-disabled span{flex:1;font-size:13.5px;font-weight:600}.nav-disabled{opacity:.55}.nav-disabled small{font-size:9px;letter-spacing:.08em}.sidebar-foot{padding:13px;border-top:1px solid rgba(255,255,255,.09)}.profile-mini{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 10px}.avatar{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#d9b66c;color:#183041;font-size:11px;font-weight:800}.profile-mini>div{flex:1;min-width:0}.profile-mini strong{display:block;overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.profile-mini span{display:block;margin-top:2px;color:#8297a3;font-size:10.5px;text-transform:capitalize}.logout-button{width:100%;height:39px;display:flex;align-items:center;gap:10px;border:0;border-radius:9px;padding:0 10px;background:transparent;color:#94a7b2;cursor:pointer}.logout-button:hover{background:rgba(255,255,255,.06);color:#fff}.logout-button span{font-size:12px;font-weight:600}.main-area{min-height:100vh;margin-left:258px}.topbar{position:sticky;top:0;z-index:25;min-height:72px;display:flex;align-items:center;gap:20px;padding:10px 32px;border-bottom:1px solid #e1e6e9;background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.menu-button{display:none;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff}.global-search{flex:1;max-width:590px;height:40px;display:flex;align-items:center;gap:10px;color:#8997a3}.global-search input{width:100%;border:0;background:transparent;color:var(--ink);font-size:13px}.global-search input:focus{outline:0}.activity-switcher{margin-left:auto;display:flex;align-items:center;gap:5px;border:1px solid #e0e6e9;border-radius:12px;padding:4px;background:#f4f6f7}.activity-switcher a{min-height:38px;display:inline-flex;align-items:center;border:1px solid transparent;border-radius:9px;padding:0 12px;color:#74828d;font-size:10.5px;font-weight:750;white-space:nowrap}.activity-switcher a:hover{background:rgba(255,255,255,.7);color:var(--ink)}.activity-switcher a.active{border-color:#d9e0e4;background:#fff;color:var(--ink);box-shadow:0 2px 7px rgba(17,39,54,.08)}.activity-context{min-height:40px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #e5e9ec;padding:0 34px;background:#eef2f4;color:#778590;font-size:10px}.context-label{border-radius:20px;padding:4px 7px;background:#dde5e9;color:#677681;font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.activity-context strong{color:var(--ink);font-size:10.5px}.activity-context strong:after{content:'·';margin-left:9px;color:#a8b1b7}.content-wrap{width:100%;max-width:1640px;margin:0 auto;padding:31px 34px 58px}.page-heading{min-height:68px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:25px}.page-heading>div:first-child{flex:1}.page-heading p{margin:0 0 6px;color:#9a762e;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.page-heading h1{margin:0;color:var(--ink);font-size:clamp(25px,2.1vw,33px);line-height:1.15;letter-spacing:-.035em}.page-heading>div>span{display:block;margin-top:7px;color:var(--muted);font-size:12.5px}.page-heading>.primary,.page-heading>.secondary{margin-left:8px}.primary,.secondary,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;cursor:pointer;font-weight:700;white-space:nowrap}.primary{min-height:40px;padding:0 16px;border:1px solid var(--navy);background:var(--navy);color:#fff;box-shadow:0 5px 14px rgba(18,43,59,.16);font-size:12.5px}.primary:hover{background:var(--navy2)}.secondary{min-height:38px;padding:0 14px;border:1px solid #dbe2e6;background:#fff;color:#41515f;font-size:12px;box-shadow:0 2px 5px rgba(22,35,51,.03)}.secondary:hover{border-color:#bfcbd2;background:#f9fafb}.secondary.mini{min-height:31px;padding:0 10px;font-size:11px}.text-button{border:0;background:transparent;color:#396f8c;font-size:11.5px}.full{width:100%}.panel{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 3px 15px rgba(17,39,54,.025)}.panel-pad{padding:20px}.panel-head,.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}.panel-head h2,.section-title h2{margin:0;font-size:15px;letter-spacing:-.015em}.panel-head p{margin:5px 0 0;color:#8a96a1;font-size:10.5px}.activity-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.activity-card{min-height:112px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;border:1px solid var(--line);border-top-width:3px;border-radius:14px;padding:16px;background:#fff;box-shadow:0 3px 13px rgba(17,39,54,.025);transition:.18s ease}.activity-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(17,39,54,.08)}.activity-card-btp{border-top-color:#b47731}.activity-card-web{border-top-color:#765d9c}.activity-card-glaces{border-top-color:#228a98}.activity-card-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;font-weight:900}.activity-card-btp .activity-card-icon{background:#f8eee3;color:#9b6225}.activity-card-web .activity-card-icon{background:#f1edf7;color:#705699}.activity-card-glaces .activity-card-icon{background:#e8f5f6;color:#147d8a}.activity-card span,.activity-card strong,.activity-card small{display:block}.activity-card span{color:#667682;font-size:10px;font-weight:750}.activity-card strong{margin-top:6px;font-size:20px}.activity-card small{margin-top:5px;color:#909ba3;font-size:9px}.activity-card>.icon{color:#9aa5ad}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric-card{position:relative;min-height:135px;border:1px solid var(--line);border-radius:14px;padding:17px 18px;background:#fff}.metric-card>span:not(.metric-icon){display:block;padding-right:42px;color:#687786;font-size:11.5px;font-weight:700}.metric-card>strong{display:block;margin-top:16px;font-size:clamp(20px,1.8vw,27px);line-height:1}.metric-card>small{display:block;margin-top:17px;color:#86929d;font-size:10px}.metric-icon{position:absolute;right:17px;top:17px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-size:22px}.metric-navy{color:var(--navy);background:#eaf0f3}.metric-amber{color:#a26b13;background:#fff4da}.metric-blue{color:#357b9d;background:#e8f3f8}.metric-green{color:#2e7c61;background:#e8f5ef}.dashboard-grid,.detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);gap:18px;margin-bottom:18px}.detail-layout>div{display:grid;align-content:start;gap:18px}.simple-list{display:grid}.simple-list>a,.payment-row{min-height:66px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;border-top:1px solid #edf0f2}.simple-list>a:first-child,.payment-row:first-child{border-top:0}.simple-list>a:hover{background:#fafcfc}.simple-list>a>div{min-width:0}.simple-list strong,.simple-list small,.payment-row span,.payment-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simple-list strong{font-size:12px}.simple-list small,.payment-row small{margin-top:4px;color:#84919c;font-size:10px}.list-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-size:11px;font-weight:900}.timeline{display:grid}.timeline>div{position:relative;display:grid;grid-template-columns:34px 1fr;gap:11px;padding:8px 0}.timeline>div:not(:last-child):before{content:'';position:absolute;left:16px;top:38px;bottom:-7px;width:1px;background:#e2e8eb}.timeline i{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#eef3f5;color:#557487;font-style:normal}.timeline .icon{width:15px;height:15px}.timeline p{margin:2px 0}.timeline strong,.timeline span{display:block}.timeline strong{font-size:11px}.timeline span{margin-top:4px;color:#89959e;font-size:9.5px}.activity-badge{width:fit-content;display:inline-flex!important;align-items:center;border-radius:20px;padding:4px 7px;font-size:8.5px!important;font-weight:800;white-space:nowrap}.activity-btp{color:#8f5b21!important;background:#f8eee3!important}.activity-web{color:#674c91!important;background:#f0ecf6!important}.activity-glaces{color:#147887!important;background:#e6f4f6!important}.status{width:fit-content;display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:700;white-space:nowrap}.status i{width:5px;height:5px;border-radius:50%;background:currentColor}.status-slate{color:#62717d;background:#eff2f4}.status-green{color:#317a61;background:#eaf6f0}.status-red{color:#a84d48;background:#faeceb}.status-blue{color:#337494;background:#e9f3f8}.status-amber{color:#966313;background:#fff3d9}.list-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px}.list-search{flex:1;max-width:440px;height:39px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff;color:#8d99a3}.list-search input{width:100%;border:0;background:transparent;font-size:11.5px}.list-search input:focus{outline:0}.toolbar-summary{margin-left:auto;color:#84919c;font-size:10.5px}.table-panel{overflow:hidden}.data-table-wrap{overflow-x:auto}.data-table{width:100%;min-width:980px;border-collapse:collapse}.data-table th{height:42px;border-bottom:1px solid var(--line);padding:0 14px;background:#fafbfb;color:#87949f;font-size:9px;letter-spacing:.04em;text-align:left;text-transform:uppercase}.data-table td{height:70px;border-bottom:1px solid #edf0f2;padding:10px 14px;color:#53616e;font-size:10.5px;vertical-align:middle}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:#fafcfc}.data-table td>strong,.data-table td>small{display:block;white-space:nowrap}.data-table td>strong{color:#344651;font-size:10.5px}.data-table td>small{margin-top:5px;color:#929da6;font-size:9px}.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.client-card{border:1px solid var(--line);border-radius:14px;padding:17px;background:#fff;box-shadow:0 3px 14px rgba(17,39,54,.025);transition:.18s ease}.client-card:hover{transform:translateY(-2px);border-color:#bdcbd2;box-shadow:0 10px 25px rgba(17,39,54,.08)}.client-card-top{display:flex;align-items:center;gap:11px}.client-card-top>div{flex:1;min-width:0}.client-avatar{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e6f0f4;color:#2d6c8b;font-size:9px;font-weight:800}.client-card h3{margin:0;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.client-card p{margin:4px 0 0;color:#8c98a2;font-size:10px}.client-card-top>.icon{color:#9aa5ad}.contact-lines{display:grid;gap:8px;margin:17px 0;border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2;padding:13px 0}.contact-lines span{overflow:hidden;color:#647481;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.client-summary{display:flex;justify-content:space-between;gap:10px;border-radius:8px;padding:10px;background:#f5f7f8;font-size:10px}.client-summary span{font-weight:700}.client-activities{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-grid>div{border:1px solid #edf0f2;border-radius:10px;padding:12px}.detail-grid dt{color:#8b97a0;font-size:9px;text-transform:uppercase}.detail-grid dd{margin:6px 0 0;color:#354956;font-size:11px;font-weight:700}.span-2{grid-column:1/-1}.notes-box{margin-top:14px;border-radius:10px;padding:13px;background:#f6f8f9}.notes-box span{color:#8a96a0;font-size:9px;text-transform:uppercase}.notes-box p{margin:7px 0 0;color:#52636f;font-size:11px;line-height:1.5}.next-action{border-left:3px solid var(--blue);border-radius:8px;padding:15px;background:#f5f9fb;font-size:12px}.history-panel{margin-top:18px}.inline-form{display:flex;gap:9px}.inline-form select{flex:1}.form-panel{overflow:hidden}.form-panel>section,.install-form>section{padding:23px;border-bottom:1px solid var(--line)}.form-panel>section>h2,.install-form h2{margin:0 0 17px;font-size:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label,.stack-form label{display:grid;gap:7px;color:#596a76;font-size:10.5px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.stack-form input,.stack-form select,.stack-form textarea,.inline-form select{width:100%;min-height:42px;border:1px solid #dce3e7;border-radius:9px;padding:9px 11px;background:#fff;color:var(--ink);font-size:12px}.form-grid textarea,.stack-form textarea{resize:vertical}.form-grid label small{color:#8d99a2;font-size:9px;font-weight:400}.form-actions,.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 23px;background:#fafbfb}.activity-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.activity-choice-item{position:relative;min-height:62px;display:grid;place-items:center;border:1px solid #dfe5e8;border-radius:11px;background:#fff;cursor:pointer;font-size:11px;font-weight:800}.activity-choice-item:has(input:checked){outline:2px solid currentColor;outline-offset:-2px}.activity-choice-item input{position:absolute;opacity:0}.stack-form{display:grid;gap:13px}.new-client-fields.is-hidden{display:none}.line-editor{display:grid;gap:10px}.line-row{display:grid;grid-template-columns:minmax(220px,2.4fr) .6fr .7fr .8fr .6fr 34px;align-items:end;gap:9px;border:1px solid #e7ecef;border-radius:11px;padding:12px;background:#fafbfb}.line-row label{display:grid;gap:6px;color:#62727e;font-size:9px;font-weight:700}.line-row input{width:100%;min-height:39px;border:1px solid #dce3e7;border-radius:8px;padding:8px;background:#fff}.remove-line{width:34px;height:39px;border:1px solid #ecd8d6;border-radius:8px;background:#fff;color:#b9534e;cursor:pointer;font-size:19px}.document-lines{border-top:1px solid #edf0f2}.document-lines>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #edf0f2;padding:14px 0}.document-lines span,.document-lines small{display:block}.document-lines span{font-size:11px;font-weight:700}.document-lines small{margin-top:5px;color:#89959e;font-size:9px;font-weight:400}.document-lines strong{font-size:11px;white-space:nowrap}.totals{width:min(360px,100%);display:grid;gap:9px;margin:18px 0 0 auto}.totals span{display:flex;justify-content:space-between;gap:20px;color:#677681;font-size:10px}.totals strong{color:var(--ink);font-size:11px}.totals .grand-total{border-top:2px solid var(--navy);padding-top:11px;color:var(--ink);font-size:12px;font-weight:800}.totals .grand-total strong{font-size:15px}.payment-row{grid-template-columns:1fr auto}.paid-box{border-radius:10px;padding:15px;background:#eaf6f0;color:#317a61;font-size:12px;font-weight:800}.empty-state{padding:44px 20px;text-align:center}.empty-icon{width:48px;height:48px;display:grid;place-items:center;margin:0 auto 13px;border-radius:15px;background:#eef3f5;color:#5b7787}.empty-state h2{margin:0;font-size:14px}.empty-state p{margin:7px 0 16px;color:#8b98a2;font-size:11px}.mini-empty{padding:20px;color:#96a2aa;font-size:10px;text-align:center}.alert{margin:0 0 16px;border-radius:10px;padding:12px 14px;font-size:11px}.alert.success{border:1px solid #cce7da;background:#edf8f2;color:#2f765e}.alert.error{border:1px solid #edcfcd;background:#fbefee;color:#a84d48}.login-page,.install-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at top right,#dbe7ec 0,transparent 35%),#edf1f3}.login-card,.install-card{width:min(430px,100%);border:1px solid var(--line);border-radius:18px;padding:28px;background:#fff;box-shadow:var(--shadow)}.install-card{width:min(760px,100%);padding:0;overflow:hidden}.login-brand{display:flex;align-items:center;gap:12px}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:16px}.login-brand small{margin-top:3px;color:#8b98a2;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.login-copy,.install-heading{margin:32px 0 22px}.install-heading{padding:0 28px}.login-copy p,.install-heading p{margin:0 0 6px;color:#9a762e;font-size:9px;font-weight:800;letter-spacing:.12em}.login-copy h1,.install-heading h1{margin:0;font-size:28px}.login-copy span,.install-heading span{display:block;margin-top:8px;color:#778590;font-size:11px;line-height:1.5}.install-card>.login-brand{padding:24px 28px;border-bottom:1px solid var(--line)}.install-card>.alert{margin:0 28px 14px}.success-screen{padding:50px 28px;text-align:center}.success-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 17px;border-radius:50%;background:#e8f5ef;color:var(--green);font-size:25px;font-weight:900}.success-screen h1{margin:0;font-size:24px}.success-screen p{margin:10px 0 22px;color:#778590;font-size:12px}.sidebar-scrim{display:none}.print-page{background:#e8ecef}.print-actions{position:sticky;top:0;z-index:10;display:flex;justify-content:center;padding:12px;background:rgba(18,43,59,.92)}.paper{width:210mm;min-height:297mm;margin:20px auto;padding:18mm;background:#fff;box-shadow:0 10px 35px rgba(17,39,54,.14)}.paper header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--navy);padding-bottom:18px}.print-brand{display:flex;align-items:center;gap:12px}.print-brand strong,.print-brand small,.document-title span,.document-title strong,.document-title small{display:block}.print-brand small{margin-top:4px;color:#7f8d97;font-size:9px}.document-title{text-align:right}.document-title span{color:#9a762e;font-size:10px;font-weight:800;letter-spacing:.12em}.document-title strong{margin-top:5px;font-size:18px}.document-title small{margin-top:5px;color:#7f8d97;font-size:9px}.print-parties{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:28px 0}.print-parties>div{border:1px solid var(--line);border-radius:10px;padding:14px}.print-parties span,.print-parties strong{display:block}.print-parties span{color:#8a96a0;font-size:8px;font-weight:800;letter-spacing:.1em}.print-parties strong{margin-top:7px;font-size:12px}.print-parties p{margin:7px 0 0;color:#657581;font-size:9px;line-height:1.6}.paper h1{margin:28px 0 16px;font-size:18px}.print-table{width:100%;border-collapse:collapse}.print-table th{border-bottom:1px solid var(--navy);padding:8px 6px;color:#697985;font-size:8px;text-align:right}.print-table th:first-child,.print-table td:first-child{text-align:left}.print-table td{border-bottom:1px solid #e8edef;padding:10px 6px;font-size:9px;text-align:right;vertical-align:top}.print-totals{width:285px;display:grid;gap:8px;margin:22px 0 0 auto}.print-totals span{display:flex;justify-content:space-between;font-size:10px}.print-totals span:last-child{border-top:2px solid var(--navy);padding-top:10px;font-size:13px}.print-notes{margin-top:28px;border-radius:8px;padding:13px;background:#f5f7f8}.print-notes strong{font-size:10px}.print-notes p{margin:6px 0 0;font-size:9px;line-height:1.5}.paper footer{margin-top:45px;border-top:1px solid var(--line);padding-top:12px;color:#8b97a0;font-size:8px;text-align:center}
@media(max-width:1100px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.line-row{grid-template-columns:minmax(180px,2fr) repeat(4,minmax(80px,1fr)) 34px}}
@media(max-width:820px){.sidebar{transform:translateX(-105%);transition:.2s ease}.sidebar.is-open{transform:translateX(0)}.main-area{margin-left:0}.menu-button{display:grid}.mobile-close{display:block}.sidebar-scrim{position:fixed;inset:0;z-index:35;border:0;background:rgba(14,31,42,.35)}body.sidebar-open .sidebar-scrim{display:block}.topbar{padding:10px 16px}.global-search{display:none}.activity-switcher{width:100%;overflow-x:auto;margin-left:0}.activity-switcher a{flex:1;justify-content:center;padding:0 9px}.activity-context{padding:0 18px}.content-wrap{padding:22px 18px 45px}.page-heading{align-items:flex-start;flex-wrap:wrap}.page-heading>.primary,.page-heading>.secondary{margin-left:0}.activity-overview{grid-template-columns:1fr}.dashboard-grid,.detail-layout{grid-template-columns:1fr}.client-grid{grid-template-columns:1fr}.line-row{grid-template-columns:1fr 1fr}.line-row .line-description{grid-column:1/-1}.remove-line{align-self:end}.paper{width:100%;min-height:0;margin:0;padding:18px}.print-actions{position:static}}
@media(max-width:540px){.metrics-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.activity-choice{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.page-heading{display:grid}.page-heading>.primary,.page-heading>.secondary{width:100%}.activity-context>span:last-child{display:none}.line-row{grid-template-columns:1fr}.line-row .line-description{grid-column:auto}.print-parties{grid-template-columns:1fr}}
@media print{body.print-page{background:#fff}.print-actions{display:none}.paper{width:auto;min-height:0;margin:0;padding:0;box-shadow:none}@page{size:A4;margin:15mm}}

/* Version 0.2 — formulaires évolutifs et états protégés */
.activity-details-section.is-hidden,.is-hidden{display:none!important}.locked-choice{min-height:58px;display:flex;align-items:center;gap:12px;border:1px solid #dfe5e8;border-radius:11px;padding:13px 15px;background:#f8fafb}.locked-choice strong{font-size:12px}.locked-choice span:last-child{color:#7b8994;font-size:10px}.activity-detail-grid{margin-top:12px}.section-title p{margin:5px 0 0;color:#8a96a1;font-size:10px}.form-live-total{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;border-top:1px solid #e6ebee;padding-top:14px;color:#647481;font-size:12px}.form-live-total strong{color:var(--ink);font-size:14px}.info-box{border:1px solid #dbe7ed;border-radius:10px;padding:13px;background:#f2f7f9;color:#567080;font-size:11px;line-height:1.5}.compact-action{margin-top:12px;border-top:1px solid #edf0f2;padding-top:12px}.settings-security{margin-top:18px}.print-parties small{font-size:8px;line-height:1.5}

/* Version 0.3 — recherche transversale et garde-fous documentaires */
.alert.warning{border:1px solid #ead6a4;background:#fff8e7;color:#815d16}.alert.warning a{text-decoration:underline;font-weight:800}.search-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.document-warning{width:min(960px,calc(100% - 32px));margin:16px auto 0;border:1px solid #ead6a4;border-radius:10px;padding:12px 14px;background:#fff8e7;color:#815d16;font-size:11px;text-align:center}
@media(max-width:820px){.topbar{flex-wrap:wrap;gap:10px}.global-search{order:3;display:flex;flex:1 0 100%;max-width:none;height:38px;border:1px solid var(--line);border-radius:10px;padding:0 11px;background:#fff}.activity-switcher{width:auto;flex:1;min-width:0}.search-results-grid{grid-template-columns:1fr}}
@media print{.no-print{display:none!important}}

/* Version 0.4 — dossiers métier, statuts séparés et catalogue BTP */
.status-triplet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.status-triplet>div{min-width:0;border:1px solid #edf0f2;border-radius:10px;padding:10px;background:#fafbfb}.status-triplet>div>span:first-child{display:block;margin-bottom:7px;color:#89959e;font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.status-triplet.compact{display:grid;grid-template-columns:1fr;gap:5px}.status-triplet.compact>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;padding:0;background:transparent}.status-triplet.compact>div>span:first-child{margin:0;font-size:7px}.status-triplet.compact .status{max-width:145px;overflow:hidden;text-overflow:ellipsis}.status-update-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin-top:15px}.status-update-form label{display:grid;gap:6px;color:#596a76;font-size:10px;font-weight:700}.status-update-form select{width:100%;min-height:39px;border:1px solid #dce3e7;border-radius:9px;padding:8px 10px;background:#fff;color:var(--ink)}.business-table{min-width:1180px}.business-table td{height:auto;min-height:82px}.common-business-details{margin-top:13px}.activity-subgrid{margin-top:16px}.form-grid select[multiple]{min-height:145px;padding:7px}.catalog-inline{margin-top:15px;border:1px solid #dfe7eb;border-radius:10px;background:#f8fafb}.catalog-inline summary{padding:13px 15px;color:#3f5e70;font-size:10.5px;font-weight:800;cursor:pointer}.catalog-inline[open] summary{border-bottom:1px solid #e4eaed}.catalog-inline .form-grid{padding:15px}.forthcoming-panel .info-box{background:#f8f6fb;border-color:#e4dff0;color:#6a5a80}.catalog-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(520px,1.4fr);gap:18px}.catalog-create-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;margin-bottom:18px;border-radius:11px;padding:13px;background:#f5f8f9}.catalog-create-form.catalog-service-create{grid-template-columns:minmax(150px,.55fr) minmax(220px,1fr) auto}.catalog-create-form label{display:grid;gap:6px;color:#596a76;font-size:10px;font-weight:700}.catalog-create-form input,.catalog-create-form select,.catalog-edit-form input,.catalog-edit-form select{width:100%;min-height:38px;border:1px solid #dce3e7;border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink);font-size:11px}.catalog-list{display:grid;gap:8px}.catalog-row{display:flex;align-items:center;gap:8px;border:1px solid #e6ebee;border-radius:10px;padding:9px;background:#fff}.catalog-row.is-archived{border-style:dashed;background:#fafafa;opacity:.65}.catalog-edit-form{min-width:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.catalog-edit-form.service{grid-template-columns:minmax(120px,.55fr) minmax(180px,1fr) auto}.catalog-groups{display:grid;gap:20px}.catalog-groups h3{margin:0 0 9px;color:#52636f;font-size:11px}.catalog-row .text-button{padding:6px}.catalog-row>form:last-child{flex:0 0 auto}
@media(max-width:1050px){.catalog-layout{grid-template-columns:1fr}.catalog-create-form.catalog-service-create{grid-template-columns:minmax(140px,.55fr) minmax(200px,1fr) auto}}
@media(max-width:820px){.status-triplet{grid-template-columns:1fr}.status-update-form{grid-template-columns:1fr}.catalog-create-form,.catalog-create-form.catalog-service-create{grid-template-columns:1fr auto}.catalog-create-form label{grid-column:1/-1}}
@media(max-width:540px){.catalog-row{align-items:stretch;flex-direction:column}.catalog-edit-form,.catalog-edit-form.service{width:100%;grid-template-columns:1fr}.catalog-row>form:last-child{width:100%}.catalog-row .text-button{width:100%}.catalog-create-form,.catalog-create-form.catalog-service-create{grid-template-columns:1fr}.catalog-create-form .primary{width:100%}}

/* Version 0.5 — commandes, lots et bons de livraison Glaces */
.glace-catalog-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-search{max-width:none;margin-bottom:15px}.catalog-row-main{min-width:0;flex:1;display:grid;gap:4px}.catalog-row-main strong,.catalog-row-main small,.catalog-row-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-row-main strong{color:var(--ink);font-size:11px}.catalog-row-main small{color:#84919c;font-size:9px}.catalog-row-main span{color:#577080;font-size:9.5px}.batch-row{color:inherit}.batch-row:hover{border-color:#b9ccd5;background:#f9fcfd}.glace-order-table{min-width:1050px}.glace-order-line{display:grid;grid-template-columns:minmax(240px,2.4fr) minmax(90px,.65fr) minmax(70px,.55fr) minmax(95px,.7fr) minmax(80px,.55fr) 34px;align-items:end;gap:9px;border:1px solid #e1ecef;border-radius:11px;padding:12px;background:#f8fcfd}.glace-order-line label,.delivery-line label{display:grid;gap:6px;color:#62727e;font-size:9px;font-weight:700}.glace-order-line input,.glace-order-line select,.delivery-line input,.delivery-line select{width:100%;min-height:39px;border:1px solid #d6e2e7;border-radius:8px;padding:8px;background:#fff;color:var(--ink)}.readonly-value{min-height:39px;display:flex;align-items:center;border:1px solid #e2e8eb;border-radius:8px;padding:8px;background:#f1f5f6;color:#62737e;font-size:11px}.delivery-line{display:grid;grid-template-columns:minmax(230px,1.5fr) minmax(230px,1.4fr) minmax(100px,.5fr) 34px;align-items:end;gap:9px;border:1px solid #e1ecef;border-radius:11px;padding:12px;background:#f8fcfd}.small-copy{color:#60727f;font-size:11px;line-height:1.55}.info-box a{text-decoration:underline;font-weight:800}.delivery-signatures{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:35px}.delivery-signatures>div{min-height:95px;border:1px solid #cfd9de;border-radius:8px;padding:12px}.delivery-signatures strong,.delivery-signatures span{display:block}.delivery-signatures strong{font-size:10px}.delivery-signatures span{margin-top:8px;color:#8b97a0;font-size:8px}.delivery-print-table th,.delivery-print-table td{text-align:left}.delivery-print-table th:nth-child(2),.delivery-print-table td:nth-child(2){text-align:right}
@media(max-width:1100px){.glace-catalog-layout{grid-template-columns:1fr}.glace-order-line{grid-template-columns:minmax(220px,2fr) repeat(4,minmax(80px,1fr)) 34px}.delivery-line{grid-template-columns:1fr 1fr minmax(90px,.5fr) 34px}}
@media(max-width:820px){.glace-order-line,.delivery-line{grid-template-columns:1fr 1fr}.glace-order-line .line-description,.delivery-line .line-description{grid-column:1/-1}.delivery-signatures{grid-template-columns:1fr}}
@media(max-width:540px){.glace-order-line,.delivery-line{grid-template-columns:1fr}.glace-order-line .line-description,.delivery-line .line-description{grid-column:auto}.glace-product-row .secondary,.glace-product-row form{width:100%}}

/* Version 0.6 — suivi de chantier BTP */
.chantier-metrics{margin-bottom:18px}.chantier-toolbar .list-search{max-width:760px}.chantier-toolbar .list-search select{min-width:165px;border:0;border-left:1px solid var(--line);padding:0 10px;background:#fff;color:#52636f;font-size:10px}.chantier-table{min-width:1120px}.text-danger{color:#b9534e!important}.progress-compact{width:100%;height:5px;display:block;margin-top:8px;overflow:hidden;border-radius:999px;background:#e8edef}.progress-compact i,.progress-large i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#3c7795,#51a17e)}.chantier-summary-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid #e4eaed;border-radius:11px;padding:13px;background:#fafcfc}.chantier-summary-link>div strong,.chantier-summary-link>div small{display:block}.chantier-summary-link>div small{margin-top:5px;color:#85939d;font-size:9px}.chantier-summary-link .progress-compact{grid-column:1/-1;margin:0}.chantier-summary-link>b{position:absolute;opacity:0}.chantier-hero{display:grid;grid-template-columns:1.1fr 1fr .85fr;gap:20px;margin-bottom:18px}.chantier-hero>div{min-width:0}.chantier-hero>div>span{display:block;margin-bottom:8px;color:#8a97a0;font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.chantier-hero>div>strong,.chantier-hero>div>small{display:block}.chantier-hero>div>strong{font-size:12px}.chantier-hero>div>small{margin-top:7px;color:#7f8e98;font-size:9.5px}.chantier-hero-status{display:flex;align-items:center;justify-content:space-between;gap:12px}.chantier-hero-status>strong{font-size:17px}.progress-large{height:8px;margin-top:12px;overflow:hidden;border-radius:999px;background:#e8edef}.chantier-section{margin-top:18px}.chantier-task-list{display:grid;gap:9px}.chantier-task{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid #e6ebee;border-left:4px solid #aab8c0;border-radius:10px;padding:12px 13px;background:#fff}.chantier-task.is-overdue{border-left-color:#c4655d;background:#fffafa}.chantier-task>div>span,.chantier-task>div>strong,.chantier-task>div>small{display:block}.chantier-task>div>span{color:#8a97a0;font-size:8px;font-weight:800;text-transform:uppercase}.chantier-task>div>strong{margin-top:5px;font-size:11px}.chantier-task>div>small{margin-top:5px;color:#7e8c96;font-size:9px}.chantier-task>div>p{margin:8px 0 0;color:#566975;font-size:10px;line-height:1.45}.inline-status-form{display:flex;align-items:center;gap:7px}.inline-status-form select{min-height:34px;border:1px solid #dce3e7;border-radius:8px;padding:6px 8px;background:#fff;color:#536571;font-size:10px}.inline-status-form .text-button{padding:6px}.intervention-list{display:grid;gap:12px}.intervention-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:start;gap:14px;border:1px solid #e4eaed;border-radius:11px;padding:14px;background:#fff}.intervention-date{display:grid;place-items:center;border-radius:9px;padding:9px 5px;background:#eef4f6;color:#365f74;text-align:center}.intervention-date strong{font-size:18px}.intervention-date span{margin-top:2px;font-size:7.5px;font-weight:800}.intervention-content>div:first-child{display:flex;align-items:center;gap:9px}.intervention-content>div:first-child>strong{font-size:11.5px}.intervention-content>small{display:block;margin-top:6px;color:#84919a;font-size:9px}.intervention-content>p{margin:10px 0 0;color:#4e616d;font-size:10.5px;line-height:1.55}.intervention-note{margin-top:8px;border-radius:7px;padding:8px 10px;background:#f4f7f8;color:#596b76;font-size:9.5px;line-height:1.45}.intervention-note strong{display:block;margin-bottom:4px}.warning-note{background:#fff5e7;color:#7d5b20}.compact-form{max-width:980px}.print-chantier-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.print-chantier-summary>div{border:1px solid #dfe6e9;border-radius:8px;padding:10px}.print-chantier-summary span,.print-chantier-summary strong{display:block}.print-chantier-summary span{color:#89969f;font-size:7px;font-weight:800;text-transform:uppercase}.print-chantier-summary strong{margin-top:5px;font-size:9.5px}.chantier-print-notes{margin-top:18px}.chantier-print-table th,.chantier-print-table td{text-align:left}.chantier-print-table td{font-size:8px;line-height:1.45}.print-empty{color:#89969f;font-size:9px}.chantier-paper h1{margin-top:22px;font-size:14px}
@media(max-width:1050px){.chantier-hero{grid-template-columns:1fr 1fr}.chantier-hero>div:last-child{grid-column:1/-1}.intervention-card{grid-template-columns:58px minmax(0,1fr)}.intervention-card>.inline-status-form{grid-column:2}}
@media(max-width:820px){.chantier-hero{grid-template-columns:1fr}.chantier-hero>div:last-child{grid-column:auto}.chantier-task{grid-template-columns:1fr}.inline-status-form{flex-wrap:wrap}.intervention-card{grid-template-columns:52px minmax(0,1fr)}.chantier-toolbar .list-search{display:grid;grid-template-columns:auto minmax(0,1fr)}.chantier-toolbar .list-search select,.chantier-toolbar .list-search button{grid-column:1/-1;width:100%;border:1px solid var(--line);border-radius:8px;min-height:36px}}
@media(max-width:540px){.intervention-card{grid-template-columns:1fr}.intervention-date{width:58px}.intervention-card>.inline-status-form{grid-column:auto}.print-chantier-summary{grid-template-columns:1fr}}

/* Version 0.7 — suivi des projets Web */
.web-project-metrics .metric-card:nth-child(3) .metric-icon{background:#ece8f4;color:#765d9c}.web-project-table{min-width:1120px}.web-project-summary-link .progress-compact i,.web-project-hero .progress-large i{background:linear-gradient(90deg,#765d9c,#4b86a2)}.web-link-list{display:grid;gap:8px;margin-top:14px}.web-link-list>a{display:grid;gap:4px;border:1px solid #e4e0ed;border-radius:9px;padding:10px 12px;background:#faf9fc}.web-link-list>a span{color:#8a7d9d;font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.web-link-list>a strong{overflow:hidden;color:#5e4b79;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.web-link-list>a:hover{border-color:#cbbfdd;background:#f8f5fc}.web-validation-list{display:grid;gap:10px}.web-validation-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;border:1px solid #e6e1ee;border-left:4px solid #8b76aa;border-radius:10px;padding:13px;background:#fff}.web-validation-card.is-overdue{border-left-color:#c4655d;background:#fffafa}.web-validation-card>div>span,.web-validation-card>div>strong,.web-validation-card>div>small{display:block}.web-validation-card>div>span{color:#8a7d9d;font-size:8px;font-weight:800;text-transform:uppercase}.web-validation-card>div>strong{margin-top:5px;font-size:11px}.web-validation-card>div>small{margin-top:5px;color:#7e8c96;font-size:9px}.web-validation-card>div>p{margin:8px 0 0;color:#566975;font-size:10px;line-height:1.45}.web-validation-card>.status{justify-self:end}.check-field{min-height:58px;display:flex!important;align-items:center;gap:9px;border:1px solid #dfe5e8;border-radius:10px;padding:11px 13px;background:#f8fafb}.check-field input[type=checkbox]{width:17px;height:17px}.check-field span{color:#596a76;font-size:10px;font-weight:700}.web-project-paper .print-chantier-summary{margin-bottom:10px}
@media(max-width:1050px){.web-validation-card{grid-template-columns:minmax(0,1fr) auto}.web-validation-card>.status{grid-column:1/-1;justify-self:start}}
@media(max-width:820px){.web-validation-card{grid-template-columns:1fr}.web-validation-card>.status{grid-column:auto}.web-validation-card .inline-status-form{flex-wrap:wrap}}

/* Version 0.8 — achats, fournisseurs et rentabilité */
.supplier-grid .client-card.is-archived{opacity:.58}.supplier-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.form-actions.left{justify-content:flex-start}.purchase-table{min-width:1120px}.purchase-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.purchase-line-row{grid-template-columns:minmax(170px,1.2fr) minmax(220px,1.7fr) minmax(75px,.5fr) minmax(80px,.55fr) minmax(90px,.65fr) minmax(70px,.45fr) 34px}.purchase-line-row .purchase-product{grid-column:auto}.purchase-line-row select{width:100%;min-height:39px;border:1px solid #dce3e7;border-radius:8px;padding:8px;background:#fff;color:var(--ink)}.receipt-editor{display:grid;gap:10px;margin-bottom:14px}.receipt-row{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(115px,.55fr) minmax(140px,.7fr) minmax(145px,.7fr);align-items:end;gap:10px;border:1px solid #dfe8eb;border-radius:11px;padding:13px;background:#f8fbfc}.receipt-row>div strong,.receipt-row>div small{display:block}.receipt-row>div strong{font-size:11px}.receipt-row>div small{margin-top:5px;color:#7e8d97;font-size:9px}.receipt-row label{display:grid;gap:6px;color:#62727e;font-size:9px;font-weight:700}.receipt-row input{width:100%;min-height:39px;border:1px solid #d6e2e7;border-radius:8px;padding:8px;background:#fff;color:var(--ink)}.purchase-progress-lines .progress-compact{max-width:260px;margin-top:6px}.purchase-progress-lines .progress-compact b{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#3c7795,#51a17e)}.compact-list{margin-top:12px}.profitability-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.profitability-summary>span{display:grid;gap:5px;border:1px solid #e3eaed;border-radius:9px;padding:10px;color:#7b8994;font-size:8px;font-weight:800;text-transform:uppercase}.profitability-summary>span strong{color:var(--ink);font-size:12px;text-transform:none}.purchase-mini-head{margin-top:18px}.purchase-mini-head h3{margin:0;font-size:12px}.profitability-metrics{margin-bottom:18px}.profitability-table{min-width:1050px}.profitability-note{margin-top:16px}.profitability-card{border-top:3px solid #4f9477}
@media(max-width:1180px){.purchase-line-row{grid-template-columns:minmax(170px,1fr) minmax(220px,1.5fr) repeat(4,minmax(75px,.55fr)) 34px}.receipt-row{grid-template-columns:1fr 1fr}.receipt-row>div{grid-column:1/-1}}
@media(max-width:820px){.supplier-metrics,.purchase-metrics{grid-template-columns:1fr}.purchase-line-row{grid-template-columns:1fr 1fr}.purchase-line-row .purchase-product,.purchase-line-row .line-description{grid-column:1/-1}.receipt-row{grid-template-columns:1fr 1fr}.profitability-summary{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.purchase-line-row,.receipt-row,.profitability-summary{grid-template-columns:1fr}.purchase-line-row .purchase-product,.purchase-line-row .line-description,.receipt-row>div{grid-column:auto}}

/* Version 0.9 — planning général */
.activity-general{color:#52636f!important;background:#eef2f4!important}.dashboard-planning{margin-bottom:18px}.planning-compact-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.planning-compact-item{min-width:0;display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid transparent;border-left:4px solid currentColor;border-radius:10px;padding:10px 11px}.planning-compact-item:hover{filter:brightness(.98)}.planning-compact-item>time{display:grid;gap:3px;color:currentColor;font-size:12px;font-weight:850}.planning-compact-item>time small{font-size:8px;font-weight:700}.planning-compact-item>span{min-width:0}.planning-compact-item>span strong,.planning-compact-item>span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-compact-item>span strong{font-size:10.5px}.planning-compact-item>span small{margin-top:4px;color:#70808b;font-size:8.5px}.planning-compact-item.is-overdue{border-color:#edcfcd;border-left-color:#b9534e!important;background:#fff7f6!important}.planning-metrics{margin-bottom:18px}.planning-controls{margin-bottom:18px;overflow:hidden}.planning-period-bar{min-height:64px;display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:11px 16px}.planning-period-bar h2{margin:0;text-align:center;font-size:16px}.planning-period-nav,.planning-view-tabs{display:flex;align-items:center;gap:6px}.planning-view-tabs{border:1px solid #dfe5e8;border-radius:9px;padding:3px;background:#f4f6f7}.planning-view-tabs a{min-height:31px;display:flex;align-items:center;border-radius:7px;padding:0 11px;color:#73818c;font-size:10px;font-weight:750}.planning-view-tabs a.active{background:#fff;color:var(--ink);box-shadow:0 2px 6px rgba(17,39,54,.08)}.planning-filters{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(150px,.8fr) minmax(190px,1.2fr) auto auto auto auto;align-items:end;gap:10px;padding:13px 16px;background:#fafbfb}.planning-filters label{display:grid;gap:5px;color:#657581;font-size:9px;font-weight:750}.planning-filters select,.planning-filters input:not([type=checkbox]){width:100%;min-height:36px;border:1px solid #dce3e7;border-radius:8px;padding:7px 9px;background:#fff;color:var(--ink);font-size:10.5px}.check-line{display:flex!important;align-items:center;gap:8px}.check-line input[type=checkbox]{width:17px!important;height:17px;min-height:17px!important;margin:0;flex:0 0 auto}.planning-closed{align-self:center;max-width:170px}.planning-grid-wrap{overflow-x:auto;margin-bottom:18px}.planning-week-grid{min-width:1050px;display:grid;grid-template-columns:repeat(7,minmax(145px,1fr))}.planning-day{min-height:470px;border-right:1px solid #e7ecef;background:#fff}.planning-day:last-child{border-right:0}.planning-day.is-weekend{background:#fafbfb}.planning-day.is-today{background:#f5fafc}.planning-day>header{height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7ecef;padding:0 12px}.planning-day>header span{color:#788792;font-size:9px;font-weight:800;text-transform:uppercase}.planning-day>header strong{font-size:12px}.planning-day.is-today>header strong{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff}.planning-day-events{display:grid;align-content:start;gap:7px;padding:9px}.planning-day-empty{padding:20px 4px;color:#a0aab0;font-size:9px;text-align:center}.planning-day-add{display:block;margin:2px 9px 10px;border:1px dashed #d8e0e4;border-radius:8px;padding:7px;color:#7d8d97;font-size:9px;text-align:center}.planning-day-add:hover{border-color:#b6c6ce;background:#f8fafb;color:#456579}.planning-event{position:relative;min-width:0;display:grid;gap:4px;border:1px solid transparent;border-left:4px solid currentColor;border-radius:8px;padding:8px 9px;color:#52636f;background:#f3f6f7}.planning-event:hover{filter:brightness(.98)}.planning-event-time{font-size:8px;font-weight:850;text-transform:uppercase}.planning-event strong,.planning-event small{display:block;overflow:hidden;text-overflow:ellipsis}.planning-event strong{font-size:9.5px;line-height:1.3}.planning-event small{color:#6f7d87;font-size:7.8px;line-height:1.35;white-space:nowrap}.planning-event em{width:fit-content;border-radius:10px;padding:2px 5px;background:#fff0d5;color:#8a5a0d;font-size:7px;font-style:normal;font-weight:800}.planning-event.is-overdue{border-color:#edcfcd;border-left-color:#b9534e!important;background:#fff7f6!important}.planning-event.is-closed{opacity:.55}.planning-event.has-conflict:not(.is-overdue){box-shadow:inset 0 0 0 1px #e8c16c}.planning-event.is-compact{gap:2px;padding:5px 6px}.planning-event.is-compact .planning-event-time{font-size:7px}.planning-event.is-compact strong{font-size:8px;white-space:nowrap}.planning-month-head{min-width:980px;display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);background:#f8fafb}.planning-month-head span{padding:10px;color:#75848f;font-size:8px;font-weight:800;text-align:center;text-transform:uppercase}.planning-month-grid{min-width:980px;display:grid;grid-template-columns:repeat(7,minmax(130px,1fr))}.planning-month-day{min-height:132px;border-right:1px solid #e7ecef;border-bottom:1px solid #e7ecef;padding:7px;background:#fff}.planning-month-day:nth-child(7n){border-right:0}.planning-month-day.is-outside{background:#fafbfb;opacity:.48}.planning-month-day.is-today{box-shadow:inset 0 0 0 2px #8fb8cb}.planning-month-day>header{display:flex;justify-content:flex-end;margin-bottom:5px}.planning-month-day>header a{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:9px;font-weight:800}.planning-month-day.is-today>header a{background:var(--navy);color:#fff}.planning-month-day>div{display:grid;gap:4px}.planning-more{display:block;padding:4px 6px;color:#55788b;font-size:8px;font-weight:800}.planning-agenda{display:grid;gap:14px}.planning-agenda-day{overflow:hidden}.planning-agenda-day>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:10px 16px;background:#fafbfb}.planning-agenda-day>header div{display:flex;align-items:baseline;gap:9px}.planning-agenda-day>header span{color:#7d8b95;font-size:9px;font-weight:800;text-transform:uppercase}.planning-agenda-day>header strong{font-size:14px}.planning-agenda-item{position:relative;min-height:68px;display:grid;grid-template-columns:76px 58px minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid #edf0f2;padding:10px 16px}.planning-agenda-item:last-child{border-bottom:0}.planning-agenda-item>time{font-size:10px;font-weight:800}.planning-agenda-activity{width:fit-content;border-radius:15px;padding:5px 7px;font-size:7.5px;font-weight:850}.planning-agenda-item>div{min-width:0}.planning-agenda-item>div strong,.planning-agenda-item>div small{display:block}.planning-agenda-item>div strong{font-size:11px}.planning-agenda-item>div small{margin-top:4px;color:#7b8994;font-size:8.5px}.planning-agenda-item>em{position:absolute;right:16px;bottom:4px;color:#956716;font-size:7px;font-style:normal;font-weight:800}.planning-agenda-item.is-overdue{border-left:4px solid #b9534e;background:#fff9f8}.planning-agenda-item.has-conflict:not(.is-overdue){border-left:4px solid #d19a33}.planning-source-note{margin-top:16px}.planning-paper{width:297mm;min-height:210mm;page:planning}.planning-print-day{margin-top:18px}.planning-print-day h2{margin:0 0 7px;border-bottom:1px solid #ccd7dc;padding-bottom:5px;font-size:11px}.planning-print-table th,.planning-print-table td{padding:6px 7px;text-align:left;font-size:7.5px}.planning-print-table tr.is-overdue td{background:#fff1ef}.planning-print-table small{color:#7d8992;font-size:6.5px}
@media(max-width:1180px){.planning-compact-list{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-filters{grid-template-columns:1fr 1fr 1.2fr auto}.planning-closed{max-width:none}.planning-filters>a:last-child{justify-self:start}}
@media(max-width:820px){.planning-paper{width:100%;min-height:0}.planning-metrics{grid-template-columns:1fr 1fr}.planning-compact-list{grid-template-columns:1fr}.planning-period-bar{grid-template-columns:1fr}.planning-period-bar h2{grid-row:1;text-align:left}.planning-period-nav{grid-row:2}.planning-view-tabs{grid-row:2;justify-self:end}.planning-filters{grid-template-columns:1fr}.planning-closed{align-self:auto}.planning-week-grid,.planning-month-grid{min-width:0;grid-template-columns:1fr}.planning-month-head{display:none}.planning-day{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.planning-day.is-weekend{background:#fff}.planning-month-day{min-height:0;border-right:0;padding:10px}.planning-month-day.is-outside{display:none}.planning-month-day>header{justify-content:flex-start}.planning-day-events{min-height:64px}.planning-agenda-item{grid-template-columns:60px minmax(0,1fr) auto}.planning-agenda-activity{display:none}.planning-agenda-item>.status{grid-column:2;justify-self:start}.planning-agenda-item>em{right:12px;bottom:8px}}
@media(max-width:540px){.planning-metrics{grid-template-columns:1fr}.planning-period-bar{padding:12px}.planning-period-nav,.planning-view-tabs{width:100%;justify-content:space-between}.planning-view-tabs{grid-row:3}.planning-view-tabs a{flex:1;justify-content:center}.planning-filters{padding:12px}.planning-agenda-item{grid-template-columns:1fr}.planning-agenda-item>time{color:#55788b}.planning-agenda-item>.status{grid-column:auto}.planning-agenda-item>em{position:static}.planning-agenda-day>header{align-items:flex-start}.planning-compact-item{grid-template-columns:46px minmax(0,1fr)}.planning-compact-item>.status{grid-column:2;justify-self:start}}
@page planning{size:A4 landscape;margin:12mm}
@media print{.planning-paper{width:auto;min-height:0}.planning-print-day{break-inside:avoid}.planning-print-table{width:100%}}
.planning-event-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.planning-event-activity{border-radius:10px;padding:2px 5px;background:rgba(255,255,255,.72);font-size:7px;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.planning-event strong{font-size:10.5px}.planning-event small{font-size:8.5px}.planning-event.is-compact strong{font-size:9px}.planning-print-filters{margin:10px 0 0;border:1px solid #dbe3e7;border-radius:6px;padding:6px 8px;background:#f8fafb;color:#657581;font-size:7.5px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.planning-event .planning-event-overdue{background:#ffe4e0;color:#9c312c}@media(max-width:820px){.planning-agenda-item>div{grid-column:2/-1;grid-row:1}.planning-agenda-activity{display:inline-flex;grid-column:2;grid-row:2}.planning-agenda-item>.status{grid-column:3;grid-row:2}}@media(max-width:540px){.planning-agenda-item>div,.planning-agenda-activity,.planning-agenda-item>.status{grid-column:1;grid-row:auto}}@media print{.planning-print-table th,.planning-print-table td{font-size:9.5px;line-height:1.35;overflow-wrap:anywhere}.planning-print-table small{font-size:8px}.planning-print-filters{font-size:8.5px}}

/* Correctifs 0.9.1 — repère du jour dans la vue mensuelle mobile */
.planning-month-weekday{display:none;color:#667681;font-size:10px;font-weight:800;text-transform:uppercase}
@media(max-width:820px){.planning-month-day>header{align-items:center;justify-content:space-between;gap:12px}.planning-month-weekday{display:inline}.planning-month-day>header a{width:auto;min-width:32px;padding:0 7px}}

/* Version 0.10 — comptes administrateurs et sécurité des accès */
.profile-mini:hover{border-radius:9px;background:rgba(255,255,255,.06)}
.profile-mini .avatar{display:grid;margin-top:0;color:#183041;text-transform:none}
.user-access-note{margin-bottom:18px}
.users-table{min-width:850px}
.users-table td:last-child{text-align:right}
.user-identity-form{margin-bottom:18px}
.user-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.user-security-grid .panel{align-self:start}
.form-help{margin:14px 0 0;color:#788792;font-size:10px;line-height:1.5}
.danger-action{color:#a84d48}
.account-layout{align-items:start}
@media(max-width:820px){.user-security-grid{grid-template-columns:1fr}.account-layout{grid-template-columns:1fr}}
@media(max-width:540px){.user-identity-form .form-actions,.user-security-grid .form-actions,.account-layout .form-actions{flex-direction:column;align-items:stretch}.user-identity-form .form-actions>a,.user-identity-form .form-actions>button,.user-security-grid .form-actions>a,.user-security-grid .form-actions>button,.account-layout .form-actions>a,.account-layout .form-actions>button{width:100%}}

/* Version 0.11 — cartes de synthèse cliquables du planning */
.planning-metric-card{
  display:block;
  overflow:hidden;
  color:var(--ink);
  cursor:pointer;
  box-shadow:0 3px 15px rgba(17,39,54,.025);
  transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}

/* 0.29.0 — SMTP vérifié et bibliothèque de modèles */
.communication-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.communication-kpis a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid var(--line,#dfe5ea);border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(20,42,57,.05)}
.communication-kpis span{font-size:.82rem;color:var(--muted,#667985);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.communication-kpis strong{font-size:1.9rem;color:var(--primary,#122b3b)}
.filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.filter-tabs a{padding:8px 13px;border:1px solid var(--line,#dfe5ea);border-radius:999px;background:#fff;color:var(--muted,#667985);font-size:.88rem;font-weight:700;text-decoration:none}
.filter-tabs a.active{background:var(--primary,#122b3b);border-color:var(--primary,#122b3b);color:#fff}
.communication-list{display:grid}
.communication-list>a{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line,#e7ecef);color:inherit;text-decoration:none}
.communication-list>a:last-child{border-bottom:0}
.communication-list>a:hover strong{color:var(--accent,#24798b)}
.communication-list>a>span:nth-child(2){min-width:0;display:grid;gap:4px}
.communication-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.communication-list small{color:var(--muted,#6b7d87)}
.communication-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#eef6f7;color:#166474;font-size:.75rem;font-weight:900;letter-spacing:.04em}
.communication-meta{display:grid;justify-items:end;gap:5px}
.communication-meta small{font-size:.75rem}
.communication-confirm{background:#fff8e7;border:1px solid #ecd08b;border-radius:14px;margin:0 20px 20px;padding:16px}
.communication-template{display:grid;gap:12px;margin-top:16px;padding:18px;border:1px solid var(--line,#dfe5ea);border-radius:14px;background:#fbfcfd}
.communication-template h3{margin:0;color:var(--primary,#122b3b)}
.communication-entity-panel{margin-top:18px}
.communication-entity-panel .simple-list{margin-top:16px}
.communication-entity-panel .panel-head>a{flex:0 0 auto}
.data-table .table-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.data-table .table-actions form{margin:0}
.data-table .table-actions .text-button{padding:7px 4px}
.communication-template-preview{white-space:pre-wrap}
@media(max-width:760px){.communication-kpis{grid-template-columns:1fr}.communication-list>a{grid-template-columns:44px minmax(0,1fr)}.communication-meta{grid-column:2;justify-items:start}.communication-list strong{white-space:normal}}

/* 0.27 · comparaison fournisseurs et plans d'achat */
.supplier-offer-groups,.purchase-plan-lines{display:grid;gap:18px}.supplier-offer-group .panel-head{margin:0}.supplier-offer-group .data-table small,.purchase-plan-line small{display:block;color:var(--muted);margin-top:4px}.row-muted{opacity:.68}.purchase-plan-form{max-width:1180px}.purchase-plan-lines{margin-top:18px}.purchase-plan-line{border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--paper)}.purchase-plan-line.is-missing{border-color:#f1c56f;background:#fffaf0}.purchase-plan-line-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:14px}.purchase-plan-line-head>div{flex:1}.purchase-plan-line-head strong{display:block}.purchase-plan-line .form-grid{align-items:end}.purchase-plan-line .alert{margin:12px 0 0}.offer-count{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}.offer-count a{color:var(--blue);font-weight:700}.quote-purchase-panel{margin-top:18px}@media(max-width:760px){.purchase-plan-line-head{display:block}.purchase-plan-line-head .check-line{margin-bottom:10px}.supplier-offer-group .data-table{min-width:850px}}
.planning-metric-card:hover{
  transform:translateY(-2px);
  border-color:#b8cbd4;
  background:#fcfdfd;
  box-shadow:0 10px 24px rgba(17,39,54,.09);
}
.planning-metric-card:focus-visible{
  border-color:#7da5b8;
  box-shadow:0 0 0 3px rgba(57,124,158,.12),0 10px 24px rgba(17,39,54,.09);
}
.planning-metric-card.is-active{
  border-color:#7da5b8;
  background:linear-gradient(145deg,#fff 0,#f1f7f9 100%);
  box-shadow:inset 0 3px var(--blue),0 8px 22px rgba(17,39,54,.08);
}
.planning-metric-card.is-active>span:not(.metric-icon){color:#345f75}
.planning-metric-card>small{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#687986;
  font-size:10.5px;
  line-height:1.35;
}
.planning-metric-card>small>em{
  flex:0 0 auto;
  border-radius:20px;
  padding:4px 8px;
  background:#edf4f7;
  color:#356f8c;
  font-size:9px;
  font-style:normal;
  font-weight:800;
  white-space:nowrap;
  transition:background-color .18s ease,color .18s ease;
}
.planning-metric-card:hover>small>em,
.planning-metric-card:focus-visible>small>em{
  background:#dfeef4;
  color:#244f66;
}
.planning-metric-card.is-active>small>em{
  background:var(--navy);
  color:#fff;
}
.planning-summary-panel{
  overflow:hidden;
  margin-bottom:18px;
  scroll-margin-top:96px;
}
.planning-summary-head{
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid var(--line);
  padding:14px 18px;
  background:#fafbfb;
}
.planning-summary-head>div{min-width:0}
.planning-summary-head h2{
  margin:0;
  font-size:15px;
  letter-spacing:-.015em;
}
.planning-summary-head p{
  margin:5px 0 0;
  color:#7d8b95;
  font-size:10px;
  line-height:1.45;
}
.planning-summary-head>.secondary,
.planning-summary-head>.text-button{flex:0 0 auto}
.planning-summary-items.planning-compact-list{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  padding:12px 14px 14px;
}
.planning-summary-items .planning-compact-item{
  min-height:62px;
  border-color:#e8edef;
  border-left-color:currentColor;
  background:#fbfcfc;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.planning-summary-items .planning-compact-item:hover,
.planning-summary-items .planning-compact-item:focus-visible{
  border-color:#cbd8de;
  border-left-color:currentColor;
  background:#f7fafb;
  box-shadow:0 5px 14px rgba(17,39,54,.06);
}
.planning-summary-items>.mini-empty{
  border:1px dashed #dce4e8;
  border-radius:10px;
  background:#fafcfc;
}
@media(max-width:820px){
  .planning-summary-panel{scroll-margin-top:82px}
  .planning-summary-head{min-height:60px;flex-wrap:wrap;padding:13px 14px}
  .planning-summary-items.planning-compact-list{gap:7px;padding:10px 12px 12px}
  .planning-summary-items .planning-compact-item{grid-template-columns:54px minmax(0,1fr) auto}
}
@media(max-width:540px){
  .planning-metric-card{min-height:124px;padding:15px 16px}
  .planning-metric-card>small{align-items:flex-end;margin-top:14px}
  .planning-metric-card>small>em{padding:4px 7px}
  .planning-summary-head{display:grid;grid-template-columns:1fr;gap:10px;padding:13px}
  .planning-summary-head>.secondary,
  .planning-summary-head>.text-button{width:100%}
  .planning-summary-items.planning-compact-list{padding:8px}
  .planning-summary-items .planning-compact-item{grid-template-columns:46px minmax(0,1fr);padding:10px}
  .planning-summary-items .planning-compact-item>.status{grid-column:2;justify-self:start}
}

.section-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.line-row textarea{width:100%;min-height:58px;border:1px solid #dce3e7;border-radius:8px;padding:8px;background:#fff;resize:vertical}
.catalog-line-source{display:block;color:#397c9e;font-size:8.5px;font-weight:700}
.document-line-title{display:block;white-space:normal!important}
.document-line-detail{display:block;margin-top:5px;color:#687985;font-size:10px;font-style:normal;font-weight:400;line-height:1.45}
.catalog-boundary{margin-bottom:16px}
.catalog-toolbar .list-search{max-width:820px}
.catalog-toolbar .list-search select{min-width:145px;border:0;border-left:1px solid #e5eaed;padding:0 8px;background:#fff;color:#52636f;font-size:10.5px}
.catalog-table .table-actions{text-align:right}
.catalog-import-history{margin-top:18px}
.catalog-import-history .simple-list>div{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf0f2}
.catalog-import-history .simple-list>div:first-child{border-top:0}
.catalog-import-history .simple-list span,.catalog-import-history .simple-list small{display:block}
.catalog-upload-form{margin-bottom:18px}
.catalog-import-preview{margin-top:18px}
.catalog-import-metrics{margin-top:15px}
.import-preview-table td{height:auto;min-height:58px}
.catalog-picker{width:min(1040px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 32px));border:0;border-radius:16px;padding:0;background:#fff;color:var(--ink);box-shadow:0 30px 80px rgba(7,26,38,.28)}
.catalog-picker::backdrop{background:rgba(10,28,40,.52);backdrop-filter:blur(3px)}
.catalog-picker-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:21px 23px;background:#fff}
.catalog-picker-head span{color:#9a762e;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.catalog-picker-head h2{margin:5px 0 0;font-size:20px}
.catalog-picker-head p{margin:6px 0 0;color:#7d8b96;font-size:10.5px}
.modal-close{width:36px;height:36px;border:1px solid #dde4e8;border-radius:9px;background:#fff;color:#6b7b86;cursor:pointer;font-size:22px}
.catalog-picker-filters{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:12px;padding:16px 23px;border-bottom:1px solid #edf0f2;background:#fafbfb}
.catalog-picker-filters label{display:flex;align-items:center;gap:8px;border:1px solid #dce3e7;border-radius:9px;padding:0 11px;background:#fff;color:#8a98a2}
.catalog-picker-filters input,.catalog-picker-filters select{width:100%;min-height:40px;border:0;background:#fff;color:var(--ink);font-size:11px}
.catalog-picker-filters input:focus,.catalog-picker-filters select:focus{outline:0}
.catalog-picker-list{display:grid;gap:8px;max-height:430px;overflow-y:auto;padding:16px 23px}
.catalog-picker-item{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #e2e8eb;border-radius:11px;padding:12px 14px;background:#fff;cursor:pointer}
.catalog-picker-item:hover{border-color:#b8cbd5;background:#f9fbfc}
.catalog-picker-item:has(input:checked){border-color:#397c9e;background:#f0f7fa;box-shadow:inset 3px 0 #397c9e}
.catalog-picker-item input{width:16px;height:16px}
.catalog-picker-item span,.catalog-picker-item strong,.catalog-picker-item small,.catalog-picker-item em,.catalog-picker-item>b{display:block}
.catalog-picker-item strong{font-size:12px}.catalog-picker-item small{margin-top:4px;color:#87949e;font-size:9px;font-weight:400}.catalog-picker-item em{margin-top:6px;color:#60717d;font-size:9.5px;font-style:normal;line-height:1.4}.catalog-picker-item>b{text-align:right;font-size:12px}.catalog-picker-item>b small{white-space:nowrap}
.catalog-picker-empty{margin:18px 23px;border:1px dashed #ccd7dd;border-radius:10px;padding:24px;color:#87949e;font-size:11px;text-align:center}
.catalog-picker-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding:15px 23px;background:#fafbfb}
.catalog-picker-actions>span{margin-right:auto;color:#6f7f8a;font-size:10.5px;font-weight:700}
.print-line-detail{color:#5f707c;line-height:1.4}

@media(max-width:820px){
  .catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-toolbar .list-search{height:auto;flex-wrap:wrap;padding:9px}.catalog-toolbar .list-search input{min-width:180px;min-height:35px}.catalog-toolbar .list-search select{min-height:35px;border:1px solid #e5eaed;border-radius:7px}.catalog-toolbar .toolbar-summary{margin-left:0}
  .catalog-picker-filters{grid-template-columns:1fr}.catalog-picker-list{max-height:55vh}.catalog-picker-item{grid-template-columns:22px minmax(0,1fr)}.catalog-picker-item>b{grid-column:2;text-align:left}.catalog-picker-actions{flex-wrap:wrap}.catalog-picker-actions>span{width:100%}
  .section-title{flex-direction:column}.section-actions{width:100%;justify-content:flex-start}
}
@media(max-width:540px){
  .catalog-picker{width:100vw;max-height:100vh;border-radius:0}.catalog-picker-head,.catalog-picker-filters,.catalog-picker-list,.catalog-picker-actions{padding-left:15px;padding-right:15px}.catalog-picker-actions .primary,.catalog-picker-actions .secondary{flex:1}.section-actions{display:grid}.section-actions button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .planning-metric-card,
  .planning-metric-card>small>em,
  .planning-summary-items .planning-compact-item{transition:none}
  .planning-metric-card:hover{transform:none}
}

.google-calendar-status{margin-bottom:18px}
.google-sync-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.google-sync-stats>div{min-height:76px;display:grid;align-content:center;gap:8px;border:1px solid #e6ecef;border-radius:10px;padding:12px;background:#fafcfc}
.google-sync-stats span{color:#82909b;font-size:9px;font-weight:750;text-transform:uppercase}
.google-sync-stats strong{font-size:14px}
.google-calendar-setup,.google-calendar-connected{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)}
.google-calendar-setup .panel,.google-calendar-connected .panel{align-self:start}
.setup-steps{display:grid;gap:10px;margin:0 0 18px;padding-left:20px;color:#52636f;font-size:11px;line-height:1.55}
.readonly-field{display:grid;gap:7px;color:#596a76;font-size:10.5px;font-weight:700}
.readonly-field input{width:100%;min-height:42px;border:1px solid #dce3e7;border-radius:9px;padding:9px 11px;background:#f5f7f8;color:#52636f;font-size:11px}
.google-source-list{display:grid;gap:12px;margin-top:16px;border-top:1px solid #e8edef;padding-top:16px}
.google-master-toggle{width:fit-content;border-radius:9px;padding:10px 12px;background:#edf4f7;color:#315e74;font-weight:800!important}
.google-calendar-connected .form-actions form{display:flex}
.google-disconnect{margin-top:18px}
.google-disconnect .check-line{margin-top:15px;color:#8f4642!important}
button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}

@media(max-width:900px){
  .google-sync-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .google-calendar-setup,.google-calendar-connected{grid-template-columns:1fr}
}
@media(max-width:540px){
  .google-sync-stats{grid-template-columns:1fr}
  .google-calendar-connected .form-actions{flex-direction:column;align-items:stretch}
  .google-calendar-connected .form-actions>a,
  .google-calendar-connected .form-actions>form,
  .google-calendar-connected .form-actions button{width:100%}
}

/* Version 0.13.2 — logements BTP et éditeur de documents commerciaux */
.client-sites-panel{margin-top:18px}
.site-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.site-card{border:1px solid #e2e8e4;border-radius:12px;padding:15px;background:#fbfdfb}
.site-card.is-archived{opacity:.68;background:#f5f6f5}
.site-card-head,.site-card-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.site-card-head span{display:block;color:#4e7d25;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.site-card h3{margin:5px 0 0;font-size:13px}
.site-card>p{margin:12px 0;color:#5f7067;font-size:10px;line-height:1.45}
.site-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.site-card dl>div{border-radius:8px;padding:9px;background:#f1f6f2}
.site-card dt{color:#75837b;font-size:8px;text-transform:uppercase}
.site-card dd{margin:5px 0 0;color:#2d4035;font-size:10px;font-weight:700}
.site-card-actions{align-items:center;margin-top:13px;border-top:1px solid #e7ece8;padding-top:12px}
.document-site-summary{margin-bottom:14px}
.commercial-line-editor{display:grid;gap:12px}
.commercial-line-row{position:relative;border:1px solid #dfe7e2;border-left:4px solid #2f7d55;border-radius:12px;padding:14px;background:#fbfdfb}
.commercial-line-row.is-section{border-left-color:#79ad3d;background:#f2f7e9}
.commercial-line-main{display:grid;grid-template-columns:minmax(150px,.45fr) minmax(280px,1.55fr);align-items:end;gap:10px}
.commercial-line-main label,.commercial-item-fields label{display:grid;gap:6px;color:#52665a;font-size:9px;font-weight:750}
.commercial-line-main input,.commercial-line-main select,.commercial-item-fields input,.commercial-item-fields select,.commercial-item-fields textarea{width:100%;min-height:40px;border:1px solid #d8e2dc;border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink);font-size:11.5px}
.commercial-line-title{min-width:0}
.commercial-item-fields{display:grid;gap:11px;margin-top:12px}
.commercial-line-details textarea{min-height:92px;resize:vertical;line-height:1.45}
.markup-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:1px}
.markup-toolbar button{min-height:27px;border:1px solid #d8e2dc;border-radius:6px;padding:0 8px;background:#fff;color:#395847;cursor:pointer;font-size:9px}
.markup-toolbar small{margin-left:auto;color:#829087;font-size:8.5px;font-weight:400}
.commercial-price-grid{display:grid;grid-template-columns:1.05fr .8fr .8fr 1fr .7fr .75fr;gap:9px}
.commercial-line-row.is-non-priced .commercial-price-grid{border-radius:9px;padding:9px;background:#f1f6f2}
.commercial-line-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px;border-top:1px solid #e7ece8;padding-top:11px}
.commercial-line-actions .remove-line{height:31px}
.commercial-line-row.is-section [data-item-only]{display:none}
.commercial-line-row.is-section .commercial-line-main{grid-template-columns:minmax(150px,.45fr) minmax(280px,1.55fr)}
.commercial-line-row.is-section .commercial-line-title input{border-color:#b9cfad;background:#fff}
.is-fiscal-locked .commercial-line-row [aria-disabled="true"],.is-fiscal-locked .commercial-line-row [aria-readonly="true"]{pointer-events:none;background:#f1f4f2;color:#66736c}
.is-fiscal-locked .commercial-line-actions button:disabled,.is-fiscal-locked .section-actions button:disabled{cursor:not-allowed;opacity:.45}
.commercial-line-row>.catalog-line-source,.commercial-line-main>.catalog-line-source{grid-column:1/-1;margin-top:2px;color:#2f7d55}
.form-live-total[data-commercial-live-total]{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:16px;margin-top:14px;border:1px solid #dce8df;border-radius:10px;padding:13px 15px;background:#f4f8f5;color:#50645a;font-size:10px}
.form-live-total[data-commercial-live-total]>strong,.form-live-total[data-commercial-live-total] span strong{margin-left:5px;color:#1f6b45;font-size:12px}
.commercial-document-lines .document-section-line{margin-top:10px;border-left:4px solid #79ad3d;padding:10px 12px;background:#f2f7e9;color:#1f6b45}
.commercial-document-lines .document-section-line:first-child{margin-top:0}
.commercial-document-lines .document-item-line{align-items:flex-start}
.commercial-document-lines .document-line-copy{min-width:0;font-size:11px;font-weight:700}
.commercial-document-lines .document-line-copy>small{display:block;margin-top:5px;color:#89959e;font-size:9px;font-weight:400}
.document-markup p{margin:0 0 5px}
.document-markup p:last-child{margin-bottom:0}
.document-markup ul{margin:4px 0;padding-left:18px}
.document-markup li{margin:2px 0}

/* Feuilles A4 commerciales : palette limitée aux documents J&J. */
.commercial-print-page{--commercial-green:#1f6b45;--commercial-green-2:#2f7d55;--commercial-leaf:#79ad3d;--commercial-leaf-dark:#4e7d25;--commercial-pale:#e9f3ec;--commercial-pale-leaf:#f2f7e9;--commercial-ink:#1e2b25;--commercial-muted:#68766f;--commercial-line:#d8e3dc;background:#e8ece9;color:var(--commercial-ink);font-family:Arial,Helvetica,sans-serif}
.commercial-print-pages{display:grid;justify-content:center;gap:18px;padding:18px}
.commercial-print-source{display:none}
.commercial-print-sheet{width:210mm;height:297mm;display:grid;grid-template-rows:20mm minmax(0,1fr) 12mm;margin:0;background:#fff;padding:8mm 14mm 6mm;overflow:hidden;box-shadow:0 10px 35px rgba(17,39,31,.15);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.commercial-print-sheet.is-first-page{grid-template-rows:35mm minmax(0,1fr) 12mm}
.commercial-print-header{display:flex;align-items:center;justify-content:space-between;gap:10mm;border-bottom:.35mm solid var(--commercial-green);padding-bottom:2.5mm}
.commercial-print-sheet.is-first-page .commercial-print-header{border-bottom:.45mm solid var(--commercial-green);padding-bottom:3mm}
.commercial-print-brand{display:flex;align-items:center;gap:3.5mm;min-width:0}
.commercial-print-brand img{width:18mm;height:14mm;object-fit:contain;object-position:left center}
.commercial-print-sheet.is-first-page .commercial-print-brand img{width:27mm;height:22mm}
.commercial-print-brand strong,.commercial-print-brand small,.commercial-document-title span,.commercial-document-title strong,.commercial-document-title small{display:block}
.commercial-print-brand strong{color:var(--commercial-green);font-size:9pt;line-height:1.05}
.commercial-print-sheet.is-first-page .commercial-print-brand strong{font-size:11.5pt}
.commercial-print-brand small{margin-top:1mm;color:var(--commercial-leaf-dark);font-size:5.4pt;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
.commercial-print-sheet.is-first-page .commercial-print-brand small{margin-top:1.2mm;font-size:6pt}
.commercial-document-title{flex:0 0 auto;text-align:right}
.commercial-document-title span{color:var(--commercial-leaf-dark);font-size:7pt;font-weight:800;letter-spacing:.11em}
.commercial-document-title strong{margin-top:.8mm;color:var(--commercial-green);font-size:12pt;line-height:1}
.commercial-print-sheet.is-first-page .commercial-document-title strong{margin-top:1.2mm;font-size:16.5pt}
.commercial-document-dates{display:flex;justify-content:flex-end;gap:3mm;margin-top:1.1mm}
.commercial-document-title small{margin:0;color:var(--commercial-muted);font-size:6.2pt}
.commercial-print-sheet.is-first-page .commercial-document-title small{font-size:7pt}
.commercial-print-sheet-content{min-height:0;overflow:visible;padding-top:4mm}
.commercial-print-footer{display:grid;grid-template-columns:20mm minmax(0,1fr) 20mm;align-items:end;gap:3mm;border-top:.3mm solid var(--commercial-line);padding-top:2mm;color:var(--commercial-muted);font-size:6.2pt;line-height:1.2}
.commercial-footer-copy{grid-column:2;display:grid;min-width:0;gap:.65mm;text-align:center}
.commercial-footer-copy strong,.commercial-footer-copy span{overflow-wrap:anywhere}
.commercial-footer-copy strong{color:var(--commercial-green);font-size:6.25pt}
.commercial-footer-copy span{font-size:5.65pt}
.commercial-print-sheet.is-line-continuation .commercial-print-footer{border-top-color:transparent}
.commercial-print-sheet.is-line-continuation .commercial-footer-copy{visibility:hidden}
.commercial-print-footer>b{grid-column:3;color:var(--commercial-green);font-size:6.5pt;text-align:right;white-space:nowrap}
.commercial-print-footer i{font-style:normal}
.commercial-print-block{break-inside:avoid}
.commercial-draft-warning,.commercial-context-warning{margin-bottom:3mm;border:.3mm solid #d9b45c;border-radius:2mm;padding:2.5mm 3mm;background:#fff8e6;color:#735710;font-size:7.2pt;line-height:1.35}
.commercial-parties{display:grid;grid-template-columns:1fr 1fr;gap:4mm;margin-bottom:3mm}
.commercial-parties>div{min-height:28mm;border:.3mm solid var(--commercial-line);padding:3mm;background:#f5f8f6}
.commercial-parties span,.commercial-site-grid span,.commercial-subject span,.commercial-condition-grid span{display:block;color:var(--commercial-leaf-dark);font-size:6.1pt;font-weight:800;letter-spacing:.09em}
.commercial-parties strong{display:block;margin-top:1.8mm;color:var(--commercial-green);font-size:8.5pt}
.commercial-parties p{margin:1.4mm 0 0;color:var(--commercial-ink);font-size:7.3pt;line-height:1.42}
.commercial-site-card{margin-bottom:3mm;border:.3mm solid #cbdccf;overflow:hidden;background:var(--commercial-pale)}
.commercial-site-grid{display:grid}
.commercial-site-top{grid-template-columns:1.65fr 1fr 1.2fr}
.commercial-site-home{grid-template-columns:repeat(4,1fr);border-top:.25mm solid #cbdccf;background:var(--commercial-pale-leaf)}
.commercial-site-grid>div{min-width:0;border-left:.25mm solid #cbdccf;padding:2.3mm 2.5mm}
.commercial-site-grid>div:first-child{border-left:0}
.commercial-site-grid strong{display:block;margin-top:1.2mm;color:var(--commercial-ink);font-size:7.2pt;line-height:1.28;overflow-wrap:anywhere}
.commercial-site-grid small{display:block;margin-top:.8mm;color:var(--commercial-muted);font-size:6.2pt;line-height:1.3;overflow-wrap:anywhere}
.commercial-subject{display:grid;grid-template-columns:21mm 1fr;align-items:start;gap:3mm;margin-bottom:3.5mm;padding:1.5mm 0}
.commercial-subject strong{color:var(--commercial-green);font-size:9.2pt;line-height:1.35}
.commercial-line-grid{display:grid;grid-template-columns:minmax(0,94fr) 21fr 27fr 15fr 25fr;align-items:start;width:100%}
.commercial-line-grid.has-discount{grid-template-columns:minmax(0,76fr) 19fr 25fr 19fr 15fr 28fr}
.commercial-line-head{min-height:8mm;align-items:center;border-radius:1.7mm 1.7mm 0 0;background:var(--commercial-green);color:#fff}
.commercial-line-head span{padding:1.8mm 2mm;border-left:.2mm solid rgba(255,255,255,.22);font-size:6.8pt;font-weight:800;text-align:right}
.commercial-line-head span:first-child{border-left:0;text-align:left}
.commercial-section-row{min-height:8mm;display:flex;align-items:center;border-left:1.2mm solid var(--commercial-leaf);border-bottom:.25mm solid #cbdccf;padding:1.8mm 2.6mm;background:var(--commercial-pale-leaf)}
.commercial-section-row strong{color:var(--commercial-green);font-size:8pt;line-height:1.25}
.commercial-line-group{break-inside:avoid}
.commercial-line-fragment-group{break-inside:auto}
.commercial-item-row{border-bottom:.25mm solid var(--commercial-line);break-inside:avoid;background:#fff}
.commercial-item-row[data-commercial-fragment]{break-inside:auto}
.commercial-item-row.is-fragment-continuation{border-top:.25mm solid var(--commercial-line)}
.commercial-item-row.is-fragment-continuation .commercial-item-price{background:#f7faf8}
.commercial-item-row.is-fragment-continuation .commercial-item-price>strong{font-size:7.8pt;font-style:italic}
.commercial-item-price>strong,.commercial-item-price>span{min-width:0;padding:2.2mm 2mm;color:var(--commercial-ink);font-size:8pt;line-height:1.3;text-align:right}
.commercial-item-price>strong{color:var(--commercial-green);font-size:8.6pt;text-align:left}
.commercial-item-price small{display:block;margin-top:.8mm;color:var(--commercial-muted);font-size:6.4pt;font-weight:400}
.commercial-item-detail{padding:0 2mm 2.6mm;color:var(--commercial-ink);font-size:8.2pt;line-height:1.38}
.commercial-item-detail p{margin:0 0 1.5mm}
.commercial-item-detail p:last-child{margin-bottom:0}
.commercial-item-detail ul{margin:0 0 1.5mm;padding-left:5mm}
.commercial-item-detail li{margin:.5mm 0}
.commercial-fragment-detail,.commercial-fragment-detail p,.commercial-fragment-detail li,.commercial-terms[data-commercial-fragment]{overflow-wrap:anywhere;word-break:normal}
/* Synthèse financière atomique et clôture complète du devis conservée sur une même page. */
.commercial-financial-summary,.commercial-financial-summary>.commercial-summary,.commercial-financial-summary>.commercial-condition-grid{break-inside:avoid-page;page-break-inside:avoid}
.commercial-quote-closing{break-inside:avoid-page;page-break-inside:avoid}
.commercial-summary{padding-top:4mm}
.commercial-summary-title{margin:0;border-left:3mm solid var(--commercial-leaf);background:var(--commercial-pale);padding:2.1mm 2.6mm;color:var(--commercial-green);font-size:7.4pt;font-weight:800;letter-spacing:.08em}
.commercial-summary-grid{display:grid;grid-template-columns:1fr 75mm;align-items:start;gap:7mm}
.commercial-summary-title+.commercial-summary-grid{padding-top:4mm}
.commercial-vat-breakdown h3,.commercial-payments h3,.commercial-terms h3{margin:0 0 1.7mm;color:var(--commercial-green);font-size:7.2pt}
.commercial-vat-breakdown table{width:100%;border-collapse:collapse}
.commercial-vat-breakdown th,.commercial-vat-breakdown td{border-bottom:.25mm solid var(--commercial-line);padding:1.4mm 1.5mm;color:var(--commercial-muted);font-size:6.9pt;text-align:right}
.commercial-vat-breakdown th{background:var(--commercial-green-2);color:#fff;font-weight:800;text-transform:uppercase}
.commercial-vat-breakdown td{background:#f5f8f6;color:var(--commercial-ink);font-weight:700}
.commercial-vat-breakdown th{text-align:center}
.commercial-vat-breakdown td:first-child{text-align:right}
.commercial-vat-breakdown p{font-size:7pt}
.commercial-totals{display:grid}
.commercial-totals span{display:flex;justify-content:space-between;gap:5mm;border-top:.25mm solid var(--commercial-line);padding:2mm 2.5mm;color:var(--commercial-ink);font-size:7.8pt}
.commercial-totals span:first-child{border-top:0}
.commercial-totals span:nth-child(3),.commercial-totals .commercial-balance{background:var(--commercial-green);color:#fff;font-size:8.8pt;font-weight:800}
.commercial-totals strong{white-space:nowrap}
.commercial-condition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5mm;margin-top:3.5mm}
.commercial-condition-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.commercial-condition-grid>div{border:.3mm solid var(--commercial-line);padding:2.3mm;background:#f5f8f6}
.commercial-condition-grid>.commercial-payment-card{border-color:#c6d9bc;background:var(--commercial-pale-leaf)}
.commercial-condition-grid>.commercial-payment-card strong{color:var(--commercial-green)}
.commercial-condition-grid strong{display:block;margin-top:1.2mm;color:var(--commercial-ink);font-size:7.2pt;line-height:1.3}
.commercial-payments,.commercial-terms{margin-top:3mm;border-radius:1.8mm;padding:2.5mm 3mm;background:#f5f8f6;color:var(--commercial-ink);font-size:7.3pt;line-height:1.42}
.commercial-payments p{display:flex;justify-content:space-between;gap:5mm;margin:1mm 0}
.commercial-terms p{margin:0 0 1.2mm}
.commercial-terms p:last-child{margin-bottom:0}
.commercial-terms ul{margin:0;padding-left:5mm}
.commercial-insurance{border-left:1mm solid var(--commercial-leaf);background:var(--commercial-pale-leaf)}
.commercial-signature{display:grid;grid-template-columns:1fr 1fr;gap:5mm;margin-top:4mm;background:#fff}
.commercial-signature>div{min-height:70mm;border:.3mm solid #bfcfc3;padding:0 3.2mm 4mm;background:#fff}
.commercial-signature h2{margin:0 -3.2mm 3mm;border-bottom:.3mm solid #cbdccf;background:var(--commercial-pale);padding:2.6mm 3.2mm;color:var(--commercial-green);font-size:7pt;letter-spacing:.04em}
.commercial-signature strong,.commercial-signature span{display:block}
.commercial-signature strong{color:var(--commercial-green);font-size:8pt}
.commercial-signature p{margin:2mm 0 4mm;color:var(--commercial-ink);font-size:7pt;line-height:1.45}
.commercial-signature span{margin-top:3mm;color:var(--commercial-muted);font-size:6.7pt}
.commercial-signature-box span{margin-top:2mm}
.commercial-reflow-fallback{outline:.25mm solid #d7e1da}

@media(max-width:900px){
  .site-card-grid{grid-template-columns:1fr}
  .commercial-line-main,.commercial-line-row.is-section .commercial-line-main{grid-template-columns:1fr}
  .commercial-price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .markup-toolbar small{width:100%;margin-left:0}
  .commercial-print-pages{display:block;padding:0;overflow-x:auto}
  .commercial-print-sheet{transform-origin:top left}
}
@media(max-width:540px){
  .site-card dl{grid-template-columns:1fr}
  .site-card dl .span-2{grid-column:auto}
  .commercial-price-grid{grid-template-columns:1fr 1fr}
  .commercial-line-actions{flex-wrap:wrap;justify-content:flex-start}
  .form-live-total[data-commercial-live-total]{justify-content:flex-start}
}
@media print{
  @page{size:A4;margin:0}
  html,body.commercial-print-page{width:210mm;margin:0;background:#fff}
  .commercial-print-pages{display:block;padding:0}
  .commercial-print-sheet{margin:0;box-shadow:none;break-after:page;page-break-after:always}
  .commercial-print-sheet:last-child{break-after:auto;page-break-after:auto}
}

/* Version 0.14 — liste clients et fiche client 360° */
.client-filter-bar{display:grid;grid-template-columns:minmax(250px,1.6fr) repeat(3,minmax(125px,.7fr)) auto auto auto;align-items:end;gap:11px;margin-bottom:14px;padding:15px}
.client-filter-bar>label:not(.client-filter-search):not(.client-filter-check){display:grid;gap:6px;color:#667682;font-size:9px;font-weight:750}
.client-filter-bar select{width:100%;min-height:39px;border:1px solid #dce3e7;border-radius:9px;padding:8px 10px;background:#fff;color:var(--ink);font-size:11px}
.client-filter-search{min-width:0;height:39px;display:flex;align-items:center;gap:8px;border:1px solid #dce3e7;border-radius:9px;padding:0 11px;background:#fff;color:#8897a1}
.client-filter-search input{min-width:0;width:100%;border:0;background:transparent;color:var(--ink);font-size:11px}
.client-filter-search input:focus{outline:0}
.client-filter-check{min-height:39px;display:flex;align-items:center;gap:8px;color:#5c6e7a;font-size:10px;font-weight:700;white-space:nowrap}
.client-filter-check input{width:17px;height:17px;margin:0;accent-color:var(--navy)}
.client-list-summary,.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#83909a;font-size:10px}
.client-list-summary{margin:0 2px 10px}
.client-list-summary strong{color:#40515d;font-size:11px}
.client-table{min-width:1120px}
.client-table tbody tr:focus-visible{position:relative;z-index:1;outline:3px solid rgba(57,124,158,.23);outline-offset:-3px}
.client-table tr.is-archived{opacity:.62;background:#f8f9f9}
.client-table .client-activities{margin-top:7px}
.client-table-identity{min-width:190px;display:flex;align-items:center;gap:10px}
.client-table-identity>div{min-width:0}
.client-table-identity strong,.client-table-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.client-table-identity strong{color:#344651;font-size:11px}
.client-table-identity small{margin-top:5px;color:#8d99a2;font-size:9px}
.row-open{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;color:#7c8b95}
.row-open:hover{background:#eef3f5;color:#345f76}
.row-open .icon{width:16px;height:16px}
.pagination{justify-content:center;margin-top:14px}
.pagination span{min-width:54px;text-align:center}

.client360-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:14px;padding:22px}
.client360-header.is-archived{border-color:#d9dfe2;background:#f7f8f8}
.client360-main{min-width:0;display:flex;align-items:flex-start;gap:15px}
.client360-main>div{min-width:0}
.client360-avatar{flex:0 0 auto;width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#e4f0f4,#d7e7ed);color:#2b6887;font-size:14px;font-weight:850}
.client360-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.client360-title h2{margin:0;font-size:21px;letter-spacing:-.025em}
.client360-main p{margin:7px 0 0;color:#7c8993;font-size:10.5px;line-height:1.45}
.client-type-pill,.usage-pill{width:fit-content;display:inline-flex;align-items:center;border-radius:20px;padding:5px 8px;background:#eef3f5;color:#557181;font-size:8.5px;font-weight:800;white-space:nowrap}
.client360-contact{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:10px;color:#3a708d;font-size:10.5px;font-weight:700}
.client360-contact a:hover{text-decoration:underline}
.client360-side{flex:0 0 auto;max-width:42%;display:grid;justify-items:end;gap:12px;text-align:right}
.client360-side .client-activities{justify-content:flex-end;margin-top:0}
.muted-copy{color:#8c98a2;font-size:9.5px}
.client360-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.client360-metrics .metric-card{min-height:126px}
.client360-alerts{display:grid;gap:8px;margin-bottom:14px}
.client360-alert{border:1px solid #dce4e8;border-left-width:4px;border-radius:10px;padding:11px 13px;background:#f7fafb;color:#4d6674;font-size:10.5px;line-height:1.45}
.client360-alert.is-warning{border-color:#ead4a8;border-left-color:var(--amber);background:#fff8e9;color:#81570f}
.client360-alert.is-danger{border-color:#ebcac8;border-left-color:var(--red);background:#fff3f2;color:#984641}
.client360-alert.is-info{border-color:#cfe1ea;border-left-color:var(--blue);background:#f1f8fb;color:#326f8e}
.client360-tabs{display:flex;align-items:center;gap:3px;margin-bottom:18px;border-bottom:1px solid #dce3e7;overflow-x:auto;scrollbar-width:thin}
.client360-tabs a{position:relative;flex:0 0 auto;min-height:43px;display:flex;align-items:center;padding:0 13px;color:#74838e;font-size:10px;font-weight:750;white-space:nowrap}
.client360-tabs a:hover{color:#36576a}
.client360-tabs a.active{color:var(--navy)}
.client360-tabs a.active:after{content:'';position:absolute;right:8px;bottom:-1px;left:8px;height:3px;border-radius:3px 3px 0 0;background:var(--gold)}
.client360-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:15px}
.client360-grid-wide{grid-template-columns:1fr}
.client360-grid>.panel{min-width:0}
.client360-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:24px 0 12px}
.client360-section-head:first-child{margin-top:0}
.client360-section-head h2{margin:0;font-size:16px;letter-spacing:-.015em}
.client360-section-head p{margin:5px 0 0;color:#85929c;font-size:10px;line-height:1.45}

.contact-card-grid,.address-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.contact-card,.address-card{min-width:0;border:1px solid var(--line);border-radius:12px;padding:15px;background:#fff}
.contact-card.is-archived,.address-card.is-archived,.client-file.is-archived{opacity:.65;background:#f7f8f8}
.contact-card-head,.address-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.contact-card-head>div:last-child{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}
.contact-card h3,.address-card h3{margin:0;font-size:13px}
.contact-card-head p,.address-card-head p{margin:5px 0 0;color:#7d8b95;font-size:9.5px;line-height:1.45}
.contact-card-details{display:grid;gap:6px;margin:14px 0;color:#536775;font-size:10px}
.address-usages{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}
.address-contact{margin:13px 0 0;color:#596c78;font-size:10px;line-height:1.45}
.card-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:14px;border-top:1px solid #edf0f2;padding-top:12px}
.card-actions form{margin:0}
.address-usage-grid,.activity-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.address-usage-grid label,.activity-check{min-height:54px;display:flex;align-items:center;gap:9px;border:1px solid #dfe5e8;border-radius:10px;padding:11px;background:#fff;color:#526672;font-size:10px;font-weight:750;cursor:pointer}
.address-usage-grid input,.activity-check input{width:17px;height:17px;margin:0;accent-color:var(--navy)}
.activity-check:has(input:checked),.address-usage-grid label:has(input:checked){border-color:#9eb5c2;background:#f4f8fa;box-shadow:inset 0 0 0 1px #9eb5c2}

.client-document-list,.client-payment-list{display:grid}
.client-document-list>a{min-height:64px;display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:11px;border-top:1px solid #edf0f2;padding:9px 0}
.client-document-list>a:first-child,.client-payment-list>a:first-child{border-top:0}
.client-document-list>a:hover,.client-payment-list>a:hover{background:#fafcfc}
.client-document-list>a>span:nth-child(2),.client-payment-list>a>span{min-width:0}
.client-document-list strong,.client-document-list small,.client-payment-list strong,.client-payment-list small{display:block}
.client-document-list>a>span:nth-child(2)>strong,.client-document-list small,.client-payment-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.client-document-list strong,.client-payment-list strong{color:#344651;font-size:10.5px}
.client-document-list small,.client-payment-list small{margin-top:5px;color:#88959f;font-size:9px}
.document-kind{display:grid;place-items:center}
.client-payment-list>a{min-height:62px;display:grid;grid-template-columns:minmax(120px,.7fr) minmax(160px,1fr) auto 20px;align-items:center;gap:13px;border-top:1px solid #edf0f2;padding:9px 0}
.client-payment-list .icon{width:16px;height:16px;color:#87949d}
.client-file-list{overflow:hidden}
.client-file{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:12px;border-bottom:1px solid #edf0f2;padding:15px}
.client-file:last-child{border-bottom:0}
.client-file-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#eef3f5;color:#4f7588}
.client-file>div{min-width:0}
.client-file>div>strong,.client-file>div>small{display:block}
.client-file>div>strong{overflow:hidden;color:#344651;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.client-file>div>small{margin-top:5px;color:#87949d;font-size:9px}
.client-file>div>p{margin:8px 0 0;color:#5f707b;font-size:10px;line-height:1.5}
.client-file .card-actions{margin:0;border:0;padding:0}
.client-note-preview,.client-note-timeline{display:grid;gap:10px}
.client-note-preview article{border-left:3px solid #cfdae0;border-radius:0 8px 8px 0;padding:9px 11px;background:#f8fafb}
.client-note-preview span{color:#567488;font-size:8px;font-weight:850;text-transform:uppercase}
.client-note-preview p{margin:6px 0;color:#4f626e;font-size:10px;line-height:1.5}
.client-note-preview small{color:#8b97a0;font-size:8.5px}
.client-note{display:grid;grid-template-columns:minmax(145px,.35fr) minmax(0,1fr);gap:18px;padding:17px}
.client-note-meta{display:grid;align-content:start;justify-items:start;gap:7px}
.client-note-meta strong{font-size:10px}
.client-note-meta small{color:#8b97a0;font-size:8.5px;line-height:1.4}
.client-note>div:last-child p{margin:0 0 13px;color:#4e616d;font-size:10.5px;line-height:1.6}

.client-duplicate-alert{margin-top:13px;border:1px solid #ead4a8;border-left:4px solid var(--amber);border-radius:10px;padding:11px 13px;background:#fff8e9;color:#765110;font-size:10px;line-height:1.5}
.client-duplicate-alert[hidden]{display:none}
.client-duplicate-alert strong{display:block;margin-bottom:5px;font-size:10.5px}
.client-duplicate-alert ul{display:grid;gap:4px;margin:0;padding-left:18px}
.client-duplicate-alert a{font-weight:800;text-decoration:underline;text-underline-offset:2px}
.form-hint{margin:0;color:#7d8b95;font-size:9.5px;line-height:1.45}
[data-company-field][hidden],[data-new-company-field][hidden]{display:none!important}

@media(max-width:1180px){
  .client-filter-bar{grid-template-columns:minmax(230px,1.4fr) repeat(2,minmax(130px,.7fr))}
  .client-filter-check{justify-self:start}
  .client360-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .address-usage-grid,.activity-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .client-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-filter-search{grid-column:1/-1}
  .client360-header{display:grid}
  .client360-side{max-width:none;justify-items:start;text-align:left}
  .client360-side .client-activities{justify-content:flex-start}
  .client360-grid{grid-template-columns:1fr}
  .contact-card-grid,.address-card-grid{grid-template-columns:1fr}
  .client-document-list>a{grid-template-columns:38px minmax(0,1fr) auto}
  .client-document-list>a>.status{grid-column:2/-1}
  .client-file{grid-template-columns:38px minmax(0,1fr)}
  .client-file .card-actions{grid-column:2}
}
@media(max-width:540px){
  .client-filter-bar{grid-template-columns:1fr}
  .client-filter-search{grid-column:auto}
  .client-filter-bar>.primary,.client-filter-bar>.secondary{width:100%}
  .client-list-summary{align-items:flex-start}
  .client360-header{padding:17px}
  .client360-main{display:grid}
  .client360-avatar{width:48px;height:48px;border-radius:13px}
  .client360-title h2{width:100%;font-size:19px}
  .client360-metrics{grid-template-columns:1fr}
  .client360-tabs{margin-right:-16px;margin-left:-16px;padding:0 8px}
  .client360-section-head{align-items:stretch;flex-direction:column}
  .client360-section-head>.primary,.client360-section-head>.secondary{width:100%}
  .address-usage-grid,.activity-check-grid{grid-template-columns:1fr}
  .client-document-list>a{grid-template-columns:34px minmax(0,1fr)}
  .client-document-list>a>strong,.client-document-list>a>.status{grid-column:2}
  .client-payment-list>a{grid-template-columns:1fr auto}
  .client-payment-list>a>span:nth-child(2){grid-column:1}
  .client-payment-list .icon{grid-column:2;grid-row:1/3}
  .client-file{grid-template-columns:1fr}
  .client-file .card-actions{grid-column:auto;justify-content:flex-start}
  .client-note{grid-template-columns:1fr}
}

/* Version 0.15 — cycle commercial complet */
.commercial-discount-control{display:grid;grid-template-columns:minmax(64px,.65fr) minmax(84px,1fr);gap:6px}
.commercial-discount-control select,.commercial-discount-control input{min-width:0}
.commercial-adjustments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;border:1px solid #e2e9ec;border-radius:11px;padding:14px;background:#f8fafb}
.commercial-adjustments>label,.type-value-fields>label{display:grid;gap:7px;color:#596a76;font-size:10.5px;font-weight:700}
.commercial-adjustments input,.commercial-adjustments select,.type-value-fields input,.type-value-fields select{width:100%;min-height:42px;border:1px solid #dce3e7;border-radius:9px;padding:9px 11px;background:#fff;color:var(--ink);font-size:12px}
.type-value-fields{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(160px,1fr);gap:10px}
.value-with-suffix{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.value-with-suffix [data-value-suffix]{min-width:42px;color:#70808b;font-size:10px;font-weight:800}
.document-linked-list{display:grid;gap:8px}.document-linked-list>a{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e4eaed;border-radius:9px;padding:9px 10px;background:#fafcfc}.document-linked-list a:hover{border-color:#becdd4;background:#fff}.document-linked-list strong,.document-linked-list small{display:block}.document-linked-list strong{font-size:10.5px}.document-linked-list small{margin-top:4px;color:#84919c;font-size:9px}
.acceptance-proof{display:grid;gap:12px;border:1px solid #cfe5d9;border-left:4px solid var(--green);border-radius:11px;padding:14px;background:#f1f9f5}.acceptance-proof h3{margin:0;color:#276d54;font-size:12px}.acceptance-proof dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}.acceptance-proof dt{color:#7c8c85;font-size:8px;font-weight:800;text-transform:uppercase}.acceptance-proof dd{margin:4px 0 0;color:#315447;font-size:10.5px;font-weight:700}.signature-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.signature-link-row input{min-width:0;background:#f7f9fa}.signature-upload{margin-top:10px;border-top:1px solid #e7edef;padding-top:13px}.danger-action{border:1px solid #edcfcd!important;border-left:4px solid var(--red)!important;background:#fffafa!important}.danger-action h2,.danger-action h3{color:#93433f}.danger-action .primary{border-color:#a84d48;background:#a84d48}.danger-action .primary:hover{background:#923e39}.check-line{display:flex!important;align-items:flex-start!important;gap:9px!important}.check-line input[type=checkbox]{flex:0 0 auto;width:17px!important;min-height:17px!important;margin-top:1px}.check-line span{font-size:10px;line-height:1.45}.alert.warning{border:1px solid #ead4a8;background:#fff8e9;color:#765110}
.delivery-invoice-selector{display:grid;gap:9px}.delivery-invoice-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e3eaed;border-radius:9px;padding:11px;background:#fafcfc;cursor:pointer}.delivery-invoice-option:has(input:checked){border-color:#8fb2c3;background:#f1f7fa}.delivery-invoice-option input{width:16px;height:16px}.delivery-invoice-option strong,.delivery-invoice-option small{display:block}.delivery-invoice-option strong{font-size:10.5px}.delivery-invoice-option small{margin-top:4px;color:#85929c;font-size:9px}.delivery-invoice-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#697984;font-size:10px}
.document-history-list{display:grid}.document-history-item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:11px;border-top:1px solid #edf0f2;padding:11px 0}.document-history-item:first-child{border-top:0}.document-history-item>i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#eef3f5;color:#557487;font-size:9px;font-style:normal;font-weight:800}.document-history-item strong,.document-history-item small{display:block}.document-history-item strong{font-size:10.5px}.document-history-item small{margin-top:4px;color:#89959e;font-size:9px}
.public-signature-page{min-height:100vh;background:radial-gradient(circle at top right,#dbe7ec 0,transparent 38%),#edf1f3}.public-signature-shell{width:min(980px,calc(100% - 30px));display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:18px;margin:28px auto}.public-signature-document,.public-signature-card{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.public-signature-document{padding:23px}.public-signature-card{align-self:start;padding:22px}.public-signature-brand{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin-bottom:2px}.public-signature-brand img{width:48px;height:48px;object-fit:contain}.public-signature-brand strong,.public-signature-brand span,.public-signature-brand small{display:block}.public-signature-brand span,.public-signature-brand small{margin-top:4px;color:#657783;font-size:9px}.public-signature-shell>.alert{grid-column:1/-1;margin:0}.public-quote-summary{min-width:0}.public-acceptance-form{align-self:start}.public-acceptance-form .form-grid{grid-template-columns:1fr}.public-signature-success{grid-column:1/-1;text-align:center}.public-signature-success .success-mark{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:#e8f5ef;color:var(--green);font-size:24px;font-weight:900}.public-signature-card h1{margin:0;font-size:21px}.public-signature-card>p{color:#687985;font-size:11px;line-height:1.55}.public-signature-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0}.public-signature-meta>div{border-radius:9px;padding:10px;background:#f4f7f8}.public-signature-meta span,.public-signature-meta strong{display:block}.public-signature-meta span{color:#86949e;font-size:8px;text-transform:uppercase}.public-signature-meta strong{margin-top:5px;font-size:10.5px}.public-discount-note{margin-top:12px;border-radius:8px;padding:10px;background:#f4f7f8;color:#5d6f7b;font-size:10px}.credit-amount{color:#9a4b46!important}.credit-note-banner{border:1px solid #ead4a8;border-left:4px solid var(--amber);border-radius:10px;padding:13px;background:#fff8e9;color:#765110;font-size:10.5px;line-height:1.5}
@media(max-width:820px){.commercial-adjustments,.public-signature-shell{grid-template-columns:1fr}.public-signature-card{grid-row:1}.acceptance-proof dl{grid-template-columns:1fr}}
@media(max-width:540px){.commercial-discount-control,.type-value-fields,.signature-link-row{grid-template-columns:1fr}.delivery-invoice-option{grid-template-columns:18px minmax(0,1fr)}.delivery-invoice-option>strong:last-child{grid-column:2}.public-signature-shell{width:min(100% - 18px,980px);margin:9px auto}.public-signature-document,.public-signature-card{padding:16px}.public-signature-meta{grid-template-columns:1fr}}

/* Version 0.16 — tarification client, marges et règlements multi-factures */
.commercial-price-grid{grid-template-columns:1.05fr .72fr .7fr 1fr 1fr .65fr .85fr}
.pricing-layout{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(0,1.65fr);align-items:start;gap:18px}
.pricing-layout>aside{min-width:0}
.pricing-layout>aside .simple-list>a{grid-template-columns:minmax(0,1fr) auto;border-radius:9px;padding:10px}
.pricing-layout>aside .simple-list>a.is-active{background:#eef4f6;box-shadow:inset 3px 0 var(--gold)}
.pricing-layout>aside .simple-list>a>span{min-width:0}
.pricing-layout>aside .simple-list strong,.pricing-layout>aside .simple-list small{display:block}
.pricing-layout>aside .simple-list strong{margin-top:6px}
.pricing-layout>aside .simple-list small{margin-top:5px}
.pricing-item-list,.pricing-family-list,.payment-allocation-list{display:grid;overflow:hidden;border:1px solid #e2e8eb;border-radius:11px;background:#fff}
.pricing-item-row,.pricing-family-row,.payment-allocation-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(125px,.28fr);align-items:center;gap:16px;border-top:1px solid #edf0f2;padding:12px 14px}
.pricing-item-row:first-child,.pricing-family-row:first-child,.payment-allocation-row:first-child{border-top:0}
.pricing-item-row:hover,.pricing-family-row:hover,.payment-allocation-row:hover{background:#fafcfc}
.pricing-item-row>span,.pricing-family-row>span:first-of-type,.payment-allocation-row>span{min-width:0}
.pricing-item-row strong,.pricing-item-row small,.pricing-family-row strong,.payment-allocation-row strong,.payment-allocation-row small{display:block}
.pricing-item-row strong,.pricing-family-row strong,.payment-allocation-row strong{color:#344651;font-size:10.5px}
.pricing-item-row small,.payment-allocation-row small{margin-top:5px;overflow:hidden;color:#87949d;font-size:9px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.pricing-family-row .activity-badge,.payment-allocation-row .activity-badge{margin-right:7px}

/* Version 0.18 — couleurs des activités configurables */
.activity-switcher a.active{border-color:var(--activity-color,#d9e0e4)}
.activity-card{border-top-color:var(--activity-color,var(--line))}
.activity-card-icon{border:1px solid var(--activity-color,#dfe5e8);color:var(--activity-color,#64748b)}
.activity-badge{border:1px solid var(--activity-color,#64748b);background:#fff;color:var(--activity-color,#64748b)}
.pricing-item-row>input,.pricing-family-row input[type=number],.payment-allocation-row>input{width:100%;min-height:39px;border:1px solid #dce3e7;border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink);font-size:11px;text-align:right}
.pricing-family-row .value-with-suffix{grid-template-columns:minmax(0,1fr) 18px}
.pricing-family-row .value-with-suffix>span{color:#778792;font-size:10px;font-weight:800}
.client-pricing-form .section-copy{margin:-7px 0 15px;color:#7c8a95;font-size:10px;line-height:1.5}
.pricing-summary{margin-top:18px}
.pricing-summary .metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}
.pricing-summary .alert{margin:16px 0 0}
.pricing-acknowledgement{display:grid;gap:10px;margin-top:14px;border:1px solid #e2e8eb;border-radius:11px;padding:13px 14px;background:#fafcfc}
.pricing-acknowledgement .alert{display:grid;gap:5px;margin:0}
.pricing-acknowledgement .alert.is-hidden{display:none}
.payment-allocation-row{grid-template-columns:minmax(0,1fr) minmax(120px,.22fr)}
.payment-allocation-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px}
.payment-allocation-totals>span{border:1px solid #e1e8eb;border-radius:9px;padding:11px 12px;background:#f7f9fa;color:#74838e;font-size:9px;font-weight:750;text-transform:uppercase}
.payment-allocation-totals strong{display:block;margin-top:7px;color:#344651;font-size:13px;text-transform:none}
.payment-allocation-totals>span:last-child{border-color:#ead4a8;background:#fff8e9}
.payment-allocation-totals>span:last-child strong{color:#966313}
@media(max-width:980px){.pricing-layout{grid-template-columns:1fr}.pricing-layout>aside .simple-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pricing-layout>aside .simple-list>a{border:1px solid #edf0f2}.commercial-price-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.pricing-summary .metrics-grid{grid-template-columns:1fr 1fr}.payment-allocation-totals{grid-template-columns:1fr 1fr}.payment-allocation-totals>span:last-child{grid-column:1/-1}}
@media(max-width:540px){.pricing-layout>aside .simple-list{grid-template-columns:1fr}.pricing-item-row,.pricing-family-row,.payment-allocation-row{grid-template-columns:1fr;gap:9px}.pricing-item-row small,.payment-allocation-row small{white-space:normal}.pricing-summary .metrics-grid,.payment-allocation-totals{grid-template-columns:1fr}.payment-allocation-totals>span:last-child{grid-column:auto}.commercial-price-grid{grid-template-columns:1fr 1fr}}

/* Version 0.17 — stock Glaces, lots et registre de mouvements */
.stock-table{min-width:1180px}.stock-movement-table{min-width:1040px}.stock-table td:first-child{min-width:290px}.stock-movement-table td:nth-child(2){min-width:250px}
.stock-toolbar .list-search{max-width:none;height:auto;min-height:43px;flex-wrap:wrap;padding:7px 12px}.stock-toolbar .list-search>input[name=q]{min-width:220px;flex:1}.stock-toolbar select{min-height:31px;border:1px solid #dce3e7;border-radius:8px;padding:0 8px;background:#fff;color:#52636f;font-size:10px}
.stock-inline-check{display:inline-flex;align-items:center;gap:6px;color:#667681;font-size:10px;white-space:nowrap}.stock-inline-check input{width:auto!important}
.stock-form-warning{margin:13px 0 0}.stock-form-warning:empty{display:none}.stock-shortage-confirmation{display:grid;gap:9px;margin:14px 0 0}.stock-shortage-confirmation .check-line{margin-top:3px}
[data-order-stock-hint]{min-height:14px;color:#7f8d97;font-size:8.5px;font-weight:500;line-height:1.35}.glace-order-line{align-items:start}
.stock-balance-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stock-balance-strip>span{border:1px solid #e0e7ea;border-radius:10px;padding:12px;background:#f8fafb;color:#75838e;font-size:9px;font-weight:800;text-transform:uppercase}.stock-balance-strip strong{display:block;margin-top:7px;color:#314754;font-size:14px;text-transform:none}
.stock-document-state{margin-bottom:14px}.stock-lot-link{color:#2e718f;text-decoration:underline;text-underline-offset:2px}.stock-trace-list a{grid-template-columns:36px minmax(0,1fr) auto}
.stock-adjustment-form .check-line{border:1px solid #ead6a4;border-radius:10px;padding:12px;background:#fff8e7}.stock-batch-metrics{margin-bottom:18px}
.receipt-stock-row{grid-template-columns:minmax(220px,1.45fr) minmax(105px,.55fr) minmax(125px,.62fr) minmax(135px,.7fr) minmax(105px,.5fr) minmax(135px,.65fr)}
@media(max-width:1180px){.receipt-stock-row{grid-template-columns:1fr 1fr 1fr}.receipt-stock-row>div{grid-column:1/-1}}
@media(max-width:820px){.stock-toolbar{align-items:stretch;flex-direction:column}.stock-toolbar .toolbar-summary{margin-left:0}.stock-balance-strip{grid-template-columns:1fr}.stock-trace-list a{grid-template-columns:36px minmax(0,1fr)}.receipt-stock-row{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.receipt-stock-row{grid-template-columns:1fr}.receipt-stock-row>div{grid-column:auto}}

/* Stock Glaces 0.17 — synthèses et champs métier verrouillés. */
.glace-product-row{align-items:stretch;flex-wrap:wrap}.glace-product-row .catalog-row-main{min-width:220px}.catalog-stock-summary{min-width:310px;display:grid;grid-template-columns:repeat(4,minmax(68px,1fr));gap:6px}.catalog-stock-summary>span{display:grid;gap:3px;border:1px solid #e4eaed;border-radius:8px;padding:7px;background:#f8fafb;color:#7b8994;font-size:7px;font-weight:800;text-transform:uppercase}.catalog-stock-summary strong{color:#314754;font-size:9px;text-transform:none}.catalog-stock-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.catalog-stock-table{min-width:1380px}.stock-identification-lock{margin-bottom:14px}.form-panel input[readonly],.form-panel select:disabled,.receipt-row input[readonly]{border-style:dashed;background:#eef3f5;color:#5d6d77}.is-inventory-stock [data-catalog-management],.is-inventory-stock [data-catalog-traceability]{border-color:#a9c9ba;background:#eff8f3;font-weight:800}.is-inventory-stock [data-catalog-glaces-lock]{color:#4f8069}.purchase-line-row{grid-template-columns:minmax(165px,1.15fr) minmax(210px,1.5fr) minmax(72px,.45fr) minmax(82px,.52fr) minmax(125px,.72fr) minmax(88px,.55fr) minmax(68px,.42fr) 34px}.purchase-conversion small{max-width:170px}.purchase-stock-help{margin-top:12px}.receipt-row [data-receipt-stock-multiplier-display]{font-weight:800}.stock-form-warning[data-delivery-threshold-warning]{margin-top:13px}
@media(max-width:1180px){.catalog-stock-summary{order:3;width:100%}.purchase-line-row{grid-template-columns:repeat(3,minmax(100px,1fr))}.purchase-line-row .purchase-product,.purchase-line-row .line-description{grid-column:auto}.purchase-line-row .line-description{grid-column:span 2}}
@media(max-width:820px){.catalog-stock-summary{grid-template-columns:1fr 1fr}.catalog-stock-actions{width:100%;justify-content:flex-start}.purchase-line-row{grid-template-columns:1fr 1fr}.purchase-line-row .purchase-product,.purchase-line-row .line-description{grid-column:1/-1}}
@media(max-width:540px){.catalog-stock-summary,.purchase-line-row{grid-template-columns:1fr}.purchase-line-row .purchase-product,.purchase-line-row .line-description{grid-column:auto}}

/* Configurable company identity — 0.18. */
.brand-logo-image{width:42px;height:42px;flex:0 0 auto;border-radius:10px;background:#fff;object-fit:contain;padding:3px}.sidebar .brand-logo-image{box-shadow:0 2px 10px rgba(0,0,0,.16)}.branding-logo-preview{display:flex;align-items:center;gap:14px}.branding-logo-preview img{width:92px;height:64px;border:1px solid var(--line);border-radius:10px;background:#fff;object-fit:contain;padding:5px}.activity-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.activity-admin-card{display:grid;gap:12px;border-top:4px solid var(--activity-color,#8a98a3)}.activity-admin-card.is-archived{opacity:.7}.activity-admin-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.activity-admin-meta{display:flex;flex-wrap:wrap;gap:7px}.activity-admin-meta span{border-radius:20px;padding:5px 8px;background:#f0f3f5;color:#65747f;font-size:9px}.activity-admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.activity-config-list{display:grid;gap:9px}.activity-config-row{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(150px,1fr) minmax(110px,.6fr) minmax(80px,.45fr);gap:9px;align-items:end;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fafbfb}.activity-config-row label{display:grid;gap:5px}.activity-config-row input,.activity-config-row select,.activity-config-row textarea{width:100%}.activity-config-row .check-line{align-self:center}.generic-activity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.generic-activity-fields .field-textarea{grid-column:1/-1}.archived-pill{border-radius:20px;padding:5px 8px;background:#f6e9e7;color:#a24f48;font-size:9px;font-weight:800}@media(max-width:980px){.activity-admin-grid{grid-template-columns:1fr}.activity-config-row{grid-template-columns:1fr 1fr}}@media(max-width:620px){.activity-config-row,.generic-activity-fields{grid-template-columns:1fr}.generic-activity-fields .field-textarea{grid-column:auto}}

/* Configuration guidée — 0.19. */
.onboarding-standalone{min-height:100vh;background:linear-gradient(145deg,#f2f6f7,#fffaf0);color:var(--ink)}
.onboarding-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1180px;margin:0 auto;padding:20px 24px}.onboarding-topbar .login-brand{margin:0}.onboarding-main{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:8px 0 52px}.onboarding-main>.page-heading{margin-top:4px}
.onboarding-layout{display:grid;gap:14px}.onboarding-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.onboarding-progress li{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff;color:#82909a}.onboarding-progress li span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#edf1f3;font-size:10px;font-weight:900}.onboarding-progress li strong{font-size:10px}.onboarding-progress li.active{border-color:#dfc27c;background:#fffaf0;color:#66501c;box-shadow:0 8px 22px rgba(142,107,28,.08)}.onboarding-progress li.active span{background:var(--gold);color:#fff}.onboarding-progress li.done{border-color:#b8d8ca;color:#3c775d}.onboarding-progress li.done span{background:#dff1e8;color:#287052}.onboarding-time{justify-self:end;color:#7b8993;font-size:9px;font-weight:700}
.onboarding-card{overflow:visible}.onboarding-activities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.onboarding-activity-card{display:grid;align-content:start;gap:13px;min-width:0;margin:0;border:1px solid #dfe7ea;border-radius:13px;padding:16px;background:#fafcfc}.onboarding-activity-card legend{padding:0 8px;color:#314753;font-size:12px;font-weight:850}.onboarding-activity-card>label,.choice-group{display:grid;gap:6px}.choice-group{border:1px solid #e5eaed;border-radius:10px;padding:11px;background:#fff}.choice-group>strong,.future-logistics>strong{font-size:10px}.choice-group .check-line{margin:0}.future-logistics{display:grid;gap:8px;border:1px dashed #d8bd7c;border-radius:10px;padding:12px;background:#fff9ec}.future-logistics p{margin:0;color:#846d38;font-size:9px;line-height:1.55}.future-logistics .check-line{margin:0}.onboarding-card .form-actions{position:sticky;bottom:0;z-index:3;margin:18px -22px -22px;padding:13px 22px;border-top:1px solid var(--line);border-radius:0 0 13px 13px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px)}
.proposal-company{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;margin:4px 0 16px;border:1px solid #e3e9ec;border-radius:11px;padding:13px 14px;background:#fafcfc}.proposal-company>span{grid-row:1/3;align-self:center;color:#83919b;font-size:9px;font-weight:800;text-transform:uppercase}.proposal-company strong{font-size:13px}.proposal-company small{color:#75848e}.proposal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.proposal-activity{overflow:hidden;border:1px solid #dfe6e9;border-radius:12px;background:#fff}.proposal-activity header{display:flex;align-items:center;gap:11px;padding:13px;border-bottom:1px solid #edf0f2}.proposal-activity header>span{width:7px;height:38px;border-radius:8px;background:var(--activity-color)}.proposal-activity header div{display:grid;gap:2px}.proposal-activity header strong{font-size:12px}.proposal-activity header small{color:#788791;font-size:8px}.proposal-activity dl{display:grid;gap:0;margin:0}.proposal-activity dl div{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:10px 13px;border-bottom:1px solid #f0f2f3}.proposal-activity dl div:last-child{border:0}.proposal-activity dt{color:#7f8e97;font-size:8px;font-weight:800;text-transform:uppercase}.proposal-activity dd{margin:0;color:#40535e;font-size:9px;line-height:1.55}.application-guarantees{display:grid;gap:7px;margin-top:15px;border:1px solid #bfd9cd;border-radius:11px;padding:13px 14px;background:#f1f9f5;color:#39735a;font-size:9px}.application-guarantees strong{font-size:10px}.onboarding-apply{display:grid;gap:12px;margin-top:15px}.confirm-line{border:1px solid #e3c87f;border-radius:10px;padding:12px;background:#fff9e9;font-weight:750}.onboarding-cancel{text-align:center;margin-top:13px}
.onboarding-entry-card>section:last-child{border-bottom:0}
.onboarding-path-section{background:linear-gradient(180deg,#fcfdfd 0,#f7fafb 100%)}
.starter-choice-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:15px}
.starter-choice{min-width:0;display:flex;flex-direction:column;gap:14px;border:1px solid #dfe6e9;border-radius:14px;padding:18px;background:#fff;box-shadow:0 4px 14px rgba(17,39,54,.035)}
.starter-choice-recommended{border-color:#d8bd73;background:linear-gradient(145deg,#fffdf8,#fff8e8);box-shadow:0 10px 26px rgba(142,107,28,.1)}
.starter-choice>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.starter-choice h3{margin:8px 0 0;font-size:16px;line-height:1.25;letter-spacing:-.02em}
.starter-choice>p{margin:0;color:#647581;font-size:11px;line-height:1.55}
.starter-badge{display:inline-flex;border-radius:20px;padding:5px 8px;background:#d4a84d;color:#fff;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.starter-badge.is-neutral{background:#e8eef1;color:#526673}
.starter-duration{flex:0 0 auto;border-radius:20px;padding:6px 9px;background:rgba(255,255,255,.78);color:#806521;font-size:8px;font-weight:800;white-space:nowrap}
.starter-choice:not(.starter-choice-recommended) .starter-duration{background:#f1f4f5;color:#6f7e88}
.starter-feature-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.starter-feature-list li{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;border:1px solid rgba(218,201,155,.58);border-radius:10px;padding:10px;background:rgba(255,255,255,.72)}
.starter-feature-list strong,.starter-feature-list small{display:block}
.starter-feature-list strong{font-size:11.5px}
.starter-feature-list small{margin-top:4px;color:#70808a;font-size:9.5px;line-height:1.4}
.starter-feature-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;font-size:8px;font-weight:900;letter-spacing:.02em}
.starter-feature-btp{background:#f8eee3;color:#965d20}.starter-feature-web{background:#f1edf7;color:#6d5195}.starter-feature-glaces{background:#e8f5f6;color:#147986}
.starter-choice-note{border-radius:10px;padding:11px 12px;background:#f7edcf;color:#735c22;font-size:9.5px;line-height:1.5}
.starter-choice-note.is-neutral{background:#f2f5f6;color:#60727e}
.starter-choice .primary,.starter-choice .secondary{width:100%;margin-top:auto}
.starter-activity-count{display:grid;gap:7px;color:#596a76;font-size:10.5px;font-weight:700}
.starter-activity-count select{width:100%;min-height:42px;border:1px solid #dce3e7;border-radius:9px;padding:9px 11px;background:#fff;color:var(--ink);font-size:12px}
.starter-safety-note{margin:15px 0 0;color:#72818b;font-size:9.5px;text-align:center}
.starter-preview-banner{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 13px;margin:0 0 14px;border:1px solid #d8bd73;border-radius:11px;padding:13px 14px;background:#fff9e9}
.starter-preview-banner>span{grid-row:1/3;border-radius:20px;padding:6px 8px;background:#d4a84d;color:#fff;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.starter-preview-banner strong{font-size:12px}.starter-preview-banner small{color:#78642f;font-size:9.5px}
@media(max-width:820px){.onboarding-progress{grid-template-columns:repeat(5,1fr)}.onboarding-progress li{justify-content:center}.onboarding-progress li strong{display:none}.onboarding-activities,.proposal-grid,.starter-choice-grid{grid-template-columns:1fr}}
@media(max-width:540px){.onboarding-topbar{padding:14px 16px}.onboarding-main{width:min(100% - 20px,1120px)}.onboarding-progress{gap:4px}.onboarding-progress li{padding:7px}.onboarding-card .form-actions{position:static}.proposal-activity dl div{grid-template-columns:1fr;gap:4px}.starter-choice{padding:14px}.starter-choice>header{display:grid}.starter-duration{width:fit-content}.starter-preview-banner{grid-template-columns:1fr}.starter-preview-banner>span{grid-row:auto;width:fit-content}}
/* 0.21 — confort de démarrage et utilisation mobile */
@media(max-width:900px){.topbar{align-items:flex-start}.activity-switcher{max-width:100%;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-inline:contain}.activity-switcher a{min-height:42px}.activity-context{min-height:44px;flex-wrap:wrap;padding-top:7px;padding-bottom:7px}.activity-context strong:after{content:'';margin:0}.page-heading{align-items:flex-start;flex-wrap:wrap}.page-heading>.primary,.page-heading>.secondary{margin-left:0}}
@media(max-width:540px){.content-wrap{padding-left:14px;padding-right:14px}.panel-pad{padding:15px}.page-heading{gap:13px;margin-bottom:18px}.page-heading>.primary,.page-heading>.secondary{width:100%}.onboarding-card .form-actions{display:grid;grid-template-columns:1fr}.onboarding-card .form-actions .primary,.onboarding-card .form-actions .secondary{width:100%;min-height:44px}.onboarding-card .info-box{overflow-wrap:anywhere}}
/* 0.21.1 — configuration générale générique */
.onboarding-optional{grid-column:1/-1;margin-top:14px;border:1px solid var(--line);border-radius:11px;padding:13px;background:#f8fafb}.onboarding-optional summary{cursor:pointer;font-size:12px;font-weight:800}.onboarding-optional .form-grid{margin-top:13px}.setup-checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.setup-check-card{display:flex;flex-direction:column;gap:15px}.setup-check-card>.secondary{align-self:flex-start;margin-top:auto}.setup-check-head{display:flex;align-items:center;gap:11px}.setup-check-head>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#eef2f4;color:#4e6370;font-weight:900}.setup-check-head>div{flex:1;min-width:0}.setup-check-head h2,.setup-check-head p{margin:0}.setup-check-head h2{font-size:15px}.setup-check-head p{margin-top:3px;color:var(--muted);font-size:10px}.setup-logo-preview{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:11px;padding:12px;background:#f8fafb}.setup-logo-preview img{max-width:180px;max-height:62px;object-fit:contain}.setup-logo-preview>div{display:flex;gap:7px}.setup-logo-preview span{width:28px;height:28px;border:2px solid #fff;border-radius:50%;background:var(--setup-color);box-shadow:0 0 0 1px #cbd5da}.setup-activity-list{display:flex;flex-wrap:wrap;gap:7px}.setup-activity-list span{border-left:3px solid var(--activity-color);border-radius:7px;padding:7px 9px;background:#f3f6f7;font-size:10px;font-weight:750}.setup-complete{margin-top:16px}.setup-reminder a{text-decoration:underline;font-weight:800}@media(max-width:820px){.setup-checklist-grid{grid-template-columns:1fr}}@media(max-width:540px){.setup-check-card>.secondary{width:100%}.setup-logo-preview{align-items:flex-start;flex-direction:column}}

/* 0.22.0 — contrats d'entretien génériques et modèles thermiques. */
.contract-equipment-card{display:grid;gap:12px;margin-top:12px;border:1px solid #dfe7ea;border-left:4px solid var(--brand-primary,var(--green));border-radius:12px;padding:15px;background:#fafcfc}.contract-equipment-card:first-child{margin-top:0}.contract-equipment-card .panel-head{margin:0}.contract-equipment-card h3{margin:0;font-size:13px}.contract-equipment-card [data-equipment-template][hidden]{display:none}.text-danger{color:#a84d48!important}.metrics-grid.compact .metric-card{min-height:112px}.metrics-grid.compact .metric-card>strong{margin-top:12px}.contract-print-page{margin:0;background:#e7ecef;color:#1d292f;font-family:Arial,Helvetica,sans-serif}.contract-print-pages{display:grid;gap:12mm;padding:12mm 0}.contract-print-sheet{position:relative;width:210mm;height:297mm;display:grid;grid-template-rows:18mm minmax(0,1fr) 10mm;margin:0 auto;padding:10mm 15mm 8mm;overflow:hidden;background:#fff;box-shadow:0 9px 32px rgba(17,39,54,.15);page-break-after:always}.contract-print-sheet:last-child{page-break-after:auto}.contract-print-sheet>header{display:flex;align-items:center;justify-content:space-between;gap:10mm;border-bottom:1px solid var(--brand-primary,var(--green));padding-bottom:4mm}.contract-print-sheet>header img{width:22mm;height:14mm;object-fit:contain}.contract-print-sheet>header div{text-align:right}.contract-print-sheet>header strong,.contract-print-sheet>header span{display:block}.contract-print-sheet>header strong{color:var(--brand-primary,var(--green));font-size:10pt;letter-spacing:.04em;text-transform:uppercase}.contract-print-sheet>header span{margin-top:1.5mm;color:#65737a;font-size:8pt}.contract-print-sheet>main{overflow:hidden;padding-top:5mm;font-size:8.6pt;line-height:1.42}.contract-print-sheet h1{margin:0 0 4mm;color:var(--brand-primary,var(--green));font-size:18pt;letter-spacing:.08em;text-align:center}.contract-print-sheet h2{margin:4.5mm 0 2.5mm;border-bottom:.35mm solid var(--brand-primary,var(--green));padding-bottom:1.5mm;color:var(--brand-primary,var(--green));font-size:11pt;letter-spacing:.04em}.contract-print-sheet h3{margin:3.2mm 0 1.5mm;color:#1f5f38;font-size:9.2pt}.contract-print-sheet p{margin:0 0 2.2mm}.contract-print-sheet ul{display:grid;gap:1.1mm;margin:1.5mm 0 2.5mm;padding-left:5mm}.contract-print-sheet table{width:100%;margin:2mm 0 3mm;border-collapse:collapse}.contract-print-sheet th{padding:2.2mm;background:var(--brand-primary,var(--green));color:#fff;font-size:7.5pt;text-align:left}.contract-print-sheet td{border:1px solid #d7dfe2;padding:2.1mm;font-size:7.5pt;vertical-align:top}.contract-print-sheet tr.selected td{background:#e8f3e9;font-weight:700}.contract-print-sheet tr.total td{background:#e8f3e9;font-weight:800;text-align:right}.contract-print-sheet>footer{align-self:end;border-top:1px solid #dfe5e8;padding-top:2.5mm;color:#87939a;font-size:7pt;text-align:center}.contract-cover{display:grid;justify-items:center;gap:2.5mm;margin:7mm 0 6mm;text-align:center}.contract-cover p{max-width:150mm;margin:0;font-size:10pt}.contract-cover h2{margin:1mm 0;border:0;padding:0;color:#24363e;font-size:12pt}.contract-draft-banner{border:1px solid #d38d2c;border-radius:4px;padding:2mm 4mm;background:#fff7e7;color:#915d13;font-size:8pt;font-weight:900;letter-spacing:.08em}.contract-draft-banner.bottom{margin-top:5mm;text-align:center}.contract-parties{display:grid;grid-template-columns:1fr 1fr;gap:5mm}.contract-parties>div{border:1px solid #dce3e6;border-radius:3mm;padding:3mm}.contract-parties>div>strong{color:var(--brand-primary,var(--green));font-size:9pt}.contract-equipment-print{table-layout:fixed}.contract-equipment-print th:nth-child(1){width:7%}.contract-equipment-print th:nth-child(2){width:25%}.contract-equipment-print th:nth-child(3){width:20%}.contract-equipment-print th:nth-child(4){width:18%}.contract-equipment-print th:nth-child(5){width:13%}.contract-signatures{display:grid;grid-template-columns:1fr 1fr;gap:10mm;margin-top:5mm}.contract-signatures>div{min-height:35mm;border-top:1px solid #9eaaaf;padding-top:2mm}.contract-signatures strong,.contract-signatures span{display:block}.contract-signatures span{margin-top:2mm;color:#78868d;font-size:7.5pt}.contract-print-page.is-draft .contract-print-sheet{background-image:linear-gradient(135deg,rgba(214,150,39,.018) 25%,transparent 25%,transparent 50%,rgba(214,150,39,.018) 50%,rgba(214,150,39,.018) 75%,transparent 75%);background-size:18mm 18mm}
@media(max-width:820px){.contract-print-pages{display:block;overflow-x:auto;padding:10px}.contract-print-sheet{margin:0 0 14px;transform-origin:top left}.contract-equipment-card .form-grid{grid-template-columns:1fr}}
@page{size:A4;margin:0}
@media print{.contract-print-page{background:#fff}.contract-print-page .print-actions{display:none}.contract-print-pages{display:block;padding:0}.contract-print-sheet{margin:0;box-shadow:none}}

/* 0.23 · Personnel transversal */
.staff-metrics{margin-bottom:16px}.staff-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.staff-card{display:grid;gap:15px;padding:17px;border-top:4px solid var(--staff-color);color:inherit;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.staff-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(24,48,60,.12)}.staff-card.is-inactive{opacity:.62}.staff-card header{display:flex;align-items:center;gap:11px}.staff-card header>div{flex:1;min-width:0;display:grid;gap:3px}.staff-card header strong,.staff-card header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:color-mix(in srgb,var(--staff-color) 16%,#fff);color:var(--staff-color);font-size:12px;font-weight:900}.staff-card dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}.staff-card dl div{display:grid;gap:3px;border-radius:9px;padding:9px;background:#f6f8f9}.staff-card dt{color:var(--muted);font-size:9px}.staff-card dd{margin:0;font-size:13px;font-weight:850}.staff-expiry{font-size:10px;color:#8b6b19}.staff-expiry.is-expired{color:#b34d45;font-weight:850}.staff-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.staff-detail-grid>.span-2{grid-column:1/-1}.staff-toggle-form{margin-top:18px}.staff-week-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:0;overflow-x:auto}.staff-week-day{min-height:340px;padding:10px;border-right:1px solid var(--line);background:#fff}.staff-week-day:last-child{border-right:0}.staff-week-day.is-today{background:#f6fafb}.staff-week-day>header{display:flex;justify-content:space-between;gap:8px;padding:3px 2px 10px;text-transform:capitalize}.staff-week-day>header strong{font-size:11px}.staff-week-day>header span{color:var(--muted);font-size:10px}.staff-week-item{display:grid;gap:3px;margin-bottom:8px;border-left:4px solid var(--staff-color);border-radius:8px;padding:9px;background:#f3f6f7;color:inherit;text-decoration:none}.staff-week-item strong{font-size:10px}.staff-week-item span,.staff-week-item small{font-size:9px}.staff-week-item small{color:var(--muted)}.staff-week-empty{display:block;padding:14px 3px;color:var(--muted);font-size:9px}
@media(max-width:1100px){.staff-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-week-grid{grid-template-columns:repeat(7,minmax(180px,1fr))}}
@media(max-width:720px){.staff-card-grid,.staff-detail-grid{grid-template-columns:1fr}.staff-detail-grid>.span-2{grid-column:auto}.staff-card dl{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.staff-card dl{grid-template-columns:1fr}}
.staff-picker{margin:0;border:1px solid var(--line);border-radius:10px;padding:12px}.staff-picker legend{padding:0 6px;font-size:10px;font-weight:850}.staff-picker>div{display:flex;flex-wrap:wrap;gap:9px 16px}.staff-picker .check-line{margin:0}.staff-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:var(--staff-color)}

/* 0.24 · Pilotage, rentabilité et valorisation du temps */
.pilotage-filters{display:flex;align-items:end;gap:10px;margin-bottom:16px}.pilotage-filters label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:800}.pilotage-filters select{min-width:190px;min-height:40px;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:#fff;color:var(--ink)}
.pilotage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.pilotage-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pilotage-kpis>span{display:grid;gap:4px;border-radius:10px;padding:11px;background:#f5f8f9;color:var(--muted);font-size:9px}.pilotage-kpis>span.span-2{grid-column:1/-1}.pilotage-kpis strong{color:var(--ink);font-size:15px}.pilotage-kpis small{font-size:8.5px;line-height:1.4}
.stock-value-hero{display:grid;gap:6px;margin:8px 0 13px;border-radius:12px;padding:18px;background:linear-gradient(135deg,#eef5f7,#f9fbfb)}.stock-value-hero strong{color:var(--navy);font-size:26px}.stock-value-hero span{color:var(--muted);font-size:10px}
.pilotage-chart-panel{overflow:hidden}.pilotage-legend{display:flex;gap:13px;color:var(--muted);font-size:9px;font-weight:800}.pilotage-legend span:before{content:'';display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:3px;vertical-align:-1px}.pilotage-legend .revenue:before,.pilotage-bars .revenue{background:var(--navy)}.pilotage-legend .receipts:before,.pilotage-bars .receipts{background:var(--green)}.pilotage-chart{height:220px;display:grid;grid-template-columns:repeat(12,minmax(26px,1fr));align-items:end;gap:8px;padding:18px 2px 0}.pilotage-month{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;text-align:center}.pilotage-month>span{color:var(--muted);font-size:8px;font-weight:800}.pilotage-bars{height:100%;display:flex;align-items:end;justify-content:center;gap:3px;border-bottom:1px solid var(--line)}.pilotage-bars i{width:min(12px,38%);height:var(--bar-size);min-height:0;border-radius:5px 5px 1px 1px;transition:height .2s ease}
.pilotage-activities{margin-bottom:16px}.load-meter{width:min(180px,100%);height:7px;display:inline-block;margin-right:8px;overflow:hidden;border-radius:99px;background:#e7ecef;vertical-align:middle}.load-meter i{display:block;width:var(--load);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--gold))}.profitability-summary small{display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:600}
@media(max-width:1080px){.pilotage-grid{grid-template-columns:1fr 1fr}.pilotage-grid>section:last-child{grid-column:1/-1}}
@media(max-width:720px){.pilotage-filters{align-items:stretch;flex-direction:column}.pilotage-filters label,.pilotage-filters select,.pilotage-filters button{width:100%}.pilotage-grid{grid-template-columns:1fr}.pilotage-grid>section:last-child{grid-column:auto}.pilotage-chart{overflow-x:auto;grid-template-columns:repeat(12,minmax(34px,1fr))}}

/* 0.25 · Agent IA permanent, mémoire cloisonnée et actions traçables */
.ai-action>a{justify-self:start}.ai-sourcing-review{margin:16px 0;padding:18px}.ai-sourcing-review>.section-title{margin-bottom:12px}.ai-sourcing-line{display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--line)}.ai-sourcing-line:first-of-type{border-top:0}.ai-sourcing-line>div:first-child{display:grid;gap:4px}.ai-sourcing-line>div:first-child small{color:var(--muted);font-size:9px}
.ai-source-selected{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(320px,1.2fr);gap:14px;border:1px solid #cfe0e5;border-radius:10px;padding:12px;background:#f8fbfc}.ai-source-selected>div{display:grid;align-content:start;gap:4px}.ai-source-selected>div>span{color:var(--green);font-size:8px;font-weight:900;text-transform:uppercase}.ai-source-selected>div>a{font-size:11px;font-weight:850}.ai-source-selected>div>small{color:var(--muted);font-size:8px}.ai-source-selected dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.ai-source-selected dl>div{min-width:0}.ai-source-selected dt{color:var(--muted);font-size:7.5px;font-weight:800;text-transform:uppercase}.ai-source-selected dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:9px;font-weight:750}.ai-source-alternatives{border-radius:9px;background:#f6f8f9;padding:8px 10px}.ai-source-alternatives summary{cursor:pointer;color:#376274;font-size:9px;font-weight:850}.ai-source-alternatives[open] summary{margin-bottom:8px}
.ai-launcher-count{min-width:20px;height:20px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#c85e52;color:#fff;font-size:8px}
.ai-launcher{position:fixed;right:22px;bottom:22px;z-index:70;min-height:48px;display:flex;align-items:center;gap:9px;border:0;border-radius:999px;padding:0 18px;background:linear-gradient(135deg,var(--navy),#315567);color:#fff;box-shadow:0 12px 32px rgba(18,43,59,.28);font-weight:850;cursor:pointer}.ai-launcher .icon{width:19px;height:19px}.ai-panel{position:fixed;z-index:92;top:0;right:0;width:min(440px,100vw);height:100dvh;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;transform:translateX(105%);background:#f7f9fa;box-shadow:-18px 0 48px rgba(18,43,59,.22);transition:transform .22s ease}.ai-panel.is-open{transform:translateX(0)}.ai-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid #dfe6e9;background:#fff}.ai-panel>header>div{display:grid;gap:3px}.ai-panel>header strong{font-size:17px}.ai-panel>header small{color:var(--muted);font-size:10px}.ai-panel>header button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:20px;cursor:pointer}.ai-kicker{color:var(--green);font-size:8px;font-weight:900;letter-spacing:.12em}.ai-trust{display:flex;gap:6px;overflow-x:auto;padding:9px 14px;border-bottom:1px solid var(--line);background:#fff}.ai-trust span{flex:0 0 auto;border-radius:99px;padding:5px 8px;background:#eef4f4;color:#49646f;font-size:8px;font-weight:800}.ai-alerts{display:grid;gap:6px;max-height:150px;overflow:auto;padding:10px 14px 0}.ai-alert{display:grid;gap:3px;border-left:3px solid #7794a1;border-radius:8px;padding:8px 10px;background:#fff}.ai-alert.is-warning{border-color:#d3a035}.ai-alert.is-danger{border-color:#bf6258}.ai-alert strong{font-size:10px}.ai-alert small{color:var(--muted);font-size:8.5px}.ai-messages{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:14px}.ai-empty{margin:auto 10px;padding:25px;border:1px dashed #cdd9de;border-radius:14px;background:#fff;text-align:center}.ai-empty strong{font-size:14px}.ai-empty p{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.ai-message{max-width:90%;display:grid;gap:5px;border-radius:13px;padding:11px 13px;background:#fff;box-shadow:0 2px 8px rgba(24,48,60,.07)}.ai-message.is-user{align-self:flex-end;background:var(--navy);color:#fff}.ai-message>span{color:var(--green);font-size:8px;font-weight:900;text-transform:uppercase}.ai-message.is-user>span{color:#cce2eb}.ai-message p{margin:0;white-space:pre-wrap;font-size:11px;line-height:1.55}.ai-sources{display:grid;gap:4px;margin-top:5px;border-top:1px solid var(--line);padding-top:7px}.ai-sources strong{font-size:8px}.ai-sources a{overflow:hidden;color:#32718c;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.ai-action{display:grid;gap:8px;border:1px solid #d9e4e8;border-left:4px solid var(--green);border-radius:11px;padding:12px;background:#fff}.ai-action.is-undone{border-left-color:#8a979d;opacity:.72}.ai-action strong{font-size:11px}.ai-action small{color:var(--muted);font-size:9px;line-height:1.4}.ai-action button{justify-self:start}.ai-thinking{align-self:flex-start;border-radius:10px;padding:9px 11px;background:#eaf1f3;color:#58707c;font-size:9px}.ai-thinking.is-error{background:#fff0ee;color:#a44b45}.ai-compose{display:grid;gap:7px;border-top:1px solid var(--line);padding:13px 14px max(13px,env(safe-area-inset-bottom));background:#fff}.ai-compose>label{font-size:9px;font-weight:850}.ai-compose textarea{width:100%;resize:none;border:1px solid #cfdade;border-radius:10px;padding:10px;font:inherit}.ai-compose>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-compose small{max-width:240px;color:var(--muted);font-size:8px;line-height:1.35}.ai-scrim{position:fixed;z-index:91;inset:0;display:none;border:0;background:rgba(13,30,40,.32)}.ai-panel-open .ai-scrim{display:block}.ai-settings{margin-top:18px}.ai-history-details{margin-top:7px}.ai-history-details summary{cursor:pointer;color:#32718c;font-size:9px;font-weight:800}.ai-history-details p{display:grid;gap:3px;max-width:520px;margin:7px 0;border-left:3px solid #d9e4e8;padding-left:8px;white-space:normal;font-size:9px;line-height:1.45}.ai-history-details p span{color:var(--green);font-size:8px;font-weight:900;text-transform:uppercase}@media(max-width:600px){.ai-launcher{right:14px;bottom:14px}.ai-launcher span{display:none}.ai-launcher{width:50px;justify-content:center;padding:0}.ai-panel{width:100vw}.ai-panel-open{overflow:hidden}}
.ai-action-summary{display:grid;gap:7px;border-radius:9px;padding:9px;background:#f3f7f8}.ai-action-summary>p{margin:0;color:#294957;font-size:9px;font-weight:800;line-height:1.4}.ai-action-summary>ul{display:grid;gap:4px;margin:0;padding-left:16px}.ai-action-summary>ul li{font-size:8.5px;line-height:1.4}.ai-action-summary>small{border-top:1px solid #dce7ea;padding-top:6px}.ai-action-summary>.ai-action-warning{color:#8a4d00;font-weight:750}@media(max-width:760px){.ai-source-selected{grid-template-columns:1fr}.ai-source-selected dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
