/* GOSAWIT Enterprise ERP by PT Digital Indonesia Maju — Blue Enterprise Design System
   Palette: blue dominant; coral red, orange, yellow, neutral gray, emerald green, white and near-black. */
:root {
  color-scheme: light;
  --navy:#081b42; --navy-2:#0e2d66; --blue:#1456cb; --blue-2:#347bfa;
  --cyan:#42c8e8; --red:#e24d63; --orange:#fa9344; --yellow:#f3c24b;
  --green:#199c77; --gray:#76849e; --white:#ffffff; --black:#17233d;
  --bg:#f4f7fd; --ink:#1d2d4b; --muted:#6c7d97; --border:#e3eaf5;
  --shadow:0 12px 40px rgba(20,48,102,.07); --radius:18px;
  --forest:var(--blue); --deep:var(--navy); --danger:var(--red); --shade:#eaf1ff;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);font:14px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:#1a5fcc;text-decoration:none;transition:color .18s ease}
a:hover{color:#0b3b95;text-decoration:underline}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #f0b83e;outline-offset:3px}
.skip-link{position:fixed;z-index:1000;left:15px;top:-100px;padding:10px 18px;border-radius:10px;background:#fff;color:var(--navy);box-shadow:var(--shadow)}
.skip-link:focus{top:12px}
.shell{display:flex;min-height:100vh}
.sidebar{width:272px;min-width:272px;min-height:100vh;position:sticky;top:0;max-height:100vh;overflow-y:auto;overflow-x:hidden;z-index:30;display:flex;flex-direction:column;padding:25px 14px 16px;color:#e9f0ff;background:linear-gradient(174deg,#0e2b64 0%,#0a2050 50%,#081635 100%);scrollbar-width:thin;scrollbar-color:#2c4c83 transparent}
.sidebar::before{content:"";position:absolute;pointer-events:none;width:260px;height:260px;top:-150px;left:-110px;background:radial-gradient(circle,rgba(70,148,255,.22),transparent 72%)}
.brand{display:flex;align-items:center;gap:11px;padding:2px 11px 22px;font-size:19px;line-height:1.1;font-weight:850;letter-spacing:.1px;color:#fff;white-space:nowrap}
.brand b{color:#75b5ff}.brand small{display:block;margin-top:7px;font-size:10px;font-weight:750;letter-spacing:2.2px;color:#87a6dd}
.brandmark{width:47px;height:47px;display:grid;place-items:center;flex-shrink:0;border-radius:14px;color:#fff;background:linear-gradient(140deg,#2f8efa,#1260da);border:1px solid #529cff;box-shadow:0 8px 20px #0015354d}
.brandmark svg{width:31px;height:31px}
.tenant-card{position:relative;border:1px solid #4865a05b;background:linear-gradient(140deg,#30508a77,#162e65a6);border-radius:15px;padding:14px 15px;margin:0 6px 23px;box-shadow:inset 0 1px #ffffff12}
.tenant-label{color:#9cbae8;font-size:10px;letter-spacing:1.35px;font-weight:800}
.tenant-name{color:#fff;font-size:14px;font-weight:800;margin:6px 0 8px;overflow-wrap:anywhere}
.tenant-live{display:inline-flex;align-items:center;gap:7px;color:#a4d6cf;font-size:11px;font-weight:700}
.tenant-live i,.secure-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2cce97;box-shadow:0 0 0 3px #2cce9720}
.sidebar nav{display:block;flex:1}
.nav-group-label{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#7897ca;padding:17px 17px 10px}
.nav-link{display:flex;align-items:center;gap:13px;min-height:42px;margin:2px 0;border:1px solid transparent;padding:10px 13px;border-radius:11px;color:#cfddf5;font-size:12.5px;font-weight:650;transition:background .18s ease,transform .18s ease,border-color .18s ease,color .18s ease}
.nav-link:hover{background:#ffffff13;color:#fff;text-decoration:none;transform:translateX(3px)}
.nav-link.active{color:#fff;background:linear-gradient(105deg,#2575ed,#1951bd);border-color:#75aeff55;box-shadow:0 6px 18px #001c5966}
.nav-icon{width:18px;height:18px;flex-shrink:0;opacity:.88}
.nav-link.active .nav-icon{opacity:1}
.sidebottom{margin:23px 6px 0;padding:16px 4px 2px;border-top:1px solid #ffffff1f;display:flex;gap:10px;align-items:center;min-width:0}
.account-avatar{display:grid;place-items:center;width:37px;height:37px;flex-shrink:0;border-radius:12px;background:linear-gradient(140deg,#f5ac5b,#df694b);font-size:17px;font-weight:850;color:#fff}
.account-detail{min-width:0;flex:1}.account-detail b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-detail small{display:block;color:#a3b9d8;font-size:11px}
.logout{border:1px solid #ffffff2c;color:#fff;background:#ffffff16;border-radius:10px;padding:7px 10px;font-size:19px;line-height:1}.logout:hover{background:#e24d63;color:#fff}
.sidebar-backdrop{display:none}
.main{flex:1;min-width:0;background:radial-gradient(ellipse at 98% 0%,#e6f0ff 0,transparent 33%),var(--bg)}
.topbar{display:flex;align-items:center;justify-content:space-between;height:83px;padding:0 38px;background:#ffffffd9;border-bottom:1px solid var(--border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:17px}
.topbar-heading{font-size:14px;letter-spacing:.4px;color:var(--navy);font-weight:850}.topbar-heading span{color:#7f90ae;font-size:11px;font-weight:700}
.topbar-subtitle{font-size:11px;color:#8492a8;margin-top:3px}
.topbar-secure{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:750;color:#128363;padding:8px 12px;background:#e6f8f1;border:1px solid #b9edda;border-radius:99px;white-space:nowrap}
.badge{padding:8px 14px;background:#edf3ff;color:#2452a0;border:1px solid #dae6fb;border-radius:99px;font-size:11px;font-weight:800;white-space:nowrap}
.nav-toggle{display:none}
.content{max-width:1590px;margin:0 auto;padding:31px 38px 70px;animation:rise .45s ease both}
.eyebrow{color:#6d8ac3;font-size:10px;font-weight:850;letter-spacing:2px;text-transform:uppercase}
.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.page-head h1{font-size:29px;color:#11295a;font-weight:850;letter-spacing:-.9px;margin:3px 0 0}
h2{font-size:16px;font-weight:800;color:#173364;margin:0 0 20px;letter-spacing:-.2px}
p{line-height:1.7}.muted{color:var(--muted)}.subtle{color:#8794a9;font-size:12px}
.dashboard-hero{position:relative;isolation:isolate;display:flex;justify-content:space-between;overflow:hidden;padding:29px 34px;border-radius:22px;margin:6px 0 21px;min-height:190px;background:linear-gradient(115deg,#102c6a 0%,#1258c0 64%,#247eea 100%);color:#fff;box-shadow:0 18px 38px #103c9160}
.dashboard-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;background:radial-gradient(circle at 82% 20%,#58d5ff 0%,transparent 28%),radial-gradient(circle at 48% 110%,#ffb65e 0%,transparent 28%)}
.hero-kicker{display:block;color:#b8d7ff;font-weight:850;font-size:10px;letter-spacing:2.1px;margin-bottom:10px}
.dashboard-hero h2{color:#fff;font-size:26px;line-height:1.26;letter-spacing:-.7px;margin:0 0 12px}
.dashboard-hero h2 span{color:#a4d5ff}.dashboard-hero p{max-width:520px;margin:0;color:#d9e9ff;font-size:12.5px}
.hero-ornament{position:absolute;right:65px;top:18px;width:185px;height:185px;transform:rotate(-20deg);opacity:.78}
.hero-ornament span{position:absolute;border-radius:22px;border:1px solid #ffffff60;transform:rotate(45deg);box-shadow:0 12px 35px #0d2e7940}
.hero-ornament span:nth-child(1){inset:8px;background:linear-gradient(140deg,#7fc9ff55,#3b6cff22)}
.hero-ornament span:nth-child(2){inset:45px;background:linear-gradient(140deg,#ffce6f,#ff754a);border-color:#fff9}
.hero-ornament span:nth-child(3){inset:74px;background:#fff9}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:21px}
.kpi{position:relative;overflow:hidden;min-width:0;padding:21px 19px 22px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}
.kpi:hover{transform:translateY(-4px);box-shadow:0 17px 36px #0d397d20}
.kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}
.kpi::after{content:"";position:absolute;width:75px;height:75px;right:-27px;top:-28px;border-radius:50%;background:#e8f0ff}
.kpi:nth-child(2)::before{background:var(--green)}.kpi:nth-child(2)::after{background:#e5f8ef}
.kpi:nth-child(3)::before{background:var(--orange)}.kpi:nth-child(3)::after{background:#fff0df}
.kpi:nth-child(4)::before{background:var(--red)}.kpi:nth-child(4)::after{background:#ffe8ed}
.kpi span{position:relative;z-index:1;display:block;font-size:10px;letter-spacing:1.1px;color:#7888a2;font-weight:850}
.kpi strong{position:relative;z-index:1;display:block;margin:15px 0 9px;color:#112e69;font-weight:850;font-size:21px;letter-spacing:-.5px;overflow-wrap:anywhere;line-height:1.3}
.kpi small{position:relative;z-index:1;color:#8694aa;font-size:11px;display:block;line-height:1.6}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px 26px;margin:18px 0;box-shadow:var(--shadow)}
.card>h2{margin-bottom:20px;display:flex;align-items:center;gap:10px}.card>h2::before{content:"";width:4px;height:19px;border-radius:10px;background:linear-gradient(var(--blue),var(--cyan));flex-shrink:0}
.tablewrap{overflow:auto;border:1px solid #e9eef8;border-radius:12px;scrollbar-color:#d0dff5 transparent}
table{width:100%;border-collapse:collapse;white-space:nowrap}
th,td{padding:13px 15px;border-bottom:1px solid #ecf0f8;text-align:left}
th{color:#64799e;background:#f5f8ff;font-size:10px;font-weight:850;letter-spacing:.6px;text-transform:uppercase}
td{vertical-align:middle;font-size:12.5px}tbody tr:last-child td{border-bottom:0}
tr:hover td{background:#f7faff}
td code{font-size:11px;white-space:normal;word-break:break-all}
.status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;min-width:65px;justify-content:center;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.5px;text-transform:uppercase;background:#eaf0f9;color:#506581}
.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.status--posted,.status--active{background:#e3f7ef;color:#0a8a63}
.status--shipped{background:#e8f0ff;color:#1756b6}
.status--draft{background:#fff7dc;color:#a57700}
.status--issued{background:#fff0e3;color:#bd640d}
.status--void,.status--inactive{background:#ffe8ec;color:#b83552}
.actions{display:flex;flex-wrap:wrap;gap:11px;margin:14px 0 22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;min-height:41px;border-radius:10px;background:#fff;border:1px solid #c7d6ef;color:#2255a5;font-size:12px;font-weight:800;line-height:1.3;text-align:center;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.btn:hover{background:#eef5ff;color:#19499d;transform:translateY(-1px);text-decoration:none;box-shadow:0 7px 15px #174d9720}
.btn.primary{background:linear-gradient(110deg,#1666e1,#1551bf);border-color:#1557c4;color:#fff;box-shadow:0 5px 15px #1763cf33}
.btn.primary:hover{background:linear-gradient(110deg,#1a75fa,#154bb7);color:#fff}
.btn.danger{color:#c33450;border-color:#f1bcc6;background:#fff7f8}.btn.danger:hover{background:#ffe6ed}
.inlineform{display:inline-flex;gap:6px;align-items:center;margin:2px}.inlineform input{width:160px}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.field{min-width:0;display:flex;flex-direction:column;gap:7px}.field span,.filters label{color:#486084;font-size:12px;font-weight:750}.field-wide{grid-column:1/-1}
input,select,textarea{min-height:43px;max-width:100%;width:100%;color:#203253;background:#fff;border:1px solid #d3deed;border-radius:10px;padding:10px 12px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
input:hover,select:hover,textarea:hover{border-color:#aec3e4}
input:focus,select:focus,textarea:focus{border-color:#347bfa;box-shadow:0 0 0 3px #3778ee24}
textarea{resize:vertical}.actionrow{margin-top:3px}
.notice{margin:0 0 18px;padding:14px 18px;border:1px solid #bce6d6;border-left:4px solid var(--green);border-radius:11px;background:#eaf9f2;color:#136b55;font-weight:650}
.notice-error{border-color:#f1b3be;border-left-color:var(--red);background:#fff0f3;color:#a82644}
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0}.filters label{min-width:140px}.filters input{display:block;margin-top:5px}
.detailgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.detailgrid>div{border-bottom:1px solid var(--border);padding:10px 0;min-width:0}
.detailgrid span{display:block;color:#7889a6;font-size:12px}.detailgrid strong{display:block;color:#1c3866;margin-top:4px;font-size:15px;overflow-wrap:anywhere}
.receipt-head{display:flex;justify-content:space-between;gap:10px;padding-bottom:16px;margin-bottom:19px;border-bottom:1px solid var(--border)}
.signatures{display:flex;justify-content:space-between;margin-top:50px;padding:0 4% 10px;font-size:12px;text-align:center}
.errorbox{max-width:640px;margin:12vh auto;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:33px}
/* Login: blue feature panel + clean white credential form */
.is-login{background:#eef3fc}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(425px,.92fr);min-height:100vh}
.auth-story{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#081c46 0%,#124da9 66%,#257def 100%);color:#fff;padding:48px 55px}
.auth-story::before{position:absolute;z-index:-1;content:"";width:580px;height:580px;right:-310px;bottom:1%;border:1px solid #ffffff35;border-radius:50%;box-shadow:0 0 0 80px #ffffff0a,0 0 0 180px #ffffff09,0 0 0 300px #ffffff05}
.auth-story::after{position:absolute;z-index:-1;content:"";right:13%;top:22%;width:180px;height:180px;border-radius:33px;transform:rotate(24deg);background:linear-gradient(135deg,#77d7ff60,#ffad6f22);border:1px solid #ffffff6a;box-shadow:45px 32px 0 -20px #ffbd6290}
.story-top{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:850;letter-spacing:.3px}
.story-mark{display:grid;place-items:center;background:#ffffff24;border:1px solid #ffffff66;width:37px;height:37px;border-radius:11px;color:#f9ca66;font-size:24px}
.story-edition{font-size:10px;letter-spacing:1.4px;font-weight:750;border-left:1px solid #ffffff70;padding-left:10px;color:#b6d5ff}
.story-content{position:relative;max-width:600px;margin:95px 0}
.story-eyebrow{font-size:11px;color:#a3caff;letter-spacing:2.4px;font-weight:850;margin-bottom:17px}
.story-content h2{font-size:clamp(32px,3.3vw,53px);font-weight:900;letter-spacing:-1.8px;line-height:1.15;color:#fff;margin:0 0 24px}
.story-content h2 em{font-style:normal;color:#8ad5ff}
.story-content p{font-size:15px;max-width:450px;color:#cfe1ff;margin:0 0 26px}
.story-features{display:flex;gap:10px;flex-wrap:wrap}.story-features span{border-radius:99px;padding:9px 12px;background:#ffffff14;border:1px solid #ffffff33;font-size:11px;color:#edf5ff;font-weight:700}
.story-footer{font-size:10px;letter-spacing:1.5px;font-weight:750;color:#9ec5f8}.story-footer span{margin:0 9px;color:#f8c96f}
.auth-shell{width:min(100%,540px);margin:auto;padding:52px 45px}
.auth-shell .page-head{margin-bottom:11px}.auth-shell .page-head h1{font-size:34px}
.auth-intro{margin:0 0 23px;font-size:13px}
.auth-shell .login-card{padding:29px;margin:14px 0;background:#fff}
.login-card .formgrid{grid-template-columns:1fr;gap:18px}
.login-card .btn.primary{width:100%;min-height:46px;font-size:13px}
.login-card .subtle{margin-top:19px;line-height:1.7}
@keyframes rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1300px){.sidebar{width:247px;min-width:247px}.topbar{padding:0 26px}.content{padding:29px 26px 55px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.auth-layout{grid-template-columns:1fr}.auth-story{min-height:255px;padding:28px 34px}.story-content{margin:27px 0 9px}.story-content h2{font-size:32px;letter-spacing:-.8px}.story-content p,.story-features,.story-footer{display:none}.auth-shell{padding:40px 24px}.sidebar{position:fixed;inset:0 auto 0 0;max-height:none;height:100dvh;transform:translateX(-105%);transition:transform .25s ease;box-shadow:0 15px 40px #05122f50}.nav-open .sidebar{transform:translateX(0)}.nav-open{overflow:hidden}.nav-open .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:20;border:0;background:#0b17338c;backdrop-filter:blur(2px)}.main{min-height:100vh}.nav-toggle{display:flex;width:39px;height:39px;border:1px solid #dde6f6;border-radius:10px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:4px}.nav-toggle span{width:17px;height:2px;background:#16428f;border-radius:5px}.topbar{height:70px}}
@media(max-width:650px){.topbar{padding:0 16px;height:66px}.topbar-subtitle,.topbar-heading span,.topbar-secure{display:none}.topbar-heading{font-size:12px}.topbar-left{gap:10px}.badge{padding:7px 9px;font-size:10px}.content{padding:23px 14px 45px}.page-head h1{font-size:24px}.dashboard-hero{padding:23px 19px;min-height:170px}.dashboard-hero h2{font-size:22px}.hero-ornament{opacity:.18;right:-42px;top:15px}.kpis{gap:10px}.kpi{padding:17px 14px}.kpi strong{font-size:17px}.kpi span{font-size:9px}.card{padding:18px 14px}.formgrid{grid-template-columns:1fr}.detailgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.auth-story{padding:23px 21px;min-height:230px}.story-content h2{font-size:26px}.story-edition{font-size:9px}.auth-shell{padding:31px 19px}.auth-shell .login-card{padding:21px 17px}}
@media(max-width:420px){.kpis{grid-template-columns:1fr}.detailgrid{grid-template-columns:1fr}.topbar-right .badge{font-size:9px}.auth-shell .page-head h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important;transform:none!important}}
@media print{body,.main{background:#fff!important;color:#000;font-size:12px}.sidebar,.sidebar-backdrop,.topbar,.page-head,.noprint,.actions,.filters,.notice,.sidebottom,.subtle,.card:not(.receipt),.dashboard-hero,.kpis,.skip-link{display:none!important}.main,.content{padding:0;margin:0;max-width:none;animation:none}.receipt{display:block;border:0;box-shadow:none;padding:4mm;margin:0;width:100%;border-radius:0}.receipt-head{font-size:13px}.detailgrid{grid-template-columns:repeat(2,1fr);gap:6px}.detailgrid strong{font-size:12px}.signatures{margin-top:45px}a{color:#000}@page{size:A4;margin:12mm}}

/* v1.0.3 inventory accent (extends Enterprise Blue theme) */
.row-highlight{background:#e8f2ff}

/* MYSQL-0002G maker-checker workflow */
.status--approved{background:#dcfce7;color:#166534}.status--pending{background:#fef3c7;color:#92400e}.status--rejected{background:#fee2e2;color:#991b1b}

/* Finance report refinements: works with existing Enterprise Blue theme. */
.kpis:has(> .kpi:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
.tablewrap tr.row-highlight td{background:#edf5ff;color:#153a79;font-weight:750}
@media (max-width:780px){.kpis:has(> .kpi:nth-child(3):last-child){grid-template-columns:1fr}}
@media print{.kpis{break-inside:avoid}.tablewrap table{white-space:normal}tr{break-inside:avoid}}
/* MYSQL-0002M: consistent accessible pricing/quality preview. */
.field[hidden]{display:none!important}
.price-insight{border:1px solid #bfd8ff;border-left:5px solid #126af1;background:linear-gradient(110deg,#f0f7ff,#ffffff);border-radius:12px;padding:15px 17px;color:#0e315c;line-height:1.65;box-shadow:0 6px 18px rgba(11,62,130,.06)}
.price-insight b{color:#0756ab}
.price-insight:has(+script){margin-bottom:8px}

/* v1.0.14 — mandatory minimum selling price alert, enterprise blue visual system. */
.price-policy-banner{background:linear-gradient(120deg,#e8f3ff 0%,#f5faff 75%);border:1px solid #a9cff9;border-left:5px solid #1472ce;border-radius:14px;padding:16px 18px;margin:12px 0 20px;color:#143b67;box-shadow:0 5px 16px rgba(16,87,157,.07);line-height:1.6}
.price-policy-banner strong{color:#113f7e}

/* GOSAWIT identity — v1.0.17: stable, mobile-friendly, accessible imprint. */
.brand{white-space:normal}
.brandmark{overflow:hidden}
.brandmark img{display:block;width:35px;height:35px;object-fit:contain}
.brandword{display:block;min-width:0;font-size:22px;letter-spacing:.15px}
.brandword small{font-size:9px;letter-spacing:1.5px}
.brandword small.brand-publisher{font-size:9px;letter-spacing:0;line-height:1.3;color:#c4dafa;font-weight:550;white-space:normal;max-width:160px;margin-top:6px}
.story-mark{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center}
.story-mark img{width:33px;height:33px;display:block}
.site-imprint{padding:28px 12px 0;text-align:center;color:#6b7d99;font-size:11px;letter-spacing:.1px}
.site-imprint span{padding:0 5px}
.platform-byline{margin-top:-12px;margin-bottom:20px;color:#71839d;font-size:13px}
@media(max-width:780px){.brandword{font-size:20px}.brandword small.brand-publisher{font-size:8px}}
@media print{.site-imprint{display:block;color:#555;font-size:9px;padding-top:12px;break-inside:avoid}}


/* OPT-010: consistent spacing, accessible navigation and mobile/table rhythm.
   Overrides only visual presentation; account balances and server data unchanged. */
[hidden] { display:none!important }
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sidebar .nav-search{display:flex;align-items:center;gap:9px;margin:0 6px 9px;padding:0 11px;min-height:42px;background:#ffffff11;border:1px solid #aac9fa47;border-radius:12px;color:#bfd5fa}
.nav-search:focus-within{outline:2px solid #b4dfff;outline-offset:2px}
.nav-search-icon{font-size:24px;line-height:1}
.nav-search input{flex:1;width:10px;min-width:0;border:0;background:transparent;color:#fff;outline:0;font-size:12px}
.nav-search input::placeholder{color:#b1c7e8}
.nav-search kbd{font:10px/1 system-ui,sans-serif;white-space:nowrap;padding:5px 6px;border:1px solid #ffffff37;border-radius:6px;color:#cad9f5}
.nav-search-empty{padding:10px 18px;font-size:12px;color:#bfd5fa}
.nav-section[hidden], .nav-link[hidden]{display:none!important}
.main{min-width:0}
.content{width:100%;max-width:1500px}
.page-head{gap:12px;flex-wrap:wrap}
.page-head h1{line-height:1.25;overflow-wrap:anywhere}
.card{min-width:0}
.kpis{align-items:stretch;grid-auto-rows:1fr}
.kpi{display:flex;flex-direction:column;min-height:134px;height:100%}
.kpi strong{margin-top:auto;padding-top:12px;font-variant-numeric:tabular-nums}
.kpi small{margin-top:3px}
.formgrid>*{min-width:0}
.field input,.field select,.field textarea{max-width:100%;min-width:0}
.tablewrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.tablewrap table{font-variant-numeric:tabular-nums}
.tablewrap thead th{position:sticky;top:0;z-index:1}
.table-quick-filter{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 12px;color:var(--muted);font-size:12px}
.table-quick-filter label{display:flex;align-items:center;gap:11px;flex:1 1 280px;font-weight:700}
.table-quick-filter input{min-width:0;max-width:330px;flex:1;border:1px solid #cedbf0;border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);font-size:13px}
.table-quick-filter input:focus{outline:2px solid #76b8ff;outline-offset:1px}
.table-quick-count{font-size:11px;white-space:nowrap}
@media(max-width:960px){.sidebar{width:min(310px,85vw);min-width:0}.sidebar .nav-search{min-height:46px}}
@media(max-width:650px){.content{padding-inline:clamp(12px,3.8vw,20px)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{min-height:124px}.card{border-radius:14px}.topbar-right{gap:7px}.table-quick-filter label{flex-basis:100%}.table-quick-filter input{max-width:100%}}
@media(max-width:420px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi strong{font-size:clamp(13px,3.8vw,17px)}.kpi span{letter-spacing:.45px}.kpi{padding:15px 12px}.topbar-heading{font-size:12px}}
@media(max-width:340px){.kpis{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.content{animation:none}.kpi:hover,.nav-link:hover{transform:none}}
@media print{.nav-search,.table-quick-filter{display:none!important}.tablewrap thead th{position:static}}
