:root{color:#1a202c;background:#f0f2f5;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0}.nav{color:#e2e8f0;background:#1a202c;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.25rem;display:flex}.brand{font-weight:700}.nav nav{gap:.4rem;display:flex}.nav nav button{color:#a0aec0;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:6px;padding:.45rem .8rem}.nav nav button.on,.nav nav button:hover{color:#fff;background:#2d3748}.me{color:#a0aec0;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.linklike{color:#fc8181;cursor:pointer;font:inherit;background:0 0;border:none}main{max-width:1200px;margin:0 auto;padding:1.5rem}.loginwrap{place-items:center;min-height:100vh;display:grid}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:1rem;width:100%;max-width:400px;padding:2rem;display:flex}h1{color:#2c5282;font-size:1.3rem}label{color:#4a5568;flex-direction:column;gap:.35rem;font-size:.92rem;display:flex}input,select{background:#fff;border:1px solid #cbd5e0;border-radius:8px;padding:.55rem .75rem;font-size:.95rem}button{color:#fff;cursor:pointer;background:#2c5282;border:none;border-radius:8px;padding:.5rem .9rem;font-size:.9rem}button:hover{background:#2a4e7c}button.danger{background:#c53030}button.danger:hover{background:#9b2c2c}.error{color:#c53030;font-size:.9rem}.ok-line{color:#22543d;font-size:.9rem}.bar{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.grid{border-collapse:collapse;background:#fff;width:100%}.grid th,.grid td{text-align:left;vertical-align:top;border:1px solid #e2e8f0;padding:.5rem .65rem;font-size:.9rem}.grid th{background:#edf2f7}.grid td button{margin:.1rem .25rem .1rem 0}.small{font-size:.82rem}.dim{color:#718096;font-size:.82rem}.badge{background:#edf2f7;border-radius:999px;padding:.2rem .6rem;font-size:.8rem;display:inline-block}.badge.ok{color:#22543d;background:#c6f6d5}.badge.warn{color:#744210;background:#fefcbf}.badge.err{color:#742a2a;background:#fed7d7}.cards{flex-wrap:wrap;gap:1rem;display:flex}.stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.25rem;min-width:150px;padding:1.25rem 1.5rem;display:flex}.stat b{color:#2c5282;font-size:1.8rem}.stat span{color:#718096;font-size:.85rem}
