:root{--bg:#f6f7f4;--surface:#fff;--ink:#1c3630;--muted:#78867f;--primary:#225e50;--primary-hover:#194b40;--line:#e4e9e3;--warm:#f6edda;--accent:#d3a56b;--radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:15px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{width:100%;min-width:0;border:1px solid #d4ded5;border-radius:9px;padding:11px 13px;color:var(--ink);background:white;min-height:45px}input[type=file]{padding:8px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #dcece4;border-color:var(--primary)}:focus-visible{outline:3px solid #9ec7b2;outline-offset:3px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3vw,38px);letter-spacing:-1.25px;line-height:1.2;margin:8px 0 12px;font-weight:650}h2{font-size:18px;letter-spacing:-.35px;margin-bottom:18px;font-weight:650}h3{font-size:17px}p{margin-bottom:14px}small,.small{font-size:12px}svg{width:21px;height:21px;flex-shrink:0}.muted{color:var(--muted)}.accent{color:var(--accent)}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:var(--muted)}.block{display:block}.center{text-align:center}.full{width:100%}.required{color:#9d643d;display:contents}.preline{white-space:pre-line;overflow-wrap:anywhere}.wrap{overflow-wrap:anywhere}.number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;left:15px;top:-60px;z-index:50;background:white;padding:15px}.skip:focus{top:10px}.brand{font-size:29px;font-weight:650;letter-spacing:-1.2px;display:flex;align-items:center;gap:9px;color:#184b3e}.brand:hover{text-decoration:none}.brand-mark{display:flex;align-items:center;justify-content:center;width:37px;height:39px;border-radius:12px;background:var(--primary);color:#f9faf2;font-size:32px;font-weight:450;line-height:1;padding-bottom:5px;letter-spacing:-2px}.brand-dot{color:var(--accent);margin-left:-9px}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#fcfdfa;border-right:1px solid var(--line);padding:32px 21px;display:flex;flex-direction:column;z-index:30}.sidebar .brand{margin-left:12px}.workspace{margin:37px 12px 28px;display:flex;flex-direction:column;gap:8px}.workspace strong{font-size:13px;overflow-wrap:anywhere}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:5px 0;border-radius:10px;color:#748077;font-size:14px}.nav-link.active{color:var(--primary);background:#e9f0e7;font-weight:650}.nav-link:hover{text-decoration:none;background:#eff3ec}.nav-link:last-child{margin-top:12px}.sidebar-bottom{margin-top:auto;padding:25px 12px 0}.sidebar-bottom p{font-size:12px;color:#9aa396;line-height:1.8}.sidebar-bottom strong{font-weight:500;color:#798876}.sidebar-bottom small{font-size:10px;color:#a8b0a5}.app-shell{margin-left:236px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.6)}.topbar-label{font-size:13px;color:#89958c}.account{display:flex;align-items:center;gap:20px}.account>a{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:12px}.avatar{display:inline-flex;align-items:center;justify-content:center;background:#ebeee1;width:33px;height:33px;border-radius:50%;font-size:13px;color:#788d6d;flex-shrink:0}.avatar.large{width:43px;height:43px}.account-name{max-width:160px;overflow:hidden;text-overflow:ellipsis}.text-button{border:0;background:none;color:var(--primary);padding:10px 5px;font-size:12px;font-weight:600}.text-button:hover{text-decoration:underline}.danger{color:#a94d48!important}.icon-button{width:38px;height:42px;background:none;border:0;border-radius:8px;color:var(--muted);font-size:22px}.menu-toggle{display:none}main{width:100%;max-width:1430px;padding:40px 42px 55px;margin:0 auto;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:6px 0 30px}.page-heading p{font-size:13px;margin-bottom:0}.back{display:inline-block;font-size:12px;margin-bottom:10px;color:var(--muted)}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.actions form{display:inline-flex;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 17px;border:1px solid transparent;border-radius:9px;font-size:12px;font-weight:650;white-space:nowrap}.button:hover{text-decoration:none}.button.primary{background:var(--primary);color:white;box-shadow:0 3px 4px #1c4a3310}.button.primary:hover{background:var(--primary-hover)}.button.secondary{background:white;border-color:#d9e1d6;color:#53684f}.button.secondary:hover{background:#f1f5ef}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 30px}.metric{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px 25px;display:flex;flex-direction:column;gap:13px;box-shadow:0 4px 15px #243c2a03}.metric.warm{background:#f9f3e7;border-color:#efe6d3}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-top svg{color:#97a991;width:19px}.metric span{font-size:12px;color:#65725f}.metric strong{font-size:clamp(25px,2.7vw,36px);letter-spacing:-1px;font-weight:550;line-height:1.1;font-variant-numeric:tabular-nums}.metric small,.metric a{color:#929b89;font-size:10px;margin-top:2px}.metric a span{margin-left:4px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:25px 27px;margin-bottom:22px;min-width:0;box-shadow:0 3px 15px #243c2a02}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.section-heading h2{margin:0}.section-heading p{margin:6px 0 0}.document-row{display:flex;align-items:center;gap:17px;padding:20px 0;border-bottom:1px solid #edf0e9;min-width:0;color:var(--ink)}.document-row:last-child{border-bottom:0}.document-row:hover{text-decoration:none}.document-row[href]:hover .row-main strong{color:#39725a}.document-icon{width:38px;height:43px;background:#f1f4ee;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#84997a}.row-main{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;overflow-wrap:anywhere}.row-main strong{font-size:12px;font-weight:600}.row-main small{font-size:10px;color:#929b8c;line-height:1.5}.row-amount{min-width:100px;text-align:right;white-space:nowrap;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.row-arrow{font-size:17px;color:#8d9b85;margin-left:8px}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:5px 9px;font-size:10px;white-space:nowrap;background:#f0f2ec;color:#839076}.badge.issued,.badge.accepted{background:#e9f3e9;color:#5b8763}.badge.sent{background:#f7efda;color:#aa8950}.badge.rejected,.badge.expired{background:#f8eae4;color:#b07863}.badge.draft,.badge.neutral{background:#eff1ed;color:#89957f}.quick-note{display:flex;align-items:center;gap:10px;font-size:12px;color:#879681;margin:29px 4px}.quick-note p{margin:0}.quick-note a{color:#63865b;text-decoration:underline;text-underline-offset:3px}.note-dot{width:6px;height:6px;flex-shrink:0;background:#c5ab7b;border-radius:50%}.app-footer{padding:10px 42px 25px;color:#a7afa1;font-size:10px}.stack{display:flex;flex-direction:column;gap:21px}.stack>.panel{margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 24px}.span-2{grid-column:span 2}.form-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:12px}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.two-columns>.panel{height:100%}.details{display:grid;grid-template-columns:110px 1fr;gap:10px 20px;font-size:13px;margin:0}.details dt{color:var(--muted)}.details dd{margin:0;overflow-wrap:anywhere}.summary-line{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 0;border-bottom:1px solid #edf0e9;font-size:13px}.summary-line:last-child{border:0}.summary-line strong{white-space:nowrap;font-variant-numeric:tabular-nums}.grand-total{font-size:21px;border-top:1px solid #cedbce;border-bottom:0;padding-top:21px;margin-top:8px;font-weight:650}.total-card{background:#f0f5ed}.total-card p{margin-top:20px}.inline-metric{display:flex;align-items:center;gap:25px;margin-bottom:25px;background:var(--warm);border:1px solid #eadfc6;border-radius:12px;padding:20px}.inline-metric span{font-size:13px}.inline-metric strong{font-size:25px;letter-spacing:-1px}.inline-metric a{margin-left:auto;font-size:12px}.filter-form{display:flex;align-items:flex-end;gap:15px;flex-wrap:wrap}.filter-form label{flex:1;min-width:160px}.search{display:flex;gap:12px;max-width:620px;margin-bottom:15px}.search input{background:#fbfcf9}.empty{text-align:center;padding:45px 16px;color:#84917d}.empty h3{color:#5b7152;font-weight:550;margin-bottom:10px}.empty p{font-size:13px}.empty-icon{display:inline-flex;padding:18px;background:#f0f4eb;border-radius:18px;margin-bottom:20px}.empty-icon svg{width:32px;height:32px;color:#a0b094}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:20px;font-size:12px;color:var(--muted)}.notice{padding:14px 18px;margin:0 0 24px;border-radius:10px;background:#e8f2e5;color:#3e6639;font-size:13px;border:1px solid #dce9d7;overflow-wrap:anywhere}.notice.error{background:#fff0e7;border-color:#f2ddd0;color:#9f5f3d}.narrow{max-width:600px}.subtle-link{font-size:12px;color:var(--muted)}.field-hint{align-self:center;font-size:12px;color:var(--muted)}.concept-picker{display:flex;gap:12px;max-width:650px;margin:24px 0}.line-editor{display:grid;grid-template-columns:minmax(160px,2.7fr) repeat(4,minmax(65px,1fr)) minmax(112px,1.2fr) 30px;gap:10px;align-items:start;padding:6px 0;border-bottom:1px solid var(--line);margin-bottom:4px}.line-editor label{font-size:10px;line-height:14px;gap:6px}.line-editor input{min-height:50px;padding:10px 8px;font-size:12px}.line-description input{font-size:13px}.line-result{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:12px}.line-total{display:flex;align-items:center;justify-content:flex-end;min-height:50px;white-space:nowrap;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.line-result span{font-size:10px;line-height:14px;font-weight:600}.sticky-actions{position:sticky;bottom:0;background:#f6f7f4ef;padding:16px 0;z-index:10}.table-scroll{max-width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-weight:500;color:var(--muted);padding:12px 9px;background:#f7f9f4;white-space:nowrap}td{padding:15px 9px;border-bottom:1px solid var(--line)}table .wrap{min-width:150px;max-width:450px}.document-sheet>.two-columns{margin-bottom:30px}.document-totals{max-width:350px;margin:22px 0 22px auto}.payment-form{margin-top:25px;padding-top:24px;border-top:1px solid var(--line)}.company-logo{max-width:180px;max-height:90px;object-fit:contain;object-position:left}.details-form{margin-top:22px}.details-form summary{cursor:pointer;padding:12px 0;font-weight:600;color:var(--primary);font-size:13px}.details-form form{margin-top:18px}.auth-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top right,#e3ebd9,transparent 65%),#f5f6f0;padding:25px}.auth-card{background:#fff;border:1px solid var(--line);box-shadow:0 20px 80px #284c2d09;border-radius:22px;padding:40px 44px;width:100%;max-width:450px;flex:initial;margin:0}.auth-card .brand{margin-bottom:45px}.auth-card .eyebrow{display:block;margin-bottom:15px}.auth-card h1{font-size:34px}.auth-card>p{margin-bottom:27px}.auth-card footer{font-size:10px;color:#a3ad9b;text-align:center;margin-top:35px}.auth-card .button{font-size:14px;justify-content:space-between}.auth-card .center{font-size:12px}
@media(min-width:1500px){main{padding-top:52px}.page-heading{margin-bottom:40px}.metrics{gap:24px;margin-bottom:35px}.metric{padding:30px}.document-row{padding:23px 0}}
@media(max-width:1150px){.sidebar{width:210px;padding:30px 14px}.app-shell{margin-left:210px}main{padding:32px 25px}.topbar{padding:0 25px}.page-heading{align-items:flex-start;flex-direction:column;gap:15px}.metric{padding:20px}.line-editor{grid-template-columns:repeat(3,minmax(70px,1fr)) 95px minmax(70px,1fr) 35px}.line-description{grid-column:1/-1}.two-columns{gap:16px}.panel{padding:22px}.row-secondary{display:none}}
@media(max-width:760px){.sidebar{width:255px;transform:translateX(-100%);transition:transform .18s;box-shadow:20px 0 70px #173d2220}.nav-open .sidebar{transform:translateX(0)}.app-shell{margin-left:0}.menu-toggle{display:block}.topbar{height:68px;padding:0 16px;gap:12px}.topbar-label{flex:1;min-width:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:12px}.account{gap:10px}.account-name{display:none}.account>a{gap:0}main{padding:26px 17px 36px}h1{font-size:29px}.page-heading{margin-bottom:24px}.page-heading>.actions{width:100%;gap:8px}.page-heading>.actions>.button{flex:1}.button{padding:11px 13px;min-height:45px;font-size:12px}.metrics{grid-template-columns:1fr;gap:12px;margin-bottom:22px}.metric{padding:19px 21px;display:grid;grid-template-columns:1fr auto;gap:8px}.metric strong{grid-column:2;grid-row:1/3;align-self:center;font-size:29px}.metric-top{grid-column:1;justify-content:flex-start;gap:10px}.metric-top svg{display:none}.metric small,.metric a{grid-column:1}.panel{padding:20px 17px;border-radius:13px;margin-bottom:18px}h2{font-size:17px}.section-heading>.small{font-size:10px}.document-row{gap:11px;flex-wrap:wrap;position:relative;padding:18px 0}.document-icon{width:32px;height:38px}.document-row .row-main{flex-basis:calc(100% - 140px)}.row-amount{min-width:0;font-size:12px}.document-row>.badge{order:3;margin-left:43px;margin-top:-4px}.document-row .row-arrow{display:none}.document-row>.badge+.row-amount{margin-left:auto}.document-row>.avatar+.row-main{flex-basis:calc(100% - 105px)}.row-main strong{font-size:12px}.row-main small{font-size:10px}.two-columns{grid-template-columns:1fr;gap:18px;margin-bottom:18px}.two-columns>.panel{margin-bottom:0}.form-grid{gap:18px;grid-template-columns:1fr}.span-2{grid-column:auto}.field-hint{margin-top:-10px}.line-editor{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:16px 0}.line-editor .line-description{grid-column:1/-1}.document-lines-editor .line-editor>.line-vat{grid-column:1/4;flex-direction:row;justify-content:flex-end;align-items:center;padding:0}.document-lines-editor .line-vat .line-field-label{font-size:12px}.remove-line{justify-self:end}.concept-picker{gap:8px;margin-top:18px}.concept-picker .button{padding:8px 12px}.concept-picker select{font-size:12px}.inline-metric{flex-wrap:wrap;gap:10px 20px;padding:18px}.inline-metric strong{margin-left:auto}.inline-metric a{margin:0;flex-basis:100%;font-size:11px}.filter-form{gap:14px}.filter-form label{min-width:120px}.filter-form .button{width:100%}.details{grid-template-columns:95px 1fr;font-size:12px}.document-totals{max-width:none}.document-sheet>.two-columns{margin-bottom:15px}.quick-note{font-size:11px;align-items:flex-start;margin-top:23px}.note-dot{margin-top:6px}.app-footer{padding:10px 18px 20px}.auth-card{padding:30px 26px}.auth-card h1{font-size:30px}.auth-card .brand{margin-bottom:35px}.search{gap:8px}.search input{font-size:12px}.pagination{gap:10px;justify-content:center}.grand-total{font-size:20px}.sticky-actions{margin:0 -17px;padding:13px 17px}.stack{gap:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.app-footer,.actions,.sticky-actions,.quick-note{display:none}.app-shell{margin:0}main{padding:0}.panel{box-shadow:none;break-inside:avoid}.metrics{grid-template-columns:repeat(3,1fr)}}
.settings-toggle-field{min-width:0}.settings-toggle{min-height:44px;display:flex;flex-direction:row;align-items:center;gap:10px}.settings-toggle input{width:auto;min-height:0}.settings-toggle-field .field-hint{margin:2px 0 0 27px}
/* Block 2: flow refinements within the existing Ofiora identity. */
[hidden]{display:none!important}.optional{color:var(--muted);font-size:10px;font-weight:400}.retention-fields{border:1px solid var(--line);border-radius:10px;padding:18px;margin:0;min-width:0}.retention-fields legend{font-size:13px;font-weight:600;padding:0 7px}.retention-fields p{margin:0}.search{max-width:none}.search-status{min-height:18px;margin:0 0 8px}.client-row,.client-list-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(100px,.65fr);gap:18px}.client-row .row-main{flex-basis:auto}.client-trade{font-size:12px;overflow-wrap:anywhere}.client-phone,.client-list-head>span:last-child{text-align:right;font-size:12px;overflow-wrap:anywhere}.client-list-head{padding:10px 0;border-bottom:1px solid var(--line)}.client-selector{display:flex;align-items:flex-end;gap:12px;margin-bottom:8px}.client-selector>.lookup{flex:1;min-width:0}.lookup{position:relative;min-width:0}.lookup>label[for]{margin-bottom:7px}.lookup-results{position:absolute;z-index:25;top:100%;left:0;right:0;max-height:280px;overflow-y:auto;overscroll-behavior:contain;margin-top:5px;background:white;border:1px solid #cddccd;border-radius:10px;box-shadow:0 10px 28px #203d2521}.lookup-option{padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:3px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;min-height:48px}.lookup-option:last-child{border:0}.lookup-option strong{font-size:13px;font-weight:600}.lookup-option small{font-size:11px;color:var(--muted)}.lookup-option:hover,.lookup-option[aria-selected=true]{background:#edf4e9}.lookup-message{font-size:12px;padding:13px;margin:0}.line-editor{align-items:start}.line-editor>.line-result{padding:0}.line-editor>.remove-line{margin-top:20px;min-height:50px}.new-concept{font-size:10px;line-height:18px;padding:2px 0;min-height:22px}.flow-dialog{width:min(700px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:0 24px 80px #183a352b}.flow-dialog::backdrop{background:#17352b66}.flow-dialog .section-heading{margin-bottom:12px}.flow-dialog .form-footer{position:sticky;bottom:-26px;background:white;padding:15px 0;margin:0}.flow-dialog .notice{margin:0}.compact-dialog{max-width:530px}.flow-dialog>.section-heading{gap:10px}.flow-dialog [data-form-error]{scroll-margin:15px}.client-selector+.small{min-height:18px;margin:8px 0 24px}
@media(max-width:760px){.client-list-head{display:none}.client-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:start}.client-row .row-main{grid-column:1;grid-row:1;flex-basis:auto}.client-trade{grid-column:1;grid-row:2;color:var(--muted);font-size:11px}.client-phone{grid-column:2;grid-row:1/3;align-self:center;max-width:135px;font-size:11px}.client-selector{flex-wrap:wrap}.client-selector>.lookup{flex-basis:100%}.client-selector>.button{margin-left:auto}.flow-dialog{padding:20px 17px;max-height:calc(100dvh - 20px);width:calc(100vw - 20px)}.flow-dialog .form-footer{bottom:-20px;gap:8px}.flow-dialog .form-footer .button{white-space:normal;flex:1}.line-editor>.line-result{padding-top:0}.line-editor>.remove-line{margin-top:0}.lookup-results{max-height:230px}.new-concept{min-height:40px;font-size:11px}}
.dashboard-actions .button{font-size:13.8px;min-height:51px;padding:13px 20px}.dashboard-metrics{margin-bottom:14px}.dashboard-period{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:28px}.dashboard-period p{margin:0;font-size:11px}.period-selector{display:inline-flex;border:1px solid var(--line);border-radius:9px;padding:3px;background:white;gap:3px;flex-shrink:0}.period-selector a{font-size:12px;padding:8px 15px;border-radius:6px;color:var(--muted)}.period-selector a[aria-current]{background:#e9f0e7;color:var(--primary);font-weight:600}.recent-row .row-main strong{font-size:14px;letter-spacing:-.2px}.recent-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.recent-meta small{font-size:10px;color:var(--muted)}.pending-total{padding:15px 18px;margin-bottom:14px}.pending-total strong{margin-left:auto;font-size:23px}.payment-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 13px;background:#f0f5ed;border-radius:10px}.payment-balances>div{display:flex;flex-direction:column;gap:6px}.payment-balances span{font-size:11px;color:var(--muted)}.payment-balances strong{font-size:15px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:1150px){.dashboard-period{flex-wrap:wrap}}
@media(max-width:760px){.dashboard-actions .button{padding:13px 15px}.dashboard-period{margin-bottom:23px;gap:9px}.dashboard-period p{font-size:10px}.recent-row{flex-wrap:nowrap}.recent-row .row-main{flex-basis:auto}.recent-row .row-main strong{font-size:12px}.recent-row .row-main small{font-size:10px}.recent-row .document-icon{display:none}.recent-meta{max-width:40%;gap:8px}.recent-meta small{font-size:9px}.recent-meta .row-amount{font-size:12px}.pending-total{gap:8px;padding:14px}.pending-total span{font-size:11px}.pending-total strong{font-size:22px}.payment-balances{gap:7px;padding:13px 10px}.payment-balances strong{font-size:13px}.period-selector a{min-height:40px;display:flex;align-items:center}}

/* Presentation and collections: retain the existing typography and spacing. */
.document-heading{line-height:1.55;overflow-wrap:anywhere}.document-number,.document-context time{white-space:nowrap}.document-number::after,.document-context time::after{content:" · ";color:var(--muted);font-weight:400}.document-context{font-weight:600}.document-client{font:inherit;overflow-wrap:anywhere}.document-page-context{font-size:14px;margin:0 0 10px}.page-heading .document-trade{margin:0 0 12px}.page-heading>div{min-width:0;max-width:100%}.client-row,.client-list-head{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) repeat(2,minmax(105px,.65fr))}.client-mobile,.client-list-head>span:nth-child(n+3){text-align:right;font-size:12px;overflow-wrap:anywhere}.payment-history-row .row-main small{overflow-wrap:anywhere}
@media(max-width:760px){.client-row{grid-template-columns:minmax(0,1fr) minmax(0,40%)}.client-phone,.client-mobile{grid-column:2;align-self:start;max-width:none;font-size:11px}.client-phone{grid-row:1}.client-mobile{grid-row:2}.client-phone .sr-only,.client-mobile .sr-only{position:static;width:auto;height:auto;padding:0;clip:auto;overflow:visible;white-space:normal;display:block;color:var(--muted);font-size:10px}.client-trade{align-self:start}.document-page-context{font-size:13px}.payment-history-row{flex-wrap:nowrap}.payment-history-row .row-main{flex-basis:auto}.payment-history-row>strong{font-size:12px;white-space:nowrap}.payment-history-row>.document-icon{display:none}}

/* Shared columns reserve collection and action slots, even when their content is omitted. */
.document-kind-quote{--document-color:#f3e6bd;--document-ink:#233f3c}.document-kind-draft{--document-color:#dce8f3;--document-ink:#233f3c}.document-kind-invoice{--document-color:#dcebdc;--document-ink:#233f3c}
.document-entry{display:grid;grid-template-columns:32px 76px 80px 90px minmax(0,1fr) 84px repeat(3,84px) 56px;grid-template-areas:"icon number state date client code total paid pending actions";gap:7px 8px;align-items:start}
.document-entry>*{min-width:0;overflow-wrap:anywhere}
.document-entry .document-icon{grid-area:icon;position:relative;display:flex;width:32px;height:32px;background:var(--document-color);color:var(--document-ink)}
.document-entry .document-icon>svg{position:absolute;top:1px;left:1px;width:23px;height:23px}
.document-letter{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;background:var(--document-color);box-shadow:0 0 0 1.5px var(--surface);font-size:9px;font-weight:750;line-height:1}
.document-entry .document-number{grid-area:number;font-weight:750;font-size:14px;font-variant-numeric:tabular-nums;white-space:normal}
.document-entry .document-date{grid-area:date}
.document-entry .document-client{grid-area:client}
.document-entry .document-date,.document-entry .document-client{font-size:13px;font-weight:600;line-height:1.5}
.document-entry .client-name{font:inherit}
.document-entry .document-client-code{grid-area:code;text-align:right;font-size:10px;color:var(--muted)}
.document-entry .document-state{grid-area:state}
.document-state .badge{width:80px;height:24px;padding:4px 8px;font-size:10px;line-height:1;white-space:nowrap;background:var(--document-color);color:var(--document-ink)}
.document-entry .document-amount{display:flex;flex-direction:column;gap:4px;text-align:right;font-variant-numeric:tabular-nums}
.document-amount[data-amount=total]{grid-area:total}.document-amount[data-amount=paid]{grid-area:paid}.document-amount[data-amount=pending]{grid-area:pending}
.document-amount small{font-size:10px;color:var(--muted)}.document-amount strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}.document-amount[data-amount=pending] strong{color:var(--primary)}
.document-amount[data-amount=total] small{font-size:11px;font-weight:600;line-height:15px;color:var(--ink)}.document-amount[data-amount=total] strong{font-size:13px;font-weight:650;line-height:18px}
.document-actions{grid-area:actions;display:flex;justify-content:flex-end}.document-collect{width:56px;min-height:32px;padding:7px 5px;font-size:11px;line-height:16px}
.document-entry[href]:hover .client-name{color:#39725a}
.document-number::after,.document-context time::after{content:none}
@media(min-width:981px){.document-entry{padding:14px 0}}
@media(max-width:1150px){.document-entry{grid-template-columns:32px 70px 80px 72px minmax(0,1fr) 60px repeat(3,65px) 56px;column-gap:6px}.document-entry .document-number{font-size:13px}.document-entry .document-date,.document-entry .document-client{font-size:12px}}
@media(max-width:980px){.document-entry{grid-template-columns:32px repeat(3,minmax(0,1fr));grid-template-areas:"icon number date code" ". client client client" ". state state actions" ". total paid pending";gap:8px 10px}.document-entry .document-client-code{text-align:right}.document-actions[aria-hidden=true]{display:none}}
@media(max-width:760px){.document-entry{grid-template-columns:28px repeat(3,minmax(0,1fr));gap:7px 9px}.document-entry .document-icon{width:28px;height:36px}.document-entry .document-number{font-size:12px}.document-entry .document-date,.document-entry .document-client{font-size:11px}.document-entry .document-client-code{font-size:9px}.document-state .badge{font-size:9px}.document-amount small{font-size:9px}.document-amount strong{font-size:11px}.document-amount[data-amount=total] small{font-size:10px;line-height:13.5px}.document-amount[data-amount=total] strong{font-size:12px;line-height:16.5px}}

.document-page-context{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}.activity-heading{flex-wrap:wrap;gap:14px}.activity-filter{max-width:100%;flex-wrap:wrap}.activity-filter a{padding:8px 10px;font-size:11px}.document-color-settings{border:1px solid var(--line);border-radius:10px;margin:0;padding:18px;min-width:0}.document-color-settings legend{font-size:16px;font-weight:600;padding:0 7px}.document-color-pickers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.document-color-pickers input{width:100%;height:46px;padding:4px;cursor:pointer}
@media(max-width:760px){.activity-filter{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.activity-filter a{padding:9px 3px;font-size:10px;justify-content:center}.document-color-pickers{gap:12px}.document-color-pickers label{font-size:12px}}

/* Client identity is shared by document, client and payment lists. */
.client-identity{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.client-identity .client-trade{font-size:11px;font-weight:400;color:var(--muted);line-height:1.5}.client-row,.client-list-head{grid-template-columns:minmax(0,2.35fr) repeat(2,minmax(105px,.65fr))}.client-list-head>span:not(:first-child){text-align:right}.color-restore-status{margin:10px 0 0}
@media(max-width:760px){.client-row{grid-template-columns:minmax(0,1fr) minmax(0,40%)}.client-row .row-main{grid-row:1/3}.document-color-settings>.button{white-space:normal;width:100%}}
@media(max-width:360px){.document-color-pickers{grid-template-columns:1fr}.document-color-pickers label{display:grid;grid-template-columns:minmax(0,1fr) 80px;align-items:center}}

/* Master files reuse the compact list and live search patterns. */
.master-form{max-width:850px}.master-form fieldset{border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}.master-form legend{font-weight:600;padding:0 6px}.master-flags,.master-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.master-row .row-main{min-width:0}.master-row .row-main strong,.master-row .row-main small{overflow-wrap:anywhere}.master-form .checkbox{display:flex;flex-direction:row;align-items:center;gap:8px}.master-form .checkbox input{width:auto;min-height:0}.master-form input[readonly]{background:#f5f6f7;color:#66736d}
@media(max-width:600px){.master-row{flex-wrap:wrap;gap:10px}.master-row .row-main{flex-basis:100%}.master-row .master-flags{flex:1}.master-links .button{width:100%}.master-form{padding:18px}}

/* Superadmin user management shares forms and live search across both entry points. */
.admin-user-row{display:grid;grid-template-columns:minmax(0,1.4fr) 110px minmax(155px,.8fr) minmax(190px,1fr);gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.admin-user-row:last-of-type{border-bottom:0}.admin-user-identity,.admin-user-role,.admin-user-dates,.admin-user-company{display:flex;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere}.admin-user-identity>strong{font-size:14px}.admin-user-role{align-items:flex-start;font-size:12px}.admin-user-dates strong{font-weight:500;display:block}.admin-user-actions{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;font-size:11px}.admin-user-actions form{margin:0}.admin-user-actions .button{font-size:11px;padding:8px 12px;min-height:34px}.admin-user-actions .text-button{font-size:inherit}.admin-user-actions a:not(.button),.admin-user-actions .text-button{padding:7px 0}.admin-user-company{font-size:13px;justify-content:center}.admin-user-company small{font-size:11px}
@media(max-width:1100px){.admin-user-row{grid-template-columns:minmax(0,1fr) 110px;gap:12px}.admin-user-dates{grid-column:1}.admin-user-actions{grid-column:1/-1}.admin-user-role{align-self:start}}
@media(max-width:500px){.admin-user-row{grid-template-columns:minmax(0,1fr) 90px}.admin-user-identity>strong{font-size:13px}.admin-user-actions{gap:7px 14px}.admin-user-actions a:not(.button),.admin-user-actions .text-button{min-height:40px;display:inline-flex;align-items:center}.admin-user-dates{grid-column:1/-1}.admin-user-company{padding:4px 0}}

/* Shared section navigation and searchable references. */
.section-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 24px;padding:5px;background:var(--surface-alt,#f1f4f2);border-radius:12px}
.section-tabs a{padding:10px 16px;border-radius:8px;color:var(--muted);font-size:.88rem;font-weight:600;text-decoration:none}
.section-tabs a.active{background:var(--surface,#fff);color:var(--ink);box-shadow:0 1px 4px #152d2412}
.section-tabs a:hover{color:var(--ink)}
.reference-input{display:flex;align-items:center;gap:4px}.reference-input input{min-width:0;width:100%}.reference-input button{flex:0 0 32px;font-size:1.35rem}
.reference-picker{min-width:0}.reference-picker>label{margin-bottom:6px}
.user-filters{display:grid;grid-template-columns:minmax(200px,2fr) minmax(140px,1fr) minmax(140px,1fr);gap:16px;margin-bottom:16px}
.back{display:inline-flex;align-items:center;padding:9px 14px;border:1px solid var(--line,#dce4df);border-radius:9px;background:#fff;font-weight:600;color:var(--ink);text-decoration:none;margin-bottom:16px}
.back:hover{background:#f4f7f5}
[data-settings-save][hidden],[data-settings-panel][hidden]{display:none}
@media(max-width:680px){.user-filters{grid-template-columns:1fr 1fr}.user-filters .reference-picker{grid-column:1/-1}.section-tabs{gap:3px}.section-tabs a{padding:9px 11px}}
.report-filters{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr)) minmax(200px,2fr) minmax(170px,1.3fr);gap:16px;align-items:end;margin-bottom:24px}
.report-filters .button{justify-self:start}.report-table{width:100%;font-variant-numeric:tabular-nums}.report-table td,.report-table th{vertical-align:top}.report-table .number{white-space:nowrap}.report-client{min-width:150px;max-width:300px;overflow-wrap:anywhere}.report-client strong{font-weight:500}.report-client small{display:block;font-size:.78rem;color:var(--muted);margin-top:3px}.report-table tfoot th,.report-table tfoot td{border-top:2px solid var(--line,#dce4df);font-weight:700;background:#f5f8f6}.report-panel .section-heading{align-items:center}.actions{display:flex;flex-wrap:wrap;gap:10px}
.report-tax-summary{max-width:660px;margin:26px 0 0 auto;break-inside:avoid}.report-tax-summary h3{margin-bottom:10px}.report-tax-table{font-variant-numeric:tabular-nums}.report-tax-table th,.report-tax-table td{padding:10px 9px}.report-tax-table tfoot th,.report-tax-table tfoot td{font-weight:700;background:#f5f8f6}.report-tax-table .report-tax-irpf th,.report-tax-table .report-tax-irpf td{color:var(--muted)}.report-tax-table .report-tax-grand th,.report-tax-table .report-tax-grand td{border-top:2px solid var(--primary);font-size:14px;color:var(--ink)}
@media(max-width:1000px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.report-filters{grid-template-columns:minmax(0,1fr)}.report-filters .button{width:100%}.report-panel{min-width:0}.report-table,.report-tax-table{font-size:.8rem}.report-tax-summary{max-width:none}}

/* Valued document lines keep paragraphs while numeric columns stay aligned. */
.line-description textarea{min-height:46px;max-height:none;padding:12px 10px;font-size:13px;font-weight:400;line-height:20px;resize:none;overflow-y:hidden}
.document-lines-editor{--line-columns:minmax(180px,2.9fr) minmax(74px,.9fr) minmax(86px,1.05fr) minmax(68px,.8fr) minmax(98px,1.1fr) minmax(68px,.8fr) 30px}
.line-editor-head{display:none}
.document-lines-editor .line-description{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:4px;align-items:start;min-width:0}
.document-lines-editor .new-concept{display:flex;align-items:center;justify-content:center;min-height:46px;height:46px;padding:0;margin-top:20px;border-radius:8px;font-size:20px;line-height:1;background:#f2f6f3}
.document-lines-editor .new-concept:hover{background:#e5eee7;text-decoration:none}
.document-lines-editor .line-editor input,.document-lines-editor .line-total,.document-lines-editor .remove-line{min-height:46px;height:46px}
.document-lines-editor .line-vat{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0;font-size:10px;line-height:14px;font-weight:600}
.document-lines-editor .line-vat-value{display:flex;align-items:center;justify-content:flex-end;min-height:46px;height:46px;font-size:12px;line-height:20px;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}
.document-lines-editor #add-line{margin-top:8px}
@media(min-width:1000px){
  .document-lines-editor .line-editor,.line-editor-head{display:grid;grid-template-columns:var(--line-columns);column-gap:8px;align-items:start}
  .line-editor-head{padding:0 0 8px;border-bottom:1px solid var(--line);font-size:11px;line-height:16px;font-weight:600;color:var(--muted)}
  .line-amount-heading{text-align:right}
  .document-lines-editor .line-editor{row-gap:0;padding:3px 0;margin:0}
  .document-lines-editor .line-description{grid-column:auto;grid-template-columns:minmax(0,1fr) 32px}
  .document-lines-editor .line-editor label,.document-lines-editor .line-result,.document-lines-editor .line-vat{min-width:0;gap:0}
  /* Keep a native label on every control without repeating the visible header. */
  .document-lines-editor .line-field-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .document-lines-editor .new-concept,.document-lines-editor .line-editor>.remove-line{margin-top:0}
  .document-lines-editor .line-editor>.remove-line{width:30px}
}
.document-line-table{table-layout:fixed;min-width:760px}.document-line-table th:first-child{width:50%}.document-line-table th:nth-child(2){width:8%}.document-line-table th:nth-child(3),.document-line-table th:nth-child(5){width:14%}.document-line-table th:nth-child(4),.document-line-table th:nth-child(6){width:7%}.document-line-table td{vertical-align:top}.document-line-table .line-text{padding-left:14px;border-left:3px solid #cfe2d9;background:linear-gradient(90deg,#f4f8f6 0,rgba(244,248,246,0) 110px);color:var(--ink);font-size:13px;font-weight:650;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.document-line-table td[data-label=Importe]{color:var(--ink);font-size:13px;font-weight:700}

.badge.cancelled{background:#f8eae4;color:#8f3833}.cancelled-notice{border-color:#e6c5bc;color:#8f3833}

/* The dark navigation palette is scoped to the sidebar. */
.sidebar{--sidebar-text:#c7d2e0;--sidebar-muted:#9eacc0;--sidebar-accent:#2c7b67;background:#17243a;border-right-color:#293850;color:var(--sidebar-text)}
.sidebar .brand{color:#f8fafc}
.sidebar .brand-mark{background:var(--sidebar-accent);color:#fff}
.sidebar .workspace .eyebrow{color:var(--sidebar-muted)}
.sidebar .workspace strong{color:#edf2f8}
.sidebar .nav-link{color:var(--sidebar-text)}
.sidebar .nav-link:hover{background:#23334b;color:#fff}
.sidebar .nav-link.active{background:var(--sidebar-accent);color:#fff}
.sidebar .nav-link.active:hover{background:#2f806a}
.sidebar a:focus-visible{outline-color:#b3ddc8}
.sidebar .sidebar-bottom p,.sidebar .sidebar-bottom small{color:var(--sidebar-muted)}
.sidebar .sidebar-bottom strong{color:var(--sidebar-text)}

/* Support uses existing forms and panels; the extra menu item remains reachable. */
.sidebar{overflow-y:auto;overscroll-behavior:contain}
.support-form{max-width:800px;overflow-wrap:anywhere}
.support-form label small{display:block;margin-top:6px;font-size:12px;font-weight:400;line-height:1.5;color:#61756a}
.support-form textarea{min-height:160px;resize:vertical}
.support-form input[type=file]{max-width:100%;font-size:13px}

/* Read-only audit reuses the administrative panels, filters and typography. */
.audit-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}
.audit-filters .audit-query{grid-column:span 2}.audit-filters .actions{align-self:end;min-height:46px}.audit-filters [data-search-status]{grid-column:1/-1;margin:0}
.audit-head,.audit-row{display:grid;grid-template-columns:104px minmax(150px,1fr) minmax(160px,1fr) minmax(180px,1.5fr) 64px;gap:18px}
.audit-head{padding:0 0 12px;font-size:12px;color:#62766e}
.audit-row{padding:17px 0;border-top:1px solid var(--line);font-size:13px;align-items:start}
.audit-row>*{min-width:0;overflow-wrap:anywhere}.audit-row small,.audit-summary span{display:block;margin-top:4px}.audit-row small{font-size:12px;color:#62766e}
.audit-row time{font-variant-numeric:tabular-nums}.audit-row strong{font-weight:600}.audit-row>a{white-space:nowrap}
.audit-changes{min-width:0}.audit-change-head,.audit-change{display:grid;grid-template-columns:minmax(100px,.6fr) minmax(0,1fr) minmax(0,1fr);gap:20px}
.audit-change-head{color:#62766e;font-size:13px;padding:0 0 12px}.audit-change{padding:16px 0;border-top:1px solid var(--line);font-size:14px;overflow-wrap:anywhere}
.audit-mobile-label{display:none}.audit-details dd{overflow-wrap:anywhere}.audit-lines{padding-left:20px;margin:0}.audit-lines li+li{margin-top:14px}.audit-lines p{margin:0 0 6px}.audit-lines small{display:block;color:#62766e;font-size:12px;line-height:1.6}
.audit-snapshot{display:grid;grid-template-columns:minmax(100px,.45fr) minmax(0,1fr);gap:12px 20px;margin:0;overflow-wrap:anywhere}.audit-snapshot dt{color:#62766e}.audit-snapshot dd{margin:0;min-width:0}
.payment-review{color:#8d4c21!important;line-height:1.6}
.notice.warning{background:#fbf3e4;border-color:#ebdabb;color:#805326}
@media print{h1.document-draft-title{font-size:0}h1.document-draft-title::before{content:attr(data-print-title);font-size:30px}}
@media(max-width:1200px){.audit-head,.audit-row{grid-template-columns:90px minmax(130px,1fr) minmax(140px,1fr) minmax(150px,1.2fr) 60px;gap:12px}}
@media(max-width:1000px){.audit-head{display:none}.audit-row{grid-template-columns:100px minmax(0,1fr);gap:10px 16px}.audit-row .audit-summary{grid-column:1/-1}.audit-row>a{grid-column:2;justify-self:end}.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filters .audit-query{grid-column:1/-1}}
@media(max-width:600px){.audit-filters{grid-template-columns:minmax(0,1fr)}.audit-filters .audit-query{grid-column:auto}.audit-change-head{display:none}.audit-change{grid-template-columns:minmax(0,1fr)}.audit-mobile-label{display:block;color:#62766e;font-size:12px;margin-bottom:6px}.audit-snapshot{grid-template-columns:minmax(0,1fr);gap:6px}.audit-snapshot dd{margin-bottom:12px}}

/* Operational states are independent of each company's document-type colours. */
.badge.invoiced,.document-state .badge.invoiced{background:#e0edf8;color:#285475}
.document-state .badge.accepted,.document-state .badge.issued{background:#e2efe5;color:#2e5b3a}
.document-kind-quote .document-state .badge.draft,.document-state .badge.sent{background:#edf0ee;color:#505c55}
.document-state .badge.rejected,.document-state .badge.expired{background:#f6eade;color:#805435}
.badge.cancelled,.document-state .badge.cancelled{background:#f7e3e8;color:#853d50}
.document-entry{position:relative}
.document-primary-link{color:inherit}
.document-primary-link::after{content:"";position:absolute;inset:0}
.document-primary-link:focus-visible::after{outline:2px solid var(--primary);outline-offset:3px;border-radius:5px}
.document-relation{grid-area:paid;grid-column-end:span 2;display:flex;flex-direction:column;gap:4px;text-align:right;font-size:12px;line-height:1.5}
.document-relation>small{font-size:10px;color:var(--muted)}
.document-linked-invoice{position:relative;z-index:1;color:#285475;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.linked-invoice-state{display:inline-block;margin-left:4px;font-size:10px;color:var(--muted)}
.linked-invoice-state.cancelled{color:#853d50}
.document-associated{font-size:13px}
.invoice-tabs{margin-bottom:12px}.invoice-count{font-size:.85em;font-weight:500}

/* Tax selections retain the existing line grid and stay outside data-entry focus. */
.document-lines-editor button.line-vat-value{padding:0;border:0;background:transparent;color:var(--ink);border-radius:4px;text-decoration:underline dotted;text-underline-offset:4px}
.document-lines-editor button.line-vat-value:disabled{opacity:1;text-decoration:none;cursor:default}
.vat-options{display:flex;flex-direction:column;gap:8px}.vat-options .button{justify-content:flex-start;white-space:normal}
.vat-settings{border:1px solid var(--line);border-radius:10px;padding:18px;min-width:0}.vat-settings legend{font-weight:600;padding:0 6px}.vat-type-fields{gap:10px}
.vat-breakdown{width:100%;border-collapse:collapse;font-size:12px;margin:14px 0 20px}.vat-breakdown th,.vat-breakdown td{padding:8px 5px;border-bottom:1px solid var(--line)}.vat-breakdown th{font-size:11px;color:var(--muted);font-weight:600}.vat-breakdown td:first-child{overflow-wrap:anywhere}.vat-breakdown .number{white-space:normal}

/* Responsive application shell -------------------------------------------------
   One markup tree serves desktop, tablet and phone. Component adaptations below
   start at the shared navigation breakpoint and become card-based on phones. */
html{min-width:0;overflow-x:hidden;scroll-padding-top:84px}
body{min-width:0;overflow-x:clip}
img,svg,video{max-width:100%}
.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sidebar-close,.topbar-brand,.sidebar-account,.navigation-backdrop{display:none}
.topbar-brand{align-items:center;gap:7px;color:var(--ink);font-size:16px;font-weight:700;letter-spacing:-.4px}
.topbar-brand:hover{text-decoration:none}
.topbar-brand .brand-mark{width:29px;height:31px;border-radius:9px;font-size:25px;padding-bottom:4px}
.sidebar-account{border-top:1px solid #30415a;padding:18px 12px 0;margin-top:18px}
.sidebar-account>a{display:flex;align-items:center;gap:11px;color:#f5f8fb;min-width:0}
.sidebar-account>a:hover{text-decoration:none}
.sidebar-account>a>span:last-child{display:flex;flex-direction:column;min-width:0}
.sidebar-account strong,.sidebar-account small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-account strong{font-size:12px}.sidebar-account small{font-size:10px;color:var(--sidebar-muted)}
.sidebar-logout{width:100%;margin-top:12px;background:#23334b;border-color:#40516a;color:#eef4f9}
.document-toolbar,.document-next-actions,.document-destructive-actions{min-width:0}
.document-sheet,.report-panel,.support-form{overflow-wrap:anywhere}
.document-sheet .table-scroll{max-width:100%}
.line-editor>*{min-width:0}

@media(max-width:900px){
  html{scroll-padding-top:76px}
  body.nav-open,body.dialog-open{overflow:hidden}
  .sidebar{inset:0 auto 0 0;width:min(82vw,300px);padding:calc(20px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));transform:translateX(-105%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s;box-shadow:20px 0 70px #08152755;z-index:40}
  .nav-open .sidebar{transform:translateX(0);visibility:visible;transition:transform .2s ease}
  .sidebar .brand{margin-left:0}
  .sidebar-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;color:#eef4f9;font-size:28px}
  .sidebar .workspace{margin:28px 8px 20px}
  .sidebar .nav-link{min-height:48px;margin:3px 0;padding:12px 14px;font-size:15px}
  .sidebar-account{display:block}
  .sidebar-bottom{padding:20px 8px 0}
  .navigation-backdrop{display:block;position:fixed;inset:0;width:100%;height:100%;padding:0;border:0;background:#0b172b80;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s;z-index:35}
  .nav-open .navigation-backdrop{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease}
  .app-shell{margin-left:0;min-height:100dvh}
  .topbar{position:sticky;top:0;z-index:25;height:auto;min-height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 22px 0;display:grid;grid-template-columns:44px auto minmax(0,1fr);justify-content:start;gap:12px;background:#fffffff2;backdrop-filter:blur(12px)}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:23px}
  .topbar-brand{display:flex}
  .topbar-label{justify-self:end;max-width:100%;font-size:12px;font-weight:600;color:#617169;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar .account{display:none}
  main{padding:30px 22px 48px;max-width:100%}
  .app-footer{padding:10px 22px calc(22px + env(safe-area-inset-bottom))}
  .page-heading{align-items:flex-start;margin:3px 0 26px}
  .page-heading>.actions{width:100%}
  .section-tabs{flex-wrap:nowrap;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding:5px;margin-bottom:22px}
  .section-tabs a{flex:0 0 auto;scroll-snap-align:center;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;white-space:nowrap}
  .invoice-tabs a{flex:1 0 auto}
  .dashboard-period{align-items:flex-start}
  .activity-filter{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:thin}
  .activity-filter a{flex:0 0 auto;min-height:44px;padding:10px 14px}
  .line-quantity{grid-area:quantity}.line-price{grid-area:price}.line-discount{grid-area:discount}
  .line-description{grid-area:description}.line-result{grid-area:amount}.line-vat{grid-area:vat}.remove-line{grid-area:remove}
  .document-lines-editor .line-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"description description description" "quantity price discount" "amount vat remove";gap:13px 10px;padding:16px;margin:0 0 12px;border:1px solid var(--line);border-radius:13px;background:#fbfcfa}
  .document-lines-editor .line-description{grid-template-columns:minmax(0,1fr) 44px}
  .document-lines-editor .new-concept{width:44px;height:46px;min-height:44px;margin-top:20px}
  .document-lines-editor .line-result{align-items:stretch}
  .document-lines-editor .line-total{justify-content:flex-start;padding:0 11px;border:1px solid #dce4dc;border-radius:8px;background:white}
  .document-lines-editor .line-editor>.line-vat{grid-area:vat;grid-column:auto;align-items:stretch}
  .document-lines-editor button.line-vat-value{justify-content:flex-start;min-width:0;padding:0 11px;border:1px solid #d4ded5;background:white;text-decoration:underline dotted}
  .document-lines-editor .remove-line{align-self:end;justify-self:end;width:46px;height:46px;min-height:46px;margin:0;border:1px solid #efd5d1;background:#fff8f6}
  .document-lines-editor #add-line{width:100%;min-height:48px;margin-top:2px}
  .lookup-results{max-height:min(270px,38dvh)}
  .lookup-option{min-height:52px;padding:13px 14px}
  input,select,textarea{scroll-margin-block:110px}
  .sticky-actions{bottom:0;margin:0 -22px;padding:13px 22px calc(13px + env(safe-area-inset-bottom));background:#f6f7f4f5;backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .settings-user-row,.admin-company-row{border:1px solid var(--line);border-radius:12px;padding:15px;margin-bottom:10px;background:#fbfcfa}
  .document-row>.badge{order:initial;margin:0}
  .user-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .user-filters .reference-picker{grid-column:1/-1}
}

@media(max-width:700px){
  .document-line-note{display:none}
  :root{font-size:15px}
  html{scroll-padding-top:68px}
  input,select,textarea{min-height:48px;font-size:16px}
  textarea{line-height:1.45}
  label{font-size:13px}
  main{padding:24px 16px 42px}
  .app-footer{padding-inline:16px}
  .topbar{padding-inline:12px;grid-template-columns:44px auto minmax(0,1fr);gap:8px}
  .topbar-label{font-size:11px}
  h1{font-size:clamp(27px,8vw,31px);letter-spacing:-.9px}
  h2{font-size:17px}
  .page-heading{gap:16px;margin-bottom:22px}
  .page-heading p{line-height:1.55}
  .page-heading>.button{width:100%}
  .page-heading>form,.page-heading>form .button{width:100%}
  .page-heading>.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .page-heading>.actions>*,.page-heading>.actions form,.page-heading>.actions .button{width:100%;min-width:0}
  .page-heading>.actions .button{white-space:normal;text-align:center}
  .button{min-height:46px;padding:11px 14px}
  .icon-button{min-width:44px;min-height:44px}
  .text-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .back{min-height:44px;align-items:center;margin-bottom:12px}
  .reference-input button{flex-basis:44px;min-height:44px}
  .panel{padding:18px 16px;border-radius:14px;margin-bottom:16px}
  .stack{gap:17px}
  .form-grid,.two-columns{grid-template-columns:minmax(0,1fr);gap:17px}
  .span-2{grid-column:auto}
  .form-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%;padding-top:8px}
  .form-footer>*,.form-footer .button{width:100%;min-width:0;white-space:normal}
  .sticky-actions{margin-inline:-16px;padding-inline:16px}
  .dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-actions .button{min-height:56px;padding:11px 10px;line-height:1.35}
  .dashboard-metrics{grid-template-columns:minmax(0,1fr);gap:11px}
  .metric{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:18px 19px;gap:6px 12px}
  .metric-top{grid-column:1;justify-content:flex-start}.metric-top svg{display:none}
  .metric strong{grid-column:2;grid-row:1/3;align-self:center;font-size:27px;text-align:right;overflow-wrap:anywhere}
  .metric small,.metric a{grid-column:1}
  .dashboard-period{display:block;margin-bottom:22px}
  .dashboard-period .period-selector{width:100%;margin-bottom:9px}
  .period-selector a{display:flex;align-items:center;justify-content:center;flex:1;min-height:44px;padding:9px 10px}
  .activity-heading{display:block}
  .activity-heading h2{margin-bottom:12px}
  .activity-filter{display:flex;width:100%;padding-bottom:2px}
  .activity-filter a{flex:0 0 auto;min-width:max-content}
  .section-heading{align-items:flex-start;flex-wrap:wrap}
  .section-heading>strong{overflow-wrap:anywhere}
  .search{margin-bottom:11px}.search input{font-size:16px}
  .empty{padding:34px 12px}.empty p{line-height:1.55}
  .pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;width:100%}
  .pagination .button{min-width:0;white-space:normal;padding-inline:9px}

  /* Lists become information cards instead of compressed table rows. */
  .document-entry{grid-template-columns:38px minmax(0,1fr) auto;grid-template-areas:"icon number state" "icon client client" ". date code" ". total total" ". paid pending" ". relation relation" ". actions actions";gap:8px 11px;padding:14px;margin:0 0 11px;border:1px solid var(--line);border-radius:13px;background:#fbfcfa}
  .document-entry:last-child{border-bottom:1px solid var(--line)}
  .document-entry .document-icon{width:38px;height:42px}.document-entry .document-icon>svg{width:27px;height:27px}
  .document-letter{width:15px;height:15px;font-size:9px}
  .document-entry .document-number{align-self:center;font-size:14px}
  .document-state{justify-self:end}.document-state .badge{width:auto;min-width:80px;height:26px;font-size:10px}
  .document-entry .document-client{font-size:13px;line-height:1.45}
  .document-entry .document-date{font-size:11px;color:var(--muted)}
  .document-entry .document-client-code{align-self:center;font-size:10px;text-align:right}
  .document-entry .document-amount{padding-top:8px;border-top:1px solid var(--line);text-align:left}
  .document-entry .document-amount[data-amount=total]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}
  .document-entry .document-amount[data-amount=paid],.document-entry .document-amount[data-amount=pending]{border-top:0;padding-top:0}
  .document-entry .document-amount[data-amount=pending]{text-align:right}
  .document-entry .document-amount[aria-hidden=true]{display:none}
  .document-amount small{font-size:10px;line-height:1.4}
  .document-amount strong{font-size:13px;line-height:1.4}
  .document-amount[data-amount=total] small{font-size:11px;font-weight:600;line-height:1.4;color:var(--ink)}
  .document-amount[data-amount=total] strong{font-size:15px;font-weight:650;line-height:1.4}
  .document-relation{grid-area:relation;grid-column:auto;text-align:left;padding-top:8px;border-top:1px solid var(--line)}
  .document-actions{justify-content:stretch}.document-actions[aria-hidden=true]{display:none}
  .document-collect{width:100%;min-height:44px;font-size:12px}
  .client-list-head{display:none}
  .client-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;padding:15px;margin:0 0 10px;border:1px solid var(--line);border-radius:12px;background:#fbfcfa}
  .client-row:last-child{border-bottom:1px solid var(--line)}
  .client-row .row-main{grid-column:1/-1;grid-row:auto}
  .client-phone,.client-mobile{grid-column:auto;grid-row:auto;max-width:none;text-align:left;font-size:12px;overflow-wrap:anywhere}
  .client-phone .sr-only,.client-mobile .sr-only{position:static;display:block;width:auto;height:auto;overflow:visible;clip:auto;color:var(--muted);font-size:10px;white-space:normal}
  .master-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:15px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:#fbfcfa}
  .master-row:last-child{border-bottom:1px solid var(--line)}
  .master-row .row-main{grid-column:1/-1;flex-basis:auto}
  .master-row .subtle-link{align-self:center;min-height:44px;display:flex;align-items:center}
  .payment-record-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:15px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:#fbfcfa}
  .payment-record-row>.document-icon{display:none}
  .payment-record-row>.row-main{grid-column:1/-1;flex-basis:auto}
  .payment-record-row>form{justify-self:end}.payment-record-row>form .text-button{width:44px;height:44px;font-size:22px}
  .settings-user-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px}
  .settings-user-row form{grid-column:2/-1;justify-self:end}
  .admin-company-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px}
  .admin-company-row>span:last-child{display:none}
  .admin-user-row{grid-template-columns:minmax(0,1fr) auto;padding:16px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:#fbfcfa}
  .admin-user-dates,.admin-user-actions{grid-column:1/-1}
  .admin-user-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
  .admin-user-actions>*{min-width:0}.admin-user-actions .button{width:100%;min-height:44px}
  .admin-user-actions a:not(.button),.admin-user-actions .text-button{min-height:44px;display:flex;align-items:center}

  /* Document creation/editing uses a compact two-column card per line. */
  .client-selector{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .client-selector>.button{width:100%;margin:0}
  .document-lines-editor .line-editor{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"description description" "quantity price" "discount amount" "vat remove";gap:13px 10px;padding:14px}
  .document-lines-editor .line-description{grid-template-columns:minmax(0,1fr) 46px}
  .document-lines-editor .new-concept{height:48px;min-height:48px}
  .document-lines-editor .line-editor input,.document-lines-editor .line-total,.document-lines-editor .line-vat-value,.document-lines-editor .remove-line{height:48px;min-height:48px;font-size:16px}
  .document-lines-editor .line-result,.document-lines-editor .line-vat{gap:6px}
  .document-lines-editor .line-editor>.line-vat{grid-area:vat;grid-column:auto;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0}
  .document-lines-editor button.line-vat-value{justify-content:flex-start;font-size:14px}
  .document-lines-editor .line-field-label,.document-lines-editor .line-result span{font-size:11px;line-height:15px}
  .document-lines-editor .remove-line{width:48px;font-size:22px}
  .total-card{order:2}.document-totals{max-width:none}
  .summary-line{gap:12px}.grand-total{font-size:21px}
  .document-toolbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .document-toolbar>*,.document-toolbar form,.document-toolbar .button{width:100%;min-width:0}
  .document-toolbar .button{white-space:normal}
  .document-next-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .document-next-actions>*,.document-next-actions form,.document-next-actions .button{width:100%}
  .document-destructive-actions{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}
  .document-destructive-actions>*,.document-destructive-actions form,.document-destructive-actions button{width:100%}
  .document-destructive-actions{margin-top:6px;padding-top:18px;border-top:1px solid var(--line)}
  .document-destructive-actions .danger{min-height:44px}
  .document-statuses{gap:7px}

  /* Read-only tables become labelled cards; no horizontal viewport scroll. */
  .document-sheet .table-scroll,.report-table-wrap{overflow:visible}
  .document-line-table{display:block;min-width:0;width:100%}
  .document-line-table thead{display:none}
  .document-line-table tbody{display:block}
  .document-line-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:13px 14px;margin-bottom:12px;overflow:hidden;border:1px solid #dbe5de;border-radius:11px;background:#fdfefd;box-shadow:0 2px 8px #173d2208}
  .document-line-table td{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:7px 0;border:0;text-align:right;white-space:normal;min-width:0}
  .document-line-table td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:600;text-align:left}
  .document-line-table .line-text{grid-column:1/-1;display:block;max-width:none;margin:-13px -14px 5px;padding:12px 14px 12px 17px;border:0;border-bottom:1px solid #dbe5de;border-left:3px solid var(--primary);background:#f3f8f5;color:var(--ink);font-size:14px;font-weight:700;line-height:1.5;text-align:left}
  .document-line-table .line-text::before{content:"Concepto";display:block;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
  .document-line-table td[data-label=Importe]{font-size:13px;font-weight:750}
  .compact-document-lines .document-line-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:7px 2px 7px 10px;margin-bottom:7px;overflow:visible;border:0;border-bottom:1px solid #dbe5de;border-left:2px solid #cfe2d9;border-radius:0;background:transparent;box-shadow:none}
  .compact-document-lines .document-line-table td:not(.line-text){display:none}
  .compact-document-lines .document-line-table .line-text{grid-column:1/-1;grid-row:1;display:block;margin:0;padding:0;border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:700;line-height:1.35;text-align:left}
  .compact-document-lines .document-line-table .line-text::before{content:none}
  .compact-document-lines .document-line-table tr::before{content:attr(data-mobile-line-summary);grid-column:1;grid-row:2;min-width:0;color:var(--muted);font-size:11px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}
  .compact-document-lines .document-line-table tr::after{content:attr(data-mobile-line-amount);grid-column:2;grid-row:2;color:var(--ink);font-size:13px;font-weight:750;line-height:1.35;white-space:nowrap}
  .report-table{display:block;width:100%;font-size:12px}
  .report-table thead{display:none}
  .report-table tbody,.report-table tfoot{display:block}
  .report-table tbody tr{display:block;padding:9px 13px;margin-bottom:11px;border:1px solid var(--line);border-radius:11px;background:#fbfcfa}
  .report-table tbody td{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);gap:12px;padding:7px 0;border:0;text-align:right;white-space:normal;overflow-wrap:anywhere}
  .report-table tbody td::before,.report-table tfoot td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:600;text-align:left}
  .report-table .report-client{min-width:0;max-width:none}
  .report-table tbody td.report-client{grid-template-areas:"label primary" "label secondary"}
  .report-table .report-client::before{grid-area:label}
  .report-table .report-client strong{grid-area:primary}.report-table .report-client small{grid-area:secondary}
  .report-table .report-client strong,.report-table .report-client small{text-align:right}
  .report-table .report-empty-row td{display:block;text-align:center;padding:18px}.report-table .report-empty-row td::before{content:none}
  .report-table tfoot tr{display:block;padding:10px 13px;border:2px solid #dce5de;border-radius:11px;background:#f3f7f4}
  .report-table tfoot th{display:block;padding:6px 0 9px;background:transparent;color:var(--ink);font-size:13px}
  .report-table tfoot td{display:grid;grid-template-columns:minmax(90px,1fr) auto;gap:12px;padding:7px 0;border:0;background:transparent;text-align:right}
  .report-table tfoot td:empty{display:none}
  .vat-breakdown{display:block;font-size:12px}
  .vat-breakdown thead{display:none}.vat-breakdown tbody{display:block}
  .vat-breakdown tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;padding:10px 0;border-bottom:1px solid var(--line)}
  .vat-breakdown td{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border:0;text-align:right}
  .vat-breakdown td:first-child{grid-column:1/-1;font-weight:650;text-align:left}
  .vat-breakdown td::before{content:attr(data-label);font-size:10px;color:var(--muted);font-weight:500;text-align:left}
  .vat-breakdown td:first-child::before{display:none}
  .report-tax-summary{max-width:none;margin-top:22px}
  .report-tax-table{display:block}
  .report-tax-table thead{display:none}.report-tax-table tbody,.report-tax-table tfoot{display:block}
  .report-tax-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:11px 0;border-bottom:1px solid var(--line)}
  .report-tax-table tbody td{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border:0;text-align:right}
  .report-tax-table tbody td:nth-child(2){grid-column:1/-1;grid-row:1;font-weight:650;text-align:left}
  .report-tax-table tbody td::before{content:attr(data-label);font-size:10px;color:var(--muted);font-weight:500;text-align:left}
  .report-tax-table tbody td:nth-child(2)::before{display:none}
  .report-tax-table tfoot tr{display:grid;grid-template-columns:minmax(0,1fr) auto;background:#f5f8f6}
  .report-tax-table tfoot th{display:block;grid-column:1;padding:10px 8px;background:transparent;color:inherit;font-weight:650;white-space:normal}
  .report-tax-table tfoot td{grid-column:2;display:block;padding:10px 8px;background:transparent;text-align:right}

  .report-filters,.audit-filters{grid-template-columns:minmax(0,1fr)}
  .report-filters .button{width:100%}
  .audit-filters .audit-query,.audit-filters [data-search-status]{grid-column:auto}
  .audit-filters .actions{display:grid;grid-template-columns:1fr auto;align-items:center}
  .audit-filters .actions .button{width:100%}
  .audit-row{grid-template-columns:minmax(0,1fr);gap:9px;padding:15px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:#fbfcfa}
  .audit-row .audit-summary,.audit-row>a{grid-column:auto}
  .audit-row>a{justify-self:start;display:flex;align-items:center;min-height:44px}
  .audit-row time{display:flex;gap:8px}.audit-row time small{margin:0}
  .audit-details,.details{grid-template-columns:minmax(86px,.6fr) minmax(0,1.4fr);gap:9px 14px}
  .user-filters{grid-template-columns:minmax(0,1fr)}
  .user-filters .reference-picker{grid-column:auto}
  .inline-metric{padding:16px;gap:8px 14px}.inline-metric strong{font-size:22px}
  .master-links{display:grid;grid-template-columns:minmax(0,1fr)}

  /* Dialogs become keyboard-safe bottom sheets / full-height forms. */
  .flow-dialog{width:100%;max-width:none;max-height:100dvh;margin:auto 0 0;padding:20px 16px calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;border-bottom:0}
  .flow-dialog[open]{display:block}
  .flow-dialog .section-heading{position:sticky;top:-20px;z-index:3;margin:-20px -16px 12px;padding:16px;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
  .flow-dialog>.section-heading .icon-button{margin:-5px -5px -5px 0}
  .flow-dialog .form-footer{bottom:calc(-16px - env(safe-area-inset-bottom));margin:0 -16px;padding:13px 16px calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff5;backdrop-filter:blur(10px)}
  .flow-dialog input,.flow-dialog select,.flow-dialog textarea{font-size:16px}
  .payment-balances{gap:7px;padding:13px 10px}.payment-balances strong{font-size:13px}
  .support-form textarea{min-height:180px}
  .support-form input[type=file]{font-size:14px;white-space:normal}
  .auth-body{min-height:100dvh;padding:max(16px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .auth-card{padding:28px 22px;border-radius:18px;max-width:430px}
  .auth-card .brand{margin-bottom:32px}.auth-card h1{font-size:30px}
}

@media(max-width:380px){
  main{padding-inline:13px}
  .topbar{padding-inline:8px;grid-template-columns:44px auto minmax(0,1fr);gap:6px}
  .topbar-brand{font-size:14px}.topbar-brand .brand-mark{width:27px;height:29px;font-size:23px}
  .sidebar{width:min(88vw,290px);padding-inline:15px}
  .panel{padding:16px 13px}
  .page-heading>.actions:not(.dashboard-actions),.document-toolbar{grid-template-columns:minmax(0,1fr)}
  .dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-actions .button{font-size:12px;padding-inline:7px}
  .sticky-actions{margin-inline:-13px;padding-inline:13px}
  .form-footer{grid-template-columns:minmax(0,1fr)}
  .document-entry{grid-template-columns:36px minmax(0,1fr) auto;padding:13px 11px;gap:8px 9px}
  .document-entry .document-icon{width:36px;height:40px}
  .document-entry .document-number{font-size:13px}
  .document-state .badge{min-width:74px;padding-inline:6px}
  .client-row{grid-template-columns:minmax(0,1fr)}
  .client-row .row-main,.client-phone,.client-mobile{grid-column:1}
  .document-lines-editor .line-editor{padding:12px 10px;gap:12px 8px}
  .document-lines-editor .line-description{grid-template-columns:minmax(0,1fr) 44px}
  .payment-balances{grid-template-columns:minmax(0,1fr)}
  .payment-balances>div{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:3px 0}
  .invoice-tabs a{padding-inline:7px;font-size:11px}.invoice-count{font-size:9px}
  .report-table tbody td{grid-template-columns:minmax(80px,.8fr) minmax(0,1.2fr);gap:8px}
  .audit-filters .actions{grid-template-columns:minmax(0,1fr)}
  .details{grid-template-columns:minmax(78px,.6fr) minmax(0,1.4fr)}
  .auth-card{padding:25px 18px}.auth-card .brand{margin-bottom:28px}
}
@media print{.document-line-note{display:block}}
