@font-face{font-family:Archivo;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/archivo-latin.woff2)format("woff2")}:root{--bg:#eef2f6;--bg-elevated:#fff;--surface:#fff;--surface-soft:#e2e8f0;--accent:#0f9350;--accent-hot:#33b571;--accent-deep:#163b2c;--accent-ink:#fff;--accent-glow:#0f935047;--gold:#e9a81e;--gold-hot:#f2c14e;--cream:#fff;--cream-soft:#eef2f6;--sage:#0f9350;--sage-dark:#163b2c;--sage-light:#e2e8f0;--pink:#0f9350;--pink-soft:#d8f3e6;--baby-blue:#33b571;--yellow:#e9a81e;--blue:#0f9350;--blue-dark:#163b2c;--blue-light:#33b571;--text:#334155;--text-bright:#0f172a;--text-soft:#64748b;--white:#fff;--border:#cbd5e1;--danger:#dc2626;--danger-soft:#dc26261a;--success:#15803d;--success-soft:#15803d1a;--warning:#a16207;--warning-soft:#a162071f;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--shadow-sm:0 1px 3px #0f172a0f, 0 4px 14px #0f172a0f;--shadow-md:0 8px 28px #0f172a1a;--glow-accent:0 4px 16px var(--accent-glow);--sans:"Archivo", system-ui, "Segoe UI", Roboto, sans-serif;--display:"Archivo", system-ui, "Segoe UI", Roboto, sans-serif;font:14px/1.55 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--bg);margin:0}#root{min-height:100svh}h1,h2,h3{font-family:var(--display);color:var(--text-bright);letter-spacing:-.02em;margin:0;font-weight:800}p{margin:0}a{color:var(--accent-hot);text-decoration:none}button{font-family:inherit}img{max-width:100%;display:block}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.85rem;font-weight:700;transition:transform .1s,box-shadow .1s,opacity .1s,background .1s,border-color .1s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--glow-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hot);transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text);border:1.5px solid var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent-hot)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#ef6b5b47}.btn-sm{padding:.35rem .75rem;font-size:.78rem}.btn-block{width:100%}.card{background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.card-pad{padding:1.5rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.page-header h1{font-size:1.4rem}.muted{color:var(--text-soft)}.form-field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.form-field label{color:var(--text-soft);font-size:.8rem;font-weight:600}.form-field input,.form-field select,.form-field textarea{border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-soft);color:var(--text-bright);padding:.6rem .8rem;font-family:inherit;font-size:.88rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;background:var(--white)}.form-row{gap:1rem;display:flex}.form-row .form-field{flex:1}.error-banner{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);border:1px solid #ef6b5b59;margin-bottom:1rem;padding:.65rem .9rem;font-size:.85rem}.success-banner{background:var(--success-soft);color:var(--success);border-radius:var(--radius-sm);border:1px solid #4caf8259;margin-bottom:1rem;padding:.65rem .9rem;font-size:.85rem}table.data-table{border-collapse:collapse;width:100%;font-size:.85rem}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);border-bottom:1px solid var(--border);white-space:nowrap;padding:.7rem 1rem;font-size:.72rem}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.75rem 1rem}.data-table tr:last-child td{border-bottom:none}.data-table tr.is-clickable{cursor:pointer}.data-table tr.is-clickable:hover{background:var(--surface-soft)}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge-neutral{background:var(--surface-soft);color:var(--text-soft)}.orders-test-tag{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-soft);color:var(--text-soft);letter-spacing:.02em;text-transform:uppercase;vertical-align:middle;margin-left:.4rem;padding:.05rem .35rem;font-size:.65rem;font-weight:600;display:inline-block}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:1.5rem;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.25rem}.kpi-card__label{color:var(--text-soft);margin-bottom:.5rem;font-size:.78rem;font-weight:600}.kpi-card__value{color:var(--text-bright);font-size:1.55rem;font-weight:800}.kpi-card__sub{color:var(--text-soft);margin-top:.35rem;font-size:.76rem}@media (width<=1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.confirm-dialog{max-width:min(30rem,100vw - 2rem);color:var(--text);background:0 0;border:none;padding:0}.confirm-dialog::backdrop{background:#0f172a8c}.confirm-dialog__panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem}.confirm-dialog__title{color:var(--text-bright);margin:0;font-size:1.15rem}.confirm-dialog__message{color:var(--text-soft);margin-top:.65rem;line-height:1.5}.confirm-dialog__actions{justify-content:flex-end;gap:.6rem;margin-top:1.5rem;display:flex}@media (width<=30rem){.confirm-dialog__actions{flex-direction:column-reverse}}.admin-layout{--sidebar-rail:68px;--sidebar-open:250px;min-height:100svh;display:flex}.admin-sidebar-slot{width:var(--sidebar-rail);flex-shrink:0;transition:width .2s}.admin-layout.is-pinned .admin-sidebar-slot{width:var(--sidebar-open)}.admin-sidebar{width:var(--sidebar-rail);background:var(--bg-elevated);border-right:1px solid var(--border);z-index:40;flex-direction:column;height:100svh;transition:width .2s,box-shadow .2s;display:flex;position:fixed;top:0;left:0;overflow:hidden}.admin-sidebar.is-open{width:var(--sidebar-open)}.admin-layout.is-autohide .admin-sidebar.is-open{box-shadow:8px 0 24px #0000001f}.admin-sidebar__brand{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;min-height:4.25rem;padding:1.25rem .85rem 1rem;display:flex}.admin-sidebar__brand-mark{flex-shrink:0;align-items:center;line-height:1;display:inline-flex}.admin-sidebar__brand-icon{object-fit:contain;width:28px;height:28px;display:block}.admin-sidebar__brand-full{object-fit:contain;width:auto;max-width:100%;height:28px;display:none}.admin-sidebar.is-open .admin-sidebar__brand-icon{display:none}.admin-sidebar.is-open .admin-sidebar__brand-full{display:block}.admin-layout.is-pinned .admin-sidebar__brand,.admin-sidebar.is-open .admin-sidebar__brand{padding-left:1.25rem;padding-right:.75rem}.admin-sidebar__badge{white-space:nowrap;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent-deep);opacity:0;border-width:0;border-radius:999px;justify-content:center;align-items:center;width:0;padding:.3rem 0;font-size:.72rem;font-weight:700;line-height:1;transition:opacity .15s;display:inline-flex;overflow:hidden}.admin-sidebar.is-open .admin-sidebar__badge{opacity:1;border-width:1px;width:auto;padding:.3rem .5rem}.admin-sidebar__pin{border:1px solid var(--border);background:var(--surface-soft,transparent);width:26px;height:26px;color:var(--text-soft);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;transition:opacity .15s,background .15s,color .15s,border-color .15s;display:inline-flex}.admin-sidebar.is-open .admin-sidebar__pin{opacity:1;pointer-events:auto}.admin-sidebar__pin:hover{color:var(--text);background:var(--surface-soft);border-color:var(--text-soft)}.admin-sidebar__pin.is-pinned{color:var(--accent-ink);background:var(--accent);border-color:var(--accent-deep)}.admin-sidebar__pin-icon{width:14px;height:14px;transition:transform .2s;transform:rotate(40deg)}.admin-sidebar__pin.is-pinned .admin-sidebar__pin-icon{transform:rotate(0)}.admin-sidebar__nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem .55rem;display:flex;overflow-y:auto}.admin-sidebar.is-open .admin-sidebar__nav{padding-left:.75rem;padding-right:.75rem}.admin-sidebar__link{border-radius:var(--radius-sm);color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:.65rem;padding:.6rem 0;font-size:.88rem;font-weight:600;display:flex}.admin-sidebar.is-open .admin-sidebar__link{justify-content:flex-start;padding:.6rem .85rem}.admin-sidebar__link:hover{background:var(--surface-soft)}.admin-sidebar__link.is-active{background:var(--accent);color:var(--accent-ink)}.admin-sidebar__icon{text-align:center;flex-shrink:0;width:1.25rem;font-size:1rem}.admin-sidebar__label{opacity:0;width:0;transition:opacity .15s;overflow:hidden}.admin-sidebar.is-open .admin-sidebar__label{opacity:1;width:auto}.admin-sidebar__footer{border-top:1px solid var(--border);padding:1rem .75rem 1.25rem}.admin-sidebar.is-open .admin-sidebar__footer{padding-left:1.25rem;padding-right:1.25rem}.admin-sidebar__user{color:inherit;border-radius:var(--radius-sm,6px);justify-content:center;align-items:center;gap:.6rem;margin-bottom:.85rem;text-decoration:none;display:flex}.admin-sidebar.is-open .admin-sidebar__user{justify-content:flex-start}.admin-sidebar__user:hover{background:#0f935014}.admin-sidebar__avatar{width:32px;height:32px;color:var(--accent-hot);background:#0f93502e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.admin-sidebar__user-text{opacity:0;width:0;min-width:0;transition:opacity .15s;overflow:hidden}.admin-sidebar.is-open .admin-sidebar__user-text{opacity:1;width:auto}.admin-sidebar__email{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:.8rem;font-weight:600;overflow:hidden}.admin-sidebar__role{color:var(--text-soft);font-size:.72rem}.admin-sidebar__signout{opacity:0;pointer-events:none;border-width:0;height:0;margin:0;padding-top:0;padding-bottom:0;transition:opacity .15s;overflow:hidden}.admin-sidebar.is-open .admin-sidebar__signout{opacity:1;height:auto;padding:inherit;pointer-events:auto;border-width:1px}.admin-main{flex:1;min-width:0;padding:2rem 2.5rem;transition:none}@media (width<=900px){.admin-main{padding:1.5rem}}.route-fallback{justify-content:center;align-items:center;width:100%;min-height:40vh;display:flex}.route-fallback__spinner{border:3px solid var(--surface-soft);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite route-fallback-spin}@keyframes route-fallback-spin{to{transform:rotate(360deg)}}.brand-logo{-webkit-user-select:none;user-select:none;align-items:center;max-width:100%;line-height:1;display:inline-flex}.brand-logo__img{object-fit:contain;width:auto;max-width:100%;display:block}.brand-logo--login .brand-logo__img{height:44px}.login-page{background:radial-gradient(ellipse 80% 50% at 50% -10%, #0f935038, transparent 55%), linear-gradient(160deg, var(--bg-elevated) 0%, var(--bg) 55%);justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-md);flex-direction:column;align-items:center;padding:2.5rem 2rem;display:flex}.login-card__logo{margin:0 auto 1rem}.login-card__badge{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent-deep);border-radius:999px;margin-bottom:1.5rem;padding:.25rem .7rem;font-size:.72rem;font-weight:700}.login-card form{width:100%}
