:root{font-family:"Inter",system-ui,sans-serif;color:#172923;background:#f2f5f2;--green:#214a3d;--line:#e2e9e3;--muted:#566b61;--mint:#e9f2eb}
*{box-sizing:border-box}body{margin:0}a{color:#245e49;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{outline-offset:3px}a:hover{color:#132f26}h1,h2,p{margin-top:0}h1{font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.06;letter-spacing:-.045em;margin-bottom:10px}h2{font-size:1.11rem;letter-spacing:-.025em;margin:0}p{line-height:1.5}.muted,small,.page-head p{color:var(--muted)}small{font-size:.79rem}
.sidebar{position:fixed;inset:0 auto 0 0;width:225px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 17px 20px}.brand{display:flex;gap:10px;align-items:center;font-weight:800;font-size:1.25rem;letter-spacing:-.045em;color:#152c23;margin:0 0 35px 10px}.brand-icon,.tile-icon{display:grid;place-items:center;border-radius:11px;flex:none}.brand-icon{width:36px;height:36px;background:#214a3d;color:#d8fb9d;font-size:23px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{display:flex;align-items:center;gap:12px;border-radius:9px;color:var(--muted);padding:11px;font-weight:620;font-size:.9rem}.sidebar nav a span{font-size:1.2rem;width:22px;text-align:center}.sidebar nav a:hover,.sidebar nav a[aria-current]{background:var(--mint);color:#184332}.account{display:flex;align-items:center;gap:10px;margin-top:auto;padding:16px 6px 0;border-top:1px solid var(--line);font-size:.83rem}.avatar{display:grid;place-items:center;background:#cae7d0;color:var(--green);width:34px;height:34px;border-radius:50%;font-weight:800}.plain{display:block;padding:0;margin-top:3px;border:0;background:none;color:var(--muted);cursor:pointer;font-size:.77rem}
.workspace{margin-left:225px}.topbar{height:73px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 31px;gap:12px;background:#fff}.searchbar{display:flex;align-items:center;gap:6px;max-width:480px;flex:1}.searchbar label{font-size:25px;color:var(--muted)}.searchbar input{background:none;border:0;margin:0}.content{max-width:1370px;padding:27px 31px 50px;margin:auto}.hero{position:relative;overflow:hidden;background:#1b3e34;color:#fff;border-radius:20px;padding:34px 34px 31px;margin-bottom:20px;min-height:241px;display:flex;align-items:center}.hero>div:first-child{position:relative;z-index:1}.hero p{color:#d2e1d8;margin-bottom:19px}.hero p.eyebrow{color:#c7eaaf;letter-spacing:.09em;font-size:.76rem;text-transform:uppercase;font-weight:750;margin-bottom:12px}.hero-grid{position:absolute;inset:-100px -55px -100px 52%;background:repeating-linear-gradient(90deg,transparent 0 48px,#89bc9c35 49px 50px),repeating-linear-gradient(transparent 0 48px,#89bc9c35 49px 50px);transform:rotate(-17deg);mask-image:linear-gradient(90deg,transparent,#000 45%);pointer-events:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#214a3d;color:white;border:1px solid transparent;border-radius:9px;padding:10px 15px;min-height:42px;cursor:pointer;font-weight:700;font-size:.87rem;white-space:nowrap}.button:hover{color:white;background:#17382d}.button.light{background:#fff;color:#214a3d;border-color:#d8e4da}.button.light:hover{background:#ecf4ed}.button.accent{background:#d8f69f;color:#233d22}.button.accent:hover{background:#edffc9}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions>a:not(.button){font-size:.85rem;font-weight:700}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.stat,.panel{background:white;border:1px solid var(--line);border-radius:15px}.stat{display:flex;align-items:center;gap:12px;padding:17px;color:var(--muted);font-size:.82rem;font-weight:640}.stat strong{color:#182e25;display:block;font-size:1.55rem;line-height:1.2;margin-top:3px}.tile-icon{width:36px;height:36px;background:var(--mint);color:#32604f;font-size:1.11rem}.tile-icon.warm,.badge{background:#fff0dc;color:#834800}.arrow{margin-left:auto;color:#547166;flex:none}.dashboard-columns,.details-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:17px;align-items:start}.details-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{margin-bottom:17px;overflow:hidden}.section-head{padding:17px 19px;border-bottom:1px solid var(--line);display:flex;gap:10px;justify-content:space-between;align-items:center}.section-head a,.quick-add{font-size:.83rem;font-weight:750}.quick-add{display:block;padding:14px 19px}.list-row{display:flex;align-items:center;gap:11px;padding:12px 18px;border-bottom:1px solid var(--line);color:#1d3127;min-height:62px}.list-row:last-child{border-bottom:0}.list-row:hover{background:#f6faf6}.row-text{min-width:0;overflow-wrap:anywhere}.row-text strong{display:block;font-size:.91rem}.row-text small{display:block;margin-top:3px}.empty,.inset{padding:15px 19px;margin:0;color:var(--muted);font-size:.92rem}.inset p:last-child{margin-bottom:0}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 21px}.page-head p{margin-bottom:0}.breadcrumb{font-size:.85rem;color:var(--muted);margin:0 0 12px}.grid-scroll{overflow-x:auto;padding:17px}.storage-grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(100px,1fr));gap:10px}.cell{display:flex;flex-direction:column;justify-content:center;min-height:95px;padding:10px 12px;border-radius:10px;background:#edf5ed;border:1px solid #dceade;overflow-wrap:anywhere}.cell strong{margin:4px 0;font-size:.94rem}.cell span,.cell small{font-size:.76rem}.cell:hover{background:#e1f0e0}.cell.vacant{background:#f8faf8;border:1px dashed #dce5dd;font-size:.85rem}
.facts{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(0,1fr);margin:0;padding:16px 19px;gap:11px;font-size:.9rem}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}.task{padding:14px 19px;border-bottom:1px solid var(--line)}.task p{font-size:.85rem;margin:6px 0;color:var(--muted)}details{margin-top:8px}summary{cursor:pointer;color:#285b48;font-size:.87rem}.badge{display:inline-block;padding:4px 7px;font-weight:750;font-size:.71rem;border-radius:7px}.photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.photos span{font-size:.78rem}.form-panel{max-width:690px;padding:22px}.form-panel p{margin:0 0 16px}.form-panel label{display:block;margin-bottom:5px;font-weight:700;font-size:.91rem}
input,select,textarea{width:100%;max-width:100%;background:#fafcfa;border:1px solid #ccdace;border-radius:8px;color:#192d23;padding:9px 11px;min-height:42px;font-size:1rem}textarea{height:90px;resize:vertical}.helptext{display:block;color:var(--muted);font-size:.75rem;margin-top:5px}.notice,.error,.errorlist{padding:11px 14px;margin:0 0 12px;background:#e5f2e6;border-radius:8px;color:#224c39;font-size:.89rem}.error,.errorlist{background:#fbe6e4;color:#84261d}.errorlist{padding-left:29px}.signin{max-width:510px;margin:8vh auto}.signin .brand{margin-left:0;margin-bottom:22px}.signin h1{margin-bottom:20px}.scanner{margin-top:16px}.scanner video{width:100%;max-width:420px;border-radius:10px;margin-top:10px}.camera-status{margin-top:8px!important}.label{max-width:350px;padding:18px;display:grid;justify-items:center;text-align:center;gap:5px}
@media(max-width:1000px){.sidebar{width:180px}.workspace{margin-left:180px}.content,.topbar{padding-left:20px;padding-right:20px}}
@media(max-width:740px){.sidebar{position:static;width:auto;padding:11px 13px 0;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{margin:0 0 9px}.sidebar nav{display:flex;overflow:auto;gap:3px}.sidebar nav a{padding:8px;font-size:.79rem;white-space:nowrap;gap:4px}.sidebar nav a span{width:16px}.account{position:absolute;top:12px;right:12px;border:0;padding:0}.workspace{margin-left:0}.topbar{height:55px}.content{padding:16px 13px 34px}.dashboard-columns,.details-columns{grid-template-columns:minmax(0,1fr);gap:0}.hero{min-height:0;padding:24px 19px}.stats{gap:6px}.stat{padding:9px;align-items:flex-start;gap:5px;font-size:.72rem;flex-direction:column}.stat .arrow{display:none}.stat strong{font-size:1.27rem}.stat .tile-icon{width:27px;height:27px}.section-head{padding:13px}.list-row{padding:9px 12px}.form-panel{padding:14px}.button{padding:8px 10px}.grid-scroll{padding:10px}.storage-grid{grid-template-columns:repeat(var(--columns),minmax(85px,1fr))}}
@media print{body *{visibility:hidden}.label,.label *{visibility:visible}.label{position:absolute;left:0;top:0;border:0;margin:0;padding:0}.label img{width:33mm;height:33mm}}

.mobile-nav, .mobile-brand, .mobile-account, .hero .mobile-hero-action { display: none; }
.move-options { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; margin-bottom: 18px; }
.move-options .scanner { margin: 0; display: contents; }
.move-options .scanner video:not([hidden]), .move-options .camera-status:not(:empty) { order: 1; flex: 0 0 100%; }
.camera-status:empty { display: none; }
.manual-scan { margin-top: 18px; }
.manual-scan form { margin-top: 14px; }

@media (max-width: 740px) {
  .sidebar { display: none; }
  .mobile-nav {
    display: grid;
    position: fixed;
    z-index: 10;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    inset: auto 0 0;
    gap: 2px;
    background: #fff;
    border-top: 1px solid var(--line);
    padding: 4px max(8px, env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    box-shadow: 0 -4px 18px #183c3210;
  }
  .mobile-nav a {
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 2px;
    border-radius: 12px;
    min-height: 55px;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 700;
  }
  .mobile-nav a span { font-size: 1.38rem; line-height: 1; }
  .mobile-nav a[aria-current] { background: #edf5ee; color: #214a3d; }
  .mobile-nav .nav-scan span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 30px;
    border-radius: 9px;
    color: #d8f69f;
    background: #214a3d;
  }
  .topbar {
    height: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: calc(11px + env(safe-area-inset-top)) 14px 10px;
  }
  .mobile-brand { display: flex; align-items: center; gap: 8px; font-weight: 800; }
  .mobile-brand .brand-icon { width: 33px; height: 33px; }
  .mobile-account { display: block; grid-row: 1; grid-column: 2; }
  .mobile-account .button { padding: 5px 9px; min-height: 42px; font-size: .75rem; }
  .topbar .searchbar { grid-column: 1 / -1; max-width: none; border: 1px solid var(--line); border-radius: 10px; background: #f6f8f5; padding: 0 9px; }
  .topbar > .button { display: none; }
  .workspace .content { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .hero { border-radius: 15px; }
  .hero .mobile-hero-action { display: inline-flex; background: transparent; border-color: #adc7b4; margin-left: 4px; }
  .button, .cell, .manual-scan summary { min-height: 44px; }
  .cell { min-height: 88px; }
  .item-actions { width: 100%; }
  .item-actions .button:first-child { flex: 1; }
  .primary-wide, .form-panel button[type=submit] { width: 100%; }
  .move-options > .button { flex: 1; }
  .manual-scan summary { display: list-item; align-content: center; }
}
