:root{--accent: #1a5c38;--accent-light: #e4f0e9;--danger: #d64545;--amber: #c68640;--text-1: #1c1e21;--text-2: #6b7280;--border: rgba(0, 0, 0, .08);--card-bg: #ffffff;--tabbar-h: 60px}.app-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:calc(var(--tabbar-h) + 24px + env(safe-area-inset-bottom))}.crash-screen{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;color:var(--text-2)}.crash-screen .btn{width:auto;padding:12px 24px}.page{max-width:640px;margin:0 auto;padding:16px 16px 40px}.page-header h1{font-size:22px;margin:4px 0 2px}.page-header-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.page-header-row h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--text-2);font-size:14px}.load-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;text-align:center;color:var(--text-2)}.load-error .btn{width:auto;padding:10px 20px}.breadcrumb{font-size:13px;color:var(--text-2);margin-bottom:4px}.breadcrumb a{color:var(--text-2);text-decoration:none}.back-link{border:none;background:none;color:var(--accent);font-size:14px;padding:0;margin-bottom:6px}.section{margin-top:22px}.section-header{display:flex;align-items:center;justify-content:space-between}.section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);margin:0 0 8px}.btn-link{border:none;background:none;color:var(--accent);font-size:14px;font-weight:500}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.place-card,.item-card{position:relative;background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 2px #0000000a}.place-icon{font-size:24px}.place-name{font-size:14px;font-weight:500}.place-count{font-size:12px;color:var(--text-2)}.card-menu{position:absolute;top:6px;right:6px;border:none;background:#0000000a;border-radius:50%;width:26px;height:26px;font-size:14px;color:var(--text-2)}.item-thumb{width:100%;aspect-ratio:1;border-radius:10px;object-fit:cover;background:#f0f1f3}.item-thumb-placeholder{display:flex;align-items:center;justify-content:center;font-size:28px}.item-info{display:flex;flex-direction:column}.item-name{font-size:13px;font-weight:500}.item-qty{font-size:12px;color:var(--text-2)}.item-inside-hint{font-size:11px;color:var(--accent)}.tag-chips{display:flex;flex-wrap:wrap;gap:4px}.tag-chip{font-size:10.5px;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--accent-light);color:var(--accent);white-space:nowrap}.tag-chip-clickable{cursor:pointer}.consumable-list,.log-list,.search-results{display:flex;flex-direction:column;gap:8px}.consumable-row,.search-row{display:flex;align-items:center;gap:10px;background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:8px}.consumable-row.low{border-color:#d6454559;background:#d645450a}.consumable-thumb{width:44px;height:44px;border-radius:10px;object-fit:cover;background:#f0f1f3;flex-shrink:0}.consumable-thumb-placeholder{display:flex;align-items:center;justify-content:center;font-size:20px}.consumable-info,.search-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.consumable-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consumable-qty{font-size:13px;color:var(--text-2);display:flex;align-items:center;gap:6px}.consumable-location{font-size:12px;color:var(--text-2)}.low-badge{font-size:11px;color:var(--danger);background:#d645451a;padding:1px 6px;border-radius:6px}.consumable-actions{display:flex;align-items:center;gap:4px}.consumable-actions button:not(.card-menu){width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:#fafbfc;font-size:16px;color:var(--text-1)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);z-index:100}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--text-2);font-size:11px}.nav-item.active{color:var(--accent)}.nav-icon{font-size:20px}.btn{border:none;border-radius:12px;padding:12px 16px;font-size:15px;font-weight:500}.btn-primary{background:var(--accent);color:#fff;width:100%}.btn-primary:disabled{opacity:.5}.btn-ghost{background:#f0f1f3;color:var(--text-1)}.btn-danger{background:#d645451a;color:var(--danger)}.fab-secondary{display:block;margin:24px auto 0;border:1px dashed var(--border);border-radius:12px;background:none;padding:10px 16px;color:var(--text-2);font-size:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-end;z-index:200}.modal-sheet{background:#fff;width:100%;max-height:88vh;overflow-y:auto;border-radius:18px 18px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom))}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.modal-close{border:none;background:none;font-size:18px;color:var(--text-2)}.modal-message{color:var(--text-2);font-size:14px}.modal-actions{display:flex;gap:10px;margin-top:16px}.modal-actions .btn{flex:1}.form{display:flex;flex-direction:column;gap:12px;margin-top:8px}.form>.btn-primary:last-child{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));margin:8px -18px calc(-18px - env(safe-area-inset-bottom));padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-radius:0 0 18px 18px}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-2)}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text-1);font-family:inherit}.field-textarea{resize:vertical;min-height:44px}.field-row{display:flex;gap:10px}.field-row .field{flex:1}.field-checkbox{flex-direction:row!important;align-items:center;gap:8px}.field-checkbox input{width:18px;height:18px;flex-shrink:0}.field-checkbox span{color:var(--text-1);font-size:14px}.wardrobe-wrap{margin:4px 0 2px}.wardrobe-svg{width:100%;height:auto;display:block}.wardrobe-body{fill:var(--card-bg);stroke:var(--border);stroke-width:.6}.wardrobe-slot rect{fill:#fafbfc;stroke:var(--border);stroke-width:.5;cursor:pointer;transition:fill .15s}.wardrobe-slot.filled rect{fill:var(--accent-light);stroke:#1a5c3840}.wardrobe-slot:active rect{fill:#1a5c3829}.wardrobe-rod{stroke:var(--text-2);stroke-width:.6;opacity:.5}.wardrobe-label{font-size:4.6px;font-family:var(--ds-font-ui, inherit);font-weight:600;fill:var(--text-1);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.wardrobe-slot.empty .wardrobe-label{fill:var(--text-2);font-weight:500}.wardrobe-count{font-size:3.6px;fill:var(--accent);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.wardrobe-plus{font-size:5px;fill:var(--border);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.form-error{color:var(--danger);font-size:13px}.photo-field{display:flex;justify-content:center}.photo-add{border:1px dashed var(--border);border-radius:14px;padding:20px;color:var(--text-2);font-size:14px;width:100%;text-align:center}.photo-add input{display:none}.photo-preview{position:relative;width:140px;height:140px}.photo-preview img{width:100%;height:100%;object-fit:cover;border-radius:14px}.photo-remove{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;border:none;background:var(--danger);color:#fff}.search-input{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin:10px 0 4px;background:var(--card-bg)}.detail-photo{width:100%;max-height:220px;object-fit:cover;border-radius:14px;margin:10px 0}.quantity-hero{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:18px;text-align:center;margin-top:10px}.quantity-hero.low{border-color:#d6454559;background:#d645450a}.quantity-value{font-size:32px;font-weight:600;display:block}.quick-adjust{display:flex;gap:10px;margin-top:12px}.quick-adjust button{flex:1;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--card-bg);font-size:18px;font-weight:600}.custom-adjust{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.custom-adjust input{flex:1;min-width:100px;border:1px solid var(--border);border-radius:10px;padding:10px}.custom-adjust button{border:none;border-radius:10px;padding:10px 14px;background:var(--accent-light);color:var(--accent);font-weight:500}.log-row{display:flex;align-items:center;gap:10px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:13px}.log-delta{font-weight:600;min-width:36px}.log-delta.positive{color:var(--accent)}.log-delta.negative{color:var(--danger)}.log-note{flex:1;color:var(--text-2)}.log-date{color:var(--text-2);font-size:11px}.detail-footer-actions{display:flex;gap:10px;margin-top:24px}.detail-footer-actions .btn{flex:1}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f4f6f9;color:#1c1e21;-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit;font-size:16px}
