:root{--bg: #f7f7f5;--surface: #ffffff;--surface-2: #f1efe8;--text: #2c2c2a;--text-2: #5f5e5a;--text-3: #8a8980;--border: rgba(0, 0, 0, .1);--border-2: rgba(0, 0, 0, .18);--accent: #185fa5;--accent-bg: #e6f1fb;--accent-text: #0c447c;--teal-bg: #e1f5ee;--teal-text: #085041;--danger: #a32d2d;--danger-bg: #fcebeb;--ok: #3b6d11;--radius: 10px;--radius-sm: 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}h1,h2,h3{font-weight:500;margin:0}button{font:inherit;cursor:pointer;border:.5px solid var(--border-2);background:var(--surface);color:var(--text);padding:8px 14px;border-radius:var(--radius-sm);transition:background .15s,transform .05s}button:hover{background:var(--surface-2)}button:active{transform:scale(.98)}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover{background:#14527f}button.ghost{border-color:transparent;background:transparent}button:disabled{opacity:.5;cursor:default}input,select{font:inherit;width:100%;padding:9px 12px;border:.5px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}input:focus,select:focus{outline:none;box-shadow:0 0 0 3px var(--accent-bg);border-color:var(--accent)}label{display:block;font-size:13px;color:var(--text-2);margin:0 0 5px}.field{margin-bottom:14px}.card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius);padding:18px 20px}.muted{color:var(--text-2)}.error{color:var(--danger);background:var(--danger-bg);padding:8px 12px;border-radius:var(--radius-sm);font-size:14px}.ok{color:var(--ok);font-size:14px}.row{display:flex;gap:10px;align-items:center}.spacer{flex:1}.badge{font-size:11px;padding:2px 9px;border-radius:999px;display:inline-block}.badge.ele{background:var(--accent-bg);color:var(--accent-text)}.badge.mec{background:var(--teal-bg);color:var(--teal-text)}.badge.role{background:var(--surface-2);color:var(--text-2)}.badge.off{background:var(--danger-bg);color:var(--danger)}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-weight:500;color:var(--text-3);font-size:12px;padding:8px 10px}td{padding:11px 10px;border-top:.5px solid var(--border)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.metric{background:var(--surface-2);border-radius:var(--radius-sm);padding:14px 16px}.metric .lbl{font-size:13px;color:var(--text-2)}.metric .val{font-size:24px;font-weight:500;margin-top:4px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-box{width:100%;max-width:380px}.auth-logo{text-align:center;margin-bottom:22px}.auth-logo img{max-height:56px;max-width:200px}.auth-logo .name{font-size:22px;font-weight:500}.shell{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:.5px solid var(--border);padding:18px 14px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar .logo{height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.sidebar .logo img{max-height:48px;max-width:180px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.navlink{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--text-2);font-size:14px;cursor:pointer}.navlink:hover{background:var(--surface-2)}.navlink.active{background:var(--surface-2);color:var(--text)}.user-chip{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:14px;border-top:.5px solid var(--border)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--accent-bg);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500}.main{flex:1;min-width:0;padding:26px 30px;max-width:1500px}.page-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.page-head h2{font-size:20px}.logo-drop{border:1px dashed var(--border-2);border-radius:var(--radius-sm);padding:18px;text-align:center;color:var(--text-3);cursor:pointer}
