:root{--bg:#f3f6f2;--paper:#fff;--ink:#203b2c;--muted:#627468;--line:#d9e3d9;--brand:#245d43;--soft:#e5eee5;--error:#a43427;color-scheme:light}*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--brand);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a.button,summary{cursor:pointer}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bc8f35;outline-offset:3px}.app{max-width:1120px;margin:auto;min-height:100dvh}.app-header{padding:24px;display:flex;justify-content:space-between;gap:18px;background:#e4ede4;border-radius:0 0 20px 20px}.brand{text-decoration:none;display:flex;flex-direction:column;gap:8px}.eyebrow{font-size:12px;letter-spacing:1px;color:var(--muted)}.brand-title{font-size:26px;font-weight:500;color:var(--ink)}.account{position:relative;align-self:center;max-width:45%;overflow-wrap:anywhere}.account-menu{position:absolute;right:0;top:40px;min-width:240px;background:var(--paper);padding:16px;border:1px solid var(--line);box-shadow:0 8px 28px #203b2c22;border-radius:12px;z-index:10}.account-menu>a{display:block;padding:9px 0}.link-button{padding:8px 0;border:0;background:none;color:var(--brand)}.tabs{display:flex;gap:4px;padding:14px 20px;border-bottom:1px solid var(--line)}.tabs a{padding:10px 16px;border-radius:10px;text-decoration:none;color:var(--ink)}.tabs a[aria-current=page]{background:var(--brand);color:white}main{padding:24px 24px 110px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}h1{font-size:27px;font-weight:500;margin:0}h2{font-size:20px;font-weight:500;margin:8px 0 12px}p{margin:10px 0}small{font-size:12px;color:var(--muted)}.panel{background:var(--paper);border:1px solid var(--line);padding:20px;border-radius:20px;min-width:0;margin-bottom:16px}.narrow{max-width:650px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin:16px 0}.grid .panel{margin:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.category-choice{text-decoration:none;color:inherit;display:block}.category-choice:hover{border-color:var(--brand)}.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;min-height:46px;border:0;border-radius:11px;background:var(--soft);color:var(--brand);text-decoration:none;line-height:1.3}.button.primary{background:var(--brand);color:#fff}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:16px 0 0}.actions>label{margin:0}.muted,.path{color:var(--muted)}.path{font-size:13px;overflow-wrap:anywhere}.badge{display:inline-block;background:#f5e8c5;color:#715019;border-radius:7px;padding:4px 8px;font-size:13px}.holding-row{display:flex;gap:16px;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}.holding-row .path{display:block}.holding-row>span:last-child{text-align:right;min-width:80px}.holding-list{margin:14px 0}.stock-total{font-size:18px}label{display:block;font-size:14px;margin:12px 0}input:not([type=checkbox]):not([type=hidden]),select,textarea{display:block;width:100%;padding:12px;border:1px solid #b9cbbd;border-radius:9px;background:white;color:var(--ink);margin-top:5px;min-width:0;font-size:16px}input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin:0 7px 0 0}textarea{min-height:85px;resize:vertical}.helptext{display:block;font-size:13px;color:var(--muted);margin:4px 0}.error,.errorlist{color:var(--error)}.errorlist{padding-left:20px}.notice{padding:14px 18px;border-radius:12px;background:#dcece0;border:1px solid #bad3bf;margin-bottom:18px}.notice.error{background:#fbe9e5;border-color:#e6c2b9}.search-form{max-width:850px}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}.range{display:grid;grid-template-columns:1fr 1fr minmax(70px,.8fr);gap:7px}.filter>label{margin-bottom:0}.inline-form{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.inline-form label{margin:0}dl>div{padding:12px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted);font-size:13px}dd{margin:4px 0 0;overflow-wrap:anywhere}.history-row{padding:18px 0;border-bottom:1px solid var(--line)}.empty{padding:25px 0}.pagination{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:20px}.scan-fab{position:fixed;right:max(20px,calc((100vw - 1120px)/2 + 24px));bottom:max(22px,env(safe-area-inset-bottom));width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:white;box-shadow:0 5px 18px #173e2955;z-index:20}.scan-fab:hover{background:#174a32}footer{padding:16px 24px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}video{width:100%;max-height:430px;object-fit:cover;background:#14291e;border-radius:12px;display:block}.item-photo{width:100%;max-height:280px;object-fit:contain;border-radius:12px}.qr-label{display:flex;align-items:center;border:1px dashed var(--line);padding:3mm;gap:2mm;width:80mm;min-height:40mm;background:white;color:#000}.qr-label img{width:32mm;height:32mm}.qr-label strong{font-size:13px;overflow-wrap:anywhere}.qr-label p{font-size:12px;margin:4px 0}.label-sheet{margin-top:20px;overflow:auto}.label-58 .qr-label{width:58mm;height:40mm}.label-50 .qr-label{width:50mm;height:30mm}.label-50 .qr-label img{width:24mm;height:24mm}.label-50 .qr-label strong{font-size:11px}.label-50 .qr-label p{font-size:10px}.label-58 .qr-label img{width:28mm;height:28mm}
@media(max-width:600px){.app-header{padding:20px 16px;flex-wrap:wrap}.brand-title{font-size:23px}.account{max-width:100%;font-size:14px}.tabs{padding:10px 8px;gap:2px}.tabs a{flex:1;padding:10px 4px;text-align:center;font-size:14px}main{padding:20px 16px 110px}.page-heading{flex-wrap:wrap}h1{font-size:24px}.panel{padding:16px}.detail-grid{grid-template-columns:1fr;gap:0}.range{grid-template-columns:1fr 1fr 80px}.holding-row{flex-wrap:wrap;gap:5px}.holding-row>span:last-child{text-align:left}.account-menu{left:0;right:auto}.scan-fab{right:18px}}
@media print{@page{size:A4;margin:10mm}body,.app{background:white;min-height:0;margin:0}header,nav,footer,.no-print,.page-heading,.scan-fab,.notice{display:none!important}main{padding:0}.label-sheet{margin:0;overflow:visible}.qr-label{border:0;break-inside:avoid}.label-58 .qr-label,.label-50 .qr-label{padding:1mm}}

/* Shared rhythm between page actions, filters and content. */
.actions{gap:10px;margin:18px 0 24px}
.panel>.actions:last-child,.panel form>.actions:last-child{margin-bottom:0}
.page-heading{margin-bottom:24px}
main>.inline-form{margin-top:24px;margin-bottom:28px;gap:18px 24px;padding:20px 22px}
.inline-form label{display:inline-flex;align-items:center;gap:9px;min-height:44px}
.inline-form label input[type=checkbox]{margin:0;flex-shrink:0}
main>h2{margin:28px 0 18px}
.empty{padding:20px 0}
main>.grid:empty{display:none}
main>.grid:empty+h2{margin-top:28px}
@media(max-width:600px){.tabs{flex-wrap:wrap;gap:4px}.tabs a{flex:1 1 auto;font-size:13px;padding:10px 8px}.actions{gap:10px;margin-bottom:22px}main>.inline-form{padding:16px;gap:10px 18px}.inline-form label{width:100%}.inline-form .button{margin-top:4px}}
