@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root {
 --bg:#ffffff; --surface:#ffffff; --ink:#101b37; --muted:#5d6d8a;
 --border:#dbe5f1; --light:#f3f7fd; --maroon:#0764d5; --maroon-dark:#034aab;
 --pink:#e8f2ff; --good:#087947; --good-bg:#e6f8ef; --warn:#a46900;
 --warn-bg:#fff6df; --bad:#bc3548; --bad-bg:#fff1f1;
 --shadow: none; --blue:#0867d8;--deep-blue:#06499f;--navy:#111b37;
 font-family:'Plus Jakarta Sans',Arial,Helvetica,sans-serif; font-size:14px;
}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:auto}
html,body,button,input,select,textarea{font-family:'Plus Jakarta Sans',Arial,Helvetica,sans-serif!important}
body{background:var(--bg)!important;color:var(--ink);font-size:13px;-webkit-font-smoothing:antialiased}
button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #0068e8;outline-offset:2px}
.svg{filter:none!important;stroke-width:2.1px;overflow:visible;display:block;flex-shrink:0}
.shell{max-width:540px;padding:0 18px calc(98px + env(safe-area-inset-bottom))}
.topbar{padding:20px 0 16px;gap:12px;align-items:center}
.brand-mark,.session-pick .brand-mark{width:45px;height:45px;min-width:45px;border:0;border-radius:2px;background:linear-gradient(142deg,#0878ef,#0753ae);color:white;font-size:27px;font-weight:800;display:grid;place-items:center;box-shadow:none;padding:0;letter-spacing:-1px}
.brand-head h1{font-size:18px;font-weight:800;letter-spacing:-.045em;margin-bottom:3px;color:var(--navy)}
.brand-head p{font-size:11px;letter-spacing:0;line-height:1.35;text-transform:none;font-weight:500;color:var(--muted);margin:0}
.icon-btn,.refresh-btn{min-width:43px;width:43px;min-height:43px;height:43px;background:var(--light);border:1px solid var(--border);border-radius:3px;color:var(--navy);box-shadow:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.icon-btn .svg,.refresh-btn .svg{width:22px;height:22px}
.demo-banner{background:#f6f9ff;color:#435b7d;border:1px solid var(--border);border-left:3px solid #3180dd;box-shadow:none;border-radius:3px;padding:9px 11px;margin-bottom:14px;font-size:10.5px;line-height:1.55}
.demo-banner b{font-size:10.5px;color:#24527e}
.demo-banner .svg{flex-shrink:0;align-self:center;color:#3e76c7;width:17px;height:17px}
.session,.card,.item-card,.stat,.inventory-kpi,.summary-list,.inventory-item,.activity-item,.role-btn,.audit-overview>div,.login-card,.account-warning,.soft-empty,.empty,.scan-dialog{border:1px solid var(--border);box-shadow:none!important;border-radius:3px!important;background:var(--surface);color:var(--ink)}
.session{padding:15px;margin-bottom:18px}
.session-head{font-size:10.5px;color:#657896;letter-spacing:.65px;font-weight:700}
.session-head button{font-size:11px;font-weight:800;color:var(--blue)}
.session-info{margin-top:8px;gap:7px}
.session-info strong{font-size:20px;line-height:1.3;font-weight:800;color:var(--navy)}
.session-info span{font-size:12px}
.role-indicator{background:var(--pink);color:var(--blue);font-size:10px;border-radius:2px;margin-left:7px;padding:3px 6px;letter-spacing:0}
.screen-top{display:flex;align-items:flex-start;margin:8px 0 19px;gap:12px}
.screen-top h2{font-size:22px;line-height:1.3;letter-spacing:-.035em;font-weight:800;color:var(--navy)}
.screen-top .subtitle{font-size:12px;line-height:1.55;margin-top:4px}
.last-update{font-size:10.5px;color:var(--muted);margin-top:8px}
.subtitle,.hint,.field-hint,.item-id,.item-meta,.activity-text small,.note,.pre{color:var(--muted)}
h2,h3{color:var(--navy);font-weight:800;letter-spacing:-.025em}
h3{font-size:15px}
.section-head{margin:21px 0 11px;gap:8px}
.section-head h3{font-size:17px;letter-spacing:-.035em}
.section-head .pill{white-space:nowrap}
.pill{background:#eef4fc;color:#426084;padding:5px 8px;font-size:10px;font-weight:700;border-radius:2px;line-height:1.35;max-width:100%}
.pill.good{background:#e4f8ee;color:#087d4d}.pill.warn{background:#fff4d9;color:#956100}.pill.maroon{background:#e6f1ff;color:#005bb6}.pill.bad{background:#ffe7eb;color:#ad2544}
.btn{border:1px solid #0d6bda;background:#0870e6;color:#fff;font-weight:800;font-size:12px;letter-spacing:0;border-radius:3px;box-shadow:none!important;min-height:44px;padding:10px 13px;transition:background .16s}
.btn.full{min-height:45px}
.btn:hover:not(:disabled){background:#075ec1}
.btn:active:not(:disabled){transform:none;background:#064faa}
.btn.outline{background:#fff;color:#0963c4;border:1px solid #9ac0ed;font-weight:750;box-shadow:none!important}
.btn.subtle{background:#e8f2ff;color:#0962c6;border:1px solid #bfd7f6}
.btn.warn{background:#fff1e2;color:#a65a12;border:1px solid #f4d0a4}
.btn.small{min-height:35px;font-size:11px;padding:7px 9px;border-radius:3px}
.btn .svg{width:18px;height:18px}
.field{gap:7px;margin-bottom:15px}
.field>label,.field-label{font-size:12px;color:#253957;font-weight:700}
.input,.select,.textarea{min-width:0;min-height:43px;background:#fff;color:var(--navy);border:1px solid #b8cce7;border-radius:3px;font-size:12px;padding:10px 11px;box-shadow:none}
.input:focus,.select:focus,.textarea:focus{border-color:#0866d1;box-shadow:0 0 0 2px #2e8cef20}
.input-row{gap:7px}.input-row .input{flex:1;min-width:0}.input-row .btn{flex-shrink:0;min-width:44px}
.card{padding:15px}
.card+.card{margin-top:11px}
.card.soft{background:#f5f9ff}
.btn:disabled{opacity:.45}
/* Hero action: the only elevated, strongly colored action on home */
.priority-card{border:1px solid #0871df;border-radius:3px!important;background:linear-gradient(138deg,#0b78e7 0%,#095cc5 58%,#064ea6 100%)!important;box-shadow:none!important;padding:16px 17px 17px;width:100%;color:#fff;text-align:left;overflow:hidden;min-height:132px}
.priority-card:hover{background:linear-gradient(135deg,#0878e9,#064aa2)!important}
.priority-card:active{transform:none!important}
.priority-label{font-size:10px;letter-spacing:.075em;color:#dceaff;font-weight:700;line-height:1.3}
.priority-content{display:flex;align-items:center;gap:11px;margin-top:15px}
.priority-content>.svg{width:22px;height:22px;flex-shrink:0;color:#fff}
.priority-icon{width:56px;height:56px;min-width:56px;padding:0;margin:0;background:transparent!important;border:0!important;display:flex;align-items:center;justify-content:center;box-shadow:none!important}
.priority-icon .svg{width:46px;height:46px;stroke-width:1.85px;color:#fff}
.priority-copy{gap:6px}.priority-copy strong{color:#fff;font-size:17px;line-height:1.27;letter-spacing:-.02em;font-weight:800}.priority-copy small{color:#e7f3ff;font-size:11px;line-height:1.45;font-weight:500}
.stats-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:7px;margin:25px 0 12px}
.stats-section-title h3{font-size:20px;letter-spacing:-.04em;font-weight:800;margin:0;line-height:1.2}
.stats-section-title span{color:#0864c2;font-size:10.5px;white-space:nowrap}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 18px}
.stats.modern-stats{margin:0 0 20px}
.info-stat{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:5px;min-height:118px;padding:12px!important;background:#fff;box-shadow:none!important;cursor:default;user-select:text}
.stat-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:5px;min-width:0}
.stat-label{font-size:11px;line-height:1.3;color:#263e60;font-weight:650;overflow-wrap:anywhere;min-width:0}
.stat-symbol{background:#eaf3ff;color:#0867d6;width:36px;height:36px;min-width:36px;border-radius:3px;display:flex;align-items:center;justify-content:center;padding:5px}
.info-stat:nth-child(2) .stat-symbol{background:#fff5e4;color:#d48a08}
.info-stat:nth-child(3) .stat-symbol{background:#eaf9f0;color:#13864b}
.info-stat:nth-child(4) .stat-symbol{background:#fff0f1;color:#c33f57}
.stat-symbol .svg{width:24px;height:24px;color:inherit}
.stat-value{font-size:26px!important;font-weight:800!important;letter-spacing:-.06em;margin:0!important;line-height:1.13;color:#111b37;overflow-wrap:anywhere;align-self:center}
.stat-note{font-size:10px;line-height:1.4;color:var(--muted);margin:0!important}
/* also generic stats for DPP */
.stat:not(.info-stat){min-height:96px;padding:13px}
.stat:not(.info-stat) .stat-value{margin-top:9px!important}
/* Activity timeline and list */
.activity-item{padding:13px;gap:10px;align-items:center;display:flex}
.activity-icon,.inventory-item-icon,.menu-icon{background:#eaf3ff!important;color:#0664d1;border:0!important;border-radius:3px!important;box-shadow:none!important;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.activity-icon{width:40px;height:40px}
.activity-icon .svg,.inventory-item-icon .svg{width:22px;height:22px}
.activity-text{gap:4px;min-width:0}.activity-text strong{font-size:12px;line-height:1.45;font-weight:750;color:var(--navy)}.activity-text small{font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.activity-item .pill{flex-shrink:0;max-width:100px}
/* Navigation */
.bottom-nav{background:#fff!important;border-top:1px solid var(--border);box-shadow:none!important;padding:6px 10px calc(7px + env(safe-area-inset-bottom));gap:1px}
.nav-item{font-family:'Plus Jakarta Sans',Arial,sans-serif!important;min-width:0;min-height:56px;max-width:130px;flex:1;border-radius:3px!important;gap:6px;color:#63728c;background:transparent!important;font-size:10px;font-weight:600;padding:7px 1px;box-shadow:none!important}
.nav-item .svg{width:22px;height:22px;stroke-width:2.1px}
.nav-item.active{color:#0764c9!important;background:#e7f2ff!important;font-weight:800;border-radius:3px!important}
/* Forms and filters */
.item-card{padding:13px;box-shadow:none}.item-head{gap:9px;min-width:0}.item-name{font-size:13px;font-weight:800;color:var(--navy)}.item-id{font-size:10px;line-height:1.55;overflow-wrap:anywhere}.item-weight{font-size:13px;white-space:nowrap;color:var(--navy)}
.weight-grid{grid-template-columns:1fr minmax(105px,43%);gap:9px}.weight-grid .input{min-width:0}
.check{accent-color:#0a6edb;width:18px;height:18px;min-width:18px}
.sum-box{background:#f4f8fe;border:1px solid var(--border);border-radius:3px;padding:12px;margin:13px 0}
.divider{background:var(--border)}.note{background:#f4f8ff;border-left:3px solid #88b7ee;border-radius:2px;font-size:11px;padding:12px}
.notice{background:#fff5e4;color:#9a5f00;border-radius:3px;border:1px solid #f2d9a7}
.empty,.soft-empty{min-height:auto!important;padding:22px 15px!important;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;background:#fbfdff;box-shadow:none!important;border-style:dashed}
.empty>.svg,.soft-empty>.svg{width:44px!important;height:44px!important;color:#6a8eb8!important;max-width:44px;max-height:44px;display:block;filter:none!important}
.empty h3{font-size:13px;margin:4px 0 0}.empty p{font-size:11px;line-height:1.5;margin:0;max-width:310px}.soft-empty span{font-size:11px}
.progress{height:5px;background:#dfe9f5;border-radius:2px}.progress-bar{background:#0973e8;border-radius:2px}
/* Inventory */
.inventory-kpis{gap:9px;margin-bottom:15px}.inventory-kpi{padding:12px;gap:5px}.inventory-kpi>span{font-size:11px;color:#425779}.inventory-kpi>strong{font-size:21px;color:var(--navy)}.inventory-kpi>small{font-size:10px;line-height:1.4}
.inventory-kpi.full-row{background:#f1f7ff!important;border-color:#cadef7}.inventory-kpi.full-row>strong{color:#0759b5}
.summary-list{margin-bottom:15px}.summary-row{padding:12px 13px;gap:9px}.summary-row strong{font-size:13px}.summary-row b{font-size:11px;white-space:nowrap}
.inventory-filters{padding:13px;margin-bottom:12px}.inventory-filters .filter-grid{gap:8px}
.inventory-item{padding:12px;gap:8px;cursor:pointer}
.inventory-item-main{gap:9px}.inventory-item-main strong{font-size:12px}.inventory-item-main small{font-size:10px}.inventory-item-icon{width:37px;height:37px}
.inventory-item-side{gap:5px}.inventory-item-side>.svg{width:15px;height:15px}
.inventory-item:active{background:#f0f7ff}
.inventory-item[hidden]{display:none!important}
/* Login */
.session-pick{padding-top:20px;max-width:460px}
.session-pick .hero{margin-bottom:15px}
.session-pick .hero .brand-mark{margin-bottom:10px;width:52px;height:52px;font-size:28px}
.session-pick .hero h1{font-size:23px;font-weight:800;letter-spacing:-.04em}
.session-pick .hero p{font-size:12px;color:#667c9b}
.session-pick .card{padding:18px}
.login-heading{margin-bottom:14px;gap:9px}
.login-heading>.svg{width:30px;height:30px;background:#e8f3ff;color:#0765d2;padding:5px;border-radius:3px}
.login-heading h2{font-size:18px;margin-bottom:5px}
.login-heading .tagline{font-size:11px;margin:0;color:var(--muted)}
.role-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.role-btn{min-height:84px;padding:10px 4px;gap:7px;background:#fff;color:#3b5274;font-size:11px;font-weight:700;transition:none}
.role-btn.chosen{border:1.5px solid #096fe0;background:#eaf3ff;color:#075fc3;box-shadow:none!important}
.role-icon{width:31px;height:31px;padding:0;border:0;background:none!important;display:grid;place-items:center;box-shadow:none!important;border-radius:0!important;color:#0764cd}
.role-icon .svg{width:28px;height:28px}
.role-btn.chosen .role-icon{background:transparent!important}
.pin-preview{background:#f1f5f9!important;color:#7385a2!important}
.account-warning{background:#f4f8ff;color:#345a87;border-left:3px solid #1a6ed1;padding:12px}
.account-warning .svg{width:22px;height:22px;color:#126fcf;flex-shrink:0}
.account-item{gap:11px}.account-item .menu-icon{width:39px;height:39px}
/* Misc */
.badge-number{background:#0964d1}.audit-overview{gap:7px}.audit-overview>div{padding:11px}
.audit-overview strong{font-size:21px}.audit-overview small{font-size:10px}
.timeline{border-color:#c8daf3}.timeline-entry:before{border-color:#086ad8}
.scan-dialog{padding:17px;max-width:450px}.scan-video{border-radius:3px}.qr-frame:after{border-radius:3px}
#toast{background:#102549;border-radius:3px;color:white;bottom:calc(90px + env(safe-area-inset-bottom));font-size:11px}
.melt-card{margin:13px 0;background:#f7fbff}
body.dark{--bg:#121a29;--surface:#1d293a;--ink:#eef5ff;--navy:#f6f9ff;--muted:#abbdd8;--border:#33465f;--light:#1d3550;--maroon:#58a3fb;--pink:#183759;--shadow:none;background:var(--bg)!important;color:var(--ink)}
body.dark .brand-head h1,body.dark h2,body.dark h3,body.dark .session-info strong,body.dark .item-name,body.dark .stat-value,body.dark .activity-text strong,body.dark .stat-label,body.dark .inventory-kpi>strong,body.dark .item-weight{color:#f3f7ff}
body.dark .demo-banner,body.dark .note,body.dark .inventory-kpi.full-row,body.dark .empty,body.dark .soft-empty,body.dark .sum-box{background:#1b2c43!important;border-color:#344e6a;color:#c3d7ef}
body.dark .stat-symbol,body.dark .activity-icon,body.dark .inventory-item-icon,body.dark .menu-icon{background:#253c57!important;color:#81bdff}
body.dark .role-btn{background:#1d293a;color:#d0def4}
body.dark .role-btn.chosen{background:#1b395b;color:#cfe6ff;border-color:#6eb3ff}
body.dark .input,body.dark .select,body.dark .textarea{background:#162335;color:#f4f9ff;border-color:#526881}
body.dark .session,body.dark .card,body.dark .item-card,body.dark .info-stat,body.dark .inventory-kpi,body.dark .activity-item,body.dark .inventory-item,body.dark .summary-list{background:#1d293a;color:#f2f7ff}
body.dark .bottom-nav{background:#162132!important}
body.dark .nav-item.active{background:#22446a!important;color:#b8dbff!important}
body.dark .nav-item{color:#a7bcd7}
body.dark .btn.outline{background:#1b344d;border-color:#4c7aaf;color:#d2e8ff}
body.dark .pill.maroon{background:#203e61;color:#b2ddff}
body.dark .pin-preview{background:#253c57!important;color:#93acc8!important}
@media(max-width:390px){.shell{padding:0 12px calc(92px + env(safe-area-inset-bottom))}.topbar{padding-top:14px}.brand-head h1{font-size:16px}.priority-content{gap:7px}.priority-icon{width:46px;min-width:46px;height:48px}.priority-icon .svg{width:39px;height:39px}.priority-copy strong{font-size:14px}.stat-label{font-size:10px}.stat-symbol{width:30px;min-width:30px;height:30px}.stat-symbol .svg{width:21px;height:21px}.info-stat{padding:10px!important;min-height:118px}.stats-section-title h3{font-size:17px}.stats-section-title span{font-size:9px}.stat-value{font-size:23px!important}.stat-note{font-size:9px}.activity-item{padding:10px}.activity-item .pill{font-size:9px;padding:4px}.screen-top h2{font-size:20px}.nav-item{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Shared structural helpers that must not depend on old revision styles */
.priority-copy{display:flex;flex-direction:column;flex:1;gap:5px;min-width:0}
.priority-copy strong,.priority-copy small{display:block}
.priority-copy strong{overflow-wrap:anywhere}
@media(max-width:390px){.priority-copy{gap:4px}}
