:root{--navy:#10213b;--navy-soft:#1b355b;--blue:#2567bf;--blue-dark:#1d54a0;--ink:#182230;--muted:#687387;--line:#d8dee8;--surface:#ffffff;--canvas:#f3f6fa;--success:#177245;--warning:#9a6500;--danger:#b42318}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--canvas);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}a{color:inherit;text-decoration:none}.login-page{align-items:center;background:var(--navy);display:flex;min-height:100vh;padding:24px}.login-panel{background:var(--surface);border-radius:8px;box-shadow:0 24px 60px rgb(0 0 0/24%);margin:auto;max-width:420px;padding:36px;width:100%}.brand-mark{align-items:center;background:var(--navy);border-radius:6px;color:white;display:flex;font-size:22px;font-weight:800;height:48px;justify-content:center;width:48px}.brand-mark.small{background:white;color:var(--navy);flex:0 0 auto;font-size:17px;height:36px;width:36px}.login-heading{margin:20px 0 28px}.login-heading span{color:var(--blue);font-weight:700}.login-heading h1{font-size:24px;letter-spacing:0;margin:5px 0 0}.login-panel form{display:grid;grid-gap:18px;gap:18px}.login-panel>small{color:var(--muted);display:block;margin-top:24px;text-align:center}label{color:var(--muted);display:grid;font-size:12px;font-weight:700;grid-gap:7px;gap:7px;min-width:0}input,select,textarea{background:white;border:1px solid var(--line);border-radius:6px;color:var(--ink);min-height:42px;outline:none;padding:0 12px;width:100%}textarea{min-height:96px;padding:10px 12px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgb(37 103 191/12%)}.input-with-icon{align-items:center;border:1px solid var(--line);border-radius:6px;color:var(--muted);display:flex;padding:0 12px}.input-with-icon:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgb(37 103 191/12%)}.input-with-icon input{border:0;box-shadow:none}.input-with-icon button{background:transparent;border:0;color:var(--muted);display:flex;padding:6px}.primary-button,.secondary-button{align-items:center;border:1px solid transparent;border-radius:6px;display:inline-flex;font-weight:700;gap:7px;justify-content:center;min-height:42px;padding:0 18px}.primary-button{background:var(--blue);color:white}.primary-button:hover{background:var(--blue-dark)}.secondary-button{background:white;border-color:var(--line);color:var(--ink)}.compact{min-height:40px}button:disabled{cursor:not-allowed;opacity:.45}.icon-button{align-items:center;background:white;border:1px solid var(--line);border-radius:6px;color:var(--ink);display:inline-flex;gap:7px;min-height:38px;padding:0 12px}.control-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.control-sidebar{background:var(--navy);color:white;display:flex;flex-direction:column;min-height:100vh;padding:18px 14px}.control-brand{align-items:center;display:flex;font-size:16px;font-weight:800;gap:10px;padding:0 8px 22px}.control-brand small{color:#aab8cb;display:block;font-size:10px;font-weight:600;margin-top:2px;text-transform:uppercase}.control-sidebar nav{border-top:1px solid rgb(255 255 255/10%);padding-top:16px}.control-sidebar nav a{align-items:center;border-radius:6px;display:flex;font-weight:700;gap:10px;padding:11px 12px}.control-sidebar nav a.active{background:var(--navy-soft)}.security-note{align-items:center;border-top:1px solid rgb(255 255 255/10%);color:#aab8cb;display:flex;font-size:11px;gap:8px;margin-top:auto;padding:18px 8px 4px}.control-workspace{min-width:0}.control-topbar{align-items:center;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:68px;padding:0 24px}.control-topbar>div{display:grid;grid-gap:3px;gap:3px}.control-topbar span{color:var(--muted);font-size:11px}.control-topbar strong{font-size:14px}.topbar-actions{align-items:center;display:flex!important;flex-direction:row;gap:8px!important}.control-content{margin:0 auto;max-width:1540px;padding:24px}.page-stack{display:grid;grid-gap:16px;gap:16px}.page-heading{align-items:flex-end;display:flex;justify-content:space-between}.page-heading span{color:var(--muted);font-size:12px}.page-heading h1{font-size:25px;letter-spacing:0;margin:4px 0 0}.summary-grid{background:white;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden}.summary-grid>div{display:grid;grid-gap:7px;gap:7px;padding:16px}.summary-grid>div+div{border-left:1px solid var(--line)}.summary-grid span{color:var(--muted);font-size:11px;font-weight:700}.summary-grid strong{font-size:20px}.filter-bar{background:white;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(260px,1.8fr) repeat(3,minmax(145px,1fr));padding:14px}.search-field div{align-items:center;display:flex;position:relative}.search-field svg{left:12px;position:absolute}.search-field input{padding-left:38px}.table-frame{background:white;border:1px solid var(--line);border-radius:8px;min-width:0;overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;min-width:960px;width:100%}th{background:#f8fafc;color:var(--muted);font-size:11px;padding:12px 14px;text-align:left}td{border-top:1px solid #e7ebf1;padding:13px 14px}tbody tr{cursor:pointer}tbody tr:hover{background:#f7faff}td small,td strong{display:block}td small{color:var(--muted);margin-top:3px}.mono{font-family:Consolas,monospace}.row-action{background:transparent;border:0;color:var(--muted);padding:6px}.status{border-radius:999px;display:inline-block;font-size:11px;font-weight:700;padding:5px 9px;white-space:nowrap}.status.active{background:#e8f6ef;color:var(--success)}.status.provisioning{background:#fff4dc;color:var(--warning)}.status.inactive{background:#eef1f5;color:#596273}.empty-table{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:260px;padding:24px;text-align:center}.empty-table strong{color:var(--ink)}.pagination{border-top:1px solid var(--line);gap:10px;justify-content:flex-end;padding:12px 14px}.pagination,.pagination label{align-items:center;display:flex}.pagination label{flex-direction:row}.pagination select{min-height:36px;width:72px}.pagination>span{color:var(--muted);margin-right:auto}.pagination button{align-items:center;background:white;border:1px solid var(--line);border-radius:6px;display:flex;gap:4px;min-height:36px;padding:0 11px}.feedback{border:1px solid;border-radius:6px;font-size:12px;margin:0;padding:10px 12px}.feedback.error{background:#fff1f0;border-color:#ffc9c5;color:var(--danger)}.feedback.success{background:#ebf8f1;border-color:#b9e5ce;color:var(--success)}.drawer-backdrop{background:rgb(16 33 59/35%);display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:50}.drawer{background:var(--canvas);box-shadow:-12px 0 40px rgb(0 0 0/16%);display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;max-width:760px;width:min(760px,100%)}.drawer>header{align-items:center;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 22px}.drawer>header span{color:var(--muted);font-size:11px}.drawer h2{font-size:19px;margin:3px 0 0}.drawer>header button{background:white;border:1px solid var(--line);border-radius:6px;display:flex;padding:8px}.drawer form{display:grid;grid-gap:12px;gap:12px;overflow-y:auto;padding:16px}fieldset{background:white;border:1px solid var(--line);border-radius:8px;margin:0;padding:16px}legend{color:var(--ink);font-size:13px;font-weight:800;padding:0 5px}.form-grid{display:grid;grid-gap:13px;gap:13px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.drawer>footer{background:white;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;padding:14px 18px}.modal-backdrop{align-items:center;background:rgb(16 33 59/42%);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:60}.password-dialog{background:white;border-radius:8px;box-shadow:0 24px 60px rgb(0 0 0/22%);overflow:hidden;width:min(440px,100%)}.password-dialog>header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:17px 20px}.password-dialog>header span{color:var(--muted);font-size:11px}.password-dialog h2{font-size:19px;margin:3px 0 0}.password-dialog>header button{align-items:center;background:white;border:1px solid var(--line);border-radius:6px;display:flex;padding:8px}.password-dialog form{display:grid;grid-gap:14px;gap:14px;padding:20px}.password-dialog form>footer{border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;margin:4px -20px -20px;padding:14px 20px}.loading-page{align-items:center;color:var(--muted);display:flex;gap:10px;justify-content:center;min-height:100vh}.spinner{animation:spin .8s linear infinite;border-radius:50%;border:2px solid #d9e0ea;border-top:2px solid var(--blue);height:22px;width:22px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:900px){.control-shell{grid-template-columns:76px minmax(0,1fr)}.control-sidebar{padding-inline:10px}.control-brand>span:last-child,.control-sidebar nav a{font-size:0}.control-sidebar nav a{justify-content:center}.control-sidebar nav svg{height:20px;width:20px}.security-note span{display:none}.security-note{justify-content:center}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-grid>div:nth-child(4){border-left:0}.summary-grid>div:nth-child(n+4){border-top:1px solid var(--line)}.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.control-shell{display:block}.control-sidebar{align-items:center;flex-direction:row;min-height:auto;padding:9px 14px}.control-brand{padding:0}.control-sidebar nav{border:0;margin-left:auto;padding:0}.security-note{display:none}.control-topbar{min-height:58px;padding:0 14px}.control-topbar .icon-button span{display:none}.control-content{padding:16px 12px}.page-heading{align-items:stretch;display:grid;grid-gap:12px;gap:12px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid>div{border-left:0!important;border-top:1px solid var(--line)}.summary-grid>div:nth-child(-n+2){border-top:0}.summary-grid>div:nth-child(2n){border-left:1px solid var(--line)!important}.summary-grid>div:last-child{grid-column:1/-1}.filter-bar,.form-grid.three,.form-grid.two{grid-template-columns:1fr}.pagination{display:grid;grid-template-columns:1fr 1fr}.pagination label,.pagination>span{grid-column:1/-1}.pagination button{justify-content:center}}