:root { color-scheme: dark; --bg:#0d1115; --panel:#171d22; --panel-2:#1b2228; --line:#303940; --text:#e9edef; --muted:#7f8a92; --accent:#f2a20d; --green:#54bd78; --red:#e26b67; --font-micro:12px; --font-caption:13px; --font-body:14px; --font-emphasis:15px; --font-subtitle:16px; --font-section:17px; --font-highlight:18px; --font-card-title:20px; --font-icon:22px; --font-page:23px; --font-display:26px; --font-metric:43px; font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif; }
* { box-sizing: border-box; }
body { margin:0; min-width:320px; min-height:100vh; color:var(--text); background:radial-gradient(circle at 75% 0,rgba(242,162,13,.07),transparent 30%),var(--bg); font-size:var(--font-body); }
button,input,select { font:inherit; }
button { min-height:36px; padding:7px 13px; border:1px solid #3a444c; border-radius:7px; outline:0; color:#c8d0d5; background:#1a2127; cursor:pointer; transition:border-color .18s ease,color .18s ease,background .18s ease,box-shadow .18s ease; }
button:hover:not(:disabled) { border-color:#59646d; color:#fff; background:#222a31; }
button:disabled { opacity:.42; cursor:default; }
button.primary { border-color:#ffb429; color:#1c1405; background:linear-gradient(#ffc04a,#ee9d08); font-weight:750; }
button.danger { border-color:#d95f5a; color:#fff3f2; background:linear-gradient(#d96863,#b94b47); font-weight:750; }
button.danger:hover:not(:disabled) { border-color:#ed817c; color:#fff; background:linear-gradient(#e47772,#c6534f); }
button.primary:disabled { border-color:#303940; color:#68747c; background:#1a2127; opacity:1; }
button:focus-visible { border-color:var(--accent); box-shadow:0 0 0 3px rgba(242,162,13,.14); }
[hidden] { display:none !important; }
.eyebrow,.panel-heading>div:first-child>span { color:var(--accent); font-size:var(--font-caption); font-weight:800; letter-spacing:.16em; }
.login-view { display:grid; min-height:100vh; place-items:center; padding:28px; }
.login-card { display:grid; width:min(440px,100%); gap:24px; padding:34px; border:1px solid var(--line); border-radius:16px; background:rgba(23,29,34,.96); box-shadow:0 28px 90px rgba(0,0,0,.45); }
.product-mark { display:block; width:78px; height:54px; object-fit:contain; }
.login-card h1 { margin:8px 0 0; font-size:var(--font-display); }.login-card p,.login-card small { margin:8px 0 0; color:var(--muted); font-size:var(--font-body); line-height:1.6; }
.login-card form,.form-body { display:grid; gap:15px; }.login-card label,.form-body label { display:grid; gap:7px; color:#aeb7bd; font-size:var(--font-body); }
input,select { width:100%; height:40px; padding:0 11px; border:1px solid #374149; border-radius:7px; outline:none; color:#edf1f3; background:#10161a; }
input:focus,select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(242,162,13,.1); }
.select-native { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden; clip-path:inset(50%); opacity:0; pointer-events:none; }.form-body label.has-open-select { position:relative; z-index:80; }.select-control { position:relative; min-width:0; }.select-control.is-open { z-index:80; }.select-trigger { position:relative; display:flex; width:100%; height:40px; align-items:center; justify-content:space-between; gap:12px; padding:0 40px 0 11px; border-color:#374149; color:#edf1f3; text-align:left; background:#10161a; }.select-trigger::after { position:absolute; top:50%; right:14px; width:7px; height:7px; border-right:1.5px solid #9da7ad; border-bottom:1.5px solid #9da7ad; content:""; transform:translateY(-70%) rotate(45deg); transition:transform .16s ease,border-color .16s ease; }.select-trigger:hover:not(:disabled) { border-color:#59646d; background:#12191e; }.select-control.is-open .select-trigger { border-color:var(--accent); background:#11181c; box-shadow:0 0 0 3px rgba(242,162,13,.1); }.select-control.is-open .select-trigger::after { border-color:#ffc04a; transform:translateY(-20%) rotate(225deg); }.select-trigger:disabled { color:#68747c; background:#151b20; }.select-menu { position:absolute; z-index:60; top:calc(100% + 6px); right:0; left:0; display:grid; max-height:246px; gap:3px; overflow:auto; padding:6px; border:1px solid #424d55; border-radius:9px; background:#11171b; box-shadow:0 18px 44px rgba(0,0,0,.48); animation:select-menu-in .14s ease-out; }.select-option { position:relative; width:100%; min-height:36px; padding:7px 36px 7px 10px; border-color:transparent; border-radius:6px; color:#b9c2c7; text-align:left; background:transparent; }.select-option:hover:not(:disabled),.select-option:focus-visible { border-color:#303a41; color:#fff; background:#1b2329; box-shadow:none; }.select-option[aria-selected="true"] { border-color:rgba(242,162,13,.32); color:#ffd58a; background:rgba(242,162,13,.1); }.select-option[aria-selected="true"]::after { position:absolute; top:50%; right:12px; width:9px; height:5px; border-bottom:1.5px solid #f5b43a; border-left:1.5px solid #f5b43a; content:""; transform:translateY(-65%) rotate(-45deg); }@keyframes select-menu-in { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
.form-message { position:relative; margin:0; padding:9px 11px 9px 32px; border:1px solid #39444c; border-radius:7px; color:#aeb7bd; background:#141a1f; font-size:var(--font-body); line-height:1.5; }.form-message::before { position:absolute; top:9px; left:10px; display:grid; width:14px; height:14px; place-items:center; border:1px solid #59646d; border-radius:50%; color:#8d989f; content:"i"; font-size:var(--font-micro); font-weight:800; }.form-message.error { border-color:rgba(226,107,103,.4); color:#f0aaa7; background:rgba(226,107,103,.055); }.form-message.error::before { border-color:rgba(226,107,103,.55); color:#f0aaa7; content:"!"; }.form-message.success { border-color:rgba(84,189,120,.4); color:#91d7a9; background:rgba(84,189,120,.055); }.form-message.success::before { border-color:rgba(84,189,120,.55); color:#91d7a9; content:"✓"; }
.form-hint { margin:0; padding:10px 11px; border:1px solid rgba(84,189,120,.28); border-radius:6px; color:#a9d8b9; background:rgba(84,189,120,.07); font-size:var(--font-body); line-height:1.5; }
.admin-layout { display:grid; min-height:100vh; grid-template-columns:220px minmax(0,1fr); }
.sidebar { position:sticky; top:0; display:grid; height:100vh; grid-template-rows:auto 1fr auto; padding:22px 14px; border-right:1px solid var(--line); background:#11171b; }
.brand { display:flex; align-items:center; gap:11px; padding:0 8px 24px; border-bottom:1px solid var(--line); }.brand>img { display:block; width:52px; height:36px; object-fit:contain; }.brand strong,.brand small { display:block; }.brand strong { font-size:calc(var(--font-body) * 1.5); line-height:1.15; white-space:nowrap; }.brand small { margin-top:3px; color:#68747c; font-size:var(--font-micro); text-transform:uppercase; letter-spacing:.1em; white-space:nowrap; }
nav { display:grid; align-content:start; gap:7px; padding-top:20px; }nav button { width:100%; min-height:40px; border-color:#222b31; border-radius:8px; text-align:left; color:#85919a; background:#141a1f; }nav button:hover:not(:disabled) { border-color:#364149; color:#d8dee1; background:#192127; }nav button.active { border-color:rgba(242,162,13,.62); color:#ffe3ad; background:rgba(242,162,13,.1); box-shadow:none; }nav button:focus-visible { border-color:rgba(242,162,13,.62); box-shadow:none; }
.sidebar-foot { display:flex; align-items:center; gap:8px; padding:13px 8px 0; border-top:1px solid var(--line); color:#6d7981; font-size:var(--font-caption); }.sidebar-foot i { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 8px rgba(84,189,120,.5); }
.content { min-width:0; padding:0 28px 36px; }.topbar { display:flex; min-height:84px; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }.topbar h1 { margin:0; font-size:var(--font-page); }.topbar p { margin:7px 0 0; color:var(--muted); font-size:var(--font-caption); }.top-actions,.manage-tools { display:flex; align-items:center; gap:8px; }.manage-tools { justify-content:space-between; padding:12px 18px; border-bottom:1px solid var(--line); background:#141a1f; }.user-search { position:relative; display:block; }.user-search svg { position:absolute; z-index:1; top:10px; left:11px; width:15px; height:15px; fill:#6f7b83; }.user-search input { width:260px; height:36px; padding-left:34px; border-radius:999px; font-size:var(--font-caption); }.manage-tools #heartbeat-all { border-color:rgba(242,162,13,.38); color:#f4c777; background:rgba(242,162,13,.07); white-space:nowrap; }
.admin-layout.is-customers-view { min-height:100vh; }.admin-layout.is-customers-view .content { min-height:100vh; padding-bottom:36px; }.admin-layout.is-customers-view #customers-view,.admin-layout.is-customers-view #managed-users-table { min-height:0; overflow:visible; }.admin-layout.is-customers-view .managed-users { display:grid; min-height:0; grid-template-rows:auto auto auto; }.admin-layout.is-customers-view #managed-users-table .table-wrap { height:auto; overflow-x:auto; overflow-y:visible; overscroll-behavior-x:contain; }
.view { display:grid; gap:20px; padding-top:24px; }.metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.metric { display:grid; min-height:164px; grid-template-columns:minmax(0,1fr) minmax(130px,.86fr); grid-template-rows:auto 1fr; align-items:center; column-gap:18px; padding:25px 26px; border:1px solid var(--line); border-radius:13px; background:var(--panel); }.metric span { align-self:end; color:#a0aab0; font-size:var(--font-subtitle); font-weight:650; }.metric strong { grid-column:2; grid-row:1/span 2; place-self:center; color:#f0f3f4; font-size:var(--font-metric); line-height:1; letter-spacing:-.025em; white-space:nowrap; }.metric small { align-self:start; margin-top:11px; color:#6f7b83; font-size:var(--font-body); line-height:1.55; }
.panel { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:var(--panel); }.panel-heading { display:flex; min-height:67px; align-items:center; justify-content:space-between; gap:20px; padding:15px 18px; border-bottom:1px solid var(--line); background:#151b20; }.panel-heading h2 { margin:6px 0 0; font-size:var(--font-section); }.panel-heading>small { color:#68747c; font-size:var(--font-micro); }.two-column { display:grid; grid-template-columns:minmax(320px,.72fr) minmax(520px,1.5fr); gap:20px; align-items:start; }.form-body { padding:18px; }.number-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.create-user-panel { width:100%; }.create-user-form { grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr); grid-template-rows:auto auto auto auto; align-items:start; column-gap:24px; row-gap:17px; }.email-builder { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(160px,.7fr); grid-column:2; gap:12px; }.email-builder #custom-domain-field { grid-column:1/-1; }.create-user-form>label,.create-user-form>.form-message,.create-primary { grid-column:2; }.create-primary { width:100%; min-height:44px; margin-top:2px; }.customer-preview,.customer-created { display:flex; min-height:100%; grid-column:1; grid-row:1/span 5; flex-direction:column; gap:16px; margin:0; padding:20px; border:1px solid #374149; border-radius:10px; background:#10161a; transition:border-color .2s ease,background .2s ease,box-shadow .2s ease; }.preview-header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-bottom:14px; border-bottom:1px solid rgba(126,141,153,.14); }.preview-header>div { display:grid; gap:5px; }.preview-header span { color:#8d989f; font-size:var(--font-micro); font-weight:800; letter-spacing:.14em; }.preview-header strong { color:#dbe0e3; font-size:var(--font-emphasis); }.preview-header i { padding:4px 8px; border:1px solid #354047; border-radius:99px; color:#7f8a92; background:#151c21; font-size:var(--font-micro); font-style:normal; }.preview-details { display:grid; gap:0; }.preview-details>div { display:grid; grid-template-columns:82px minmax(0,1fr); align-items:center; min-height:38px; border-bottom:1px solid rgba(126,141,153,.1); }.preview-details span,.preview-code-heading span { color:#7f8a92; font-size:var(--font-micro); }.preview-details strong { overflow:hidden; color:#dbe0e3; font-size:var(--font-body); text-overflow:ellipsis; white-space:nowrap; }.preview-code-block { display:grid; gap:9px; padding:13px; border:1px solid #303940; border-radius:8px; background:#0e1418; }.preview-code-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }.preview-code-heading small { color:#657078; font-size:var(--font-micro); }.preview-code-value { display:flex; min-width:0; align-items:center; gap:10px; }.preview-code-value strong { flex:1; min-width:0; color:#c6cdd1; font-family:"SFMono-Regular",Consolas,monospace; font-size:var(--font-highlight); letter-spacing:.035em; word-break:break-all; }.preview-code-value button { flex:0 0 auto; min-height:30px; padding:4px 9px; font-size:var(--font-micro); }.customer-preview p { margin:0; color:#7f8a92; font-size:var(--font-micro); line-height:1.55; }.preview-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:auto; padding-top:2px; }.preview-actions button { min-width:100px; }.preview-actions .primary { min-width:128px; }.customer-created { border-color:rgba(84,189,120,.35); background:rgba(84,189,120,.055); }.customer-created>span { color:#89b899; }
.customer-preview.is-empty { border-color:#303940; background:#12181d; }.customer-preview.is-empty .preview-details strong,.customer-preview.is-empty .preview-code-value strong { color:#68747c; }.customer-preview.is-empty .preview-actions { visibility:hidden; }.customer-preview.is-pending { border-color:rgba(242,162,13,.48); background:rgba(242,162,13,.055); box-shadow:inset 3px 0 0 rgba(242,162,13,.72); }.customer-preview.is-pending .preview-header i { border-color:rgba(242,162,13,.35); color:#e1b45f; background:rgba(242,162,13,.08); }.customer-preview.is-pending .preview-code-block { border-color:rgba(242,162,13,.32); background:rgba(17,14,8,.3); }.customer-preview.is-pending .preview-code-value strong { color:#ffd687; }.customer-preview.is-success { border-color:rgba(84,189,120,.48); background:rgba(84,189,120,.055); box-shadow:inset 3px 0 0 rgba(84,189,120,.72); }.customer-preview.is-success .preview-header i { border-color:rgba(84,189,120,.35); color:#9bd7ae; background:rgba(84,189,120,.08); }.customer-preview.is-success .preview-code-block { border-color:rgba(84,189,120,.3); }.customer-preview.is-success .preview-code-value strong { color:#a9dfba; }.customer-preview.is-success #edit-customer,.customer-preview.is-success #confirm-customer { display:none; }
.preview-email-status { display:grid; min-width:0; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:3px 12px; padding:10px 12px; border:1px solid rgba(242,162,13,.32); border-radius:8px; color:#e8bd6c; background:rgba(242,162,13,.055); }.preview-email-status>span { grid-row:1/3; font-size:var(--font-caption); }.preview-email-status>strong { font-size:var(--font-body); }.preview-email-status>small { overflow:hidden; color:#a58c5d; font-size:var(--font-caption); text-overflow:ellipsis; white-space:nowrap; }.preview-email-status[data-tone="success"] { border-color:rgba(84,189,120,.38); color:#a9dfba; background:rgba(84,189,120,.07); }.preview-email-status[data-tone="success"]>small { color:#80b491; }.preview-email-status[data-tone="error"] { border-color:rgba(226,107,103,.4); color:#f0aaa7; background:rgba(226,107,103,.07); }.preview-email-status[data-tone="error"]>small { color:#c98784; }
.customer-workspace { display:grid; grid-template-columns:280px minmax(0,1fr); gap:20px; align-items:start; }.user-directory { position:sticky; top:20px; display:grid; max-height:calc(100vh - 44px); grid-template-rows:auto auto minmax(0,1fr); }.form-actions { display:flex; justify-content:flex-end; gap:8px; }.directory-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px 8px; color:#9aa4aa; font-size:var(--font-micro); }.directory-meta small { color:#657078; font-size:var(--font-micro); }.customers-list { display:grid; gap:6px; overflow:auto; padding:6px 8px 10px; }.customer-item { display:grid; width:100%; min-height:82px; gap:6px; padding:11px 12px; border-color:transparent; text-align:left; background:transparent; }.customer-item:hover:not(:disabled) { border-color:#39434a; background:#1b2227; }.customer-item.active { border-color:rgba(242,162,13,.38); color:#fff1d3; background:rgba(242,162,13,.08); }.customer-item-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }.customer-item-heading strong { overflow:hidden; font-size:var(--font-body); text-overflow:ellipsis; white-space:nowrap; }.customer-item-heading i { display:flex; align-items:center; gap:4px; color:#839097; font-size:var(--font-micro); font-style:normal; }.customer-item-heading i::before { width:5px; height:5px; border-radius:50%; background:#748089; content:""; }.customer-item-heading i.ok { color:#86c99b; }.customer-item-heading i.ok::before { background:var(--green); }.customer-item-heading i.bad { color:#dc9895; }.customer-item-heading i.bad::before { background:var(--red); }.customer-item>small { overflow:hidden; color:#6f7b83; font-size:var(--font-micro); text-overflow:ellipsis; white-space:nowrap; }.customer-item-meta { color:#98a2a8; font-size:var(--font-micro); }.directory-empty { padding:24px 12px; }
.user-detail { display:grid; min-width:0; gap:20px; scroll-margin-top:12px; }.detail-identity { display:flex; min-height:86px; align-items:center; justify-content:space-between; gap:18px; padding:17px 19px; border-bottom:1px solid var(--line); background:#151b20; }.detail-identity h2 { margin:6px 0 0; font-size:var(--font-card-title); }.detail-identity p { margin:5px 0 0; color:var(--muted); font-size:var(--font-micro); }.detail-metrics { display:grid; grid-template-columns:repeat(4,1fr); }.detail-metrics>div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 17px; border-right:1px solid var(--line); }.detail-metrics>div:last-child { border-right:0; }.detail-metrics span { color:var(--muted); font-size:var(--font-micro); }.detail-metrics strong { font-size:var(--font-card-title); }.deployment-form { border-bottom:1px solid var(--line); background:#141a1f; }.deployment-form .form-body { grid-template-columns:minmax(220px,1fr) 220px auto; align-items:end; gap:12px; }.deployment-form-copy strong { font-size:var(--font-body); }.deployment-form-copy p { margin:6px 0 0; color:var(--muted); font-size:var(--font-micro); line-height:1.5; }.deployment-form .form-message,.deployment-form .generated-code { grid-column:1/-1; }.empty-workspace { display:grid; min-height:280px; place-content:center; text-align:center; }.empty-workspace strong { font-size:var(--font-subtitle); }.empty-workspace p { margin:8px 0 0; color:var(--muted); font-size:var(--font-caption); }
.settings-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }.settings-grid>.panel { width:100%; }.policy-list { display:grid; gap:0; padding:0 18px; }.policy-list>div { padding:17px 0; border-bottom:1px solid rgba(126,141,153,.12); }.policy-list>div:last-child { border-bottom:0; }.policy-list b { font-size:var(--font-body); }.policy-list p { margin:6px 0 0; color:var(--muted); font-size:var(--font-caption); line-height:1.6; }
.heartbeat-duration-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.heartbeat-duration-group { display:grid; align-content:start; gap:12px; min-height:150px; padding:16px; border:1px solid #333d44; border-radius:8px; background:#141a1f; }.heartbeat-duration-group>strong { color:#d9dee2; font-size:var(--font-body); }.heartbeat-duration-group>div { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.lease-ttl-group>small { color:var(--muted); font-size:var(--font-micro); line-height:1.55; }
.ttl-impact { padding:13px 15px; border:1px solid #333d44; border-radius:8px; color:#aeb7bd; background:#141a1f; font-size:var(--font-caption); line-height:1.6; }.ttl-impact[data-tone="warning"] { border-color:rgba(242,162,13,.38); color:#e7c077; background:rgba(242,162,13,.055); }
.system-status-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }.system-status-item { display:grid; min-height:112px; grid-template-columns:minmax(0,1fr) auto; align-content:center; gap:10px 14px; padding:18px 20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.system-status-item:nth-child(3n) { border-right:0; }.system-status-item:nth-last-child(-n+3) { border-bottom:0; }.system-status-item>span { color:#8b969d; font-size:var(--font-caption); }.system-status-item>strong { color:#e3e8ea; font-size:var(--font-subtitle); }.system-status-item>small { grid-column:1/-1; overflow:hidden; color:#69757d; font-size:var(--font-micro); line-height:1.5; text-overflow:ellipsis; white-space:nowrap; }.system-status-item[data-tone="ok"]>strong { color:#9bd7ae; }.system-status-item[data-tone="warning"]>strong { color:#efc36f; }.system-status-item[data-tone="error"]>strong { color:#efa7a4; }
.audit-filter-grid { display:grid; grid-template-columns:1.1fr 1.35fr repeat(3,1fr); align-items:end; gap:12px; padding:18px; }.audit-filter-actions { display:flex; grid-column:1/-1; justify-content:flex-end; gap:8px; }.audit-filter-actions button { min-width:108px; }.audit-retention-row { display:grid; grid-template-columns:minmax(220px,320px) minmax(0,1fr) auto; align-items:end; gap:14px; padding:16px 18px; border-top:1px solid var(--line); background:#141a1f; }.audit-retention-row .form-message { align-self:center; margin:0; }.audit-retention-row>button { min-width:108px; }.audit-controls input[type="datetime-local"] { min-width:0; }
fieldset { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin:0; padding:12px; border:1px solid #333d44; border-radius:8px; }legend { padding:0 6px; color:#7f8a92; font-size:var(--font-caption); }.form-body label.check { display:flex; align-items:center; gap:8px; }.check input { width:15px; height:15px; accent-color:var(--accent); }
.table-wrap { overflow:auto; }.data-table { width:100%; border-collapse:collapse; }.data-table th,.data-table td { padding:12px 14px; border-bottom:1px solid rgba(126,141,153,.12); text-align:left; white-space:nowrap; font-size:var(--font-caption); }.data-table th { color:#727e86; background:#141a1f; font-weight:650; }.data-table td { color:#c5cdd2; }.data-table tr:last-child td { border-bottom:0; }.data-table button { min-height:28px; padding:4px 9px; font-size:var(--font-micro); }.empty { padding:38px 18px; color:#69757d; text-align:center; font-size:var(--font-body); }
.managed-users .data-table { min-width:900px; }.user-identity { display:flex; min-width:210px; align-items:center; flex-wrap:wrap; gap:4px 7px; }.user-identity strong { width:100%; color:#e1e6e8; font-size:var(--font-caption); font-weight:650; }.user-identity small { overflow:hidden; max-width:160px; color:#75818a; font-size:var(--font-micro); text-overflow:ellipsis; white-space:nowrap; }.user-price { width:max-content; padding:2px 6px; border-radius:99px; color:#e4b960; background:rgba(242,162,13,.08); font-size:var(--font-micro); font-style:normal; }.user-actions { display:flex; align-items:center; gap:6px; }.heartbeat-button { border-color:rgba(242,162,13,.3); color:#e9bd6c; background:rgba(242,162,13,.055); }.delete-user-button { border-color:rgba(226,107,103,.28); color:#d99a97; background:rgba(226,107,103,.045); }.delete-user-button:hover:not(:disabled) { border-color:rgba(226,107,103,.55); color:#ffc0bd; background:rgba(226,107,103,.1); }
.status { display:inline-flex; align-items:center; gap:6px; padding:4px 7px; border-radius:99px; color:#9da7ad; background:#232b31; }.status::before { width:6px; height:6px; border-radius:50%; background:#748089; content:""; }.status.ok { color:#9bd7ae; background:rgba(84,189,120,.09); }.status.ok::before { background:var(--green); }.status.bad { color:#efa7a4; background:rgba(226,107,103,.09); }.status.bad::before { background:var(--red); }.status.warn { color:#efc36f; background:rgba(242,162,13,.09); }.status.warn::before { background:var(--accent); }
.mono { font-family:"SFMono-Regular",Consolas,monospace; font-size:var(--font-micro); }.fingerprint { display:inline-flex; align-items:center; gap:6px; }.fingerprint code { color:#cbd3d7; font-family:"SFMono-Regular",Consolas,monospace; font-size:var(--font-micro); }.fingerprint button { min-height:24px; padding:2px 6px; border-color:transparent; color:#79858d; background:transparent; }.fingerprint button:hover:not(:disabled) { border-color:#3b464d; }.generated-code { display:grid; gap:9px; padding:14px; border:1px solid rgba(242,162,13,.42); border-radius:9px; background:rgba(242,162,13,.06); }.generated-code span { color:#a98645; font-size:var(--font-micro); }.generated-code strong { color:#ffd687; font-family:"SFMono-Regular",Consolas,monospace; font-size:var(--font-highlight); letter-spacing:.04em; word-break:break-all; }
.notice-modal { position:fixed; z-index:200; inset:0; display:grid; place-items:center; padding:24px; }.notice-backdrop { position:absolute; min-height:0; padding:0; border:0; border-radius:0; inset:0; background:rgba(5,8,10,.72); backdrop-filter:blur(5px); cursor:default; animation:notice-fade-in .16s ease-out; }.notice-backdrop:hover:not(:disabled) { border:0; background:rgba(5,8,10,.72); }.notice-dialog { position:relative; display:grid; width:min(430px,100%); grid-template-columns:44px minmax(0,1fr); gap:16px; padding:22px; border:1px solid #3b464d; border-radius:13px; outline:none; background:#151c21; box-shadow:0 28px 90px rgba(0,0,0,.58); animation:notice-dialog-in .18s ease-out; }.notice-icon { display:grid; width:44px; height:44px; place-items:center; border:1px solid rgba(226,107,103,.5); border-radius:12px; color:#f0aaa7; background:rgba(226,107,103,.09); font-size:var(--font-icon); font-weight:850; }.notice-copy { min-width:0; }.notice-copy>span { color:#dd8e8a; font-size:var(--font-micro); font-weight:800; letter-spacing:.16em; }.notice-copy h2 { margin:6px 0 0; font-size:var(--font-highlight); }.notice-copy p { margin:8px 0 0; color:#9ca7ad; font-size:var(--font-body); line-height:1.65; white-space:pre-line; word-break:break-word; }.notice-actions { display:flex; grid-column:1/-1; justify-content:flex-end; gap:8px; margin-top:4px; }.notice-actions button { min-width:104px; }.notice-dialog[data-tone="warning"] .notice-icon { border-color:rgba(242,162,13,.5); color:#f5c15e; background:rgba(242,162,13,.09); }.notice-dialog[data-tone="warning"] .notice-copy>span { color:#d9a642; }@keyframes notice-fade-in { from { opacity:0; } to { opacity:1; } }@keyframes notice-dialog-in { from { opacity:0; transform:translateY(8px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
.preview-actions { display:grid; width:min(440px,100%); grid-template-columns:repeat(2,minmax(0,1fr)); align-self:flex-end; }.preview-actions button,.preview-actions .primary { width:100%; min-width:0; }.customer-preview.is-success .preview-actions { grid-template-columns:1fr; }.user-actions { display:grid; grid-template-columns:repeat(3,66px); }.user-actions button { width:66px; padding-right:5px; padding-left:5px; }.notice-actions { display:grid; grid-template-columns:repeat(2,104px); justify-content:end; }.notice-actions button { width:104px; min-width:0; }.notice-actions #notice-close { grid-column:2; }
.toggle-user-button { border-color:#3a444c; color:#aeb7bd; background:#1a2127; }.toggle-user-button.disable:hover:not(:disabled),.toggle-user-button.disable:focus-visible { border-color:rgba(226,107,103,.5); color:#efa7a4; background:rgba(226,107,103,.08); }.toggle-user-button.enable:hover:not(:disabled),.toggle-user-button.enable:focus-visible { border-color:rgba(84,189,120,.5); color:#9bd7ae; background:rgba(84,189,120,.08); }
.summary-actions { display:grid; grid-template-columns:repeat(2,72px); justify-content:end; gap:8px; }.summary-actions button { width:72px; padding-right:5px; padding-left:5px; }.user-details-button { border-color:#3a444c; color:#aeb7bd; background:#1a2127; }.user-details-button:hover:not(:disabled),.user-details-button:focus-visible,.user-details-button[aria-expanded="true"] { border-color:rgba(242,162,13,.48); color:#f4c777; background:rgba(242,162,13,.07); }
.user-expanded-row>td { padding:0!important; border-bottom:1px solid #3a444c!important; white-space:normal!important; background:#10161a; }.user-expanded-panel { display:grid; gap:18px; padding:20px 22px 22px; border-top:1px solid rgba(242,162,13,.24); background:linear-gradient(180deg,rgba(242,162,13,.025),transparent 54%),#10161a; }.user-expanded-panel>header { display:flex; min-height:52px; align-items:center; justify-content:space-between; gap:20px; padding:0 2px; }.user-expanded-panel>header>div { display:grid; gap:5px; }.user-expanded-panel>header span { color:#9c824f; font-size:var(--font-micro); font-weight:800; letter-spacing:.14em; }.user-expanded-panel>header strong { color:#e2e7e9; font-size:var(--font-section); }.user-expanded-panel>header small { color:#69757d; font-size:var(--font-micro); }.deployment-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.deployment-detail-card { display:grid; min-width:0; gap:15px; padding:16px; border:1px solid #303940; border-radius:9px; background:#141a1f; }.deployment-detail-card:only-child { grid-column:1/-1; }.deployment-detail-card>header { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:16px; padding-bottom:13px; border-bottom:1px solid rgba(126,141,153,.12); }.deployment-detail-card>header>div { display:grid; min-width:0; gap:5px; }.deployment-detail-card>header strong { color:#dce2e5; font-size:var(--font-body); }.deployment-detail-card>header small { color:#69757d; font-family:"SFMono-Regular",Consolas,monospace; font-size:var(--font-micro); line-height:1.5; overflow-wrap:anywhere; }.release-device-button { flex:0 0 auto; min-height:32px; padding:5px 11px; color:#aeb7bd; background:#1a2127; font-size:var(--font-micro); }.release-device-button:hover:not(:disabled),.release-device-button:focus-visible { border-color:rgba(226,107,103,.5); color:#efa7a4; background:rgba(226,107,103,.08); }.deployment-detail-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.deployment-detail-card:only-child .deployment-detail-fields { grid-template-columns:repeat(4,minmax(0,1fr)); }.deployment-detail-field { display:grid; min-width:0; min-height:82px; align-content:space-between; gap:10px; padding:12px; border:1px solid rgba(126,141,153,.12); border-radius:7px; background:#10161a; }.deployment-detail-field>span { color:#77838b; font-size:var(--font-micro); }.deployment-detail-field>div { display:flex; min-width:0; align-items:flex-start; gap:9px; }.deployment-detail-field code,.deployment-detail-field strong { flex:1; min-width:0; color:#cdd5d9; font-family:"SFMono-Regular",Consolas,monospace; font-size:var(--font-micro); font-weight:500; line-height:1.55; overflow-wrap:anywhere; word-break:break-all; }.deployment-detail-field button { flex:0 0 auto; min-height:25px; padding:2px 6px; border-color:transparent; color:#79858d; background:transparent; font-size:var(--font-micro); }.deployment-detail-field button:hover:not(:disabled),.deployment-detail-field button:focus-visible { border-color:#3b464d; color:#d4dade; }
.manage-tools #heartbeat-all,.heartbeat-button { border-color:#3a444c; color:#aeb7bd; background:#1a2127; }.manage-tools #heartbeat-all:hover:not(:disabled),.manage-tools #heartbeat-all:focus-visible,.heartbeat-button:hover:not(:disabled),.heartbeat-button:focus-visible { border-color:rgba(242,162,13,.48); color:#f4c777; background:rgba(242,162,13,.07); box-shadow:0 0 0 3px rgba(242,162,13,.1); }
.user-identity { display:grid; width:280px; min-width:280px; grid-template-columns:100px 173px; align-items:center; justify-items:start; gap:4px 7px; margin:0 auto; text-align:left; }.user-identity strong { width:100%; grid-column:1/-1; overflow:hidden; text-align:left; text-overflow:ellipsis; white-space:nowrap; }.user-identity small { width:100px; max-width:100px; }.user-identity .user-price { max-width:173px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.managed-users .data-table { min-width:1120px; }.activation-code-cell { display:grid; min-width:190px; max-width:220px; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:7px; }.activation-code-cell code { overflow:hidden; color:#c7d0d5; font-family:"SFMono-Regular",Consolas,monospace; font-size:var(--font-micro); line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }.activation-code-cell button { min-width:48px; padding-right:7px; padding-left:7px; }.activation-code-cell button:not(:disabled) { border-color:#3a444c; color:#aeb7bd; background:#1a2127; }.activation-code-cell button:hover:not(:disabled),.activation-code-cell button:focus-visible { border-color:rgba(242,162,13,.48); color:#f4c777; background:rgba(242,162,13,.07); }
.admin-layout button.primary { border:1px solid rgba(242,162,13,.48); color:#f4c777; background:rgba(242,162,13,.075); box-shadow:none; }.admin-layout button.primary:hover:not(:disabled),.admin-layout button.primary:focus-visible { border-color:rgba(242,162,13,.72); color:#ffe0a3; background:rgba(242,162,13,.13); box-shadow:0 0 0 3px rgba(242,162,13,.08); }.admin-layout button.primary:active:not(:disabled) { border-color:#f2a20d; color:#ffe8bd; background:rgba(242,162,13,.19); }.admin-layout button.primary:disabled { border-color:#303940; color:#68747c; background:#1a2127; box-shadow:none; }.create-primary,.heartbeat-form button[type="submit"],.preview-actions button { min-height:44px; border-radius:8px; }.customer-preview.is-pending { background:rgba(242,162,13,.035); box-shadow:none; }.customer-preview.is-success { background:rgba(84,189,120,.035); box-shadow:none; }.customer-preview.is-success #create-next-user { border-color:rgba(84,189,120,.48); color:#9bd7ae; background:rgba(84,189,120,.075); }.customer-preview.is-success #create-next-user:hover:not(:disabled),.customer-preview.is-success #create-next-user:focus-visible { border-color:rgba(84,189,120,.7); color:#c1ebce; background:rgba(84,189,120,.13); box-shadow:0 0 0 3px rgba(84,189,120,.08); }
.admin-layout button.primary,.customer-preview.is-success #create-next-user { border-color:#3a444c; color:#c8d0d5; background:#1a2127; box-shadow:none; }.admin-layout button.primary:hover:not(:disabled),.admin-layout button.primary:focus-visible { border-color:rgba(242,162,13,.62); color:#f4c777; background:rgba(242,162,13,.09); box-shadow:0 0 0 3px rgba(242,162,13,.07); }.customer-preview.is-success #create-next-user:hover:not(:disabled),.customer-preview.is-success #create-next-user:focus-visible { border-color:rgba(84,189,120,.62); color:#9bd7ae; background:rgba(84,189,120,.09); box-shadow:0 0 0 3px rgba(84,189,120,.07); }
.managed-users .data-table { min-width:1120px; }
.ip-cell { min-width:104px; color:#aeb7bd!important; }
.summary-actions { display:flex; min-width:max-content; align-items:center; justify-content:flex-end; gap:8px; }
.summary-actions button { width:72px; min-height:36px; padding:7px 9px; font-size:var(--font-caption); }
.summary-actions .heartbeat-button { width:88px; }
.summary-actions .release-device-button { width:82px; }
.summary-actions .user-details-button { width:48px; border-color:transparent; color:#8e9aa2; background:transparent; font-size:var(--font-highlight); line-height:1; }
.summary-actions .user-details-button:hover:not(:disabled),.summary-actions .user-details-button:focus-visible,.summary-actions .user-details-button[aria-expanded="true"] { border-color:transparent; color:#f4c777; background:transparent; box-shadow:none; }
.user-expanded-panel { position:relative; gap:10px; padding:16px; }
.deployment-detail-card>header { justify-content:flex-start; }
.audit-controls { position:relative; z-index:20; overflow:visible; }
.audit-controls:has(.select-control.is-open) { z-index:80; }
.managed-users .data-table>thead>tr>th,.managed-users .data-table>tbody>tr:not(.user-expanded-row)>td { text-align:center; vertical-align:middle; }
.managed-users .user-identity { justify-items:start; text-align:left; }
.managed-users .status { width:88px; justify-content:center; }
.managed-users .summary-actions { justify-content:center; }
.notice-actions { grid-template-columns:repeat(2,124px); }
.notice-actions button { width:124px; min-width:124px; white-space:nowrap; }
.metric span { font-size:var(--font-card-title); }
.metric small { font-size:var(--font-body); }
.system-status-panel .panel-heading>small { font-size:var(--font-highlight); }
.system-status-item>span { font-size:var(--font-body); }
.system-status-item>strong { font-size:var(--font-card-title); }
.system-status-item>small { font-size:var(--font-body); }
.product-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.product-summary article { display:grid; min-height:105px; grid-template-columns:minmax(0,1fr) auto; align-content:center; gap:9px 16px; padding:18px 20px; border:1px solid var(--line); border-radius:11px; background:var(--panel); }
.product-summary span { color:#8d989f; font-size:var(--font-caption); }
.product-summary strong { color:#e8edef; font-size:var(--font-card-title); }
.product-summary small { grid-column:1/-1; color:#69757d; font-size:var(--font-micro); line-height:1.5; }
.product-management-grid { display:grid; grid-template-columns:minmax(640px,1.45fr) minmax(360px,.78fr); align-items:start; gap:18px; }
.product-management-grid>#product-form { grid-column:2; grid-row:1; }
.product-management-grid>.product-list-panel { grid-column:1; grid-row:1; }
.product-form-body { display:grid; gap:15px; }
.product-catalog-fields { display:grid; grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr); align-items:start; gap:10px; }.product-catalog-fields label { min-width:0; align-content:start; }.product-catalog-fields small { color:#707c84; font-size:var(--font-caption); line-height:1.45; }
.product-money-input { position:relative; }
.product-money-input>span { position:absolute; z-index:1; top:50%; left:12px; color:#89949b; font-size:var(--font-emphasis); transform:translateY(-50%); }
.product-money-input input { padding-left:31px; font-size:var(--font-subtitle); font-weight:650; }
.product-duration-field { display:grid; min-width:0; grid-template-columns:1fr; gap:10px; margin:0; padding:0; border:0; }
.product-duration-field>legend { margin-bottom:7px; color:#aeb7bd; font-size:var(--font-body); }
.product-duration-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:8px; }
.product-duration-option { display:block!important; cursor:pointer; }
.product-duration-option input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.product-duration-option>span { display:grid; min-height:59px; align-content:center; gap:4px; padding:10px 12px; border:1px solid #303940; border-radius:8px; background:#12181d; transition:border-color .18s ease,color .18s ease,background .18s ease,box-shadow .18s ease; }
.product-duration-option b { color:#c5cdd1; font-size:var(--font-body); }
.product-duration-option small { color:#69757d; font-size:var(--font-micro); }
.product-duration-option:hover>span { border-color:#4a555d; background:#171e23; }
.product-duration-option input:focus-visible+span { border-color:var(--accent); box-shadow:0 0 0 3px rgba(242,162,13,.1); }
.product-duration-option input:checked+span { border-color:rgba(242,162,13,.62); background:rgba(242,162,13,.085); box-shadow:none; }
.product-duration-option input:checked+span b { color:#f5cc7f; }
.product-duration-field>p { display:flex; min-height:38px; align-items:center; gap:9px; margin:0; padding:8px 10px; border:1px solid rgba(126,141,153,.14); border-radius:7px; color:#7f8a92; background:#12181d; font-size:var(--font-caption); line-height:1.45; }.product-duration-field>p::before { display:grid; width:17px; height:17px; flex:0 0 17px; place-items:center; border:1px solid #4b565e; border-radius:50%; color:#9aa4aa; content:"i"; font-size:10px; font-weight:800; }
.custom-validity-field { padding:11px; border:1px solid rgba(242,162,13,.25); border-radius:8px; background:rgba(242,162,13,.035); }
.product-check { display:grid!important; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:3px 10px; padding:13px; border:1px solid #303940; border-radius:8px; background:#12181d; cursor:pointer; }
.product-check input { position:relative; width:38px; height:22px; grid-row:1/3; margin:0; padding:0; appearance:none; border:1px solid #465159; border-radius:99px; background:#232b31; cursor:pointer; }
.product-check input::after { position:absolute; top:3px; left:3px; width:14px; height:14px; border-radius:50%; background:#8b969d; content:""; transition:transform .18s ease,background .18s ease; }
.product-check input:checked { border-color:rgba(242,162,13,.65); background:rgba(242,162,13,.18); }
.product-check input:checked::after { background:#f2a20d; transform:translateX(16px); }
.product-check span { color:#cbd3d7; font-size:var(--font-body); }
.product-check small { color:#707c84; font-size:var(--font-micro); }
.product-type-preview { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:1px solid #303940; border-radius:8px; background:#10161a; }
.product-type-preview>div { display:grid; gap:5px; padding:12px 13px; border-right:1px solid #303940; }
.product-type-preview>div:last-child { border-right:0; }
.product-type-preview span { color:#748088; font-size:var(--font-micro); }
.product-type-preview strong { color:#d7dde0; font-size:var(--font-body); }
.product-type-preview[data-type="full"]>div:first-child strong { color:#f4c777; }
.product-type-preview[data-type="free"]>div:first-child strong { color:#9bd7ae; }
.product-form-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.product-form-actions button { min-height:42px; }
.product-form-actions button:only-child { grid-column:1/-1; }
.product-form-actions button[hidden]+button { grid-column:1/-1; }
.product-list-panel .data-table { min-width:840px; }
.product-list-panel .data-table th,.product-list-panel .data-table td { vertical-align:middle; }
.product-identity { display:grid; min-width:138px; max-width:210px; gap:5px; }
.product-identity strong { overflow:hidden; color:#e0e5e7; font-size:var(--font-body); text-overflow:ellipsis; white-space:nowrap; }
.product-identity small { overflow:hidden; color:#6f7b83; font-size:var(--font-micro); text-overflow:ellipsis; white-space:nowrap; }
.product-type-label,.product-validity-label { display:inline-flex; min-height:24px; align-items:center; padding:3px 8px; border:1px solid #364149; border-radius:99px; color:#aeb7bd; background:#171e23; font-size:var(--font-micro); white-space:nowrap; }
.product-type-label.full { border-color:rgba(242,162,13,.34); color:#f0c36f; background:rgba(242,162,13,.07); }
.product-type-label.free { border-color:rgba(84,189,120,.3); color:#91d7a9; background:rgba(84,189,120,.06); }
.product-type-label.promotion,.product-validity-label.limited { border-color:rgba(105,151,205,.3); color:#a8c6e6; background:rgba(105,151,205,.06); }
.product-type-label.base { border-color:rgba(84,189,120,.3); color:#91d7a9; background:rgba(84,189,120,.06); }.product-type-label.module { border-color:rgba(242,162,13,.34); color:#f0c36f; background:rgba(242,162,13,.07); }.product-type-label.template { border-color:rgba(149,117,205,.34); color:#c7afea; background:rgba(149,117,205,.08); }.product-type-label.bundle { border-color:rgba(105,151,205,.3); color:#a8c6e6; background:rgba(105,151,205,.06); }
.product-actions { display:flex; min-width:max-content; justify-content:flex-end; gap:7px; }
.product-actions button { min-width:52px; }
.product-actions .danger-quiet { color:#d99a97; }
.customer-preview.is-pending,.customer-preview.is-success { box-shadow:none; }
.select-option { padding-right:32px; padding-left:5px; }
.select-option[aria-selected="true"]::after { right:8px; }
.user-entitlement-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }.user-entitlement-summary .deployment-detail-field { min-height:62px; gap:6px; padding:9px 10px; }
.admin-account-body { gap:16px; }
.admin-account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.admin-account-panel .form-hint { margin:0; }
@media (max-width:1250px) { .settings-grid { grid-template-columns:1fr; }.metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.deployment-form .form-body { grid-template-columns:1fr 200px; }.deployment-form .form-actions { grid-column:1/-1; } }
@media (max-width:1250px) { .product-management-grid { grid-template-columns:1fr; }.product-management-grid>.product-list-panel { grid-column:1; grid-row:1; }.product-management-grid>#product-form { grid-column:1; grid-row:2; }.product-list-panel .data-table { min-width:760px; } }
@media (max-width:800px) { .product-summary { grid-template-columns:1fr; }.product-summary article { min-height:88px; } }
@media (max-width:480px) { .product-duration-options,.product-type-preview { grid-template-columns:1fr; }.product-type-preview>div { border-right:0; border-bottom:1px solid #303940; }.product-type-preview>div:last-child { border-bottom:0; } }
@media (max-width:560px) { .product-catalog-fields { grid-template-columns:1fr; } }
@media (max-width:1100px) { .user-entitlement-summary { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:720px) { .user-entitlement-summary { grid-template-columns:1fr; } }
@media (max-width:1300px) { .managed-users .data-table { min-width:720px; }.managed-users .data-table th:nth-child(3),.managed-users .data-table td:nth-child(3),.managed-users .data-table th:nth-child(5),.managed-users .data-table td:nth-child(5) { display:none; }.managed-users .user-identity { min-width:160px; }.summary-actions { width:248px; flex-wrap:wrap; }.summary-actions button { flex:0 0 auto; } }
@media (max-width:1050px) { .managed-users .data-table { min-width:620px; }.managed-users .data-table th:nth-child(6),.managed-users .data-table td:nth-child(6) { display:none; }.managed-users .data-table th,.managed-users .data-table td { padding-right:10px; padding-left:10px; } }
@media (max-width:1050px) { .two-column { grid-template-columns:1fr; }.metric-grid { grid-template-columns:repeat(2,1fr); }.customer-workspace { grid-template-columns:240px minmax(0,1fr); }.topbar { align-items:flex-start; padding:22px 0; }.top-actions { flex-wrap:wrap; justify-content:flex-end; }.email-builder { grid-template-columns:1fr 1fr; }.email-builder #custom-domain-field { grid-column:1/-1; } }
@media (max-width:1050px) { .system-status-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.system-status-item:nth-child(3n) { border-right:1px solid var(--line); }.system-status-item:nth-child(2n) { border-right:0; }.system-status-item:nth-last-child(-n+3) { border-bottom:1px solid var(--line); }.system-status-item:nth-last-child(-n+2) { border-bottom:0; } }
@media (max-width:1250px) { .audit-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:900px) { .audit-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.audit-retention-row { grid-template-columns:1fr auto; }.audit-retention-row .form-message { grid-column:1/-1; grid-row:2; } }
@media (max-width:1050px) { .deployment-detail-grid { grid-template-columns:1fr; } }
@media (max-width:1400px) { .deployment-detail-card:only-child .deployment-detail-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .customer-workspace { grid-template-columns:1fr; }.user-directory { position:static; max-height:none; }.customers-list { display:flex; overflow-x:auto; }.customer-item { flex:0 0 235px; }.deployment-form .form-body { grid-template-columns:1fr; }.deployment-form .form-actions { grid-column:auto; } }
@media (max-width:900px) { .create-user-form { grid-template-columns:1fr; }.email-builder,.create-user-form>label,.create-user-form>.form-message,.create-primary,.customer-preview { min-height:0; grid-column:1; }.customer-preview { grid-row:auto; }.customer-preview .form-actions { margin-top:0; } }
@media (max-width:720px) { .admin-layout { grid-template-columns:1fr; }.sidebar { position:static; height:auto; grid-template-rows:auto auto; padding:14px 10px 8px; }.brand { padding-bottom:12px; }.sidebar nav { display:flex; gap:5px; overflow-x:auto; padding-top:10px; }.sidebar nav button { flex:0 0 auto; width:auto; min-height:32px; padding:5px 10px; white-space:nowrap; }.sidebar-foot { display:none; }.content { padding:0 10px 22px; }.topbar { min-height:82px; }.topbar p { display:none; }.topbar h1 { font-size:var(--font-card-title); }.top-actions { gap:5px; }.top-actions button { min-height:32px; padding:5px 9px; }.manage-tools { justify-content:stretch; }.user-search { flex:1; }.user-search input { width:100%; }.view { gap:14px; padding-top:14px; }.metric-grid { grid-template-columns:1fr 1fr; }.number-grid { grid-template-columns:1fr; }.email-builder { grid-template-columns:1fr; }.email-builder #custom-domain-field { grid-column:auto; }.customer-preview>div:not(.form-actions) { grid-template-columns:1fr; gap:5px; }.panel-heading { min-height:61px; padding:12px 14px; } }
@media (max-width:720px) { .managed-users .data-table { min-width:560px; }.managed-users .data-table th:nth-child(4),.managed-users .data-table td:nth-child(4) { display:none; }.summary-actions { width:248px; } }
@media (max-width:720px) { .heartbeat-duration-grid { grid-template-columns:1fr; } }
@media (max-width:720px) { .admin-account-grid { grid-template-columns:1fr; } }
@media (max-width:480px) { .metric-grid { grid-template-columns:1fr; }.metric { min-height:138px; } }
@media (max-width:480px) { .system-status-grid { grid-template-columns:1fr; }.system-status-item,.system-status-item:nth-child(3n),.system-status-item:nth-child(2n) { border-right:0; border-bottom:1px solid var(--line); }.system-status-item:last-child { border-bottom:0; } }
@media (max-width:480px) { .audit-filter-grid,.audit-retention-row { grid-template-columns:1fr; }.audit-filter-actions { display:grid; grid-template-columns:1fr 1fr; }.audit-filter-actions button,.audit-retention-row>button { width:100%; }.audit-retention-row .form-message { grid-column:auto; grid-row:auto; } }
@media (max-width:720px) { .deployment-detail-fields { grid-template-columns:1fr; } }

/* Mail delivery settings and customer delivery status. */
.preview-actions { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
.customer-preview.is-success #confirm-and-email { display:none; }
.email-settings-body { gap:16px; }
.email-settings-grid { display:grid; grid-template-columns:2fr .7fr 1.15fr; gap:12px; }
.email-settings-grid>label:nth-child(4),.email-settings-grid>label:nth-child(5),.email-settings-grid>label:nth-child(6),.email-settings-grid>label:nth-child(7) { grid-column:span 1; }
.email-settings-body textarea { width:100%; resize:vertical; min-height:150px; padding:11px; border:1px solid #374149; border-radius:8px; color:#edf1f3; background:#10161a; font:inherit; line-height:1.6; }
.email-settings-body textarea:focus { border-color:var(--accent); outline:0; box-shadow:0 0 0 3px rgba(242,162,13,.1); }
.template-hint { margin:-7px 0 0; color:#748088; font-family:"SFMono-Regular",Consolas,monospace; font-size:var(--font-micro); line-height:1.6; }
.email-test-row { display:grid; grid-template-columns:minmax(0,1fr) 150px; align-items:end; gap:12px; }
.email-test-row button { min-height:40px; }
.email-detail-bar { display:flex; min-height:54px; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid #303940; border-radius:8px; background:#141a1f; }
.email-detail-bar>div { display:flex; min-width:0; align-items:baseline; gap:10px; }
.email-detail-bar strong { color:#dce2e5; font-size:var(--font-body); }
.email-detail-bar small { color:#77838b; font-size:var(--font-micro); }
.email-user-button { min-width:118px; }
.customer-addon-panel { display:grid; height:100%; align-content:start; gap:8px; padding:11px 12px; border:1px solid #303940; border-radius:9px; background:#141a1f; }.customer-addon-panel.has-inline-empty-states { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto minmax(0,1fr); }.customer-addon-panel.has-inline-empty-states>header { grid-column:1/-1; }.customer-addon-panel.has-inline-empty-states>.customer-addon-note,.customer-addon-panel.has-inline-empty-states>.customer-addon-list,.customer-addon-panel.has-inline-empty-states>.customer-addon-list>.customer-addon-note { height:100%; }.customer-addon-panel.has-inline-empty-states>.customer-addon-list { min-width:0; }.customer-addon-panel.has-inline-empty-states>.customer-addon-note,.customer-addon-panel.has-inline-empty-states>.customer-addon-list>.customer-addon-note { display:flex; align-items:center; }.customer-addon-panel>header>div { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }.customer-addon-panel>header strong { color:#dce2e5; font-size:var(--font-section); }.customer-addon-panel>header small,.customer-addon-note { color:#77838b; font-size:var(--font-caption); line-height:1.45; }.customer-addon-note { margin:0; padding:8px 9px; border:1px solid rgba(126,141,153,.12); border-radius:7px; background:#10161a; }.customer-addon-purchase { display:grid; grid-template-columns:minmax(260px,1fr) 180px auto; align-items:end; gap:8px; }.customer-addon-purchase label { display:grid; gap:5px; color:#aeb7bd; font-size:var(--font-body); }.customer-addon-purchase button { min-height:38px; }.customer-addon-list { display:grid; gap:6px; }.customer-addon-list article { display:grid; grid-template-columns:minmax(0,1fr) auto 76px; align-items:center; gap:10px; padding:8px 10px; border:1px solid rgba(126,141,153,.12); border-radius:7px; background:#10161a; }.customer-addon-list article>div { display:grid; min-width:0; gap:3px; }.customer-addon-list article strong { overflow:hidden; color:#d4dade; font-size:var(--font-body); text-overflow:ellipsis; white-space:nowrap; }.customer-addon-list article small { overflow:hidden; color:#77838b; font-family:"SFMono-Regular",Consolas,monospace; font-size:var(--font-caption); text-overflow:ellipsis; white-space:nowrap; }.customer-addon-list article>button { width:76px; }
.user-service-grid { display:grid; grid-template-columns:minmax(400px,.75fr) minmax(0,1.45fr); align-items:stretch; gap:10px; }.user-side-stack { display:grid; height:100%; min-width:0; grid-template-rows:minmax(0,1fr) auto; gap:10px; }.user-service-grid>.deployment-detail-grid { min-width:0; }.deployment-detail-card:only-child { gap:10px; padding:12px; }.deployment-detail-card:only-child>header { padding-bottom:9px; }.deployment-detail-card:only-child>header>div { display:flex; min-width:0; align-items:baseline; gap:10px; }.deployment-detail-card:only-child>header small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.deployment-detail-card:only-child .deployment-detail-fields { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.deployment-detail-card:only-child .deployment-detail-field { min-height:70px; gap:7px; padding:9px 10px; }
@media (max-width:1050px) { .user-service-grid { grid-template-columns:1fr; }.customer-addon-panel.has-inline-empty-states { grid-template-columns:1fr; }.customer-addon-panel.has-inline-empty-states>header { grid-column:auto; } }
@media (max-width:1400px) { .deployment-detail-card:only-child .deployment-detail-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .deployment-detail-card:only-child .deployment-detail-fields { grid-template-columns:1fr; } }

/* Settings use the same control scale as product creation, with denser grouping. */
#settings-view { gap:14px; padding-top:16px; }
#settings-view .settings-grid { grid-template-columns:minmax(390px,.76fr) minmax(620px,1.24fr); align-items:stretch; gap:14px; }
#settings-view #admin-account-form,#settings-view #heartbeat-form { display:grid; grid-template-rows:auto 1fr; }
#settings-view #email-settings-form { grid-column:1/-1; }
#settings-view .panel-heading { min-height:60px; padding:12px 16px; }
#settings-view .panel-heading h2 { margin-top:4px; font-size:var(--font-section); }
#settings-view .form-body { gap:12px; padding:15px 16px; }
#settings-view .form-body label { gap:6px; font-size:var(--font-body); }
#settings-view input,#settings-view select,#settings-view .select-trigger { height:38px; }
#settings-view .product-check input { width:38px; height:22px; min-height:22px; }
#settings-view button { min-height:36px; padding:6px 12px; }
#settings-view .admin-account-body { gap:12px; }
#settings-view .admin-account-grid { gap:10px; }
#settings-view .form-hint { padding:8px 10px; font-size:var(--font-caption); line-height:1.45; }
#settings-view .heartbeat-duration-grid { gap:9px; }
#settings-view .heartbeat-duration-group { min-height:126px; gap:9px; padding:12px 13px; }
#settings-view .heartbeat-duration-group>div { gap:8px; }
#settings-view .heartbeat-info-row { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
#settings-view .heartbeat-info-row>.ttl-impact,#settings-view .heartbeat-info-row>.form-hint { min-width:0; margin:0; }
#settings-view .heartbeat-info-row>.ttl-impact { border-color:rgba(84,189,120,.28); color:#a9d8b9; background:rgba(84,189,120,.07); }
#settings-view .lease-ttl-group>small { font-size:var(--font-micro); line-height:1.45; }
#settings-view .ttl-impact { padding:9px 11px; font-size:var(--font-micro); line-height:1.45; }
#settings-view .email-settings-body { gap:11px; }
#settings-view .email-settings-grid { grid-template-columns:1.4fr .48fr .78fr 1.15fr; gap:10px; }
#settings-view .product-check { padding:10px 12px; }
#settings-view .email-settings-body textarea { min-height:112px; padding:9px 10px; line-height:1.5; }
#settings-view .template-hint { margin:-3px 0 0; line-height:1.45; }
#settings-view .email-test-row { gap:10px; }

/* Mail settings use a compact control column beside the editable mail template. */
#settings-view .email-settings-body { grid-template-columns:minmax(480px,1.05fr) minmax(520px,.95fr); grid-template-areas:"subject enable" "body settings" "body send" "hint test" "message message" "save save"; align-items:start; column-gap:18px; }
#settings-view .email-settings-body>.product-check:first-child { grid-area:enable; }
#settings-view .email-settings-grid { grid-area:settings; grid-template-columns:1.4fr .65fr .95fr; }
#settings-view .email-settings-grid>label:nth-child(1) { grid-column:1/3; }
#settings-view .email-settings-grid>label:nth-child(2) { grid-column:3; }
#settings-view .email-settings-grid>label:nth-child(3) { grid-column:1; }
#settings-view .email-settings-grid>label:nth-child(4) { grid-column:2/4; }
#settings-view .email-settings-grid>label:nth-child(5),#settings-view .email-settings-grid>label:nth-child(6),#settings-view .email-settings-grid>label:nth-child(7) { grid-column:auto; }
#settings-view .email-template-subject { grid-area:subject; }
#settings-view .email-template-body { height:100%; grid-area:body; }
#settings-view .email-template-body textarea { height:100%; min-height:210px; }
#settings-view .template-hint { grid-area:hint; }
#settings-view .email-send-on-create { grid-area:send; }
#settings-view .email-test-row { grid-area:test; }
#settings-view .email-settings-body>.form-message { grid-area:message; }
#settings-view .email-settings-body>button[type="submit"] { width:100%; grid-area:save; }

/* Compact layouts keep readable type; density comes from grouping, not tiny text. */
#settings-view .form-body label,#settings-view input,#settings-view select,#settings-view .select-trigger,#settings-view .email-settings-body textarea { font-size:var(--font-body); }
#settings-view .panel-heading>small,#settings-view .template-hint,#settings-view .product-check small { font-size:var(--font-caption); }
#settings-view .product-check span { font-size:var(--font-body); }
.product-list-panel .panel-heading>small { font-size:var(--font-caption); }
.product-list-panel .data-table th,.product-list-panel .data-table td { font-size:var(--font-body); }
.product-list-panel .data-table button { font-size:var(--font-caption); }
.product-identity strong { font-size:var(--font-emphasis); }
.product-identity small { font-size:var(--font-caption); }
.product-type-label,.product-validity-label { font-size:var(--font-caption); }

@media (max-width:1180px) {
  #settings-view .settings-grid { grid-template-columns:1fr; }
  #settings-view #email-settings-form { grid-column:auto; }
  #settings-view .email-settings-grid { grid-template-columns:2fr .7fr 1.15fr; }
}

@media (max-width:760px) { #settings-view .heartbeat-info-row { grid-template-columns:1fr; } }

@media (max-width:1180px) {
  #settings-view .email-settings-body { grid-template-columns:1fr; grid-template-areas:"subject" "body" "hint" "enable" "settings" "send" "test" "message" "save"; }
  #settings-view .email-settings-grid { grid-template-columns:1fr 1fr; }
  #settings-view .email-settings-grid>label:nth-child(n) { grid-column:auto; }
  #settings-view .email-template-body textarea { min-height:180px; }
}

@media (max-width:900px) { .email-settings-grid { grid-template-columns:1fr 1fr; }.preview-actions { grid-template-columns:1fr; }.email-test-row { grid-template-columns:1fr; } }
@media (max-width:900px) { .customer-addon-purchase { grid-template-columns:1fr 160px; }.customer-addon-purchase button { grid-column:1/-1; } }
@media (max-width:560px) { .email-settings-grid,#settings-view .email-settings-grid { grid-template-columns:1fr; }.email-detail-bar { align-items:stretch; flex-direction:column; }.email-user-button { width:100%; } }
@media (max-width:560px) { .customer-addon-purchase { grid-template-columns:1fr; }.customer-addon-purchase button { grid-column:auto; }.customer-addon-list article { grid-template-columns:1fr auto; }.customer-addon-list article>button { grid-column:1/-1; width:100%; } }

/* Global typography contract: component density comes from spacing, never unreadably small type. */
button,input,select,textarea,.select-trigger,.select-option { font-size:var(--font-body); }
.eyebrow,.panel-heading>div:first-child>span,.status,.user-price { font-size:var(--font-micro); }
.topbar p,.panel-heading>small,.form-hint,.directory-meta,.data-table th,.product-summary span { font-size:var(--font-caption); }
.form-body label,.login-card label,.data-table td,.data-table button,.summary-actions button,.release-device-button,.preview-code-value button,.deployment-detail-field button { font-size:var(--font-body); }
.customer-item-heading strong,.user-identity strong,.product-identity strong,.preview-header strong { font-size:var(--font-emphasis); }
.panel-heading h2,#settings-view .panel-heading h2 { font-size:var(--font-section); }
.topbar h1 { font-size:var(--font-page); }
.login-card h1 { font-size:var(--font-display); }
.metric strong { font-size:var(--font-metric); }
