:root{--bg:#f3f4f6;--surface:#fff;--text:#111827;--muted:#6b7280;--border:#d1d5db;--border-soft:#e5e7eb;--accent:#002b91;--accent-hover:#001f6b;--dark:#001a5c;--accent-light:#8dbeff;--tint:#eef4ff;--danger:#dc2626;--ok:#059669;--row-hover:#e3edff;--radius:8px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:15px}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent-hover)}h1{flex-wrap:wrap;align-items:center;gap:.6rem;margin:0;font-size:1.5rem;display:flex}h2{margin:0 0 .8rem;font-size:1.1rem}h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .5rem;font-size:.85rem}.muted{color:var(--muted)}.center{text-align:center;padding:1.5rem}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.upper{text-transform:uppercase}.error{color:#991b1b;border-radius:var(--radius);background:#fee2e2;margin:.6rem 0;padding:.6rem .9rem}.ok{color:#065f46;border-radius:var(--radius);background:#d1fae5;margin:.6rem 0;padding:.6rem .9rem}.warn{color:#b45309;font-size:.8rem}td.error{padding:.3rem .5rem}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);white-space:nowrap;align-items:center;gap:.3rem;padding:.5rem .9rem;text-decoration:none;display:inline-flex}button:hover,.btn:hover{border-color:var(--muted)}button:disabled{opacity:.5;cursor:default}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover,.btn.primary:hover{background:var(--accent-hover)}button.small{padding:.25rem .6rem;font-size:.85rem}button.link{color:inherit;background:0 0;border:none;padding:0;text-decoration:underline}button.icon{color:var(--muted);background:0 0;border:none;padding:.2rem .4rem}button.icon:hover{color:var(--text)}button.icon.danger:hover{color:var(--danger)}button.chip{border-radius:999px;margin:0 .2rem;padding:.1rem .5rem;font-size:.85rem}input,select,textarea{font:inherit;border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:6px;padding:.5rem .6rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}input:disabled{background:var(--bg)}label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}label>input,label>select,label>textarea{color:var(--text);font-size:15px}label.check{flex-direction:row;align-self:end;align-items:center;gap:.4rem;padding-bottom:.55rem}label.check input{width:auto}textarea{resize:vertical}.topbar{background:var(--dark);color:#e5e7eb;flex-wrap:wrap;align-items:center;gap:1.5rem;min-height:56px;padding:0 1.25rem;display:flex}.topbar a{color:#e5e7eb;text-decoration:none}.brand{align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;display:flex}.brand img{object-fit:contain;background:#fff;border-radius:50%;width:40px;height:40px}.topbar nav{flex-wrap:wrap;flex:1;gap:.2rem;display:flex}.topbar nav a{border-radius:6px;padding:.45rem .75rem}.topbar nav a:hover{background:#ffffff14}.topbar nav a.active{background:var(--accent-light);color:var(--dark);font-weight:600}.topbar .user{align-items:center;gap:1rem;font-size:.9rem;display:flex}.content{max-width:1280px;margin:0 auto;padding:1.25rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.buttons{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.form-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);margin-bottom:1rem;padding:1.1rem}.narrow-card{flex-direction:column;gap:.8rem;max-width:420px;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.8rem;display:grid}.grid .wide{grid-column:span 2}.grid .full{grid-column:1/-1}.inline-form{flex-wrap:wrap;align-items:end;gap:.8rem;display:flex}.inline-form label{flex:1;min-width:180px}.inline-form label.narrow{flex:0 0 140px;min-width:120px}.inline-form label.check{flex:none;min-width:0}fieldset{border:none;margin:0 0 1.2rem;padding:0}fieldset:last-child{margin-bottom:0}legend{margin-bottom:.6rem;padding:0;font-weight:600}.hint{background:var(--tint);border:1px solid #bfd6ff;border-radius:6px;margin-top:.6rem;padding:.5rem .7rem;font-size:.9rem}.search-main{flex-wrap:wrap;gap:.5rem;display:flex}.search-main input{flex:1;min-width:240px}.filters{margin-top:.9rem}.pager{justify-content:center;align-items:center;gap:1rem;display:flex}.table-wrap{overflow-x:auto}.card.table-wrap{padding:0}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:top;padding:.55rem .7rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:#f9fafb;font-size:.8rem;font-weight:600}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td.idx,th.idx{width:2.5rem;color:var(--muted)}.sub{color:var(--muted);font-size:.8rem}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--row-hover)}tr.inactive td{color:var(--muted)}tr.detail td{background:#fafafa;padding-left:2rem;font-size:.9rem}tfoot td{border-bottom:none;font-weight:600}tr.grand td{border-top:2px solid var(--text);font-size:1.1rem}td.actions{white-space:nowrap;text-align:right;width:1%}td.actions button+button{margin-left:.3rem}.plate{border:1px solid var(--text);white-space:nowrap;background:#fff;border-radius:4px;padding:0 .35rem;font-family:ui-monospace,Consolas,monospace;font-weight:600}.plate:empty{display:none}.status{white-space:nowrap;border-radius:999px;padding:.15rem .55rem;font-size:.8rem;font-weight:600}.s-new{color:#1e40af;background:#dbeafe}.s-in_progress{color:#92400e;background:#fef3c7}.s-done{color:#065f46;background:#d1fae5}.s-cancelled{color:#4b5563;background:#e5e7eb}table.items .section-row td{text-transform:uppercase;letter-spacing:.03em;background:#f3f4f6;font-size:.85rem;font-weight:600}table.items .edit-row td{background:var(--tint);padding:.35rem .4rem}table.items .edit-row input,table.items .edit-row select{padding:.35rem .45rem}table.items .edit-row td.idx{width:7rem}table.items input.num{text-align:right;width:6.5rem}table.items input.unit{width:4.5rem}table.items input.article{margin-top:.3rem;font-size:.85rem}table.items tbody.add tr:first-child td{border-top:2px solid var(--border)}table.items tr.master-row td{color:var(--ok);font-weight:500}.info-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem;display:grid}.info-grid .full{grid-column:1/-1}.info-grid p{margin:.3rem 0}dl{grid-template-columns:auto 1fr;gap:.3rem .8rem;margin:0;display:grid}dt{color:var(--muted);font-size:.9rem}dd{margin:0}.login-page{background:var(--dark);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{flex-direction:column;gap:.9rem;width:100%;max-width:360px;display:flex}.login-card h1{justify-content:center}.login-logo{object-fit:contain;height:140px}.logo-row{flex-wrap:wrap;align-items:center;gap:1.2rem;display:flex}.logo-row .btn{margin-right:.5rem}.logo-preview{object-fit:contain;border:1px dashed var(--border);background:#fff;border-radius:6px;max-width:240px;height:90px;padding:.4rem}@media (width<=700px){.grid .wide{grid-column:auto}.content{padding:.75rem}}.print-page{background:#e5e7eb;min-height:100vh;padding:1rem 0}.print-toolbar{justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.sheet{color:#000;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:14mm 14mm 16mm;font-size:10.5pt;box-shadow:0 2px 12px #00000026}.doc-head{border-bottom:.6mm solid #000;align-items:center;gap:6mm;padding-bottom:4mm;display:flex}.doc-logo{object-fit:contain;max-width:50mm;height:26mm}.company{line-height:1.35}.company-name{font-size:15pt;font-weight:700}.company .details{white-space:pre-line;color:#333;font-size:9pt}.doc-title{justify-content:center;margin:6mm 0 4mm;font-size:15pt}.sheet table{font-size:10pt}.sheet th,.sheet td{color:#000;padding:1.6mm 2mm}.sheet{--line:.4mm solid #000}.doc-info,.doc-table{border-collapse:separate;border-spacing:0;border-top:var(--line);border-left:var(--line)}.doc-info th,.doc-info td,.doc-table th,.doc-table td{border:none;border-right:var(--line);border-bottom:var(--line)}.doc-info{margin-bottom:4mm}.doc-info th,.doc-table th{text-transform:none;letter-spacing:0;color:#000;background:#f2f2f2;font-size:9.5pt}.doc-info th{width:22%}.doc-info td{width:28%}.doc-section{margin:5mm 0 2mm;font-size:11pt}.doc-table td.idx,.doc-table th.idx{color:#000;text-align:center;width:8mm}.doc-table tfoot td{font-weight:700}.doc-totals{width:auto;margin:5mm 0 0 auto}.doc-totals td{text-align:right;border:none;padding:.8mm 2mm;font-size:11pt}.doc-totals tr.grand td{border-top:var(--line);font-size:13pt;font-weight:700}.in-words{margin:2mm 0 0;font-style:italic}.doc-comment,.doc-footer{white-space:pre-line;margin-top:4mm}.doc-footer{font-size:9pt}.signatures{gap:15mm;margin-top:14mm;display:flex}.signatures div{flex:1;align-items:flex-end;gap:3mm;display:flex}.signatures i{border-bottom:var(--line);flex:1;height:6mm}@page{size:A4;margin:0}@media print{body,.print-page{background:#fff;padding:0}.no-print{display:none!important}.sheet{box-shadow:none;width:auto;min-height:0;margin:0}.doc-table tr,.doc-info tr{break-inside:avoid}.doc-table thead{display:table-header-group}.doc-info th,.doc-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
