:root{--blue:#007aff;--green:#34c759;--red:#ff3b30;--gray:#8e8e93;--gray-light:#f2f2f7;--gray-mid:#e5e5ea;--text:#1c1c1e;--text-secondary:#6c6c70;--bg:#f2f2f7;--card-bg:#fff;--radius:12px;--shadow:0 1px 3px #00000014}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-container{justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{background:var(--card-bg);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow);padding:40px 32px}.login-header{text-align:center;margin-bottom:32px}.login-icon{margin-bottom:12px;font-size:56px;display:block}.login-header h1{font-size:24px;font-weight:700}.login-form{flex-direction:column;gap:12px;display:flex}.page{flex-direction:column;min-height:100dvh;display:flex}.page-header{background:var(--card-bg);border-bottom:1px solid var(--gray-mid);z-index:10;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.page-header h1{flex:1;font-size:18px;font-weight:700}.header-actions{align-items:center;gap:8px;display:flex}.page-content{flex:1;width:100%;max-width:600px;margin:0 auto;padding:16px}input,select{border:1.5px solid var(--gray-mid);border-radius:var(--radius);background:var(--card-bg);width:100%;color:var(--text);outline:none;padding:12px 14px;font-size:16px;transition:border-color .15s}input:focus,select:focus{border-color:var(--blue)}.btn-primary{background:var(--blue);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;width:100%;padding:14px;font-size:16px;font-weight:600;transition:opacity .15s}.btn-primary:disabled{opacity:.5;cursor:default}.btn-primary:not(:disabled):active{opacity:.8}.btn-secondary{background:var(--gray-light);width:100%;color:var(--blue);border-radius:var(--radius);cursor:pointer;border:none;padding:14px;font-size:16px;font-weight:600}.btn-text{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:8px;font-size:15px}.btn-icon{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;line-height:1;display:flex}.btn-back{color:var(--blue);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:17px}.error-text{color:var(--red);text-align:center;font-size:14px}.list-grid{flex-direction:column;gap:10px;display:flex}.list-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;align-items:center;transition:transform .1s;display:flex;overflow:hidden}.list-card:active{transform:scale(.98)}.list-card-color{flex-shrink:0;align-self:stretch;width:6px}.list-card-content{flex:1;padding:14px 12px}.list-card-content h2{font-size:16px;font-weight:600}.list-card-content p{color:var(--text-secondary);margin-top:2px;font-size:13px}.btn-delete{color:var(--gray);cursor:pointer;background:0 0;border:none;padding:16px 14px;font-size:14px}.btn-icon-small{color:var(--gray);cursor:pointer;background:0 0;border:none;padding:16px 10px;font-size:16px}.items-list{flex-direction:column;gap:8px;display:flex}.section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:4px 0 6px;font-size:13px;font-weight:600}.checked-title{color:var(--green)}.item-row{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:10px;padding:12px 14px;transition:opacity .2s;display:flex}.item-row.item-checked{opacity:.55}.item-check{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px}.checkmark{border:2px solid var(--gray-mid);border-radius:50%;width:24px;height:24px;transition:all .15s;display:block}.checkmark.checked{background:var(--green);border-color:var(--green);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12l5 5L19 7' stroke='white' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.item-name{flex:1;font-size:16px}.item-name-clickable{cursor:pointer;border-radius:4px;margin:-2px -4px;padding:2px 4px;transition:background .15s}.item-name-clickable:hover{background:var(--gray-light)}.item-name-clickable:active{background:var(--gray-mid)}.item-row.item-checked .item-name{color:var(--text-secondary);text-decoration:line-through}.detail-rows{border:1.5px solid var(--gray-mid);border-radius:var(--radius);flex-direction:column;gap:0;margin-top:4px;display:flex;overflow:hidden}.detail-row{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.detail-row+.detail-row{border-top:1px solid var(--gray-mid)}.detail-label{color:var(--text-secondary);flex-shrink:0;font-size:14px}.detail-value{text-align:right;font-size:14px;font-weight:500}.detail-user{align-items:center;gap:8px;display:flex}.detail-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:flex}.item-quantity{background:var(--gray-light);border-radius:8px;align-items:center;display:flex;overflow:hidden}.qty-btn{cursor:pointer;width:34px;height:34px;color:var(--blue);background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;display:flex}.qty-btn:disabled{color:var(--gray-mid);cursor:default}.qty-value{text-align:center;font-variant-numeric:tabular-nums;min-width:28px;font-size:15px;font-weight:600}.item-delete{color:var(--gray);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:8px 4px;font-size:13px}.modal-overlay{z-index:100;padding-bottom:env(safe-area-inset-bottom);background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--card-bg);border-radius:20px 20px 0 0;width:100%;max-width:600px;padding:24px 20px 32px}.modal h2{margin-bottom:20px;font-size:18px;font-weight:700}.modal-form{flex-direction:column;gap:12px;display:flex}.modal-actions{flex-direction:column;gap:8px;margin-top:4px;display:flex}.quantity-row{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.quantity-row label{font-size:16px}.qty-control{background:var(--gray-light);border-radius:8px;align-items:center;display:flex}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:60px 24px;display:flex}.empty-state span{font-size:48px}.empty-state p{color:var(--text-secondary);margin-bottom:8px;font-size:16px}.loading{color:var(--text-secondary);justify-content:center;padding:60px;display:flex}.session-banner{background:var(--gray-light);border-bottom:1px solid var(--gray-mid);align-items:center;gap:10px;padding:10px 16px;display:flex}.session-banner.session-active{background:#e8f8ed;border-bottom-color:#a8e6bc}.session-icon{font-size:18px}.session-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.session-text{color:var(--text-secondary);flex:1;font-size:14px}.session-text strong{color:var(--text)}.session-btn{border:1.5px solid var(--blue);color:var(--blue);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:5px 12px;font-size:13px;font-weight:600}.session-btn-start{background:var(--blue);color:#fff}.store-group{margin-bottom:16px}.store-group-label{text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:700}.store-options{flex-wrap:wrap;gap:8px;display:flex}.store-option-btn{border:1.5px solid var(--gray-mid);background:var(--gray-light);cursor:pointer;border-radius:20px;padding:10px 18px;font-size:15px;transition:all .15s}.store-option-btn:active{background:var(--blue);color:#fff;border-color:var(--blue)}.tab-bar{background:var(--card-bg);border-bottom:1px solid var(--gray-mid);padding:0 16px;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px 8px;font-size:15px;transition:all .15s}.tab-btn.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.admin-section{flex-direction:column;gap:12px;display:flex}.section-header{align-items:center;gap:12px;padding:4px 0;display:flex}.section-header h2{flex:1;font-size:18px;font-weight:700}.admin-form{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:16px;display:flex}.form-actions{flex-direction:column;gap:8px;margin-top:4px;display:flex}.admin-list{flex-direction:column;gap:8px;display:flex}.admin-row{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;padding:12px 14px;display:flex}.admin-row.clickable{cursor:pointer}.admin-row.clickable:active{opacity:.75}.admin-row-info{flex-direction:column;flex:1;gap:2px;display:flex}.admin-row-info strong{font-size:15px}.admin-row-info span{color:var(--text-secondary);font-size:13px}.row-arrow{color:var(--gray);font-size:18px}.user-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:700;display:flex}.category-dot{border-radius:50%;flex-shrink:0;width:14px;height:14px}.color-picker{align-items:center;gap:12px;display:flex}.color-label{color:var(--text-secondary);font-size:15px}.color-swatches{flex-wrap:wrap;gap:8px;display:flex}.color-swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:28px;height:28px;transition:transform .1s}.color-swatch.selected{box-shadow:0 0 0 2px var(--text);border-color:#fff;transform:scale(1.1)}.aisle-position{background:var(--gray-light);width:24px;height:24px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.aisle-controls{gap:4px;display:flex}.order-btn{background:var(--gray-light);cursor:pointer;width:30px;height:30px;color:var(--blue);border:none;border-radius:6px;font-size:14px}.order-btn:disabled{color:var(--gray-mid);cursor:default}.hint-text{color:var(--text-secondary);padding:4px 0;font-size:13px}.empty-hint{text-align:center;color:var(--text-secondary);padding:20px;font-size:14px}.btn-icon-gray{background:var(--gray-light)!important;color:var(--text)!important}
