/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:4;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;line-height:1.15}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentColor}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.errors{color:#d70015;border-radius:var(--border-radius);background-color:#ff3b301a;margin-bottom:16px;padding:10px 12px;font-size:13px}.errors>:first-child{margin-top:0}.errors>:last-child{margin-bottom:0}.errors p{margin:4px 0}.card{border:1px solid var(--table-border-color);border-radius:var(--border-radius-lg);margin-bottom:var(--space-between-blocks);background-color:#fff}.card-header{border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;border-bottom:1px solid var(--table-border-color);background-color:#fafafa;padding:12px 16px}.card-header h2{color:var(--text-color);margin:0;font-size:13px;font-weight:600}.card-header h3{color:var(--text-muted);margin:0;font-size:12px;font-weight:500}.card-body{padding:16px}.card-body>:first-child{margin-top:0}.card-body>:last-child{margin-bottom:0}.card-body h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:0;margin-bottom:12px;font-size:11px;font-weight:600}.card-body p{margin-bottom:10px;line-height:1.5}.card-body p strong{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:11px;font-weight:500;display:block}a.card{color:inherit;transition:border-color var(--transition-fast);text-decoration:none;display:block}a.card:hover{border-color:#00000026}header{background-color:var(--header-background-color);border-bottom:1px solid var(--header-border-color);z-index:100;justify-content:space-between;align-items:center;height:48px;padding:0 20px;display:flex;position:sticky;top:0}header .app-name{font-size:14px;font-weight:600;font-family:var(--font-body);color:var(--text-color);letter-spacing:-.01em}header .navigation{flex:1;margin-left:32px;display:flex}header .navigation ul{align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}header .navigation ul li{display:inline-block}header .navigation ul li a{color:var(--text-muted);transition:all var(--transition-fast);border-radius:var(--border-radius);align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}header .navigation ul li a svg{opacity:.5;width:14px;height:14px;transition:opacity var(--transition-fast)}header .navigation ul li a:hover{color:var(--text-color);background-color:#0000000a}header .navigation ul li a:hover svg{opacity:.7}header .navigation ul li a.active{color:var(--text-color);background-color:#0000000f}header .navigation ul li a.active svg{opacity:.8}header .navigation ul li.nav-logout{border-left:1px solid var(--header-border-color);margin-left:8px;padding-left:10px}header .navigation ul li form{margin:0}header .navigation ul li form button{color:var(--text-muted);font-weight:500;font-family:var(--font-body);transition:all var(--transition-fast);cursor:pointer;border-radius:var(--border-radius);background:0 0;border:none;align-items:center;gap:6px;padding:6px 10px;font-size:13px;text-decoration:none;display:inline-flex}header .navigation ul li form button svg{opacity:.5;width:14px;height:14px;transition:opacity var(--transition-fast)}header .navigation ul li form button:hover{color:var(--text-color);background-color:#0000000a}header .navigation ul li form button:hover svg{opacity:.7}header .language-switcher{margin-left:auto}header .language-switcher .dropdown{display:inline-block;position:relative}header .language-switcher .dropdown .dropdown-toggle{border-radius:var(--border-radius);color:var(--text-muted);font-size:12px;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:1px solid #0000001a;align-items:center;gap:6px;padding:6px 10px;font-weight:500;display:flex}header .language-switcher .dropdown .dropdown-toggle:hover{background-color:#0000000a;border-color:#00000026}header .language-switcher .dropdown .dropdown-toggle .dropdown-arrow{transition:transform var(--transition-fast);opacity:.5;font-size:8px}header .language-switcher .dropdown .dropdown-toggle.active .dropdown-arrow{transform:rotate(180deg)}header .language-switcher .dropdown .dropdown-menu{border-radius:var(--border-radius);min-width:120px;box-shadow:var(--shadow-md);z-index:1000;opacity:0;visibility:hidden;transition:all var(--transition-fast);background-color:#fff;border:1px solid #0000001a;position:absolute;top:calc(100% + 4px);right:0;transform:translateY(-4px)}header .language-switcher .dropdown .dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0)}header .language-switcher .dropdown .dropdown-menu .dropdown-item{width:100%;color:var(--text-muted);text-align:left;font-size:13px;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:8px 12px;text-decoration:none;display:block}header .language-switcher .dropdown .dropdown-menu .dropdown-item:hover{color:var(--text-color);background-color:#0000000a}header .language-switcher .dropdown .dropdown-menu .dropdown-item:first-child{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}header .language-switcher .dropdown .dropdown-menu .dropdown-item:last-child{border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}@media (width<=1024px){header{flex-wrap:wrap;gap:8px;height:auto;padding:12px 16px}header .navigation{-webkit-overflow-scrolling:touch;flex-basis:100%;order:3;margin-top:8px;margin-left:0;overflow-x:auto}header .navigation ul{gap:2px;padding-bottom:4px}header .navigation ul li a,header .navigation ul li form button{white-space:nowrap;padding:5px 8px;font-size:12px}header .navigation ul li a svg,header .navigation ul li form button svg{width:12px;height:12px}header .navigation ul li.nav-logout{margin-left:4px;padding-left:8px}}:root{--font-body:-apple-system, system-ui, BlinkMacSystemFont, Aptos, Roboto, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-color:#1d1d1f;--text-muted:#6e6e73;--link-color:#5e5ce6;--link-hover-color:#4a48c7;--header-background-color:#f5f5f7;--header-border-color:#0000001a;--error-color:#ff3b30;--error-background-color:#fff5f5;--table-border-color:#0000000f;--table-hover-color:#00000005;--primary-btn-color:#5e5ce6;--primary-btn-hover:#4a48c7;--page-title-text-color:#1d1d1f;--border-radius:6px;--border-radius-lg:8px;--block-internal-vertical-padding:1.2rem;--block-internal-horizontal-padding:1rem;--space-between-blocks:1.5rem;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001f;--transition-fast:.1s ease;--transition-normal:.15s ease}html{color:var(--text-color);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}body{background:#fff;min-height:100vh}form{margin:0}.inline-form{display:inline-block}.main{max-width:1200px;min-height:calc(100vh - 200px);margin:0 auto;padding:1.5rem}@media (width<=768px){.main{padding:1rem}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;margin-bottom:24px;display:flex}.page-head h1{color:var(--page-title-text-color);letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:600;line-height:1.3;display:flex}.page-head h1 .status{font-size:12px;font-weight:500}.page-head .page-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=768px){.page-head{flex-direction:column;align-items:flex-start}.page-head h1{font-size:18px}}.btn{border-radius:var(--border-radius);height:32px;color:var(--text-color);font-size:13px;font-weight:500;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);background-color:#fff;border:1px solid #00000026;justify-content:center;align-items:center;gap:6px;padding:0 12px;text-decoration:none;display:inline-flex}.btn:hover{background-color:#f5f5f7;border-color:#0003}.btn:active{background-color:#ebebed}.btn svg{opacity:.7;flex-shrink:0;width:14px;height:14px}.btn.btn-primary{background-color:var(--primary-btn-color);color:#fff;border-color:#0000}.btn.btn-primary:hover{background-color:var(--primary-btn-hover)}.btn.btn-primary:active{background-color:#3d3ab8}.btn.btn-primary svg{opacity:1}.btn.btn-secondary{color:#fff;background-color:#1d1d1f;border-color:#0000}.btn.btn-secondary:hover{background-color:#2d2d2f}.btn.btn-secondary:active{background-color:#0d0d0f}.btn.btn-danger{color:#fff;background-color:#ff3b30;border-color:#0000}.btn.btn-danger:hover{background-color:#e6352b}.btn.btn-danger:active{background-color:#cc2f26}.btn.btn-success{color:#fff;background-color:#30d158;border-color:#0000}.btn.btn-success:hover{background-color:#2bb84e}.btn.btn-success:active{background-color:#269f44}.btn.btn-sm{height:26px;padding:0 8px;font-size:12px}.btn.btn-sm svg{width:12px;height:12px}.btn.btn-outline-primary{color:var(--primary-btn-color);background:0 0;border-color:#5e5ce666}.btn.btn-outline-primary:hover{background:#5e5ce614;border-color:#5e5ce699}.btn.btn-outline-secondary{color:var(--text-muted);background:0 0;border-color:#00000026}.btn.btn-outline-secondary:hover{background:#0000000a;border-color:#00000040}.btn.btn-outline-danger{color:#c8231b;background:0 0;border-color:#ff3b3047}.btn.btn-outline-danger svg{opacity:.9}.btn.btn-outline-danger:hover{color:#ad1d16;background:#ff3b3014;border-color:#ff3b308c}.btn.btn-outline-danger:active{background:#ff3b301f}.btn:disabled,.btn[disabled]{cursor:not-allowed;opacity:.5;pointer-events:none}.form-group,.form-field-group{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.form-group label,.form-field-group label,.form-label{color:var(--text-color);font-size:.9rem;font-weight:500;display:block}.form-group small.form-help,.form-field-group small.form-help{color:#6c757d;margin-top:-.25rem;font-size:.85rem}.form-field,.form-group input[type=text],.form-group input[type=number],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=date],.form-group input[type=search],.form-group select,.form-group textarea{border-radius:var(--border-radius);width:100%;min-height:2.5rem;color:var(--text-color);background-color:#fff;border:1px solid #d1d5db;padding:.625rem .875rem;font-family:inherit;font-size:.95rem;line-height:1.5;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-field:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-btn-color);outline:none;box-shadow:0 0 0 3px #6b21fc1a}.form-field::placeholder,.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-field:disabled,.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{cursor:not-allowed;opacity:.6;background-color:#f3f4f6}textarea.form-field,.form-group textarea{resize:vertical;min-height:6rem;line-height:1.5}.form-field-textarea{width:100%;max-width:100%}.form-field-code{font-family:var(--font-mono);font-size:.85rem}.radio-group{flex-wrap:wrap;gap:.75rem;display:flex}.radio-option{border-radius:var(--border-radius);cursor:pointer;background:#fff;border:1px solid #d1d5db;align-items:center;gap:.5rem;min-height:2.5rem;padding:.625rem .875rem;display:inline-flex}.radio-option input{margin:0}.form-group select,select.form-field{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form{background-color:#fff;max-width:42rem;padding:0}@media (width<=768px){.form{max-width:100%}}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.form-row .form-group{margin-bottom:0}.account-filter{margin-bottom:24px}.account-filter-grid{grid-template-columns:minmax(280px,1fr) minmax(160px,200px) auto;align-items:end;gap:12px;display:grid}.account-filter .form-group{margin-bottom:0}.account-filter-submit{min-width:88px;height:40px}@media (width<=768px){.account-filter-grid{grid-template-columns:1fr}.account-filter-submit{width:100%}}.form-actions{border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:.75rem;margin-top:2rem;padding-top:1.5rem;display:flex}.form-actions .btn{min-width:100px}table.table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:13px}table.table>thead>tr>th,table.table>tbody>tr>td{text-align:left;border-bottom:1px solid var(--table-border-color);padding:10px 12px}table.table>thead>tr>th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}table.table>tbody>tr{transition:background-color var(--transition-fast)}table.table>tbody>tr:hover{background-color:var(--table-hover-color)}table.table>tbody>tr>td{vertical-align:middle}table.table>tbody>tr>td a{color:var(--link-color);font-weight:500;text-decoration:none}table.table>tbody>tr>td a:hover{text-decoration:underline}table.table>tfoot>tr>td{background:#fafafa;padding:10px 12px;font-weight:600}table.index-table{border:1px solid var(--table-border-color);border-radius:var(--border-radius-lg);overflow:hidden}table.index-table>tbody>tr:last-child>td{border-bottom:none}.paginator,.pagination{justify-content:center;align-items:center;gap:12px;margin-top:24px;margin-bottom:16px;display:flex}.pagination-btn{color:var(--text-color);border:1px solid var(--table-border-color);border-radius:var(--border-radius);transition:all var(--transition-fast);background:#fff;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.pagination-btn svg{width:16px;height:16px}.pagination-btn:hover{background:#f5f5f7;border-color:#c1c1c4}.pagination-btn-disabled{color:var(--text-muted);cursor:not-allowed}.pagination-btn-disabled:hover{border-color:var(--table-border-color);background:#fff}.pagination-info{color:var(--text-muted);font-size:13px}.no-items-found{color:#666;font-style:italic}.text-muted{color:#6c757d!important}.status{color:var(--text-muted);text-transform:capitalize;background-color:#0000000f;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status.status-draft,.status.status-pending{color:var(--text-muted);background-color:#0000000f}.status.status-open{color:#5e5ce6;background-color:#5e5ce61a}.status.status-picked,.status.status-fulfilled{color:#248a3d;background-color:#30d1581f}.status.status-partially_fulfilled,.status.status-partially-picked{color:#b25000;background-color:#ff9f0a1f}.status-badge{color:var(--text-muted);text-transform:capitalize;background-color:#0000000f;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.status-badge.status-open{color:#5e5ce6;background-color:#5e5ce61a}.status-badge.status-partially-picked,.status-badge.status-partially_fulfilled{color:#b25000;background-color:#ff9f0a1f}.status-badge.status-picked,.status-badge.status-fulfilled{color:#248a3d;background-color:#30d1581f}.row{flex-wrap:wrap;margin:0 -.5rem;display:flex}.col{flex:1 1 0;min-width:0;padding:0 .5rem}.col-md-6{flex:0 0 50%;max-width:50%;padding:0 .5rem}@media (width<=768px){.col-md-6{flex:0 0 100%;max-width:100%}}.text-decoration-none{text-decoration:none}.text-decoration-none:hover{color:var(--link-color);text-decoration:underline}.align-right{text-align:right!important}.align-center{text-align:center!important}.alert{border-radius:var(--border-radius);align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:13px;line-height:1.5;display:flex}.alert svg{flex-shrink:0;width:18px;height:18px;margin-top:1px}.alert.alert-success{color:#248a3d;background-color:#30d1581a}.alert.alert-danger{color:#d70015;background-color:#ff3b301a}.alert.alert-warning{color:#b25000;background-color:#ff9f0a1a}.alert.alert-info{color:#5e5ce6;background-color:#5e5ce61a}.impersonation-banner{color:#fff;background-color:#b25000;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;font-size:13px;font-weight:500;display:flex}.impersonation-banner form{margin:0}.impersonation-banner button{color:#fff;border-radius:var(--border-radius);cursor:pointer;background-color:#fff3;border:1px solid #fff6;padding:4px 10px;font-size:12px;font-weight:500}.impersonation-banner button:hover{background-color:#ffffff4d}.admin-welcome{text-align:center;max-width:500px;margin:0 auto;padding:60px 20px}.admin-welcome-icon{width:64px;height:64px;color:var(--text-muted);margin:0 auto 20px}.admin-welcome-icon svg{width:100%;height:100%}.admin-welcome h2{margin:0 0 12px;font-size:20px;font-weight:600}.admin-welcome p{color:var(--text-muted);margin:0 0 8px}.school-code-block{background:var(--bg-subtle,#f9fafb);border:1px solid var(--border-color,#e5e7eb);text-align:center;border-radius:8px;margin-top:32px;padding:20px 24px}.school-code-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600;margin:0 0 8px!important}.school-code{letter-spacing:.2em;font-family:monospace;font-size:32px;font-weight:700;color:var(--text-color,#111827)!important;margin:0 0 8px!important}.school-code-hint{color:var(--text-muted);font-size:13px;margin:0!important}.log-metadata{color:var(--text-muted);margin-top:4px;font-size:12px}.dataset-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.dataset-card{border:1px solid var(--table-border-color);border-radius:var(--border-radius-lg);background:#fff;flex-direction:column;padding:20px;display:flex}.dataset-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.dataset-card-header h2{color:var(--text-color);margin:0;font-size:15px;font-weight:600}.dataset-version{font-size:12px;font-family:var(--font-mono);color:var(--text-muted);background:#f5f5f7;border-radius:4px;padding:2px 8px}.dataset-description{color:var(--text-muted);margin:0 0 12px;font-size:13px;line-height:1.5}.dataset-card form{margin-top:auto}.dataset-payload-preview{color:#e6edf3;border-radius:var(--border-radius-lg);font-family:var(--font-mono);background-color:#0d1117;padding:1rem;font-size:.8rem;line-height:1.6;overflow-x:auto;box-shadow:inset 0 1px 3px #0000004d}.form-section{border-radius:var(--border-radius);background-color:#f9fafb;border:1px solid #e5e7eb;margin-bottom:2rem;padding:1.5rem}.form-section h3{color:var(--page-title-text-color);margin-top:0;margin-bottom:1.5rem;font-size:1.1rem;font-weight:600}.form-section hr{border:none;border-top:1px solid #e5e7eb;margin:1.5rem 0}.receipt-line{background-color:#fff;border-radius:var(--border-radius)!important;border:1px solid #e5e7eb!important;margin-bottom:1rem!important;padding:1rem!important}.receipt-line h4{color:var(--page-title-text-color);margin-top:0;margin-bottom:.5rem;font-size:1rem}.receipt-line p{color:#6c757d;margin-bottom:1rem;font-size:.9rem}.detail-layout{grid-template-columns:1fr 300px;align-items:start;gap:24px;display:grid}.detail-main,.detail-sidebar{flex-direction:column;gap:16px;display:flex}@media (width<=900px){.detail-layout{grid-template-columns:1fr}.detail-sidebar{order:-1}}.product-layout{grid-template-columns:1fr 280px;align-items:start;gap:24px;display:grid}.product-main,.product-sidebar{flex-direction:column;gap:16px;display:flex}@media (width<=900px){.product-layout{grid-template-columns:1fr}.product-sidebar{order:-1}}.detail-card{border:1px solid var(--table-border-color);border-radius:var(--border-radius-lg);background:#fff;overflow:hidden}.detail-card-header{border-bottom:1px solid var(--table-border-color);background:#fafafa;padding:12px 16px}.detail-card-header h2{color:var(--text-color);margin:0;font-size:13px;font-weight:600}.detail-card-body{padding:16px}.detail-card .table{margin:0}.detail-card .table>thead>tr>th,.detail-card .table>tbody>tr>td{padding:10px 16px}.detail-card .table>tbody>tr:last-child>td{border-bottom:none}.detail-grid{grid-template-columns:repeat(2,1fr);gap:0;display:grid}.detail-item{border-bottom:1px solid var(--table-border-color);border-right:1px solid var(--table-border-color);padding:14px 16px}.detail-item:nth-child(2n){border-right:none}.detail-item:nth-last-child(-n+2){border-bottom:none}.detail-item.detail-item-full{border-right:none;grid-column:1/-1}.detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:500;display:block}.detail-value{color:var(--text-color);font-size:14px;line-height:1.4;display:block}.detail-value-mono{font-family:var(--font-mono);font-size:13px}.stat-card{border:1px solid var(--table-border-color);border-radius:var(--border-radius-lg);text-align:center;background:#fff;padding:20px}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:11px;font-weight:500}.stat-value{color:var(--text-color);letter-spacing:-.02em;font-size:36px;font-weight:600;line-height:1}.stat-sublabel{color:var(--text-muted);margin-top:6px;font-size:12px}.stat-value-text{margin-top:4px;font-size:14px;font-weight:500}.pricing-grid{padding:16px}.price-item{border-bottom:1px solid var(--table-border-color);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.price-item:last-child{border-bottom:none}.price-item-highlight{border-radius:0 0 var(--border-radius-lg) var(--border-radius-lg);background:#30d1580f;border-bottom:none;margin:8px -16px -16px;padding:12px 16px}.price-item-highlight .price-value{color:#248a3d}.price-label{color:var(--text-muted);font-size:13px}.price-value{color:var(--text-color);font-size:14px;font-weight:600;font-family:var(--font-mono)}.price-value-muted{color:var(--text-muted);font-weight:500}.location-badge{color:var(--text-color);align-items:center;gap:6px;font-size:13px;display:inline-flex}.location-badge svg{width:14px;height:14px;color:var(--text-muted)}.picking-table{min-width:700px}.picking-row-pending{background:#fffbeb}.picking-input{text-align:center;width:70px}.picking-progress{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.picking-totals{background:#f5f5f7}.product-name{font-weight:500}.stock-qty{font-family:var(--font-mono);font-size:13px;font-weight:500}.mono-link{font-family:var(--font-mono);font-size:13px}.empty-state{text-align:center;max-width:400px;margin:40px auto;padding:60px 24px}.empty-state h3{color:var(--text-color);margin:0 0 8px;font-size:16px;font-weight:600}.empty-state p{color:var(--text-muted);margin:0 0 20px;font-size:14px;line-height:1.5}.empty-state-icon{background:#f5f5f7;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;display:flex}.empty-state-icon svg{width:24px;height:24px;color:var(--text-muted)}.empty-state-inline{text-align:center;color:var(--text-muted);padding:24px 16px;font-size:13px}.form-layout{grid-template-columns:1fr 260px;align-items:start;gap:24px;display:grid}.form-layout-narrow{grid-template-columns:1fr;max-width:680px}.form-main,.form-sidebar{flex-direction:column;gap:16px;display:flex}@media (width<=900px){.form-layout{grid-template-columns:1fr}.form-sidebar{order:-1}}.form-card{border:1px solid var(--table-border-color);border-radius:var(--border-radius-lg);background:#fff;overflow:hidden}.form-card-header{border-bottom:1px solid var(--table-border-color);background:#fafafa;padding:12px 16px}.form-card-header h2{color:var(--text-color);margin:0;font-size:13px;font-weight:600}.form-card-body{padding:20px}.form-card-body .form-group:last-child{margin-bottom:0}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;display:grid}.form-grid .form-group{margin-bottom:0}.form-grid-3{grid-template-columns:repeat(3,1fr)}@media (width<=600px){.form-grid{grid-template-columns:1fr}}.return-product-row{border:1px solid var(--table-border-color);border-radius:var(--border-radius);background:#fafafa;margin-bottom:12px;padding:16px}.return-product-row .form-grid{margin-bottom:0}.return-product-row .btn-danger{margin-top:12px}.receive-quantity-input{text-align:right;width:100px}.checkbox-label{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.auth-container{justify-content:center;padding:20px 0;display:flex}.auth-card{border:1px solid var(--table-border-color);border-radius:var(--border-radius-lg);background:#fff;width:100%;max-width:400px;padding:32px}.auth-card-wide{max-width:480px}.auth-intro{color:var(--text-muted);margin:0 0 24px;line-height:1.5}.auth-hint{color:var(--text-muted);align-items:flex-start;gap:8px;margin:16px 0 0;font-size:13px;line-height:1.5;display:flex}.auth-hint svg{flex-shrink:0;width:16px;height:16px;margin-top:1px}.auth-footer{border-top:1px solid var(--table-border-color);color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:6px;margin-top:24px;padding-top:20px;font-size:13px;display:flex}.auth-footer-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.auth-footer-actions a{white-space:nowrap}.auth-separator{color:var(--table-border-color)}.school-code-input{align-items:center;gap:8px;display:flex}.school-code-input .form-field{text-transform:uppercase;flex:1;max-width:120px}.school-code-status{border-radius:var(--border-radius);white-space:nowrap;padding:8px 12px;font-size:13px;display:none}.school-code-success{color:#065f46;background:#d1fae5}.school-code-error{color:#991b1b;background:#fee2e2}.form-error{color:var(--error-color);margin-top:4px;font-size:13px;display:block}.alert-action{margin-top:12px}.form-group label{color:var(--text-color);margin-bottom:6px;font-size:13px;font-weight:500}.form-group label .required{color:#ff3b30;margin-left:2px}.form-hint{color:var(--text-muted);margin-top:4px;font-size:12px}.form-field-mono{font-family:var(--font-mono)}.input-with-prefix{align-items:stretch;display:flex}.input-prefix{border-radius:var(--border-radius) 0 0 var(--border-radius);color:var(--text-muted);background:#f5f5f7;border:1px solid #d1d5db;border-right:none;align-items:center;padding:0 12px;font-size:13px;font-weight:500;display:flex}.input-with-prefix .form-field{border-radius:0 var(--border-radius) var(--border-radius) 0}.sidebar-card{border:1px solid var(--table-border-color);border-radius:var(--border-radius-lg);background:#fff;padding:16px}.sidebar-card-header{margin-bottom:12px}.sidebar-card-header h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:11px;font-weight:600}.sidebar-stat{text-align:center;margin-bottom:16px}.sidebar-stat-value{color:var(--text-color);letter-spacing:-.02em;font-size:32px;font-weight:600;line-height:1;display:block}.sidebar-stat-label{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.sidebar-detail{border-bottom:1px solid var(--table-border-color);margin-bottom:12px;padding:8px 0}.sidebar-detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px;font-size:11px;font-weight:500;display:block}.sidebar-detail-value{color:var(--text-color);font-size:13px;font-family:var(--font-mono);display:block}.sidebar-info{border-radius:var(--border-radius);color:var(--text-muted);background:#f5f5f7;padding:12px;font-size:12px;line-height:1.5}.sidebar-info p{margin:0}.sidebar-info strong{color:var(--text-color)}.accounts-table{table-layout:auto;font-size:13px}.accounts-table th{white-space:nowrap}.accounts-table td{vertical-align:middle}.accounts-table .cell-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px}.accounts-table .mono-link{color:var(--text-color);word-break:break-all}.accounts-table th:last-child,.accounts-table td:last-child{white-space:nowrap;width:1%}.role-badge{letter-spacing:.01em;color:var(--text-muted);background:#0000000d;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.role-badge-student{color:#4a48c7;background:#5e5ce61a}.role-badge-teacher{color:#b25000;background:#ff9f0a1f}dialog.modal{width:min(480px,100vw - 32px);max-width:480px;color:var(--text-color);background:#fff;border:none;border-radius:12px;padding:0;box-shadow:0 1px 2px #0000000a,0 24px 48px -12px #0000002e,0 0 0 1px #0000000a}dialog.modal::backdrop{-webkit-backdrop-filter:blur(2px);background:#0f0f1173}dialog.modal[open]{animation:.18s ease-out modal-pop}dialog.modal[open]::backdrop{animation:.18s ease-out modal-fade}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-form{flex-direction:column;display:flex}.modal-header{grid-template-columns:auto 1fr auto;align-items:start;gap:14px;padding:20px 20px 12px;display:grid}.modal-header h2{letter-spacing:-.01em;color:var(--text-color);margin:0;font-size:16px;font-weight:600;line-height:1.3}.modal-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:13px}.modal-icon{color:#d70015;background:#ff3b301a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.modal-icon svg{width:18px;height:18px}.modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.modal-close svg{width:16px;height:16px}.modal-close:hover{color:var(--text-color);background:#0000000d}.modal-body{flex-direction:column;gap:16px;padding:0 20px 16px;display:flex}.modal-summary{border:1px solid var(--table-border-color);border-radius:var(--border-radius);background:#f8f8fa;gap:8px;margin:0;padding:12px 14px;display:grid}.modal-summary>div{grid-template-columns:88px 1fr;align-items:baseline;gap:12px;display:grid}.modal-summary dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.modal-summary dd{color:var(--text-color);word-break:break-word;margin:0;font-size:13px}.modal-warning{margin:0}.modal-body .form-group{margin-bottom:0}.modal-body .form-group label{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:4px;font-size:12px;font-weight:500;display:flex}.modal-body .form-group label code{font-family:var(--font-mono);color:#4a48c7;background:#5e5ce614;border-radius:4px;padding:1px 6px;font-size:12px}.modal-body .form-field{font-family:var(--font-mono);font-size:13px}.modal-footer{border-top:1px solid var(--table-border-color);background:#fafafa;border-radius:0 0 12px 12px;justify-content:flex-end;gap:8px;padding:14px 20px 18px;display:flex}@media (width<=520px){.modal-summary>div{grid-template-columns:1fr;gap:2px}}
