@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat-400.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-500.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-600.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-700.woff2) format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/playfair-display-600.woff2) format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/playfair-display-700.woff2) format("woff2")}:root{--bg:#0a0f1e;--surface:#111a30;--surface-2:#16223f;--border:#223354;--text:#e9f2fb;--muted:#8da5c4;--accent:#27aae1;--accent-hover:#4cc2f1;--accent-soft:rgba(39,170,225,0.14);--accent-glow:0 0 14px rgba(39,170,225,0.35);--yellow:#f8c31b;--yellow-bg:rgba(248,195,27,0.14);--pink:#ee2b63;--pink-bg:rgba(238,43,99,0.16);--orange:#f7941d;--orange-bg:rgba(247,148,29,0.15);--cyan-bg:rgba(39,170,225,0.15);--green:#2fd67b;--green-bg:rgba(47,214,123,0.13);--slate-bg:rgba(141,165,196,0.16);--sidebar:#070c19;--sidebar-hover:rgba(39,170,225,0.1)}*{box-sizing:border-box}body{margin:0;font-family:Montserrat,Segoe UI,system-ui,sans-serif;background:radial-gradient(1100px 500px at 85% -10%,rgba(39,170,225,.09),transparent 60%),radial-gradient(800px 400px at -10% 110%,rgba(238,43,99,.05),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);font-size:14px}.app{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{padding:20px 16px 14px;border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(39,170,225,.25)}.brand-logo{display:block;width:100%;height:auto}.brand-tag{display:block;margin-top:10px;text-align:center;font-size:10px;font-weight:600;letter-spacing:.45em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 10px rgba(39,170,225,.55)}.sidebar nav{display:flex;flex-direction:column;gap:2px;padding:12px 10px;flex:1 1}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;font-weight:500}.sidebar nav a:hover{background:var(--sidebar-hover);color:var(--text)}.sidebar nav a:nth-child(4n+1){--nav-glow:39,170,225}.sidebar nav a:nth-child(4n+2){--nav-glow:248,195,27}.sidebar nav a:nth-child(4n+3){--nav-glow:238,43,99}.sidebar nav a:nth-child(4n+4){--nav-glow:247,148,29}.sidebar nav a.active{background:linear-gradient(90deg,rgba(var(--nav-glow),.22),rgba(var(--nav-glow),.06));border-left-color:rgb(var(--nav-glow));color:#eaf4fb;text-shadow:0 0 12px rgba(var(--nav-glow),.5)}.nav-icon{width:18px;text-align:center;font-size:15px;color:rgb(var(--nav-glow,39,170,225));text-shadow:0 0 8px rgba(var(--nav-glow,39,170,225),.6)}.sidebar nav a.active .nav-icon{text-shadow:0 0 12px rgba(var(--nav-glow),.9)}.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--pink);color:#fff;font-size:11.5px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 0 10px rgba(238,43,99,.6)}.sidebar-foot{padding:16px 18px;font-size:11px;color:#4a5f7e}.main-col{flex:1 1;min-width:0;min-height:100vh;display:flex;flex-direction:column}.lowstock-strip{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:9px 16px;background:rgba(7,12,25,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);box-shadow:0 6px 18px rgba(0,0,0,.35)}.lowstock-strip-label{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.lowstock-tiles{display:flex;flex-wrap:wrap;gap:10px;min-width:0}.lowstock-tile{--glow:39,170,225;display:inline-flex;align-items:center;gap:9px;padding:5px 13px;border:1px solid rgba(var(--glow),.55);border-radius:999px;background:linear-gradient(160deg,rgba(var(--glow),.12),rgba(var(--glow),.02) 70%),var(--surface-2);color:var(--text);text-decoration:none;white-space:nowrap;transition:box-shadow .2s ease,transform .15s ease,border-color .2s ease}.lowstock-tile:hover{transform:translateY(-1px);border-color:rgb(var(--glow));box-shadow:0 0 14px rgba(var(--glow),.45)}.lowstock-count{font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:17px;font-weight:700;line-height:1;color:rgb(var(--glow));text-shadow:0 0 10px rgba(var(--glow),.5)}.lowstock-name{font-size:12.5px;font-weight:600;color:var(--muted)}.lowstock-tile:hover .lowstock-name{color:var(--text)}.lowstock-tile:not(.has-low) .lowstock-count{color:var(--muted);text-shadow:none}.lowstock-tiles .lowstock-tile:nth-child(4n+1){--glow:39,170,225}.lowstock-tiles .lowstock-tile:nth-child(4n+2){--glow:248,195,27}.lowstock-tiles .lowstock-tile:nth-child(4n+3){--glow:238,43,99}.lowstock-tiles .lowstock-tile:nth-child(4n+4){--glow:247,148,29}.ticker-qty{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--yellow-bg);color:var(--yellow);border:1px solid rgba(248,195,27,.35)}.ticker-qty.warn{background:var(--orange-bg);color:var(--orange);border-color:rgba(247,148,29,.4)}.ticker-qty.ok{background:var(--green-bg);color:var(--green);border-color:rgba(47,214,123,.35)}.ticker-qty.info{background:var(--cyan-bg);color:#5fc9f3;border-color:rgba(39,170,225,.4)}.ticker-qty.out{background:var(--pink-bg);color:#ff7ba1;border-color:rgba(238,43,99,.4);text-shadow:0 0 8px rgba(238,43,99,.6)}.content{flex:1 1;min-width:0;padding:26px 32px 48px;max-width:1280px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}h1,h2,h3,h4{font-family:Playfair Display,Georgia,Times New Roman,serif}.page-header h1{margin:0;font-size:24px;font-weight:700;letter-spacing:.01em}.subtitle{margin:4px 0 0;color:var(--muted)}.empty,.loading{color:var(--muted);padding:18px;text-align:center}.error-banner{background:var(--pink-bg);color:#ff7ba1;border:1px solid rgba(238,43,99,.4);border-radius:8px;padding:10px 14px;margin-bottom:16px}.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:20px}.card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px}.card-header h2{margin:0;font-size:17px}.card-link{font-size:13px;color:var(--accent);text-decoration:none;font-weight:500}.card-link:hover{color:var(--accent-hover);text-shadow:0 0 10px rgba(39,170,225,.6)}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;align-items:start}@media (max-width:1100px){.two-col{grid-template-columns:1fr}}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}td,th{padding:10px 14px}td{border-bottom:1px solid rgba(34,51,84,.6);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:rgba(39,170,225,.06)}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-family:Consolas,Cascadia Mono,monospace;font-size:12.5px}.nowrap{white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12px}.cell-title{font-weight:600}.cell-sub{font-size:12px;color:var(--muted);margin-top:1px}.row-actions{text-align:right;white-space:nowrap}.badge-stack{display:flex;flex-wrap:wrap;gap:4px}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap;border:1px solid transparent}.badge-green{background:var(--green-bg);color:var(--green);border-color:rgba(47,214,123,.35)}.badge-amber{background:var(--yellow-bg);color:var(--yellow);border-color:rgba(248,195,27,.35)}.badge-red{background:var(--pink-bg);color:#ff7ba1;border-color:rgba(238,43,99,.4)}.badge-blue{background:var(--cyan-bg);color:#5fc9f3;border-color:rgba(39,170,225,.4)}.badge-orange{background:var(--orange-bg);color:var(--orange);border-color:rgba(247,148,29,.4)}.badge-purple{background:var(--yellow-bg);color:var(--yellow);border-color:rgba(248,195,27,.35)}.badge-slate{background:var(--slate-bg);color:var(--muted);border-color:rgba(141,165,196,.3)}.toolbar{display:flex;gap:10px;margin-bottom:14px}.toolbar input[type=search]{width:280px}.toolbar-check{display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:#0d1526;color:var(--muted);font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer}.toolbar-check:hover{border-color:var(--accent);color:var(--text)}.toolbar-check input[type=checkbox]{width:auto;margin:0;accent-color:var(--accent)}.header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{background:linear-gradient(180deg,var(--accent-hover),var(--accent));color:#04121f;border:none;border-radius:8px;padding:9px 16px;font-size:13.5px;font-weight:700;cursor:pointer}.btn:hover{box-shadow:var(--accent-glow);filter:brightness(1.08)}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 16px;font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}.btn-secondary:hover{border-color:var(--accent);color:var(--accent-hover);box-shadow:var(--accent-glow)}.btn-ghost{background:none;border:none;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px}.btn-ghost:hover{background:var(--accent-soft);text-shadow:0 0 10px rgba(39,170,225,.6)}.btn-ghost.danger{color:var(--pink)}.btn-ghost.danger:hover{background:var(--pink-bg);text-shadow:0 0 10px rgba(238,43,99,.6)}.note-cell{display:inline-flex;align-items:center;gap:6px}.note-cell>span{min-width:0}.icon-btn{background:none;border:none;font-size:14px;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:6px}.icon-btn:hover{background:var(--surface-2);color:var(--text)}input,select,textarea{font:inherit;color:var(--text);background:#0d1526;border:1px solid var(--border);border-radius:8px;padding:8px 10px;width:100%}input::placeholder,textarea::placeholder{color:#56708f}select option{background:#0d1526;color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(39,170,225,.22),var(--accent-glow)}label{display:block;font-size:12.5px;font-weight:600;color:#b9cbe2}label input,label select,label textarea{margin-top:5px;font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:13px;gap:13px}.form-grid.four{grid-template-columns:repeat(4,1fr)}@media (max-width:1000px){.form-grid.four{grid-template-columns:1fr 1fr}}.span-2{grid-column:span 2}.form-card{padding:18px}.form-error{background:var(--pink-bg);color:#ff7ba1;border:1px solid rgba(238,43,99,.4);border-radius:8px}.form-error,.form-success{margin-top:12px;padding:9px 12px;font-size:13px}.form-success{background:var(--green-bg);color:var(--green);border:1px solid rgba(47,214,123,.35);border-radius:8px}.movement-type-row{display:flex;gap:8px}.type-pill{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:7px 18px;font-size:13px;font-weight:600;cursor:pointer}.type-pill:hover{border-color:var(--accent);color:var(--accent-hover)}.type-pill.selected{background:linear-gradient(180deg,var(--accent-hover),var(--accent));border-color:var(--accent);color:#04121f;box-shadow:var(--accent-glow)}.type-help{margin:8px 0 14px}.modal-overlay{position:fixed;inset:0;background:rgba(4,8,18,.72);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:40;padding:20px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 40px rgba(39,170,225,.12)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0}.modal-header h3{margin:0;font-size:18px}.modal-body{padding:16px 20px 20px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.activity{list-style:none;margin:0;padding:4px 16px 12px}.activity li{display:flex;align-items:flex-start;gap:12px;padding:9px 0;border-bottom:1px solid rgba(34,51,84,.6)}.activity li:last-child{border-bottom:none}.activity .badge{margin-top:1px;min-width:64px;text-align:center}.activity-body{display:flex;flex-direction:column;gap:2px}.stock-breakdown{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.stock-breakdown h4{margin:0 0 8px;font-size:13px}.stock-breakdown table td{padding:6px 8px;font-size:13px}.location-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:8px 16px 22px}.count-badge{margin-left:9px;vertical-align:2px}.alert-list{list-style:none;margin:0;padding:2px 16px 12px}.alert-list a{display:flex;align-items:center;gap:12px;padding:9px 4px;border-bottom:1px solid rgba(34,51,84,.6);text-decoration:none;color:var(--text)}.alert-list li:last-child a{border-bottom:none}.alert-list a:hover .alert-title{color:var(--accent-hover)}.alert-list .ticker-qty{flex-shrink:0;min-width:86px;text-align:center}.alert-title{display:block;font-weight:600;font-size:13.5px}.alert-sub{display:block;font-size:12px;color:var(--muted)}.all-clear{display:flex;align-items:center;gap:8px;margin:0;padding:16px;color:var(--green);font-weight:600}.notif-list{list-style:none;margin:0;padding:0}.notif-item{display:flex;align-items:flex-start;gap:12px;padding:14px 4px;border-bottom:1px solid rgba(34,51,84,.6)}.notif-item:last-child{border-bottom:none}.notif-dot{flex-shrink:0;width:8px;height:8px;margin-top:6px;border-radius:50%;background:transparent}.notif-item.unread .notif-dot{background:var(--pink);box-shadow:0 0 8px rgba(238,43,99,.7)}.notif-main{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0;text-decoration:none;color:var(--text)}.notif-title{font-weight:600;font-size:14px}.notif-main:hover .notif-title{color:var(--accent-hover)}.notif-body{font-size:13px;color:var(--muted)}.notif-time{font-size:12px;color:var(--muted)}.alert-list-title{margin:0 0 8px;font-size:13px}.stat-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-bottom:18px}.stat-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px;border-radius:12px;background:var(--surface-2);text-decoration:none;transition:background .15s ease}.stat-tile:hover{background:var(--surface)}.stat-tile--static,.stat-tile--static:hover{background:var(--surface-2);cursor:default}.stat-icon-value{display:flex;align-items:center;gap:10px}.stat-value{font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:32px;font-weight:700;color:var(--text)}.stat-value.bad{color:var(--pink)}.stat-label{font-size:12.5px;color:var(--muted)}.location-chip{--glow:39,170,225;position:relative;display:flex;align-items:center;gap:14px;min-width:215px;padding:17px 20px;border:1.5px solid rgba(var(--glow),.7);border-radius:14px;background:linear-gradient(160deg,rgba(var(--glow),.08),rgba(var(--glow),.01) 60%),var(--surface-2);color:var(--text);text-decoration:none;overflow:hidden;box-shadow:0 0 15px rgba(var(--glow),.3),inset 0 0 14px rgba(var(--glow),.05);animation:chip-breathe 4.5s ease-in-out infinite;transition:transform .2s ease,box-shadow .25s ease,background .25s ease,border-color .2s ease}@keyframes chip-breathe{0%,to{box-shadow:0 0 13px rgba(var(--glow),.26),inset 0 0 12px rgba(var(--glow),.04)}50%{box-shadow:0 0 22px rgba(var(--glow),.5),inset 0 0 16px rgba(var(--glow),.09)}}.location-chip:after{content:"";position:absolute;top:0;left:-75%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.13),transparent);transform:skewX(-20deg);transition:left .55s ease;pointer-events:none}.location-chip:hover{transform:translateY(-4px) scale(1.03);border-color:rgb(var(--glow));background:linear-gradient(160deg,rgba(var(--glow),.16),rgba(var(--glow),.03) 60%),var(--surface-2);box-shadow:0 0 34px rgba(var(--glow),.8),inset 0 0 20px rgba(var(--glow),.16);animation-play-state:paused}.location-chip:hover:after{left:130%}.location-chip:active{transform:translateY(-1px) scale(1.01)}.chip-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:11px;color:rgb(var(--glow));background:rgba(var(--glow),.14);border:1px solid rgba(var(--glow),.4);transition:transform .2s ease}.location-chip:hover .chip-icon{transform:scale(1.08)}.chip-icon svg{filter:drop-shadow(0 0 5px rgba(var(--glow),.75))}.chip-name{flex:1 1;font-weight:700;font-size:16px;text-shadow:0 0 12px rgba(var(--glow),.45)}.chip-arrow{flex-shrink:0;font-size:18px;color:rgb(var(--glow));opacity:0;transform:translateX(-8px);transition:opacity .2s ease,transform .2s ease}.location-chip:hover .chip-arrow{opacity:1;transform:translateX(0)}.location-chips--sites .location-chip{min-height:154px}.location-chip.has-bg{min-width:250px}.location-chip.has-bg:before{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(150deg,rgba(6,11,22,.82),rgba(6,11,22,.48) 55%,rgba(6,11,22,.8)),var(--bg-image);background-size:cover;background-position:50%;transition:opacity .25s ease}.location-chip.has-bg:hover:before{background-image:linear-gradient(150deg,rgba(6,11,22,.66),rgba(6,11,22,.3) 55%,rgba(6,11,22,.62)),var(--bg-image)}.location-chip.has-bg .chip-arrow,.location-chip.has-bg .chip-icon,.location-chip.has-bg .chip-name{position:relative;z-index:1}.location-chip.has-bg .chip-icon{background:rgba(6,11,22,.55);border-color:rgba(var(--glow),.75)}.location-chip.has-bg .chip-name{text-shadow:0 1px 6px rgba(0,0,0,.9),0 0 12px rgba(var(--glow),.5)}.location-chips .location-chip:nth-child(4n+1){--glow:39,170,225}.location-chips .location-chip:nth-child(4n+2){--glow:248,195,27}.location-chips .location-chip:nth-child(4n+3){--glow:238,43,99}.location-chips .location-chip:nth-child(4n+4){--glow:247,148,29}.location-chips .location-chip:nth-child(2){animation-delay:.6s}.location-chips .location-chip:nth-child(3){animation-delay:1.2s}.location-chips .location-chip:nth-child(4){animation-delay:1.8s}.location-chips .location-chip:nth-child(5){animation-delay:2.4s}.location-chips .location-chip:nth-child(6){animation-delay:3s}@media (prefers-reduced-motion:reduce){.location-chip{animation:none}}.card-grid,.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));grid-gap:18px;gap:18px}.entity-card,.vehicle-card{display:flex;flex-direction:column;gap:14px;padding:18px 20px;background:linear-gradient(180deg,var(--surface-2),var(--surface));border-radius:14px}.card,.entity-card,.vehicle-card{border:1px solid rgba(var(--glow,39,170,225),.5);animation:card-glow-breathe 4.5s ease-in-out infinite;animation-delay:var(--glow-delay,0s);transition:box-shadow .25s ease,border-color .25s ease}@keyframes card-glow-breathe{0%,to{box-shadow:0 0 13px rgba(var(--glow,39,170,225),.22),inset 0 0 12px rgba(var(--glow,39,170,225),.05)}50%{box-shadow:0 0 22px rgba(var(--glow,39,170,225),.45),inset 0 0 16px rgba(var(--glow,39,170,225),.09)}}.card:hover,.entity-card:hover,.vehicle-card:hover{border-color:rgb(var(--glow,39,170,225));box-shadow:0 0 32px rgba(var(--glow,39,170,225),.6),inset 0 0 18px rgba(var(--glow,39,170,225),.14);animation-play-state:paused}@media (prefers-reduced-motion:reduce){.card,.entity-card,.vehicle-card{animation:none}}.entity-card[role=button],.vehicle-card[role=button]{cursor:pointer}.entity-card.has-bg,.vehicle-card.has-bg{overflow:hidden}.entity-card.has-bg:before,.vehicle-card.has-bg:before{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(160deg,rgba(6,11,22,.9),rgba(6,11,22,.72) 55%,rgba(6,11,22,.88)),var(--bg-image);background-size:cover;background-position:50%}.entity-card.has-bg:hover:before,.vehicle-card.has-bg:hover:before{background-image:linear-gradient(160deg,rgba(6,11,22,.84),rgba(6,11,22,.6) 55%,rgba(6,11,22,.82)),var(--bg-image)}.entity-card.has-bg>*,.vehicle-card.has-bg>*{position:relative;z-index:1}.entity-card,.vehicle-card{position:relative}.photo-section{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.photo-section h4{margin:0 0 10px;font-size:13px}.photo-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.photo-thumb{width:96px;height:60px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.photo-upload-btn{cursor:pointer}.attach-section{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.attach-section h4{margin:0 0 10px;font-size:13px}.attach-list{list-style:none;margin:0 0 12px;padding:0}.attach-list li{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(34,51,84,.6)}.attach-list li:last-child{border-bottom:none}.attach-list a{display:flex;align-items:center;gap:8px;flex:1 1;min-width:0;color:var(--accent);text-decoration:none;font-size:13px}.attach-list a:hover .attach-name{text-decoration:underline}.attach-icon{color:var(--muted);flex-shrink:0}.attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-size{flex-shrink:0;font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.attach-add{cursor:pointer;display:inline-block}.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-weight:400}.checkbox-row input[type=checkbox]{width:auto;margin-top:2px;flex-shrink:0;accent-color:var(--accent)}.checkbox-row>span{font-weight:600;color:#b9cbe2}.checkbox-hint{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--muted)}.v-badges{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.check-engine-light{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:transparent;animation:check-engine-pulse 1.6s ease-in-out infinite}.check-engine-light img{width:100%;height:100%;object-fit:contain}.check-engine-light.small{width:16px;height:16px;margin-left:6px}@keyframes check-engine-pulse{0%,to{box-shadow:0 0 4px rgba(247,148,29,.5)}50%{box-shadow:0 0 11px rgba(247,148,29,.95)}}@media (prefers-reduced-motion:reduce){.check-engine-light{animation:none}}.service-overdue-light{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:transparent;animation:service-overdue-pulse 1.6s ease-in-out infinite}.service-overdue-light img{width:100%;height:100%;object-fit:contain}@keyframes service-overdue-pulse{0%,to{box-shadow:0 0 4px rgba(238,43,99,.5)}50%{box-shadow:0 0 11px rgba(238,43,99,.95)}}.service-overdue-light.small{width:16px;height:16px;margin-left:6px}@media (prefers-reduced-motion:reduce){.service-overdue-light{animation:none}}.entity-card[role=button]:focus-visible,.vehicle-card[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.v-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.v-head h3{margin:0;font-size:18px;line-height:1.25}.v-head .badge{letter-spacing:.07em;flex-shrink:0;margin-top:3px}.v-chip,.v-head .badge{text-transform:uppercase}.v-chip{display:inline-block;margin-top:7px;padding:2px 9px;border:1px solid var(--border);border-radius:6px;font-family:Consolas,Cascadia Mono,monospace;font-size:11px;letter-spacing:.1em;color:var(--muted)}.v-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 18px;gap:12px 18px}.v-label{display:block;margin-bottom:3px;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.v-value{font-size:14px;font-weight:600}.v-value.warn{color:var(--yellow)}.v-value.bad{color:var(--pink);text-shadow:0 0 10px rgba(238,43,99,.45)}.v-progress-head{display:flex;justify-content:space-between;margin-bottom:6px;font-size:12px;color:var(--muted)}.progress-track{height:6px;border-radius:999px;background:#0d1526;border:1px solid var(--border);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:var(--green);box-shadow:0 0 8px rgba(47,214,123,.6)}.progress-fill.warn{background:var(--yellow);box-shadow:0 0 8px rgba(248,195,27,.6)}.progress-fill.bad{background:var(--pink);box-shadow:0 0 8px rgba(238,43,99,.6)}.v-chip-row{display:flex;align-items:center;gap:9px;margin-top:7px}.v-chip-row .v-chip{margin-top:0}.v-sub{font-size:12px}.v-notes,.v-sub{color:var(--muted)}.v-notes{margin:-4px 0 0;font-size:12.5px}.v-value.muted{color:var(--muted);font-weight:400}.v-foot{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:13px;border-top:1px solid var(--border);color:var(--muted)}.v-driver{font-weight:500;color:var(--text)}.v-person{flex-shrink:0}.v-actions{margin-left:auto;display:flex;align-items:center;gap:2px}.v-open{font-size:20px;line-height:1;color:var(--accent);padding:2px 10px}.v-open:hover{background:var(--accent-soft);color:var(--accent-hover)}.modal-delete{margin-right:auto}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-loading{color:var(--muted)}.auth-card{width:100%;max-width:430px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:30px 30px 26px;box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 50px rgba(39,170,225,.14)}.auth-card .brand-logo{display:block;width:78%;margin:0 auto 18px}.auth-title{margin:0;font-size:22px;text-align:center}.auth-sub{margin:6px 0 0;text-align:center;color:var(--muted);font-size:13px;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:12px;margin-top:20px}.auth-form .btn{width:100%;margin-top:6px;padding:11px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:13px 14px;border-top:1px solid var(--border)}.sidebar-user-info{min-width:0;flex:1 1}.sidebar-user-info strong{display:block;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-info small{display:block;font-size:11px;color:var(--muted)}.master-badge{margin-left:8px}.tab-bar{display:flex;gap:2px;margin-bottom:18px;border-bottom:1px solid var(--border)}.tab{display:inline-block;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:9px 18px;font:inherit;font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;cursor:pointer}.tab:hover{color:var(--text)}.tab.active{color:var(--accent-hover);border-bottom-color:var(--accent);text-shadow:0 0 12px rgba(39,170,225,.4)}.panel-actions{display:flex;justify-content:flex-end;margin-bottom:14px}.user-cell{display:flex;align-items:center;gap:11px}.user-cell .cell-sub,.user-cell .cell-title{display:block}.avatar{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--accent-hover),#1179ab);color:#04121f;font-size:12.5px;font-weight:700}.perm-section{margin-top:16px}.perm-section h4{margin:0 0 8px;font-size:14px}.perm-grid{display:flex;flex-direction:column;gap:8px}.perm-option{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:#0d1526;cursor:pointer;font-weight:400}.perm-option.checked,.perm-option:hover{border-color:var(--accent)}.perm-option.checked{background:var(--accent-soft)}.perm-option input[type=checkbox]{width:auto;margin-top:2px;accent-color:var(--accent)}.perm-label{display:block;font-weight:600;font-size:13px}.perm-desc{display:block;font-size:12px;color:var(--muted)}.perm-modules{display:flex;flex-direction:column;gap:8px}.perm-module{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:#0d1526}.perm-module-info{min-width:0}.perm-levels{display:inline-flex;flex-shrink:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.perm-level-btn{padding:5px 12px;font-size:12.5px;font-weight:600;background:transparent;color:var(--muted);border:none;border-left:1px solid var(--border);cursor:pointer}.perm-level-btn:first-child{border-left:none}.perm-level-btn:hover{color:var(--text);background:var(--sidebar-hover)}.perm-level-btn.active{background:var(--accent-soft);color:var(--accent-hover)}.import-help{margin:0 0 16px;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.55}.import-help li{margin-bottom:6px}.import-help strong{color:var(--text)}.import-actions{display:flex;gap:10px}.file-btn{position:relative;overflow:hidden;color:#04121f;font-size:13.5px;cursor:pointer}.file-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.import-summary{list-style:none;margin:0;padding:0;font-size:14px}.import-summary li{padding:6px 0;border-bottom:1px solid rgba(34,51,84,.6)}.import-summary li:last-child{border-bottom:none}.import-errors{margin-top:14px;background:var(--yellow-bg);border:1px solid rgba(248,195,27,.35);border-radius:8px;padding:10px 14px}.import-errors h4{margin:0 0 6px;font-size:13px;color:var(--yellow)}.import-errors ul{margin:0;padding-left:16px;font-size:13px;color:var(--yellow)}.label-sheet{display:grid;justify-content:start;grid-gap:0;gap:0;padding:12px;background:#fff;border-radius:10px}.label-sheet--roll{display:flex;flex-wrap:wrap;gap:8px}.label{width:var(--label-w);height:var(--label-h);display:flex;align-items:center;gap:var(--label-gap);padding:var(--label-pad);overflow:hidden;color:#000;background:#fff;box-sizing:border-box}@media screen{.label{outline:1px dashed #c9d4e4}}.label-qr{flex:0 0 auto;display:block}.label-qr svg{width:var(--qr-size);height:var(--qr-size);display:block}.label-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.015in;line-height:1.1}.label-bar{display:block}.label-bar svg{width:var(--bar-w);height:var(--bar-h);display:block}.label-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:.06in;min-width:0}.label-sku{font-family:Consolas,Cascadia Mono,monospace;overflow:hidden;text-overflow:ellipsis}.label-price,.label-sku{font-size:var(--sku-fs);font-weight:700;white-space:nowrap}.label-price{flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.label-name{flex:1 1 auto;min-width:0;font-size:var(--name-fs);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media print{.lowstock-strip,.print-hide,.sidebar,.tab-bar{display:none!important}body{background:#fff!important}.app,.content,.main-col{display:block!important;padding:0!important;margin:0!important;max-width:none!important;min-height:0!important}.label-sheet{border-radius:0;background:#fff}.label-sheet--roll{display:block}.label{outline:none}.label,.label-name,.label-price,.label-sku{color:#000!important}}.driver-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(1200px 600px at 50% -10%,#12233d 0,#0a1220 55%,#070d17 100%)}.driver-card{width:100%;max-width:30rem;display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:18px;background:rgba(18,28,46,.92);border:1px solid rgba(120,160,220,.22);box-shadow:0 18px 50px rgba(0,0,0,.45);text-align:center}.driver-card h1{margin:0;font-size:1.6rem;line-height:1.2}.driver-eyebrow{margin:0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(160,190,230,.75)}.driver-vehicle{margin:0;color:rgba(180,205,235,.8);font-size:.95rem}.driver-reading{margin:0;font-size:2.2rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.driver-note{margin:0;color:rgba(180,205,235,.8);font-size:.92rem;line-height:1.45}.driver-big-icon{font-size:2.4rem;line-height:1}.driver-shot{display:block;cursor:pointer;border:2px dashed rgba(120,160,220,.4);border-radius:14px;overflow:hidden;background:rgba(10,18,32,.6)}.driver-shot-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:30px 16px;color:rgba(180,205,235,.85);font-size:.98rem}.driver-shot img{display:block;width:100%;max-height:15rem;object-fit:cover}.driver-retake{display:block;padding:9px;font-size:.85rem;color:rgba(180,205,235,.9);background:rgba(10,18,32,.85)}.driver-field{display:flex;flex-direction:column;gap:6px;text-align:left;font-size:.82rem;color:rgba(180,205,235,.85)}.driver-field input{font-size:1.15rem;padding:13px 14px;border-radius:11px;border:1px solid rgba(120,160,220,.3);background:rgba(8,15,27,.85);color:#eaf2ff}.driver-field input:focus{outline:none;border-color:rgba(39,170,225,.9)}.driver-btn{min-height:52px;padding:14px 18px;font-size:1.05rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;color:#06121f;background:linear-gradient(180deg,#63c8f0,#27aae1)}.driver-btn:disabled{opacity:.6;cursor:default}.driver-btn--ghost{background:transparent;border:1px solid rgba(120,160,220,.35);color:rgba(200,220,245,.9)}.driver-error{margin:0;padding:10px 12px;border-radius:10px;font-size:.9rem;color:#ffd7e0;background:rgba(238,43,99,.16);border:1px solid rgba(238,43,99,.4)}.driver-card--ok{border-color:rgba(64,200,140,.45)}.driver-card--hold{border-color:rgba(248,195,27,.5)}.driver-card--bad{border-color:rgba(238,43,99,.45)}.label--sticker .label-main{gap:.03in;overflow:hidden}.sticker-title{font-size:var(--sku-fs);font-weight:700;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sticker-sub{font-size:var(--name-fs);color:#333}.sticker-cta{font-size:var(--name-fs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.sticker-url{font-family:Consolas,Cascadia Mono,monospace;font-size:calc(var(--name-fs) * .82);color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media print{.sticker-sub,.sticker-url{color:#000!important}}.mileage-review{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.mileage-review li{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid rgba(248,195,27,.3);border-radius:10px;background:var(--yellow-bg)}.mileage-thumb{flex-shrink:0;display:block;width:92px;height:68px;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--surface)}.mileage-thumb img{width:100%;height:100%;object-fit:cover}.mileage-main{flex:1 1;min-width:0}.mileage-numbers{font-size:15px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mileage-reason{margin-top:2px;font-size:12.5px;color:var(--yellow)}.mileage-actions{flex-shrink:0;display:flex;align-items:center;gap:8px}.label-qty-presets{display:flex;gap:8px;margin:14px 0 4px}.label-qty-preset{flex:1 1;padding:9px 4px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-size:14px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .15s ease,color .15s ease,box-shadow .15s ease}.label-qty-preset.active,.label-qty-preset:hover{color:var(--text);border-color:var(--accent)}.label-qty-preset.active{background:var(--accent-soft);box-shadow:var(--accent-glow)}.report-layout{display:grid;grid-template-columns:16rem minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}@media (max-width:1000px){.report-layout{grid-template-columns:minmax(0,1fr)}}.report-list{gap:6px;position:-webkit-sticky;position:sticky;top:58px}.report-list,.report-pick{display:flex;flex-direction:column}.report-pick{gap:3px;padding:10px 12px;text-align:left;border:1px solid var(--border);border-left:2px solid transparent;border-radius:9px;background:var(--surface);color:var(--muted);cursor:pointer}.report-pick:hover{background:var(--surface-2);color:var(--text)}.report-pick strong{font-size:13px;font-weight:600;color:inherit}.report-pick span{font-size:11.5px;line-height:1.35;color:#6f87a8}.report-pick.active{border-left-color:var(--accent);background:linear-gradient(90deg,var(--accent-soft),transparent);color:var(--text)}.report-body{min-width:0;padding:18px 20px 22px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.report-head h2{margin:0 0 2px}.report-range{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid var(--border)}.report-preset{padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer}.report-preset.active,.report-preset:hover{color:var(--text);border-color:var(--accent)}.report-preset.active{background:var(--accent-soft);box-shadow:var(--accent-glow)}.report-notes{margin:12px 0 0;padding:9px 12px 9px 26px;border-left:2px solid var(--yellow);border-radius:0 8px 8px 0;background:var(--yellow-bg);color:#f0dca8;font-size:12px;line-height:1.45}.report-notes li+li{margin-top:4px}.report-scroll{margin-top:14px;overflow-x:auto}.report-table{margin-top:0}.report-table tfoot td{border-top:2px solid var(--border);font-weight:700;color:var(--text);background:var(--surface-2)}