:root{--bg:#f6f7f9;--surface:#fff;--text:#1c2128;--muted:#6b7280;--primary:#1f5eff;--primary-contrast:#fff;--danger:#c62828;--warn:#b26a00;--success:#1b7f3b;--border:#d9dee5;--radius:6px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);font-size:15px;line-height:1.45}a{color:var(--primary)}h1{margin:0 0 var(--space-4);font-size:1.5rem}h2{margin:0 0 var(--space-3);font-size:1.1rem}.muted{color:var(--muted)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{align-items:center;gap:var(--space-5);padding:var(--space-3) var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);display:flex}.brand{color:var(--text);font-weight:600;text-decoration:none}.nav{align-items:center;gap:var(--space-4);flex:1;display:flex}.nav a{color:var(--muted);padding:var(--space-1) var(--space-2);border-radius:var(--radius);text-decoration:none}.nav a:hover{color:var(--text)}.nav a.active{color:var(--primary);font-weight:600}.user-menu{margin-left:auto;position:relative}.user-menu summary{cursor:pointer;color:var(--muted);padding:var(--space-1) var(--space-2);list-style:none}.user-menu summary::-webkit-details-marker{display:none}.user-menu__panel{margin-top:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:160px;padding:var(--space-2);position:absolute;top:100%;right:0;box-shadow:0 4px 16px #00000014}.app-main{padding:var(--space-5);flex:1;width:100%;max-width:1100px;margin:0 auto}.page{gap:var(--space-4);flex-direction:column;display:flex}.auth-page{min-height:100vh;padding:var(--space-5);place-items:center;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;padding:var(--space-5)}.form{gap:var(--space-3);flex-direction:column;display:flex}.field{gap:var(--space-1);flex-direction:column;display:flex}.field__label{font-size:.9rem;font-weight:600}.field__error{color:var(--danger);font-size:.85rem}input,select,textarea{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px}.actions{gap:var(--space-2);align-items:center;display:flex}.btn{font:inherit;padding:var(--space-2) var(--space-4);border-radius:var(--radius);cursor:pointer;border:1px solid #0000;font-weight:600}.btn:disabled{opacity:.6;cursor:default}.btn--primary{background:var(--primary);color:var(--primary-contrast)}.btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn--danger{background:var(--danger);color:var(--primary-contrast)}.banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.banner--info{border-color:var(--primary)}.banner--warn{border-color:var(--warn);color:var(--warn)}.banner--error{border-color:var(--danger);color:var(--danger)}.cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.card__title{color:var(--muted);margin:0 0 var(--space-2);font-size:.9rem}.card__value{margin:0;font-size:1.6rem;font-weight:600}.card__caption{color:var(--muted);margin:var(--space-1) 0 0;font-size:.85rem}.page-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-header h1{margin:0}.toolbar{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.toolbar .field{min-width:220px}.badge{padding:0 var(--space-2);border:1px solid var(--border);color:var(--muted);vertical-align:middle;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.6;display:inline-block}.hint{color:var(--muted);margin:0;font-size:.85rem}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle}.table th{color:var(--muted);font-size:.85rem;font-weight:600}.table tbody tr:last-child td{border-bottom:none}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table__empty{color:var(--muted);text-align:center;padding:var(--space-5)}.pager{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.modal-backdrop{z-index:10;padding:var(--space-4);background:#00000059;place-items:center;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:640px;max-height:calc(100vh - 2 * var(--space-4));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);overflow-y:auto;box-shadow:0 12px 32px #0000002e}.modal__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.modal__header h2{margin:0}.modal__close{font:inherit;padding:var(--space-1) var(--space-2);color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1}.form-grid{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.span-all{grid-column:1/-1}fieldset{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0}legend{padding:0 var(--space-2);font-weight:600}.checkbox{align-items:center;gap:var(--space-2);display:flex}.logo-preview{object-fit:contain;max-width:240px;max-height:96px;padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
