:root{color-scheme:dark;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,rgba(240,154,69,.16),transparent 28%),radial-gradient(circle at bottom right,rgba(96,122,112,.16),transparent 35%),linear-gradient(160deg,#0d1514,#13201f 42%,#101918);color:#eef5f2}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{letter-spacing:0}#root{min-height:100vh}.app-shell{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;padding:20px;gap:24px}.login-hero,.login-panel-wrap,.dashboard-shell{border-radius:30px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#ffffff05,#ffffff03),#070b0b6b;box-shadow:0 28px 70px #0000006b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-hero{display:grid;place-items:center;min-height:calc(100vh - 40px)}.hero-stack{display:grid;gap:30px;justify-items:center}.hero-kicker{margin:0;font-size:clamp(2.5rem,4vw,4.3rem);font-weight:900;line-height:1.03;color:#f5f8f7}.hero-kicker span{color:#f09a45}.hero-mark{position:relative;width:min(540px,74vh,78%);aspect-ratio:1;display:grid;place-items:center}.logo-halo{position:absolute;inset:3%;border-radius:50%;background:linear-gradient(180deg,#72927e4d,#30403a2e);border:1px solid rgba(203,224,212,.12);box-shadow:inset 0 1px #ffffff1a,0 16px 34px #0000002e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.logo-round{position:relative;width:92%;max-width:510px;display:block}.login-panel-wrap{display:grid;place-items:center;min-height:calc(100vh - 40px);padding:24px}.login-panel{width:min(100%,560px);display:grid;gap:18px;padding:34px;border-radius:28px;background:linear-gradient(180deg,#343a3af5,#222727f0);border:1px solid rgba(214,228,221,.14);box-shadow:inset 0 1px #ffffff1f,0 18px 38px #0000002e}.panel-header{display:flex;align-items:center;gap:16px}.panel-header h1{margin:0;font-size:clamp(2rem,3vw,3rem);line-height:1.02}.panel-header p{margin:6px 0 0;color:#b9cbc3;font-size:1rem}.panel-icon{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;font-size:2rem;background:linear-gradient(180deg,#ffffff1f,#ffffff0d);border:1px solid rgba(255,255,255,.1)}.field{display:grid;gap:8px}.field span{font-size:.95rem;font-weight:800}.field input,.field select{min-height:54px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#080e0e47;color:#eef5f2;padding:0 18px;outline:none}.link-button{justify-self:end;border:0;background:transparent;color:#f4c48b;font-weight:800;cursor:pointer;padding:0}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.btn{min-height:48px;height:48px;padding:0 18px;border-radius:16px;border:0;font-size:15px;font-weight:800;cursor:pointer}.btn-secondary{color:#eef5f2;background:linear-gradient(180deg,#ffffff24,#ffffff0f);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff29,0 10px 24px #0000001f}.btn-primary{color:#fff4ed;background:linear-gradient(180deg,#f3953efa,#d96828eb);box-shadow:inset 0 1px #ffffff24,0 14px 28px #8f431952}.btn-danger{color:#fff0ec;background:linear-gradient(180deg,#df765773,#be462b47);border:1px solid rgba(223,118,87,.32);box-shadow:inset 0 1px #ffffff14,0 10px 24px #a0341e2e}.btn-warning{color:#fff8ec;background:linear-gradient(180deg,#f1bc6361,#c88c2847);border:1px solid rgba(241,188,99,.32);box-shadow:inset 0 1px #ffffff14,0 10px 24px #a06e142e}.status-card{display:grid;gap:8px;padding:16px 18px;border-radius:20px;background:#080e0e38;border:1px solid rgba(255,255,255,.08)}.status-card strong{font-size:.95rem}.status-card p{margin:0;color:#dce9e4;line-height:1.45}.status-card.success{background:#2248368f;border-color:#79c69a47}.status-card.error{background:#5a251c8c;border-color:#df765747}.status-card.warning{background:#59461f80;border-color:#f1bc633d}.dashboard-page{min-height:100vh;padding:12px}.dashboard-shell{max-width:1480px;margin:0 auto;min-height:calc(100vh - 24px);overflow:hidden}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "nav nav";align-items:center;gap:18px 22px;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#ffffff0a,#ffffff03)}.brand{grid-area:brand;display:flex;align-items:center;gap:14px;min-width:0}.brand-badge{width:48px;height:48px;border-radius:16px;padding:6px;background:linear-gradient(180deg,#829d9138,#40544d29);border:1px solid rgba(220,236,229,.12);box-shadow:inset 0 1px #ffffff1f,0 12px 28px #00000029;display:grid;place-items:center}.brand-badge img{width:100%;display:block;object-fit:contain}.brand-title{margin:0;font-size:26px;font-weight:800;line-height:1.05}.brand-title span{color:#f09a45}.brand-subtitle{margin:4px 0 0;color:#b9cbc3;font-size:13px}.nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nav-row{grid-area:nav;justify-content:flex-start;padding-top:4px}.nav-link{color:#b9cbc3;text-decoration:none;padding:10px 14px;border-radius:14px;border:1px solid transparent;font-weight:700;font-size:14px;background:transparent;cursor:pointer}.nav-link.active{color:#eef5f2;background:#ffffff14;border-color:#ffffff14;box-shadow:inset 0 1px #ffffff14}.nav-link:hover{color:#eef5f2;background:#ffffff0d}.top-actions{grid-area:actions;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.pill{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border-radius:999px;background:linear-gradient(180deg,#ffffff1f,#ffffff0d);border:1px solid rgba(214,228,221,.14);color:#eef5f2;font-size:14px;font-weight:700;box-shadow:inset 0 1px #ffffff1a;white-space:nowrap}.pill strong{color:#79c69a}.pill.warn strong{color:#f1bc63}.pill.error strong{color:#df7657}.btn-ghost{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(214,228,221,.14);color:#eef5f2;background:linear-gradient(180deg,#ffffff1f,#ffffff0d);font-size:14px;font-weight:800;box-shadow:inset 0 1px #ffffff1a;cursor:pointer}.layout{padding:22px 24px 26px;display:grid;gap:18px}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.summary-card,.state-card,.maintenance-card,.activity-card,.panel,.session-card{border-radius:24px;background:linear-gradient(180deg,#ffffff1f,#ffffff0f);border:1px solid rgba(214,228,221,.14);box-shadow:inset 0 1px #ffffff1f,0 18px 38px #0000002e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.summary-card{padding:18px 18px 16px;display:grid;gap:14px}.summary-card-muted{opacity:.92}.summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.summary-top-simple{justify-content:flex-start}.summary-label{margin:0;font-size:14px;font-weight:800;color:#b9cbc3;text-transform:uppercase;letter-spacing:.08em}.summary-value{margin:8px 0 0;font-size:44px;font-weight:900;line-height:1}.metrics{display:grid;gap:10px}.metric{display:flex;justify-content:space-between;gap:12px;color:#b9cbc3;font-size:14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07)}.metric strong{color:#eef5f2;font-weight:800}.metric.success strong{color:#79c69a}.metric.warn strong{color:#f1bc63}.metric.danger strong{color:#df7657}.lower-grid{display:grid;grid-template-columns:.95fr 1.35fr .95fr;gap:18px;align-items:start}.state-card,.maintenance-card,.activity-card,.panel,.session-card{padding:18px;display:grid;gap:14px}.side-head,.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.side-title,.card-title{margin:0;font-size:20px;font-weight:800}.side-muted{color:#b9cbc3;font-size:13px}.status-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:#080e0e38;border:1px solid rgba(255,255,255,.06)}.status-line strong{font-size:15px}.status-ok{color:#79c69a}.status-neutral{color:#b9cbc3}.activity-list{display:grid;gap:10px}.activity-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:#080e0e38;border:1px solid rgba(255,255,255,.06)}.activity-dot{width:10px;height:10px;border-radius:50%;background:#79c69a;box-shadow:0 0 0 6px #79c69a1f}.activity-item.warn .activity-dot{background:#f1bc63;box-shadow:0 0 0 6px #f1bc631f}.activity-item strong{display:block;font-size:15px}.activity-item span{color:#b9cbc3;font-size:13px}.activity-time{color:#b9cbc3;font-size:13px;white-space:nowrap}.back-row{display:flex;align-items:center}.back-link{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#ffffff14,#ffffff0a);color:#eef5f2;font-size:14px;font-weight:800;box-shadow:inset 0 1px #ffffff1a;cursor:pointer}.module-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.module-title{margin:0;font-size:36px;font-weight:900;line-height:1.02}.module-subtitle{margin:6px 0 0;color:#b9cbc3;font-size:15px}.main-grid{display:grid;grid-template-columns:1.04fr 1.24fr;gap:18px;align-items:start}.admin-table-shell{display:grid;grid-template-rows:auto 1fr;min-height:100%}.search-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.search{min-height:48px;width:100%;padding:0 16px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#080e0e47;color:#eef5f2;font-size:15px}.action-row{display:flex;gap:12px;flex-wrap:wrap}.count-badge{min-width:52px;height:40px;padding:0 14px;border-radius:14px;display:inline-grid;place-items:center;background:#080e0e42;border:1px solid rgba(255,255,255,.06);font-weight:800}.session-controls{display:grid;gap:14px}.session-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.filter-group{display:flex;gap:8px;flex-wrap:wrap}.filter-pill{min-height:38px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#b9cbc3;display:inline-flex;align-items:center;font-size:13px;font-weight:700;cursor:pointer}.filter-pill.active{background:#f09a4524;color:#eef5f2;border-color:#f09a452e}table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:18px;font-size:14px}thead th{text-align:left;padding:12px 10px;color:#b9cbc3;font-size:12px;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid rgba(255,255,255,.08)}tbody td{padding:14px 10px;border-bottom:1px solid rgba(255,255,255,.06)}tbody tr{background:#080e0e2e;cursor:pointer}tbody tr:hover{background:#ffffff0a}tbody tr.row-selected{background:#f09a451f}tbody tr.filler{background:transparent;cursor:default}tbody tr.filler td{height:118px;border-bottom:0;padding:0}.status-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.08)}.status-authorized{color:#f4fff7;background:#79c69a3d;border-color:#79c69a47}.status-suspended{color:#fff3d4;background:#f1bc6333;border-color:#f1bc633d}.status-revoked{color:#ffdeda;background:#df76572e;border-color:#df765738}.status-disabled{color:#dde6ff;background:#809ad22e;border-color:#809ad238}.status-readonly{color:#fff3d4;background:#f1bc6333;border-color:#f1bc633d}.status-expired{color:#c8d4cc;background:#b4c8be1f;border-color:#b4c8be29}.yes-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800;color:#f4fff7;background:#79c69a38;border:1px solid rgba(121,198,154,.26)}.no-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800;color:#b9cbc3;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.context-stack{display:grid;gap:14px}.role-chip{color:#f3f7f5;background:#ffffff1a;border-color:#ffffff24}.empty-state{display:grid;gap:10px;padding:18px;border-radius:18px;background:#080e0e38;border:1px solid rgba(255,255,255,.06)}.empty-state strong{font-size:16px}.empty-state p{margin:0;color:#dce9e4;line-height:1.5}.detail-grid{display:grid;gap:12px}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:16px;background:#080e0e38;border:1px solid rgba(255,255,255,.06)}.detail-row span{color:#b9cbc3}.detail-row strong{text-align:right}@media(max-width:1360px){.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lower-grid{grid-template-columns:1fr 1fr}.activity-card{grid-column:1 / -1}}@media(max-width:1260px){.main-grid{grid-template-columns:1fr}tbody tr.filler td{height:0}}@media(max-width:1100px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-grid{grid-template-columns:1fr}}@media(max-width:1080px){.app-shell{grid-template-columns:1fr}.login-hero,.login-panel-wrap{min-height:auto}.hero-mark{width:min(420px,72vw)}}@media(max-width:920px){.topbar{grid-template-columns:1fr;grid-template-areas:"brand" "actions" "nav";justify-items:start}.top-actions,.nav-row{justify-content:flex-start}}@media(max-width:720px){.app-shell{padding:12px;gap:16px}.dashboard-page{padding:10px}.layout,.topbar{padding-left:16px;padding-right:16px}.login-panel-wrap{padding:14px}.login-panel{padding:22px}.button-row,.summary-grid,.search-row{grid-template-columns:1fr}.hero-kicker{font-size:2.2rem;text-align:center}.brand-title{font-size:22px}.module-head{align-items:flex-start;flex-direction:column}}.context-card{border-radius:24px;background:linear-gradient(180deg,#ffffff1f,#ffffff0f);border:1px solid rgba(214,228,221,.14);box-shadow:inset 0 1px #ffffff1f,0 18px 38px #0000002e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px 18px;display:grid;grid-template-columns:1.35fr auto auto auto auto;gap:12px;align-items:center}.context-main{display:flex;align-items:center;gap:12px}.context-tag{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border-radius:999px;background:#f09a4524;border:1px solid rgba(240,154,69,.18);color:#eef5f2;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}.context-copy{display:grid;gap:4px}.context-copy h3{margin:0;font-size:20px;font-weight:800}.context-copy p{margin:0;color:#b9cbc3;font-size:13px}.context-meta{padding:10px 12px;border-radius:14px;background:#080e0e38;border:1px solid rgba(255,255,255,.08);min-height:52px;display:grid;align-content:center;gap:3px}.context-meta strong{font-size:14px}.context-meta span{color:#b9cbc3;font-size:12px}.activation-code-modal{width:min(100%,540px)}.activation-code-display{padding:16px;border-radius:16px;background:#080e0e5c;border:1px solid rgba(240,154,69,.24);font-family:Courier New,monospace;font-size:14px;font-weight:700;letter-spacing:.04em;color:#f09a45;word-break:break-all;text-align:center}.activation-code-warning{padding:12px 14px;border-radius:14px;background:#5a251c8c;border:1px solid rgba(223,118,87,.24);color:#fff1ed;font-size:13px;line-height:1.5}@media(max-width:1260px){.context-card{grid-template-columns:1fr 1fr}}@media(max-width:720px){.context-card{grid-template-columns:1fr}}.btn:disabled{opacity:.55;cursor:not-allowed}.panel-disabled{opacity:.88}.form-grid{display:grid;gap:14px}.form-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;padding-top:4px}.password-field{position:relative}.password-field input{width:100%;padding-right:92px}.password-toggle{position:absolute;top:50%;right:10px;transform:translateY(-50%);min-width:72px;min-height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#eef5f2;font-size:12px;font-weight:800;cursor:pointer}.field-error{display:block;margin-top:8px;color:#ffb3a3;font-size:13px;font-weight:700;line-height:1.4}.field-checkbox{display:flex;flex-direction:row;align-items:center;gap:12px}.field-checkbox input[type=checkbox]{width:20px;height:20px;accent-color:#f09a45;cursor:pointer;flex-shrink:0}.field-checkbox span{font-size:.95rem;font-weight:800}.logout-modal-backdrop{position:fixed;inset:0;background:#030708c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:1000}.logout-modal{width:min(100%,520px);display:grid;gap:18px;padding:24px;border-radius:24px;border:1px solid rgba(214,228,221,.14);background:linear-gradient(180deg,#ffffff1f,#ffffff0f);box-shadow:inset 0 1px #ffffff14,0 24px 48px #0000006b}.logout-modal h3{margin:0;font-size:22px;font-weight:800}.logout-modal p{margin:0;color:#dce9e4;line-height:1.5}.logout-modal textarea{min-height:80px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#080e0e47;color:#eef5f2;padding:12px 16px;font-size:14px;font-family:inherit;outline:none;width:100%;box-sizing:border-box}.logout-modal-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.notice-modal{width:min(100%,400px)}.forgot-password-modal{width:min(100%,520px)}.modal-note{margin:0;padding:10px 12px;border-radius:14px;background:#080e0e3d;border:1px solid rgba(255,255,255,.08);color:#dce9e4;line-height:1.45}.modal-inline-message{margin:0;padding:12px 14px;border-radius:14px;line-height:1.5;border:1px solid rgba(255,255,255,.08)}.modal-inline-message.info{background:#39493f75;border-color:#79c69a3d;color:#e6f5ec}.modal-inline-message.success{background:#22483680;border-color:#79c69a3d;color:#e6f5ec}.modal-inline-message.error{background:#5a251c8c;border-color:#df76573d;color:#fff1ed}.two-col-layout{display:grid;grid-template-columns:340px 1fr;gap:20px;align-items:start}.left-col,.right-col{display:grid;gap:16px}.maintenance-panel{padding:20px 24px;display:grid;gap:14px}.history-panel{overflow:hidden}.run-detail{margin-top:8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:10px}.scope-cell{font-size:.82rem;color:#b9cbc3}.empty-hint{margin:0;font-size:.9rem;color:#8aa49b}.panel-actions{padding-top:4px}.purge-scope-list{display:grid;gap:10px;padding:8px 0}.policy-edit-modal{width:480px}.policy-edit-modal .detail-grid{display:grid;gap:14px}.policy-edit-modal .detail-row{display:grid;gap:6px}.policy-edit-modal .detail-row label{font-size:.88rem;color:#b9cbc3}.field-input{min-height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#080e0e47;color:#eef5f2;padding:0 14px;outline:none;font:inherit}.status-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:.8rem;font-weight:700}.status-success{background:#285a3c73;color:#7dd9a8;border:1px solid rgba(100,200,140,.22)}.status-warn{background:#5a481473;color:#f5c46f;border:1px solid rgba(230,180,60,.22)}.status-danger{background:#5a251c73;color:#f0917a;border:1px solid rgba(223,118,87,.22)}.btn-sm{min-height:34px;height:34px;padding:0 12px;font-size:13px;border-radius:12px}.monospace{font-family:monospace;font-size:.8rem}.text-danger{color:#f0917a}
