@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#edf5ef;--bg-accent:#cfe7d6;--card:#fff;--text:#173d29;--muted:#536b5c;--primary:#278d57;--primary-dark:#17653c;--border:#cce1d2;--shadow:0 20px 45px #18533024;font-family:Space Grotesk,Segoe UI,sans-serif}.beta-feedback-fab{right:max(22px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom));z-index:30;border:1px solid var(--primary-dark);background:var(--primary);color:#fff;cursor:pointer;border-radius:999px;align-items:center;gap:8px;max-width:min(420px,100vw - 24px);padding:11px 16px;font-weight:700;display:flex;position:fixed;box-shadow:0 10px 28px #17653c47}.beta-feedback-fab>span{border:2px solid;border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;display:grid}.beta-feedback-fab>span svg{fill:currentColor;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:14px;height:14px;display:block;overflow:visible}.beta-feedback-fab>span svg circle{stroke:none}.beta-feedback-fab-error{background:#9a4f16;border-color:#71380e}.feedback-overlay{z-index:100;background:#10281a7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.feedback-modal{border:1px solid var(--border);background:var(--card);width:min(720px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow);border-radius:20px;padding:22px;overflow-y:auto}.feedback-header,.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.feedback-header h2,.section-heading h1,.section-heading h2{margin-top:0}.feedback-form,.feedback-details{gap:14px;display:grid}.feedback-details{padding:12px 0}.feedback-details summary{cursor:pointer;font-weight:700}.diagnostic-context-note{color:#6d4811;background:#fff3d9;border:1px solid #e9c882;border-radius:12px;margin:14px 0;padding:12px}.feedback-capture{gap:10px;display:grid}.feedback-file-label{width:fit-content}.feedback-file-label input{opacity:0;width:1px;height:1px;position:absolute}.feedback-preview{align-items:flex-end;gap:12px;display:flex}.feedback-preview img{border:1px solid var(--border);object-fit:contain;border-radius:12px;max-width:min(320px,100%);max-height:220px}.diagnostic-fallback{max-width:760px;margin:36px auto}.admin-diagnostics-grid{grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);align-items:start;gap:18px;display:grid}.diagnostic-list{gap:8px;max-height:70vh;margin-top:16px;display:grid;overflow-y:auto}.diagnostic-list-item{border:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:12px;display:grid}.diagnostic-list-item:hover,.diagnostic-list-item.active{border-color:var(--primary);background:#f2faf4}.diagnostic-list-item span:first-child:not(.diagnostic-level){gap:3px;display:grid}.diagnostic-list-item small{color:var(--muted);overflow-wrap:anywhere;display:block}.diagnostic-level{color:#b13535}.level-warning{color:#ad6a0a}.diagnostic-detail{max-height:calc(100vh - 112px);position:sticky;top:92px;overflow-y:auto}.context-grid{grid-template-columns:minmax(130px,auto) 1fr;gap:8px 16px;display:grid}.context-grid dt{color:var(--muted)}.context-grid dd{overflow-wrap:anywhere;min-width:0;margin:0}.technical-block{color:#d8efe0;white-space:pre-wrap;overflow-wrap:anywhere;background:#10251a;border-radius:12px;max-width:100%;max-height:320px;padding:12px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.long-text{white-space:pre-wrap;overflow-wrap:anywhere}.break-anywhere{overflow-wrap:anywhere}@media (width<=1024px){.beta-feedback-fab{bottom:calc(84px + env(safe-area-inset-bottom))}}@media (width<=900px){.admin-diagnostics-grid{grid-template-columns:1fr}.diagnostic-detail{max-height:none;position:static}}@media (width<=680px){.beta-feedback-fab{right:12px;bottom:calc(78px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);padding:9px 12px;font-size:.78rem}.feedback-overlay{place-items:end center;padding:0}.feedback-modal{max-height:92vh;padding:18px 14px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.feedback-header,.section-heading,.feedback-preview{flex-direction:column;align-items:stretch}.context-grid{grid-template-columns:1fr;gap:3px}.context-grid dd{margin-bottom:8px}.diagnostic-list-item{grid-template-columns:auto 1fr}.diagnostic-list-item .status-pill{grid-column:2;justify-self:start}}*{box-sizing:border-box}body{color:var(--text);background:radial-gradient(circle at top left, #dcefe2 0%, transparent 45%), radial-gradient(circle at 30% 40%, #e9f5ed 0%, transparent 45%), linear-gradient(140deg, var(--bg) 0%, #f5faf6 60%, #deeee3 100%);min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}:focus-visible{outline-offset:2px;outline:3px solid #278d5759}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffd6;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex;position:sticky;top:0}.topbar-main{flex:1;align-items:center;gap:18px;min-width:0;display:flex}.topbar-nav{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.brand{flex-shrink:0;align-items:center;gap:12px;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;display:inline-flex}.brand-name{font-size:18px;font-weight:700}.brand-subtitle{color:var(--muted);font-size:13px}.topbar-actions{flex-shrink:0;align-items:center;gap:12px;min-width:0;display:flex}.company-switcher{color:var(--muted);gap:.2rem;min-width:0;font-size:.72rem;display:grid}.company-switcher select{border:1px solid var(--border);background:var(--card);min-width:180px;max-width:260px;color:var(--text);border-radius:8px;padding:.45rem .6rem}.company-current{max-width:220px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.user-pill{background:#f1ece7;border-radius:999px;align-items:center;gap:8px;min-width:0;max-width:180px;padding:6px 12px;font-size:13px;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.user-role{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.ghost-button{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;font-weight:600}.ghost-button:hover{border-color:var(--primary);color:var(--primary)}.app-body{flex:1;padding:20px 24px 44px;display:block}.sidebar{border:1px solid var(--border);width:220px;box-shadow:var(--shadow);background:#ffffffd9;border-radius:18px;height:fit-content;padding:20px}.nav-section{flex-direction:column;gap:12px;display:flex}.nav-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px}.nav-link{color:var(--muted);background:0 0;border-radius:12px;padding:10px 12px;font-weight:600;display:flex}.nav-link-active{color:var(--text);border:1px solid var(--border);background:#f6efe8}.topbar-nav .nav-link{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:7px 10px;font-size:13px}.topbar-nav .nav-link-active{border-color:var(--border)}.content{width:100%;min-width:0}h1,h2,h3,p,dd,td,th{overflow-wrap:anywhere}.page-stack{flex-direction:column;gap:20px;display:flex}.page-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.quote-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.quote-heading{flex-direction:column;gap:8px;display:flex}.quote-title-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.quote-tabs{border:1px solid var(--border);background:#f6efe8;border-radius:999px;gap:6px;padding:4px;display:inline-flex}.tab-button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 14px;font-weight:600}.tab-button.active{color:var(--text);background:#fff;box-shadow:0 10px 24px #23181124}.status-note{color:var(--muted);font-size:12px}.page-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;padding:24px}.inline-actions{flex-wrap:wrap;gap:10px;display:flex}.dashboard-actions{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:16px;display:grid}.dashboard-action{border:1px solid var(--border);min-height:52px;color:var(--primary-dark);background:#f7fbf8;border-radius:14px;align-items:center;padding:12px 16px;font-weight:700;display:flex}.dashboard-action:hover{border-color:var(--primary);background:#edf7f0}.sandbox-banner{color:#71520b;letter-spacing:.04em;text-transform:uppercase;background:#fff8df;border:1px solid #d5a72f;border-radius:12px;margin:16px 0;padding:10px 14px;font-size:.82rem;font-weight:700}.technical-details{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.technical-details summary{width:fit-content;color:var(--muted);cursor:pointer;font-weight:600}.technical-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0 0;display:grid}.technical-list div{min-width:0}.technical-list dt{color:var(--muted);font-size:.75rem}.technical-list dd{margin:4px 0 0;font-weight:600}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.filters{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.filter-input{border:1px solid var(--border);background:#fffdfb;border-radius:12px;flex:1;min-width:200px;padding:10px 12px}.filter-toggle{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.filter-toggle select{border:1px solid var(--border);background:#fffdfb;border-radius:10px;padding:8px 10px}.metric-card{border:1px solid var(--border);background:#fdfbf8;border-radius:16px;padding:18px}.nav-link-active,.quote-tabs,.vat-switch,.line-number-badge,.doc-pill,.family-count{background:#edf7f0;border-color:#cce1d2}.metric-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px}.metric-value{margin:6px 0;font-size:24px;font-weight:700}.metric-note{color:var(--muted);font-size:13px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;margin-top:12px;font-size:14px}.table th,.table td{border-bottom:1px solid var(--border);padding:10px 8px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}.table-input{border:1px solid var(--border);background:#fffdfb;border-radius:8px;width:100%;padding:6px 8px}.quote-section-row td{border-bottom:1px solid var(--border);background:#f3eadf}.quote-section-inner{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.quote-section-badge{color:#5c4d40;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;background:#e8d9cb;border:1px solid #d7c6b6;border-radius:999px;justify-content:center;align-items:center;padding:4px 9px;font-size:11px;display:inline-flex}.quote-section-input{font-weight:700}.line-target-picker{align-items:center;gap:8px;display:inline-flex}.line-target-picker select{min-width:220px}.line-number-cell{white-space:nowrap;width:70px}.line-number-stack{align-items:center;gap:8px;display:inline-flex}.drag-handle{color:#7d6854;cursor:grab;background:#fff7ef;border:1px dashed #d7c6b6;border-radius:999px;padding:2px 7px;font-size:11px;line-height:1}.drag-handle:active{cursor:grabbing}.line-order-buttons{flex-direction:column;gap:2px;display:flex}.line-order-button{color:#214d35;cursor:pointer;background:#fff;border:1px solid #c9d9ce;border-radius:4px;min-width:26px;min-height:26px}.line-order-button:disabled{opacity:.35;cursor:default}.line-number-badge{border:1px solid var(--border);color:var(--muted);background:#f6efe8;border-radius:999px;justify-content:center;align-items:center;min-width:48px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.line-drop-row td{border-bottom:none;padding:0}.line-drop-zone{color:#0000;text-align:center;border:1px dashed #0000;border-radius:999px;height:10px;margin:2px 0;font-size:11px;transition:background-color .12s,border-color .12s}.line-drop-zone-active{color:#8b5e34;background:#fff7ef;border-color:#d1a97c;height:auto;padding:6px 10px}.line-row-dragging{opacity:.45}.table-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.quote-number{font-weight:700}.small-text{font-size:12px}.client-stack{flex-direction:column;gap:4px;display:flex}.doc-pill{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);background:#f6efe8;border-radius:999px;padding:4px 10px;font-size:11px;display:inline-flex}.progress-row{align-items:center;gap:8px;display:flex}.progress-track{background:#f1ece7;border-radius:999px;width:120px;height:6px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;display:block}.status-badge{text-transform:uppercase;letter-spacing:.06em;border:1px solid #0000;border-radius:999px;padding:6px 12px;font-size:11px;display:inline-flex}.status-draft{color:#6b625b;border-color:var(--border);background:#f4eee7}.status-rejected{color:#8a1f1f;background:#ffe1e1;border-color:#f3c2c2}.builder{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.quote-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:16px;display:grid}.vat-switch-field{margin-top:10px}.vat-switch{border:1px solid var(--border);background:#f6efe8;border-radius:999px;align-items:center;gap:4px;width:fit-content;padding:3px;display:inline-flex}.vat-switch-button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;line-height:1}.vat-switch-button:hover{color:var(--primary)}.vat-switch-button.active{background:var(--primary);color:#fff;box-shadow:0 8px 18px #2318112e}.info-block{flex-direction:column;gap:12px;margin-top:20px;display:flex}.summary-item{border:1px solid var(--border);background:#fffdfb;border-radius:12px;padding:10px 12px}.summary-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}.summary-value{margin-top:6px;font-weight:700}.panel{border:1px solid var(--border);background:#fffdfb;border-radius:16px;flex-direction:column;gap:12px;padding:18px;display:flex}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.quote-edit-layout{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.quote-library-pane{border:1px solid var(--border);background:#fffdfb;border-radius:14px;max-height:calc(100vh - 130px);padding:12px;position:sticky;top:92px;overflow:auto}.quote-lines-pane{min-width:0}.service-picker{flex-direction:column;gap:12px;display:flex}.library-search{flex-direction:column;gap:8px;display:flex}.library-tree{flex-direction:column;gap:12px;display:flex}.library-family{border:1px solid var(--border);background:#fff;border-radius:14px}.library-family-header{justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.family-toggle{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:0;font-weight:600;display:flex}.family-meta{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.family-count{border:1px solid var(--border);color:var(--muted);background:#f6efe8;border-radius:999px;padding:2px 8px;font-size:11px}.family-icon{font-weight:700}.library-family-body{flex-direction:column;gap:10px;padding:0 12px 12px;display:flex}.library-items{flex-direction:column;gap:8px;display:flex}.library-item{border:1px solid var(--border);background:#fffdfb;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.library-item-main{flex-direction:column;gap:4px;display:flex}.library-item-name{flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:flex}.service-item{align-items:flex-start}.library-item-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-toggle{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.icon-button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:50%;width:32px;height:32px;font-weight:700}.icon-button:hover{border-color:var(--primary);color:var(--primary)}.library-new{border-top:1px dashed var(--border);flex-direction:column;gap:10px;padding-top:10px;display:flex}.library-new-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.library-new-grid input{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 12px}.library-new-grid .inline-toggle{padding:6px 0}.library-new-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.library-edit{border:1px dashed var(--border);background:#fffdfb;border-radius:12px;flex-direction:column;gap:12px;margin-top:10px;padding:12px;display:flex}.library-edit .form-grid{margin-top:0}.library-edit-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.service-tree{gap:12px;display:grid}.service-branch{border:1px solid var(--border);background:#fff;border-radius:14px;padding:6px 10px 10px}.service-branch[open] .service-branch-title{margin-bottom:8px}.service-branch-title{cursor:pointer;justify-content:space-between;align-items:center;padding:6px 4px;font-weight:600;display:flex}.service-branch-items{gap:8px;display:grid}.service-tree-item{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fffdfb;border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.service-tree-main{justify-content:space-between;align-items:center;gap:10px;display:flex}.service-tree-name{font-weight:600}.composition-builder{flex-direction:column;gap:8px;margin-top:8px;display:flex}.composition-row{grid-template-columns:minmax(0,1fr) 120px auto;align-items:center;gap:8px;display:grid}.composition-row select,.composition-row input{border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 12px}.composition-list{flex-direction:column;gap:6px;display:flex}.composition-item{border:1px dashed var(--border);background:#fffdfb;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.composition-inline{flex-direction:column;gap:8px;margin-top:12px;display:flex}.draft-banner{border:1px dashed var(--border);background:#fef6ea;border-radius:12px;justify-content:space-between;align-items:center;margin-top:12px;padding:10px 12px;display:flex}.totals-card{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;display:grid}.total-value{font-size:20px;font-weight:700}.timeline{flex-direction:column;gap:12px;margin-top:12px;display:flex}.timeline-item{border:1px solid var(--border);background:#fffdfb;border-radius:12px;padding:12px}.timeline-title{margin-bottom:4px;font-weight:700}.highlight-card{border:1px solid var(--border);background:#fff6ec;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin:16px 0;padding:16px 18px;display:flex}.highlight-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}.highlight-name{margin-top:4px;font-size:18px;font-weight:700}.card-list{flex-direction:column;gap:12px;margin-top:16px;display:none}.line-card-controls{gap:8px}.card-item{border:1px solid var(--border);background:#fffdfb;border-radius:16px;flex-direction:column;gap:8px;padding:16px;display:flex}.section-card{background:#f3eadf}.card-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.tag{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);background:#f6efe8;border-radius:999px;padding:4px 10px;font-size:11px}.status-pill{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;margin-top:10px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-checking{color:#8b5b00;background:#fde9bd}.status-ok{color:#1f6b2e;background:#dff5e1}.status-error{color:#8a1f1f;background:#ffe1e1}.error{color:#8a1f1f;font-weight:600}.bottom-nav{border-top:1px solid var(--border);z-index:20;background:#fffffff5;justify-content:space-around;gap:12px;padding:12px 20px;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-more{display:flex;position:relative}.mobile-more-button{cursor:pointer;border:0;font-family:inherit}.mobile-more-menu{border:1px solid var(--border);background:var(--card);width:min(280px,100vw - 24px);box-shadow:var(--shadow);border-radius:16px;gap:4px;padding:10px;display:grid;position:absolute;bottom:calc(100% + 12px);right:0}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.auth-card{background:var(--card);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);border-radius:24px;padding:28px}.auth-header{align-items:center;gap:16px;display:flex}.auth-header h1{margin:0 0 6px}.auth-form{flex-direction:column;gap:16px;margin-top:20px;display:flex}.field{flex-direction:column;gap:8px;font-size:13px;font-weight:600;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px;display:grid}.field-wide{grid-column:1/-1}.form-actions{justify-content:flex-end;display:flex}.field input,.field select{border:1px solid var(--border);background:#fffdfb;border-radius:12px;padding:12px 14px;font-size:15px}.field textarea{border:1px solid var(--border);resize:vertical;background:#fffdfb;border-radius:12px;min-height:90px;padding:12px 14px;font-size:15px}.field-value{border:1px solid var(--border);background:#fffdfb;border-radius:12px;min-height:44px;padding:12px 14px;font-size:15px}.field-note{white-space:pre-wrap;min-height:90px}.preview-note{border:1px dashed var(--border);color:var(--muted);background:#fef6ea;border-radius:12px;margin:12px 0;padding:10px 12px;font-size:13px}.logo-preview{border:1px dashed var(--border);background:#fff8f2;border-radius:16px;margin-top:10px;padding:12px}.logo-preview img{max-width:180px;max-height:120px;display:block}.primary-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:12px 16px;font-size:15px;font-weight:700}.primary-button:disabled{opacity:.7;cursor:not-allowed}.secondary-button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:10px 14px;font-weight:600}.danger-button{color:#8a1f1f;cursor:pointer;background:#ffeaea;border:1px solid #e1b0b0;border-radius:999px;padding:10px 14px;font-weight:600}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.55;cursor:not-allowed}.success-message{color:#145d35;background:#e7f6ec;border:1px solid #add7bb;border-radius:12px;padding:10px 14px}.received-invoice-filters input[type=date]{border:1px solid var(--border);background:#fffdfb;border-radius:10px;padding:8px 10px}.received-invoices-table tr.needs-review td:first-child{border-left:4px solid #d58a1f}.workflow-badge{border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.workflow-pending_review{color:#7a5214;background:#fff3d9;border-color:#e9c882}.workflow-reviewed{color:#145d35;background:#e0f4e7;border-color:#add7bb}.workflow-ignored{color:var(--muted);background:#eef1ef}.pagination-actions{justify-content:center;align-items:center;gap:12px;margin-top:18px;display:flex}.received-invoice-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.received-action-group{background:var(--surface-muted,#f8fafc);border:1px solid var(--border);border-radius:12px;align-content:start;gap:10px;padding:14px;display:grid}.received-action-group>.inline-actions{margin:0}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.detail-list{gap:10px;margin:0;display:grid}.detail-list>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(120px,.8fr) 1.2fr;gap:12px;padding-bottom:10px;display:grid}.detail-list dt{color:var(--muted)}.detail-list dd{overflow-wrap:anywhere;margin:0;font-weight:600}.totals-list dd{text-align:right}.event-timeline{gap:16px;margin-top:18px;display:grid}.timeline-item{grid-template-columns:18px 1fr;gap:12px;display:grid;position:relative}.timeline-item:not(:last-child):before{content:"";background:var(--border);width:2px;position:absolute;top:16px;bottom:-18px;left:6px}.timeline-dot{background:var(--primary);border-radius:50%;width:14px;height:14px;margin-top:3px}.timeline-dot.internal{background:#d58a1f}.link-button{color:var(--primary);font-weight:600}.favorite{color:var(--primary-dark)}.danger-text{color:#8a1f1f}.page-loading{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;font-weight:600;display:flex}.quote-workspace{color:#214d35;gap:0;font-family:Segoe UI,Arial,sans-serif;font-size:18px}.quote-workspace .page-card{box-shadow:none;border-color:#dfe3ea;border-radius:0}.quote-document-card{grid-template-columns:minmax(300px,1fr) minmax(420px,.95fr);gap:18px 42px;padding:26px 28px 22px;display:grid}.quote-document-card .quote-toolbar{border-bottom:1px solid #dfe3ea;grid-column:1/-1;align-items:center;min-height:48px;padding-bottom:18px}.quote-workspace .quote-heading{gap:0}.quote-workspace .quote-title-row{gap:22px}.quote-workspace h1{color:#111827;font-size:25px;font-weight:500}.quote-workspace .quote-tabs{background:0 0;border:0;border-radius:0;gap:0;padding:0}.quote-workspace .tab-button{color:#3d6550;box-shadow:none;border-bottom:2px solid #0000;border-radius:0;padding:10px 16px 12px;font-weight:400}.quote-workspace .tab-button.active{color:#24965a;box-shadow:none;background:0 0;border-color:#24965a}.quote-toolbar-hint{display:none}.quote-toolbar-actions{justify-content:flex-end;gap:8px}.quote-workspace .secondary-button,.quote-workspace .link-button{border-radius:3px}.quote-workspace .secondary-button{color:#214d35;background:#fff;border-color:#c8dfd0;min-height:36px;font-size:16px;font-weight:400}.quote-workspace .quote-save-button{color:#fff;background:#279b5c;border-color:#279b5c}.quote-document-card .quote-summary{margin:0;display:block}.quote-document-card .summary-item{display:none}.quote-document-card .summary-item:first-child,.quote-document-card .summary-item:nth-child(2),.quote-document-card .summary-item:nth-child(3),.quote-document-card .summary-item:nth-child(4),.quote-document-card .summary-item:nth-child(5){background:0 0;border:0;border-radius:0;padding:0;display:block}.quote-document-card .summary-label{font-size:inherit;text-transform:none;letter-spacing:normal;color:#214d35;display:inline}.quote-document-card .summary-label:after{content:" : "}.quote-document-card .summary-value{margin:0;font-weight:400;display:inline}.quote-document-card .info-block{background:#f4f9f5;border-radius:5px;margin:0;padding:16px 18px}.quote-document-card .info-block h2{display:none}.quote-information-toggle{color:#214d35;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:4px 0;font-weight:600;display:flex}.quote-information-toggle-summary{color:#54705e;margin-left:auto;font-size:.88rem;font-weight:400}.quote-information-toggle[aria-expanded=true]{margin-bottom:14px}.quote-information-toggle:focus-visible{outline-offset:3px;outline:2px solid #327a50}.quote-document-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.quote-document-card .field>span{color:#54705e;font-weight:400}.quote-document-card .field-wide{grid-column:1/-1}.quote-workspace select,.quote-workspace input,.quote-workspace textarea{border-color:#c8dfd0;border-radius:3px}.quote-lines-card{padding:0 28px 26px}.quote-lines-header{border-bottom:1px solid #e3e7ec;padding:16px 0}.quote-lines-header h2{margin:0;font-size:0}.quote-lines-header h2:after{content:"Prestations";font-size:18px;font-weight:600}.quote-workspace .quote-edit-layout{padding-top:16px;display:block}.quote-workspace .quote-library-pane{display:none}.quote-workspace .quote-library-pane.service-picker-modal-open{z-index:100;background:#f2f8f4;border:0;border-radius:0;max-height:none;padding:32px max(32px,50vw - 660px);display:block;position:fixed;inset:0;overflow:auto}.service-picker-modal-header{color:#214d35;justify-content:space-between;align-items:flex-start;gap:24px;max-width:1320px;margin:0 auto 24px;display:flex}.service-picker-modal-header h2{margin:0;font-size:26px;font-weight:600}.service-picker-modal-header p{color:#5a7563;margin:6px 0 0}.service-picker-close{color:#426950;cursor:pointer;background:#fff;border:1px solid #c8dfd0;border-radius:50%;width:42px;height:42px;font-size:28px;font-weight:300;line-height:1}.service-picker-close:hover{color:#24965a;border-color:#24965a}.quote-workspace .service-picker-modal-open .service-picker{gap:20px;max-width:1320px;margin:0 auto}.service-part-target{color:#214d35;background:#fff;border:1px solid #cfe2d5;border-radius:4px;padding:14px 16px}.service-part-target label{justify-content:space-between;align-items:center;gap:18px;display:flex}.service-part-target select{min-width:min(100%,430px);font:inherit;padding:9px 12px}.quote-workspace .service-picker-modal-open .library-tree{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.quote-workspace .service-picker-modal-open .library-family{background:#fff;border-color:#cfe2d5}.quote-workspace .service-picker-modal-open .library-item{padding:14px 16px}.quote-workspace .service-picker-modal-open .library-search .filter-input{border-color:#b9d6c3;max-width:720px;padding:13px 15px;font-size:18px}.quote-workspace .library-family,.quote-workspace .library-item{border-color:#d9e0e9;border-radius:3px}.quote-workspace .quote-lines-table{color:#214d35;margin-top:0}.quote-workspace .quote-lines-table th{color:#fff;font-size:inherit;text-transform:none;letter-spacing:normal;white-space:nowrap;background:#2c9f5e;border:0;padding:14px 10px;font-weight:500}.quote-workspace .quote-lines-table th:first-child{border-radius:4px 0 0}.quote-workspace .quote-lines-table th:last-child{border-radius:0 4px 0 0}.quote-workspace .quote-lines-table td{vertical-align:middle;border-color:#dfebe2;padding:5px 10px}.quote-workspace .quote-lines-table tbody tr:not(.quote-section-row) td{height:46px}.quote-workspace .quote-lines-table .line-drop-row{display:none}.quote-workspace .quote-lines-table .line-drop-row-visible{display:table-row}.line-drop-row-visible .line-drop-zone{color:#54705e;border-color:#b7cfbd;height:auto;min-height:22px}.quote-workspace .quote-section-row td{background:#d9eddf;border-color:#d9eddf;padding:6px 12px}.quote-workspace .quote-section-inner{flex-wrap:nowrap;gap:12px}.quote-workspace .quote-section-badge{display:none}.quote-workspace .quote-section-input{color:#214d35;font-size:inherit;background:0 0;border:0;border-radius:0;flex:1;min-width:0;padding:4px 0;font-weight:600}.quote-workspace .line-number-badge,.quote-workspace .drag-handle{color:#54705e;background:0 0;border:0;border-radius:0;min-width:auto;padding:0;font-weight:400}.quote-workspace .quote-lines-table .table-input{min-width:58px;min-height:30px;font-size:inherit;background:0 0;border-color:#0000;padding:3px 4px}.quote-workspace .quote-lines-table .table-input:focus{background:#fff;border-color:#67bd87}.ouvrage-line-title{align-items:center;gap:8px;display:flex}.ouvrage-line-title .table-input{flex:1;min-width:0}.component-visibility-options{gap:.5rem;display:grid}.component-quantity-visibility{white-space:normal;cursor:pointer;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.component-quantity-visibility input{flex-shrink:0;width:auto}.ouvrage-details-toggle{color:#17653c;font:inherit;white-space:nowrap;cursor:pointer;background:#eff8f1;border:1px solid #9acbad;border-radius:3px;flex:none;padding:4px 8px;font-size:13px;line-height:1.2}.ouvrage-details-toggle:hover{background:#dff1e4;border-color:#278d57}.quote-workspace .quote-lines-table td:last-child .link-button{color:#2c9f5e;border:1px solid #2c9f5e;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:0;display:inline-flex}.quote-workspace .quote-lines-table td:last-child .link-button:after{content:"×";font-size:19px;line-height:1}.quote-totals-card{justify-content:flex-end;padding:0 28px 28px;display:flex}.quote-workspace .totals-card{width:min(100%,520px);box-shadow:none;background:#fff;border:1px solid #c8dfd0;border-radius:4px;margin:0}.quote-workspace .totals-card>div{justify-content:space-between;padding:6px 16px;display:flex}.quote-workspace .totals-card>div:last-child{color:#fff;background:#2c9f5e;margin-top:8px;padding:13px 16px}.quote-workspace .totals-card .muted,.quote-workspace .totals-card .total-value{color:inherit}.quote-workspace .totals-card .total-value{font-weight:600}.status-draft{color:#3f6950;background:#edf7f0;border-color:#cce1d2}.status-sent{color:#17653c;background:#e0f4e7;border-color:#b9dfc7}.status-accepted{color:#145d35;background:#d7f0df;border-color:#add7bb}@media (width<=900px){.received-invoice-actions{grid-template-columns:1fr}.quote-workspace{font-size:16px}.quote-document-card,.quote-workspace .quote-edit-layout{grid-template-columns:1fr}.quote-workspace .quote-library-pane.service-picker-modal-open{padding:20px}.quote-workspace .service-picker-modal-open .library-tree{grid-template-columns:1fr}}@media (width<=1024px){.app-body{padding:20px}.sidebar{display:none}.bottom-nav{padding:10px max(12px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));justify-content:center;align-items:center;gap:6px;display:flex}.bottom-nav>.nav-link,.mobile-more-button{justify-content:center;min-width:0;padding:9px 12px;font-size:.82rem}.content{padding-bottom:80px}.topbar{gap:12px;padding:12px 20px}.topbar-main{flex:none}.topbar-nav{display:none}.topbar-actions{flex:1;justify-content:flex-end}.table-wrap,.received-invoices-wrap{display:none}.detail-grid{grid-template-columns:1fr}.card-list{display:flex}.builder,.quote-edit-layout{grid-template-columns:1fr}.quote-library-pane{max-height:none;position:static;top:auto;overflow:visible}.composition-row{grid-template-columns:1fr}.library-item{flex-direction:column;align-items:flex-start}.library-item-actions{justify-content:flex-start;width:100%}}@media (width<=680px){.topbar{flex-wrap:wrap;align-items:flex-start;padding:10px 12px}.topbar-main{padding-top:2px}.brand{gap:8px}.brand-mark{border-radius:12px;width:38px;height:38px}.topbar-actions{flex-basis:100%;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;display:grid}.company-current,.company-switcher{grid-column:1/-1;max-width:none}.company-switcher select{width:100%;min-width:0;max-width:none}.user-pill{max-width:none}.ghost-button{padding:8px 12px}.app-body{padding:14px 12px}.page-card{border-radius:14px;padding:18px 14px}.form-grid,.dashboard-actions,.summary-grid{grid-template-columns:minmax(0,1fr)}.inline-actions>button,.inline-actions>a,.form-actions>button{flex:100%;width:100%}.bottom-nav{justify-content:space-between}.bottom-nav>.nav-link,.mobile-more-button{padding:9px 7px;font-size:.75rem}}.document-fields{border:0;min-width:0;margin:0;padding:0}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-top:20px;display:grid}.overview-group{border:1px solid #d4ded7;border-radius:10px;min-width:0;padding:18px}.overview-count{text-align:center;color:#215c37;background:#e6f0e9;border-radius:6px;min-width:32px;padding:4px 8px;font-weight:700}.document-statuses{gap:6px;display:grid}.document-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions-menu{position:relative}.actions-menu summary{cursor:pointer;border:1px solid #c2d3c8;border-radius:8px;min-height:44px;padding:10px}.actions-menu-panel{background:#fff;border:1px solid #c2d3c8;border-radius:8px;gap:4px;min-width:190px;padding:8px;display:grid}.actions-menu-panel a,.actions-menu-panel button{text-align:left;font:inherit;color:#25563a;cursor:pointer;background:0 0;border:0;min-height:44px;padding:10px}.actions-menu-panel a:hover,.actions-menu-panel button:hover{background:#edf3ee}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.document-table th{white-space:normal}.action-list,.recent-list{margin:0;padding:0;list-style:none}.action-list li{border-bottom:1px solid #e2e8e4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.recent-list li{padding:10px 0}.empty-state{background:#f5f8f6;border-radius:10px;padding:24px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-modal{color:#203b2b;background:#fff;border:1px solid #ccd6d0;border-radius:12px;width:min(620px,100vw - 32px);max-height:calc(100dvh - 32px);padding:24px;overflow:auto}.app-modal::backdrop{background:#0f201873}.service-picker-dialog{width:min(1200px,100vw - 24px)}.service-picker-dialog .quote-library-pane.service-picker-modal-open{background:#fff;width:auto;max-width:none;padding:0;display:block;position:static;inset:auto;overflow:visible}.service-picker-dialog .service-picker-modal-header{margin-bottom:16px}.service-picker-dialog .service-part-target label{flex-wrap:wrap}.service-picker-dialog .service-part-target select{min-width:0;max-width:100%}:where(button,a,input,select,textarea,summary):focus-visible{outline-offset:3px;outline:3px solid #1a7045}input,select,textarea{min-width:0;max-width:100%}.primary-button,.secondary-button,.ghost-button,.danger-button,.link-button,.field input,.field select,.filter-input{min-height:44px}.muted{color:#526358}.content,.page-stack,.page-card{min-width:0}.app-modal form{margin-top:16px}.app-modal .panel-header{align-items:start}.service-shortcuts button{white-space:normal}.quote-workspace .quote-document-card{display:block}.quote-document-card .quote-summary{flex-wrap:wrap;gap:12px 24px;margin:12px 0 20px;display:flex}.quote-document-card .summary-item:nth-child(n+4){display:none}.quote-document-card .summary-item:first-child .summary-label,.quote-document-card .summary-item:first-child .summary-value{font-size:1rem;font-weight:500}.quote-document-card .document-options .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.link-button{font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:8px 12px;display:inline-flex}.quote-lines-header h2{font-size:1.15rem}.quote-lines-header h2:after{content:none}.quote-totals-card{padding:20px 28px;display:block}.quote-totals-card h2{display:block}.quote-workspace .totals-card{border:0;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.quote-workspace .totals-card>div{padding:16px}.quote-workspace .totals-card>div:last-child{color:#17452b;background:#e3f0e8}.quote-workspace .totals-card .muted{color:#425c4c;font-size:.9rem;display:block}.quote-workspace .totals-card .total-value{font-variant-numeric:tabular-nums;margin-top:8px;font-size:1.25rem;display:block}@media (width<=900px){.topbar{position:static}.service-picker-dialog{padding:16px}.service-picker-dialog .service-picker-modal-header h2{font-size:1.1rem}}@media (width<=680px){.quote-document-card .form-grid,.quote-document-card .document-options .form-grid,.quote-workspace .totals-card{grid-template-columns:minmax(0,1fr)}.quote-totals-card{padding:18px 14px}.quote-workspace .totals-card>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.quote-workspace .totals-card .total-value{margin:0;font-size:1.1rem}}.save-status{color:#42584b;font-size:.9rem}.document-options summary{cursor:pointer;color:#315f43;min-height:44px;padding:12px 0;font-weight:600}.service-shortcuts{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.service-shortcuts h3,.service-shortcuts p{flex-basis:100%}.draft-banner,.topbar{flex-wrap:wrap}.topbar-main{flex-wrap:wrap;min-width:0}.topbar-nav{flex-wrap:wrap}.quote-workspace{font-size:1rem}.quote-workspace .quote-lines-table input[type=number]{text-align:right}.quote-workspace .quote-lines-table td:nth-child(n+3){font-variant-numeric:tabular-nums}.quote-workspace .quote-lines-table .table-input{min-height:44px}.quote-workspace .quote-lines-table th{background:#246b44}.line-order-button,.ouvrage-details-toggle,.icon-button{min-width:44px;min-height:44px}.editor-savebar{z-index:15;background:#fff;border:1px solid #b9cfc0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;bottom:12px;box-shadow:0 3px 12px #00000014}@media (width<=1024px){.editor-savebar{bottom:84px}.quote-workspace .table-wrap{display:block;overflow:visible}.quote-workspace .quote-lines-table,.quote-workspace .quote-lines-table tbody{width:100%;display:block}.quote-workspace .quote-lines-table thead{display:none}.quote-workspace .quote-lines-table tbody tr:not(.line-drop-row){border:1px solid #ccdacf;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;padding:12px;display:grid}.quote-workspace .quote-lines-table tbody tr td{border:0;min-width:0;height:auto;padding:0;display:block}.quote-workspace .quote-lines-table tbody tr:not(.quote-section-row) td{height:auto}.quote-workspace .quote-lines-table td[data-label]:before{content:attr(data-label);color:#43594a;margin-bottom:4px;font-size:.85rem;display:block}.quote-workspace .quote-lines-table td:first-child,.quote-workspace .quote-lines-table td:nth-child(2),.quote-workspace .quote-lines-table td:last-child,.quote-workspace .quote-lines-table td[colspan]{grid-column:1/-1}.quote-workspace .quote-lines-table td[colspan]:empty{display:none}.quote-workspace .quote-lines-table .table-input{background:#fff;border-color:#b8c7be;width:100%}.quote-workspace .quote-lines-table .row-child{background:#f4f7f5;margin-left:8px}.quote-workspace .quote-lines-table .row-child td:nth-child(2){padding-left:0!important}.quote-workspace .quote-section-inner{flex-wrap:wrap}.quote-workspace .quote-section-input{flex-basis:100%}.ouvrage-line-title{flex-wrap:wrap}.ouvrage-line-title .table-input{flex:100%}.editor-savebar{flex-wrap:wrap}.editor-savebar span{font-size:.85rem}.component-visibility-options{display:grid}.component-quantity-visibility{white-space:normal}}.connection-notice{color:#61440f;background:#fff5de;border:1px solid #dfbd75;border-radius:10px;margin:12px 24px 0;padding:12px 16px}@media (width<=1024px){.app-shell,.auth-page{min-height:100dvh}.app-body{padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.content{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.bottom-nav>.nav-link,.mobile-more-button,.mobile-more-menu .nav-link{min-width:44px;min-height:44px}.bottom-nav>.nav-link,.mobile-more{flex:1}.mobile-more-button{width:100%}.company-switcher select,.app-shell input,.app-shell select,.app-shell textarea,.field input,.field select,.field textarea,.filter-input,.filter-toggle input,.filter-toggle select,.quote-workspace .quote-lines-table .table-input,.composition-row input,.composition-row select{min-height:44px;font-size:16px}.quote-workspace .quote-lines-table td:last-child .link-button,.quote-workspace .drag-handle,.segment{min-width:44px;min-height:44px}.quote-workspace .secondary-button,.vat-switch-button,.family-toggle,.quote-information-toggle,.technical-details summary{min-height:44px}.app-modal .panel-header>.ghost-button,.service-picker-close{min-width:44px;min-height:44px}.recent-list a,.card-item .card-row>a{align-items:center;min-height:44px;display:inline-flex}.editor-savebar{bottom:calc(88px + env(safe-area-inset-bottom))}.received-invoice-card .card-row{flex-wrap:wrap}.received-invoice-card .detail-list>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.received-invoice-filters .filter-toggle{flex:200px;justify-content:space-between}.received-invoice-filters .filter-toggle input,.received-invoice-filters .filter-toggle select{flex:1}.connection-notice{margin:12px 12px 0}}@media (width<=680px){.bottom-nav{gap:2px}.bottom-nav>.nav-link,.mobile-more-button{padding-left:3px;padding-right:3px}}
