:root{--bg:#f7f8fa;--panel:#fff;--ink:#222;--muted:#6b7280;--line:#e5e7eb;--brand:#c8202f;--brand-2:#9f1925;--charcoal:#3a3b3a;--good:#24764a;--warn:#a76300;--bad:#c8202f;--soft-bad:#fff1f2;--soft-warn:#fff7ed;--soft-good:#effaf3;--soft-red:#fff5f6;--shadow:0 10px 30px #0f172a12;--shadow-hover:0 16px 44px #0f172a1f;--radius:14px;--radius-sm:10px}*{box-sizing:border-box}html,body{touch-action:manipulation;max-width:100%;overflow-x:hidden}body{background:var(--bg);color:var(--ink);margin:0;font-family:Roboto,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit;touch-action:manipulation}button{background:var(--brand);color:#fff;letter-spacing:0;text-transform:none;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:.78rem 1rem;font-family:Roboto,sans-serif;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;display:inline-flex}button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #c8202f2e}button.secondary{color:var(--ink);border:1px solid var(--line);background:#f3f4f6}button.secondary:hover{box-shadow:0 10px 24px #0f172a14}button.ghost{color:var(--brand);border:1px solid var(--brand);background:0 0}button.good{background:var(--good)}button.warn{background:var(--warn)}button.bad{background:var(--bad)}button:disabled{opacity:.55;cursor:not-allowed}button.hidden{display:none}.icon{flex:none;width:18px;height:18px}.app-shell{width:min(100%,1320px);max-width:1320px;margin:0 auto;padding:28px 28px 36px}.topbar{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(135deg,#fff 0% 58%,#fff5f6 100%);gap:10px;margin-bottom:14px;padding:28px;display:grid}.brand h1{text-transform:uppercase;margin:0;font-family:Oswald,Roboto,sans-serif;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:600;line-height:1.05}.brand h1 span{color:var(--brand)}.eyebrow{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;font-family:Oswald,Roboto,sans-serif;font-size:.9rem;font-weight:600}.brand p{color:var(--muted);max-width:680px;margin:6px 0 0;font-size:1rem}.stats-panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;grid-template-columns:auto 1fr;align-items:center;gap:14px;margin-bottom:18px;padding:12px 14px;display:grid}.stats-panel-head{border-right:1px solid var(--line);align-items:center;gap:12px;min-width:190px;padding-right:14px;display:flex}.stats-panel-head h2{text-transform:uppercase;margin:0;font-family:Oswald,Roboto,sans-serif;font-size:1.35rem;line-height:1}.stats-panel-head .eyebrow{margin-bottom:3px;font-size:.72rem}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.metric{background:#f9fafb;border:1px solid #0000;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;min-width:0;padding:7px 9px;transition:background .18s,border-color .18s;display:grid}.metric:hover{background:var(--soft-red);border-color:#ffd9dd}.metric[data-stat-action]{cursor:pointer}.metric[data-stat-action]:focus-visible{border-color:#c8202f8c;outline:none;box-shadow:0 0 0 4px #c8202f1a}.metric-icon,.stat-icon{width:34px;height:34px;color:var(--brand);background:var(--soft-red);border:1px solid #ffd9dd;border-radius:12px;place-items:center;display:grid}.metric-icon .icon,.stat-icon .icon{width:18px;height:18px}.metric strong{color:var(--brand);grid-area:1/2;margin:0 0 4px;font-family:Oswald,Roboto,sans-serif;font-size:1.45rem;line-height:1;display:block}.metric span{color:var(--ink);grid-area:2/2;font-size:.75rem;font-weight:800}.metric small{color:var(--muted);grid-area:3/2;font-size:.72rem}.tabs{z-index:15;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);background:#ffffffe0;border-radius:999px;flex-wrap:nowrap;gap:8px;width:100%;margin-bottom:18px;padding:10px;display:flex;position:sticky;top:14px;transform:none;box-shadow:0 12px 34px #0f172a1a}.tabs button{min-width:0;color:var(--ink);box-shadow:none;background:0 0;border-radius:999px;flex:1 1 0;min-height:54px;padding:.72rem .8rem}.tabs button.active{background:var(--brand);color:#fff;box-shadow:0 10px 26px #c8202f38}.tabs button:not(.active):hover{background:#fff;box-shadow:0 8px 22px #0f172a14}.search-panel{justify-content:space-between;gap:10px;margin-bottom:12px;display:flex}.search-panel button{min-width:132px}.search-panel button:first-child{margin-right:auto}.category-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;margin:-2px 0 16px;padding:2px 2px 8px;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tabs button{min-height:42px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:999px;flex:none;padding:.65rem 1rem;box-shadow:0 8px 20px #0f172a0d}.category-tabs button.active{color:#fff;background:var(--brand);border-color:var(--brand);box-shadow:0 10px 24px #c8202f2e}.count-updated{color:var(--muted);align-items:center;gap:8px;margin:-8px 0 16px;font-size:.9rem;font-weight:700;display:inline-flex}.count-updated .icon{width:16px;height:16px}.toolbar{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;grid-template-columns:1.5fr repeat(3,minmax(140px,1fr));gap:14px;margin-bottom:20px;padding:18px;display:grid}.toolbar.manage{grid-template-columns:1.5fr repeat(3,minmax(140px,1fr));align-items:end}.field{gap:8px;display:grid}.search-field{position:relative}.field label{color:var(--muted);font-size:.82rem;font-weight:800}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;min-height:46px;padding:.78rem .9rem;transition:border-color .16s,box-shadow .16s,background .16s}input:focus,select:focus,textarea:focus{border-color:#c8202f8c;outline:none;box-shadow:0 0 0 4px #c8202f1a}input[type=checkbox]{width:auto;margin-right:8px}textarea{resize:vertical;min-height:92px}.search-suggestions{z-index:12;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}.search-suggestions.visible{display:grid}.search-suggestions button{min-height:46px;color:var(--ink);text-align:left;text-transform:none;letter-spacing:0;background:#fff;border-radius:0;justify-content:space-between;align-items:center;gap:12px;padding:.72rem .8rem;display:flex}.search-suggestions button:hover,.search-suggestions button:focus{background:#f9fafb}.search-suggestions small{color:var(--brand);font-family:Roboto,sans-serif;font-size:.76rem;font-weight:700}.grid{grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:18px;display:grid}.need-list{gap:10px;display:grid}.need-card{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:10px;padding:12px 14px;display:grid}.need-card.ordered,.need-card.staged{border-left-color:var(--good);background:var(--soft-good)}.need-card.staged{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding-block:10px}.need-card.staged .need-card-head{align-self:center}.need-card.staged .item-title{font-size:1.05rem}.need-card-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.need-numbers{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.need-numbers.collapsed{grid-template-columns:1fr}.order-amount-field{gap:5px;max-width:180px}.order-amount-field input{min-height:40px;padding:.55rem .7rem}.need-order-control{display:contents}.need-card.staged .need-order-control{grid-template-columns:minmax(96px,140px) auto;justify-content:end;align-items:end;gap:8px;display:grid}.need-card.staged .order-amount-field{max-width:none}.need-notes{color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.need-card-actions{justify-content:flex-end;display:flex}.need-card-actions button{min-width:126px;min-height:40px;padding:.58rem .9rem}.item-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);border-left:0;gap:14px;padding:18px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.item-card:hover{box-shadow:var(--shadow-hover);border-color:#c8202f38;transform:translateY(-2px)}.item-card.low{background:var(--soft-bad);border-color:#ffd9dd}.item-card.ordered{background:var(--soft-good);border-color:#ccebd8}.item-card.archived{opacity:.72}.item-photo{object-fit:contain;background:0 0;border:0;border-radius:12px;width:100%;height:clamp(160px,24vw,230px);padding:8px}.item-photo.placeholder{border:1px solid var(--line);color:var(--brand);background:#f4f5f7;place-items:center;padding:0;font-family:Oswald,Roboto,sans-serif;font-size:2rem;font-weight:800;display:grid}.card-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.item-title{text-transform:uppercase;margin:0;font-family:Oswald,Roboto,sans-serif;font-size:1.15rem;font-weight:600;line-height:1.22}.item-meta{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.pill{color:var(--muted);background:#f3f4f6;border-radius:999px;align-items:center;gap:4px;padding:.28rem .62rem;font-size:.78rem;font-weight:700;display:inline-flex}.pill.need{color:var(--bad);background:#ffe4e6}.pill.ordered{color:var(--good);background:#dcfce7}.numbers{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.number{border:1px solid var(--line);background:#ffffffb8;border-radius:12px;padding:7px 9px}.number span{color:var(--muted);font-size:.68rem;font-weight:700;display:block}.number strong{font-family:Oswald,Roboto,sans-serif;font-size:1rem}.item-card .numbers{border-top:1px solid var(--line);gap:0}.item-card .numbers+.numbers{border-top:0}.item-card .number{background:0 0;border:0;border-radius:0;min-width:0;padding:7px 8px 7px 0}.item-card .number span{letter-spacing:.02em;text-transform:uppercase;margin-bottom:2px;font-size:.66rem}.item-card .number strong{font-family:Roboto,sans-serif;font-size:.95rem;font-weight:800}.item-links{flex-wrap:wrap;gap:8px 12px;display:flex}.item-links a{color:var(--brand);font-size:.9rem;font-weight:800;text-decoration:none}.item-links a:hover{text-decoration:underline}.card-actions{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.card-actions.three{grid-template-columns:repeat(3,1fr)}.empty{background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center;box-shadow:var(--shadow);padding:34px}.empty.compact{box-shadow:none;padding:16px}.settings-page{gap:16px;display:grid}.settings-head,.order-history-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:18px}.settings-head h2,.order-history-head h3{text-transform:uppercase;margin:0;font-family:Oswald,Roboto,sans-serif}.order-history{gap:12px;display:grid}.order-history-card{gap:14px;display:grid}.order-history-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.order-history-head strong{color:var(--good);white-space:nowrap}.order-history-summary{justify-content:flex-end;align-items:center;gap:10px;display:flex}.order-history-summary button{min-height:38px;padding:.5rem .85rem}.order-history-summary .icon-button{width:38px;min-width:38px;padding:0}.order-history-items{gap:8px;display:grid}.order-history-items div{border-top:1px solid var(--line);gap:2px;padding:10px 0;display:grid}.order-history-items span{font-weight:800}.order-history-items small{color:var(--muted);font-weight:700}.count-list{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:0;display:grid;overflow:hidden}.count-sections{gap:18px;display:grid}.count-category-section{gap:10px;display:grid}.count-category-head{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.count-category-head h2,.count-category-head p{margin:0}.count-category-head h2{text-transform:uppercase;font-family:Oswald,Roboto,sans-serif;font-size:1.35rem;font-weight:600;line-height:1.1}.count-category-head>p{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:.88rem;font-weight:800;display:inline-flex}.count-category-head .icon{width:16px;height:16px}.count-row{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:minmax(260px,1fr) minmax(300px,420px);align-items:center;gap:14px;padding:14px 16px;transition:background .15s;display:grid;position:relative}.count-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.count-step-group{grid-template-columns:repeat(2,44px);gap:8px;display:grid}.count-step{min-width:0;min-height:44px;padding:0}.count-input-wrap{position:relative}.count-input-wrap input{text-align:center;padding-right:72px;font-weight:800}.count-input-wrap span{color:var(--muted);pointer-events:none;font-size:.78rem;font-weight:800;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.save-count{background:var(--good);grid-column:1/-1;justify-self:stretch}.save-count:hover{box-shadow:0 10px 24px #16a34a2e}.count-row:nth-child(2n):not(.count-header){background:#fbfbfc}.count-row:hover:not(.count-header){background:#fff5f6}.count-header{z-index:0;pointer-events:none;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#f9fafb;font-size:.78rem;font-weight:900;position:relative}.count-row.low{background:var(--soft-bad)}.count-card.counted{border-left:4px solid var(--good)}.count-complete-badge{color:#fff;background:var(--good);border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:none;position:absolute;top:10px;right:10px;box-shadow:0 10px 22px #16a34a38}.count-complete-badge .icon{width:16px;height:16px}.count-card.counted .count-complete-badge{display:inline-flex}.count-finish{justify-content:flex-end;margin-top:16px;display:flex}.count-finish button{min-width:min(100%,260px)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid .span{grid-column:1/-1}.photo-preview{aspect-ratio:4/3;border:1px solid var(--line);object-fit:cover;background:#f4f5f7;border-radius:12px;width:min(220px,100%)}.empty-photo{color:var(--muted);place-items:center;font-weight:700;display:grid}.link-row{grid-template-columns:.45fr 1fr auto;align-items:end;gap:10px;margin-bottom:10px;display:grid}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a73;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:min(760px,100%);max-height:min(92vh,900px);padding:22px;overflow:auto;box-shadow:0 24px 80px #0f172a47}.small-modal{width:min(460px,100%)}.category-manager-list{gap:10px;margin:18px 0;display:grid}.category-manager-row{border:1px solid var(--line);background:var(--panel);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.category-manager-row div{gap:2px;display:grid}.category-manager-row strong{font-weight:900}.category-manager-row small{color:var(--muted)}.category-manager-row .icon-button{width:40px;min-width:40px;padding:0}.category-manager-row .icon-button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.confirm-backdrop{z-index:25}.busy-backdrop{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:wait;background:#0f172a47;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.busy-card{text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-items:center;gap:10px;width:min(320px,100%);padding:24px;display:grid;box-shadow:0 24px 80px #0f172a47}.busy-card strong{text-transform:uppercase;font-family:Oswald,Roboto,sans-serif;font-size:1.35rem}.busy-card small{color:var(--muted)}.busy-spinner{border:4px solid var(--soft-red);border-top-color:var(--brand);border-radius:999px;width:38px;height:38px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.confirm-modal{text-align:left;gap:18px;display:grid}.confirm-modal .eyebrow{margin-bottom:6px}.confirm-modal h2{text-transform:uppercase;margin:0 0 8px;font-family:Oswald,Roboto,sans-serif;font-size:1.85rem;line-height:1.05}.confirm-modal p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.5}.confirm-icon{border-radius:16px;place-items:center;width:54px;height:54px;display:grid}.confirm-icon .icon{width:25px;height:25px}.confirm-icon.warning{color:var(--warn);background:var(--soft-warn);border:1px solid #fed7aa}.confirm-icon.danger{color:var(--bad);background:var(--soft-bad);border:1px solid #ffd9dd}.confirm-footer{justify-content:flex-end}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.modal-head h2{text-transform:uppercase;margin:0;font-family:Oswald,Roboto,sans-serif;font-size:1.8rem}.modal-footer{justify-content:space-between;gap:8px;margin-top:16px;display:flex}.footer-group{flex-wrap:wrap;gap:8px;display:flex}.toast{z-index:30;background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:12px;padding:14px 16px;position:fixed;bottom:18px;right:18px}.error{background:var(--soft-bad);color:var(--bad);border-radius:var(--radius);border:1px solid #ffd9dd;margin-bottom:16px;padding:14px 16px}@media (max-width:1100px){.toolbar.manage{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.app-shell{padding-bottom:116px}.topbar{display:grid}.tabs{top:auto;left:50%;right:auto;bottom:max(16px, env(safe-area-inset-bottom));width:min(100% - 32px,720px);margin-bottom:0;position:fixed;transform:translate(-50%);box-shadow:0 18px 50px #0f172a29}.stats-panel{grid-template-columns:1fr}.stats-panel-head{border-right:0;border-bottom:1px solid var(--line);min-width:0;padding-bottom:10px;padding-right:0}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.toolbar{grid-template-columns:1fr 1fr}.count-row{grid-template-columns:1fr minmax(300px,420px)}}@media (max-width:620px){.app-shell{padding:14px 14px 112px}.topbar{padding:20px}.tabs{gap:6px;width:calc(100% - 20px);padding:8px}.tabs button{flex-direction:column;gap:4px;min-height:58px;padding:.55rem .35rem;font-size:.78rem;line-height:1.05}.tabs button .icon{width:20px;height:20px}.search-panel{grid-template-columns:1fr;display:grid}.search-panel button{width:100%}.stats-panel{gap:10px;padding:10px}.stats-grid{gap:5px}.metric{text-align:center;min-width:0;padding:7px 4px;display:block}.stat-icon{display:none}.metric strong{margin-bottom:3px;font-size:1.05rem}.metric span{font-size:.66rem}.metric small{display:none}.toolbar,.toolbar.manage,.form-grid,.count-row{grid-template-columns:1fr}.need-card-head,.order-history-head{display:grid}.need-card.staged{grid-template-columns:1fr}.need-card.staged .need-order-control{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;width:100%}.order-history-summary{justify-content:space-between}.order-amount-field{width:100%;max-width:none}.need-card-actions button{width:auto}.need-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.count-header{display:none}.count-category-head{align-items:start;display:grid}.count-category-head>p{white-space:normal}.count-finish{display:grid}.count-finish button{width:100%}.card-actions,.card-actions.three,.link-row{grid-template-columns:1fr}.modal-footer{display:grid}}
