:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f7;--surface:#fff;--ink:#1c2430;--muted:#5c6b7a;--line:#d7dee6;--accent:#0f6e56;--accent-soft:#e7f5f0;--warn:#9a6700;--warn-soft:#fff6dd;--bad:#b42318;--bad-soft:#fee4e2;--ok:#067647;--ok-soft:#dcfae6;--shadow:0 1px 2px #1018280f;--radius:10px;--font:"Segoe UI", "Noto Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#e8eef7;background:#142033;flex-direction:column;gap:1rem;padding:1.25rem 1rem;display:flex}.brand{letter-spacing:.01em;font-size:1.05rem;font-weight:700}.nav{flex-direction:column;gap:.25rem;display:flex}.nav a{color:#c9d4e3;border-radius:8px;padding:.55rem .7rem;text-decoration:none}.nav a.active,.nav a:hover{color:#fff;background:#ffffff14;text-decoration:none}.sidebar-footer{color:#9db0c7;flex-direction:column;gap:.5rem;margin-top:auto;font-size:.9rem;display:flex}.content{padding:1.5rem 1.75rem 2.5rem}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header h1{margin:0 0 .25rem;font-size:1.55rem}.page-header p{color:var(--muted);margin:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.panel+.panel{margin-top:1rem}.stack{flex-direction:column;gap:.75rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.65rem .5rem;font-size:.95rem}th{color:var(--muted);font-size:.85rem;font-weight:600}.btn{background:var(--accent);color:#fff;border:1px solid #0000;border-radius:8px;padding:.5rem .85rem}.btn.secondary{color:var(--ink);border-color:var(--line);background:#fff}.btn.danger{background:var(--bad)}.btn.ghost{color:#c9d4e3;background:0 0;border-color:#fff3}.field{flex-direction:column;flex:1;gap:.3rem;min-width:180px;display:flex}.field label{color:var(--muted);font-size:.85rem}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.55rem .65rem}.field textarea{resize:vertical;min-height:90px}.badge{border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.8rem;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.muted{color:var(--muted);background:#eef2f6}.banner{border-radius:8px;margin-bottom:1rem;padding:.75rem .9rem}.banner.error{background:var(--bad-soft);color:var(--bad)}.banner.info{background:var(--accent-soft);color:var(--accent)}.empty{color:var(--muted);text-align:center;padding:1.5rem .5rem}.login-page{background:radial-gradient(circle at top left, #d9efe7, transparent 40%), var(--bg);place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);border-radius:14px;padding:1.5rem}.login-card h1{margin:0 0 .25rem;font-size:1.4rem}.login-card p{color:var(--muted);margin:0 0 1.25rem}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{background:#eef2f6;border-radius:999px;padding:.15rem .55rem;font-size:.8rem}.muted{color:var(--muted);font-size:.9rem}.actions{flex-wrap:wrap;gap:.4rem;display:flex}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:2;position:sticky;top:0}.nav{flex-flow:wrap}}
