:root{
  --bg:#f1f5f9;--card:#fff;--line:#dbe4ee;--text:#0f172a;--muted:#64748b;
  --brand:#0f766e;--brand2:#075985;--danger:#dc2626;--warn:#f59e0b;--ok:#16a34a;
  --shadow:0 12px 30px rgba(15,23,42,.08);--radius:18px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}a{color:inherit}img,svg,video{max-width:100%;height:auto}[hidden]{display:none!important}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:white;padding:calc(10px + var(--safe-top)) 16px 10px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:12px;min-width:0;font-weight:800;letter-spacing:.2px}.brand img{width:42px;height:42px;flex:0 0 auto;border-radius:12px;background:white;object-fit:contain}.brand span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-toggle{display:none;border:0;background:#ffffff24;color:white;font-size:24px;border-radius:12px;padding:8px 12px}.layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100svh - 66px)}.sidebar{background:#0f172a;color:#dbeafe;padding:18px 12px}.sidebar a{display:flex;align-items:center;gap:10px;text-decoration:none;padding:12px 14px;border-radius:14px;color:#dbeafe;margin-bottom:6px}.sidebar a:hover,.sidebar a.active{background:#1e293b;color:white}.main{padding:22px;max-width:1400px;width:100%;min-width:0;margin:0 auto}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:18px;max-width:100%}.grid{display:grid;gap:16px;min-width:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{display:flex;align-items:center;justify-content:space-between;gap:12px}.stat b{font-size:28px}.stat span{color:var(--muted)}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}h1,h2,h3{margin:0 0 10px;line-height:1.15}p{line-height:1.55}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#e2e8f0;color:#334155;font-weight:700;font-size:12px;white-space:nowrap}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.badge.danger{background:#fee2e2;color:#991b1b}.badge.blue{background:#dbeafe;color:#1e40af}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn,button{border:0;border-radius:12px;padding:10px 14px;min-height:42px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;justify-content:center;background:#e2e8f0;color:#0f172a;font:inherit}.btn.primary,button.primary{background:var(--brand);color:white}.btn.blue{background:var(--brand2);color:white}.btn.danger,button.danger{background:var(--danger);color:white}.btn.warn{background:var(--warn);color:#111827}.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.35);color:inherit}.btn:disabled,button:disabled{opacity:.55;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px;grid-column:span 4;min-width:0}.field.span-2{grid-column:span 2}.field.span-3{grid-column:span 3}.field.span-4{grid-column:span 4}.field.span-5{grid-column:span 5}.field.span-6{grid-column:span 6}.field.span-8{grid-column:span 8}.field.span-9{grid-column:span 9}.field.span-12{grid-column:span 12}label{font-weight:800;font-size:13px;color:#334155}input,select,textarea{width:100%;max-width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;min-height:42px;font:inherit;background:white;color:#0f172a}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(15,118,110,.18);border-color:var(--brand)}.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:16px;background:white;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:12px;border-bottom:1px solid #e2e8f0;vertical-align:top}th{font-size:12px;color:#475569;text-transform:uppercase;background:#f8fafc;letter-spacing:.04em}tr:hover td{background:#f8fafc}.flash{border-radius:14px;padding:12px 14px;margin-bottom:16px;font-weight:700}.flash.ok{background:#dcfce7;color:#166534}.flash.err{background:#fee2e2;color:#991b1b}.login-page{min-height:100svh;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at top left,#99f6e4,transparent 36%),linear-gradient(135deg,#075985,#0f766e)}.login-card{width:min(440px,100%);background:#fff;border-radius:28px;padding:30px;box-shadow:0 30px 70px #0005}.login-card .brand{color:#0f172a;justify-content:center;margin-bottom:20px}.mobile-install{display:none}.os-head{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1fr) 160px;gap:12px;align-items:end}.totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.total-box{border-radius:14px;padding:12px;background:#f8fafc;border:1px solid var(--line)}.total-box strong{display:block;font-size:20px}.print-only{display:none}.mini{font-size:12px;color:#64748b}.danger-text{color:#dc2626;font-weight:800}.success-text{color:#16a34a;font-weight:800}.list-clean{margin:0;padding-left:18px}.list-clean li{margin:6px 0}.help{background:#fffbeb;border:1px dashed #f59e0b;border-radius:16px;padding:14px}.item-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 120px 120px 44px;gap:8px;margin-bottom:8px}.item-row select{grid-column:1/-1}.item-row button{padding:8px}.hamb-label{display:none}.kpi-icon{font-size:30px}.responsive-card{display:none}
@media(max-width:900px){body.menu-open{overflow:hidden}.menu-toggle{display:inline-flex}.layout{grid-template-columns:1fr}.sidebar{position:fixed;inset:calc(62px + var(--safe-top)) auto 0 0;width:min(86vw,310px);transform:translateX(-105%);transition:.2s;z-index:60;box-shadow:var(--shadow);overflow:auto;padding-bottom:calc(22px + var(--safe-bottom))}body.menu-open .sidebar{transform:none}.main{padding:14px;width:100%;max-width:100%}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.field,.field.span-2,.field.span-3,.field.span-4,.field.span-5,.field.span-6,.field.span-8,.field.span-9,.field.span-12{grid-column:span 12}.os-head,.totals{grid-template-columns:1fr}.topbar{padding-left:12px;padding-right:12px}.topbar .actions{margin-left:auto}.topbar .user-chip{display:none}.table-wrap.mobile-hide{display:none}.responsive-card{display:block}.responsive-card .row{border:1px solid var(--line);border-radius:16px;background:white;padding:14px;margin-bottom:12px;box-shadow:var(--shadow)}}
@media(max-width:640px){.topbar{gap:8px}.brand{gap:8px}.brand img{width:38px;height:38px}.brand span{font-size:15px}.main{padding:10px}.card{padding:14px;border-radius:16px;margin-bottom:12px}.title-row{align-items:stretch}.title-row>.actions,.title-row>form.actions{width:100%}.actions{width:100%}.actions .btn,.actions button,.actions input{flex:1 1 auto}.login-card{padding:22px;border-radius:22px}h1{font-size:24px}h2{font-size:20px}.stat b{font-size:24px}.kpi-icon{font-size:24px}.item-row{grid-template-columns:1fr 1fr}.item-row select,.item-row input[name="item_description[]"]{grid-column:1/-1}.item-row button{grid-column:1/-1}table{min-width:680px}.btn,button{width:auto;min-width:0}}
@media(max-width:380px){.brand span{max-width:150px}.menu-toggle{padding:8px 10px}.card{padding:12px}.item-row{grid-template-columns:1fr}.item-row>*{grid-column:1/-1!important}}
@media print{body{background:white;overflow:visible}.topbar,.sidebar,.actions,.no-print,.flash{display:none!important}.layout{display:block}.main{padding:0;max-width:none}.card{box-shadow:none;border:0;margin:0;padding:0}.print-only{display:block}.table-wrap{border:0;overflow:visible}table{min-width:0}.print-box{border:1px solid #111;padding:10px;margin-bottom:10px}.print-title{font-size:24px;font-weight:900;text-align:center}.print-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.print-grid div{border:1px solid #333;padding:8px;min-height:42px}}
