:root {
  --ink:#102a2a; --ink-2:#234344; --lime:#d8ff63; --lime-2:#bde63c;
  --violet:#7c5ce7; --paper:#f3f6f4; --card:#fff; --muted:#718180;
  --line:#dce5e1; --danger:#e65353; --warning:#e9a23b; --good:#2b9a72;
  --shadow:0 16px 44px rgba(16,42,42,.08); --radius:22px;
}
*{box-sizing:border-box} html{font-size:16px} body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit} button{cursor:pointer} a{color:inherit}
.boot-screen{min-height:100vh;display:grid;place-content:center;text-align:center;gap:18px}.boot-screen img{width:74px;margin:auto}.boot-screen p{color:var(--muted)}.boot-bar{width:190px;height:5px;background:#dfe7e3;border-radius:99px;overflow:hidden}.boot-bar span{display:block;width:45%;height:100%;background:var(--lime-2);border-radius:inherit;animation:boot 1.1s infinite alternate}@keyframes boot{to{transform:translateX(125%)}}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(380px,46%) 1fr;background:#fff}.auth-panel{padding:clamp(28px,6vw,88px);display:flex;flex-direction:column;justify-content:center}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px;letter-spacing:-.03em}.brand img{width:42px}.brand small{display:block;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.auth-copy{max-width:470px;margin:64px 0 26px}.auth-copy h1{font-size:clamp(36px,5vw,62px);line-height:.98;letter-spacing:-.055em;margin:0 0 18px}.auth-copy p{color:var(--muted);line-height:1.6}.auth-card{max-width:440px}.auth-visual{position:relative;overflow:hidden;background:var(--ink);padding:48px;color:#fff;display:flex;align-items:flex-end}.auth-visual:before,.auth-visual:after{content:"";position:absolute;border-radius:999px}.auth-visual:before{width:560px;height:560px;background:var(--violet);top:-260px;right:-100px;opacity:.8}.auth-visual:after{width:430px;height:430px;background:var(--lime);bottom:-240px;left:-110px}.scan-preview{position:relative;z-index:1;width:min(560px,100%);margin:auto;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(18px);border-radius:32px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.scan-preview .eyebrow{color:var(--lime)}.scan-beam{height:220px;border:1px solid rgba(255,255,255,.2);border-radius:20px;display:grid;place-content:center;margin:18px 0;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));position:relative;overflow:hidden}.scan-beam:after{content:"";position:absolute;left:8%;right:8%;height:2px;background:var(--lime);box-shadow:0 0 20px var(--lime);animation:beam 2.2s infinite alternate ease-in-out}@keyframes beam{from{top:18%}to{top:82%}}.barcode{font-family:monospace;font-size:38px;letter-spacing:-4px;opacity:.7}.mini-row{display:flex;gap:12px}.mini-card{flex:1;padding:14px;background:rgba(255,255,255,.08);border-radius:14px}.mini-card strong{display:block;font-size:22px}.mini-card span{font-size:12px;color:#cad7d3}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:#f7f9fc}.login-card{width:min(418px,100%)}.login-brand{justify-content:center;margin-bottom:52px}.login-heading{margin-bottom:32px}.login-heading h1{margin:0 0 10px;color:#07152f;font-size:27px;letter-spacing:-.035em}.login-heading p{margin:0;color:#66728a}.login-card .field{margin-bottom:19px}.login-card .field label{font-size:14px;color:#17223a}.login-card .field input{height:52px;border-color:#dbe2ee;border-radius:10px;color:#17223a}.login-card .field input::placeholder{color:#9aa6ba}.btn-login{min-height:46px;border-radius:9px;background:#3168ed;color:#fff;font-size:16px}.btn-login:hover{background:#2457d8}.demo-hint{text-align:center;margin-top:14px}.system-note{padding:12px 14px;border-radius:10px;background:#fff8e7;border:1px solid #f0dc9c;color:#755513;font-size:12px;line-height:1.5;margin-bottom:18px}
.field{display:grid;gap:7px;margin-bottom:15px}.field label{font-size:13px;font-weight:700}.field input,.field select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:13px;padding:0 14px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(16,42,42,.08)}.field-hint{font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.btn{border:0;border-radius:13px;min-height:46px;padding:0 18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:.18s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:var(--ink-2)}.btn-accent{background:var(--lime);color:var(--ink)}.btn-secondary{background:#e8eeeb;color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-danger{background:#fee9e9;color:#a82f2f}.btn-block{width:100%}.btn-sm{min-height:36px;padding:0 12px;font-size:13px;border-radius:10px}.link-btn{border:0;background:none;color:var(--muted);padding:8px 0;text-decoration:underline}.error-box{padding:12px 14px;border-radius:12px;background:#fff0f0;color:#a82f2f;font-size:13px;margin-bottom:14px}.setup-note{background:#f2f7e2;border:1px solid #dae6ab;padding:14px;border-radius:14px;font-size:13px;line-height:1.5;margin-bottom:18px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#101a31;color:#fff;padding:25px 16px;display:flex;flex-direction:column;z-index:30;overflow:auto}.sidebar .brand{padding:0 10px}.sidebar .brand small{color:#8793aa}.nav{display:grid;gap:24px;margin-top:34px}.nav-section{display:grid;gap:3px}.nav-title{padding:0 12px 8px;color:#5f6d87;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.nav-btn{border:0;background:transparent;color:#b8c3d7;text-align:left;padding:10px 12px;border-radius:9px;font-weight:600;display:flex;gap:11px;align-items:center}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.08);color:#fff}.nav-btn.active{box-shadow:inset 3px 0 #6b8cff}.nav-icon{width:20px;text-align:center;color:#cbd5e8}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:18px 10px 0}.user-mini{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:12px;background:var(--violet);color:#fff;display:grid;place-content:center;font-weight:900}.user-mini strong{display:block;font-size:13px}.user-mini span{display:block;font-size:11px;color:#9db0ad}.logout{margin-top:12px;color:#9db0ad;background:none;border:0;padding:5px 0}
.main{min-width:0}.topbar{height:78px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;background:rgba(243,246,244,.9);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(220,229,225,.7)}.topbar h2{margin:0;font-size:20px;letter-spacing:-.03em}.top-actions{display:flex;align-items:center;gap:12px}.sync-pill{display:flex;align-items:center;gap:7px;color:var(--good);font-size:12px;font-weight:800}.sync-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(43,154,114,.12)}.content{padding:28px 38px 110px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head h1{font-size:clamp(28px,4vw,42px);letter-spacing:-.05em;margin:0 0 7px}.page-head p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--violet)}
.hero-card{background:var(--ink);color:#fff;border-radius:28px;padding:30px;display:grid;grid-template-columns:1.3fr .7fr;gap:24px;position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-80px;top:-130px;background:var(--violet);opacity:.55}.hero-copy{position:relative;z-index:1}.hero-card h2{font-size:clamp(26px,4vw,42px);line-height:1.03;letter-spacing:-.05em;margin:8px 0 12px;max-width:650px}.hero-card p{color:#b8c9c5;max-width:580px;line-height:1.55}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.hero-metric{position:relative;z-index:1;display:grid;place-content:center;text-align:center}.ring{width:164px;height:164px;border-radius:50%;display:grid;place-content:center;background:conic-gradient(var(--lime) var(--progress,0%),rgba(255,255,255,.12) 0);position:relative}.ring:after{content:"";position:absolute;inset:12px;background:var(--ink);border-radius:50%}.ring strong,.ring span{position:relative;z-index:1}.ring strong{font-size:38px}.ring span{font-size:11px;color:#b8c9c5}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.stat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 20px rgba(16,42,42,.03)}.stat-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:700}.stat-icon{width:34px;height:34px;border-radius:10px;background:#f0f3ee;display:grid;place-content:center}.stat strong{display:block;font-size:28px;letter-spacing:-.04em;margin-top:8px}.delta{font-size:11px;color:var(--good)}.delta.warn{color:var(--warning)}
.grid-2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 26px rgba(16,42,42,.035)}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.card h3{margin:0;font-size:17px}.card-sub{font-size:12px;color:var(--muted)}.progress-row{display:grid;grid-template-columns:110px minmax(80px,1fr) 42px;gap:12px;align-items:center;margin:15px 0}.progress-row label{font-size:13px;font-weight:700}.progress{height:9px;background:#edf1ef;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--good);border-radius:inherit}.progress-row strong{font-size:12px;text-align:right}.alert-list{display:grid;gap:10px}.alert-item{padding:13px;background:#f7f9f8;border-radius:14px;display:flex;gap:12px;align-items:flex-start}.alert-symbol{width:30px;height:30px;border-radius:9px;background:#fff1dc;color:#a36112;display:grid;place-content:center;flex:none}.alert-item strong{font-size:13px;display:block}.alert-item p{font-size:12px;color:var(--muted);margin:3px 0 0;line-height:1.4}
.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px}.search{position:relative;max-width:420px;flex:1}.search input{width:100%;height:44px;border:1px solid var(--line);border-radius:12px;padding:0 14px 0 40px;background:#fff}.search:before{content:"⌕";position:absolute;left:14px;top:8px;font-size:22px;color:var(--muted)}.tabs{display:flex;gap:6px;background:#e8eeeb;padding:5px;border-radius:13px;overflow:auto}.tab{border:0;background:transparent;padding:9px 14px;border-radius:9px;color:var(--muted);font-weight:800;white-space:nowrap}.tab.active{background:#fff;color:var(--ink);box-shadow:0 3px 10px rgba(16,42,42,.08)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8faf9}.data-table tr:last-child td{border-bottom:0}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f1f4f2;padding:4px 7px;border-radius:7px;font-size:12px}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:900;background:#eef2f0;color:var(--muted)}.badge.good{background:#e5f6ef;color:#217657}.badge.warn{background:#fff2dd;color:#9b6219}.badge.danger{background:#fee7e7;color:#a83939}.badge.violet{background:#eeeafe;color:#6143c6}.badge.abc-a{background:#fee7e7;color:#a83939}.badge.abc-b{background:#fff2dd;color:#9b6219}.badge.abc-c{background:#e5f6ef;color:#217657}.empty{text-align:center;padding:48px 20px;color:var(--muted)}
.cycle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cycle-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.cycle-card h3{margin:12px 0 5px}.cycle-card p{margin:0;color:var(--muted);font-size:13px}.cycle-meta{display:flex;justify-content:space-between;margin:18px 0 9px;font-size:12px}.cycle-foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.faces{display:flex}.faces .avatar{width:29px;height:29px;font-size:10px;border-radius:50%;border:2px solid white;margin-left:-7px}.faces .avatar:first-child{margin-left:0}
.count-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.count-panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:24px}.stepper{display:flex;gap:8px;margin-bottom:24px}.step{height:5px;flex:1;background:#e5ebe8;border-radius:99px}.step.done,.step.active{background:var(--lime-2)}.scan-zone{border:2px dashed #cbd8d3;border-radius:20px;padding:24px;text-align:center;background:#f9fbfa}.scan-zone.ready{border-color:var(--good);background:#f1fbf7}.scan-zone .scan-icon{width:62px;height:62px;border-radius:18px;background:var(--ink);color:var(--lime);display:grid;place-content:center;font-size:27px;margin:auto}.scan-zone h3{margin:14px 0 4px}.scan-zone p{margin:0;color:var(--muted);font-size:13px}.scan-entry{display:flex;gap:8px;margin-top:16px}.scan-entry input{min-width:0;flex:1;height:50px;border:1px solid var(--line);border-radius:13px;padding:0 14px;text-transform:uppercase}.location-confirm{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--ink);color:#fff;padding:16px;border-radius:16px;margin-bottom:16px}.location-confirm small{color:#a9bab7;display:block}.location-confirm strong{font-size:20px}.qty-entry{display:grid;grid-template-columns:1fr 140px;gap:12px;margin-top:14px}.qty-entry input{height:56px;border:1px solid var(--line);border-radius:14px;padding:0 16px}.qty-entry input[type=number]{font-size:24px;font-weight:900;text-align:center}.count-list{display:grid;gap:8px}.count-line{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px;background:#f6f8f7;border-radius:13px}.count-line strong{font-size:13px;display:block}.count-line small{font-size:11px;color:var(--muted)}.count-line .qty{font-size:20px;font-weight:900}.count-summary{position:sticky;top:98px}.count-summary .big{font-size:42px;font-weight:900;letter-spacing:-.05em}.recount-note{padding:13px;border-radius:13px;background:#fff5e6;color:#875514;font-size:12px;line-height:1.5;margin-top:14px}
.priority-list{display:grid;gap:10px}.priority-item{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.priority-score{width:44px;height:44px;border-radius:13px;display:grid;place-content:center;font-weight:900;background:#edf1ef}.priority-score.hot{background:#fee7e7;color:#a83939}.priority-item strong{font-size:13px}.priority-item p{font-size:11px;color:var(--muted);margin:3px 0 0}
.modal-backdrop{position:fixed;inset:0;background:rgba(5,22,22,.55);display:grid;place-items:center;padding:20px;z-index:80;backdrop-filter:blur(4px)}.modal{width:min(660px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;padding:24px;box-shadow:0 32px 90px rgba(0,0,0,.25)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-head h2{margin:0}.icon-btn{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:#fff}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.camera-modal{background:#071717;color:#fff}.camera-view{position:relative;aspect-ratio:3/4;background:#0c2020;border-radius:18px;overflow:hidden}.camera-view video{width:100%;height:100%;object-fit:cover}.camera-guide{position:absolute;inset:30% 9%;border:2px solid var(--lime);border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.35)}
#toast-root{position:fixed;right:20px;bottom:20px;z-index:120;display:grid;gap:9px}.toast{background:var(--ink);color:#fff;border-radius:14px;padding:13px 16px;box-shadow:var(--shadow);font-size:13px;animation:toast-in .2s ease-out}.toast.error{background:#9f3131}.toast.good{background:#217657}@keyframes toast-in{from{transform:translateY(10px);opacity:0}}
.mobile-nav{display:none}.desktop-only{display:block}.mobile-only{display:none}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.cycle-grid{grid-template-columns:repeat(2,1fr)}.count-layout{grid-template-columns:1fr}.count-summary{position:static}.grid-2{grid-template-columns:1fr}}
@media(max-width:780px){body{padding-bottom:76px}.auth-shell{grid-template-columns:1fr}.auth-panel{padding:26px 22px 42px;min-height:100vh}.auth-copy{margin:46px 0 22px}.auth-copy h1{font-size:42px}.auth-visual{display:none}.app-shell{display:block}.sidebar{display:none}.topbar{height:64px;padding:0 18px}.topbar .sync-pill span:last-child{display:none}.content{padding:18px 16px 34px}.page-head{align-items:flex-start}.page-head h1{font-size:30px}.page-head p{font-size:13px}.page-head>.btn span{display:none}.hero-card{grid-template-columns:1fr;padding:22px;border-radius:22px}.hero-metric{display:none}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:14px;border-radius:16px}.stat strong{font-size:24px}.grid-2{grid-template-columns:1fr}.card{padding:17px;border-radius:18px}.cycle-grid{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar .btn{width:100%}.tabs{width:100%}.form-grid{grid-template-columns:1fr}.count-panel{padding:16px;border-radius:20px}.count-layout{gap:12px}.scan-zone{padding:20px 14px}.qty-entry{grid-template-columns:1fr 105px}.mobile-nav{position:fixed;left:0;right:0;bottom:0;height:72px;padding:8px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(var(--mobile-count,5),1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:50}.mobile-nav .nav-btn{padding:4px;display:grid;place-items:center;gap:1px;text-align:center;border-radius:10px;font-size:10px;color:var(--muted)}.mobile-nav .nav-btn.active{background:#edf3ef;color:var(--ink);box-shadow:none}.mobile-nav .nav-icon{font-size:18px}.desktop-only{display:none!important}.mobile-only{display:block}.data-table{min-width:650px}.progress-row{grid-template-columns:80px 1fr 36px}#toast-root{bottom:88px;left:14px;right:14px}.toast{text-align:center}}
@media(max-width:390px){.stats{grid-template-columns:1fr 1fr}.stat-top span:first-child{font-size:10px}.hero-card h2{font-size:27px}.auth-copy h1{font-size:36px}.qty-entry{grid-template-columns:1fr}.scan-entry{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Qorikuro Inventory · interfaz empresarial v3 */
:root{--ink:#172033;--ink-2:#26344d;--lime:#2563eb;--lime-2:#2563eb;--violet:#4f46e5;--paper:#f4f7fb;--card:#fff;--muted:#6f7d93;--line:#dce3ee;--danger:#dc3545;--warning:#d97706;--good:#15956f;--shadow:0 8px 28px rgba(28,43,70,.07);--radius:14px}
body{background:var(--paper);color:var(--ink)}
.wordmark{display:block!important;line-height:1}.wordmark>div{display:grid;gap:5px}.wordmark strong{font-size:21px;letter-spacing:-.035em}.wordmark small{font-size:9px!important;letter-spacing:.18em!important;color:#7f8da4!important}.wordmark img{display:none!important}
.btn{border-radius:9px;min-height:42px;font-size:13px}.btn-primary{background:#1f3b64}.btn-primary:hover{background:#152c4c}.btn-accent{background:#2563eb;color:#fff}.btn-secondary{background:#eef2f7;border:1px solid #dce3ee}.field input,.field select{border-radius:9px;border-color:#d7dfeb;min-height:45px}.field input:focus,.field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.11)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,43%) minmax(420px,57%);padding:0;background:#fff}.login-context{padding:clamp(38px,6vw,84px);background:#111c32;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-context:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(37,99,235,.18);right:-210px;bottom:-190px}.login-context .wordmark small{color:#91a3bf!important}.login-context h1{font-size:clamp(34px,4.6vw,60px);line-height:1.02;letter-spacing:-.055em;max-width:680px;margin:18px 0}.login-context p{color:#acb9cc;line-height:1.65;max-width:560px}.login-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#6d94ff}.login-points{display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:1}.login-points span{padding:9px 12px;border:1px solid rgba(255,255,255,.13);border-radius:8px;color:#d8e1ef;font-size:12px}.login-card{width:min(460px,calc(100% - 48px));margin:auto;padding:26px}.login-mobile-brand{display:none}.login-heading{margin-bottom:34px}.login-heading h1{font-size:32px;margin:9px 0 10px}.login-heading p{line-height:1.55}.login-card .field{margin-bottom:19px}.btn-login{background:#2563eb;color:#fff;min-height:48px;border-radius:9px}.btn-login:hover{background:#1d4ed8}
.app-shell{grid-template-columns:252px minmax(0,1fr)}.sidebar{background:#111c32;padding:25px 14px}.sidebar .wordmark{padding:0 12px;color:#fff}.nav{gap:21px;margin-top:34px}.nav-title{color:#61708a;font-size:10px;padding-left:12px}.nav-btn{color:#aebbd0;padding:9px 12px;border-radius:8px;font-size:13px}.nav-btn:hover,.nav-btn.active{background:#1d2b45}.nav-btn.active{box-shadow:inset 3px 0 #4f7df3;color:#fff}.nav-icon{color:#8da0bd}.sidebar-foot{border-top-color:#263651}.logout{font-size:12px}.topbar{height:72px;background:rgba(255,255,255,.94);padding:0 30px}.topbar>div:first-child{display:grid;gap:3px}.topbar h2{font-size:18px}.top-context{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#8a96a8}.content{padding:28px 30px 90px}.page-head{align-items:center}.page-head h1{font-size:34px;letter-spacing:-.035em}.breadcrumb{font-size:11px;color:#77859a;margin-bottom:8px}.breadcrumb span{padding:0 5px;color:#a7b0bf}
.hero-card{background:linear-gradient(135deg,#172842,#102038);border-radius:16px}.hero-card:after{background:#2563eb;opacity:.15}.hero-card .eyebrow{color:#8aa9ff}.hero-card .btn-accent{background:#fff;color:#172033}.ring{background:conic-gradient(#5f8cff var(--progress,0%),rgba(255,255,255,.12) 0)}.stats{gap:12px}.stat,.card,.cycle-card,.count-panel{border-radius:12px;box-shadow:none}.stat{padding:17px}.stat-icon{background:#eef3f8}.card{padding:20px}
.master-head{margin-bottom:18px}.master-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,190px));gap:10px;margin-bottom:16px}.master-kpis>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:5px}.master-kpis span{font-size:11px;color:var(--muted)}.master-kpis strong{font-size:23px}.master-panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;box-shadow:0 3px 12px rgba(28,43,70,.03)}.master-toolbar{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:14px}.master-toolbar .tabs{background:#f1f4f8;border-radius:9px}.master-toolbar .tab{border-radius:7px;font-size:12px}.master-toolbar .tab.active{box-shadow:none}.master-toolbar .search{min-width:310px}.search input{border-radius:8px}.table-caption{display:flex;justify-content:flex-end;padding:2px 3px 10px;color:#8793a5;font-size:11px}.table-caption strong{color:#334158;margin-right:4px}.table-wrap{border-radius:9px;border-color:#dfe5ee}.master-data-table{min-width:820px}.data-table th{background:#f3f6fa;color:#7b899e;font-size:10px;padding:12px 14px}.data-table td{padding:15px 14px;color:#3d4a5e;vertical-align:middle}.data-table td>strong{color:#172033}.cell-note{display:block;color:#8a96a8;margin-top:5px;font-size:11px}.code-primary{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#2255bc!important;background:#edf3ff;padding:4px 7px;border-radius:6px;font-size:12px}.unit-pill{display:inline-flex;padding:5px 8px;background:#f1f4f8;border-radius:6px;font-weight:700;font-size:11px}.table-action{border:1px solid #cfd8e6;background:#fff;color:#24446f;padding:7px 12px;border-radius:7px;font-weight:700}.table-action:hover{background:#edf3ff;border-color:#9bb6eb}.badge{border-radius:6px}.badge.good{background:#e8f7f1}.badge.abc-a{background:#feecec}.badge.abc-b{background:#fff4df}.badge.abc-c{background:#e8f7f1}
.modal-backdrop{background:rgba(13,24,43,.62);padding:24px}.modal{width:min(680px,100%);background:#fff;color:var(--ink);border-radius:14px;padding:0;max-height:92vh;overflow:auto;box-shadow:0 24px 80px rgba(6,17,35,.32)}.modal-wide{width:min(960px,100%)}.modal form{padding:24px}.modal-head{position:sticky;top:0;background:#fff;z-index:3;padding-bottom:16px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:23px}.icon-btn{border-radius:8px;background:#f1f4f8}.form-section{border:1px solid var(--line);border-radius:11px;padding:18px;margin:18px 0;background:#fbfcfe}.section-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:18px}.section-title>span{width:26px;height:26px;border-radius:7px;background:#e8efff;color:#2454bd;display:grid;place-items:center;font-weight:800;font-size:12px}.section-title strong{display:block}.section-title small{display:block;color:var(--muted);margin-top:4px}.status-field{max-width:320px}.modal-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding-top:15px}.camera-modal{padding:24px;background:#071717}.camera-modal .modal-head{background:#071717}
@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-context{display:none}.login-card{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.login-mobile-brand{display:block;margin-bottom:60px}.master-toolbar{align-items:stretch;flex-direction:column}.master-toolbar .search{min-width:0;max-width:none}.master-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.content{padding:18px 14px 36px}.topbar{padding:0 16px}.master-panel{padding:11px}.master-kpis{grid-template-columns:repeat(3,1fr);gap:7px}.master-kpis>div{padding:11px}.master-kpis strong{font-size:20px}.master-toolbar .tabs{display:none}.master-data-table{min-width:0;border:0}.master-data-table thead{display:none}.master-data-table,.master-data-table tbody,.master-data-table tr,.master-data-table td{display:block;width:100%}.master-data-table tbody{display:grid;gap:10px}.master-data-table tr{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.master-data-table td{border:0;padding:7px 4px;display:grid;grid-template-columns:115px 1fr;gap:10px;align-items:start}.master-data-table td:before{content:attr(data-label);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8995a7;font-weight:800}.master-data-table td .cell-note{grid-column:2}.table-action{width:100%}.modal-backdrop{padding:0;align-items:end}.modal{width:100%;max-height:94vh;border-radius:16px 16px 0 0}.modal form{padding:18px}.form-section{padding:14px}.login-card{width:min(430px,calc(100% - 28px));padding:18px}.login-mobile-brand{margin-bottom:44px}}
@media(max-width:420px){.master-kpis span{font-size:9px}.master-data-table td{grid-template-columns:95px 1fr}.page-head.master-head{align-items:flex-start}.master-head .btn{padding:0 12px}.login-heading h1{font-size:28px}}
