:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172224;background:#f5f7f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#04303c;color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;margin-bottom:32px;min-height:58px}.sidebar-logo{display:block;width:100%;height:auto;max-height:72px;object-fit:contain;object-position:left center}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff;color:#103a40;font-weight:800}.brand-mark.large{width:52px;height:52px;border-radius:14px;margin:auto;font-size:22px;background:#103a40;color:#fff}.sidebar nav{display:grid;gap:5px}.sidebar nav button,.logout{border:0;background:transparent;color:#fff;text-align:left;padding:11px 13px;border-radius:10px;opacity:.78}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff1c;opacity:1}.logout{margin-top:auto}.content{padding:36px 42px;max-width:1440px;width:100%}header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:20px}h1{font-size:28px;margin:0 0 7px}h2{font-size:17px;margin:0 0 18px}h3{font-size:14px;margin:0 0 12px}p{color:#667477;margin:0 0 12px;line-height:1.55}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}button{border:1px solid #d5dddd;background:#fff;border-radius:10px;padding:10px 14px;color:#183134}button:hover{border-color:#aebdbd}button:disabled{cursor:not-allowed;opacity:.55}button.primary{background:#103a40;border-color:#103a40;color:#fff}button.compact{padding:6px 9px;border-radius:8px;font-size:11px}button.danger-ghost{border:0;background:transparent;font-size:20px;padding:2px 5px;color:#8f4a4a}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric,.panel{background:#fff;border:1px solid #e0e6e6;border-radius:16px}.metric{padding:19px;min-width:0}.metric span{display:block;color:#748084;font-size:12px;margin-bottom:9px}.metric strong{font-size:20px;line-height:1.2;overflow-wrap:anywhere}.panel{padding:22px;margin-bottom:18px}.panel-title{display:flex;justify-content:space-between;align-items:center}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px}.two-col.wide{grid-template-columns:minmax(380px,.9fr) 1.1fr}.row,.expense-row,.invoice-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 0;border-top:1px solid #eef2f2}.row:first-of-type,.expense-row:first-of-type,.invoice-row:first-of-type{border-top:0}.row b,.expense-row b,.invoice-row b{display:block;font-size:13px}.row small,.expense-row small,.invoice-row small{display:block;color:#7b8789;margin-top:4px}.row-button{border:0;background:transparent;padding:0;text-align:left;flex:1}.empty{padding:24px;border:1px dashed #d9e0e0;border-radius:12px;color:#899395;text-align:center}.dropzone{display:grid;place-items:center;text-align:center;background:#fff;border:2px dashed #b9c9ca;border-radius:18px;padding:46px 24px;margin-bottom:20px;transition:.2s}.dropzone:hover{border-color:#103a40;background:#fbfcfc}.dropzone input{display:none}.dropzone strong{font-size:16px}.dropzone span{font-size:12px;color:#738083;margin-top:7px}.dropzone.busy{opacity:.65}.expense-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.pill{font-size:10px;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:5px 8px;background:#eef2f2;white-space:nowrap}.pill.validated{background:#e8f4ed;color:#296440}.pill.review{background:#fff2dc;color:#8a5b12}.pill.processing{background:#eaf0f6;color:#315f7d}.pill.rejected{background:#f7eaea;color:#8d4141}.form{display:grid;gap:14px}.form label{display:grid;gap:6px;font-size:12px;color:#5f6f72}.form input,.form textarea,.form select,.month-picker{border:1px solid #d7dfdf;border-radius:10px;padding:10px 11px;background:#fff;color:#172224;min-width:0}.form textarea{min-height:74px;resize:vertical}.field-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.field-grid.two{grid-template-columns:1fr 1fr}.supplier-fields label{align-content:start}.supplier-fields small{min-height:16px;color:#667679;line-height:1.35}.supplier-new-name{padding:12px;border-radius:10px;background:#f4f7f7}.settings{max-width:780px}.logo-upload{padding:18px;border:1px dashed #cbd7d7;border-radius:12px}.logo-upload span{color:#7b8789}.logo-upload img{margin-top:12px;max-width:260px;max-height:90px;object-fit:contain;object-position:left center}.notice,.warning{padding:14px;border-radius:10px;line-height:1.45}.notice{background:#f4f7f7;color:#5d6c6f}.warning{background:#fff4e2;color:#79531c;border:1px solid #f0d7ae}.invoice-lines{border:1px solid #dce4e4;border-radius:12px;overflow:hidden}.line-head,.line-edit{display:grid;grid-template-columns:minmax(170px,2.7fr) .65fr .85fr .7fr .65fr .65fr 30px;gap:7px;align-items:center}.line-head{padding:9px 10px;background:#f5f7f7;color:#778487;font-size:10px;text-transform:uppercase;letter-spacing:.03em}.line-edit{padding:9px 10px;border-top:1px solid #edf1f1}.line-edit input{width:100%;border:1px solid #d7dfdf;border-radius:8px;padding:8px}.totals-box{margin-left:auto;width:min(100%,330px);border-top:1px solid #dce4e4;padding-top:12px;display:grid;gap:8px}.totals-box>div{display:flex;justify-content:space-between;gap:20px;font-size:13px}.totals-box span{color:#667477}.totals-box .grand{margin-top:4px;padding-top:10px;border-top:1px solid #e2e8e8;align-items:baseline}.totals-box .grand strong{font-size:22px;color:#103a40}.modal-backdrop{position:fixed;inset:0;background:#0f1e207a;display:grid;place-items:center;z-index:40;padding:22px}.modal-card{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 80px #00000040}.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.modal-head h2{margin-bottom:5px}.center-card,.login-card{background:#fff;border:1px solid #e0e6e6;border-radius:18px;padding:30px;max-width:560px;margin:10vh auto}.center-card code{background:#eef2f2;padding:2px 5px;border-radius:5px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f4f7f7}.login-card{width:min(420px,100%);margin:0;display:grid;gap:16px;text-align:center}.login-card label{text-align:left;display:grid;gap:6px;font-size:12px}.login-card input{border:1px solid #d7dfdf;border-radius:10px;padding:11px}.error{background:#fff0f0;color:#953838;padding:10px;border-radius:9px;font-size:12px}.toast{position:fixed;right:25px;top:22px;background:#173f46;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 8px 30px #0000002e;z-index:50;font-size:13px;max-width:440px}@media(max-width:1050px){.line-head{display:none}.line-edit{grid-template-columns:1fr 1fr 1fr}.line-edit input:first-child{grid-column:1 / -1}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.content{padding:24px}.metric-grid{grid-template-columns:1fr 1fr}.two-col,.two-col.wide{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.metric-grid,.field-grid,.field-grid.two{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr 1fr}header{display:block}.actions{margin-top:14px}.expense-row,.invoice-row{align-items:flex-start;flex-direction:column}.expense-meta{width:100%;justify-content:flex-end}.line-edit{grid-template-columns:1fr 1fr}.line-edit input:first-child{grid-column:1/-1}}.invoice-workspace{grid-template-columns:minmax(560px,.95fr) minmax(500px,1.05fr);align-items:start;gap:20px}.invoice-form{min-width:0}.two-row-lines{overflow:visible}.line-card{padding:14px;border-top:1px solid #edf1f1;display:grid;gap:12px}.line-card:first-child{border-top:0}.line-card label{display:grid;gap:6px;color:#667477;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.line-card input{width:100%;border:1px solid #d7dfdf;border-radius:9px;padding:10px;color:#172224;background:#fff;min-width:0}.line-concept input{font-size:14px;text-transform:none;letter-spacing:normal;padding:12px}.line-numbers{display:grid;grid-template-columns:repeat(5,minmax(82px,1fr)) var(--line-action-size, 40px);gap:9px;align-items:end}.line-delete{align-self:end;height:40px;margin-bottom:0}.invoice-preview-panel{padding:16px;position:sticky;top:20px;min-width:0}.preview-title{gap:16px;margin-bottom:12px}.preview-title h2{margin-bottom:4px}.preview-title p{font-size:12px;margin:0}.invoice-preview-frame{width:100%;height:min(78vh,900px);min-height:650px;border:1px solid #dce4e4;border-radius:10px;background:#eef1f1;display:block}.issued-invoices-panel{padding-top:8px}.issued-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:18px;padding:17px 0}.issued-main{min-width:0}.issued-main b{font-size:14px}.issued-total{white-space:nowrap;font-size:15px}.issued-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.issued-actions button{white-space:nowrap}@media(max-width:1250px){.invoice-workspace{grid-template-columns:1fr}.invoice-preview-panel{position:static}.invoice-preview-frame{min-height:720px;height:80vh}}@media(max-width:720px){.line-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.line-delete{width:42px}.issued-row{grid-template-columns:1fr;align-items:start}.issued-actions{justify-content:flex-start}.invoice-preview-frame{min-height:520px;height:70vh}}.fiscal-panel{border-color:#cfdadb}.fiscal-panel .panel-title{align-items:flex-start;margin-bottom:14px}.fiscal-panel .panel-title h2{margin-bottom:5px}.fiscal-panel .panel-title p{margin:0;font-size:12px}.fiscal-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.fiscal-grid .metric{background:#f8fafa;padding:15px;border-radius:12px}.fiscal-grid .metric strong{font-size:18px}.fiscal-note{margin-top:14px;font-size:12px}@media(max-width:1180px){.fiscal-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.fiscal-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.fiscal-grid{grid-template-columns:1fr}}.verifactu-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #d7e0e1;border-radius:16px;padding:18px 20px;background:#f7f9f9;margin-top:8px}.verifactu-card h2{margin:0 0 4px}.verifactu-card p{margin:0;color:#66777a}.verifactu-card.enabled{border-color:#2f6f5e;background:#eef8f3}.verifactu-card.enabled p{color:#285b4d;font-weight:600}.overdue-row{background:#fff8f3;border-radius:12px;padding-left:12px!important;padding-right:12px!important}.attention-panel{border-color:#ead5c4;background:#fffbf7}.recurring-panel{margin-bottom:18px}.recurring-list{display:grid;gap:8px}.recurring-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #edf1f1}.recurring-row:first-child{border-top:0}.recurring-row small{display:block;margin-top:4px;color:#6a7779}.recurring-save{margin-top:18px;padding-top:16px;border-top:1px solid #e5ebeb}.recurring-save h3{margin:0 0 12px;font-size:14px}.rectification-banner{border-color:#d9c9a4;background:#fffdf8;margin-bottom:18px}.rectification-banner h2{margin-bottom:12px}.quarterly-close{margin-top:18px}.quarterly-close .panel-title{align-items:flex-end}.muted{opacity:.58}.expense-meta .pill{white-space:nowrap}@media(max-width:760px){.recurring-row,.quarterly-close .panel-title{align-items:flex-start;flex-direction:column}}.vf-activation-modal{width:min(720px,100%)}.vf-warning{display:grid;gap:5px;padding:15px 17px;border-radius:14px;background:#f3f6f6;margin-bottom:16px}.vf-warning span,.vf-test-note{color:var(--muted);line-height:1.45}.vf-checklist{display:grid;gap:9px;margin:16px 0}.vf-check{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:#fff}.vf-check-mark{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;flex:0 0 28px;background:#eef2f2;font-weight:800}.vf-check>div{display:grid;gap:2px}.vf-check small{color:var(--muted)}.vf-check.ok .vf-check-mark{background:#e6f3ed}.vf-check.error .vf-check-mark{background:#f8e9e9}.vf-check.running .vf-check-mark{background:#edf1f7}.vf-confirm-label{display:grid;gap:8px;margin-top:18px}.vf-confirm-label input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}.vf-global-alert{margin:0 0 16px;padding:13px 16px;border:1px solid #e6c57f;border-radius:12px;background:#fff7e6;color:#684817;display:flex;gap:8px 14px;align-items:baseline;flex-wrap:wrap}.vf-global-alert b{color:inherit}.vf-global-alert span{line-height:1.45}.vf-global-alert.critical{background:#fff0f0;border-color:#e0aaaa;color:#833a3a}.vf-global-alert.neutral{background:#eef5f6;border-color:#c9dadd;color:#35575c}.compliance-panel{max-width:980px}.declaration-box{max-height:480px;overflow:auto;padding:18px;border:1px solid #dbe4e4;border-radius:12px;background:#fafcfc;margin-bottom:14px}.declaration-box pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#26383a}.hash-box{display:grid;gap:6px;padding:13px 15px;border-radius:11px;background:#f4f7f7;margin-bottom:14px}.hash-box code,.record-grid code{font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow-wrap:anywhere;word-break:break-all}.hash-box small{color:#748084}.record-inspector{border:1px solid #dce5e5;border-radius:13px;overflow:hidden;margin:14px 0}.record-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:#f5f8f8;border-bottom:1px solid #dce5e5}.record-nav b{font-size:12px;text-align:center}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.record-grid>span{min-width:0;display:grid;gap:5px;padding:12px 14px;border-bottom:1px solid #edf1f1}.record-grid>span:nth-child(odd){border-right:1px solid #edf1f1}.record-grid>span b{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#728083}.export-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:14px}.export-row label{display:grid;gap:5px;font-size:11px;color:#68777a}.export-row input{border:1px solid #d7dfdf;border-radius:9px;padding:9px 10px;background:#fff}@media(max-width:700px){.record-grid{grid-template-columns:1fr}.record-grid>span:nth-child(odd){border-right:0}.record-nav{align-items:stretch;flex-direction:column}.vf-global-alert{display:grid}}button.danger-button{border-color:#b54848;color:#9b3232;background:#fff7f7}button.danger-button:hover:not(:disabled){background:#fdecec}.expense-editor-actions .danger-button{margin-right:auto}.supplier-row .actions{margin-left:auto}@media(max-width:700px){.supplier-row{align-items:stretch}.supplier-row .actions{margin-left:0}.supplier-row .actions button{flex:1}}.proforma-list .panel-title{margin-bottom:10px;align-items:flex-start}.proforma-list .panel-title h2{margin-bottom:5px}.proforma-list .panel-title p{margin:0;font-size:12px}.proforma-row{display:grid;grid-template-columns:minmax(210px,1fr) auto auto minmax(320px,auto);align-items:center;gap:16px;padding:15px 0;border-top:1px solid #edf1f1}.proforma-main{min-width:0}.proforma-main b,.proforma-main small{display:block}.proforma-main small{margin-top:4px;color:#748084}.proforma-active{background:#edf6f3;color:#2c6655}.proforma-converted{background:#eaf0f6;color:#315f7d}.proforma-cancelled{background:#f7eaea;color:#8d4141}.proforma-convert-modal{width:min(680px,100%)}@media(max-width:1050px){.proforma-row{grid-template-columns:1fr auto}.proforma-row .actions{grid-column:1/-1}}@media(max-width:620px){.proforma-row{grid-template-columns:1fr}.proforma-row .actions{grid-column:auto}.proforma-row .actions button{width:100%}}.quote-list .panel-title{margin-bottom:10px;align-items:flex-start}.quote-list .panel-title h2{margin-bottom:5px}.quote-list .panel-title p{margin:0;font-size:12px}.quote-row{display:grid;grid-template-columns:minmax(240px,1fr) auto auto minmax(360px,auto);align-items:center;gap:16px;padding:15px 0;border-top:1px solid #edf1f1}.quote-main{min-width:0}.quote-main b,.quote-main small{display:block}.quote-main small{margin-top:4px;color:#748084}.quote-draft{background:#eef2f2;color:#40575b}.quote-sent{background:#eaf0f6;color:#315f7d}.quote-accepted{background:#e8f4ed;color:#296440}.quote-rejected{background:#f7eaea;color:#8d4141}.quote-expired{background:#fff2dc;color:#7b5316}.quote-converted{background:#e9eef7;color:#3a517c}.quote-convert-modal{width:min(680px,100%)}@media(max-width:1180px){.quote-row{grid-template-columns:1fr auto}.quote-row .actions{grid-column:1/-1}}@media(max-width:620px){.quote-row{grid-template-columns:1fr}.quote-row .actions{grid-column:auto}.quote-row .actions button:not(.action-icon){width:100%}}:root{color-scheme:light;--canvas: #fafcfc;--surface: #ffffff;--recessed: #f7fafa;--ink: #111a1c;--muted: #34484c;--line: #bdcccf;--accent: #103a40;--focus: #087584;--raised: 7px 7px 17px #d8e0e2, -7px -7px 17px #ffffff;--raised-small: 3px 3px 7px #d3dfe1, -3px -3px 7px #ffffff;--inset: inset 2px 2px 5px #d4dfe1, inset -2px -2px 5px #ffffff;color:var(--ink);background:var(--canvas)}.app-shell{grid-template-columns:238px minmax(0,1fr)}.content{min-width:0}p,.form label,.line-card label,.export-row label,.metric span,.row small,.expense-row small,.invoice-row small,.dropzone span,.supplier-fields small,.logo-upload span,.totals-box span,.recurring-row small,.hash-box small,.record-grid>span b,.proforma-main small,.quote-main small,.line-head{color:var(--muted)}.form label,.metric span,.export-row label{font-size:13px}.form label,.line-card label{font-weight:500}.line-card label{font-size:11px}a{color:#086370;text-underline-offset:3px}.metric,.panel,.center-card,.login-card{background:var(--surface);border:1px solid #dce5e7;border-radius:20px;box-shadow:var(--raised)}.metric-grid{gap:20px;margin-bottom:24px}.panel{margin-bottom:24px}.metric strong,.issued-total,.totals-box{font-variant-numeric:tabular-nums}.fiscal-grid{gap:14px}.fiscal-grid .metric{background:var(--recessed);border-color:var(--line);border-radius:12px;box-shadow:var(--inset)}button{background:var(--surface);border-color:#a9babb;color:var(--ink);box-shadow:var(--raised-small);font-weight:600;transition:box-shadow .14s ease,background-color .14s ease,border-color .14s ease}button:hover:not(:disabled){background:#f3f8f8;border-color:#718f93}button:active:not(:disabled){background:var(--surface);box-shadow:var(--inset)}button.primary,.brand-mark.large{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:4px 4px 9px #bdccce,-3px -3px 8px #fff,inset 0 1px #497077}button.primary:hover:not(:disabled){background:#164b53;border-color:#164b53}button.primary:active:not(:disabled){box-shadow:inset 3px 3px 7px #082b31,inset -2px -2px 5px #28565c}button:disabled,button.primary:disabled{opacity:1;color:#607174;background:#edf2f3;border-color:#c3cfd0;box-shadow:none}button.danger-button{color:#923737;border-color:#b97373;background:#f8eeee}button.danger-button:hover:not(:disabled){color:#7d2424;border-color:#9b4545;background:#f5e4e4}button.danger-ghost,.row-button{box-shadow:none}button.danger-ghost{background:transparent}.row-button{background:transparent;border-radius:5px}.row-button:hover:not(:disabled){background:#dfe9e9}.sidebar{background:#04303c;box-shadow:5px 0 16px #dde5e7;z-index:1}.sidebar nav{gap:10px}.sidebar nav button,.logout{opacity:1;color:#d7e8eb;background:#04303c;border:1px solid transparent;box-shadow:none}.sidebar nav button:hover:not(:disabled),.logout:hover:not(:disabled){color:#fff;background:#073641;border-color:#1c4c56;box-shadow:3px 3px 7px #01212b,-3px -3px 7px #104450}.sidebar nav button.active,.sidebar nav button.active:hover:not(:disabled),.sidebar nav button:active:not(:disabled),.logout:active:not(:disabled){color:#fff;background:#042c37;border-color:#22515d;box-shadow:inset 4px 4px 8px #001e28,inset -3px -3px 7px #114653}.form input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),.form textarea,.form select,.month-picker,.login-card input,.line-card input,.line-edit input,.export-row input{background:var(--recessed);color:var(--ink);border-color:#73878c;box-shadow:var(--inset);font-size:14px;font-weight:400}input::placeholder,textarea::placeholder{color:#4c6166;opacity:1}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}input:disabled,textarea:disabled,select:disabled{opacity:1;color:#53666b;background:#edf2f3}:is(button,a,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:3px}.sidebar :is(button,a):focus-visible{outline-color:#9ae0e6}.row,.expense-row,.invoice-row,.proforma-row,.quote-row,.recurring-row,.line-card,.line-edit,.recurring-save,.totals-box,.totals-box .grand,.invoice-lines,.record-inspector{border-color:var(--line)}.line-head,.record-nav{background:#eef4f5}.notice,.supplier-new-name,.vf-warning,.hash-box,.declaration-box{background:#f1f6f7;color:var(--muted);border:1px solid #cad8d9;box-shadow:inset 2px 2px 5px #dce6e8,inset -2px -2px 5px #fff}.empty{color:var(--muted);border-color:#a7babb;background:#f7fafa}.dropzone{background:var(--surface);border-color:#829fa3;box-shadow:var(--inset);transition:background-color .14s ease,border-color .14s ease}.dropzone:hover{background:#f1f7f7;border-color:var(--accent)}.pill{border:1px solid #ccd8d9}.attention-panel{background:#f6f0e6;border-color:#dbc6a4}.rectification-banner{background:#f7f2e7;border-color:#d9c9a4}.overdue-row{background:#f6eee4}.verifactu-card{background:var(--surface);border-color:var(--line);box-shadow:var(--inset)}.verifactu-card p{color:var(--muted)}.verifactu-card.enabled{background:#e4f1ea;border-color:#669984;box-shadow:none}.verifactu-card.enabled p{color:#285b4d}.vf-check{background:var(--surface);border-color:var(--line)}.login-wrap{background:var(--canvas)}.modal-backdrop{background:#0a20268c}.modal-card{background:var(--surface);border:1px solid #f6f9f9;border-radius:24px;box-shadow:16px 20px 52px #041c224d,inset 1px 1px #fff}.toast{border:1px solid #426a71;box-shadow:5px 7px 20px #041c223d}.invoice-preview-frame{border-color:#afc1c4;box-shadow:var(--inset)}.muted{opacity:1;color:var(--muted)}button.action-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;padding:10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--accent);box-shadow:none}button.action-icon:hover:not(:disabled){background:#eaf2f3;border-color:transparent;box-shadow:none}button.action-icon:active:not(:disabled){background:#dbe9eb;box-shadow:none}button.action-icon-danger{color:#a32932}button.action-icon-danger:hover:not(:disabled){color:#851f27;background:#fcebed}button.action-icon:disabled{color:#65777b;background:transparent;border-color:transparent}.action-icon svg{flex-shrink:0}.action-icon-loading{animation:action-icon-spin .8s linear infinite}@keyframes action-icon-spin{to{transform:rotate(360deg)}}.supplier-row>div:first-child{min-width:0;overflow-wrap:anywhere}.supplier-row .actions{flex-shrink:0;flex-wrap:nowrap;gap:4px;margin:0}.issued-main.has-doc,.quote-main.has-doc{display:flex;align-items:center;gap:14px}.doc-lede{min-width:0}.doc-thumb{position:relative;display:block;flex:0 0 auto;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:var(--surface);box-shadow:var(--raised-small)}button.doc-thumb{transition:box-shadow .17s ease-out,transform .17s ease-out}button.doc-thumb:hover:not(:disabled){background:var(--surface);border-color:#92a8ab;transform:translateY(-2px);box-shadow:6px 7px 15px #cdd9db,-4px -4px 11px #fff}button.doc-thumb:active:not(:disabled){transform:translateY(0);box-shadow:var(--inset)}.doc-thumb-page{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;background:var(--surface);animation:doc-thumb-appear .24s ease-out both}@keyframes doc-thumb-appear{0%{opacity:0}to{opacity:1}}.doc-thumb-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#8fa2a5;background:var(--recessed)}.doc-thumb-placeholder svg{width:44%;height:auto}.doc-thumb-placeholder.is-failed{color:#a8767d}.doc-thumb-vacant{background:var(--recessed);box-shadow:var(--inset)}.doc-lightbox-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.doc-lightbox-card{display:flex;flex-direction:column;width:min(900px,100%);height:min(92dvh,1120px);max-height:92dvh;overflow:hidden;transform-origin:top left}.doc-lightbox-card:focus{outline:none}.doc-lightbox-card .modal-head{margin-bottom:15px}.doc-lightbox-stage{position:relative;display:grid;place-items:center;flex:1 1 auto;min-height:0;border-radius:10px;background:var(--recessed);box-shadow:var(--inset)}.doc-lightbox-card .doc-lightbox-frame{position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;transition:opacity .24s ease-out}.doc-lightbox-card .doc-lightbox-frame[data-settled]{opacity:1}.doc-lightbox-notice{margin:0;padding:52px 0;color:var(--muted);text-align:center}.doc-lightbox-stage .doc-lightbox-notice{padding:0}@media(pointer:coarse){:root{--line-action-size: 44px}button.action-icon{width:44px;height:44px}}@media(max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{box-shadow:0 5px 16px #dde5e7}.logout{margin-top:18px}}@media(max-width:560px){:root{--raised: 4px 4px 10px #d8e0e2, -4px -4px 10px #ffffff}.content{padding:24px 18px}.panel{padding:18px}.modal-backdrop{padding:12px}.modal-card{padding:20px;max-height:92dvh;border-radius:20px}.modal-head{gap:12px}.verifactu-card{align-items:flex-start;flex-direction:column}.toast{left:18px;right:18px;max-width:none}}@media(prefers-reduced-motion:reduce){button,.dropzone{transition:none}.action-icon-loading{animation:none}button.doc-thumb{transition:none}button.doc-thumb:hover:not(:disabled){transform:none}.doc-thumb-page{animation:none}.doc-lightbox-card .doc-lightbox-frame{opacity:1;transition:none}}@media(forced-colors:active){.doc-thumb{box-shadow:none;border:1px solid CanvasText}.doc-lightbox-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.metric,.panel,.modal-card,button,.sidebar nav button{box-shadow:none;border:1px solid CanvasText}.sidebar nav button.active{outline:2px solid Highlight;outline-offset:-3px}:is(button,a,input,textarea,select,[tabindex]):focus-visible{outline-color:Highlight}}
