:root{--primary: #5fb7c2;--on-primary: #ffffff;--primary-container: #95dce4;--on-primary-container: #0b3c42;--secondary: #f8b4c4;--secondary-container: #fde3e9;--on-secondary-container: #5a2430;--tertiary: #ffd97d;--on-tertiary: #5b4300;--page-bg: #e4ebed;--background: #f7fbfc;--surface: #ffffff;--surface-variant: #e4f2f4;--on-surface: #14262a;--on-surface-variant: #3c565a;--outline: #9eb8bc;--error: #e53935;--success: #4caf50;--shadow: 0 2px 10px rgba(11, 60, 66, .08);--shadow-lg: 0 6px 24px rgba(11, 60, 66, .14);--radius: 14px;--radius-lg: 20px}[data-theme=dark]{--primary: #95dce4;--on-primary: #0b3c42;--primary-container: #1e4a50;--on-primary-container: #95dce4;--secondary: #f8b4c4;--secondary-container: #4a2833;--on-secondary-container: #fde3e9;--tertiary: #ffd97d;--on-tertiary: #5b4300;--page-bg: #081112;--background: #0e1b1d;--surface: #14262a;--surface-variant: #1e3a3f;--on-surface: #e7f1f2;--on-surface-variant: #a9c6ca;--outline: #4e6b6f;--error: #ff6b6b;--success: #7bd67e;--shadow: 0 2px 10px rgba(0, 0, 0, .35);--shadow-lg: 0 6px 24px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:Nunito,Segoe UI,system-ui,sans-serif;background:var(--page-bg);color:var(--on-surface);line-height:1.5;transition:background .25s ease,color .25s ease}main{max-width:1440px;margin:0 auto;background:var(--background);box-shadow:-18px 0 28px -18px #0b3c4247,18px 0 28px -18px #0b3c4247}[data-theme=dark] main{box-shadow:-18px 0 28px -18px #000c,18px 0 28px -18px #000c}main:has(>.full-bleed),[data-theme=dark] main:has(>.full-bleed){max-width:none;box-shadow:none}a{color:var(--primary);text-decoration:none}img{max-width:100%}h1,h2,h3,h4{font-weight:800;margin:0 0 .5rem}.container{width:100%;max-width:none;margin:0;padding:0 16px}.page{padding:24px 0 64px}.grid{display:grid;gap:16px}.grid-products{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.muted{color:var(--on-surface-variant)}.small{font-size:.85rem}.bold{font-weight:800}.center{text-align:center}.mt8{margin-top:8px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mb8{margin-bottom:8px}.mb16{margin-bottom:16px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card-flat{background:var(--surface);border:1px solid var(--surface-variant);border-radius:var(--radius);padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:24px;padding:10px 22px;font:inherit;font-weight:700;cursor:pointer;transition:filter .15s ease,transform .05s ease;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-tonal{background:var(--primary-container);color:var(--on-primary-container)}.btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--outline)}.btn-text{background:transparent;color:var(--primary);padding:8px 12px}.btn-danger{background:transparent;color:var(--error);border:1.5px solid var(--error)}.btn-block{width:100%}.btn-sm{padding:6px 14px;font-size:.85rem}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:18px;border:1px solid var(--outline);background:var(--surface);color:var(--on-surface);font-size:.85rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.chip.active{background:var(--primary-container);color:var(--on-primary-container);border-color:var(--primary-container)}.chip-static{cursor:default}.field{margin-bottom:14px}.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:5px;color:var(--on-surface-variant)}.input,select.input,textarea.input{width:100%;padding:11px 14px;border:1.5px solid var(--outline);border-radius:10px;background:var(--surface);color:var(--on-surface);font:inherit;outline:none;transition:border-color .15s ease}.input:focus{border-color:var(--primary)}.error-text{color:var(--error);font-size:.82rem;margin-top:4px}.badge{display:inline-block;min-width:18px;padding:1px 6px;border-radius:10px;background:var(--error);color:#fff;font-size:.72rem;font-weight:800;text-align:center}.status{display:inline-block;padding:3px 12px;border-radius:14px;font-size:.78rem;font-weight:800;background:var(--surface-variant);color:var(--on-surface-variant)}.status.ok{background:color-mix(in srgb,var(--success) 20%,transparent);color:var(--success)}.status.warn{background:color-mix(in srgb,var(--tertiary) 35%,transparent);color:var(--on-tertiary)}.status.bad{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.status.info{background:var(--primary-container);color:var(--on-primary-container)}.skeleton{border-radius:10px;background:var(--surface-variant);animation:pulse 1.3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.rail{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin}.rail>*{flex:0 0 auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--surface-variant);font-size:.9rem}.table th{color:var(--on-surface-variant);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.table td.num,.table th.num{text-align:right}.divider{border:none;border-top:1px solid var(--surface-variant);margin:16px 0}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--on-surface);color:var(--surface);padding:12px 22px;border-radius:12px;box-shadow:var(--shadow-lg);z-index:1000;font-weight:600;max-width:90vw}.overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:900;padding:20px}.modal{background:var(--surface);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:560px;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.spin{width:26px;height:26px;border:3px solid var(--surface-variant);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:24px auto}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.grid-products{grid-template-columns:repeat(2,1fr)}.container{padding:0 12px}}
