*{box-sizing:border-box} :root{--ink:#1d2c32;--muted:#7d8a8f;--line:#e6ebed;--green:#147c70;--green-soft:#e8f4f1;--paper:#fff;--bg:#f4f6f7;--shadow:0 6px 20px rgba(26,48,58,.055)}
html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.app{width:min(100%,560px);min-height:100dvh;margin:0 auto;background:#f8f9fa;padding-bottom:calc(28px + env(safe-area-inset-bottom))}.app-header{padding:16px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:8px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:39px;height:39px;flex:0 0 39px;border-radius:12px;background:#e6f4f0;color:var(--green);display:grid;place-items:center;font-size:20px}.title{font-size:15px;font-weight:800;letter-spacing:-.3px}.subtitle{margin-top:3px;font-size:9px;color:var(--muted);letter-spacing:.7px;text-transform:uppercase}.account{display:flex;align-items:center;gap:7px;font-size:11px;color:#607077}.account form{margin:0}.logout{border:0;background:#f0f3f4;color:#506168;border-radius:8px;padding:8px 9px;font-size:11px;font-weight:700}main{padding:14px 13px 0}.search-wrap{display:block;position:relative;margin-bottom:10px}.search-icon{position:absolute;left:14px;top:8px;font-size:27px;line-height:28px;color:#859398}.search{width:100%;height:48px;padding:0 44px 0 42px;border:1px solid #e1e8ea;border-radius:12px;background:#fff;outline:none;font-size:13px;box-shadow:var(--shadow)}.search:focus,.field input:focus,.field select:focus{border-color:#80bcb3;box-shadow:0 0 0 3px #167c7012}.clear-search{display:none;position:absolute;right:9px;top:8px;width:32px;height:32px;border:0;border-radius:9px;background:#f0f3f4;color:#66767c;font-size:20px;line-height:1}.clear-search.visible{display:block}.top-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:12px}.button{height:44px;border:0;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:750}.button.primary{background:var(--green);color:#fff}.button.secondary{padding:0 12px;background:#e8f4f1;color:var(--green);border:1px solid #d7eae5}.admin-button{grid-column:1/-1;height:38px}.section-shortcuts{display:flex;gap:7px;padding:0 1px 12px;overflow:auto;scrollbar-width:none}.section-shortcuts::-webkit-scrollbar{display:none}.section-shortcuts a{flex:0 0 auto;min-width:49px;text-align:center;text-decoration:none;padding:9px 12px;border:1px solid #dfe7e8;border-radius:9px;background:#fff;color:#50636a;font-size:12px;font-weight:800}.card{background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden}.shelf{scroll-margin-top:112px}.shelf-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px;background:#fff;border-bottom:1px solid #edf0f1;list-style:none;cursor:pointer}.shelf-head::-webkit-details-marker{display:none}.shelf-name{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13px}.shelf-letter{width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:12px}.count{font-size:10px;color:#869398;background:#f1f4f5;border-radius:20px;padding:5px 8px;font-weight:700;white-space:nowrap}.chevron{font-size:18px;color:#869398;transition:transform .18s}details[open] .chevron{transform:rotate(180deg)}.product-list{padding:0 12px}.product{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #eff2f3;min-width:0}.product:last-child{border-bottom:0}.product-open{display:flex;align-items:center;gap:9px;flex:1;min-width:0;padding:2px 0;border:0;background:transparent;color:inherit;text-align:left}.product-thumb{width:42px;height:42px;flex:0 0 42px;border-radius:10px;background:#f1f4f4;color:#718187;display:grid;place-items:center;overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-thumb svg{width:21px;height:21px}.product-info{flex:1;min-width:0}.product-name{font-size:12px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.location{flex:0 0 auto;background:#f1f6f5;color:#356f67;border:1px solid #e3efec;border-radius:8px;padding:7px 8px;font-size:10px;font-weight:800;white-space:nowrap}.empty-shelf,.empty-search{padding:14px 0;color:#9aa5a9;font-size:11px}.empty-search{padding:16px;text-align:center}.search-card .shelf-head{cursor:default}.search-card .shelf-head strong{font-size:13px}.notice{padding:10px 12px;margin:0 0 12px;border-radius:10px;background:#f0f5f4;color:#48615f;font-size:12px;line-height:1.45}.notice.error{background:#fff0ef;color:#9f403b}.notice.success{background:#e8f4f1;color:#176f64}.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#193a3a;color:white;border-radius:10px;padding:11px 15px;font-size:12px;box-shadow:0 8px 22px #102d2d30;z-index:20;white-space:normal;width:max-content;max-width:calc(100% - 28px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
dialog{width:min(calc(100% - 24px),440px);max-height:min(88dvh,760px);padding:0;border:0;border-radius:17px;background:#fff;color:var(--ink);box-shadow:0 22px 70px #0e272d40;overflow:auto}dialog::backdrop{background:rgba(13,30,35,.48);backdrop-filter:blur(2px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:15px 17px 11px;border-bottom:1px solid #edf0f1}.modal-head h2{font-size:16px;margin:0;letter-spacing:-.2px}.close-btn{width:34px;height:34px;border:0;border-radius:9px;background:#f2f5f5;color:#627177;font-size:22px;line-height:1}.modal-body{padding:15px 17px 17px}.field{display:grid;gap:6px;min-width:0;margin-bottom:12px}.field label,.add-photo-label{font-size:11px;color:#66777d;font-weight:700}.field input,.field select{height:44px;width:100%;min-width:0;padding:0 11px;border:1px solid #dfe6e8;border-radius:10px;background:#fff;color:#24373e;outline:none;font-size:14px}.field input::placeholder{color:#a6b0b4}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.form-grid .field:last-child{grid-column:1/-1}.field-hint{font-size:10px;line-height:1.4;color:#89969a}.modal-submit{width:100%;height:45px;margin-top:4px;border:0;border-radius:10px;background:var(--green);color:#fff;font-size:14px;font-weight:750}.photo-area{margin:0 0 13px}.add-photo-label{display:block;margin:1px 0 7px}.add-photo-box{display:flex;align-items:center;gap:10px;margin:0 0 8px}.add-photo-preview{width:68px;height:68px;flex:0 0 68px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:#f0f4f3;color:#6f8085}.add-photo-preview svg{width:27px;height:27px}.add-photo-preview img{width:100%;height:100%;object-fit:cover}.photo-choices{display:grid;flex:1;grid-template-columns:1fr;gap:7px;margin:0}.photo-choice{height:40px;border:1px solid #d8e9e5;border-radius:9px;background:#eff7f5;color:#176f64;font-size:11px;font-weight:700}.detail-top{display:flex;align-items:center;gap:13px;margin-bottom:17px}.detail-photo{width:84px;height:84px;flex:0 0 84px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:#f0f4f3;color:#6f8085}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-photo svg{width:34px;height:34px}.detail-name{font-size:17px;font-weight:800;line-height:1.3;overflow-wrap:anywhere}.detail-caption{font-size:11px;color:var(--muted);margin-top:6px}.detail-location{display:inline-block;margin-top:8px;padding:7px 9px;border-radius:8px;background:#eaf4f1;color:#246d62;font-size:12px;font-weight:800}.detail-actions{display:grid;gap:9px}.edit-product{height:44px;border:1px solid #d8e9e5;border-radius:10px;background:#eff7f5;color:#176f64;font-size:13px;font-weight:750}.delete-product{height:42px;border:0;border-radius:10px;background:#fff3f1;color:#a9473e;font-size:12px;font-weight:700}.setup-page,.login-page{min-height:100dvh;display:grid;place-items:center;padding:20px 12px}.setup-card,.login-card{width:min(100%,430px);background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:23px 20px}.setup-card>.brand-mark,.login-card>.brand-mark{margin:0 auto 10px}.setup-card h1,.login-card h1{text-align:center;font-size:20px;margin:0 0 8px}.login-card .eyebrow{text-align:center;font-size:9px;letter-spacing:1px;color:var(--muted);margin:8px 0}.muted{text-align:center;color:var(--muted);font-size:12px;line-height:1.5;margin:0 0 17px}.setup-form,.login-form{display:grid;gap:11px}.setup-form h2{font-size:13px;margin:7px 0 0}.setup-form label,.login-form label{display:grid;gap:6px;font-size:11px;color:#66777d;font-weight:700}.setup-form input,.login-form input{height:43px;width:100%;padding:0 11px;border:1px solid #dfe6e8;border-radius:9px;background:#fff;color:#24373e;outline:none;font-size:14px}.setup-form small{font-size:10px;color:#89969a;font-weight:400}.setup-form .check-row{display:flex;align-items:center;gap:8px;font-weight:500}.setup-form .check-row input{width:18px;height:18px}.full{width:100%;margin-top:5px}.setup-warning{font-size:10px;line-height:1.5;color:#829095;text-align:center;margin:14px 0 0}.user-add{display:grid;gap:6px}.user-list{list-style:none;padding:0;margin:0}.user-list li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eff2f3;font-size:12px}.user-list small{color:#819096}.user-list+h3{font-size:13px}@media(min-width:561px){.app{box-shadow:0 0 40px rgba(22,44,54,.08)}.app-header{padding-left:21px;padding-right:21px}main{padding-left:18px;padding-right:18px}}@media(max-width:360px){main{padding-left:10px;padding-right:10px}.product-list{padding:0 10px}.product{gap:6px}.product-thumb{width:38px;height:38px;flex-basis:38px}.location{font-size:9px;padding:7px 6px}.modal-body{padding-left:14px;padding-right:14px}}
