@import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&display=swap");.drawer-backdrop{align-items:center;background:rgba(18,19,27,.62);display:flex;justify-content:center;inset:0;padding:18px;position:fixed;z-index:20}.drawer-frame{display:flex;flex-direction:column;gap:18px;height:calc(100vh - 36px);max-width:900px;overflow:auto;padding:18px;width:min(900px,100%)}.drawer-header,.section-title{align-items:center;display:flex;gap:12px;justify-content:space-between}.section-actions{align-items:center;display:flex;gap:10px}.drawer-header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.drawer-form-message{margin:8px 0 0}.drawer-header{background:var(--panel);border-bottom:1px solid var(--line);padding-bottom:14px;position:-webkit-sticky;position:sticky;top:-18px;z-index:2}.drawer-header h2,.section-title h3{margin:0}.product-drawer-header{background:linear-gradient(135deg,rgba(139,233,253,.1),rgba(80,250,123,.04)),var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;top:-12px}.drawer-product-title{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:64px minmax(0,1fr);min-width:0}.drawer-product-thumb{align-items:center;background:var(--image-bg);border:1px solid rgba(139,233,253,.26);border-radius:8px;color:var(--brand);display:flex;font-weight:900;height:64px;justify-content:center;overflow:hidden;width:64px}.drawer-product-thumb img{height:100%;object-fit:cover;width:100%}.drawer-product-copy{display:grid;grid-gap:7px;gap:7px;min-width:0}.drawer-product-copy h2{font-size:1.35rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-meta-row,.drawer-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.drawer-meta-row span,.drawer-mode-pill,.drawer-status-pill{align-items:center;border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:800;min-height:26px;padding:0 9px}.drawer-mode-pill{background:rgba(139,233,253,.14);border-color:rgba(139,233,253,.34);color:var(--brand)}.drawer-status-pill.danger{background:rgba(255,85,85,.12);border-color:rgba(255,85,85,.34);color:var(--danger)}.drawer-meta-row span{background:hsla(0,0%,100%,.04);color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-tabs{background:var(--table-head);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px;position:-webkit-sticky;position:sticky;top:104px;z-index:2}.drawer-tabs button{background:transparent;border:1px solid transparent;border-radius:8px;color:var(--muted);cursor:pointer;font-weight:700;min-height:40px;padding:8px 10px}.drawer-tabs button:hover{border-color:rgba(189,147,249,.45);color:var(--accent)}.drawer-tabs button.active{background:rgba(139,233,253,.16);border-color:rgba(139,233,253,.55);color:var(--brand)}.drawer-section,.product-form{display:grid;grid-gap:12px;gap:12px}.drawer-section{border-top:0;padding-top:0}.form-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-actions{justify-content:flex-start}.file-drop{background:var(--panel-soft);border:1px dashed var(--brand);border-radius:8px;color:var(--brand);padding:14px}.file-drop input{margin-top:8px}.photo-drop{align-items:center;background:linear-gradient(135deg,rgba(139,233,253,.08),rgba(189,147,249,.08)),var(--panel-soft);border:1px dashed rgba(139,233,253,.72);border-radius:8px;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:0;padding:18px;text-align:center;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.photo-drop:hover{border-color:var(--accent);box-shadow:0 0 0 3px rgba(189,147,249,.14);transform:translateY(-1px)}.photo-drop input{display:none}.photo-plus{align-items:center;background:var(--brand);border-radius:999px;color:#191a21;display:inline-flex;font-size:1.8rem;font-weight:700;height:48px;justify-content:center;line-height:1;width:48px}.photo-drop small,.photo-drop strong{display:block}.photo-drop small{color:var(--muted);margin-top:4px}.image-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.image-grid img,.image-tile,.photo-drop,.search-preview{aspect-ratio:1;width:100%}.image-tile{position:relative}.image-preview-button{background:transparent;border:0;border-radius:8px;cursor:zoom-in;height:100%;overflow:hidden;padding:0;width:100%}.image-preview-button:hover img{transform:scale(1.04)}.image-preview-button img,.image-tile img{height:100%;object-fit:cover;transition:transform .16s ease;width:100%}.image-remove-button{background:rgba(31,33,43,.86);height:34px;min-height:34px;position:absolute;right:6px;top:6px;width:34px}.image-preview-backdrop{background:rgba(18,19,27,.82);inset:0;padding:24px;position:fixed;z-index:35}.image-preview-backdrop,.image-preview-frame{align-items:center;display:flex;justify-content:center}.image-preview-frame{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.44);max-height:calc(100vh - 48px);max-width:min(920px,calc(100vw - 48px));padding:12px;position:relative}.image-preview-frame img{border-radius:8px;max-height:calc(100vh - 96px);max-width:100%;object-fit:contain}.image-preview-close{background:rgba(31,33,43,.9);position:absolute;right:10px;top:10px}hr{border:0;border-top:1px solid var(--line);margin:8px 0}.matches,.movement-panel{overflow-x:auto;overflow-y:hidden}.match-item,.matches,.movement-panel{border:1px solid var(--line);border-radius:8px}.match-item{align-items:center;background:var(--panel-soft);color:var(--ink);display:grid;grid-gap:10px;gap:10px;grid-template-columns:48px minmax(0,1fr);padding:8px;text-align:left;width:100%}.match-item img{height:48px;width:48px}.stock-pill{background:rgba(80,250,123,.16);border-radius:999px;color:var(--success);padding:6px 10px}.stock-form{align-items:stretch;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.movement-grid{align-items:center;display:grid;grid-column-gap:14px;column-gap:14px;grid-template-columns:minmax(210px,1fr) 88px 66px minmax(150px,.8fr) 185px minmax(130px,.8fr);min-width:980px;padding:10px 12px}.movement-grid-head{background:var(--table-head);color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.movement-row{background:var(--panel-soft);border-top:1px solid var(--line)}.movement-target{display:grid;grid-gap:2px;gap:2px;min-width:0}.movement-note,.movement-target small,.movement-target strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movement-date,.movement-expense,.movement-note,.movement-target small{color:var(--muted)}.movement-expense{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movement-type{border:1px solid var(--line);border-radius:999px;font-size:.78rem;font-weight:800;justify-self:center;min-width:76px;padding:5px 9px;text-align:center}.movement-type-in{background:rgba(80,250,123,.14);border-color:rgba(80,250,123,.35);color:var(--success)}.movement-type-out{background:rgba(255,85,85,.12);border-color:rgba(255,85,85,.32);color:var(--danger)}.movement-type-adjust{background:rgba(255,184,108,.14);border-color:rgba(255,184,108,.35);color:var(--warn)}.movement-quantity{justify-self:end}.movement-date,.movement-quantity{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.movement-date{white-space:nowrap}.movement-quantity-in{color:var(--success)}.movement-quantity-out{color:var(--danger)}.movement-quantity-adjust{color:var(--warn)}.movement-empty{border-top:1px solid var(--line);margin:0;padding:14px}.variant-form{display:grid;align-items:start;grid-column-gap:12px;column-gap:12px;grid-row-gap:10px;row-gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.variant-form label{grid-template-rows:auto 42px auto}.variant-form label:not(:has(.field-hint)):after{content:"";min-height:.975rem}.product-status-check,.variant-check,.variant-form .actions{grid-column:1/-1}.variant-list{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:0;gap:0;overflow-x:auto;overflow-y:hidden}.variant-grid{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(92px,.75fr) minmax(106px,1fr) 72px minmax(264px,1.5fr) 84px;min-width:0;padding:10px 12px}.variant-grid-head{background:var(--table-head);color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.variant-grid-head span:nth-child(n+3){text-align:center}.variant-row{background:var(--panel-soft);border-top:1px solid var(--line)}.variant-row:hover{background:#3a3d4d}.variant-description,.variant-row>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variant-description{color:var(--muted)}.variant-stock-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;text-align:center}.variant-stock-adjuster{align-items:center;display:grid;grid-gap:5px;gap:5px;grid-template-columns:48px minmax(136px,1fr) 32px 32px;min-width:0}.variant-stock-adjuster input,.variant-stock-adjuster select{height:34px;min-height:34px}.variant-stock-adjuster input{padding:0 8px;text-align:center}.variant-stock-adjuster select{background-image:var(--select-arrow);background-position:right 8px center;background-size:16px 16px;font-size:.82rem;min-width:0;padding-left:9px;padding-right:26px}.variant-stock-adjuster .icon-button{height:32px;min-height:32px;width:32px}.stock-in-button{background:rgba(80,250,123,.16);border-color:rgba(80,250,123,.32);color:var(--success)}.stock-out-button{background:rgba(255,85,85,.12);border-color:rgba(255,85,85,.3);color:var(--danger)}.variant-row .row-actions{justify-content:center}.variant-empty{border-top:1px solid var(--line);margin:0;padding:14px}@media (max-width:980px){.table-shell{overflow-x:auto}.scenario-list-head{display:none}.scenario-table-shell{border:0;border-radius:0;margin-top:14px;overflow:visible}.scenario-grid{gap:10px}.scenario-card{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;min-width:0;padding:12px}.scenario-title{grid-column:1/-1}.scenario-margin small,.scenario-meta small,.scenario-money small{display:block}.scenario-card-actions{align-items:end;justify-content:flex-end}}@media (max-width:720px){.audit-row time{white-space:normal}.list-toolbar,.section-title{align-items:stretch;flex-direction:column}.dashboard-alert-grid,.dashboard-list-row,.dashboard-lists,.fair-agenda-row,.fair-calendar-layout,.fair-metrics-panel,.grouping-card-head,.grouping-footer,.grouping-form,.inventory-dashboard,.pricing-config-grid,.pricing-form-grid,.pricing-form-grid.compact,.pricing-tabs,.pricing-workbench,.products-tabs,.result-grid,.sale-row,.sales-channel-row,.sales-composition-row,.sales-daily-row,.sales-dashboard-grid,.sales-filters,.sales-insight-list,.sales-kpis,.sales-report-grid,.sales-table,.sales-toolbar,.sales-workbench,.shopee-metrics,.shopee-upload-row{grid-template-columns:1fr}.sales-table{min-width:0}.sales-fair-picker{min-width:min(420px,calc(100vw - 32px));right:0}.sales-table-head{display:none}.sale-row>.profit-negative,.sale-row>.profit-positive,.sale-row>span:not(:first-child),.sale-row>strong{text-align:left}.shopee-run{width:100%}.fair-calendar-day{min-height:86px;padding:6px}.fair-day-events small{font-size:.68rem;padding:3px 4px}.scenario-card{grid-template-columns:1fr}.scenario-card-actions{justify-content:flex-start}.pricing-tabs{display:grid}.toolbar-controls{align-items:stretch;flex-direction:column}.filter-toggle,.toolbar-controls{justify-content:flex-start}.brand-lockup{align-items:flex-start;flex-direction:column;gap:12px}.brand-logo{height:auto;max-width:132px;width:38vw}.search-row{max-width:none}.category-filter,.page-size{align-items:stretch;flex-direction:column}.category-filter select,.page-size select{width:100%}.pagination{align-items:stretch;flex-direction:column}.pagination-buttons{justify-content:space-between}.mobile-photo-search{display:grid}.drawer-backdrop{padding:0}.drawer-frame{border-radius:0;height:100vh}.drawer-tabs{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.fair-cost-form,.form-grid,.movement-grid,.stock-form,.variant-form,.variant-grid,.variant-pricing-row{grid-template-columns:1fr}.movement-grid,.variant-grid{min-width:0;row-gap:6px}.variant-grid-head{display:none}.variant-stock-value{text-align:left}.variant-row .row-actions,.variant-stock-adjuster{justify-content:flex-start}.movement-quantity,.movement-type{justify-self:start}.variant-pricing-panel{padding-left:14px}.image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.audit-row,.fair-row,.icon-button,.product-row,.sale-row,.shopee-sales-row,.top-product-row,a,button,input,select,textarea{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.danger-button:hover,.primary-button:hover,.warning-button:hover{transform:translateY(-1px)}.danger-button:active,.icon-button:active,.primary-button:active,.secondary-button:active,.warning-button:active{transform:translateY(0)}:where(button,a,[role=button],[tabindex]):focus-visible{outline:none;box-shadow:var(--focus-ring)}.fair-month-summary,.login-card,.sale-summary,.stock-summary-card,.table-shell,.toolbar-card{box-shadow:var(--shadow-card)}.login-card{box-shadow:var(--shadow-card-strong)}.login-card,.table-shell,.toolbar-card{position:relative}.login-card:before,.table-shell:before,.toolbar-card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;border-radius:inherit;background:linear-gradient(90deg,transparent,hsla(60,30%,96%,.14),transparent);pointer-events:none}.audit-row:hover,.fair-row:hover,.product-row:hover,.sale-row:hover,.shopee-sales-row:hover{background:var(--row-hover)}.table-state{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:160px;padding:32px 16px;text-align:center}.table-state:before{content:"";width:40px;height:40px;opacity:.5;background:var(--muted);-webkit-mask:var(--logo-glyph-mask) center /contain no-repeat;mask:var(--logo-glyph-mask) center /contain no-repeat}.margin-good{color:var(--success)}.margin-mid{color:var(--warn)}.margin-low{color:var(--danger)}