*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:#f5f7fb;color:#162033}button,input{font:inherit}.muted{color:#788397}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f6f8fc,#edf3ff)}.login-card{width:min(420px,92vw);background:white;padding:38px;border:1px solid #e6ebf2;border-radius:20px;box-shadow:0 18px 50px rgba(30,50,90,.08)}.brand-mark{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:#1d5cff;color:white;font-weight:800;margin-bottom:18px}.brand-mark.small{width:36px;height:36px;border-radius:11px;margin:0;font-size:13px}.login-card h1{margin:0 0 4px}.login-card label,.modal-card label{display:block;font-size:13px;font-weight:700;margin:18px 0 7px}.login-card input,.modal-card input{width:100%;padding:12px 14px;border:1px solid #dfe5ee;border-radius:10px;outline:none}.login-card input:focus,.modal-card input:focus{border-color:#1d5cff;box-shadow:0 0 0 3px rgba(29,92,255,.1)}button{border:0;border-radius:10px;padding:11px 15px;cursor:pointer}.login-card button,.modal-card button,.primary{width:100%;margin-top:20px;background:#1d5cff;color:white;font-weight:700}.error{color:#d33;font-size:13px;min-height:18px}.layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#111827;color:#e5e7eb;padding:20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-weight:800}.sidebar nav{display:grid;gap:7px;margin-top:30px}.sidebar nav a{color:#aeb7c6;text-decoration:none;padding:11px 12px;border-radius:9px}.sidebar nav a.active{background:#1d2939;color:white}.sidebar nav a.disabled{opacity:.45}.side-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:13px}.ghost{background:transparent;color:#cbd5e1;padding:6px}.content{padding:28px 34px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}header h1{margin:0}.pill{padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800}.pill.ok{background:#e8f8ef;color:#17834a}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.panel{background:white;border:1px solid #e5eaf1;border-radius:16px;box-shadow:0 7px 22px rgba(24,39,75,.04)}.card{padding:20px}.card span{font-size:13px;color:#7a8699}.card strong{display:block;font-size:28px;margin-top:8px}.panel{margin-top:20px;padding:22px}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel h2{margin:0}.panel .primary{width:auto;margin:0}.primary:disabled{opacity:.45;cursor:not-allowed}.empty{text-align:center;padding:54px 20px;color:#7a8699}.empty-icon{width:52px;height:52px;margin:0 auto 14px;border-radius:14px;display:grid;place-items:center;background:#eef3ff;color:#1d5cff}.empty h3{color:#27364b;margin-bottom:4px}.modal{position:fixed;inset:0;background:rgba(14,22,38,.55);display:grid;place-items:center;padding:20px}.modal.hidden{display:none}.modal-card{width:min(440px,94vw);background:white;border-radius:18px;padding:28px;box-shadow:0 25px 70px rgba(0,0,0,.18)}.modal-card h2{margin-top:0}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{display:none}.content{padding:20px}.cards{grid-template-columns:repeat(2,1fr)}}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #edf0f4;font-size:13px}th{color:#7a8699;font-weight:700;background:#fafbfc}.sub{font-size:11px;color:#8a95a7;margin-top:4px}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:800;font-size:11px;text-transform:capitalize}.status.online{background:#e8f8ef;color:#17834a}.status.down{background:#ffeded;color:#c33}.status.unknown{background:#eef1f5;color:#667085}.small-btn{width:auto!important;margin:0!important}.copy,.danger-lite{padding:7px 10px;font-size:12px}.copy{background:#eef3ff;color:#1d5cff}.danger-lite{background:#fff0f0;color:#c33}.modal-card.wide{width:min(680px,95vw)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-card select{width:100%;padding:12px 14px;border:1px solid #dfe5ee;border-radius:10px;background:white}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal-actions button{width:auto;margin:0}.ghost.dark{color:#475467;background:#f2f4f7}@media(max-width:700px){.grid2{grid-template-columns:1fr}}

/* DGIX modal stacking fix */
.modal {
    z-index: 10000;
}
.modal-card {
    position: relative;
    z-index: 10001;
}
