:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17211d;--muted:#66736d;--forest-950:#102c23;--forest-900:#173f31;--forest-800:#1f4d3a;--forest-100:#dfeae4;--forest-50:#eff5f1;--gold:#c5964a;--gold-soft:#f3dfb4;--paper:#fff;--canvas:#f5f6f3;--line:#dfe4df;--line-strong:#cbd3cd;--danger:#a43f38;--danger-soft:#fcebe8;--success:#287452;--shadow-sm:0 8px 24px #17211d12;--shadow-lg:0 24px 70px #102c2329;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{background:var(--canvas);min-width:320px;min-height:100vh;color:var(--ink);margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #c5964a8c}a{color:inherit}h1,h2,h3,p{margin-top:0}code{background:#173f3114;border-radius:5px;padding:.1rem .3rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spinner{animation:.9s linear infinite spin}.brand{align-items:center;gap:.75rem;min-width:0;display:inline-flex}.brand__mark{background:var(--gold-soft);width:42px;height:42px;color:var(--forest-950);border:1px solid #c5964a99;border-radius:50%;flex:none;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:800;display:grid}.brand__copy{min-width:0;display:block}.brand__copy strong,.brand__copy small{display:block}.brand__copy strong{letter-spacing:.01em;font-family:Georgia,Times New Roman,serif;font-size:1.1rem}.brand__copy small{color:var(--muted);margin-top:.05rem;font-size:.72rem}.eyebrow{color:var(--forest-800);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;font-size:.72rem;font-weight:800}.button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.7rem 1rem;font-weight:750;text-decoration:none;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.55;transform:none}.button svg{width:18px;height:18px}.button--primary{background:var(--forest-900);color:#fff}.button--primary:hover:not(:disabled){background:var(--forest-950)}.button--secondary{border-color:var(--line-strong);background:var(--paper);color:var(--forest-900)}.button--danger{background:var(--paper);color:var(--danger);border-color:#e7b7b2}.button--danger:hover:not(:disabled){background:var(--danger-soft)}.button--danger-solid{background:var(--danger);color:#fff}.button--danger-solid:hover:not(:disabled){background:#842f2a}.button--wide{width:100%}.auth-page{grid-template-columns:minmax(300px,.9fr) minmax(430px,1.1fr);min-height:100vh;display:grid}.auth-panel{place-items:center;padding:clamp(1.5rem,5vw,5rem);display:grid}.auth-panel--brand{background:radial-gradient(circle at 15% 15%, #c5964a38, transparent 30%), linear-gradient(145deg, var(--forest-950), var(--forest-800));color:#fff;position:relative;overflow:hidden}.auth-panel--brand:after{content:"";border:1px solid #f3dfb42e;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-140px;right:-110px;box-shadow:0 0 0 55px #f3dfb40a,0 0 0 110px #f3dfb406}.auth-panel__inner{z-index:1;flex-direction:column;width:min(100%,520px);min-height:min(72vh,680px);display:flex;position:relative}.auth-panel--brand .brand__copy small{color:#ffffffab}.auth-intro{margin-block:auto;padding-block:4rem}.auth-intro .eyebrow{color:var(--gold-soft)}.auth-intro h1{max-width:12ch;margin-bottom:1.25rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.15rem,4.5vw,4.5rem);font-weight:500;line-height:1.04}.auth-intro>p:last-child{color:#ffffffb8;max-width:42ch;margin-bottom:0;line-height:1.65}.auth-panel__note{color:#ffffffa6;margin-bottom:0;font-size:.82rem}.auth-panel--form{background:linear-gradient(#ffffffe6, #ffffffe6), var(--canvas)}.auth-card{width:min(100%,430px)}.auth-card__heading{margin-bottom:2rem}.auth-card__heading h1,.auth-card__heading h2{margin-bottom:.65rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,2.7rem);font-weight:500}.auth-card__heading>p:last-child{color:var(--muted);line-height:1.6}.auth-card__icon{background:var(--forest-50);width:44px;height:44px;color:var(--forest-800);border-radius:10px;place-items:center;margin-bottom:1.5rem;display:grid}.auth-card__icon svg{width:21px}.auth-form{gap:1.1rem;display:grid}.auth-form label{color:#34423c;gap:.45rem;font-size:.84rem;font-weight:750;display:grid}.input-shell{border:1px solid var(--line-strong);background:#fff;border-radius:8px;align-items:center;gap:.7rem;min-height:48px;padding:0 .85rem;transition:border-color .16s,box-shadow .16s;display:flex}.input-shell:focus-within{border-color:var(--forest-800);box-shadow:0 0 0 3px #1f4d3a1a}.input-shell svg{color:#849089;flex:none;width:18px;height:18px}.input-shell input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.auth-form__actions{justify-content:flex-end;margin-top:-.35rem;display:flex}.auth-form__actions a,.back-link{color:var(--forest-800);font-size:.83rem;font-weight:750;text-decoration:none}.auth-form__actions a:hover,.back-link:hover{text-decoration:underline}.auth-card__footer{color:var(--muted);text-align:center;margin:1.5rem 0 0;font-size:.78rem}.notice{border-radius:8px;margin-bottom:1.2rem;padding:.85rem 1rem;font-size:.83rem;line-height:1.5}.notice--error{background:var(--danger-soft);color:#7f2e29;border:1px solid #a43f3833}.auth-page--single{background:radial-gradient(circle at 20% 10%, #c5964a26, transparent 25%), var(--forest-950);grid-template-columns:1fr;place-items:center;padding:1.25rem}.auth-card--standalone{background:var(--paper);width:min(100%,520px);box-shadow:var(--shadow-lg);border-radius:14px;padding:clamp(1.5rem,5vw,3rem)}.auth-card--standalone>.brand{margin-bottom:3rem}.back-link{align-items:center;gap:.4rem;margin-top:1.5rem;display:inline-flex}.back-link svg{width:16px}.success-panel{text-align:center}.success-panel__icon{background:var(--forest-50);width:56px;height:56px;color:var(--success);border-radius:50%;place-items:center;margin:0 auto 1rem;display:grid}.success-panel h2{margin-bottom:.5rem;font-family:Georgia,Times New Roman,serif;font-weight:500}.success-panel p{color:var(--muted);margin-bottom:1.5rem;line-height:1.6}.state-page{background:var(--canvas);place-items:center;min-height:100vh;padding:1.25rem;display:grid}.state-page__brand{position:absolute;top:1.5rem;left:1.5rem}.state-card{border:1px solid var(--line);background:var(--paper);width:min(100%,520px);box-shadow:var(--shadow-sm);text-align:center;border-radius:14px;padding:clamp(1.5rem,5vw,3rem)}.state-card__icon{background:var(--forest-50);width:54px;height:54px;color:var(--forest-800);border-radius:50%;place-items:center;margin:0 auto 1.25rem;display:grid}.state-card__icon--error,.state-card__icon--locked{background:var(--danger-soft);color:var(--danger)}.state-card h1{margin-bottom:.6rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,4vw,2.25rem);font-weight:500}.state-card p{color:var(--muted);margin-bottom:1.5rem;line-height:1.6}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.billing-toolbar{align-items:end}.billing-contract-picker{min-width:min(100%,330px);color:var(--muted);gap:.35rem;font-size:.78rem;font-weight:750;display:grid}.billing-contract-picker select{border:1px solid var(--line-strong);background:var(--paper);min-height:46px;color:var(--ink);border-radius:8px;padding:0 .8rem}.billing-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.billing-stats article{border:1px solid var(--line);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:.8rem;padding:1rem;display:flex}.billing-stats svg{width:22px;color:var(--forest-800)}.billing-stats div,.billing-stats strong,.billing-stats span{min-width:0;display:block}.billing-stats strong{font-size:1.35rem}.billing-stats span{color:var(--muted);font-size:.78rem}.billing-plan-form{padding-bottom:2rem}.billing-contract-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.billing-contract-summary div{min-width:0}.billing-contract-summary span,.billing-contract-summary strong{display:block}.billing-contract-summary span{color:var(--muted);margin-bottom:.25rem;font-size:.72rem}.billing-contract-summary strong{text-overflow:ellipsis;overflow:hidden}.billing-schedule{gap:.8rem;display:grid}.billing-schedule__heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.billing-schedule__heading h3{margin-bottom:0}.billing-total--ok,.billing-total--error{border-radius:999px;padding:.35rem .65rem;font-size:.82rem;font-weight:800}.billing-total--ok{background:var(--forest-50);color:var(--success)}.billing-total--error{background:var(--danger-soft);color:var(--danger)}.billing-row{border:1px solid var(--line);background:var(--canvas);border-radius:10px;grid-template-columns:34px minmax(160px,1.2fr) minmax(105px,.45fr) minmax(180px,1fr) minmax(150px,.7fr) 38px;align-items:end;gap:.65rem;padding:.8rem;display:grid;position:relative}.billing-row__number{background:var(--forest-900);color:#fff;border-radius:50%;align-self:center;place-items:center;width:30px;height:30px;font-size:.8rem;font-weight:800;display:grid}.billing-row__percentage{position:relative}.billing-row__percentage small{color:var(--forest-800);font-weight:800}.billing-row__remove{color:var(--danger);align-self:center}.invoice-amount-card{background:var(--forest-950);color:#fff;border-radius:12px;gap:.35rem;padding:1.2rem;display:grid}.invoice-creation-card{background:var(--forest-50);border:1px solid #28745247;border-radius:12px;gap:.3rem;padding:1rem;display:grid}.invoice-document-actions{flex-wrap:wrap;gap:10px;display:flex}.billing-toolbar__actions{align-items:flex-end;gap:14px;display:flex}.payment-invoice-summary,.payment-progress-card{gap:10px;display:grid}.payment-invoice-summary{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px}.payment-progress-card{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-invoice-summary div,.payment-progress-card div{gap:4px;display:grid}.payment-invoice-summary span,.payment-progress-card span{color:var(--text-muted);font-size:.78rem}.payment-invoice-summary strong,.payment-progress-card strong{color:var(--text);font-size:1.05rem}.payment-progress-card div{border:1px solid var(--border);border-radius:12px;padding:14px 16px}@media (width<=720px){.billing-toolbar__actions,.payment-invoice-summary{grid-template-columns:1fr;width:100%;display:grid}}.request-email-reply{width:fit-content;margin-top:16px}.invoice-preview-document{max-width:960px}.invoice-preview-document__line table{table-layout:fixed}.invoice-preview-document__line th:first-child,.invoice-preview-document__line td:first-child{text-align:left;width:46%}.invoice-preview-document__line th,.invoice-preview-document__line td{text-align:right}.invoice-preview-document__quote-total{border:1px solid var(--border);border-radius:14px;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:32px;margin-top:22px;padding:20px;display:grid}.invoice-preview-document__quote-total>div>span{color:var(--text-muted);font-size:.85rem}.invoice-preview-document__billing{border-left:4px solid var(--accent);background:var(--surface-soft);border-radius:12px;margin-top:18px;padding:20px}.invoice-preview-document__billing h3{margin:8px 0 4px}@media (width<=720px){.invoice-preview-document__quote-total{grid-template-columns:1fr}}.invoice-creation-card span,.invoice-creation-card small{color:var(--muted)}.invoice-creation-card strong{color:var(--forest-900);font-size:1.8rem}.contract-billing-progress{border:1px solid var(--line);background:var(--paper);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1rem;display:grid}.contract-billing-progress div,.contract-billing-progress span,.contract-billing-progress strong{min-width:0;display:block}.contract-billing-progress span{color:var(--muted);margin-bottom:.25rem;font-size:.72rem}.contract-billing-progress strong{font-size:1.05rem}.contract-billing-progress div:last-child strong{color:var(--forest-800)}.credit-note-section{background:#fffaf9;border-color:#a43f3840;gap:1rem;display:grid}.credit-note-section__heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.credit-note-section__heading h3{margin-bottom:.25rem}.credit-note-section__heading p{color:var(--muted);margin-bottom:0;font-size:.8rem}.credit-note-form{border-top:1px solid var(--line);gap:1rem;padding-top:1rem;display:grid}.button--danger{border-color:var(--danger);background:var(--danger);color:#fff}.button--danger:hover{background:#85332e}.invoice-status--annulee_par_avoir{background:var(--danger-soft);color:var(--danger)}.invoice-amount-card span,.invoice-amount-card small{color:#ffffffb8}.invoice-amount-card strong{font-size:clamp(1.7rem,5vw,2.5rem)}.payment-confirmation{background:var(--forest-50);border-color:#28745259;gap:1rem;display:grid}.invoice-status--a_emettre{color:#76572a;background:#f4efe7}.invoice-status--emise{color:#315d90;background:#e7eef8}.invoice-status--payee{background:var(--forest-50);color:var(--success)}.invoice-status--annulee{background:var(--danger-soft);color:var(--danger)}.dashboard-event-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.event-list-card{min-width:0}.event-count{background:var(--forest-50);min-width:34px;height:34px;color:var(--forest-800);border-radius:999px;place-items:center;font-weight:850;display:grid}.dashboard-events{max-height:520px;display:grid;overflow-y:auto}.dashboard-events>a{border-top:1px solid var(--line);grid-template-columns:48px minmax(0,1fr) auto 20px;align-items:center;gap:.75rem;padding:.8rem 0;text-decoration:none;display:grid}.dashboard-events time{background:var(--canvas);border-radius:8px;place-items:center;padding:.35rem;line-height:1;display:grid}.dashboard-events time strong{font-size:1.15rem}.dashboard-events time span{color:var(--muted);text-transform:uppercase;margin-top:.2rem;font-size:.65rem}.dashboard-event__copy,.dashboard-event__copy strong,.dashboard-event__copy small{min-width:0;display:block}.dashboard-event__copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.74rem;overflow:hidden}.event-status{background:var(--canvas);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.3rem .5rem;font-size:.66rem;font-weight:800}.event-status--confirmee{background:var(--forest-50);color:var(--success)}.calendar-card{overflow:hidden}.calendar-card__heading{flex-wrap:wrap}.calendar-controls{align-items:center;gap:.4rem;display:flex}.calendar-layout{grid-template-columns:minmax(0,1.7fr) minmax(230px,.7fr);gap:1rem;display:grid}.month-calendar{min-width:0}.month-calendar__weekdays,.month-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-calendar__weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;padding:.45rem;font-size:.68rem;font-weight:800}.calendar-day{border:1px solid var(--line);background:var(--paper);min-width:0;min-height:76px;color:var(--ink);cursor:pointer;flex-direction:column;justify-content:space-between;padding:.5rem;display:flex}.calendar-day:hover{background:var(--forest-50)}.calendar-day--muted{background:var(--canvas);color:#a2aaa5}.calendar-day--today>span{background:var(--gold);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:850;display:grid}.calendar-day--selected{box-shadow:inset 0 0 0 2px var(--forest-800)}.calendar-day small{background:var(--forest-900);color:#fff;border-radius:999px;align-self:end;padding:.22rem .4rem;font-size:.66rem;font-weight:800}.calendar-selection{background:var(--canvas);border-radius:10px;padding:1rem}.calendar-selection h3{text-transform:capitalize;font-size:1rem}.calendar-option-button{width:100%;margin:12px 0 16px}.option-date-summary{color:var(--forest);background:var(--surface-soft);border:1px solid var(--border);border-radius:14px;gap:5px;padding:16px;display:grid}.option-date-summary span{color:var(--text-muted);font-size:.78rem}.option-date-summary strong{text-transform:capitalize}.calendar-selection>p:last-child{color:var(--muted);font-size:.82rem}.calendar-selection>a{border-top:1px solid var(--line);gap:.2rem;padding:.75rem 0;text-decoration:none;display:grid}.calendar-selection>a span{color:var(--muted);font-size:.78rem}.calendar-selection>a small{color:var(--muted);align-items:center;gap:.3rem;display:flex}.calendar-selection>a svg{width:14px;height:14px}.calendar-sync-card{background:#f2f6fb;border:1px solid #315d9040;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.1rem;display:grid}.calendar-sync-card__icon{color:#315d90;background:#fff;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.calendar-sync-card__icon svg{width:23px}.calendar-sync-card h2{margin-bottom:.25rem;font-size:1rem}.calendar-sync-card p{color:var(--muted);margin-bottom:0;font-size:.8rem}.calendar-sync-card small{margin-top:.45rem;font-weight:750;display:block}.calendar-sync-card__error{color:var(--danger)}.calendar-sync-card__success{color:var(--success)}@media (width<=1050px){.billing-row{grid-template-columns:34px repeat(2,minmax(0,1fr)) 38px}.billing-row>.form-field:nth-of-type(3),.billing-row>.form-field:nth-of-type(4){grid-column:span 2}}@media (width<=800px){.billing-stats,.dashboard-event-columns,.calendar-layout,.billing-contract-summary,.contract-billing-progress{grid-template-columns:1fr}.credit-note-section__heading{display:grid}.calendar-selection{min-height:auto}.calendar-sync-card{grid-template-columns:auto minmax(0,1fr)}.calendar-sync-card .button{grid-column:1/-1}}@media (width<=580px){.billing-row{grid-template-columns:30px minmax(0,1fr) 36px}.billing-row>.form-field,.billing-row>.form-field:nth-of-type(3),.billing-row>.form-field:nth-of-type(4){grid-column:2/-1}.billing-row__remove{grid-area:1/3}.dashboard-events>a{grid-template-columns:44px minmax(0,1fr) 18px}.dashboard-events .event-status{grid-column:2}.calendar-day{min-height:54px;padding:.3rem}.calendar-day__label{display:none}}.app-layout{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:40;background:var(--forest-950);color:#fff;border-right:1px solid #ffffff12;flex-direction:column;width:250px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar__brand{padding:1.35rem 1.25rem 1.1rem}.sidebar .brand__copy small{color:#ffffff94}.sidebar__nav{gap:.25rem;padding:.9rem .75rem;display:grid}.sidebar__label{color:#ffffff6b;letter-spacing:.12em;text-transform:uppercase;margin:0 .55rem .55rem;font-size:.63rem;font-weight:800}.nav-item{color:#ffffffad;border-radius:7px;align-items:center;gap:.72rem;min-height:42px;padding:.6rem .72rem;font-size:.86rem;font-weight:650;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item svg{flex:none;width:18px;height:18px}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item--active{color:var(--gold-soft);background:#f3dfb41f}.sidebar__account{border-top:1px solid #ffffff14;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;margin-top:auto;padding:1rem;display:grid}.account-avatar{background:var(--gold-soft);width:34px;height:34px;color:var(--forest-950);border-radius:50%;place-items:center;font-weight:850;display:grid}.account-copy{min-width:0}.account-copy strong,.account-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account-copy strong{font-size:.76rem}.account-copy small{color:#ffffff7a;margin-top:.15rem;font-size:.66rem}.account-logout,.icon-button{width:38px;height:38px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.account-logout:hover{background:#ffffff14}.account-logout svg,.icon-button svg{width:18px;height:18px}.mobile-header{display:none}.workspace{grid-column:2;min-width:0}.workspace__header{border-bottom:1px solid var(--line);background:#ffffffde;justify-content:space-between;align-items:center;min-height:92px;padding:1.15rem clamp(1.25rem,4vw,3rem);display:flex}.workspace__header h1{margin-bottom:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,3vw,2.2rem);font-weight:500}.role-badge{background:var(--forest-50);color:var(--forest-800);border:1px solid #cfe0d6;border-radius:999px;padding:.4rem .72rem;font-size:.72rem;font-weight:800}.workspace__content{padding:clamp(1.25rem,4vw,3rem)}.dashboard{gap:1.25rem;display:grid}.welcome-panel{background:radial-gradient(circle at 90% 10%, #c5964a2e, transparent 35%), var(--forest-900);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.5rem,4vw,2.25rem);display:flex}.welcome-panel .eyebrow{color:var(--gold-soft)}.welcome-panel h2{margin-bottom:.55rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:500}.welcome-panel p:last-child{color:#ffffffad;max-width:58ch;margin-bottom:0}.welcome-panel__badge{color:var(--gold-soft);background:#102c2366;border:1px solid #f3dfb438;border-radius:999px;flex:none;align-items:center;gap:.45rem;padding:.52rem .75rem;font-size:.72rem;font-weight:750;display:inline-flex}.welcome-panel__badge svg{width:17px}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:start;gap:1.25rem;display:grid}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,220px));gap:1rem;display:grid}.dashboard-stats article{border:1px solid var(--line);background:var(--paper);border-radius:10px;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex}.dashboard-stats strong,.dashboard-stats span{display:block}.dashboard-stats strong{font-size:1.25rem}.dashboard-stats div>span{color:var(--muted);font-size:.74rem}.stat-icon{background:var(--forest-50);width:38px;height:38px;color:var(--forest-800);border-radius:9px;place-items:center;display:grid}.stat-icon--gold{color:#8b6326;background:#fbf4e6}.stat-icon svg{width:18px}.dashboard-card,.empty-panel{border:1px solid var(--line);background:var(--paper);border-radius:12px;box-shadow:0 1px 2px #17211d05}.dashboard-card{padding:1.25rem}.dashboard-card__heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:1rem;padding-bottom:1rem;display:flex}.dashboard-card__heading h2{margin-bottom:0;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:600}.status-dot{background:#3ca36f;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #3ca36f1f}.dashboard-empty{min-height:310px;color:var(--muted);text-align:center;align-content:center;place-items:center;padding:2rem;display:grid}.dashboard-empty--compact{min-height:220px}.dashboard-empty>svg{color:#95a29a;width:34px;height:34px;margin-bottom:.85rem}.dashboard-empty h3{color:var(--ink);margin-bottom:.35rem;font-size:1rem}.dashboard-empty p{margin-bottom:1rem;font-size:.85rem}.dashboard-empty a,.empty-panel__status{color:var(--forest-800);align-items:center;gap:.35rem;font-size:.8rem;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-empty a:hover{text-decoration:underline}.dashboard-empty a svg,.empty-panel__status svg{width:15px}.workflow-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.workflow-list li{color:#405048;border-bottom:1px solid #edf0ed;align-items:center;gap:.7rem;min-height:43px;font-size:.8rem;display:flex}.workflow-list li:last-child{border-bottom:0}.workflow-list span{color:#98a49e;letter-spacing:.08em;font-size:.64rem;font-weight:850}.dashboard-requests,.unpaid-invoices-list{display:grid}.unpaid-invoices-list>a{border-top:1px solid var(--border);color:inherit;grid-template-columns:minmax(160px,1.3fr) minmax(125px,.8fr) minmax(125px,.8fr) minmax(160px,auto) 24px;align-items:center;gap:18px;padding:15px 0;text-decoration:none;display:grid}.unpaid-invoices-list>a:first-child{border-top:0}.unpaid-invoices-list>a>span:not(.invoice-overdue,.invoice-not-overdue){gap:3px;display:grid}.unpaid-invoices-list small{color:var(--text-muted)}.invoice-overdue,.invoice-not-overdue{border-radius:999px;align-items:center;gap:7px;width:fit-content;padding:6px 9px;font-size:.78rem;font-weight:700;display:inline-flex}.invoice-overdue{color:#9b2c2c;background:#fff0ee}.invoice-not-overdue{color:var(--forest);background:var(--surface-soft)}.invoice-overdue svg,.invoice-not-overdue svg{width:15px;height:15px}@media (width<=900px){.unpaid-invoices-list>a{grid-template-columns:1fr 1fr}.unpaid-invoices-list>a>svg{display:none}}.dashboard-requests>a{border-bottom:1px solid #edf0ed;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:.8rem;padding:.9rem 0;text-decoration:none;display:grid}.dashboard-requests>a:hover strong{color:var(--forest-800)}.dashboard-requests span,.dashboard-requests strong,.dashboard-requests small{min-width:0;display:block}.dashboard-requests strong{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.dashboard-requests small{color:var(--muted);margin-top:.2rem;font-size:.7rem}.dashboard-request__status{color:var(--forest-800);font-size:.7rem;font-weight:750}.dashboard-requests svg{color:#98a49e;width:15px}.dashboard-requests .dashboard-requests__all{color:var(--forest-800);border-bottom:0;justify-content:flex-end;font-size:.76rem;font-weight:800;display:inline-flex}.requests-page{gap:1rem;display:grid}.page-toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-toolbar h2{margin-bottom:.15rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,3vw,1.8rem);font-weight:500}.page-toolbar p:last-child{color:var(--muted);margin-bottom:0;font-size:.8rem}.requests-panel{border:1px solid var(--line);background:var(--paper);border-radius:12px;overflow:hidden}.requests-filters{border-bottom:1px solid var(--line);gap:.75rem;padding:.9rem;display:flex}.search-field{border:1px solid var(--line);background:#fafbf9;border-radius:8px;flex:1;align-items:center;gap:.55rem;min-width:180px;padding:0 .75rem;display:flex}.search-field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #c5964a1f}.search-field svg{color:#829087;flex:none;width:17px}.search-field input{background:0 0;border:0;outline:0;width:100%;min-height:42px}.filter-field select,.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line-strong);background:var(--paper);width:100%;color:var(--ink);border-radius:8px}.filter-field select{min-height:42px;padding:0 .75rem}.requests-list{display:grid}.request-row{background:var(--paper);width:100%;color:inherit;text-align:left;cursor:pointer;border:0;border-bottom:1px solid #edf0ed;grid-template-columns:minmax(160px,1.15fr) minmax(150px,1fr) minmax(130px,.8fr) minmax(130px,auto) 18px;align-items:center;gap:1rem;padding:.95rem 1rem;display:grid}.request-row:last-child{border-bottom:0}.request-row:hover{background:#fafbf9}.request-row span,.request-row strong,.request-row small{min-width:0;display:block}.request-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.request-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.7rem;overflow:hidden}.request-row__arrow{color:#9ba69f;width:17px}.request-status{background:var(--forest-50);width:fit-content;color:var(--forest-800);white-space:nowrap;border:1px solid #d4e2da;border-radius:999px;padding:.32rem .55rem;font-size:.66rem;font-weight:800;display:inline-flex}.request-status--dossier_cloture{color:#66736d;background:#f1f2f1;border-color:#dfe2df}.request-status--devis_en_preparation,.request-status--devis_envoye,.contract-status--envoye,.quote-status--envoye{color:#805b24;background:#fbf4e6;border-color:#ead9b9}.contract-status--signe,.quote-status--accepte{color:var(--success);background:#edf5f0;border-color:#cfe0d6}.contract-status--annule,.quote-status--refuse,.quote-status--expire{background:var(--danger-soft);color:var(--danger);border-color:#efd0d0}.requests-state{min-height:310px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:.55rem;padding:2rem;display:grid}.requests-state svg{width:30px}.requests-state h3,.requests-state p{margin-bottom:0}.requests-state h3{color:var(--ink);font-size:1rem}.requests-state p{font-size:.8rem}.requests-state--error{color:var(--danger)}.drawer-layer{z-index:70;position:fixed;inset:0}.drawer-backdrop{cursor:default;background:#0a16116b;border:0;width:100%;position:absolute;inset:0}.drawer{background:var(--paper);flex-direction:column;width:min(620px,94vw);height:100%;display:flex;position:absolute;top:0;right:0;overflow:auto;box-shadow:-18px 0 50px #102c232e}.drawer__header{z-index:2;border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.35rem;display:flex;position:sticky;top:0}.drawer__header h2{margin-bottom:0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500}.request-form,.request-details{padding:1.25rem 1.35rem}.client-detail-actions{justify-content:flex-end;gap:.65rem;display:flex}.delete-confirmation{background:var(--danger-soft);border:1px solid #e7b7b2;border-radius:10px;gap:1rem;padding:1rem;display:grid}.delete-confirmation h3{color:#702923;margin-bottom:.35rem;font-size:1rem}.delete-confirmation p{color:#7f3a34;margin-bottom:0;font-size:.8rem;line-height:1.55}.delete-confirmation__actions{justify-content:flex-end;gap:.65rem;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-field{gap:.38rem;display:grid}.form-field--wide{grid-column:1/-1}.form-field>span{color:#3e4b45;font-size:.72rem;font-weight:750}.form-field input,.form-field select,.form-field textarea{min-height:42px;padding:.65rem .72rem}.form-field textarea{resize:vertical;min-height:110px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 3px #c5964a1f}.form-alert{background:var(--danger-soft);color:var(--danger);border:1px solid #efc8c2;border-radius:8px;align-items:flex-start;gap:.5rem;padding:.7rem .8rem;font-size:.78rem;display:flex}.form-alert svg{flex:none;width:17px}.drawer__actions{border-top:1px solid var(--line);justify-content:flex-end;gap:.7rem;margin-top:1.25rem;padding-top:1rem;display:flex}.request-details{gap:1rem;display:grid}.detail-status-card,.detail-section{border:1px solid var(--line);border-radius:10px;padding:1rem}.detail-status-card{background:var(--forest-50)}.inline-saving{color:var(--muted);align-items:center;gap:.35rem;margin-top:.6rem;font-size:.7rem;display:inline-flex}.inline-saving svg{width:14px}.detail-section h3{margin-bottom:.85rem;font-family:Georgia,Times New Roman,serif;font-size:1rem}.detail-client-action{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.detail-client-action h3{margin-bottom:.3rem}.detail-client-action p{color:var(--muted);margin-bottom:0;font-size:.78rem;line-height:1.5}.detail-client-action .button{flex:none}.detail-client-action .form-alert{flex-basis:100%}.catalog-manager{gap:1.25rem;padding:1.25rem 1.35rem;display:grid}.catalog-form,.catalog-list-section{border:1px solid var(--line);border-radius:10px;padding:1rem}.catalog-form{background:var(--forest-50);gap:1rem;display:grid}.catalog-form h3,.catalog-list-section h3{margin-bottom:0;font-family:Georgia,Times New Roman,serif;font-size:1rem}.catalog-form__heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.catalog-form__heading button{color:var(--forest-800);cursor:pointer;background:0 0;border:0;font-size:.7rem;font-weight:750}.catalog-form>.button{justify-self:end}.money-field{position:relative}.money-field input{padding-right:2.3rem}.money-field svg{width:16px;color:var(--muted);position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.catalog-list-section{gap:.85rem;display:grid}.catalog-list{gap:.6rem;display:grid}.catalog-item{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;display:flex}.catalog-item div,.catalog-item p,.catalog-item strong,.catalog-item small,.catalog-item span{min-width:0;display:block}.catalog-item div>span{color:var(--forest-800);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem;font-size:.62rem;font-weight:800}.catalog-item strong{font-size:.8rem}.catalog-item small{color:var(--muted);margin-top:.2rem;font-size:.68rem}.catalog-item p{text-align:right;flex:none;margin:0}.catalog-item .catalog-item__actions{flex:none;gap:.25rem;display:flex}.catalog-delete-confirmation{border-top:1px solid #efc8c2;flex:1 0 100%;justify-content:flex-end;align-items:center;gap:.5rem;padding-top:.7rem;display:flex}.catalog-delete-confirmation p{color:var(--danger);text-align:left;flex:1;font-size:.72rem}.catalog-delete-confirmation .button{min-height:36px;padding:.45rem .7rem;font-size:.7rem}.catalog-state{color:var(--muted);margin:0;font-size:.78rem}.service-items-section{gap:.85rem;display:grid}.service-items-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.service-items-heading h3{margin-bottom:.2rem}.service-items-heading p{color:var(--muted);margin:0;font-size:.7rem}.catalog-picker{border:1px solid var(--line);background:#fafbf9;border-radius:8px;gap:.45rem;padding:.55rem;display:grid}.catalog-picker>p{color:var(--muted);margin:0;padding:.65rem;font-size:.74rem}.catalog-picker>button{color:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .75rem;display:flex}.catalog-picker>button:hover:not(:disabled){background:var(--forest-50)}.catalog-picker>button span,.catalog-picker>button strong,.catalog-picker>button small{display:block}.catalog-picker>button strong{font-size:.76rem}.catalog-picker>button small{color:var(--muted);margin-top:.18rem;font-size:.65rem}.catalog-picker>button svg{width:17px;color:var(--forest-800);flex:none}.catalog-picker>.catalog-picker__create{border:1px dashed var(--gold);background:#fffaf0}.inline-catalog-form{background:#fff;border:1px solid #dfc997;border-radius:8px;gap:.8rem;padding:.85rem;display:grid}.inline-catalog-form h4{margin:0;font-family:Georgia,Times New Roman,serif;font-size:.95rem}.inline-catalog-form__actions{justify-content:flex-end;gap:.55rem;display:flex}.inline-catalog-form__actions .button{min-height:38px;padding:.5rem .75rem;font-size:.72rem}.service-items{display:grid}.service-items>article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto 38px;align-items:center;gap:.7rem;padding:.75rem 0;display:grid}.service-items>article>div:first-child strong,.service-items>article>div:first-child small{display:block}.service-items>article>div:first-child strong{font-size:.78rem}.service-items>article>div:first-child small{color:var(--muted);margin-top:.18rem;font-size:.65rem}.service-items>article>strong{white-space:nowrap;font-size:.76rem}.quantity-control{border:1px solid var(--line);border-radius:7px;align-items:center;gap:.25rem;padding:.15rem;display:flex}.quantity-control button{width:28px;height:28px;color:var(--forest-800);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.quantity-control button:hover:not(:disabled){background:var(--forest-50)}.quantity-control svg{width:14px}.quantity-control span{text-align:center;min-width:22px;font-size:.75rem;font-weight:800}.item-remove{color:var(--danger)}.item-remove:hover:not(:disabled){background:var(--danger-soft)}.service-total{justify-content:flex-end;gap:1rem;padding-top:.9rem;font-size:.8rem;display:flex}.service-total span{color:var(--muted)}.quote-lines-section{gap:.8rem;display:grid}.quote-lines-section>h3{margin-bottom:0}.quote-lines{display:grid}.quote-lines article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.75rem 0;display:grid}.quote-lines article>div strong,.quote-lines article>div small{display:block}.quote-lines article>div strong,.quote-lines article>strong{font-size:.78rem}.quote-lines article>div small{color:var(--muted);margin-top:.18rem;font-size:.65rem}.quote-lines article>span{color:var(--muted);white-space:nowrap;font-size:.7rem}.quote-lines article>strong{white-space:nowrap}.quote-totals{justify-self:end;width:min(100%,280px);margin:0;display:grid}.quote-totals div{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.45rem 0;display:flex}.quote-totals dt,.quote-totals dd{margin:0;font-size:.76rem}.quote-totals dt{color:var(--muted)}.quote-totals dd{font-weight:800}.quote-totals .quote-totals__grand{color:var(--forest-900);border-bottom:0;padding-top:.65rem}.quote-totals__grand dt,.quote-totals__grand dd{color:inherit;font-size:.9rem;font-weight:850}.quote-pdf-note{border:1px dashed var(--line-strong);color:var(--muted);text-align:center;border-radius:8px;margin:0;padding:.75rem;font-size:.72rem}.quote-archive-section{gap:.9rem;display:grid}.quote-archive-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.quote-archive-heading h3{align-items:center;gap:.45rem;margin-bottom:.25rem;display:flex}.quote-archive-heading h3 svg{width:16px;color:var(--forest-800)}.quote-archive-heading p,.quote-archive-empty{color:var(--muted);margin:0;font-size:.7rem;line-height:1.5}.quote-archive-heading .button{flex:none}.form-success{background:var(--forest-50);color:var(--success);border:1px solid #cfe0d6;border-radius:8px;margin:0;padding:.75rem;font-size:.72rem}.quote-document-versions{gap:.55rem;display:grid}.quote-document-versions article{border:1px solid var(--line);background:#fafbf9;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem;display:flex}.quote-document-versions span strong,.quote-document-versions span small{display:block}.quote-document-versions span strong{font-size:.78rem}.quote-document-versions span small{overflow-wrap:anywhere;color:var(--muted);margin-top:.2rem;font-size:.64rem}.quote-document-versions .button{flex:none}.quote-parties{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.quote-parties .detail-section{min-width:0}.quote-parties h3{align-items:center;gap:.4rem;display:flex}.quote-parties .quote-party-heading{justify-content:space-between}.quote-party-heading>span{align-items:center;gap:.4rem;display:flex}.quote-party-heading .quote-party-refresh{flex:none;width:30px;height:30px;margin:-.35rem -.35rem -.35rem .5rem}.quote-party-heading .quote-party-refresh svg{width:14px;height:14px}.quote-parties h3 svg{width:16px;color:var(--forest-800)}.quote-parties article>strong{margin-bottom:.4rem;font-size:.82rem;display:block}.quote-parties article>p,.quote-parties article>small{overflow-wrap:anywhere;color:var(--muted);margin:.22rem 0 0;font-size:.68rem;line-height:1.5;display:block}.quote-edit-section{border:1px solid var(--line);border-radius:10px;gap:.9rem;margin-bottom:1rem;padding:1rem;display:grid}.quote-edit-section>h3,.payment-heading h3{margin-bottom:0;font-family:Georgia,Times New Roman,serif;font-size:1rem}.payment-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.payment-heading p{color:var(--muted);margin:.25rem 0 0;font-size:.72rem}.payment-heading .is-valid{color:var(--success)}.payment-heading .is-invalid{color:var(--danger)}.payment-terms-editor{gap:.7rem;display:grid}.payment-terms-editor article{border:1px solid var(--line);background:#fafbf9;border-radius:8px;grid-template-columns:minmax(110px,.8fr) 100px minmax(150px,1.2fr) auto 38px;align-items:end;gap:.65rem;padding:.75rem;display:grid}.payment-term-amount span,.payment-term-amount strong{display:block}.payment-term-amount span{color:var(--muted);font-size:.62rem;font-weight:750}.payment-term-amount strong{white-space:nowrap;margin-top:.45rem;font-size:.78rem}.payment-terms-summary{display:grid}.payment-terms-summary article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;display:flex}.payment-terms-summary article:last-child{border-bottom:0}.payment-terms-summary strong,.payment-terms-summary small{display:block}.payment-terms-summary strong{font-size:.78rem}.payment-terms-summary small{color:var(--muted);margin-top:.2rem;font-size:.67rem}.quote-refresh-note{border:1px dashed var(--line-strong);color:var(--muted);border-radius:8px;margin-bottom:0;padding:.75rem;font-size:.7rem;line-height:1.5}.quote-document-layer{z-index:100;color:#17231d;background:#e8ebe7;position:fixed;inset:0;overflow:auto}.contract-pdf-preview{flex-direction:column;display:flex;overflow:hidden}.contract-pdf-preview__pages{background:#525659;flex:1;justify-items:center;gap:1.25rem;min-height:0;padding:1.5rem;display:grid;overflow:auto}.contract-pdf-preview__pages figure{width:min(210mm,100%);margin:0}.contract-pdf-preview__pages img{background:#fff;width:100%;height:auto;display:block;box-shadow:0 12px 35px #00000047}.contract-pdf-preview__pages figcaption{color:#f5f7f5;text-align:center;padding-top:.45rem;font-size:.68rem}.quote-document-toolbar{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #d2d8d3;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem max(1rem,50vw - 105mm);display:flex;position:sticky;top:0;box-shadow:0 5px 18px #14231b14}.quote-document-toolbar>div:first-child{gap:.15rem;display:grid}.quote-document-toolbar strong{font-size:.82rem}.quote-document-toolbar span{color:var(--muted);font-size:.68rem}.quote-document-toolbar>div:last-child{gap:.65rem;display:flex}.quote-document{background:#fff;width:210mm;margin:1.5rem auto 3rem;font-family:Arial,Helvetica,sans-serif;box-shadow:0 20px 55px #14231b29}.quote-document__quote,.quote-document__terms{min-height:297mm;padding:17mm 16mm 14mm}.quote-document__header{border-bottom:2px solid #294f3d;justify-content:space-between;align-items:flex-start;gap:2rem;padding-bottom:8mm;display:flex}.quote-document__brand{align-items:center;gap:.7rem;display:flex}.quote-document__brand>span{color:#fff;background:#294f3d;border-radius:3mm;place-items:center;width:12mm;height:12mm;font-family:Georgia,Times New Roman,serif;font-size:6mm;font-weight:700;display:grid}.quote-document__brand strong,.quote-document__brand small{display:block}.quote-document__brand strong{color:#1e3d2f;font-family:Georgia,Times New Roman,serif;font-size:5.5mm}.quote-document__brand small{color:#68766f;letter-spacing:.04em;text-transform:uppercase;margin-top:1mm;font-size:2.7mm}.quote-document__title{text-align:right}.quote-document__title p,.quote-document__title h1{margin:0}.quote-document__title p{color:#68766f;letter-spacing:.12em;text-transform:uppercase;font-size:3mm;font-weight:700}.quote-document__title h1{color:#17231d;margin-top:1.5mm;font-size:6mm}.quote-document__title span{color:#294f3d;background:#edf3ef;border-radius:99px;margin-top:2.5mm;padding:1.3mm 3mm;font-size:2.6mm;font-weight:700;display:inline-block}.quote-document__parties{grid-template-columns:repeat(2,minmax(0,1fr));gap:8mm;margin-top:9mm;display:grid}.quote-document__party{border:1px solid #d9dfdb;border-radius:3mm;min-height:42mm;padding:5mm}.quote-document__label{color:#637169;letter-spacing:.09em;text-transform:uppercase;margin:0 0 2.5mm;font-size:2.6mm;font-weight:700}.quote-document__party h2{color:#1e3d2f;margin:0 0 2mm;font-family:Georgia,Times New Roman,serif;font-size:4.2mm}.quote-document__party p{color:#4e5d55;overflow-wrap:anywhere;margin:.8mm 0 0;font-size:2.8mm;line-height:1.4}.quote-document__event{background:#f7f9f7;border:1px solid #d9dfdb;border-radius:3mm;grid-template-columns:repeat(3,minmax(0,1fr));gap:4mm;margin-top:8mm;padding:4mm;display:grid}.quote-document__event>div{align-content:start;gap:1.2mm;display:grid}.quote-document__event-location{border-top:1px solid #d9dfdb;grid-column:1/-1;padding-top:3mm}.quote-document__event span{color:#68766f;font-size:2.5mm}.quote-document__event strong{font-size:3mm;line-height:1.4}.quote-document__lines{margin-top:8mm}.quote-document__lines table{border-collapse:collapse;width:100%;font-size:2.8mm}.quote-document__lines th{color:#fff;letter-spacing:.035em;text-align:right;text-transform:uppercase;background:#294f3d;padding:3mm 2.5mm;font-size:2.5mm}.quote-document__lines th:first-child{text-align:left;border-radius:2mm 0 0}.quote-document__lines th:last-child{border-radius:0 2mm 0 0}.quote-document__lines td{text-align:right;vertical-align:top;border-bottom:1px solid #dfe4e0;padding:3.2mm 2.5mm}.quote-document__lines td:first-child{text-align:left}.quote-document__lines td strong,.quote-document__lines td small{display:block}.quote-document__lines td small{color:#68766f;margin-top:1mm;font-size:2.5mm;line-height:1.35}.quote-document__summary{grid-template-columns:minmax(0,1fr) 62mm;align-items:start;gap:8mm;margin-top:7mm;display:grid}.quote-document__notes{background:#fbf8f1;border-left:1.5mm solid #b79555;padding:4mm}.quote-document__notes>p:last-child{color:#4e5d55;white-space:pre-wrap;margin:0;font-size:2.8mm;line-height:1.5}.quote-document__totals{margin:0}.quote-document__totals div{border-bottom:1px solid #dfe4e0;justify-content:space-between;gap:5mm;padding:2.2mm 0;display:flex}.quote-document__totals dt,.quote-document__totals dd{margin:0;font-size:3mm}.quote-document__totals dt{color:#68766f}.quote-document__totals dd{font-weight:700}.quote-document__totals div:last-child{color:#1e3d2f;background:#edf3ef;border-bottom:0;padding:3mm}.quote-document__totals div:last-child dt,.quote-document__totals div:last-child dd{color:inherit;font-size:3.6mm;font-weight:800}.quote-document__payments{break-inside:avoid;margin-top:8mm}.quote-document__payments>div{gap:2mm;display:grid}.quote-document__payments article{border:1px solid #dfe4e0;border-radius:2mm;justify-content:space-between;align-items:center;gap:6mm;padding:3mm;display:flex}.quote-document__payments article span strong,.quote-document__payments article span small{display:block}.quote-document__payments article strong{font-size:2.9mm}.quote-document__payments article span small{color:#68766f;margin-top:.8mm;font-size:2.5mm}.quote-document__bank{color:#4e5d55;margin:3mm 0 0;font-size:2.5mm}.quote-document__acceptance{break-inside:avoid;background:#fbf8f1;border:1px solid #b79555;border-radius:3mm;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6mm;margin-top:8mm;padding:4mm;display:grid}.quote-document__acceptance h3,.quote-document__acceptance p,.quote-document__acceptance dl,.quote-document__acceptance dt,.quote-document__acceptance dd{margin:0}.quote-document__acceptance h3{color:#1e3d2f;font-family:Georgia,Times New Roman,serif;font-size:4mm}.quote-document__acceptance>div>p:last-child{color:#4e5d55;margin-top:2mm;font-size:2.6mm;line-height:1.45}.quote-document__acceptance dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:2mm;display:grid}.quote-document__acceptance dl>div{border-bottom:1px solid #d8c8a8;padding-bottom:2mm}.quote-document__acceptance dt{color:#68766f;font-size:2.3mm}.quote-document__acceptance dd{min-height:5mm;margin-top:1mm;font-size:2.7mm;font-weight:700}.quote-document__acceptance .quote-document__signature-field{border:1px dashed #b9a47b;border-radius:2mm;grid-column:1/-1;min-height:20mm;padding:2.5mm}.quote-document__footer{color:#68766f;text-align:center;border-top:1px solid #d9dfdb;margin-top:9mm;padding-top:4mm;font-size:2.4mm;line-height:1.45}.quote-document__footer p{margin:1mm 0 0}.quote-document__terms{break-before:page;border-top:10mm solid #e8ebe7}.quote-document__terms>header{border-bottom:2px solid #294f3d;justify-content:space-between;align-items:flex-start;gap:8mm;padding-bottom:6mm;display:flex}.quote-document__brand--small>span{border-radius:2mm;width:9mm;height:9mm;font-size:4.5mm}.quote-document__brand--small strong{font-size:4mm}.quote-document__terms header>div:last-child{text-align:right}.quote-document__terms h2,.quote-document__terms header p{margin:0}.quote-document__terms h2{color:#1e3d2f;font-family:Georgia,Times New Roman,serif;font-size:5mm}.quote-document__terms header p{color:#68766f;margin-top:1.5mm;font-size:2.7mm}.quote-document__terms-content{color:#27352e;white-space:pre-wrap;margin-top:7mm;font-size:2.65mm;line-height:1.48}.settings-page,.settings-form{gap:1rem;display:grid}.settings-form>section{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:1.1rem}.settings-form>section>h3{margin-bottom:1rem;font-family:Georgia,Times New Roman,serif;font-size:1.05rem}.settings-section-intro{color:var(--muted);margin:-.45rem 0 1rem;font-size:.75rem;line-height:1.5}.settings-form__actions{border:1px solid var(--line);background:#fffffff5;border-radius:10px;justify-content:flex-end;padding:.8rem;display:flex;position:sticky;bottom:0}.settings-success{background:var(--forest-50);color:var(--success);border:1px solid #cfe0d6;border-radius:8px;margin:0;padding:.75rem;font-size:.78rem}.terms-editor{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.6;min-height:56vh!important}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0;display:grid}.detail-list div{min-width:0}.detail-list dt{color:var(--muted);align-items:center;gap:.35rem;font-size:.68rem;font-weight:750;display:flex}.detail-list dt svg{width:14px}.detail-list dd{overflow-wrap:anywhere;margin:.3rem 0 0;font-size:.82rem;font-weight:650}.detail-list a{color:var(--forest-800)}.contract-clauses{gap:.8rem;margin:0;display:grid}.contract-clauses div{border-left:3px solid var(--forest-200);padding-left:.8rem}.contract-clauses dt{color:var(--forest-800);font-size:.72rem;font-weight:800}.contract-clauses dd{color:var(--muted);white-space:pre-wrap;margin:.25rem 0 0;font-size:.76rem;line-height:1.55}.linked-client{border:1px solid var(--line);background:#fafbf9;border-radius:8px;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:.7rem;padding:.7rem;text-decoration:none;display:grid}.linked-client:hover{border-color:var(--line-strong);background:var(--forest-50)}.linked-client>svg:first-child{background:var(--forest-100);width:38px;height:38px;color:var(--forest-800);border-radius:8px;padding:9px}.linked-client>svg:last-child{width:17px;color:var(--muted)}.linked-client strong,.linked-client small{display:block}.linked-client strong{font-size:.8rem}.linked-client small{color:var(--muted);margin-top:.15rem;font-size:.68rem}.request-message{color:#405048;white-space:pre-wrap;margin-bottom:0;font-size:.82rem;line-height:1.6}.detail-meta{color:#8a968f;margin:0;font-size:.68rem}.empty-panel{text-align:center;justify-content:center;align-items:center;gap:1.4rem;min-height:440px;padding:clamp(1.5rem,5vw,4rem);display:flex}.empty-panel__icon{background:var(--forest-50);width:56px;height:56px;color:var(--forest-800);border-radius:12px;flex:none;place-items:center;display:grid}.empty-panel h2{margin-bottom:.5rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,4vw,2.25rem);font-weight:500}.empty-panel p:not(.eyebrow){max-width:52ch;color:var(--muted);margin-bottom:1.15rem;margin-left:auto;margin-right:auto}.empty-panel__status{color:#7d8982;justify-content:center}.sidebar-backdrop{display:none}@media (width<=900px){.auth-page{grid-template-columns:1fr}.auth-panel--brand{display:none}.auth-panel--form{min-height:100vh}.app-layout{display:block}.mobile-header{z-index:30;border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;min-height:66px;padding:.65rem 1rem;display:flex;position:sticky;top:0}.mobile-header .brand__mark{width:38px;height:38px}.sidebar{width:min(300px,86vw);box-shadow:var(--shadow-lg);transition:transform .18s;transform:translate(-105%)}.sidebar--open{transform:translate(0)}.sidebar-backdrop{z-index:35;cursor:default;background:#0a161170;border:0;width:100%;height:100%;display:block;position:fixed;inset:0}.workspace{grid-column:auto}.workspace__header{min-height:80px}.dashboard-grid{grid-template-columns:1fr}.request-row{grid-template-columns:minmax(0,1fr) minmax(135px,auto) 18px}.request-row .request-row__event,.request-row .request-row__date{display:none}}@media (width<=620px){.auth-panel{padding:1.25rem}.auth-card__heading{margin-bottom:1.5rem}.state-page__brand{top:1rem;left:1rem}.state-card{margin-top:4rem}.workspace__header{align-items:flex-start;padding:1rem}.role-badge{display:none}.workspace__content{padding:1rem}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-panel{flex-direction:column;align-items:flex-start}.welcome-panel__badge{white-space:normal}.dashboard-card{padding:1rem}.dashboard-request__status{display:none}.dashboard-requests>a{grid-template-columns:minmax(0,1fr) 18px}.page-toolbar{flex-direction:column;align-items:stretch}.requests-filters{flex-direction:column}.request-row{grid-template-columns:minmax(0,1fr) 18px;gap:.7rem}.request-row .request-status{display:none}.drawer{width:100%}.form-grid,.detail-list{grid-template-columns:1fr}.drawer__actions{flex-direction:column-reverse}.client-detail-actions,.delete-confirmation__actions{flex-direction:column}.client-detail-actions .button,.delete-confirmation__actions .button{width:100%}.detail-client-action,.catalog-item,.service-items-heading{flex-direction:column;align-items:stretch}.catalog-item p{text-align:left}.catalog-delete-confirmation,.inline-catalog-form__actions{flex-direction:column;align-items:stretch}.catalog-delete-confirmation .button,.inline-catalog-form__actions .button{width:100%}.catalog-form>.button,.service-items-heading .button{justify-self:stretch;width:100%}.service-items>article{grid-template-columns:minmax(0,1fr) auto 38px}.service-items>article>strong{display:none}.quote-lines article{grid-template-columns:minmax(0,1fr) auto}.quote-parties{grid-template-columns:1fr}.payment-heading{flex-direction:column;align-items:stretch}.payment-heading .button{width:100%}.quote-archive-heading,.quote-document-versions article{flex-direction:column;align-items:stretch}.quote-archive-heading .button,.quote-document-versions .button{width:100%}.payment-terms-editor article{grid-template-columns:1fr;align-items:stretch}.payment-terms-editor .item-remove{justify-self:end}.quote-lines article>span{display:none}.drawer__actions .button{width:100%}.dashboard-empty{min-height:260px;padding:1.25rem .5rem}.empty-panel{flex-direction:column;min-height:380px;padding:1.5rem}.quote-document-toolbar{flex-direction:column;align-items:stretch}.quote-document-toolbar>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quote-document-toolbar .button{width:100%}.quote-document{width:100%;margin:0}.quote-document__quote,.quote-document__terms{min-height:0;padding:1.25rem 1rem}.quote-document__header,.quote-document__terms>header{flex-direction:column;align-items:stretch}.quote-document__title,.quote-document__terms header>div:last-child{text-align:left}.quote-document__parties,.quote-document__event,.quote-document__summary,.quote-document__acceptance{grid-template-columns:1fr}.quote-document__event-location{grid-column:auto}.quote-document__lines{overflow-x:auto}.quote-document__lines table{min-width:650px}}@media print{@page{size:A4;margin:0}html,body,#root{background:#fff;width:210mm;min-height:297mm;margin:0}body *{visibility:hidden}.quote-document-layer,.quote-document-layer *{visibility:visible}.quote-document-layer{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;position:absolute;inset:0;overflow:visible}.quote-document-toolbar{display:none}.quote-document{width:210mm;box-shadow:none;margin:0}.quote-document__quote,.quote-document__terms{min-height:297mm}.quote-document__terms{border-top:0}.quote-document__lines thead{display:table-header-group}.quote-document__lines tr,.quote-document__party,.quote-document__event,.quote-document__summary,.quote-document__payments article{break-inside:avoid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
