@font-face{font-family:InventoryJP;src:url("vendor/NotoSansJP-Regular.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
:root{--green:#167553;--ink:#203a33;--bs-success-rgb:22,117,83}body{background:#f4f7f5;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",InventoryJP,sans-serif;font-size:14px}.app-width{max-width:1440px;padding-left:32px;padding-right:32px}.app-header{background:white;border-bottom:1px solid #dce5df}.brand-row{display:flex;align-items:center;justify-content:space-between;height:78px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:23px;font-weight:750;letter-spacing:.07em}.brand-mark{display:grid;place-items:center;background:var(--green);color:white;border-radius:10px;width:36px;height:36px;font-size:25px}.brand-sub{font-size:12px;color:#788b80;letter-spacing:0;margin-left:6px;font-weight:400}.user-label{font-size:13px;color:#6c7d74}.top-tabs{flex-wrap:nowrap;overflow-x:auto;border:0;gap:8px}.top-tabs .nav-link{white-space:nowrap;border:0;border-bottom:3px solid transparent;border-radius:0;color:#63796d;padding:14px 18px}.top-tabs .nav-link.active{color:var(--green);border-bottom-color:var(--green);font-weight:700;background:transparent}.top-tabs .nav-link:hover{background:#f1f7f3}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:5px 0 25px;gap:15px}.eyebrow{font-size:10px;color:#719083;letter-spacing:.15em;font-weight:700}h1{font-size:27px;font-weight:700;margin:5px 0 0}.card{border:1px solid #e0e8e2;border-radius:12px;box-shadow:0 2px 5px #163e2404}.card-body{padding:24px}.metric{padding:22px 26px;border-left:4px solid #d6aa42;gap:4px;transition:box-shadow .15s}.metric:hover,.metric.selected{box-shadow:0 0 0 2px #adc5b5}.metric-label{color:#61756a;font-size:13px}.metric strong{font-size:38px;color:#aa7822;line-height:1.4;font-weight:650}.metric-unit{margin-left:8px;color:#8a9a91}.list-toolbar{display:flex;justify-content:space-between;gap:18px}.search-controls{display:flex;gap:10px;flex:1;max-width:750px}.search-controls input{min-width:150px}.search-controls select{width:190px;flex-shrink:0}.form-control,.form-select{border-color:#d6e0d9;border-radius:7px;font-size:14px}.form-control:focus,.form-select:focus{border-color:#71a78a;box-shadow:0 0 0 .2rem #16755318}.btn-success{--bs-btn-bg:#167553;--bs-btn-border-color:#167553;--bs-btn-hover-bg:#115d41;--bs-btn-hover-border-color:#115d41;--bs-btn-active-bg:#0c4a34}.btn-outline-success{--bs-btn-color:#167553;--bs-btn-border-color:#167553;--bs-btn-hover-bg:#167553;--bs-btn-hover-border-color:#167553}.btn{font-size:14px;border-radius:7px}.btn-outline-secondary{--bs-btn-color:#62786a;--bs-btn-border-color:#cedbd2;--bs-btn-hover-bg:#eef3f0;--bs-btn-hover-color:#244735;--bs-btn-hover-border-color:#abc2b4}.file-icon{display:inline-grid;place-items:center;border:1.5px solid currentColor;border-radius:2px;font-size:9px;font-weight:800;width:22px;height:24px}.excel-icon{color:#167553;font-size:16px}.pdf-icon{color:#b74f48}.export-buttons .btn{padding:7px 12px}.area-heading{font-size:16px;font-weight:700;padding:19px 0 11px;border-top:1px solid #e3eae5;margin-top:10px}.category-heading{font-size:12px;font-weight:600;color:#6e8477;background:#f0f5f2;padding:9px 13px;margin-bottom:0;border-radius:6px 6px 0 0}.inventory-table{min-width:800px;font-size:13px;margin-bottom:20px;table-layout:fixed}.inventory-table th{font-size:11px;color:#7b8b81;font-weight:600;background:#fafcfb}.inventory-table td,.inventory-table th{padding:12px 10px;vertical-align:middle;border-color:#edf1ee}.inventory-table th:nth-child(1),.inventory-table th:last-child{width:68px}.inventory-table th:nth-child(3),.inventory-table th:nth-child(4){width:85px}.inventory-table th:nth-child(5){width:120px}.inventory-table th:nth-child(2){width:22%}.inventory-table td{overflow-wrap:anywhere}.inventory-row{cursor:pointer;transition:filter .15s}.inventory-row:hover{filter:brightness(.95)}.inventory-row.warning td{background-color:#fff1bf}.inventory-row.blinking td{animation:warningPulse 1.8s ease-in-out infinite}.inventory-row:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.warning-text{display:block;font-size:10px;color:#936718;margin-top:4px}.note-cell{white-space:pre-wrap}.floating-add{position:fixed;bottom:calc(25px + env(safe-area-inset-bottom));right:28px;z-index:1020;padding:14px 23px;border-radius:50px;font-weight:600}.inventory-card{margin-bottom:90px}.quantity-buttons{display:flex;gap:4px}.quantity-buttons .btn{flex:1;padding:5px 0;font-size:12px}.modal-header,.modal-footer{border-color:#e9eeeb}.modal-content{border:0;border-radius:14px}.modal-header,.modal-body,.modal-footer{padding:20px 24px}.modal-title{font-weight:650}.app-notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;z-index:2000;box-shadow:0 4px 25px #0002}.login-wrap{min-height:70vh;display:flex;align-items:center;justify-content:center}.login-card{width:100%;max-width:460px}.login-card .form-control-lg{font-size:16px}.search-input{max-width:500px}.user-table,.history-table{min-width:600px}.table th{color:#6c8174;font-weight:600}.user-disabled td{background:#f4f4f4;color:#7a7a7a}.admin-badge{background:#e0f1e7;color:#167553}.event-create td{background:#edf9f1;color:#176d42}.event-increase td{background:#eff5ff;color:#245aaa}.event-delete td{background:#fff1f0;color:#a43a36}.history-description{white-space:pre-wrap;overflow-wrap:anywhere;min-width:300px}.history-table th:nth-child(1){width:150px}.history-table th:nth-child(2){width:180px}.pagination{flex-wrap:wrap}.empty-state{padding:50px 20px;text-align:center;color:#7a8b81}@keyframes warningPulse{0%,100%{background-color:#fff1bf}50%{background-color:#ffdb72}}@media(prefers-reduced-motion:reduce){.inventory-row.blinking td{animation:none;background:#ffe19a}}@media(max-width:767px){.app-width{padding-left:16px;padding-right:16px}.brand-row{height:64px}.brand{font-size:20px}.brand-sub{display:none}.top-tabs{gap:0}.top-tabs .nav-link{padding:12px 13px;font-size:12px}.page-heading{margin-bottom:18px}h1{font-size:23px}.card-body{padding:15px}.metric{padding:15px 13px}.metric-label{font-size:11px}.metric strong{font-size:31px}.metric .small{font-size:10px}.list-toolbar{flex-wrap:wrap}.search-controls{flex-basis:100%;flex-wrap:wrap}.search-controls input{flex-basis:100%}.search-controls select{width:100%}.floating-add{right:16px;bottom:calc(18px + env(safe-area-inset-bottom));padding:12px 20px}.modal-body,.modal-header,.modal-footer{padding:17px}.modal-footer .btn{font-size:13px}.user-label{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media print{.app-header,.list-toolbar,.floating-add,.metric,.modal,.app-notice{display:none!important}.inventory-table{min-width:0}.inventory-table button{display:none}.card{border:0;box-shadow:none}body{background:white}.inventory-row.blinking td{animation:none}}
/* Category → storage location → product → item */
.hierarchy-group{border:1px solid #e1e9e4;border-radius:9px;margin:12px 0;background:#fff}.hierarchy-group>summary{cursor:pointer;padding:15px 18px;list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:15px;font-weight:650;background:#edf5f0;border-radius:9px}.hierarchy-group>summary::-webkit-details-marker{display:none}.hierarchy-group>summary::before{content:'›';font-size:23px;line-height:1;display:inline-block;width:16px;transition:transform .15s}.hierarchy-group[open]>summary::before{transform:rotate(90deg)}.hierarchy-group>summary:hover{filter:brightness(.97)}.hierarchy-group>summary:focus-visible{outline:2px solid #167553;outline-offset:-2px}.hierarchy-body{padding:5px 16px 12px}.location-group>summary{background:#f5f7f6;font-size:14px;padding:12px 14px}.product-heading{font-size:14px;font-weight:650;margin:18px 0 8px;padding-left:10px;border-left:3px solid #a7c8b7}.product-section+.product-section{border-top:1px solid #e6ece8}.warning-count{background:#fff0bd;color:#8b621d}.product-settings-table{min-width:600px}.list-filters .form-label{color:#667f71;margin-bottom:5px}@media(max-width:767px){.hierarchy-body{padding:3px 8px 8px}.hierarchy-group>summary{padding:13px 12px}.list-filters .col-sm-2{margin-top:10px}}@media print{.hierarchy-group{border:0}.hierarchy-group>.hierarchy-body{display:block!important}}
