:root{--bg: #F2F4EF;--card: #FFFFFF;--ink: #16302A;--sub: #5E6B64;--faint: #8C968F;--line: #E2E6DD;--pri: #2D6A54;--priInk: #FFFFFF;--soft: #E3ECE0;--warm: #F7F1E6;--fill: #EEF2EA;--dangerFg: #B23A22;--dangerBg: #FBE9E2;--warnFg: #9A5019;--warnBg: #FBEBDD;--infoFg: #35607F;--infoBg: #E4ECF3;--okFg: #2D6A54;--okBg: #E3ECE0;--shadow: 0 1px 2px rgba(22,48,42,.05), 0 6px 20px rgba(22,48,42,.05);--ff: "DM Sans","Noto Sans Tamil",system-ui,sans-serif;--mono: "JetBrains Mono",ui-monospace,Menlo,monospace}:root[data-theme=dark]{--bg: #0D1412;--card: #151D1A;--ink: #E9F0EB;--sub: #A3B1A9;--faint: #76847C;--line: #26302C;--pri: #7CC7A0;--priInk: #0D1412;--soft: #1C302A;--warm: #2A251E;--fill: #1E2824;--dangerFg: #F49A82;--dangerBg: #3A1E18;--warnFg: #EAB06F;--warnBg: #3A2A1E;--infoFg: #9CC0E0;--infoBg: #1E2A35;--okFg: #7CC7A0;--okBg: #1C302A;--shadow: none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ff);font-size:14px}a{color:var(--pri)}button{font-family:var(--ff);cursor:pointer}button:disabled{opacity:.5;cursor:default}input,select{font-family:var(--ff)}.mono{font-family:var(--mono)}.center{min-height:100vh;display:grid;place-items:center;padding:20px}.card-login{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px;width:380px;max-width:100%;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:13px}.card-login h1{font-size:21px;margin:0;letter-spacing:-.3px}.card-login .sub{color:var(--sub);margin:-4px 0 8px}.card-login label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--sub)}.logo b{font-weight:700}.logo .g{color:var(--pri)}input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:var(--bg);color:var(--ink)}input:focus,select:focus{outline:2px solid var(--pri);outline-offset:-1px;border-color:var(--pri)}.btn{background:var(--pri);color:var(--priInk);border:0;border-radius:10px;padding:10px 16px;font-weight:600}.btn.sm{padding:6px 12px;font-size:13px}.btn.ghost{background:var(--fill);color:var(--ink)}.err{color:var(--dangerFg);font-size:13.5px;margin:4px 0}.ok{color:var(--okFg);font-size:13.5px;margin:4px 0}.shell{display:grid;grid-template-columns:248px 1fr;height:100vh;min-width:1100px}.rail{background:var(--bg);border-right:1px solid var(--line);padding:16px 14px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;padding:6px 8px 14px}.brand .mark{width:34px;height:34px;border-radius:9px;background:var(--soft);color:var(--pri);display:grid;place-items:center;flex:none}.brand .t b{font-size:16px;letter-spacing:-.3px}.brand .t .g{color:var(--pri)}.brand .t small{display:block;color:var(--sub);font-size:12px;margin-top:1px}.grp{color:var(--faint);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:14px 10px 5px}.nav{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;color:var(--sub);font-size:14px;font-weight:500;padding:8px 10px;border-radius:9px}.nav:hover{background:var(--fill);color:var(--ink)}.nav.on{background:var(--soft);color:var(--pri);font-weight:600}.nav .ic{width:18px;height:18px;flex:none;display:grid;place-items:center}.nav .badge{margin-left:auto;background:var(--warnBg);color:var(--warnFg);font-size:11px;font-weight:700;border-radius:999px;padding:1px 7px}.nav.on .badge{background:var(--card)}.rail .spacer{flex:1}.oncall{background:var(--warm);border-radius:12px;padding:11px 12px;margin:10px 2px;font-size:12.5px}.oncall b{display:block}.oncall .dot{color:var(--dangerFg)}.roleswitch{margin:6px 2px}.roleswitch .lbl{color:var(--faint);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:0 6px 6px}.roleswitch .seg{display:flex;background:var(--fill);border-radius:9px;padding:3px}.roleswitch .seg button{flex:1;border:0;background:none;color:var(--sub);font-size:13px;font-weight:600;padding:6px;border-radius:7px}.roleswitch .seg button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.userfoot{display:flex;align-items:center;gap:10px;padding:10px 6px 4px;border-top:1px solid var(--line);margin-top:8px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--pri);color:var(--priInk);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}.userfoot .nm b{font-size:13.5px}.userfoot .nm small{display:block;color:var(--sub);font-size:12px}.iconbtn{margin-left:auto;width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--sub);display:grid;place-items:center}.main{display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;align-items:center;gap:14px;padding:14px 26px;border-bottom:1px solid var(--line)}.search{flex:1;max-width:520px;position:relative}.search input{padding-left:36px;background:var(--card)}.search .mag{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--faint)}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:10px}.content{padding:24px 26px 48px;overflow-y:auto}.content>h1{font-size:26px;margin:0 0 2px;letter-spacing:-.5px}.content .kicker{color:var(--sub);font-size:13px;margin:0 0 18px}.rowbetween{display:flex;align-items:center;justify-content:space-between;gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.card.pad{padding:18px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cols2{display:grid;grid-template-columns:1.6fr 1fr;gap:14px}.metric .lbl{color:var(--sub);font-size:13px}.metric .big{font-size:30px;font-weight:700;letter-spacing:-.5px;margin:4px 0 2px}.metric .delta{color:var(--okFg);font-size:12.5px}.alertcard{display:flex;align-items:center;gap:13px;padding:16px}.alertcard .ib{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex:none}.alertcard b{font-size:20px}.chip{background:var(--fill);color:var(--sub);border:0;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600}.chip.on{background:var(--ink);color:var(--card)}.tag{font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px;display:inline-block}.tag.ok{background:var(--okBg);color:var(--okFg)}.tag.danger{background:var(--dangerBg);color:var(--dangerFg)}.tag.warn{background:var(--warnBg);color:var(--warnFg)}.tag.info{background:var(--infoBg);color:var(--infoFg)}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{text-align:left;color:var(--faint);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid var(--line)}.tbl td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl .u{display:flex;align-items:center;gap:11px}.tbl .u small{display:block;color:var(--sub)}.acts{display:flex;gap:6px}.cols-search{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start;margin-top:14px}.results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.results li{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:11px 13px;cursor:pointer}.results li span{display:block;color:var(--sub);font-size:12.5px}.results li.sel{border-color:var(--pri);box-shadow:0 0 0 1px var(--pri)}.field{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line)}.field span{color:var(--sub)}.note{color:var(--sub);font-size:12.5px;margin-top:14px}.hint{color:var(--sub)}.form{max-width:560px;display:flex;flex-direction:column;gap:14px}.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--sub)}.form label.chk{flex-direction:row;align-items:center;gap:9px}.form label.chk input{width:auto}.form .btn{align-self:flex-start}.flag{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.flag:last-child{border-bottom:0}.flag .nm b{font-family:var(--mono);font-size:13.5px}.flag .nm small{display:block;color:var(--sub);margin-top:2px}.placeholder{display:grid;place-items:center;min-height:320px;text-align:center}.placeholder .ib{width:54px;height:54px;border-radius:14px;background:var(--fill);color:var(--sub);display:grid;place-items:center;margin:0 auto 14px}.placeholder h2{margin:0 0 6px}.placeholder p{color:var(--sub);max-width:380px;margin:0 auto}
