@media (max-width: 719px){.table.lines td.td-primary .ss{width:100%}.table.lines td.td-primary{display:block}}.inv-lines td input,.inv-lines td select{min-width:0}.inv-lines input.ar{text-align:right}@media (min-width: 720px){.inv-lines td:nth-child(2) input{min-width:220px}}@media (max-width: 719px){.inv-lines td:nth-child(2) input{max-width:70%;text-align:left}}.rcpt-stats{margin:.9rem 0 0}@media (min-width: 720px){.rcpt-stats{grid-template-columns:repeat(3,1fr)}}.print-shell{background:#e9ebef;min-height:100vh}.inv-print{position:relative;box-shadow:0 2px 12px #0000001f;margin-top:12px;margin-bottom:24px}.inv-print .pre{white-space:pre-line}.inv-print .ar{text-align:right}.inv-co-name{font-size:18px;font-weight:800;color:#b71c1c;margin-bottom:2px}.inv-meta{min-width:220px}.inv-meta td:first-child{padding-right:10px;white-space:nowrap}.inv-lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#555;font-weight:700;margin-bottom:2px}.inv-parties,.inv-lines-print{margin-bottom:8px}.inv-lines-print tbody tr td{height:22px}.inv-bottom{display:flex;gap:10px;align-items:flex-start}.inv-taxsum{flex:1}.inv-grand{width:46%!important}.inv-grand .inv-total td{background:#f0f0f0;font-size:13.5px}.inv-words{border:1px solid #555;padding:5px 6px;margin:8px 0}.inv-foot .inv-sign{text-align:right;vertical-align:top}.inv-sign-space{height:54px}.inv-decl{margin-top:8px;font-size:11px;color:#333}.inv-note{text-align:center;font-size:10.5px;color:#666;margin-top:6px}.inv-cancelled{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) rotate(-24deg);font-size:72px;font-weight:900;color:#b423182e;letter-spacing:.1em;pointer-events:none}@media (max-width: 719px){.inv-print{padding:4mm;font-size:11px;overflow-x:auto}.inv-print .print-head,.inv-bottom{flex-direction:column}.inv-grand{width:100%!important}}@media print{.print-shell{background:#fff}.inv-print{box-shadow:none;margin:0}.inv-print th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.report-page .report-check{flex:0 1 auto;white-space:nowrap}.report-page .report-note{margin:.75rem 0 0}.report-page .strike{text-decoration:line-through}.report-page .card-head h2{display:flex;align-items:center;gap:.4rem}.modal .stats{margin-bottom:.25rem}@media print{body:has(.report-page) .sidebar,body:has(.report-page) .topbar,body:has(.report-page) .scrim,body:has(.report-page) .page-actions,body:has(.report-page) .toolbar,body:has(.report-page) .no-print,body:has(.report-page) .toasts{display:none!important}body:has(.report-page){background:#fff;font-size:11px}body:has(.report-page) .main{margin-left:0!important}body:has(.report-page) .content{padding:0;max-width:none}.report-page .card{box-shadow:none;border:0;break-inside:auto}.report-page .card-body{padding:0}.report-page .stat{box-shadow:none}.report-page .table th,.report-page .table td{padding:3px 5px}.report-page .table-wrap{overflow:visible}.report-page tr.clickable{cursor:default}}:root{--brand: #b71c1c;--brand-600: #9a1616;--brand-50: #fdecec;--bg: #f4f5f7;--surface: #ffffff;--surface-2: #f9fafb;--text: #1d2330;--muted: #667085;--border: #e3e6eb;--border-strong: #cfd4dc;--focus: #2f6fed;--green: #137a3f;--green-bg: #e6f4ec;--amber: #8a5a00;--amber-bg: #fff4d6;--red: #b42318;--red-bg: #fde8e7;--blue: #1d4ed8;--blue-bg: #e7eefc;--grey: #475467;--grey-bg: #eef0f3;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .18);--sidebar-w: 248px;--topbar-h: 56px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:15px;line-height:1.45;color:var(--text);background:var(--bg)}body.no-scroll{overflow:hidden}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:1.3rem}h2{font-size:1.05rem}h3{font-size:1rem}p{margin:0 0 .75rem}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.small{font-size:.82rem}.ar{text-align:right}.nowrap{white-space:nowrap}.strong{font-weight:600}.tone-red{color:var(--red)}.tone-green{color:var(--green)}.tone-amber{color:var(--amber)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.row{display:flex;align-items:center;flex-wrap:wrap}.gap{gap:.5rem}.stack>*+*{margin-top:.9rem}.spacer{flex:1}.center-screen{min-height:100vh;display:grid;place-items:center}.link{background:none;border:0;color:var(--brand);cursor:pointer;padding:0;font:inherit;text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:#1b1f2a;color:#d6dae3;overflow-y:auto;z-index:40;transform:translate(-100%);transition:transform .2s ease;padding-bottom:2rem}.nav-open .sidebar{transform:none;box-shadow:var(--shadow-lg)}.scrim{display:none}.nav-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:35}.brand{display:flex;gap:.65rem;align-items:center;padding:1rem 1rem .75rem}.brand-name{color:#fff;font-weight:700;font-size:.98rem}.brand-sub{font-size:.75rem;color:#9aa3b5;letter-spacing:.08em}.nav-group{padding:.35rem 0}.nav-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#8891a5;padding:.5rem 1rem .25rem}.nav-link{display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;color:#d6dae3;font-size:.9rem;border-left:3px solid transparent}.nav-link:hover{background:#ffffff0f;text-decoration:none}.nav-link.active{background:#b71c1c40;color:#fff;border-left-color:#ef5350}.nav-icon{width:1.25rem;text-align:center;font-size:.9rem;opacity:.9}.main{min-width:0}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar-h);display:flex;align-items:center;gap:.5rem;padding:0 .75rem;background:var(--surface);border-bottom:1px solid var(--border)}.menu-btn{font-size:1.25rem}.topbar-brand{font-weight:700;font-size:.95rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 1024px){.topbar-brand{display:none}}.user-box{position:relative;margin-left:auto}.user-btn{display:flex;align-items:center;gap:.45rem;background:none;border:0;cursor:pointer;padding:.25rem;font:inherit;color:inherit}.avatar{width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700}.user-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:220px;overflow:hidden;z-index:50}.user-menu-head{display:flex;flex-direction:column;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.user-menu button{display:block;width:100%;text-align:left;padding:.65rem 1rem;background:none;border:0;font:inherit;cursor:pointer}.user-menu button:hover{background:var(--surface-2)}.content{padding:.9rem .75rem 4rem;max-width:1400px;margin:0 auto}@media (min-width: 1024px){.sidebar{transform:none}.main{margin-left:var(--sidebar-w)}.menu-btn,.nav-open .scrim{display:none}.content{padding:1.25rem 1.5rem 4rem}.topbar{padding:0 1.5rem}}.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.page-title{display:flex;align-items:center;gap:.5rem;min-width:0}.page-title h1{word-break:break-word}.back{font-size:1.6rem;line-height:1;color:var(--muted);padding:0 .35rem}.back:hover{text-decoration:none;color:var(--text)}.page-actions{display:flex;flex-wrap:wrap;gap:.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem}.card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.card-body{padding:1rem}.card.narrow{max-width:480px}.card-body>.table-wrap:only-child{margin:-1rem;width:calc(100% + 2rem)}.card-body>.empty:only-child{margin:-.25rem 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:38px;padding:.45rem .95rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap;text-decoration:none}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-600)}.btn-danger{background:#fff;border-color:#f1b4ae;color:var(--red)}.btn-danger:hover{background:var(--red-bg)}.btn-success{background:var(--green);border-color:var(--green);color:#fff}.btn-success:hover{background:#0f6534}.btn-ghost{border-color:transparent;background:transparent}.btn-sm{min-height:30px;padding:.25rem .6rem;font-size:.82rem}.btn-block{width:100%}.icon-btn{background:none;border:0;font-size:1.4rem;line-height:1;cursor:pointer;padding:.35rem .5rem;color:var(--muted);border-radius:var(--radius-sm)}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}input,select,textarea{font:inherit;color:inherit;width:100%;min-height:38px;padding:.45rem .6rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff}input[type=checkbox],input[type=radio]{width:auto;min-height:0}textarea{resize:vertical}input:disabled,select:disabled,textarea:disabled,input[readonly]{background:var(--surface-2);color:var(--muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px #2f6fed26}.field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.field-label{font-size:.82rem;font-weight:600;color:#344054}.field-label em{color:var(--red);font-style:normal;margin-left:2px}.field-hint{font-size:.75rem;color:var(--muted)}.field-error{font-size:.75rem;color:var(--red)}.has-error input,.has-error select{border-color:var(--red)}.form-grid{display:grid;gap:.85rem;grid-template-columns:1fr}@media (min-width: 640px){.form-grid.cols-2,.form-grid.cols-3,.form-grid.cols-4{grid-template-columns:repeat(2,1fr)}.field-wide{grid-column:1 / -1}}@media (min-width: 1024px){.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}.form-grid.cols-4{grid-template-columns:repeat(4,1fr)}}.check{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;font-size:.9rem}.form-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-top:1rem}@media (max-width: 639px){.form-actions{position:sticky;bottom:0;background:var(--bg);padding:.65rem 0;margin-top:.5rem;z-index:5}.form-actions .btn{flex:1}}.ss{position:relative}.ss-input{padding-right:1.8rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23667085' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right .6rem center}.ss-input::placeholder{color:#98a2b3}.ss-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;max-height:280px;overflow-y:auto;background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:240px}.ss-menu.ss-float{position:fixed;right:auto;z-index:150;min-width:0}.ss-opt{padding:.5rem .65rem;cursor:pointer;font-size:.9rem}.ss-opt.hi{background:var(--surface-2)}.ss-opt.sel{font-weight:600}.ss-opt:not(.ss-create){display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.ss-sub{font-size:.76rem;color:var(--muted);white-space:nowrap;flex-shrink:0}.ss-empty{padding:.6rem;color:var(--muted);font-size:.85rem}.ss-create{color:var(--brand);font-weight:600;border-top:1px solid var(--border)}.ss-disabled .ss-input{background-color:var(--surface-2)}.badge{display:inline-block;padding:.12rem .55rem;border-radius:999px;font-size:.74rem;font-weight:600;white-space:nowrap}.badge-green{background:var(--green-bg);color:var(--green)}.badge-amber{background:var(--amber-bg);color:var(--amber)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-blue{background:var(--blue-bg);color:var(--blue)}.badge-grey{background:var(--grey-bg);color:var(--grey)}.alert{padding:.65rem .85rem;border-radius:var(--radius-sm);font-size:.9rem;margin-bottom:.75rem;border:1px solid transparent}.alert-error{background:var(--red-bg);color:var(--red);border-color:#f6c9c4}.alert-info{background:var(--blue-bg);color:#1e3a8a;border-color:#c9d7f7}.alert-warn{background:var(--amber-bg);color:var(--amber);border-color:#f3dc9b}.alert-success{background:var(--green-bg);color:var(--green);border-color:#bfe3cd}.loading{display:flex;align-items:center;gap:.5rem;color:var(--muted);padding:1.5rem .5rem}.empty{text-align:center;color:var(--muted);padding:2rem 1rem;font-size:.92rem}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);padding:.6rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}.table td span.small,.table td span.muted{white-space:nowrap}@media (min-width: 720px){.table th{white-space:normal;vertical-align:bottom;padding:.55rem .6rem}.table td{padding-left:.6rem;padding-right:.6rem}.table td{white-space:nowrap}.table td.wrap{white-space:normal;min-width:140px}.table td.wrap-words{white-space:normal;min-width:120px}.table td .field-error{white-space:normal}}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:#fafbfc}.table tfoot td{font-weight:700;background:var(--surface-2)}.table th.ar,.table td.ar{text-align:right}.table td input,.table td select{min-height:34px;padding:.3rem .45rem}@media (max-width: 719px){.table thead{display:none}.table,.table tbody,.table tr,.table td,.table tfoot{display:block;width:100%}.table tr{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 .6rem;background:#fff;padding:.35rem .25rem}.card-body>.table-wrap:only-child{margin:0}.table td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.3rem .65rem;text-align:right}.table td:before{content:attr(data-label);font-size:.78rem;color:var(--muted);text-align:left;flex:0 0 40%;font-weight:600}.table td.td-primary{font-weight:700;font-size:.98rem;border-bottom:1px solid var(--border);margin-bottom:.2rem;padding-bottom:.45rem}.table td.td-primary:before{display:none}.table td.td-primary{justify-content:flex-start;text-align:left}.table td>.td-v{min-width:0;overflow-wrap:anywhere}.table td.hide-mobile{display:none}.table td[data-label=""]:before{display:none}.table tfoot tr{background:var(--surface-2)}.table td input,.table td select{max-width:60%;text-align:right}.table td .ss{width:60%}.table td .ss input{max-width:100%;text-align:left}.hide-mobile{display:none!important}}.table.lines td.td-primary{white-space:nowrap}.lines-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.75rem}.toolbar>*{flex:1 1 160px}.toolbar-search{flex:2 1 220px}.toolbar .btn{flex:0 0 auto}@media (min-width: 720px){.toolbar>select,.toolbar>input[type=date]{flex:0 1 190px}}.pager{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 0 0}.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem 1.25rem;margin:0}.kv-item dt{font-size:.76rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.kv-item dd{margin:.15rem 0 0;word-break:break-word}.totals{margin-left:auto;max-width:360px;padding-top:.75rem}.totals-row{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0;font-size:.92rem}.totals-row.strong{font-weight:700;font-size:1.02rem;border-top:1px solid var(--border);margin-top:.25rem;padding-top:.5rem}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-bottom:1rem}@media (min-width: 720px){.stats{grid-template-columns:repeat(4,1fr)}}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .9rem;box-shadow:var(--shadow);color:inherit;display:block}.stat-link:hover{text-decoration:none;border-color:var(--border-strong)}.stat-label{font-size:.76rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.stat-value{font-size:1.15rem;font-weight:700;margin-top:.2rem;word-break:break-word}.stat-sub{font-size:.78rem;color:var(--muted);margin-top:.1rem}.grid-2{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 1024px){.grid-2{grid-template-columns:1fr 1fr}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182873;z-index:100;display:flex;align-items:flex-end;justify-content:center}.modal{background:var(--surface);width:100%;max-height:92vh;display:flex;flex-direction:column;border-radius:14px 14px 0 0;box-shadow:var(--shadow-lg)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.modal-body{padding:1rem;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border)}@media (max-width: 639px){.modal-foot .btn{flex:1}}@media (min-width: 640px){.modal-backdrop{align-items:center;padding:1rem}.modal{max-width:640px;border-radius:14px}.modal-sm{max-width:420px}.modal-lg{max-width:900px}}.toasts{position:fixed;z-index:200;left:50%;transform:translate(-50%);bottom:1rem;display:flex;flex-direction:column;gap:.5rem;width:min(92vw,420px)}.toast{padding:.7rem 1rem;border-radius:var(--radius-sm);color:#fff;box-shadow:var(--shadow-lg);cursor:pointer;font-size:.92rem}.toast-success{background:#146c3c}.toast-error{background:#b42318}.toast-info{background:#344054}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(160deg,#fdecec,#f4f5f7 55%)}.auth-card{width:100%;max-width:400px;background:#fff;border-radius:14px;box-shadow:var(--shadow-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.auth-brand{display:flex;gap:.75rem;align-items:center}.auth-brand h1{font-size:1.2rem}.project-pick-list{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.project-pick{text-align:left;display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;cursor:pointer;font:inherit}.project-pick:hover{border-color:var(--brand);background:var(--brand-50)}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1rem;overflow-x:auto}.tab{padding:.55rem .9rem;border:0;background:none;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.print-page{background:#fff;color:#000;max-width:210mm;margin:0 auto;padding:12mm;font-size:12.5px}.print-toolbar{display:flex;gap:.5rem;justify-content:center;padding:.75rem;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.print-page table{width:100%;border-collapse:collapse}.print-page th,.print-page td{border:1px solid #555;padding:4px 6px;vertical-align:top}.print-page th{background:#f0f0f0;font-size:11.5px}.print-head{display:flex;justify-content:space-between;gap:1rem;border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:8px}.print-title{text-align:center;font-size:16px;font-weight:700;letter-spacing:.06em;margin:6px 0 10px}.print-page .no-border td{border:0;padding:2px 0}@media print{@page{size:A4;margin:10mm}body{background:#fff}.print-toolbar{display:none}.print-page{padding:0;max-width:none}}.quick-links{margin:-.25rem 0 1rem}
