.shell{background:var(--color-bg);flex-direction:column;height:100dvh;min-height:0;display:flex}.shell-header{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.shell-content{min-height:0;padding-bottom:calc(var(--nav-height) + 60px);flex:1;overflow-y:auto}.shell-content--nav-hidden{flex-direction:column;padding-bottom:0;display:flex;overflow:hidden}.shell-nav{height:var(--nav-height);background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;position:fixed;bottom:0;left:0;right:0}.shell-nav button{color:var(--color-text-secondary);flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.shell-nav button.active{color:var(--color-primary);font-weight:600}.category-tabs{gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.category-tabs button{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);white-space:nowrap;font-size:14px}.category-tabs button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.product-grid{gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=600px){.product-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=900px){.product-grid{grid-template-columns:repeat(4,1fr)}}.product-card{padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;min-height:80px;display:flex}.product-card:active{transform:scale(.96)}.product-name{font-size:15px;font-weight:500}.product-price{color:var(--color-primary);margin-top:var(--spacing-xs);font-size:18px;font-weight:700}.cart-panel{bottom:var(--nav-height);background:var(--color-surface);border-top:2px solid var(--color-primary);box-shadow:var(--shadow-md);z-index:10;position:fixed;left:0;right:0}.cart-summary-bar{width:100%;padding:var(--spacing-md);justify-content:space-between;font-size:16px;font-weight:600;display:flex}.cart-detail{padding:0 var(--spacing-md) var(--spacing-md);max-height:50vh;overflow-y:auto}.cart-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);font-size:14px;display:flex}.qty-controls{align-items:center;gap:var(--spacing-sm);display:flex}.qty-controls button{background:var(--color-border);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.remove-btn{color:var(--color-danger);margin-left:auto;font-size:16px}.checkout-btn{width:100%;padding:var(--spacing-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);margin-top:var(--spacing-md);font-size:18px;font-weight:600}.checkout-btn:active{background:var(--color-primary-dark)}.cart-discount,.cart-note{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;display:flex}.cart-discount input,.cart-note input{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:1}.cart-total{padding:var(--spacing-sm) 0;text-align:right}.cart-total span,.cart-total strong{display:block}.payment-overlay{z-index:100;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.payment-dialog{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--spacing-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.payment-dialog h2{margin-bottom:var(--spacing-md);font-size:20px}.amount-due{margin-bottom:var(--spacing-lg);font-size:24px}.amount-due strong{color:var(--color-primary)}.payment-methods{gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);display:grid}.payment-method-btn{padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);font-size:16px;font-weight:500}.payment-method-btn:active{background:var(--color-primary);color:#fff}.denomination-btns{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.denomination-btns button{padding:var(--spacing-sm);background:var(--color-bg);border-radius:var(--radius-sm);flex:1;font-size:16px}.custom-received{margin-bottom:var(--spacing-md)}.custom-received input{width:100%;padding:var(--spacing-md);text-align:center;border:2px solid var(--color-primary);border-radius:var(--radius-md);font-size:24px}.change-display{text-align:center;margin:var(--spacing-md) 0;font-size:28px}.change-display strong{color:var(--color-success)}.confirm-text{color:var(--color-warning);text-align:center;padding:var(--spacing-lg) 0;font-size:18px}.cancel-btn{width:100%;padding:var(--spacing-md);color:var(--color-text-secondary);margin-top:var(--spacing-sm);font-size:16px}.success-view{padding:var(--spacing-xl);flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.success-icon{background:var(--color-success);color:#fff;width:80px;height:80px;margin-bottom:var(--spacing-lg);border-radius:50%;justify-content:center;align-items:center;font-size:48px;display:flex}.success-details{text-align:center;margin-bottom:var(--spacing-xl)}.success-details p{margin:var(--spacing-xs) 0;color:var(--color-text-secondary);font-size:16px}.page-loading{min-height:40vh;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.summary-page{padding:var(--spacing-md)}.summary-empty{min-height:40vh;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.summary-cards{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(3,1fr);display:grid}.summary-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-md);text-align:center;box-shadow:var(--shadow-sm)}.summary-label{color:var(--color-text-secondary);font-size:12px;display:block}.summary-value{font-size:24px;font-weight:700}.summary-section{margin-bottom:var(--spacing-lg)}.summary-section h3{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);font-size:14px}.summary-row{padding:var(--spacing-sm) 0;justify-content:space-between;font-size:15px;display:flex}.today-orders-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.today-order{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.today-order.cancelled{opacity:.72}.today-order-summary{align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-sm);text-align:left;grid-template-columns:1.35fr .7fr .8fr .7fr auto;font-size:13px;display:grid}.today-order-summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.today-order-detail{padding:0 var(--spacing-sm) var(--spacing-sm);border-top:1px solid var(--color-border);font-size:14px}.today-order-id{margin:var(--spacing-sm) 0;color:var(--color-text-secondary);word-break:break-all;font-size:12px}.today-order-items{gap:var(--spacing-xs);flex-direction:column;display:flex}.today-order-item{gap:var(--spacing-sm);grid-template-columns:1fr auto auto;align-items:baseline;display:grid}.today-order-totals{padding:var(--spacing-sm) 0;margin-top:var(--spacing-sm);border-top:1px solid var(--color-border);flex-direction:column;align-items:flex-end;gap:2px;display:flex}.today-order-detail>p{margin-top:var(--spacing-xs)}.today-order-detail .cancel-order-btn{margin-top:var(--spacing-sm);border:1px solid var(--color-danger);border-radius:var(--radius-sm)}.settings-page{padding:var(--spacing-md)}.settings-section{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm)}.settings-section h3{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:14px}.setting-row{align-items:center;gap:var(--spacing-md);display:flex}.setting-row label{white-space:nowrap;font-size:14px}.setting-row input{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:1}.order-row{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;font-size:14px;display:flex}.order-row.cancelled{opacity:.5;text-decoration:line-through}.order-id{margin-right:var(--spacing-sm);font-family:monospace}.cancel-order-btn{color:var(--color-danger);padding:var(--spacing-xs) var(--spacing-sm);font-size:13px}.cancelled-header{color:var(--color-text-secondary);margin-top:var(--spacing-md);font-size:13px}.empty-text{color:var(--color-text-secondary);font-size:14px}.activation-cta p{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:14px}.activate-btn{width:100%;padding:var(--spacing-md);background:var(--color-bg);color:var(--color-text-secondary);border-radius:var(--radius-md);font-size:16px}.login-page{justify-content:center;align-items:center;gap:var(--spacing-md);text-align:center;min-height:80vh;padding:var(--spacing-lg);flex-direction:column;display:flex}.login-page h1{font-size:28px}.google-sign-in-btn{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #747775;border-radius:22px;align-items:center;gap:10px;height:44px;padding:0 12px;font-family:Google Sans,Roboto,Arial,sans-serif;font-size:14px;font-weight:500;transition:background .2s;display:inline-flex}.google-sign-in-btn:hover{background:#f7f8f8}.google-sign-in-btn:active{background:#e8eaed}.google-sign-in-btn:disabled{opacity:.6;cursor:not-allowed}.google-g-logo{flex-shrink:0}.login-hint{color:var(--color-text-secondary);font-size:14px}.ledger-select-page{padding:var(--spacing-lg);max-width:480px;margin:0 auto}.ledger-select-page h2{margin-bottom:var(--spacing-lg)}.ledger-list{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.ledger-item{padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:left;font-size:16px}.ledger-item:active{background:var(--color-bg)}.ledger-create{margin-top:var(--spacing-lg)}.ledger-create h3{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-size:14px}.ledger-create input{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm)}.connect-drive-btn{width:100%;padding:var(--spacing-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:16px;font-weight:600}.activation-page{padding:var(--spacing-lg) var(--spacing-md);max-width:480px;margin:0 auto}.activation-page h1{margin-bottom:var(--spacing-sm);font-size:22px}.activation-page>p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:14px}.activation-form{gap:var(--spacing-sm);flex-direction:column;display:flex}.activation-form input{width:100%;padding:var(--spacing-md);text-align:center;letter-spacing:2px;text-transform:uppercase;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:20px}.activation-form input:focus{border-color:var(--color-primary);outline:none}.error-text{color:var(--color-danger);margin-top:var(--spacing-sm);text-align:center;font-size:14px}.purchase-links{text-align:center;margin-top:var(--spacing-xl)}.purchase-links p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-size:14px}.purchase-links a{color:var(--color-primary);font-weight:600}.sync-indicator{align-items:center;gap:var(--spacing-xs);font-size:12px;display:inline-flex}.reauth-overlay{z-index:300;padding:var(--spacing-md);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.reauth-dialog{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-xl) var(--spacing-lg);text-align:center;width:100%;max-width:360px;box-shadow:var(--shadow-md)}.reauth-dialog h3{margin-bottom:var(--spacing-sm);font-size:18px}.reauth-dialog p{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:14px}.reauth-dialog .google-sign-in-btn{width:100%;margin-bottom:var(--spacing-sm)}.reauth-dialog .cancel-btn{width:100%;font-size:14px}.account-sub{color:var(--color-text-secondary);word-break:break-all;font-family:monospace;font-size:13px}.logout-btn{width:100%;padding:var(--spacing-sm);color:var(--color-danger);margin-top:var(--spacing-sm);font-size:14px}.update-toast{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;z-index:200;justify-content:space-between;align-items:center;font-size:14px;display:flex;position:fixed;top:0;left:0;right:0}.update-toast button{padding:var(--spacing-xs) var(--spacing-md);color:#fff;border-radius:var(--radius-sm);background:#fff3;font-size:14px}.reconnect-banner{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-warning);color:#fff;z-index:200;font-size:13px;display:flex;position:fixed;top:0;left:0;right:0}.reconnect-btn{padding:var(--spacing-xs) var(--spacing-sm);color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#fff3;font-size:13px}.warning-text{color:var(--color-warning);font-size:13px}.backup-actions{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.backup-btn,.restore-btn{min-width:120px;padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;cursor:pointer;flex:1;font-size:14px}.backup-btn:active,.restore-btn:active{background:var(--color-border)}.restore-status{color:var(--color-text-secondary);margin-top:var(--spacing-sm);font-size:13px}.restore-progress{color:var(--color-warning);margin-top:var(--spacing-xs);font-size:13px}.restore-progress.done{color:var(--color-success)}.restore-progress.error{color:var(--color-danger)}.export-csv-btn{width:100%;padding:var(--spacing-sm);margin-top:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:14px}.ledger-name{font-size:15px;font-weight:500}.ledger-id{color:var(--color-text-secondary);font-family:monospace;font-size:13px}.sheet-link{color:var(--color-primary);font-size:14px;text-decoration:none}.sheet-links{flex-wrap:wrap}.sheet-help{color:var(--color-text-secondary);margin-top:var(--spacing-sm);font-size:13px}.switch-ledger-btn{width:100%;padding:var(--spacing-sm);margin-top:var(--spacing-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px}.switch-ledger-btn:disabled{opacity:.5;cursor:not-allowed}.restore-choice{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.restore-choice-btn{min-width:120px;padding:var(--spacing-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;flex:1;font-size:14px}.restore-choice-cancel{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px}.ledger-item.current{border-color:var(--color-primary)}.current-marker{color:var(--color-text-secondary);margin-left:var(--spacing-xs);font-size:12px}.product-management-page{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.pm-header{border-bottom:1px solid var(--color-border,#e0e0e0);background:var(--color-surface,#fff);flex-shrink:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.pm-header h2{flex:1;margin:0;font-size:18px}.pm-header-spacer{width:32px}.pm-back-btn{cursor:pointer;color:inherit;background:0 0;border:none;padding:4px 8px;font-size:20px}.pm-category-tabs{border-bottom:1px solid var(--color-border,#e0e0e0);background:var(--color-bg,#fafafa);flex-shrink:0;align-items:center;gap:6px;padding:10px 12px;display:flex;overflow-x:auto}.pm-category-filters{flex-shrink:0;gap:6px;display:flex}.pm-category-tabs button{white-space:nowrap;cursor:pointer;background:var(--color-border,#eee);color:inherit;border:none;border-radius:16px;padding:6px 14px;font-size:13px}.pm-category-tabs button.active{background:var(--color-primary,#4a90d9);color:#fff}.pm-product-list{flex-direction:column;flex:1;gap:6px;min-height:0;padding:8px 12px;display:flex;overflow-y:auto}.pm-product-item{background:var(--color-bg,#f8f9fa);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.pm-product-item.disabled{opacity:.5}.pm-product-item.pm-product-item.dragging{box-shadow:var(--shadow-md,0 4px 12px #0000001a)}.pm-drag-handle{border-radius:var(--radius-sm,6px);min-width:44px;min-height:44px;color:var(--color-text-secondary,#64748b);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;margin:-10px 0 -10px -12px;font-size:16px;line-height:1;display:flex}.pm-drag-handle:focus-visible{outline:2px solid var(--color-primary,#2563eb);outline-offset:2px}.pm-product-info{flex:1;min-width:0}.pm-product-name{font-size:14px;font-weight:600}.pm-product-meta{color:var(--color-text-secondary,#888);font-size:12px}.pm-product-badge{border-radius:10px;padding:2px 8px;font-size:11px}.pm-product-badge.enabled{color:#4a4;background:#e8f5e9}.pm-product-badge.disabled{color:#c44;background:#fde8e8}.pm-product-arrow{color:var(--color-text-secondary,#999);font-size:16px}.pm-add-area{padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));text-align:center;flex-shrink:0}.pm-add-btn{background:var(--color-primary,#4a90d9);color:#fff;cursor:pointer;border:none;border-radius:24px;align-items:center;gap:6px;padding:12px 24px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #4a90d94d}.pm-error{color:#c44;padding:8px 16px;font-size:13px}.pm-empty{text-align:center;color:var(--color-text-secondary,#999);padding:24px}.product-management-btn{background:var(--color-primary,#4a90d9);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:10px 16px;font-size:14px}.product-edit-form{flex-direction:column;height:100%;display:flex}.pef-fields{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.pef-label{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.pef-label input{border:1px solid var(--color-border,#ddd);border-radius:8px;padding:10px 12px;font-size:16px}.pef-toggle-row{flex-direction:row;justify-content:space-between;align-items:center}.pef-toggle{cursor:pointer;border:none;border-radius:14px;width:48px;height:28px;transition:background .2s;position:relative}.pef-toggle.on{background:#4a4}.pef-toggle.off{background:#ccc}.pef-toggle-thumb{background:#fff;border-radius:50%;width:22px;height:22px;transition:left .2s;position:absolute;top:3px}.pef-toggle.on .pef-toggle-thumb{left:23px}.pef-toggle.off .pef-toggle-thumb{left:3px}.pef-combobox{position:relative}.pef-combobox input{border:1px solid var(--color-border,#ddd);box-sizing:border-box;border-radius:8px;width:100%;padding:10px 12px;font-size:16px}.pef-dropdown{background:var(--color-surface,#fff);border:1px solid var(--color-border,#ddd);z-index:10;border-radius:8px;max-height:180px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.pef-dropdown-item{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 12px;font-size:14px;display:block}.pef-dropdown-item:hover{background:var(--color-bg,#f0f0f0)}.pef-actions{border-top:1px solid var(--color-border,#e0e0e0);gap:12px;padding:16px;display:flex}.pef-save-btn{background:var(--color-primary,#4a90d9);color:#fff;cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px;font-size:16px;font-weight:600}.pef-save-btn:disabled{opacity:.5;cursor:not-allowed}.pef-cancel-btn{background:var(--color-border,#eee);color:inherit;cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px;font-size:16px}.pef-danger-zone{border-top:1px solid var(--color-border,#e0e0e0);padding:16px}.pef-delete-btn{color:#c44;cursor:pointer;background:0 0;border:none;width:100%;padding:12px;font-size:14px}.pef-delete-confirm{flex-direction:column;gap:8px;display:flex}.pef-delete-confirm p{text-align:center;margin:0;font-size:14px}.pef-disable-btn{background:var(--color-border,#eee);cursor:pointer;border:none;border-radius:8px;padding:10px;font-size:14px}.pef-delete-confirm-btn{color:#fff;cursor:pointer;background:#c44;border:none;border-radius:8px;padding:10px;font-size:14px}.pef-delete-cancel-btn{color:var(--color-text-secondary,#999);cursor:pointer;background:0 0;border:none;padding:10px;font-size:14px}.pm-category-tabs .pm-category-manage-btn{background:var(--color-surface,#fff);border:1px dashed var(--color-border,#e2e8f0);color:var(--color-text-secondary,#64748b);z-index:1;flex-shrink:0;justify-content:center;align-items:center;min-height:44px;margin:-6px 0 -6px auto;display:flex;position:sticky;right:0}.cmd-overlay{z-index:100;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.cmd-dialog{background:var(--color-surface,#fff);border-radius:var(--radius-lg,16px) var(--radius-lg,16px) 0 0;padding:var(--spacing-lg,24px);flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex}.cmd-dialog h2{margin:0 0 var(--spacing-xs,4px);font-size:20px}.cmd-hint{color:var(--color-text-secondary,#64748b);margin:0 0 var(--spacing-md,16px);font-size:13px}.cmd-error{color:var(--color-danger,#dc2626);margin-bottom:var(--spacing-sm,8px);font-size:13px}.cmd-saving{color:var(--color-text-secondary,#64748b);margin-bottom:var(--spacing-sm,8px);font-size:13px}.cmd-list{gap:var(--spacing-xs,4px);flex-direction:column;flex:1;display:flex;overflow-y:auto}.cmd-item{align-items:center;gap:var(--spacing-sm,8px);padding:var(--spacing-sm,8px) var(--spacing-sm,8px);background:var(--color-bg,#f8fafc);border-radius:var(--radius-md,10px);display:flex}.cmd-item.dragging{box-shadow:var(--shadow-md,0 4px 12px #0000001a)}.cmd-drag-handle{--cmd-handle-bleed:calc(var(--spacing-sm,8px) * -1);min-width:44px;min-height:44px;margin:var(--cmd-handle-bleed) 0 var(--cmd-handle-bleed) var(--cmd-handle-bleed);border-radius:var(--radius-sm,6px);color:var(--color-text-secondary,#64748b);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}.cmd-drag-handle:focus-visible{outline:2px solid var(--color-primary,#2563eb);outline-offset:2px}.cmd-name{min-width:0;min-height:44px;padding:6px var(--spacing-xs,4px);text-align:left;color:inherit;flex:1;font-size:15px}.cmd-name:disabled{opacity:.5;cursor:default}.cmd-rename-input{min-width:0;min-height:44px;padding:6px var(--spacing-sm,8px);border:1px solid var(--color-primary,#2563eb);border-radius:var(--radius-sm,6px);flex:1;font-size:15px}.cmd-empty{text-align:center;color:var(--color-text-secondary,#64748b);padding:var(--spacing-lg,24px);margin:0}.cmd-close-btn{width:100%;padding:var(--spacing-md,16px);margin-top:var(--spacing-md,16px);background:var(--color-primary,#2563eb);color:#fff;border-radius:var(--radius-md,10px);flex-shrink:0;font-size:16px;font-weight:600}.cmd-close-btn:disabled{opacity:.5;cursor:not-allowed}.pm-batch-btn{padding:6px var(--spacing-sm,8px);min-height:44px;color:var(--color-primary,#2563eb);white-space:nowrap;flex-shrink:0;margin:-10px 0;font-size:14px;font-weight:600}.pm-batch-btn:disabled{opacity:.5;cursor:not-allowed}.pm-select-all{align-items:center;gap:var(--spacing-sm,8px);min-height:44px;padding:0 var(--spacing-md,16px);border-bottom:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);color:var(--color-text-secondary,#64748b);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:13px;display:flex}.pm-select-all input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-primary,#2563eb)}.pm-batch-check{border-radius:var(--radius-sm,6px);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:-10px 0 -10px -12px;display:flex}.pm-batch-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-primary,#2563eb)}.pm-product-item.selected{box-shadow:inset 0 0 0 2px var(--color-primary,#2563eb);background:#eff6ff}.pm-batch-actions{padding:var(--spacing-sm,8px) var(--spacing-md,16px) calc(var(--spacing-md,16px) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);flex-shrink:0;box-shadow:0 -2px 8px #00000014}.pm-batch-saving{margin:0 0 var(--spacing-xs,4px);color:var(--color-text-secondary,#64748b);text-align:center;font-size:13px}.pm-batch-actions-row{gap:var(--spacing-sm,8px);display:flex}.pm-batch-actions button{min-height:44px;padding:var(--spacing-sm,8px);border-radius:var(--radius-md,10px);background:var(--color-bg,#f8fafc);border:1px solid var(--color-border,#e2e8f0);color:var(--color-text,#1e293b);flex:1;font-size:14px;font-weight:600}.pm-batch-actions .pm-batch-danger{color:var(--color-danger,#dc2626);border-color:var(--color-danger,#dc2626)}.pm-batch-actions button:disabled{opacity:.5;cursor:not-allowed}.pm-cat-option{justify-content:space-between;align-items:center;gap:var(--spacing-sm,8px);min-height:44px;padding:var(--spacing-sm,8px) var(--spacing-md,16px);border-radius:var(--radius-md,10px);background:var(--color-bg,#f8fafc);color:inherit;text-align:left;flex-shrink:0;font-size:15px;display:flex}.pm-cat-option-tag{color:var(--color-text-secondary,#64748b);flex-shrink:0;font-size:12px}.pm-cat-option:disabled{opacity:.5;cursor:not-allowed}.pm-cat-new{gap:var(--spacing-sm,8px);margin-top:var(--spacing-md,16px);flex-shrink:0;display:flex}.pm-cat-new input{min-width:0;min-height:44px;padding:var(--spacing-sm,8px) var(--spacing-sm,8px);border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-sm,6px);flex:1;font-size:16px}.pm-cat-new-btn{min-height:44px;padding:0 var(--spacing-md,16px);border-radius:var(--radius-md,10px);background:var(--color-primary,#2563eb);color:#fff;flex-shrink:0;font-size:15px;font-weight:600}.pm-cat-new-btn:disabled{opacity:.5;cursor:not-allowed}.pm-cat-cancel-btn{width:100%;min-height:44px;margin-top:var(--spacing-sm,8px);color:var(--color-text-secondary,#64748b);flex-shrink:0;font-size:15px}.pm-cat-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.pm-batch-delete-options{gap:var(--spacing-sm,8px);margin-top:var(--spacing-sm,8px);flex-direction:column;display:flex}.pm-batch-disable-btn{min-height:44px;padding:var(--spacing-sm,8px);border-radius:var(--radius-md,10px);background:var(--color-primary,#2563eb);color:#fff;font-size:15px;font-weight:600}.pm-batch-delete-btn{min-height:44px;padding:var(--spacing-sm,8px);border-radius:var(--radius-md,10px);background:var(--color-surface,#fff);border:1px solid var(--color-danger,#dc2626);color:var(--color-danger,#dc2626);font-size:15px;font-weight:600}.pm-batch-cancel-btn{min-height:44px;color:var(--color-text-secondary,#64748b);font-size:15px}.pm-batch-delete-options button:disabled{opacity:.5;cursor:not-allowed}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}button{font:inherit;cursor:pointer;background:0 0;border:none}input{font:inherit}:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-success:#16a34a;--color-danger:#dc2626;--color-warning:#d97706;--color-bg:#f8fafc;--color-surface:#fff;--color-text:#1e293b;--color-text-secondary:#64748b;--color-border:#e2e8f0;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 12px #0000001a;--nav-height:56px;--header-height:48px}
