:root{--bg:#05111f;--bg2:#071a2d;--panel:#0a1c2f;--panel2:#0d2239;--line:#1b3c5c;--text:#ecf5ff;--muted:#8fa9c4;--blue:#2388ff;--cyan:#00c6e8;--green:#37d46e;--red:#ff535d;--orange:#f5a623;--purple:#8e62ff;--shadow:0 12px 30px rgba(0,0,0,.22)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Segoe UI,Inter,Arial,sans-serif;background:linear-gradient(135deg,#020a13,#07182a);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:224px;background:linear-gradient(180deg,#073a72 0,#08284c 48%,#06182d 100%);border-right:1px solid #17466f;padding:15px 10px;z-index:20;display:flex;flex-direction:column;transition:.2s}.brand{height:66px;display:flex;align-items:center;padding:4px 7px}.brand img{width:190px;max-height:55px;object-fit:contain}.role-box{background:#06213e;border:1px solid #195181;border-radius:10px;padding:10px 12px;margin:4px 4px 14px}.role-box b,.role-box span{display:block}.role-box span{font-size:12px;color:#93b8dc;margin-top:3px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.sidebar-bottom a{display:flex;align-items:center;gap:11px;padding:12px;border-radius:8px;color:#d7e9fa}.sidebar nav a i{font-style:normal;font-size:18px;width:21px;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,#176cde,#3156d7);box-shadow:0 6px 18px #001a3e88}.sidebar-bottom{margin-top:auto;border-top:1px solid #1a476c;padding-top:12px}.content{margin-left:224px;min-height:100vh;transition:.2s}.topbar{height:70px;position:sticky;top:0;z-index:10;background:#061426e8;backdrop-filter:blur(10px);border-bottom:1px solid #153957;display:flex;justify-content:space-between;align-items:center;padding:0 24px}.menu-btn{background:none;border:0;color:white;font-size:23px;margin-right:12px;cursor:pointer}.page-title{font-size:21px;font-weight:700}.top-meta{display:flex;align-items:center;gap:10px;color:#b6cae0;font-size:13px}.online-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#2258c9;color:white;font-weight:700;margin-left:8px}.page-wrap{padding:18px 20px 28px;max-width:1680px;margin:auto}.footer{padding:12px 25px 22px;color:#6485a7;text-align:center;font-size:12px}.grid{display:grid;gap:14px}.kpi-grid{grid-template-columns:repeat(8,minmax(130px,1fr));margin-bottom:14px}.three{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:repeat(2,1fr)}.panel,.kpi{background:linear-gradient(180deg,#0a1d31,#081827);border:1px solid #1a3c5b;border-radius:12px;box-shadow:var(--shadow)}.panel{padding:15px}.kpi{padding:16px;min-height:112px}.kpi .label{text-transform:uppercase;font-size:11px;color:#a5bdd5;font-weight:700;letter-spacing:.2px}.kpi .value{font-size:28px;font-weight:700;margin-top:14px}.kpi .sub{font-size:11px;color:#7896b4;margin-top:7px}.blue{color:#45a1ff!important}.green{color:var(--green)!important}.red{color:var(--red)!important}.orange{color:var(--orange)!important}.purple{color:#a783ff!important}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel-title h3{font-size:14px;margin:0;text-transform:uppercase}.muted{color:var(--muted)}.chart{height:215px;width:100%}.chart.small{height:130px}.donut{width:180px;height:180px;border-radius:50%;margin:auto;background:conic-gradient(#ff545f 0 36%,#f5a623 36% 60%,#287dff 60% 76%,#35c66f 76% 88%,#8e62ff 88%);position:relative}.donut:after{content:attr(data-center);position:absolute;inset:35px;border-radius:50%;background:#081827;display:grid;place-items:center;font-size:24px;font-weight:700}.legend{display:grid;gap:9px;font-size:12px}.legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c,#2388ff);margin-right:8px}.telemetry-card{padding:16px;border:1px solid #1c4568;border-radius:10px;background:#0b2035}.telemetry-card h4{margin:0 0 10px;font-size:13px}.telemetry-big{font-size:30px;font-weight:700}.telemetry-status{font-size:11px;color:var(--green)}.table-wrap{overflow:auto;border-radius:9px;border:1px solid #183a58}table{width:100%;border-collapse:collapse;min-width:700px;background:#081a2b}th,td{padding:10px 12px;border-bottom:1px solid #16344e;text-align:left;font-size:12px}th{color:#a6c0d9;background:#0b2238;font-weight:700}tr:hover td{background:#0c2237}.badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:700}.badge.ok{background:#123c2c;color:#62e68e}.badge.warn{background:#463413;color:#ffd06a}.badge.muted{background:#263646;color:#b8c7d5}.btn{border:1px solid #285f91;background:#0b2742;color:#eef7ff;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:700;display:inline-flex;gap:7px;align-items:center;justify-content:center}.btn:hover{filter:brightness(1.12)}.btn.primary{border-color:#2574dd;background:linear-gradient(90deg,#175ad7,#178cff)}.btn.success{border-color:#1e9d5a;background:linear-gradient(90deg,#118544,#18b261)}.btn.danger{background:#61232a;border-color:#b1404e}.btn.full{width:100%;padding:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.alert{padding:12px 14px;border-radius:8px;margin-bottom:14px}.alert.success{background:#0b3d29;border:1px solid #168e53}.alert.danger{background:#431923;border:1px solid #a83a4d}.alert.info{background:#0a2c4d;border:1px solid #236da7}.filters,.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.form-grid.two-col{grid-template-columns:repeat(2,1fr)}label{font-size:12px;color:#a8c0d7;display:block}input,select,textarea{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #254866;border-radius:7px;background:#071827;color:#eaf5ff;outline:none}input:focus,select:focus,textarea:focus{border-color:#2b92ff;box-shadow:0 0 0 2px #1a74d433}textarea{min-height:80px;resize:vertical}.section-head{font-size:14px;color:#54a3ff;margin:0 0 12px}.progress{height:7px;background:#173049;border-radius:7px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#2f77ff,#37d46e)}.job-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.info-item{border-right:1px solid #1b3c58;padding:7px 10px}.info-item small{display:block;color:#829fb9}.info-item b{display:block;margin-top:5px}.login-page{min-height:100vh;background:radial-gradient(circle at 20% 10%,#0a3765 0,#041a33 35%,#020a13 75%)}.login-bg{min-height:100vh;display:grid;grid-template-columns:1.1fr .8fr;align-items:center;gap:60px;padding:6vw;position:relative;overflow:hidden}.login-bg:before{content:'';position:absolute;right:-10%;bottom:-20%;width:70%;height:80%;background:radial-gradient(circle,#0b66b93b,transparent 60%);pointer-events:none}.login-copy,.login-card{position:relative;z-index:1}.login-logo{width:min(620px,85%);max-height:170px;object-fit:contain;object-position:left}.login-copy h1{font-size:34px;margin:15px 0 12px}.login-copy p{max-width:640px;color:#a5bdd5;font-size:17px;line-height:1.6}.login-features{display:flex;gap:15px;flex-wrap:wrap;margin-top:25px}.login-features span{padding:10px 13px;border:1px solid #1f639f;border-radius:8px;background:#061c34}.login-card{max-width:520px;width:100%;justify-self:center;background:#061a31e8;border:1px solid #2b67a0;border-radius:18px;padding:34px;box-shadow:0 28px 90px #0009}.login-card h2{text-align:center;font-size:28px;margin:8px 0}.login-card .muted{text-align:center}.login-role-icon{width:72px;height:72px;border-radius:50%;border:1px solid #2685da;display:grid;place-items:center;margin:auto;color:#42a7ff;font-size:34px}.login-card label{margin-top:16px}.demo-box{margin-top:17px;background:#09294b;border:1px solid #1e5a8c;padding:10px;border-radius:8px;color:#9dc4eb;font-size:12px}.split{display:grid;grid-template-columns:2fr 1fr;gap:14px}.queue-row-active td{background:#0b2b36!important}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.center{text-align:center}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#0b3b2a;color:#60df8d;font-size:11px}.no-data{padding:30px;text-align:center;color:#7390aa}.sidebar-collapsed .sidebar{width:72px}.sidebar-collapsed .sidebar .brand img{width:52px;object-position:left}.sidebar-collapsed .sidebar .role-box,.sidebar-collapsed .sidebar nav span,.sidebar-collapsed .sidebar-bottom span{display:none}.sidebar-collapsed .content{margin-left:72px}
@media(max-width:1300px){.kpi-grid{grid-template-columns:repeat(4,1fr)}.three{grid-template-columns:1fr 1fr}.filters,.form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{width:78px}.sidebar .brand img{width:60px;object-position:left}.sidebar .role-box,.sidebar nav span,.sidebar-bottom span{display:none}.content{margin-left:78px}.login-bg{grid-template-columns:1fr;padding:35px 25px}.login-copy{display:none}.three,.two,.split{grid-template-columns:1fr}.job-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.filters,.form-grid,.form-grid.two-col{grid-template-columns:1fr}.top-meta .clock{display:none}.page-wrap{padding:12px}.page-title{font-size:17px}}

/* Master Reason NG */
.reason-symbol-row{display:flex;gap:12px;align-items:center;margin-top:6px}.symbol-picker{display:flex;gap:7px;flex-wrap:wrap}.symbol-btn{width:42px;height:42px;border:1px solid #285f91;border-radius:8px;background:#071827;color:#fff;font-size:22px;cursor:pointer}.symbol-btn:hover{background:#154d7d;border-color:#43a2ff;transform:translateY(-1px)}.switch-line{display:flex;align-items:center;gap:9px;margin-top:14px;color:#cde2f5}.switch-line input{width:auto;margin:0}.reason-preview-list{display:grid;gap:8px;margin-top:14px}.reason-preview-list>div{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;border:1px solid #183a58;border-radius:8px;padding:10px;background:#081a2b}.reason-preview-list span{font-size:24px;text-align:center}.reason-preview-list b{font-size:13px}.reason-preview-list small{color:#7696b5}
