:root{
  --bg:#0b1020;--panel:#121a2d;--panel2:#17223a;--line:#273552;--text:#edf3ff;--muted:#91a0bb;
  --primary:#4f7cff;--primary2:#8057ff;--green:#31c48d;--yellow:#f5b942;--red:#f05252;--cyan:#22d3ee;
  --shadow:0 18px 45px rgba(0,0,0,.26);--radius:18px
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
body.admin-page{background:linear-gradient(140deg,#09101f 0%,#0c1426 55%,#0c1120 100%)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{position:sticky;top:0;height:100vh;height:100dvh;padding:22px 12px 16px 16px;background:rgba(8,13,27,.96);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;min-height:0}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 18px;flex:0 0 auto}
.sidebar-brand strong{display:block;letter-spacing:.07em}
.sidebar-brand span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.brand-mark{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:30px;font-weight:800;color:white;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 12px 30px rgba(79,124,255,.32)}
.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:20px}
.sidebar nav,.sidebar-nav{display:flex;flex-direction:column;gap:5px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:5px;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#405477 transparent;scrollbar-gutter:stable;overscroll-behavior:contain}
.sidebar nav a{padding:11px 13px;border-radius:11px;color:#aebbd2;font-size:14px;transition:.16s;flex:0 0 auto;scroll-margin-block:12px}
.sidebar nav a:hover{background:#141e35;color:white}
.sidebar nav a.active{background:linear-gradient(90deg,rgba(79,124,255,.2),rgba(128,87,255,.12));color:white;border:1px solid rgba(79,124,255,.38)}
.nav-divider{height:1px;background:var(--line);margin:8px 4px}
.sidebar-footer{margin-top:10px;border-top:1px solid var(--line);padding:13px 8px 0;display:flex;flex-direction:column;gap:4px;flex:0 0 auto;background:rgba(8,13,27,.96)}
.sidebar-footer span{font-weight:700;font-size:14px}
.sidebar-footer small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-footer a{color:#90a8ff;margin-top:8px;font-size:13px}

.sidebar nav::-webkit-scrollbar,.sidebar-nav::-webkit-scrollbar{width:8px}
.sidebar nav::-webkit-scrollbar-track,.sidebar-nav::-webkit-scrollbar-track{background:transparent}
.sidebar nav::-webkit-scrollbar-thumb,.sidebar-nav::-webkit-scrollbar-thumb{background:#334765;border-radius:999px;border:2px solid rgba(8,13,27,.96)}
.sidebar nav::-webkit-scrollbar-thumb:hover,.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#50698f}
.sidebar-scroll-hint{display:none}
@media(max-height:820px){.sidebar{padding-top:14px;padding-bottom:12px}.sidebar-brand{padding-bottom:12px}.sidebar nav a{padding-top:9px;padding-bottom:9px;font-size:13px}.nav-divider{margin:5px 4px}.sidebar-footer{padding-top:10px}}
.main-content{padding:28px 32px 50px;min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}
.topbar h1{margin:0;font-size:27px}
.topbar p{margin:5px 0 0;color:var(--muted);font-size:14px}
.topbar-badge{display:flex;align-items:center;gap:8px;color:#b8c6dc;background:#111a2e;border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-size:13px}
.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(49,196,141,.12)}
.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:14px;margin-bottom:18px}
.stat-card,.panel{background:linear-gradient(145deg,rgba(20,30,51,.98),rgba(15,23,41,.98));border:1px solid var(--line);box-shadow:var(--shadow)}
.stat-card{padding:17px;border-radius:15px;min-width:0}
.stat-card span{display:block;color:#aebbd1;font-size:12px}
.stat-card strong{display:block;font-size:29px;margin:7px 0 3px}
.stat-card small{color:var(--muted);font-size:11px}
.stat-card.warning{border-color:rgba(245,185,66,.35)} .stat-card.warning strong{color:#ffd06b}
.stat-card.danger{border-color:rgba(240,82,82,.35)} .stat-card.danger strong{color:#ff8b8b}
.panel{border-radius:var(--radius);padding:20px;min-width:0}
.panel h2{font-size:17px;margin:0 0 14px}
.panel h3{font-size:14px;margin:20px 0 9px;color:#cbd6e8}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.panel-head h2{margin:0}
.two-column,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.quick-panel{margin-top:18px}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;color:#91a0b9;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:13px 12px;border-bottom:1px solid rgba(39,53,82,.65);vertical-align:middle}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:rgba(255,255,255,.018)}
.actions{display:flex;gap:7px;align-items:center;justify-content:flex-end}
.actions form,.license-actions form,td form{margin:0}
.table-sub{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.mono,code,pre{font-family:Consolas,"SFMono-Regular",monospace}
.serial-link{color:#8facff;font-weight:600}
.code-chip{display:inline-block;padding:4px 7px;border-radius:7px;background:#0c1427;border:1px solid #2d3a58;color:#b8c8e8;font-family:Consolas,monospace;font-size:11px}
.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em}
.badge-active{background:rgba(49,196,141,.13);color:#75e9bd;border:1px solid rgba(49,196,141,.28)}
.badge-suspended{background:rgba(245,185,66,.12);color:#ffd36f;border:1px solid rgba(245,185,66,.3)}
.badge-revoked{background:rgba(240,82,82,.12);color:#ff9090;border:1px solid rgba(240,82,82,.3)}
.tag-row{display:flex;gap:5px;flex-wrap:wrap}
.tag{display:inline-block;padding:4px 7px;background:#1c2943;border:1px solid #334567;border-radius:7px;color:#bfd0ed;font-size:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:10px;padding:10px 14px;font-weight:700;font-size:13px;cursor:pointer;color:white;transition:.15s;background:#23304b}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 8px 20px rgba(79,124,255,.2)}
.btn-secondary{background:#202d47;border-color:#354565}
.btn-danger{background:rgba(240,82,82,.13);border-color:rgba(240,82,82,.38);color:#ff9999}
.btn-warning{background:rgba(245,185,66,.13);border-color:rgba(245,185,66,.36);color:#ffd36d}
.btn-success{background:rgba(49,196,141,.14);border-color:rgba(49,196,141,.35);color:#75e9bd}
.btn-sm{padding:6px 9px;border-radius:8px;font-size:11px}
.btn-full{width:100%}
.text-link{color:#91aaff;font-size:12px}
.page-actions{display:flex;justify-content:flex-end;margin-bottom:13px}
.alert{padding:12px 14px;border-radius:11px;margin:0 0 14px;border:1px solid}
.alert-success{background:rgba(49,196,141,.1);border-color:rgba(49,196,141,.28);color:#9aefce}
.alert-error{background:rgba(240,82,82,.11);border-color:rgba(240,82,82,.3);color:#ffadad}
.alert-warning{background:rgba(245,185,66,.1);border-color:rgba(245,185,66,.28);color:#ffd37b;margin-top:16px}
.form-panel{max-width:920px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}
.field.span-2{grid-column:span 2}
.field label,.panel>label{font-size:12px;color:#c3cee0;font-weight:700}
.field small{font-size:10px;color:var(--muted)}
input,select,textarea{width:100%;border:1px solid #344361;background:#0d1629;color:#edf3ff;border-radius:10px;padding:10px 11px;outline:none}
input:focus,select:focus,textarea:focus{border-color:#617ff1;box-shadow:0 0 0 3px rgba(79,124,255,.12)}
textarea{resize:vertical}
.checkbox-field{justify-content:end}
.checkbox-field label{display:flex;align-items:center;gap:9px;padding:9px 0}
.checkbox-field input{width:auto}
.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}
.empty{text-align:center;color:var(--muted);padding:28px}
.muted{color:var(--muted);font-size:12px}
.activity-list{display:flex;flex-direction:column}
.activity-item{display:grid;grid-template-columns:12px 1fr;gap:11px;padding:11px 0;border-bottom:1px solid rgba(39,53,82,.6)}
.activity-item:last-child{border-bottom:0}
.activity-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--muted)}
.activity-dot.ok{background:var(--green)} .activity-dot.off{background:var(--red)}
.activity-item strong{font-size:12px;margin-right:7px}
.activity-item span{font-size:11px;color:#b7c6de}
.activity-item small{display:block;color:var(--muted);margin-top:4px;font-size:10px}
.license-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.eyebrow{font-size:10px;letter-spacing:.12em;color:var(--muted)}
.serial-display{font-family:Consolas,monospace;font-size:23px;font-weight:800;letter-spacing:.03em;margin:7px 0 11px;color:#b7c9ff}
.license-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.details{display:grid;grid-template-columns:130px 1fr;gap:10px 16px;margin:0}
.details dt{color:var(--muted);font-size:12px}.details dd{margin:0;font-size:13px}
.device-card{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid rgba(39,53,82,.62)}
.device-card:last-child{border-bottom:0}
.device-card>div{display:flex;flex-direction:column;gap:4px}
.device-card>div:last-child{align-items:flex-end}
.device-card small{font-size:10px;color:var(--muted)}
.endpoint-list{display:flex;flex-direction:column;gap:8px;margin:12px 0 18px}
.endpoint-list code{background:#0b1425;padding:9px;border-radius:8px;border:1px solid var(--line);color:#abc0ea}
.api-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.api-response{height:450px;overflow:auto;background:#08101f;border:1px solid #283754;border-radius:12px;padding:15px;margin:0;color:#bcd0ee;font-size:11px;white-space:pre-wrap;word-break:break-word}
.login-page,.public-page{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 25% 20%,#1a2d58 0%,transparent 33%),radial-gradient(circle at 80% 70%,#2c1b5e 0%,transparent 30%),#080d19}
.login-shell,.public-shell{width:min(440px,92vw)}
.login-card,.public-shell{background:rgba(14,22,39,.95);border:1px solid #2c3b5a;border-radius:24px;padding:28px;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.brand-row{display:flex;gap:15px;align-items:center;margin-bottom:24px}
.brand-row h1{font-size:20px;letter-spacing:.07em;margin:0}.brand-row p{color:var(--muted);font-size:12px;margin:5px 0 0}
.login-card form{display:flex;flex-direction:column;gap:9px}.login-card form label{font-size:12px;color:#c8d3e6;margin-top:4px}
.login-help{margin-top:18px;padding:12px;background:#0a1324;border:1px dashed #344766;border-radius:10px;color:#8fa1bd;font-size:11px;line-height:1.7}
.public-shell{text-align:center}.public-shell .brand-mark{margin:0 auto 20px}.public-shell h1{margin:0 0 10px}.public-shell p{color:var(--muted);line-height:1.5}
.status-line{display:inline-flex;align-items:center;gap:8px;margin:12px 0;color:#b7c8df;font-size:13px}
.public-actions{display:flex;justify-content:center;gap:10px;margin:18px 0}.public-shell small{color:#72829d}
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}.main-content{padding:20px}.two-column,.detail-grid{grid-template-columns:1fr}.license-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.field.span-2{grid-column:span 1}.topbar{gap:10px}.topbar-badge{display:none}.sidebar nav{grid-template-columns:1fr}.main-content{padding:16px}.serial-display{font-size:16px;word-break:break-all}}

/* REV004 API activity */
.api-stats-grid{grid-template-columns:repeat(3,minmax(160px,1fr));max-width:780px}
.filter-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.3fr auto;gap:12px;align-items:end}
.filter-submit{margin:0}.filter-submit .btn{min-height:39px}
.api-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px}
.api-metric{background:#0c1628;border:1px solid #2b3a58;border-radius:12px;padding:13px;min-width:0}
.api-metric span{display:block;color:#9fb0ca;font-size:11px}.api-metric strong{display:block;font-size:22px;margin:7px 0 3px}.api-metric small{display:block;color:#7586a2;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.api-metric.danger{border-color:rgba(240,82,82,.36)}.api-metric.danger strong{color:#ff8b8b}.metric-date{font-size:13px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.credential-reveal{border:1px solid #d9a441;border-radius:12px;padding:14px;margin:12px 0;background:rgba(217,164,65,.08)}
.credential-code{height:auto;min-height:160px}
@media(max-width:1200px){.api-metric-grid{grid-template-columns:repeat(3,1fr)}.filter-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.api-metric-grid,.filter-grid{grid-template-columns:1fr}.api-stats-grid{grid-template-columns:1fr 1fr}}

/* REV005 automatic security alerts */
.security-stat-link{display:block;color:inherit;text-decoration:none}.security-stat-link:hover{filter:brightness(1.06)}
.security-stats-grid{grid-template-columns:repeat(4,minmax(150px,1fr));max-width:980px}
.security-toolbar{display:flex;align-items:center;gap:8px}.security-toolbar form{margin:0}
.security-filter-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr 1.2fr 1.6fr auto;gap:12px;align-items:end}
.security-alert-list{display:flex;flex-direction:column;gap:12px}
.security-alert-card{display:grid;grid-template-columns:48px 1fr;gap:14px;background:#0b1527;border:1px solid #293956;border-radius:14px;padding:15px}
.security-alert-card.severity-warning{border-color:rgba(245,185,66,.36);background:linear-gradient(145deg,rgba(245,185,66,.055),#0b1527 38%)}
.security-alert-card.severity-critical{border-color:rgba(240,82,82,.48);background:linear-gradient(145deg,rgba(240,82,82,.07),#0b1527 38%)}
.security-alert-card.status-reviewed{opacity:.88}
.security-alert-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#18243b;border:1px solid #324564;font-size:21px;font-weight:900}
.severity-warning .security-alert-icon{color:#ffd36f;border-color:rgba(245,185,66,.4);background:rgba(245,185,66,.1)}
.severity-critical .security-alert-icon{color:#ff9696;border-color:rgba(240,82,82,.42);background:rgba(240,82,82,.11)}
.security-alert-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.security-alert-head h3{font-size:16px;margin:9px 0 0;color:#edf3ff}
.security-alert-title-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.security-alert-time{text-align:right;color:#788ba9;font-size:10px;line-height:1.5;white-space:nowrap}.security-alert-time strong{color:#b7c7dd;font-size:11px}
.security-alert-main>p{margin:10px 0 14px;color:#bdcbe0;font-size:12px;line-height:1.55}
.security-badge-warning{background:rgba(245,185,66,.12);color:#ffd36f;border:1px solid rgba(245,185,66,.32)}
.security-badge-critical{background:rgba(240,82,82,.13);color:#ff9999;border:1px solid rgba(240,82,82,.36)}
.security-badge-info{background:rgba(79,124,255,.13);color:#9db6ff;border:1px solid rgba(79,124,255,.35)}
.security-status-open{background:rgba(240,82,82,.09);color:#ffb0b0;border:1px solid rgba(240,82,82,.23)}
.security-status-reviewed{background:rgba(245,185,66,.09);color:#ffdda0;border:1px solid rgba(245,185,66,.23)}
.security-status-resolved{background:rgba(49,196,141,.09);color:#9ae8ca;border:1px solid rgba(49,196,141,.23)}
.security-evidence-grid{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:8px}.security-evidence-grid>div{background:#0d192c;border:1px solid #243551;border-radius:9px;padding:9px;min-width:0}.security-evidence-grid span{display:block;color:#788aa5;font-size:9px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.security-evidence-grid strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.security-alert-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid rgba(39,53,82,.6);padding-top:12px;margin-top:12px}.security-alert-foot small{color:#7586a2;font-size:10px}.security-alert-actions{display:flex;gap:7px;align-items:center}.security-alert-actions form{margin:0}
.security-empty{display:flex;flex-direction:column;gap:5px}.security-empty strong{color:#b8c7dd}.security-empty span{font-size:11px}
.security-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.security-rule-grid>div{background:#0c1628;border:1px solid #2a3956;border-radius:11px;padding:12px}.security-rule-grid strong{display:block;font-size:12px;margin-bottom:5px}.security-rule-grid span{display:block;color:#8598b6;font-size:10px;line-height:1.45}
.dashboard-security-panel{margin-bottom:18px}.dashboard-security-list{display:flex;flex-direction:column}.dashboard-security-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;color:inherit;text-decoration:none;padding:10px;border-bottom:1px solid rgba(39,53,82,.6)}.dashboard-security-item:last-child{border-bottom:0}.dashboard-security-item:hover{background:rgba(255,255,255,.018)}.security-mini-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#18243b;font-weight:900}.dashboard-security-item.severity-warning .security-mini-icon{color:#ffd36f}.dashboard-security-item.severity-critical .security-mini-icon{color:#ff9696}.dashboard-security-item strong{display:block;font-size:12px}.dashboard-security-item small{display:block;color:#7e91ad;font-size:10px;margin-top:3px}.api-metric.metric-link{display:block;color:inherit;text-decoration:none}.api-metric.warning{border-color:rgba(245,185,66,.36)}.api-metric.warning strong{color:#ffd36f}
@media(max-width:1300px){.security-filter-grid{grid-template-columns:repeat(3,1fr)}.security-evidence-grid{grid-template-columns:repeat(3,1fr)}.security-rule-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.security-stats-grid,.security-filter-grid,.security-evidence-grid,.security-rule-grid{grid-template-columns:1fr}.security-alert-card{grid-template-columns:1fr}.security-alert-icon{display:none}.security-alert-head,.security-alert-foot{flex-direction:column;align-items:flex-start}.security-alert-time{text-align:left}.security-toolbar{flex-wrap:wrap}.dashboard-security-item{grid-template-columns:30px 1fr}.dashboard-security-item>.badge{display:none}}

/* REV006 automatic security response */
.security-access-stats{grid-template-columns:repeat(4,minmax(150px,1fr));max-width:980px}
.security-policy-columns{align-items:start}
.security-policy-toggle{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;background:#0c1628;border:1px solid #2a3956;border-radius:11px;margin-bottom:14px}
.security-policy-toggle label{display:flex;align-items:center;gap:9px;font-weight:700;font-size:13px}.security-policy-toggle input{width:auto}.security-policy-toggle small{color:var(--muted);font-size:10px;text-align:right}
.security-policy-grid{grid-template-columns:repeat(2,1fr)}
.security-access-filter-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr 1.6fr auto;gap:12px;align-items:end}
.security-rule-expired-row{opacity:.62}.access-value{display:block;max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.security-safety-panel{border-color:rgba(34,211,238,.2)}
@media(max-width:1200px){.security-access-filter-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.security-access-stats,.security-policy-grid,.security-access-filter-grid{grid-template-columns:1fr}.security-policy-toggle{flex-direction:column;align-items:flex-start}.security-policy-toggle small{text-align:left}}

/* REV007 trusted sources and security diagnostics */
.security-access-stats{grid-template-columns:repeat(5,minmax(145px,1fr));max-width:1240px}
.security-diagnostic-panel{margin-bottom:18px;border-color:rgba(79,124,255,.25)}
.security-diagnostic-grid{display:grid;grid-template-columns:1.2fr 1fr 2fr auto;gap:12px;align-items:end}
.security-diagnostic-result{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-top:15px;padding:13px;border:1px solid #304260;border-radius:12px;background:#0b1629}
.security-diagnostic-result>div{min-width:0;padding:9px 10px;border-radius:9px;background:#0e1a2e;border:1px solid #253754}.security-diagnostic-result span{display:block;color:#8295b3;font-size:9px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.security-diagnostic-result strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-diagnostic-result.decision-allow{border-color:rgba(49,196,141,.38)}.security-diagnostic-result.decision-allow>div:first-child strong{color:#75e9bd}
.security-diagnostic-result.decision-block{border-color:rgba(240,82,82,.4)}.security-diagnostic-result.decision-block>div:first-child strong{color:#ff9999}
.security-diagnostic-result.decision-none>div:first-child strong{color:#9db6ff}
@media(max-width:1200px){.security-access-stats{grid-template-columns:repeat(3,1fr)}.security-diagnostic-grid,.security-diagnostic-result{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.security-access-stats,.security-diagnostic-grid,.security-diagnostic-result{grid-template-columns:1fr}}

/* REV008 - per-product policies, notification center and retention */
.policy-product-selector{margin-bottom:18px}.policy-select-row{display:flex;gap:10px;align-items:end}.policy-select-row select{max-width:520px}.policy-master-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.security-policy-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.security-policy-rule-card{margin:0}.security-policy-rule-fields{grid-template-columns:repeat(4,1fr)}.security-policy-rule-fields .field small,.retention-grid .field small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.policy-save-footer{display:flex;justify-content:flex-end;margin-top:16px}.notification-stats{grid-template-columns:minmax(180px,260px)}.notification-filter-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:12px;align-items:end}.notification-list{display:flex;flex-direction:column;gap:10px}.notification-card{display:grid;grid-template-columns:44px 1fr;gap:12px;border:1px solid #2a3a57;border-radius:13px;padding:14px;background:#0b1527}.notification-card.is-read{opacity:.72}.notification-card.severity-warning{border-color:rgba(245,185,66,.35)}.notification-card.severity-critical{border-color:rgba(240,82,82,.45);background:linear-gradient(145deg,rgba(240,82,82,.06),#0b1527 40%)}.notification-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#17243b;font-weight:900;font-size:20px}.severity-warning .notification-icon{color:#ffd36f}.severity-critical .notification-icon{color:#ff9999}.notification-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.notification-head h3{margin:8px 0 0;font-size:15px}.notification-head time{font-size:10px;color:var(--muted);white-space:nowrap}.notification-body>p{color:#b9c8dc;font-size:12px;line-height:1.55}.notification-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(39,53,82,.6);padding-top:10px}.notification-foot small{color:var(--muted)}.notification-foot form{margin:0}.dashboard-notification-panel{margin-bottom:18px}.dashboard-notification-list{display:flex;flex-direction:column}.dashboard-notification-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;text-decoration:none;color:inherit;padding:10px;border-bottom:1px solid rgba(39,53,82,.6)}.dashboard-notification-item:last-child{border-bottom:0}.dashboard-notification-item.is-read{opacity:.7}.dashboard-notification-item strong{display:block;font-size:12px}.dashboard-notification-item small{display:block;color:#7e91ad;font-size:10px;margin-top:3px}.retention-panel{position:relative}.retention-grid{grid-template-columns:repeat(4,1fr)}.retention-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px}.cleanup-now-form{margin-top:10px;border-top:1px solid #263754;padding-top:12px}.muted{color:var(--muted);font-size:11px}.policy-master-grid .security-policy-toggle{margin:0}
@media(max-width:1200px){.security-policy-card-grid{grid-template-columns:1fr}.security-policy-rule-fields,.retention-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.policy-master-grid,.security-policy-rule-fields,.retention-grid,.notification-filter-grid{grid-template-columns:1fr}.notification-card{grid-template-columns:1fr}.notification-icon{display:none}.notification-head,.notification-foot,.retention-actions{flex-direction:column;align-items:flex-start}.dashboard-notification-item{grid-template-columns:30px 1fr}.dashboard-notification-item>.badge{display:none}}


/* REV009 - SMTP notifications and Health Center */
.health-stat-text{font-size:22px!important;letter-spacing:.04em}
.mail-settings-panel{margin-top:18px}.mail-grid{grid-template-columns:repeat(4,1fr)}
.mail-event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}
.mail-event-grid label{display:flex;align-items:center;gap:8px;background:#0c1628;border:1px solid #2a3956;border-radius:10px;padding:10px 12px;font-size:11px;color:#c4d0e3}
.mail-event-grid input{width:auto}.mail-test-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid #263754}.mail-test-form .field{margin:0}.mail-log-mini{margin-top:16px;border-top:1px solid #263754;padding-top:12px}
.health-overview{margin-bottom:18px}.health-overview.health-ok{border-color:rgba(49,196,141,.26)}.health-overview.health-warning{border-color:rgba(245,185,66,.32)}.health-overview.health-critical{border-color:rgba(240,82,82,.4)}
.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.health-card{display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:flex-start;padding:13px;border-radius:12px;background:#0d172a;border:1px solid #2a3957}.health-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:#6f7e98;box-shadow:0 0 0 4px rgba(111,126,152,.08)}.health-card.status-ok .health-dot{background:var(--green);box-shadow:0 0 0 4px rgba(49,196,141,.1)}.health-card.status-warning .health-dot{background:var(--yellow);box-shadow:0 0 0 4px rgba(245,185,66,.1)}.health-card.status-critical .health-dot{background:var(--red);box-shadow:0 0 0 4px rgba(240,82,82,.1)}.health-card strong{display:block;font-size:11px;color:#aab9d1}.health-card b{display:block;font-size:16px;margin:4px 0;color:#edf3ff}.health-card small{display:block;color:#7f91ae;font-size:10px;line-height:1.45}
.health-metrics{grid-template-columns:repeat(4,minmax(150px,1fr));max-width:1050px}.health-actions-grid{align-items:start}.health-command{margin-top:16px;padding:12px;border:1px solid #2a3956;border-radius:10px;background:#0b1527}.health-command span,.health-command small{display:block;color:#8fa0bb;font-size:10px}.health-command code{display:block;margin:8px 0;color:#b8cbf0;word-break:break-all}.health-action-stack{display:flex;flex-direction:column;gap:10px}.health-action-stack form{margin:0}
@media(max-width:1200px){.mail-grid{grid-template-columns:repeat(2,1fr)}.health-grid{grid-template-columns:repeat(2,1fr)}.health-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.mail-grid,.mail-event-grid,.health-grid,.health-metrics,.mail-test-form{grid-template-columns:1fr}}

/* REV010 Backup & Disaster Recovery Center */
.backup-stats{grid-template-columns:repeat(5,minmax(145px,1fr));max-width:none}.backup-top-grid{align-items:start}.backup-component-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.backup-component-list span{font-size:10px;color:#a8bad3;border:1px solid #2b3c59;background:#0c1729;border-radius:999px;padding:6px 9px}.backup-policy-grid{grid-template-columns:repeat(3,1fr)}.backup-checkboxes{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.backup-checkboxes label{display:flex;gap:8px;align-items:center;background:#0c1628;border:1px solid #2a3956;border-radius:10px;padding:10px 12px;font-size:11px}.backup-checkboxes input{width:auto}.backup-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.backup-actions form{margin:0}.btn-mini{padding:6px 9px;font-size:10px;border-radius:7px}.btn-danger{background:#3a1722;border:1px solid #7e3144;color:#ffbec8}.btn-danger:hover{background:#4a1d2b}.hash-short{font-size:10px;color:#91a7ca}.migration-pass-grid{grid-template-columns:1fr 1fr}.migration-command code+code{margin-top:4px}.migration-list{display:flex;flex-direction:column;gap:9px}.migration-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #2a3a57;border-radius:11px;background:#0d172a}.migration-item strong{display:block;font-size:11px;word-break:break-all}.migration-item small{display:block;color:#7f91ae;font-size:10px;margin-top:5px}.restore-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 16px}.restore-steps>div{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;padding:11px;border:1px solid #2b3b58;border-radius:11px;background:#0c1628}.restore-steps b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#1a2a47;color:#bcd0f5}.restore-steps span{font-size:10px;color:#a9b9d0;line-height:1.45}.restore-safety-panel{border-color:rgba(245,185,66,.28)}
@media(max-width:1250px){.backup-stats{grid-template-columns:repeat(3,1fr)}.backup-checkboxes,.restore-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.backup-stats,.backup-policy-grid,.backup-checkboxes,.migration-pass-grid,.restore-steps{grid-template-columns:1fr}.migration-item{flex-direction:column;align-items:flex-start}}

/* REV011 - Production Readiness */
.production-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:18px}.production-hero.production-ready{border-color:rgba(49,196,141,.42)}.production-hero.production-warning{border-color:rgba(245,185,66,.42)}.production-hero.production-blocked{border-color:rgba(240,82,82,.42)}.production-hero-main{display:flex;align-items:center;gap:16px}.production-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#17243c;border:1px solid #314566;font-size:27px;font-weight:900}.production-ready .production-icon{color:#78ebc0;border-color:rgba(49,196,141,.4);background:rgba(49,196,141,.1)}.production-warning .production-icon{color:#ffd46d;border-color:rgba(245,185,66,.4);background:rgba(245,185,66,.1)}.production-blocked .production-icon{color:#ff9b9b;border-color:rgba(240,82,82,.4);background:rgba(240,82,82,.1)}.production-hero h2{margin:4px 0 6px;font-size:22px}.production-hero p{margin:0;color:#aebbd2;font-size:12px;line-height:1.5;max-width:850px}.production-score{display:grid;grid-template-columns:repeat(3,90px);gap:8px}.production-score>div{padding:11px;border:1px solid #2d3d5c;border-radius:12px;background:#0c1628;text-align:center}.production-score strong{display:block;font-size:23px}.production-score span{display:block;color:#8394af;font-size:9px;text-transform:uppercase;margin-top:3px}.production-stats{grid-template-columns:repeat(4,minmax(160px,1fr));max-width:none}.production-driver{font-size:18px!important}.production-url{font-size:14px!important;word-break:break-all}.production-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.production-check{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:12px;border:1px solid #2a3a57;border-radius:12px;background:#0c1628}.production-check.check-pass{border-color:rgba(49,196,141,.24)}.production-check.check-warning{border-color:rgba(245,185,66,.32)}.production-check.check-blocker{border-color:rgba(240,82,82,.34)}.production-check-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#17243a;font-weight:900}.check-pass .production-check-icon{color:#76e9bd;background:rgba(49,196,141,.1)}.check-warning .production-check-icon{color:#ffd36f;background:rgba(245,185,66,.1)}.check-blocker .production-check-icon{color:#ff9595;background:rgba(240,82,82,.1)}.production-check-copy span{display:block;color:#94a6c2;font-size:10px}.production-check-copy strong{display:block;font-size:12px;margin:4px 0}.production-check-copy small{display:block;color:#7f91ae;font-size:10px;line-height:1.45}.production-two-col{align-items:start}.identity-row{margin:10px 0}.identity-row span{display:block;color:#8fa1bc;font-size:10px;margin-bottom:5px}.identity-row code{display:block;padding:10px;border-radius:9px;border:1px solid #2a3b59;background:#081322;word-break:break-all;font-size:10px;color:#b9cbeb}.fingerprint-code{line-height:1.5}.production-command-list{display:flex;flex-direction:column;gap:7px}.production-command-list code,.production-env{display:block;padding:10px 12px;border:1px solid #293a58;border-radius:9px;background:#081322;color:#bad0f3;font-size:10px;white-space:pre-wrap;word-break:break-word}.production-env{line-height:1.6;margin:0}.production-manual-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.production-manual-list>div{display:grid;grid-template-columns:28px 1fr;gap:7px;align-items:center;padding:9px;border:1px solid #293957;border-radius:9px;background:#0c1628}.production-manual-list b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#1b2a46;color:#bcd1f5;font-size:10px}.production-manual-list span{font-size:10px;color:#9dafca;line-height:1.4}.production-cutover-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.production-cutover-steps>div{display:grid;grid-template-columns:32px 1fr;column-gap:8px;row-gap:3px;padding:12px;border:1px solid #2b3b58;border-radius:11px;background:#0c1628}.production-cutover-steps b{grid-row:1/3;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#1b2c4c;color:#c1d3f5}.production-cutover-steps strong{font-size:11px}.production-cutover-steps span{font-size:10px;color:#8fa1bc;line-height:1.45}
@media(max-width:1200px){.production-hero{align-items:flex-start}.production-score{grid-template-columns:repeat(3,72px)}.production-check-grid,.production-cutover-steps{grid-template-columns:1fr 1fr}.production-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.production-hero{flex-direction:column}.production-score{width:100%;grid-template-columns:repeat(3,1fr)}.production-check-grid,.production-cutover-steps,.production-stats,.production-manual-list{grid-template-columns:1fr}}

/* REV012 deployment center */
.deployment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.deployment-card{position:relative}.deployment-card.status-ready{border-color:rgba(49,196,141,.38)}.deployment-card.status-warning,.deployment-card.status-not_checked,.deployment-card.status-unconfigured{border-color:rgba(245,185,66,.28)}.deployment-card.status-failed,.deployment-card.status-key_mismatch{border-color:rgba(240,82,82,.42)}.deployment-card form{margin:0}.deployment-actions{display:flex;justify-content:flex-end;margin-top:12px}.deployment-check-form{margin-top:10px!important}.deployment-result{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.deployment-result>div{padding:9px;border:1px solid #293a58;border-radius:9px;background:#0c1628}.deployment-result span{display:block;color:#7f91ad;font-size:9px;text-transform:uppercase;margin-bottom:4px}.deployment-result strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deployment-message{margin:12px 0 0;color:#91a3bf;font-size:11px;line-height:1.5}.deployment-client-selector{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.deployment-selector-button{margin-bottom:4px}.deployment-code{display:block;margin:14px 0 0;padding:14px;border:1px solid #2c3c5a;border-radius:12px;background:#081322;color:#bdd1f3;font-size:11px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.deployment-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.deployment-flow>div{display:grid;grid-template-columns:30px 1fr;column-gap:8px;row-gap:3px;padding:12px;border:1px solid #2a3a57;border-radius:11px;background:#0c1628}.deployment-flow b{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#1b2c4c}.deployment-flow strong{font-size:12px}.deployment-flow span{font-size:10px;color:#8fa1bc;line-height:1.45}.deployment-roadmap{display:flex;gap:8px;flex-wrap:wrap}.deployment-roadmap span{padding:8px 10px;border-radius:9px;border:1px solid #2d3d5b;background:#0c1628;color:#b9c8df;font-size:11px}
@media(max-width:1200px){.deployment-grid{grid-template-columns:1fr}.deployment-flow{grid-template-columns:1fr 1fr}}@media(max-width:760px){.deployment-client-selector,.deployment-flow{grid-template-columns:1fr}}

/* REV013 - Staging / Production cutover gate */
.cutover-panel{overflow:hidden}.cutover-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cutover-stage{border:1px solid #2a3a57;border-radius:13px;background:#0c1628;padding:14px;min-width:0}.cutover-stage.is-ready{border-color:rgba(49,196,141,.38)}.cutover-stage.is-blocked{border-color:rgba(245,185,66,.28)}.cutover-stage-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.cutover-stage-head h3{font-size:14px;margin:2px 0 0}.cutover-gates{display:grid;gap:7px}.cutover-gate{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:flex-start;padding:8px;border-radius:9px;border:1px solid #263755;background:#0a1424}.cutover-gate.ok{border-color:rgba(49,196,141,.18)}.cutover-gate.block{border-color:rgba(245,185,66,.20)}.cutover-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-weight:800;font-size:11px;background:#182742;color:#8fa1bc}.cutover-gate.ok .cutover-icon{background:rgba(49,196,141,.14);color:#54d5a5}.cutover-gate.block .cutover-icon{background:rgba(245,185,66,.12);color:#f6c75e}.cutover-gate strong{display:block;font-size:11px}.cutover-gate small{display:block;color:#8194b2;font-size:9px;line-height:1.4;margin-top:2px}.cutover-manifest-form{margin-top:12px}.cutover-footer{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:10px;margin-top:14px}.cutover-footer>div{padding:11px;border-radius:10px;border:1px solid #293a58;background:#0a1424;min-width:0}.cutover-footer strong{display:block;font-size:10px;text-transform:uppercase;color:#8ea2c2;margin-bottom:5px}.cutover-footer span{display:block;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.cutover-fingerprint{font-size:9px!important;color:#b9c9e3}
@media(max-width:1200px){.cutover-summary{grid-template-columns:1fr}.cutover-footer{grid-template-columns:1fr 1fr}}@media(max-width:760px){.cutover-footer{grid-template-columns:1fr}}

/* REV014 - Public Home + Customer Portal + Free Trial */
.portal-public-page{display:block;min-height:100vh;background:
radial-gradient(circle at 10% 0%,rgba(79,124,255,.22),transparent 28%),
radial-gradient(circle at 90% 15%,rgba(128,87,255,.18),transparent 25%),
linear-gradient(180deg,#080d19 0%,#0a1020 55%,#080d19 100%)}
.site-shell{width:min(1460px,100%);margin:0 auto;padding:0 32px}.site-nav{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(45,61,91,.65)}.site-brand{display:flex;align-items:center;gap:11px}.site-brand span:last-child{display:flex;flex-direction:column}.site-brand strong{font-size:14px;letter-spacing:.08em}.site-brand small{font-size:10px;color:#8fa1bc;margin-top:2px}.site-nav nav{display:flex;align-items:center;gap:22px}.site-nav nav>a:not(.btn){font-size:12px;color:#aebdd5}.site-nav nav>a:not(.btn):hover{color:white}
.landing-hero{min-height:620px;display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center;padding:70px 0 58px}.landing-copy h1{font-size:clamp(42px,5vw,70px);line-height:1.02;letter-spacing:-.04em;margin:13px 0 19px;max-width:720px}.landing-copy>p{font-size:17px;line-height:1.7;color:#a9b9d1;max-width:650px;margin:0}.hero-kicker{display:inline-block;color:#7ea1ff;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:29px}.hero-btn{padding:13px 18px}.hero-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;color:#8fa3c0;font-size:11px}.hero-trust span{display:flex;align-items:center;gap:5px}.product-visual{perspective:1200px}.mock-window{border:1px solid #34486c;border-radius:22px;overflow:hidden;background:#0a1425;box-shadow:0 35px 90px rgba(0,0,0,.5);transform:rotateY(-3deg) rotateX(1deg)}.mock-titlebar{height:42px;display:flex;align-items:center;gap:7px;padding:0 15px;background:#101c31;border-bottom:1px solid #263954}.mock-titlebar i{width:8px;height:8px;border-radius:50%;background:#42526c}.mock-titlebar i:first-child{background:#f05252}.mock-titlebar i:nth-child(2){background:#f5b942}.mock-titlebar i:nth-child(3){background:#31c48d}.mock-titlebar span{margin-left:7px;color:#8395b2;font-size:10px}.mock-app{display:grid;grid-template-columns:135px 1fr;min-height:390px}.mock-app aside{padding:17px 12px;background:#08101e;border-right:1px solid #22334f;display:flex;flex-direction:column;gap:7px}.mock-app aside>b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#4f7cff,#8057ff);margin-bottom:9px}.mock-nav{font-size:9px;color:#8191aa;padding:8px;border-radius:7px}.mock-nav.active{color:white;background:#14233c}.mock-app>section{padding:21px}.mock-heading{display:flex;justify-content:space-between;align-items:center}.mock-heading div{display:flex;flex-direction:column;gap:4px}.mock-heading small{color:#5f7fbb;font-size:7px;letter-spacing:.12em}.mock-heading strong{font-size:14px}.mock-heading>span{font-size:8px;color:#62d8ae}.mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0}.mock-stats div{padding:12px;border-radius:10px;border:1px solid #273a59;background:#0e1a2e}.mock-stats small{display:block;color:#7e90ad;font-size:7px}.mock-stats b{display:block;margin-top:5px;font-size:17px}.mock-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mock-card{padding:12px;border:1px solid #273a59;border-radius:11px;background:#0d192c}.mock-card em{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#142943;color:#75a5ff;font-style:normal;font-size:8px;font-weight:800}.mock-card b{display:block;font-size:9px;margin:9px 0 4px}.mock-card small{font-size:7px;color:#7486a2}
.landing-section{padding:75px 0}.section-heading{text-align:center;max-width:760px;margin:0 auto 34px}.section-heading>span{font-size:9px;color:#7fa1ff;font-weight:800;letter-spacing:.16em}.section-heading h2{font-size:36px;margin:10px 0}.section-heading p{font-size:14px;color:#93a5c0;line-height:1.7}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature-grid article{padding:24px;border-radius:16px;border:1px solid #263854;background:linear-gradient(145deg,#101b2f,#0d1729)}.feature-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#152744;color:#78a1ff;font-size:20px}.feature-grid h3{font-size:16px;margin:15px 0 8px}.feature-grid p{margin:0;color:#8fa1bc;font-size:12px;line-height:1.6}.trial-banner{margin:35px 0 70px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 36px;border-radius:20px;border:1px solid rgba(79,124,255,.4);background:linear-gradient(120deg,rgba(79,124,255,.13),rgba(128,87,255,.11),rgba(14,25,45,.95))}.trial-banner h2{font-size:28px;margin:8px 0}.trial-banner p{margin:0;color:#9eafc7;font-size:13px;max-width:750px;line-height:1.6}.site-footer{border-top:1px solid #23334e;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#7385a2;font-size:10px}.site-footer a{color:#8ea8ff}
.portal-auth-page{min-height:100vh;background:radial-gradient(circle at 20% 5%,rgba(79,124,255,.23),transparent 27%),radial-gradient(circle at 85% 80%,rgba(128,87,255,.15),transparent 28%),#080d19;padding:45px 20px}.portal-auth-shell{width:min(500px,100%);margin:0 auto}.portal-auth-shell.wide{width:min(980px,100%)}.portal-back{display:inline-block;color:#8fa6ca;font-size:11px;margin:0 0 14px}.portal-auth-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:15px}.portal-auth-card,.trial-summary-card{background:rgba(14,22,39,.97);border:1px solid #2b3b59;border-radius:21px;box-shadow:0 25px 70px rgba(0,0,0,.38)}.portal-auth-card{padding:28px}.portal-auth-card h1{margin:24px 0 7px;font-size:29px}.portal-auth-card .brand-row strong{display:block;font-size:13px;letter-spacing:.05em}.portal-auth-card .brand-row small{display:block;color:#8395b1;font-size:10px;margin-top:3px}.portal-submit{margin-top:17px;padding:12px}.portal-switch{text-align:center;color:#8091aa;font-size:11px;margin:18px 0 0}.portal-switch a{color:#8facff}.portal-check{display:flex;gap:9px;align-items:flex-start;margin-top:13px;color:#aab9cf;font-size:11px;line-height:1.5}.portal-check input{width:auto;margin-top:3px}.portal-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.trial-summary-card{padding:28px;display:flex;flex-direction:column;justify-content:center;min-height:100%}.trial-days{display:flex;align-items:flex-end;gap:7px;font-size:75px;letter-spacing:-.06em;margin:12px 0 0;background:linear-gradient(135deg,#6e97ff,#9e76ff);-webkit-background-clip:text;color:transparent}.trial-days small{font-size:16px;margin-bottom:13px;letter-spacing:0;color:#96a8c4}.trial-summary-card h2{margin:0 0 15px;font-size:18px}.trial-summary-card ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.trial-summary-card li{font-size:11px;color:#aabbd1}.trial-summary-card li:before{content:'✓';color:#51d3a4;margin-right:8px}.trial-note{margin-top:18px;padding:11px;border:1px solid #30415f;border-radius:10px;background:#0d182b;color:#91a4c2;font-size:10px;line-height:1.5}.center-card{text-align:center}.center-card .brand-mark{margin:0 auto 16px}.verify-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto;border-radius:18px;background:rgba(49,196,141,.12);border:1px solid rgba(49,196,141,.28);color:#64ddb0;font-size:27px}.verify-icon.bad{background:rgba(240,82,82,.12);border-color:rgba(240,82,82,.28);color:#ff8d8d}.verify-icon.small{width:38px;height:38px;margin:0;border-radius:11px;font-size:16px}.center-card>p{color:#94a6c1;font-size:12px;line-height:1.65}.dev-verify{margin:14px 0;padding:13px;border:1px dashed rgba(245,185,66,.4);border-radius:11px;background:rgba(245,185,66,.07);text-align:left}.dev-verify strong,.dev-verify small{display:block}.dev-verify small{color:#a99d7e;font-size:10px;margin:5px 0 10px}.verify-login{display:inline-block;margin-top:16px}
.portal-dashboard-page{min-height:100vh;background:#09101f}.portal-dashboard-shell{width:min(1280px,100%);margin:0 auto;padding:0 28px}.portal-topbar{height:82px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #263853}.portal-user{display:flex;align-items:center;gap:14px}.portal-user>span{display:flex;flex-direction:column;text-align:right}.portal-user strong{font-size:12px}.portal-user small{font-size:9px;color:#8295b2;margin-top:3px}.portal-main{padding:38px 0 70px}.portal-welcome{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.portal-welcome h1{font-size:34px;margin:8px 0 4px}.portal-welcome p{margin:0;color:#879ab7;font-size:12px}.account-badge{padding:8px 11px;border-radius:999px;background:rgba(49,196,141,.1);border:1px solid rgba(49,196,141,.28);color:#78e6bb;font-size:10px}.portal-license-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portal-license-card{padding:22px;border:1px solid #2d3f5f;border-radius:18px;background:linear-gradient(145deg,#111e33,#0e192b);box-shadow:var(--shadow)}.portal-license-card.expired{border-color:rgba(240,82,82,.35)}.license-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.license-card-head h2{margin:5px 0 0;font-size:18px}.serial-panel{margin:19px 0;padding:14px;border:1px solid #314462;border-radius:12px;background:#0a1425}.serial-panel small{display:block;color:#7f91ad;font-size:9px}.serial-panel strong{display:block;margin-top:7px;font-size:17px;letter-spacing:.03em;color:#c8d6ef;word-break:break-all}.portal-license-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.portal-license-grid>div{padding:10px;border-radius:9px;background:#0c1728;border:1px solid #273956}.portal-license-grid small{display:block;color:#7d90ad;font-size:8px}.portal-license-grid strong{display:block;margin-top:4px;font-size:11px}.license-help{margin-top:14px;padding:10px;border-radius:9px;background:#10203a;color:#91a6c7;font-size:10px;line-height:1.55}.portal-license-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.portal-security-note{display:flex;align-items:center;gap:13px;margin-top:20px;padding:16px;border:1px solid #283a58;border-radius:14px;background:#0d1829}.portal-security-note strong{font-size:12px}.portal-security-note p{margin:4px 0 0;color:#8698b4;font-size:10px;line-height:1.5}.portal-empty{text-align:center;padding:40px;border:1px dashed #31425e;border-radius:16px;color:#8ea0ba}.portal-empty h2{color:#eaf1ff}
.portal-admin-stats{grid-template-columns:repeat(4,1fr)}.portal-admin-grid{grid-template-columns:1.45fr .55fr}.portal-toggle-grid{display:grid;gap:9px;margin-bottom:16px}.portal-toggle-grid label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #2b3b59;border-radius:9px;background:#0d1728;color:#b6c4d9;font-size:11px}.portal-toggle-grid input{width:auto}.trial-policy-card{align-self:start}.trial-flow{display:grid;gap:9px}.trial-flow>div{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:11px;border:1px solid #2a3b59;border-radius:10px;background:#0c1627}.trial-flow b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#172c4d;color:#9db9ff}.trial-flow span{display:flex;flex-direction:column;gap:3px}.trial-flow strong{font-size:11px}.trial-flow small{font-size:9px;color:#8193af;line-height:1.4}
@media(max-width:1100px){.landing-hero{grid-template-columns:1fr;padding-top:45px}.product-visual{max-width:760px}.feature-grid{grid-template-columns:1fr 1fr}.portal-license-list{grid-template-columns:1fr}.portal-admin-grid{grid-template-columns:1fr}}
@media(max-width:760px){.site-shell{padding:0 18px}.site-nav nav>a:not(.btn){display:none}.landing-copy h1{font-size:42px}.feature-grid{grid-template-columns:1fr}.trial-banner{align-items:flex-start;flex-direction:column}.mock-app{grid-template-columns:95px 1fr}.mock-grid{grid-template-columns:1fr}.portal-auth-grid{grid-template-columns:1fr}.portal-auth-page{padding:25px 14px}.portal-dashboard-shell{padding:0 16px}.portal-topbar{height:auto;padding:16px 0;align-items:flex-start}.portal-user>span{display:none}.portal-welcome{align-items:flex-start;flex-direction:column}.portal-license-grid{grid-template-columns:1fr}.portal-admin-stats{grid-template-columns:1fr 1fr}}


/* REV015 - Customer Portal expansion + public website */
.portal-nav{display:flex;align-items:center;gap:4px;margin:0 18px;flex:1;justify-content:center}.portal-nav a{padding:8px 10px;border-radius:8px;color:#8496b2;font-size:10px;font-weight:700}.portal-nav a:hover,.portal-nav a.active{background:#14243e;color:#eaf1ff}.portal-page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 24px}.portal-page-title h1{font-size:32px;margin:8px 0 4px}.portal-page-title p{margin:0;color:#879ab7;font-size:12px}.portal-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:30px}.portal-summary-grid>a{display:flex;flex-direction:column;min-height:112px;padding:17px;border:1px solid #2a3d5d;border-radius:14px;background:linear-gradient(145deg,#111e33,#0d182a);transition:.18s transform,.18s border-color}.portal-summary-grid>a:hover{transform:translateY(-2px);border-color:#4d72c8}.portal-summary-grid small{font-size:9px;color:#8194b0;text-transform:uppercase;letter-spacing:.08em}.portal-summary-grid strong{font-size:24px;margin:8px 0 5px}.portal-summary-grid span{font-size:9px;color:#7286a5}.portal-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:29px 0 13px}.portal-section-head h2{margin:5px 0 0;font-size:19px}.portal-section-head>a{color:#91acff;font-size:10px}.portal-license-list.compact .portal-license-card{min-height:100%}.portal-table-wrap{overflow:auto;border:1px solid #2a3b59;border-radius:15px;background:#0d1729}.portal-table{width:100%;border-collapse:collapse;min-width:760px}.portal-table th{text-align:left;padding:12px 14px;color:#7186a7;font-size:8px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #2a3b59}.portal-table td{padding:13px 14px;border-bottom:1px solid #1e2e48;font-size:10px;color:#b8c6db}.portal-table tbody tr:last-child td{border-bottom:0}.portal-table td strong,.portal-table td small{display:block}.portal-table td small{margin-top:3px;color:#7284a0;font-size:8px}.portal-table-empty{text-align:center!important;color:#7d8faa!important;padding:28px!important}.portal-device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-device-card{padding:19px;border:1px solid #2b3d5c;border-radius:16px;background:linear-gradient(145deg,#111e33,#0e192b)}.device-card-head{display:flex;align-items:center;gap:11px}.device-card-head>div:nth-child(2){flex:1}.device-card-head h2{font-size:15px;margin:0 0 3px}.device-card-head p{font-size:9px;color:#7f92ae;margin:0}.device-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#162a48;color:#86a8ff}.portal-device-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.portal-device-card dl>div{padding:9px;border:1px solid #273956;border-radius:9px;background:#0b1627}.portal-device-card dt{font-size:8px;color:#7285a3}.portal-device-card dd{margin:4px 0 0;font-size:10px;color:#c0cce0;word-break:break-all}.portal-info-note{display:flex;gap:12px;margin-top:16px;padding:14px 16px;border:1px solid #29405f;border-radius:12px;background:#0e1b2f;color:#879bb9;font-size:10px}.portal-info-note strong{color:#dce7f8;white-space:nowrap}.download-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:27px;border:1px solid #2b3e5f;border-radius:18px;background:linear-gradient(135deg,#111f35,#0e192b)}.download-icon{display:grid;place-items:center;width:78px;height:78px;border-radius:20px;background:linear-gradient(135deg,#4f7cff,#8057ff);font-size:38px;font-weight:800}.download-card h2{margin:6px 0;font-size:24px}.download-card p{color:#8fa2bd;font-size:11px}.requirement-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.requirement-pills span{padding:6px 8px;border:1px solid #314464;border-radius:999px;color:#8ea1bd;font-size:8px}.portal-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portal-form-card{padding:22px;border:1px solid #2b3e5d;border-radius:16px;background:#0e192b}.portal-form-card h2{margin:0 0 15px;font-size:17px}.account-security-meta{display:grid;gap:7px;margin-top:18px;padding-top:15px;border-top:1px solid #293b59;color:#7e92b0;font-size:9px}.account-security-meta strong{color:#bfcce0}.portal-forgot{text-align:right;margin-top:-2px}.portal-forgot a{font-size:10px;color:#89a7ff}
.landing-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 35px}.landing-proof>div{padding:15px;border:1px solid #263955;border-radius:13px;background:#0e182a}.landing-proof strong,.landing-proof span{display:block}.landing-proof strong{font-size:11px}.landing-proof span{font-size:9px;color:#7f92af;margin-top:4px}.workflow-section{padding:60px 0}.workflow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.workflow-grid article{position:relative;padding:23px 20px;border:1px solid #293b59;border-radius:16px;background:#0e192b}.workflow-grid b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#172d50;color:#9eb9ff}.workflow-grid h3{font-size:14px;margin:16px 0 7px}.workflow-grid p{font-size:10px;line-height:1.6;color:#8497b4}.requirements-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:center;padding:48px 36px;border:1px solid #2b3d5c;border-radius:20px;background:linear-gradient(135deg,#0e192b,#111f36);margin:25px 0 45px}.requirements-section h2{font-size:31px;margin:9px 0}.requirements-section>div:first-child p{color:#8fa2bd;line-height:1.65;font-size:12px}.requirements-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.requirements-grid>div{padding:16px;border:1px solid #2c405f;border-radius:12px;background:#0b1627}.requirements-grid strong,.requirements-grid span{display:block}.requirements-grid strong{font-size:11px}.requirements-grid span{color:#8295b1;font-size:9px;margin-top:5px}.faq-section{padding:65px 0}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.faq-grid details{padding:17px;border:1px solid #293b59;border-radius:13px;background:#0e192b}.faq-grid summary{cursor:pointer;font-size:11px;font-weight:700}.faq-grid p{font-size:10px;line-height:1.65;color:#8799b5;margin:11px 0 0}.final-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:34px;border:1px solid rgba(79,124,255,.4);border-radius:20px;background:linear-gradient(120deg,rgba(79,124,255,.13),rgba(128,87,255,.11),rgba(14,25,45,.95));margin-bottom:55px}.final-cta h2{font-size:27px;max-width:760px;margin:7px 0 0}
@media(max-width:1100px){.portal-nav{order:3;flex-basis:100%;justify-content:flex-start;overflow:auto;margin:8px 0 0}.portal-topbar{height:auto;flex-wrap:wrap;padding:14px 0}.portal-summary-grid,.workflow-grid,.landing-proof{grid-template-columns:1fr 1fr}.portal-device-grid{grid-template-columns:1fr}.requirements-section{grid-template-columns:1fr}.download-card{grid-template-columns:auto 1fr}.download-card>div:last-child{grid-column:1/-1}.portal-account-grid{grid-template-columns:1fr}}
@media(max-width:760px){.portal-nav{gap:2px}.portal-nav a{white-space:nowrap;padding:7px 8px}.portal-summary-grid,.workflow-grid,.landing-proof,.faq-grid,.requirements-grid{grid-template-columns:1fr}.final-cta{align-items:flex-start;flex-direction:column}.download-card{grid-template-columns:1fr}.download-icon{width:58px;height:58px;font-size:28px}.portal-device-card dl{grid-template-columns:1fr}}


/* REV016 - independently scrollable admin navigation; logo and account footer stay visible. */

/* REV017 - commercial portal polish, license detail, legal pages and upgrade preparation */
.portal-trial-strip{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,.8fr) auto;gap:18px;align-items:center;margin:0 0 28px;padding:17px 18px;border:1px solid rgba(79,124,255,.38);border-radius:15px;background:linear-gradient(120deg,rgba(79,124,255,.11),rgba(128,87,255,.08),#0e192b)}
.portal-trial-strip.is-expired{border-color:rgba(240,82,82,.34);background:linear-gradient(120deg,rgba(240,82,82,.08),#0e192b)}
.portal-trial-strip strong,.portal-trial-strip small{display:block}.portal-trial-strip strong{margin:4px 0;font-size:15px}.portal-trial-strip small{color:#879ab7;font-size:9px}
.portal-trial-meter>div,.trial-progress-track,.license-mini-progress>div{height:7px;border-radius:999px;background:#091322;border:1px solid #293d5d;overflow:hidden}.portal-trial-meter>div span,.trial-progress-track span,.license-mini-progress>div span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#4f7cff,#8057ff)}.portal-trial-meter small,.license-mini-progress small{display:block;color:#7186a7;font-size:8px;margin-top:5px}
.license-mini-progress{margin-top:12px}
.license-detail-title{align-items:center}.license-detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.license-overview-card{min-width:0}.license-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0 0}.license-detail-list>div{padding:11px;border:1px solid #293b59;border-radius:10px;background:#0b1627}.license-detail-list dt{font-size:8px;color:#7386a4;text-transform:uppercase;letter-spacing:.06em}.license-detail-list dd{margin:5px 0 0;color:#c2cee1;font-size:10px;overflow-wrap:anywhere}.license-feature-list{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.license-feature-list span{padding:8px 10px;border:1px solid rgba(49,196,141,.22);border-radius:9px;background:rgba(49,196,141,.06);color:#aee9d1;font-size:9px}.license-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.trial-progress-card{display:grid;grid-template-columns:1fr .9fr .9fr;gap:18px;align-items:center;padding:21px;margin-bottom:18px;border:1px solid rgba(128,87,255,.36);border-radius:17px;background:linear-gradient(125deg,rgba(79,124,255,.12),rgba(128,87,255,.10),#0d182a)}.trial-progress-copy h2{margin:5px 0;font-size:20px}.trial-progress-copy p{margin:0;color:#8799b5;font-size:10px}.trial-progress-meter small{display:block;color:#7f92af;font-size:9px;margin-top:7px}.trial-upgrade-box{display:flex;flex-direction:column;gap:7px;padding-left:17px;border-left:1px solid #304260}.trial-upgrade-box strong{font-size:11px}.trial-upgrade-box span{font-size:9px;line-height:1.5;color:#8194b0}
.security-showcase,.portal-showcase,.support-section{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin:35px 0 55px;padding:38px;border:1px solid #293c5c;border-radius:22px;background:linear-gradient(135deg,#0e192b,#111f36)}.security-copy h2,.portal-showcase h2,.support-section h2{font-size:31px;margin:8px 0 10px}.security-copy>p,.portal-showcase-copy>p,.support-section p{color:#8ea1bd;font-size:11px;line-height:1.7}.security-points{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.security-points span{padding:10px;border:1px solid #2a3f60;border-radius:10px;background:#0b1627;color:#a8b9d1;font-size:9px}.security-diagram{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:9px}.security-diagram>div{min-height:132px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:16px;border:1px solid #2d4163;border-radius:15px;background:#0a1527}.security-diagram b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#172d50;color:#9eb9ff;margin-bottom:10px}.security-diagram strong{font-size:11px}.security-diagram small{font-size:8px;color:#7990b0;margin-top:5px;line-height:1.4}.security-diagram i{color:#667fa5;font-style:normal}.portal-showcase{background:linear-gradient(130deg,#101b30,#0c1729)}.portal-showcase-actions,.support-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:19px}.portal-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-preview>div{padding:16px;border:1px solid #2b3f60;border-radius:13px;background:#0a1527}.portal-preview span,.portal-preview strong,.portal-preview small{display:block}.portal-preview span{font-size:8px;color:#7186a7;text-transform:uppercase}.portal-preview strong{font-size:18px;margin:8px 0 4px}.portal-preview small{color:#7e91ad;font-size:8px}.support-section{grid-template-columns:1.25fr .75fr;margin-top:15px;padding:30px}.support-actions{justify-content:flex-end}.legal-shell{min-height:100vh}.legal-page{max-width:940px;margin:0 auto;padding:58px 0 80px}.legal-hero{padding-bottom:26px;border-bottom:1px solid #293b59}.legal-hero h1{font-size:42px;margin:8px 0 10px}.legal-hero p{font-size:12px;color:#8fa2bd;line-height:1.7}.legal-notice{margin:20px 0;padding:14px 16px;border:1px solid rgba(245,185,66,.34);border-radius:12px;background:rgba(245,185,66,.07);color:#f0cc7b;font-size:10px;line-height:1.6}.legal-page section{padding:20px 0;border-bottom:1px solid #1e304b}.legal-page section h2{font-size:17px;margin:0 0 8px}.legal-page section p{margin:0;color:#91a4bf;font-size:11px;line-height:1.75}.legal-page a{color:#95afff}.portal-check a{color:#95afff;text-decoration:underline}
@media(max-width:1100px){.portal-trial-strip{grid-template-columns:1fr 1fr}.portal-trial-strip>a{grid-column:1/-1;justify-self:start}.license-detail-grid,.trial-progress-card,.security-showcase,.portal-showcase,.support-section{grid-template-columns:1fr}.trial-upgrade-box{padding-left:0;padding-top:15px;border-left:0;border-top:1px solid #304260}.security-diagram{max-width:760px}.support-actions{justify-content:flex-start}}
@media(max-width:760px){.portal-trial-strip{grid-template-columns:1fr}.portal-trial-strip>a{grid-column:auto}.license-detail-list,.security-points,.portal-preview{grid-template-columns:1fr}.security-diagram{grid-template-columns:1fr}.security-diagram i{transform:rotate(90deg);justify-self:center}.security-showcase,.portal-showcase,.support-section{padding:24px 18px}.legal-page{padding:35px 0 60px}.legal-hero h1{font-size:34px}}


/* REV018 - support center, legal/commercial readiness and denser license entitlement panel */
.license-entitlement-card{display:flex;flex-direction:column}.license-entitlement-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.license-entitlement-grid>div{padding:12px;border:1px solid #293d5d;border-radius:11px;background:#0b1627}.license-entitlement-grid small,.license-entitlement-grid strong,.license-entitlement-grid span{display:block}.license-entitlement-grid small{font-size:8px;color:#7488a7;text-transform:uppercase;letter-spacing:.06em}.license-entitlement-grid strong{font-size:12px;margin:6px 0 3px}.license-entitlement-grid span{font-size:8px;color:#7e92b0;line-height:1.4}.license-entitlement-card .license-detail-actions{margin-top:auto;padding-top:20px}.trial-upgrade-box .badge{align-self:flex-start}
.legal-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}.legal-meta span{padding:6px 9px;border:1px solid #293d5d;border-radius:999px;color:#7f93b0;font-size:8px;background:#0b1627}
.support-public-page{padding:48px 0 75px}.support-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:36px;border:1px solid #2a3e5e;border-radius:22px;background:linear-gradient(125deg,rgba(79,124,255,.14),rgba(128,87,255,.08),#0d182a)}.support-hero h1{font-size:39px;max-width:760px;margin:8px 0 10px}.support-hero p{max-width:760px;color:#8fa2bd;font-size:12px;line-height:1.7}.support-topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.support-topic-grid article{padding:23px;border:1px solid #293c5b;border-radius:16px;background:#0e192b}.support-topic-grid article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#172d50;color:#9eb9ff;font-weight:800}.support-topic-grid h2{font-size:16px;margin:16px 0 7px}.support-topic-grid p{min-height:48px;color:#879ab6;font-size:10px;line-height:1.6}.support-topic-grid a{color:#9eb6ff;font-size:10px;font-weight:700}.support-status-card,.support-contact-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:27px 30px;margin-top:14px;border:1px solid #293d5c;border-radius:17px;background:#0e192b}.support-status-card h2,.support-contact-card h2{font-size:21px;margin:6px 0}.support-status-card p,.support-contact-card p{margin:0;max-width:780px;color:#879ab5;font-size:10px;line-height:1.65}.support-contact-card{margin-top:14px;background:linear-gradient(130deg,#0e192b,#111f36)}.support-contact-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){.license-entitlement-grid{grid-template-columns:1fr}.support-hero{align-items:flex-start;flex-direction:column}.support-topic-grid{grid-template-columns:1fr}.support-status-card,.support-contact-card{grid-template-columns:1fr}.support-contact-actions{justify-content:flex-start}}

/* REV019 - multilingual customer portal, commerce, PayPal checkout and editable templates */
.language-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #2d3f60;border-radius:9px;background:#0b1527}
.language-switch a{display:grid;place-items:center;min-width:28px;height:24px;padding:0 6px;border-radius:6px;color:#879ab6;font-size:9px;font-weight:800;text-decoration:none}
.language-switch a:hover,.language-switch a.active{background:#203456;color:#c9d7f3}
.auth-lang{display:flex;justify-content:flex-end;margin:-8px -8px 10px 0}.portal-user>.language-switch{flex:0 0 auto}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:16px;margin-top:22px}.plan-card{display:flex;flex-direction:column;min-height:420px;padding:22px;border:1px solid #2a3e5f;border-radius:17px;background:linear-gradient(145deg,#0e192b,#0a1527)}.plan-card.current{border-color:rgba(49,196,141,.45);box-shadow:0 0 0 1px rgba(49,196,141,.08) inset}.plan-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.plan-head h2{margin:6px 0 8px;font-size:22px}.plan-head p{margin:0;color:#8497b4;font-size:10px;line-height:1.55}.plan-price{padding:18px 0 14px;margin:18px 0 10px;border-top:1px solid #243754;border-bottom:1px solid #243754}.plan-price strong{display:block;font-size:27px;color:#dfe8ff}.plan-price span,.plan-device,.plan-secure{display:block;color:#8193ae;font-size:9px;margin-top:4px}.plan-features{display:flex;flex-direction:column;gap:7px;flex:1;margin:15px 0}.plan-features small{color:#7185a5;text-transform:uppercase;font-size:8px}.plan-features span{font-size:10px;color:#b8c8de}.plan-card form{margin-top:auto}.plan-secure{margin-top:9px;line-height:1.45}
.commerce-stats{grid-template-columns:repeat(4,minmax(150px,1fr))}.commerce-panel{margin-bottom:18px}.commerce-env{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #263956}.commerce-env code{background:#091321;border:1px solid #2a3e5f;border-radius:7px;padding:7px 9px;font-size:9px}.commerce-env small{display:block;width:100%;color:#8092ac}.commerce-plan-list{display:flex;flex-direction:column;gap:9px;margin:15px 0}.commerce-plan-admin{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px;border:1px solid #293c5b;border-radius:12px;background:#0b1627}.commerce-plan-admin h3{margin:7px 0 3px;font-size:14px}.commerce-plan-admin h3 small{color:#7589a7;font-size:9px;margin-left:5px}.commerce-plan-admin p{margin:0;color:#8193ae;font-size:9px}.commerce-plan-form{margin-top:18px;padding-top:18px;border-top:1px solid #263956}.template-editor-list{display:flex;flex-direction:column;gap:9px}.template-editor{border:1px solid #293d5d;border-radius:12px;background:#0a1527}.template-editor summary{display:flex;align-items:center;gap:10px;padding:13px 15px;cursor:pointer}.template-editor summary strong{flex:1}.template-editor summary span:not(.badge){font-size:9px;color:#7e91ad}.template-editor form{padding:0 15px 15px}.template-editor textarea{font-family:Consolas,monospace;font-size:10px}
.portal-topbar{gap:12px}.portal-user{gap:9px}.portal-nav{overflow-x:auto;scrollbar-width:thin}
@media(max-width:1200px){.plan-grid{grid-template-columns:1fr 1fr}.commerce-stats{grid-template-columns:1fr 1fr}.portal-user>span{display:none}}
@media(max-width:760px){.plan-grid{grid-template-columns:1fr}.commerce-stats{grid-template-columns:1fr}.portal-user{width:100%;justify-content:flex-end}.portal-topbar{flex-wrap:wrap}.portal-nav{order:3;width:100%}.language-switch{flex-shrink:0}}
.commerce-plan-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.commerce-plan-actions form{margin:0}

/* REV020 - PayPal capture recovery and purchase confirmation */
.payment-success-main{display:grid;place-items:start center;padding-top:34px}.payment-success-card{width:min(760px,100%);padding:38px;border:1px solid rgba(49,196,141,.38);border-radius:22px;background:linear-gradient(145deg,rgba(49,196,141,.075),#0e192b 34%,#0a1527);box-shadow:0 24px 60px rgba(0,0,0,.28)}.payment-success-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:18px;border-radius:18px;background:rgba(49,196,141,.13);border:1px solid rgba(49,196,141,.42);color:#70e5b8;font-size:30px;font-weight:900}.payment-success-card h1{margin:8px 0 8px;font-size:34px}.payment-success-lead{margin:0 0 24px;color:#91a5c2;font-size:12px;line-height:1.7}.payment-success-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payment-success-grid>div{padding:14px;border:1px solid #293d5d;border-radius:12px;background:#0a1527}.payment-success-grid .span-2{grid-column:1/-1}.payment-success-grid small,.payment-success-grid strong,.payment-success-grid code{display:block}.payment-success-grid small{margin-bottom:7px;color:#758aa9;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.payment-success-grid strong{color:#dbe7fa;font-size:13px}.payment-success-grid code{color:#a9c0ef;font-size:13px;word-break:break-all}.payment-success-note{margin:18px 0;color:#8498b6;font-size:10px;line-height:1.65}.payment-success-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:680px){.payment-success-card{padding:24px 18px}.payment-success-grid{grid-template-columns:1fr}.payment-success-grid .span-2{grid-column:auto}.payment-success-card h1{font-size:28px}}
.commerce-order-provider{min-width:230px}.commerce-order-provider small,.commerce-order-provider code{display:block}.commerce-order-provider small{margin-top:4px;color:#6f84a4;font-size:8px;text-transform:uppercase}.commerce-order-provider code{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a9bce0;font-size:9px}.commerce-order-provider .badge{margin-top:6px}.commerce-error-detail{margin-top:7px}.commerce-error-detail summary{cursor:pointer;color:#ff9f9f;font-size:9px}.commerce-error-detail>div{display:flex;flex-direction:column;gap:5px;margin-top:7px;padding:8px;border:1px solid rgba(240,82,82,.26);border-radius:8px;background:rgba(240,82,82,.055);max-width:360px}.commerce-error-detail b{font-size:9px;color:#ffaaaa}.commerce-error-detail small{margin:0;color:#9baec9;text-transform:none;line-height:1.45}

/* REV021 Portal Designer + multilingual admin */
.admin-top-actions{display:flex;align-items:center;gap:10px}.admin-language{display:flex;gap:3px;padding:3px;border:1px solid var(--line);background:#101a2e;border-radius:10px}.admin-language a{font-size:11px;font-weight:800;padding:6px 8px;border-radius:7px;color:#8fa0bd}.admin-language a.active{background:#24416e;color:#fff}
.portal-designer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;align-items:start}.designer-sticky{position:sticky;top:18px}.designer-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.designer-tabs a{padding:8px 11px;border-radius:9px;border:1px solid var(--line);background:#111a2e;color:#aebbd2;font-size:12px;font-weight:700}.designer-tabs a.active{background:linear-gradient(135deg,var(--primary),var(--primary2));color:white;border-color:transparent}.designer-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.designer-status-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.designer-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.color-field{display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:center}.color-field input[type=color]{padding:2px;height:42px}.asset-preview{height:100px;border:1px dashed var(--line);border-radius:12px;display:grid;place-items:center;overflow:hidden;background:#0c1427;margin:7px 0}.asset-preview img{max-width:100%;max-height:100%;object-fit:contain}.designer-locale-tabs{display:flex;gap:6px;margin-bottom:12px}.designer-locale-tabs button{border:1px solid var(--line);background:#111a2e;color:#b7c6dc;border-radius:8px;padding:7px 11px;font-weight:700;cursor:pointer}.designer-locale-tabs button.active{background:#24416e;color:#fff}.designer-locale-panel{display:none}.designer-locale-panel.active{display:block}.portal-live-preview{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0b1020;box-shadow:var(--shadow)}.portal-live-preview .preview-nav{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid #273552}.portal-live-preview .preview-brand{display:flex;gap:9px;align-items:center}.portal-live-preview .preview-logo{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:800;color:white;background:linear-gradient(135deg,#4f7cff,#8057ff);overflow:hidden}.portal-live-preview .preview-logo img{width:100%;height:100%;object-fit:contain}.portal-live-preview .preview-body{padding:30px 22px 36px}.portal-live-preview .preview-kicker{font-size:10px;letter-spacing:.13em;font-weight:800}.portal-live-preview h3{font-size:28px;margin:9px 0}.portal-live-preview p{line-height:1.55}.portal-live-preview .preview-button{display:inline-block;padding:9px 13px;border-radius:9px;color:white;font-weight:700;margin-top:8px}.email-template-card{border:1px solid var(--line);border-radius:13px;padding:14px;margin-bottom:12px;background:rgba(10,17,31,.45)}.email-template-card h3{margin:0 0 10px}.email-locale-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.preview-draft-banner{position:sticky;top:0;z-index:9999;padding:10px 15px;text-align:center;background:#f5b942;color:#201703;font-weight:900;box-shadow:0 5px 20px rgba(0,0,0,.25)}.preview-draft-banner a{margin-left:12px;text-decoration:underline}.portal-brand-image{display:block;max-width:168px;max-height:46px;object-fit:contain}.portal-brand-image.compact{max-width:42px;max-height:42px}.portal-hero-image{max-width:100%;max-height:460px;object-fit:contain;border-radius:18px;box-shadow:var(--shadow)}
@media(max-width:1100px){.portal-designer-grid{grid-template-columns:1fr}.designer-sticky{position:static}.email-locale-grid{grid-template-columns:1fr}}
@media(max-width:720px){.designer-color-grid{grid-template-columns:1fr 1fr}.admin-top-actions{flex-wrap:wrap;justify-content:flex-end}}

/* REV021 Portal Designer presets / asset controls / responsive preview */
.designer-preset-row{display:grid;grid-template-columns:minmax(180px,260px) auto 1fr;gap:10px;align-items:end;margin:12px 0 18px;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.018)}
.designer-preset-row label{grid-column:1/-1;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.designer-preset-row small{align-self:center;color:var(--muted)}
.asset-remove{display:flex!important;align-items:center;gap:8px;margin-top:8px;font-size:12px!important;color:var(--muted)!important;text-transform:none!important;letter-spacing:0!important}
.asset-remove input{width:auto!important;margin:0}
.designer-device-toggle{display:flex;gap:6px;margin:0 0 10px}
.designer-device-toggle button{border:1px solid var(--line);background:var(--panel2);color:var(--muted);border-radius:8px;padding:7px 11px;cursor:pointer;font-weight:700}
.designer-device-toggle button.active{background:rgba(79,124,255,.16);border-color:var(--primary);color:var(--text)}
.portal-live-preview{transition:max-width .18s ease,width .18s ease;margin-left:auto;margin-right:auto}
.portal-live-preview.desktop{width:100%;max-width:100%}
.portal-live-preview.mobile{width:360px;max-width:100%}
.portal-live-preview.mobile .preview-nav{align-items:flex-start;gap:8px;flex-direction:column}
.portal-live-preview.mobile .preview-body{padding:18px 14px}
.portal-live-preview.mobile .preview-body h3{font-size:21px}
@media(max-width:760px){.designer-preset-row{grid-template-columns:1fr}.designer-preset-row label{grid-column:auto}.portal-live-preview.mobile{width:100%}}
.designer-nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.designer-toggle-card{display:flex!important;align-items:flex-start;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);cursor:pointer;text-transform:none!important;letter-spacing:0!important}
.designer-toggle-card input{width:auto!important;margin-top:3px}
.designer-toggle-card span{display:flex;flex-direction:column;gap:3px}.designer-toggle-card strong{color:var(--text)}.designer-toggle-card small{color:var(--muted)}
@media(max-width:760px){.designer-nav-grid{grid-template-columns:1fr}}

/* REV022 — Portal Designer published-theme bridge
   Published design variables are injected by base.html.twig. These scoped overrides replace
   legacy fixed public colors so the live site matches the designer after Publish. */
body.portal-public-page,
body.portal-auth-page,
body.portal-dashboard-page{color:var(--text)}
body.portal-public-page{background:linear-gradient(180deg,var(--bg) 0%,var(--panel2) 56%,var(--bg) 100%)}
body.portal-auth-page{background:linear-gradient(145deg,var(--bg),var(--panel2))}
body.portal-dashboard-page{background:var(--bg)}

body.portal-public-page .site-nav,
body.portal-public-page .site-footer,
body.portal-dashboard-page .portal-topbar{border-color:var(--line)}
body.portal-public-page .site-brand small,
body.portal-public-page .site-nav nav>a:not(.btn),
body.portal-public-page .landing-copy>p,
body.portal-public-page .hero-trust,
body.portal-public-page .section-heading p,
body.portal-public-page .feature-grid p,
body.portal-public-page .trial-banner p,
body.portal-public-page .security-copy>p,
body.portal-public-page .portal-showcase-copy>p,
body.portal-public-page .support-section p,
body.portal-public-page .site-footer,
body.portal-dashboard-page .portal-user small,
body.portal-dashboard-page .portal-welcome p,
body.portal-dashboard-page .portal-page-title p{color:var(--muted)}
body.portal-public-page .site-nav nav>a:not(.btn):hover{color:var(--text)}
body.portal-public-page .hero-kicker,
body.portal-public-page .section-heading>span,
body.portal-public-page .site-footer a,
body.portal-public-page .legal-page a,
body.portal-public-page .portal-check a{color:var(--primary)}

body.portal-public-page .feature-grid article,
body.portal-public-page .security-showcase,
body.portal-public-page .portal-showcase,
body.portal-public-page .support-section,
body.portal-public-page .support-topic-grid article,
body.portal-public-page .support-status-card,
body.portal-public-page .support-contact-card{border-color:var(--line);background:linear-gradient(145deg,var(--panel),var(--panel2))}
body.portal-public-page .feature-grid article>span,
body.portal-public-page .security-points span,
body.portal-public-page .security-diagram>div,
body.portal-public-page .portal-preview>div,
body.portal-public-page .support-topic-grid article>span{border-color:var(--line);background:var(--panel2);color:var(--primary)}
body.portal-public-page .security-points span,
body.portal-public-page .security-diagram small,
body.portal-public-page .portal-preview small,
body.portal-public-page .support-topic-grid p,
body.portal-public-page .support-status-card p,
body.portal-public-page .support-contact-card p{color:var(--muted)}
body.portal-public-page .security-diagram b{background:var(--panel2);color:var(--primary)}
body.portal-public-page .security-diagram i{color:var(--muted)}
body.portal-public-page .trial-banner{border-color:var(--primary);background:linear-gradient(120deg,var(--panel2),var(--panel),var(--bg))}
body.portal-public-page .legal-hero,
body.portal-public-page .legal-page section{border-color:var(--line)}
body.portal-public-page .legal-page section p,
body.portal-public-page .legal-hero p{color:var(--muted)}
body.portal-public-page .legal-meta span{border-color:var(--line);background:var(--panel);color:var(--muted)}
body.portal-public-page .legal-notice{border-color:var(--warning);background:var(--panel);color:var(--warning)}

body.portal-public-page .mock-window{border-color:var(--line);background:var(--panel);box-shadow:var(--shadow)}
body.portal-public-page .mock-titlebar{background:var(--panel2);border-color:var(--line)}
body.portal-public-page .mock-titlebar span,
body.portal-public-page .mock-nav,
body.portal-public-page .mock-card small,
body.portal-public-page .mock-stats small{color:var(--muted)}
body.portal-public-page .mock-app aside{background:var(--bg);border-color:var(--line)}
body.portal-public-page .mock-app aside>b{background:linear-gradient(135deg,var(--primary),var(--primary2))}
body.portal-public-page .mock-nav.active,
body.portal-public-page .mock-stats div,
body.portal-public-page .mock-card{background:var(--panel2);border-color:var(--line)}
body.portal-public-page .mock-card em{background:var(--panel);color:var(--primary)}
body.portal-public-page .mock-heading small{color:var(--primary)}
body.portal-public-page .mock-heading>span{color:var(--green)}

body.portal-auth-page .portal-back,
body.portal-auth-page .portal-switch,
body.portal-auth-page .portal-check,
body.portal-auth-page .trial-summary-card li,
body.portal-auth-page .center-card>p{color:var(--muted)}
body.portal-auth-page .portal-auth-card,
body.portal-auth-page .trial-summary-card{background:var(--panel);border-color:var(--line);color:var(--text)}
body.portal-auth-page .portal-auth-card .brand-row small,
body.portal-auth-page .trial-days small{color:var(--muted)}
body.portal-auth-page input,
body.portal-auth-page select,
body.portal-auth-page textarea{background:var(--bg);border-color:var(--line);color:var(--text)}
body.portal-auth-page .trial-note{background:var(--panel2);border-color:var(--line);color:var(--muted)}
body.portal-auth-page .portal-switch a{color:var(--primary)}
body.portal-auth-page .trial-days{background:linear-gradient(135deg,var(--primary),var(--primary2));-webkit-background-clip:text;background-clip:text;color:transparent}

body.portal-dashboard-page .portal-nav a{color:var(--muted)}
body.portal-dashboard-page .portal-nav a:hover,
body.portal-dashboard-page .portal-nav a.active{background:var(--panel2);color:var(--text)}
body.portal-dashboard-page .portal-license-card,
body.portal-dashboard-page .portal-summary-grid>a,
body.portal-dashboard-page .plan-card,
body.portal-dashboard-page .download-card,
body.portal-dashboard-page .account-card,
body.portal-dashboard-page .history-card,
body.portal-dashboard-page .payment-success-card{background:linear-gradient(145deg,var(--panel),var(--panel2));border-color:var(--line);color:var(--text)}
body.portal-dashboard-page .serial-panel,
body.portal-dashboard-page .portal-license-grid>div,
body.portal-dashboard-page .portal-security-note,
body.portal-dashboard-page .license-detail-list>div,
body.portal-dashboard-page .license-entitlement-grid>div,
body.portal-dashboard-page .payment-success-grid>div{background:var(--bg);border-color:var(--line)}
body.portal-dashboard-page .serial-panel small,
body.portal-dashboard-page .portal-license-grid small,
body.portal-dashboard-page .portal-security-note p,
body.portal-dashboard-page .license-detail-list dt,
body.portal-dashboard-page .license-entitlement-grid small,
body.portal-dashboard-page .license-entitlement-grid span,
body.portal-dashboard-page .plan-head p,
body.portal-dashboard-page .plan-price span,
body.portal-dashboard-page .plan-device,
body.portal-dashboard-page .plan-secure,
body.portal-dashboard-page .payment-success-lead,
body.portal-dashboard-page .payment-success-note{color:var(--muted)}
body.portal-dashboard-page .serial-panel strong,
body.portal-dashboard-page .payment-success-grid strong{color:var(--text)}
body.portal-dashboard-page .license-help{background:var(--panel2);color:var(--muted)}
body.portal-dashboard-page .portal-empty{border-color:var(--line);color:var(--muted)}
body.portal-dashboard-page .portal-empty h2{color:var(--text)}
body.portal-dashboard-page .plan-price{border-color:var(--line)}
body.portal-dashboard-page .plan-price strong{color:var(--text)}
body.portal-dashboard-page .plan-features small,
body.portal-dashboard-page .plan-features span{color:var(--muted)}
body.portal-dashboard-page input,
body.portal-dashboard-page select,
body.portal-dashboard-page textarea{background:var(--bg);border-color:var(--line);color:var(--text)}

body.portal-dashboard-page .language-switch,
body.portal-public-page .language-switch{background:var(--panel);border-color:var(--line)}
body.portal-dashboard-page .language-switch a,
body.portal-public-page .language-switch a{color:var(--muted)}
body.portal-dashboard-page .language-switch a:hover,
body.portal-dashboard-page .language-switch a.active,
body.portal-public-page .language-switch a:hover,
body.portal-public-page .language-switch a.active{background:var(--panel2);color:var(--text)}
body.portal-public-page .btn-secondary,
body.portal-auth-page .btn-secondary,
body.portal-dashboard-page .btn-secondary{background:var(--panel2);border-color:var(--line);color:var(--text)}

/* REV022 — Commerce final: transaction details, refunds, renewals and webhook diagnostics */
.commerce-history-table{width:100%;border-collapse:collapse}
.commerce-history-table th,.commerce-history-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.commerce-history-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.commerce-order-detail-grid,.portal-transaction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.commerce-detail-dl,.transaction-dl{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:10px 16px;margin:0}
.commerce-detail-dl dt,.transaction-dl dt{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.commerce-detail-dl dd,.transaction-dl dd{margin:0;overflow-wrap:anywhere}
.commerce-actions-panel{display:flex;flex-direction:column;gap:14px}
.commerce-action-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.refund-danger-zone{margin-top:18px;padding:16px;border:1px solid color-mix(in srgb,var(--red) 55%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--red) 7%,var(--panel))}
.refund-danger-zone h3{margin-top:0;color:var(--red)}
.refund-confirm-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.refund-confirm-form input{min-width:220px}
.commerce-json{margin:0;max-height:340px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--muted);font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.portal-transaction-grid .history-card{height:100%}
.payment-refund-note{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--muted)}
@media (max-width:900px){.commerce-order-detail-grid,.portal-transaction-grid{grid-template-columns:1fr}.commerce-detail-dl,.transaction-dl{grid-template-columns:1fr;gap:4px}.commerce-history-table{display:block;overflow-x:auto}}
body.portal-dashboard-page .portal-form-card,
body.portal-dashboard-page .portal-table-wrap,
body.portal-dashboard-page .portal-info-note{background:var(--panel);border-color:var(--line);color:var(--text)}
body.portal-dashboard-page .portal-table th{color:var(--muted);border-color:var(--line)}
body.portal-dashboard-page .portal-table td{color:var(--text);border-color:var(--line)}
body.portal-dashboard-page .portal-table td small,
body.portal-dashboard-page .portal-table-empty,
body.portal-dashboard-page .portal-info-note{color:var(--muted)}
body.portal-dashboard-page .portal-info-note strong{color:var(--text)}
