:root{
  --bg:#07111f;
  --bg2:#0b1728;
  --panel:#101e31;
  --panel2:#14243a;
  --line:#20354f;
  --text:#edf5ff;
  --muted:#91a7be;
  --accent:#37b5ff;
  --accent2:#70d6ff;
  --good:#4bd29a;
  --warn:#ffc857;
  --bad:#ff6f7d;
  --shadow:0 24px 70px rgba(0,0,0,.28);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,Segoe UI,Arial,sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
.hidden{display:none!important}
.public-shell{min-height:100vh;background:
  radial-gradient(circle at 80% 8%,rgba(55,181,255,.16),transparent 28%),
  radial-gradient(circle at 12% 30%,rgba(56,91,255,.12),transparent 28%),
  linear-gradient(180deg,#07111f,#081522 60%,#06101b)}
.public-header,.public-footer{max-width:1240px;margin:auto;padding:24px 34px;display:flex;align-items:center;justify-content:space-between}
.public-header{border-bottom:1px solid rgba(255,255,255,.06)}
.brand-lockup,.sidebar-brand{display:flex;align-items:center;gap:12px}
.brand-logo-wrap{width:168px;height:50px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:5px 10px;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.brand-logo{display:block;max-width:100%;max-height:100%;object-fit:contain}
.sidebar-logo-wrap{width:66px;height:40px;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;padding:4px 6px;overflow:hidden}
.sidebar-logo{display:block;max-width:100%;max-height:100%;object-fit:contain}
.brand-name{font-weight:800;letter-spacing:.01em}.brand-product{color:var(--muted);font-size:12px}
.public-auth-banner{max-width:1172px;margin:14px auto 0;padding:13px 16px;border-radius:11px;border:1px solid rgba(255,111,125,.3);background:rgba(255,111,125,.08);color:#ffc6cc}
.public-auth-banner.good{border-color:rgba(75,210,154,.3);background:rgba(75,210,154,.08);color:#b9f7d9}
.public-auth-banner.warn{border-color:rgba(255,200,87,.3);background:rgba(255,200,87,.08);color:#ffe5a5}
.hero{max-width:1240px;margin:auto;padding:86px 34px 76px;display:grid;grid-template-columns:1.18fr .82fr;gap:70px;align-items:center}
.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.16em;color:var(--accent2);font-weight:800}
.hero h1{font-size:58px;line-height:1.02;letter-spacing:-.045em;margin:15px 0 22px;max-width:760px}
.hero p{font-size:19px;line-height:1.65;color:#b5c7d9;max-width:690px;margin:0}
.hero-actions{display:flex;gap:12px;margin-top:31px;flex-wrap:wrap}
.button{border:1px solid transparent;border-radius:11px;padding:12px 17px;font-weight:750;color:var(--text);background:transparent;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.button-primary{background:linear-gradient(135deg,#0ea5e9,#2563eb);box-shadow:0 12px 30px rgba(37,99,235,.25)}
.button-secondary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.button-ghost{border-color:rgba(255,255,255,.12)}
.button.compact{padding:8px 12px;border-radius:9px}
.button:hover{filter:brightness(1.08)}
.trust-strip{display:flex;gap:17px;flex-wrap:wrap;margin-top:34px;color:#7590aa;font-size:12px}
.trust-strip span:before{content:'•';color:var(--accent);margin-right:7px}
.hero-panel{position:relative}.hero-panel:before{content:'';position:absolute;inset:-28px;background:radial-gradient(circle,rgba(55,181,255,.18),transparent 70%);filter:blur(18px)}
.signal-card{position:relative;background:linear-gradient(180deg,rgba(18,34,55,.96),rgba(9,22,37,.96));border:1px solid rgba(112,214,255,.18);border-radius:25px;padding:30px;box-shadow:var(--shadow)}
.signal-head{display:flex;justify-content:space-between;align-items:center;color:#bfd3e5}.pill{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;color:#b8d9ef;background:rgba(55,181,255,.08);border:1px solid rgba(55,181,255,.18)}.pill-good{color:#81f1bd;background:rgba(75,210,154,.1);border:1px solid rgba(75,210,154,.25)}
.score-row{display:flex;align-items:baseline;gap:4px;margin:24px 0 8px}.score-row strong{font-size:68px;line-height:1;letter-spacing:-.05em}.score-row span{font-size:20px;color:var(--muted)}
.meter{height:8px;background:#1d3048;border-radius:999px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#38bdf8);border-radius:999px}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:27px}.mini-grid div{padding:17px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}.mini-grid span{display:block;color:var(--muted);font-size:11px}.mini-grid b{font-size:20px;margin-top:4px;display:block}
.capabilities{max-width:1240px;margin:auto;padding:0 34px 80px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.capabilities article{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);padding:25px;border-radius:16px}.capabilities h3{margin:13px 0 7px;font-size:17px}.capabilities p{color:#93aac0;margin:0;line-height:1.65}.cap-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#0d2944;border:1px solid rgba(55,181,255,.25);color:var(--accent2);font-size:11px;font-weight:900}
.public-footer{color:#66819b;border-top:1px solid rgba(255,255,255,.05);font-size:12px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr);background:#07101b}
.sidebar{position:sticky;top:0;height:100vh;background:#081522;border-right:1px solid #15283c;padding:19px 14px;display:flex;flex-direction:column}.sidebar-brand{padding:0 8px 18px;border-bottom:1px solid #15283c}.sidebar-brand b{display:block;font-size:14px}.sidebar-brand small{display:block;color:var(--muted);margin-top:1px;font-size:11px}
#nav{display:flex;flex-direction:column;gap:4px;margin-top:18px}.nav-item{border:0;text-align:left;color:#91a8bf;background:transparent;padding:11px 13px;border-radius:9px;font-weight:650}.nav-item:hover{color:#dceafa;background:#0d1d2e}.nav-item.active{color:white;background:linear-gradient(90deg,#0b2e4d,#0c2440);box-shadow:inset 3px 0 var(--accent)}
.sidebar-foot{margin-top:auto;padding:14px 8px 2px;border-top:1px solid #15283c}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:35px;height:35px;border-radius:50%;background:#123554;display:grid;place-items:center;color:#84d8ff;font-weight:900}.user-chip b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}.user-chip small{color:var(--muted);font-size:10px}.link-button{border:0;background:transparent;color:#6fa8ce;padding:9px 0 0;font-size:11px}
.workspace{min-width:0}.workspace-header{min-height:92px;padding:22px 30px;border-bottom:1px solid #14273b;display:flex;justify-content:space-between;align-items:center;background:rgba(8,20,33,.95);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.workspace-header h2{margin:5px 0 0;font-size:25px;letter-spacing:-.02em}.header-actions{display:flex;align-items:center;gap:12px}.status-dot{display:flex;align-items:center;gap:7px;color:#91a7be;font-size:11px}.status-dot i{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px rgba(75,210,154,.1)}
.view{padding:28px 30px 50px;max-width:1500px}.banner{margin:18px 30px 0;padding:12px 15px;border-radius:10px;border:1px solid #28415c;background:#0d2235;color:#c3d6e8}.banner.warn{border-color:rgba(255,200,87,.28);background:rgba(255,200,87,.08);color:#ffe5a5}.banner.error{border-color:rgba(255,111,125,.28);background:rgba(255,111,125,.07);color:#ffc6cc}.banner.good{border-color:rgba(75,210,154,.28);background:rgba(75,210,154,.07);color:#b9f7d9}
.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:13px}.metric{background:linear-gradient(180deg,#0e1d2e,#0b1726);border:1px solid #1b3046;border-radius:15px;padding:19px}.metric span{display:block;color:#8199b0;font-size:11px}.metric b{display:block;font-size:29px;margin-top:9px;letter-spacing:-.03em}.metric em{font-style:normal;color:#5b7996;font-size:10px}.metric.score b{color:#7ee4b2}
.panel-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:14px}.panel{background:#0b1828;border:1px solid #1b3046;border-radius:15px;overflow:hidden}.panel-head{padding:17px 18px;border-bottom:1px solid #172b40;display:flex;justify-content:space-between;align-items:center}.panel-head h3{margin:0;font-size:14px}.panel-body{padding:18px}.muted{color:var(--muted)}
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:11px 10px;border-bottom:1px solid #15283d;white-space:nowrap}.data-table th{color:#6f89a2;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.data-table td{font-size:12px;color:#c8d7e6}.data-table tr:last-child td{border-bottom:0}
.risk{font-weight:800;font-size:10px;padding:4px 7px;border-radius:999px;display:inline-block}.risk.Low{background:rgba(75,210,154,.09);color:#7de4b1}.risk.Medium{background:rgba(255,200,87,.09);color:#ffd985}.risk.High,.risk.Critical{background:rgba(255,111,125,.09);color:#ff9aa5}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.toolbar h3{margin:0;font-size:18px}.toolbar p{margin:3px 0 0;color:var(--muted);font-size:12px}.stack{display:flex;flex-direction:column;gap:13px}.card{background:#0b1828;border:1px solid #1b3046;border-radius:15px;padding:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field label{display:block;color:#8299af;font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #243b54;background:#081522;color:#eaf3fb;border-radius:9px;padding:10px 11px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#2c8ed0;box-shadow:0 0 0 3px rgba(44,142,208,.08)}.field.full{grid-column:1/-1}.field textarea{min-height:90px;resize:vertical}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;margin-top:3px}
.empty{padding:40px;text-align:center;color:#708aa3}.empty b{display:block;color:#bfd0df;margin-bottom:5px}.loading-card{display:flex;align-items:center;gap:12px;color:#98aec2}.spinner{width:19px;height:19px;border:2px solid #25415d;border-top-color:#53c2ff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.callout{border:1px solid #21405e;background:#0b2033;border-radius:13px;padding:17px}.callout h4{margin:0 0 6px}.callout p{margin:0;color:#91a8bd}.hash{font-family:Consolas,monospace;word-break:break-all;color:#82d6ff;background:#07111d;border:1px solid #193047;padding:10px;border-radius:8px;font-size:11px}
.role-chips{display:flex;gap:6px;flex-wrap:wrap}.role-chip{padding:4px 7px;border-radius:999px;background:#0e2a42;color:#83cfff;border:1px solid #1b4666;font-size:10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kv{display:grid;grid-template-columns:170px 1fr;gap:8px 14px;font-size:12px}.kv dt{color:#7991a8}.kv dd{margin:0;color:#c8d8e8;word-break:break-word}.code{font-family:Consolas,monospace;background:#07111d;border:1px solid #193047;border-radius:9px;padding:12px;color:#bde5ff;font-size:11px;overflow:auto}
@media(max-width:1050px){.hero{grid-template-columns:1fr}.capabilities{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:repeat(3,1fr)}.panel-grid,.two-col{grid-template-columns:1fr}}
@media(max-width:760px){.public-header,.public-footer{padding:18px}.brand-logo-wrap{width:132px;height:44px}.brand-name{display:none}.public-auth-banner{margin:12px 18px 0}.hero{padding:55px 18px}.hero h1{font-size:40px}.capabilities{padding:0 18px 55px;grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar #nav{display:grid;grid-template-columns:repeat(2,1fr)}.sidebar-foot{display:none}.workspace-header{position:static;padding:18px}.view{padding:18px}.metric-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.field.full,.form-actions{grid-column:1}.banner{margin:14px 18px 0}}

/* V1.0.4 customer workspace + role-aware access */
.brand-logo-wrap{width:52px;height:40px;padding:3px 5px;background:#fff;border-radius:10px;flex:0 0 auto;overflow:hidden}
.brand-logo{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.sidebar-logo-wrap{width:44px;height:34px;padding:3px 4px;background:#fff;border-radius:9px;flex:0 0 auto;overflow:hidden}
.sidebar-logo{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.public-header .brand-lockup{min-width:0}
.public-header .brand-name{font-size:14px}
.public-header .brand-product{font-size:11px}
.tenant-context{margin:14px 4px 2px;padding:11px 12px;border:1px solid #1e405d;border-radius:10px;background:#0b2033;display:flex;flex-direction:column;gap:3px}
.tenant-context span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#68c8ff;font-weight:800}
.tenant-context b{font-size:12px;color:#e8f4ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tenant-context small{font-family:Consolas,monospace;font-size:8px;color:#6f8ba4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tenant-context-clear{border:0;background:transparent;color:#69bde9;text-align:left;padding:5px 0 0;font-size:10px}
.toolbar-actions{display:flex;align-items:center;gap:8px}.admin-metrics{grid-template-columns:repeat(5,minmax(130px,1fr))}
.tenant-name{display:flex;flex-direction:column;gap:2px}.tenant-name small{font-size:9px;color:#65819b;font-family:Consolas,monospace}.tenant-table code{font-family:Consolas,monospace;font-size:10px;color:#9bcceb}
.tenant-status,.plan-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800;border:1px solid #28435d}.tenant-status.status-active{color:#8bf0be;background:rgba(75,210,154,.08);border-color:rgba(75,210,154,.25)}.tenant-status.status-suspended{color:#ffacb5;background:rgba(255,111,125,.08);border-color:rgba(255,111,125,.25)}.plan-chip{color:#9edaff;background:#0e2942;border-color:#1c4b70}
.row-actions{display:flex;gap:7px}.mini-action{border:1px solid #28435d;background:#0b1d2e;color:#9cb4ca;border-radius:8px;padding:6px 8px;font-size:9px;font-weight:750}.mini-action.primary{color:#dff5ff;border-color:#24699a;background:#0c3152}.mini-action:hover{filter:brightness(1.1)}
.tenant-manager-card{scroll-margin-top:110px}.tenant-manager-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.tenant-manager-head h3{font-size:22px;margin:4px 0 2px}.tenant-manager-head p{margin:0;color:#718ba5;font-size:11px;font-family:Consolas,monospace}.tenant-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px;margin-top:16px}.tenant-detail-grid>div{background:#081522;border:1px solid #1c3046;border-radius:11px;padding:12px}.tenant-detail-grid span{display:block;color:#7892aa;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.tenant-detail-grid b{display:block;font-size:22px;margin-top:5px}.registry-meta{display:flex;gap:18px;flex-wrap:wrap;color:#68839c;border-top:1px solid #1a2d41;margin-top:18px;padding-top:12px;font-size:10px}.split-actions{justify-content:space-between;gap:10px}
@media(max-width:1050px){.admin-metrics{grid-template-columns:repeat(3,1fr)}.tenant-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.brand-logo-wrap{width:46px;height:35px}.brand-name{display:block!important;font-size:12px!important}.sidebar-logo-wrap{width:40px;height:31px}.admin-metrics{grid-template-columns:repeat(2,1fr)}.tenant-detail-grid{grid-template-columns:repeat(2,1fr)}.split-actions{flex-direction:column}.row-actions{flex-direction:column}}


/* V1.0.4 customer workspace + role-based access */
.brand-logo-wrap{width:42px!important;height:32px!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.brand-logo{width:42px!important;height:32px!important;object-fit:contain!important}
.sidebar-logo-wrap{width:38px!important;height:30px!important;padding:0!important;background:transparent!important;border-radius:0!important;overflow:visible!important}
.sidebar-logo{width:38px!important;height:30px!important;object-fit:contain!important}
.sidebar-brand{min-height:54px}.sidebar-brand>div:last-child{min-width:0}.sidebar-brand b{font-size:13px}.sidebar-brand small{font-size:10px}
.workspace-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.onboarding-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.progress-ring{width:62px;height:62px;border-radius:50%;border:5px solid #173a55;display:grid;place-items:center;color:#7ed7ff;font-weight:850;font-size:14px;background:#081827;flex:0 0 auto}.onboarding-list{margin-top:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.onboarding-step{display:flex;align-items:center;gap:8px;border:1px solid #1a3248;background:#091a29;border-radius:9px;padding:9px 10px;color:#7894ad}.onboarding-step span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid #31516b;font-size:11px}.onboarding-step b{font-size:10px}.onboarding-step.complete{color:#c8f5df;border-color:rgba(69,209,151,.25);background:rgba(45,171,120,.06)}.onboarding-step.complete span{border-color:#3cb981;color:#7ff0b7}
.capability-grid{display:flex;flex-wrap:wrap;gap:7px}.capability-grid span,.capability-tags span{display:inline-flex;border:1px solid #22415b;background:#0a2135;color:#9fd7f5;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:750}.role-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.role-model-card{border:1px solid #1b3349;background:#091a29;border-radius:12px;padding:13px}.role-model-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.role-model-card b{font-size:12px}.role-model-card code{font-size:9px;color:#7bbce4}.role-model-card p{font-size:10px;color:#8099b0;line-height:1.5;margin:8px 0 10px}.capability-tags{display:flex;flex-wrap:wrap;gap:5px}.capability-tags span{font-size:8px;padding:4px 6px}
.access-gate{min-height:62vh;display:grid;place-items:center}.access-gate-card{max-width:720px;width:100%;text-align:left}.access-shield{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#138be8,#2857dd);display:grid;place-items:center;font-weight:900;color:#fff;margin-bottom:16px}.access-gate-card h3{font-size:26px;margin:8px 0}.access-gate-card>p{color:#8aa2b8;line-height:1.6}
@media(max-width:980px){.workspace-access-grid,.role-model-grid{grid-template-columns:1fr}.onboarding-list{grid-template-columns:1fr}}


/* V1.0.5 operational governance centers */
.operational-metrics{margin-top:0}.asset-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800;border:1px solid #28435d;background:#0b1c2c;color:#a9bfd3}.asset-status.approved{color:#87efbd;border-color:rgba(75,210,154,.3);background:rgba(75,210,154,.08)}.asset-status.blocked,.asset-status.suspended{color:#ffacb5;border-color:rgba(255,111,125,.3);background:rgba(255,111,125,.08)}.asset-status.under-review{color:#ffd58e;border-color:rgba(255,190,90,.3);background:rgba(255,190,90,.08)}.asset-status.retired{color:#93a6b8;background:#101d2a}.asset-manager-card{scroll-margin-top:110px}.asset-manager-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.asset-manager-head h3{font-size:22px;margin:4px 0}.asset-manager-head p{margin:0;color:#718ba5;font-size:11px;font-family:Consolas,monospace;word-break:break-all}.small-value{font-size:14px!important;line-height:1.25}.checkbox-field{align-self:end}.checkbox-field label{display:flex;gap:8px;align-items:center;color:#b8cada!important;text-transform:none!important;letter-spacing:0!important}.checkbox-field input{width:auto}.hash-inline{font-size:10px;color:#a9dfff}.hash{word-break:break-all;font-family:Consolas,monospace;background:#07111d;border:1px solid #193047;border-radius:8px;padding:10px;color:#bde5ff;font-size:10px}
