:root{
  --bg:#f4f7fb;--panel:#ffffff;--panel2:#f8fafc;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;
  --blue:#0b5cff;--blue2:#0052cc;--cyan:#06b6d4;--green:#16a34a;--orange:#f97316;--red:#ef4444;--purple:#7c3aed;
  --shadow:0 18px 45px rgba(15,23,42,.08);--soft:0 8px 24px rgba(15,23,42,.06);--r:18px;--r2:24px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 20% -10%,#dbeafe 0,#f4f7fb 32%,#f8fafc 100%);color:var(--text)}
a{color:var(--blue);text-decoration:none}small,.hint{color:var(--muted)}
/* DESKTOP APP SHELL */
aside{position:fixed;z-index:20;inset:12px auto 12px 12px;width:252px;background:linear-gradient(180deg,#071b36,#0b1325 70%,#07111f);color:#fff;border-radius:24px;padding:16px;box-shadow:0 22px 50px rgba(2,6,23,.24);overflow:auto}.brand{display:flex;gap:12px;align-items:center;padding:12px 12px 16px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:12px}.brandmark{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#1d4ed8,#22d3ee);box-shadow:0 10px 25px rgba(14,165,233,.28);font-weight:900;font-size:12px}.brand b{display:block;font-size:18px;letter-spacing:.2px}.brand span{font-size:12px;color:#cbd5e1}.sidenav{display:grid;gap:4px}.navlink{display:flex;align-items:center;gap:11px;color:#dbeafe;text-decoration:none;padding:11px 12px;border-radius:15px;font-size:14px;font-weight:650;transition:.18s}.navlink:hover,.navlink.active{background:linear-gradient(135deg,#0b5cff,#0048b8);color:#fff;box-shadow:0 12px 22px rgba(11,92,255,.22)}.navico{width:22px;text-align:center}.userbox{display:flex;gap:10px;align-items:center;margin-top:18px;padding:13px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#22c55e,#0ea5e9);font-weight:900}.userbox small,.userbox a{display:block;color:#cbd5e1;font-size:12px;margin-top:2px}
main{margin-left:278px;min-height:100vh;padding:18px 22px 96px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding:10px 2px}.top h1{font-size:26px;line-height:1.15;margin:0;font-weight:850;letter-spacing:-.02em}.top p{margin:6px 0 0;color:var(--muted)}.top-actions{display:flex;gap:10px;align-items:center}.quicksearch{width:260px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff;box-shadow:var(--soft)}.company{padding:10px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);font-weight:750;color:#0f172a}.mobilebar,.bottomnav{display:none}.page-content{max-width:1500px}
/* CARDS & GRIDS */
.card{background:rgba(255,255,255,.96);border:1px solid rgba(226,232,240,.95);border-radius:var(--r2);box-shadow:var(--shadow);padding:18px;margin-bottom:16px;backdrop-filter:saturate(1.25) blur(8px)}.card h2{margin:0 0 12px;font-size:18px}.grid{display:grid;gap:14px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stats .card{position:relative;overflow:hidden;margin:0;min-height:108px}.stats .card:after{content:"";position:absolute;inset:auto -30px -36px auto;width:118px;height:118px;border-radius:50%;background:rgba(11,92,255,.08)}.stats .card:nth-child(1){background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff}.stats .card:nth-child(2){background:linear-gradient(135deg,#0b5cff,#0ea5e9);color:#fff}.stats .card:nth-child(3){background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}.stats .card:nth-child(4){background:linear-gradient(135deg,#f97316,#f59e0b);color:#fff}.stats small{display:block;color:inherit;opacity:.88;margin-bottom:8px;text-transform:uppercase;font-weight:800;font-size:11px}.stats b{font-size:24px;letter-spacing:-.02em}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:10px}.full{grid-column:1/-1}.notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:18px;padding:13px 15px;margin:0 0 16px;color:#1e3a8a;font-weight:650}.alert{padding:12px;border-radius:16px;background:#ecfeff;border:1px solid #a5f3fc}.warning{background:#fffbeb;border-color:#fde68a}.success{background:#ecfdf5;border-color:#bbf7d0}.danger{background:#fff1f2;border-color:#fecdd3}.line{border:1px solid #dbeafe;border-radius:20px;padding:13px;margin:12px 0;background:linear-gradient(180deg,#fff,#f8fafc)}.calcbar{display:flex;gap:12px;align-items:center;justify-content:flex-end;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;padding:9px 12px}.calcbar b{color:#0b5cff}
/* FORMS */
label span{display:block;font-size:12px;color:#64748b;margin-bottom:6px;font-weight:750}input,select,textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:14px;outline:0;transition:.16s}input:focus,select:focus,textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px #dbeafe}textarea{min-height:92px}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#0b5cff,#0048b8);color:#fff;border:0;border-radius:14px;padding:11px 15px;text-decoration:none;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(11,92,255,.18);white-space:nowrap}.btn:hover,button:hover{filter:brightness(.98);transform:translateY(-1px)}.big{width:100%;margin-top:14px;font-size:16px;padding:14px}.actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.actions form{display:flex;gap:8px;flex:1}.inlineform{display:grid;grid-template-columns:160px 1fr 160px 120px;gap:8px}.checks{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.check{background:#f3f4f6;border-radius:999px;padding:8px 10px}.small{padding:8px 10px;border-radius:10px;font-size:12px;margin:2px}
/* TABLES */
.tablewrap{overflow:auto;border-radius:20px;border:1px solid var(--line);background:#fff;box-shadow:var(--soft)}table{width:100%;border-collapse:separate;border-spacing:0;background:white}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#334155;font-size:12px;text-transform:uppercase;letter-spacing:.02em}tr:hover td{background:#f8fafc}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#e2e8f0;color:#334155;font-size:12px;font-weight:800}.badge.active,.badge.available,.badge.completed,.badge.delivered,.badge.ready,.badge.converted,.badge.paid,.badge.exported,.badge.done{background:#dcfce7;color:#166534}.badge.need_care,.badge.reserved,.badge.pending,.badge.partial,.badge.waiting_material,.badge.reserved_future,.badge.quote_pending,.badge.pending_approval{background:#fef3c7;color:#92400e}.badge.high_debt,.badge.sleeping,.badge.danger,.badge.need_reselect,.badge.mismatch,.badge.unpaid,.badge.not_exported,.badge.overdue{background:#fee2e2;color:#991b1b}.dangerlink{color:#b91c1c;font-weight:800}.statlink{display:block;text-decoration:none;color:inherit}pre{white-space:pre-wrap;max-width:900px}.login{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at top left,#bfdbfe,#f8fafc 45%,#e0f2fe)}.loginbox{width:min(420px,92vw);background:white;border-radius:28px;box-shadow:var(--shadow);padding:30px}.loginbox h1{margin:0}.loginbox p{color:var(--muted)}
/* TABLET */
@media(max-width:1180px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid5{grid-template-columns:repeat(2,minmax(0,1fr))}.quicksearch{display:none}}
/* MOBILE APP MODE */
@media(max-width:900px){
  body{background:#f6f8fc;padding-bottom:88px}aside{position:fixed;z-index:50;inset:0 auto 0 0;width:82vw;max-width:330px;border-radius:0 26px 26px 0;transform:translateX(-105%);transition:.22s;padding-top:env(safe-area-inset-top,14px)}body.menu-open aside{transform:translateX(0)}body.menu-open:after{content:"";position:fixed;z-index:40;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(2px)}main{margin:0;padding:72px 12px 96px}.mobilebar{display:flex;position:fixed;z-index:30;inset:0 0 auto 0;height:58px;padding:10px 12px calc(10px + env(safe-area-inset-top,0px));align-items:center;justify-content:space-between;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.85)}.mobilebar button,.mobilebar a{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eff6ff;color:#0b5cff;box-shadow:none;padding:0}.mobilebar b{font-size:15px;max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top{display:none}.page-content{max-width:none}.bottomnav{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;z-index:35;inset:auto 10px calc(10px + env(safe-area-inset-bottom,0px)) 10px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid rgba(226,232,240,.9);border-radius:24px;padding:7px;box-shadow:0 18px 38px rgba(15,23,42,.14)}.bottomitem{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;color:#64748b;font-weight:800;min-height:50px;border-radius:17px}.bottomitem span{font-size:18px}.bottomitem small{font-size:10px;color:inherit}.bottomitem.active{background:#eff6ff;color:#0b5cff}.card{border-radius:20px;padding:14px;margin-bottom:12px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.notice{border-radius:16px;font-size:13px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats .card{min-height:102px;padding:14px;border-radius:18px}.stats b{font-size:18px}.stats small{font-size:10px}.formgrid,.grid5{grid-template-columns:1fr;gap:10px}.actions{display:grid;gap:9px}.actions form{display:grid;gap:8px}.actions .btn,.actions button{width:100%}.inlineform{grid-template-columns:1fr}.tablewrap{border:0;box-shadow:none;background:transparent;border-radius:0}table,thead,tbody,tr,td,th{display:block}thead{display:none}tr{background:#fff;border:1px solid var(--line);border-radius:18px;margin:0 0 10px;padding:10px;box-shadow:0 8px 18px rgba(15,23,42,.05)}td{border:0;padding:7px 8px;white-space:normal;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;font-size:13px}td:before{content:"";font-weight:800;color:#64748b;min-width:86px}td:first-child{font-weight:850;color:#0b5cff;font-size:14px}.line{border-radius:18px;padding:12px}.calcbar{justify-content:space-between;flex-wrap:wrap}input,select,textarea{font-size:16px}.loginbox{border-radius:24px;padding:24px}.userbox{margin-bottom:20px}
}
@media(max-width:420px){main{padding-left:10px;padding-right:10px}.stats{grid-template-columns:1fr 1fr}.bottomitem small{font-size:9px}.bottomnav{inset:auto 6px calc(8px + env(safe-area-inset-bottom,0px)) 6px}.card{padding:12px}}

/* V12 ADVANCED FILTERS */
.filtercard{border:1px solid #bfdbfe;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.filtercard summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none}
.filtercard summary::-webkit-details-marker{display:none}.filtercard summary small{font-size:12px;color:#0b5cff;background:#eff6ff;border-radius:999px;padding:5px 10px;font-weight:800}
.filtergrid{margin-top:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.filter-actions{display:flex;gap:10px;align-items:end;grid-column:1/-1}.btn.secondary{background:#f1f5f9;color:#0f172a;box-shadow:none;border:1px solid #e2e8f0}.filtercard input,.filtercard select{background:#fff}
@media(max-width:1180px){.filtergrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.filtercard{position:relative;border-radius:22px}.filtercard summary{position:sticky;top:68px;z-index:2;background:#fff;border-radius:18px;padding:4px 2px}.filtergrid{grid-template-columns:1fr}.filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-actions .btn,.filter-actions button{width:100%}.filter-actions a:last-child:nth-child(3){grid-column:1/-1}}

/* V14 Pagination & Performance */
.pagination{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:14px 0;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.pagination small{display:block;color:#64748b;margin-top:2px}.pagecontrols,.pagesizes{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pagebtn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border:1px solid #dbe3ef;border-radius:10px;background:#f8fafc;color:#0f172a;text-decoration:none;font-weight:700;font-size:13px}.pagebtn.active{background:#0f62fe;color:white;border-color:#0f62fe}.pagebtn:hover{background:#eaf2ff}
@media(max-width:768px){.pagination{position:sticky;bottom:72px;z-index:5;margin:10px 0;border-radius:18px}.pagination>div{width:100%}.pagecontrols,.pagesizes{justify-content:center}.pagebtn{min-width:38px;height:38px}}

.login{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at top left,#15396d,#0b1733 22%,#10264d 40%,#e0f2fe 140%)}
.loginbox{width:min(430px,92vw);background:white;border-radius:28px;box-shadow:var(--shadow);padding:30px;border:1px solid rgba(226,232,240,.9)}
.loginbrand{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.loginlogo{width:82px;height:82px;object-fit:contain;flex:0 0 82px;border-radius:50%;box-shadow:0 10px 24px rgba(15,23,42,.12)}
.loginbox h1{margin:0;font-size:28px;line-height:1.1;color:#0f172a}
.loginbox p{color:var(--muted);margin:6px 0 0}
.logincontact{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);display:grid;gap:10px}
.contactline{display:flex;align-items:center;gap:10px;color:#334155;font-weight:700}
.contactline a{color:#0b5cff;text-decoration:none}
.contacticon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#eff6ff;color:#0b5cff;font-size:16px;box-shadow:var(--soft)}
@media (max-width:768px){.loginbox{padding:22px;border-radius:24px}.loginbrand{align-items:flex-start}.loginlogo{width:72px;height:72px;flex-basis:72px}.loginbox h1{font-size:24px}}
