/* Product UI: shared rhythm and readable type for the monitor and administration. */
@font-face{font-family:Inter;src:url('./fonts/inter-latin-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{
  --ui-space:24px;--ui-radius:16px;--ui-control:44px;--ui-body:14px;
  --bg:#0a101b;--surface:#111b2a;--surface2:#162235;--row:#101a29;--row-hover:#1a283d;
  --text:#edf2fa;--muted:#a1afc3;--muted2:#8799b1;--border:#29374c;--border-soft:#233046;
  --sidebar:248px;--max:1760px;--accent-ink:#fff;
}
html[data-theme="light"]{--bg:#f3f5f9;--surface:#fff;--surface2:#edf1f7;--row:#fff;--row-hover:#edf1f7;--text:#172238;--muted:#506078;--muted2:#607189;--border:#d2dbe7;--border-soft:#e1e7f0}
body.tm-app,body.tm-admin{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.55;letter-spacing:-.012em;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text)}
body.tm-admin::before{opacity:.2}
body :is(button,input,select,textarea){font-family:inherit}
body :is(h1,h2,h3,h4,p){overflow-wrap:break-word}
body :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
body :is(.btn,.chip,.tab,.nav-btn){transition:background .15s,border-color .15s,color .15s;touch-action:manipulation}
body .btn{min-height:var(--ui-control);padding:10px 16px;font-size:13px;font-weight:600;line-height:1.35;border-radius:10px;box-shadow:none;gap:8px}
body .btn.primary{background:var(--accent);color:var(--accent-ink)!important;border-color:var(--accent);box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 12%,transparent)}
body .btn.primary:hover{filter:brightness(1.08);background:var(--accent)}
body .btn.danger{background:transparent;color:var(--bad);border-color:color-mix(in srgb,var(--bad) 32%,var(--border))}
body .btn.icon{width:44px;height:44px;min-width:44px;padding:0}
body .btn svg{width:18px;height:18px;flex-shrink:0}
body :is(.card,.home58-panel,.analytics-widget){border-radius:var(--ui-radius);border:1px solid var(--border);background:var(--surface);box-shadow:0 2px 6px rgba(0,0,0,.035)}
body :is(.section,.system-card,.feature-card,.role-card){padding:24px}
body :is(.page-head,.section-head,.widget-head){gap:20px}
body :is(.section-head,.widget-head){margin-bottom:20px}
body :is(.section-head,.widget-head) h2{font-size:19px;font-weight:650;letter-spacing:-.025em;line-height:1.35}
body :is(.page-head,.section-head,.widget-head) p{margin-top:7px;font-size:14px;line-height:1.6;color:var(--muted)}
body .page-head{align-items:center;margin-bottom:28px}
body .page-head h1{font-size:32px;font-weight:650;line-height:1.2;letter-spacing:-.045em;margin:7px 0 0}
body .page-head p{max-width:72ch}
body :is(.eyebrow,.kicker,.section-kicker){font-size:11px;font-weight:650;letter-spacing:.12em;line-height:1.5}
body :is(.field label,.check-row){font-size:13px;line-height:1.5}
body .field{gap:8px;min-width:0}
body :is(.field input,.field select,.field textarea,.toolbar input,.toolbar select){min-height:44px;font-size:14px;line-height:1.45;padding:11px 13px;border-radius:10px;border-color:var(--border);background:var(--surface2)}
body :is(input,textarea)::placeholder{color:var(--muted2);opacity:1}
body :is(input,select,textarea):disabled{opacity:.6}
body .form-grid,body .field-grid{gap:20px}
body .notice{font-size:13px;line-height:1.65;padding:16px 18px;border-radius:12px}
body :is(.empty,.loading){font-size:14px;line-height:1.7;padding:40px 24px}
body .table-wrap,body .table-scroll{overscroll-behavior-x:contain;scrollbar-width:thin}
body :is(.data-table,.table,.table-wrap table){font-variant-numeric:tabular-nums;font-size:14px}
body :is(.data-table,.table,.table-wrap table) th{font-size:11px;font-weight:650;letter-spacing:.055em;padding:13px 16px;white-space:nowrap;background:color-mix(in srgb,var(--surface2) 65%,transparent)}
body :is(.data-table,.table,.table-wrap table) td{font-size:13px;padding:15px 16px;line-height:1.5;border-bottom-color:var(--border-soft)}
body :is(.data-table,.table,.table-wrap table) td small{font-size:12px;line-height:1.5}
body :is(.data-table,.table,.table-wrap table) tbody tr:hover{background:var(--row-hover)}
body :is(.tabs,.chips,.filters){gap:8px}
body .tab{min-height:44px;font-size:13px;font-weight:600;padding:11px 15px}
body .chip{min-height:38px;padding:8px 13px;font-size:12px;font-weight:600;border-radius:9px}
body :is(.positive,.negative,.kpi,.home58-kpi,.metric-list,.v0750-report-metric,.analytics-kpi-v2){font-variant-numeric:tabular-nums}
/* Shell keeps navigation predictable while giving the data room. */
.tm-app .sidebar,.tm-admin .sidebar{background:var(--bg);border-color:var(--border-soft);padding:25px 16px 18px}
.tm-app .brand{padding:0 8px 22px;gap:12px}
.tm-app .brand-copy{font-size:17px;font-weight:700;letter-spacing:-.035em}
.tm-app .brand-copy small{font-size:9px;font-weight:500;letter-spacing:.13em;margin-top:6px}
.tm-app .nav-section-label,.tm-admin .nav-title{font-size:10px;font-weight:650;letter-spacing:.12em;color:var(--muted2);padding-left:12px;margin:23px 0 8px}
.tm-app .nav-btn,.tm-admin .nav-btn{min-height:44px;font-size:13px!important;font-weight:550!important;padding:10px 12px;gap:11px;border-radius:10px;color:var(--muted)}
.tm-app .nav-btn.active,.tm-admin .nav-btn.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 36%,var(--border));color:var(--text);box-shadow:none}
.tm-app .nav-btn svg{width:18px;height:18px}
.tm-app .sidebar-foot{gap:10px;padding-top:15px}
.tm-app .account-card{padding:12px;background:var(--surface)}
.tm-app .account-card strong{font-size:12px;font-weight:600;max-width:155px}
.tm-app .account-card span{font-size:11px}
.tm-app .logout,.tm-admin .logout-btn{color:var(--muted)!important}
.tm-app .topbar,.tm-admin .topbar{height:76px;min-height:76px;padding:0 32px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(16px);border-color:var(--border-soft);gap:18px}
.tm-app .top-title{font-size:14px;font-weight:600}.tm-app .top-sub{font-size:11px;margin-top:3px;color:var(--muted2)}
.tm-app .backend-pill{font-size:11px;padding:8px 11px;font-weight:500}
.tm-app .top-actions{gap:10px}
.tm-app .content,.tm-admin .content{padding:34px 32px 56px;max-width:1760px}
#view .page-head p{font-size:14px!important}#view .page-head h1{font-size:32px!important}
#view :is(.section-head,.widget-head) p{font-size:13px!important}
#view :is(p,li,.notice){line-height:1.65}
#view :is(.field label,label,.check-row){font-size:13px!important}
#view :is(.btn,button.btn){font-size:13px!important;min-height:44px;font-weight:600;padding:10px 16px}
#view .btn.icon{padding:0}#view :is(input,select,textarea){font-size:14px!important}
#view .section{padding:24px}
#view small{font-size:12px!important;line-height:1.5}
#view :is(.eyebrow,.section-kicker,.relay-kicker,.relay-step-label){font-size:11px!important;letter-spacing:.11em}
/* Overview: four equal metrics, then charts and operational detail. */
#view .home58-dashboard{display:grid;gap:22px}
#view .home58-welcome{margin:0;padding:0;gap:24px;align-items:center}
#view .home58-welcome h1{font-size:34px;font-weight:650;letter-spacing:-.045em;line-height:1.2;margin:7px 0 8px}
#view .home58-welcome p{font-size:14px!important;margin:0;color:var(--muted)}
.home-workspace-label{font-size:12px;color:var(--muted);font-weight:500}
.home-workspace-label span{display:none}
.home-workspace-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.home-workspace-actions>span{font-size:12px;color:var(--muted)}
#view .home58-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:16px;margin:0}
#view .home58-kpi{min-width:0;min-height:160px;padding:20px 22px;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}
#view .home58-kpi-top{gap:10px;font-size:12px!important;color:var(--muted);font-weight:500}
#view .home58-kpi-top>span:last-child{font-size:12px}
#view .home58-kpi-icon{width:30px;height:30px;border-radius:8px;background:transparent;border:0}
#view .home58-kpi>strong{font-size:clamp(23px,2vw,31px);font-weight:650;line-height:1.3;letter-spacing:-.045em;margin:15px 0 7px}
#view .home58-kpi>small{position:relative;z-index:1;font-size:12px!important;max-width:75%;font-weight:500}
#view .home58-kpi-mini{opacity:.55;max-width:95px}
#view .home-data-quality{margin:0;padding:12px 16px;min-height:0;background:transparent;border:1px solid var(--border-soft);border-radius:12px;gap:12px;align-items:center}
#view .home-data-quality.is-good{order:0}
#view .home-data-quality>div{display:flex;align-items:baseline;gap:14px;flex:1;flex-wrap:wrap}
#view .home-data-quality strong{font-size:12px;font-weight:600}#view .home-data-quality small{font-size:12px!important}
#view .home58-primary-grid{grid-template-columns:minmax(0,2.1fr) minmax(285px,1fr);gap:20px;margin:0}
#view .home58-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0;align-items:start}
#view .home58-secondary-grid>.home58-clock{grid-column:1/-1}
#view .home58-panel{padding:22px;min-width:0}
#view .home58-panel-head{margin-bottom:20px;gap:16px;align-items:flex-start}
#view .home58-panel-head h2{font-size:18px;font-weight:650;line-height:1.4;letter-spacing:-.025em;gap:9px}
#view .home58-panel-head p{font-size:12px!important;line-height:1.55;margin:6px 0 0}
#view .home58-range{font-size:12px!important;height:40px;min-height:40px;max-width:160px;padding:8px 10px}
#view :is(.home58-activity-list,.home58-top-list) :is(strong,b){font-size:13px!important;font-weight:600}
#view :is(.home58-activity-list,.home58-top-list) :is(small,span){font-size:12px}
#view .home58-top-list>*,#view .home58-activity-list>*{padding-block:15px}
/* Analysis, filters and numeric tables share one scale. */
#view .analytics-top-controls{gap:16px;margin-bottom:18px;align-items:end}
#view .analytics-summary-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:var(--surface);border-color:var(--border);border-radius:12px;margin:0 0 22px;overflow:hidden}
#view .analytics-summary-bar>div{padding:14px 16px;border-right:1px solid var(--border-soft);min-width:0}
#view .analytics-summary-bar :is(span,strong){font-size:12px!important;line-height:1.6}
#view .analytics-summary-bar span{color:var(--muted);text-transform:none;letter-spacing:0}
#view .analytics-summary-bar strong{font-weight:550}
#view .analytics-tabs{margin-bottom:20px;border-bottom:1px solid var(--border-soft);padding-bottom:10px;gap:5px}
#view .analytics-kpi-v2{padding:19px 18px;min-height:126px;border-radius:14px;background:var(--surface)}
#view .analytics-kpi-v2 :is(span,small){font-size:12px!important}
#view .analytics-kpi-v2>strong{font-size:26px;font-weight:650}
#view .analytics-dashboard-grid{gap:20px}
#view .analytics-widget{padding:22px}
#view .widget-head h2{font-size:18px;font-weight:650;line-height:1.4}
#view :is(.metric-list,.breakdown-row,.clock-bestworst) span{font-size:13px!important}
#view .metric-list>div{padding:13px 0;line-height:1.6}
#view .metric-list strong{font-size:14px;font-weight:600}
#view .data-table td{font-size:13px;padding:14px 15px}#view .data-table th{font-size:11px;padding:13px 15px}
#view .instance-status-overview{gap:12px;margin-bottom:18px}
#view .instance-status-tile{padding:16px 20px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;min-height:88px}
#view .instance-status-tile>span{font-size:13px}#view .instance-status-tile>strong{font-size:26px;font-weight:600}
#view .instance-status-tile>small{grid-column:1/-1;font-size:11px!important;color:var(--muted2)}
#view .v0749-instance-toolbar{padding:10px 16px;margin-bottom:20px;min-height:64px}
#view .search-wrap{min-height:40px;padding:0}#view .search{font-size:14px!important}
#view .instance-grid-view{gap:18px}
#view .instance-card{padding:20px;background:var(--surface2);border:1px solid var(--border);border-radius:14px}
#view .instance-card :is(.instance-name,h3){font-size:16px;font-weight:600}
#view .instance-card .btn{font-size:12px!important}
/* Setup is a task, with explicit steps and no clipped step names. */
#view .setup-hub-tabs{padding:7px;gap:8px;margin-bottom:24px;border-radius:14px}
#view .setup-hub-tabs button{padding:15px 18px;border-radius:10px;min-height:80px}
#view .setup-hub-tabs b{font-size:15px;font-weight:600}
#view .v0751-onboarding-layout{grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
#view .v0751-onboarding{padding:26px}
#view .v0751-steps{gap:8px;padding-block:18px;margin-block:20px}
#view .v0751-step-nav{min-width:0}
#view :is(.v0751-step-btn,.v0751-step-nav button){font-size:12px!important;min-height:52px;white-space:normal;line-height:1.4;text-overflow:clip}
#view .v0751-ready-list>div{padding:14px 0;gap:12px}
#view .v0751-ready-list strong{font-size:13px;font-weight:600}
#view .v0751-step-title h3{font-size:18px;font-weight:600}
#view .v0751-step-title p{font-size:13px!important}
#view .v0751-install-card{padding:16px;min-height:84px}
/* Relay: operational summary, compact creation and clearly separate configuration. */
#view .relay-overview{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);padding:26px;gap:32px;background:var(--surface);border:1px solid var(--border);box-shadow:none;align-items:center}
#view .relay-overview::before,#view .relay-overview::after{display:none}
#view .relay-overview h2{font-size:23px;line-height:1.35;font-weight:600;letter-spacing:-.03em;margin:12px 0 8px}
#view .relay-overview p{font-size:13px!important;line-height:1.65}
#view .relay-overview-copy>p{max-width:48ch}
#view .relay-overview-metrics{gap:24px;margin-top:20px}
#view .relay-overview-metrics strong{font-size:25px;font-weight:600}
#view .relay-overview-metrics span{font-size:12px}
#view .relay-create-panel{padding:22px;border-color:var(--border);background:var(--surface2);box-shadow:none}
#view .relay-create-icon{display:none}
#view .relay-create-panel h3{font-size:18px;font-weight:600}
#view .relay-create-row{display:flex;flex-wrap:wrap;gap:10px}
#view .relay-create-row input{flex:1 1 180px;min-width:0;min-height:46px}
#view .relay-create-row .btn{flex:0 0 auto;min-width:155px;white-space:nowrap}
#view .relay-section-heading{margin:28px 0 16px}
#view .relay-system-card{border-color:var(--border);background:var(--surface);box-shadow:none}
#view .relay-system-header{padding:22px}
#view .relay-system-header h2{font-size:21px;font-weight:650}
#view .relay-health-strip{padding:20px 22px;gap:20px;background:var(--surface2)}
#view .relay-health-strip strong{font-size:14px}
#view .relay-health-strip span{font-size:12px}
#view .relay-manage-toggle>summary{padding:18px 22px;min-height:76px}
#view .relay-manage-content{padding:0 22px 22px}
#view .relay-system-grid{gap:20px}
#view .relay-subpanel{padding:20px}
#view .relay-disclaimer{gap:14px;padding:16px 20px;background:transparent;color:var(--muted);border-color:var(--border-soft)}
#view .relay-disclaimer>span:nth-child(2){display:grid;gap:4px;flex:1}
#view .relay-disclaimer strong{font-size:13px;color:var(--text);font-weight:600}
#view .relay-disclaimer small{font-size:12px!important}
/* Settings and exports: navigation is lighter than the active task. */
#view .settings-layout{grid-template-columns:220px minmax(0,1fr);gap:24px}
#view .settings-nav{padding:12px;background:transparent;border-color:var(--border-soft)}
#view .settings-nav button{padding:13px 12px;min-height:64px;font-size:13px;line-height:1.5}
#view .settings-nav button strong{font-size:13px;font-weight:600}
#view .settings-nav button small{font-size:11px!important;font-weight:400;line-height:1.5}
#view .settings-nav button span{min-width:0}
#view :is(.v946-settings-card,.settings-section,.settings-card){border-color:var(--border);box-shadow:none}
#view :is(.v946-setting-field,.settings-field,.settings-row) label{font-size:13px!important}
#view .v0750-report-scopes{gap:16px;margin-bottom:22px}
#view .v0750-report-scope{padding:22px}
#view .v0750-report-scope>strong{font-size:28px;font-weight:650;letter-spacing:-.03em}
#view .v0750-export-copy strong{font-size:14px!important;font-weight:600}
#view .v0750-export-copy small{font-size:12px!important}
#view .v0750-export-item{padding:16px;gap:12px;min-height:78px}
#view .v0750-export-item:hover{background:var(--row-hover)}
#view .v0750-export-type{font-size:11px!important;min-width:44px;min-height:30px;display:grid;place-items:center}
#view .v0750-export-group-head{padding:18px}
#view .v0750-export-group-head strong{font-size:14px!important;font-weight:600}
/* Dialogs, drawers and feedback use the same typography and theme tokens. */
body #modal-root .modal,body .modal{background:var(--surface);border-color:var(--border);box-shadow:0 30px 100px #0006}
body #modal-root .modal-head,body .modal-head{background:var(--surface);border-color:var(--border-soft);padding:22px 24px}
body #modal-root .modal-head h2,body .modal h3{font-size:23px;font-weight:650;letter-spacing:-.03em}
body #modal-root .modal-kicker,body .modal-kicker{font-size:10px!important;color:var(--muted2);font-weight:550}
body #modal-root .modal-body,body .modal-body{padding:24px;font-size:14px;line-height:1.65}
body #modal-root .modal-body :is(p,label,small),body .modal-body :is(p,label,small){font-size:13px!important;line-height:1.65;color:var(--muted)}
body #modal-root .modal-body :is(input,select,textarea),body .modal-body :is(input,select,textarea){font-size:14px!important}
body #modal-root .modal-foot,body .modal-actions{background:var(--surface);gap:12px;padding:16px 24px;border-color:var(--border-soft)}
body #modal-root .modal-foot .btn,body .modal-actions .btn{font-size:13px;min-height:44px;min-width:126px;font-weight:600;order:initial!important}
body #modal-root .modal-foot .btn.primary,body .modal-actions .btn.primary{color:var(--accent-ink)!important;background:var(--accent)}
body #modal-root .modal-foot .btn.danger,body .modal-actions .btn.danger{color:var(--bad);background:transparent}
body .side-panel{width:min(520px,100vw);background:var(--surface);border-color:var(--border)}
body .side-panel-head{padding:24px}body .side-panel-head h2{font-size:22px;font-weight:650}
body .side-panel-body{padding:20px 24px;font-size:14px}
body :is(.side-panel-toolbar,.side-notification-list,.side-news-list) :is(p,small,span){font-size:12px;line-height:1.6}
body .toast{font-size:13px;line-height:1.55;padding:16px 20px;border-radius:13px;box-shadow:0 10px 32px #0003;max-width:min(440px,calc(100vw - 32px));min-width:0;background:var(--surface)}
.ui-empty-state{display:grid;justify-items:center;gap:12px;padding:48px 24px;text-align:center}
.ui-empty-state>svg{width:32px;height:32px;stroke:var(--accent);fill:none;stroke-width:1.6}
.ui-empty-state h3{font-size:20px;font-weight:600;margin:0}.ui-empty-state p{max-width:48ch;margin:0;color:var(--muted);font-size:14px!important}
.ui-empty-state .btn{margin-top:8px}
/* Admin uses the same product language, with denser management tables. */
.tm-admin .app{grid-template-columns:248px minmax(0,1fr)}
.tm-admin .brand{padding:0 8px 24px}.tm-admin .brand strong{font-size:17px;font-weight:700}.tm-admin .brand small{font-size:9px;font-weight:500;margin-top:5px}
.tm-admin .nav-group{margin-bottom:16px}.tm-admin .nav-icon{background:transparent;width:24px;height:24px;font-size:16px}
.tm-admin .top-title{min-width:175px}.tm-admin .top-title strong{font-size:14px;font-weight:600}.tm-admin .global-search{max-width:700px}
.tm-admin .global-search input{font-size:13px;min-height:44px}
.tm-admin .content .page-head h1{font-size:32px;font-weight:650}
.tm-admin .overview-banner{padding:20px 24px;margin-bottom:24px;border-color:var(--border);background:var(--surface);box-shadow:none;border-radius:16px}
.tm-admin .overview-banner h2{font-size:20px;font-weight:650}.tm-admin .overview-banner .kicker{display:none}.tm-admin .overview-banner p{font-size:13px}
.tm-admin .overview-kpis{gap:16px}.tm-admin .overview-kpis .kpi{padding:22px;min-height:140px}.tm-admin .overview-kpis .kpi>strong{font-size:30px;font-weight:650}.tm-admin .overview-kpis .kpi>span,.tm-admin .overview-kpis .kpi>small{font-size:12px}
.tm-admin .overview-lower{gap:20px;margin-top:24px}
.tm-admin .action-links{gap:12px}.tm-admin .action-links button{padding:15px;min-height:90px;background:var(--surface2);border-color:var(--border)}
.tm-admin .action-links strong{font-size:13px;font-weight:600}.tm-admin .action-links small{font-size:12px;font-weight:400;line-height:1.5}
.tm-admin .overview-help>p{font-size:14px}.tm-admin .text-link{font-size:13px;min-height:40px}
.tm-admin #content :is(.field label,.status,.tag,.detail-item span,.note small){font-size:12px}.tm-admin #content .table-wrap small{font-size:12px}
.tm-admin .modal-actions{flex-direction:row}.tm-admin .modal p{color:var(--muted)}
@media(min-width:981px){.tm-app .shell:not(.sidebar-collapsed){grid-template-columns:248px minmax(0,1fr)!important}.tm-app .sidebar{width:auto!important}.tm-app .sidebar-scroll{gap:0}}
@media(max-width:1250px){.tm-app .content,.tm-admin .content{padding:28px 24px 48px}#view .home-workspace-actions>span{display:none}#view .home58-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#view .home58-primary-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr)}#view .home58-kpi>strong{font-size:29px}#view .analytics-summary-bar{grid-template-columns:repeat(2,minmax(0,1fr))}#view .v0751-onboarding-layout{grid-template-columns:1fr}#view .v0751-side{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}#view .relay-overview{gap:22px;padding:22px}#view .relay-create-row .btn{width:100%}}
@media(max-width:980px){.tm-app .topbar,.tm-admin .topbar{padding-inline:22px}#view .home58-primary-grid{grid-template-columns:1fr}#view .home58-secondary-grid{grid-template-columns:1fr}#view .home58-secondary-grid>.home58-clock{grid-column:auto}#view .relay-overview{grid-template-columns:1fr}#view .relay-create-row .btn{width:auto}#view .settings-layout{grid-template-columns:190px minmax(0,1fr)}.tm-admin .sidebar{padding:8px}.tm-admin .nav-title{display:none}}
/* The admin search wraps onto a second row; reserve its actual height. */
@media(max-width:900px){.tm-admin .app{display:block}.tm-admin .topbar{height:auto;padding-block:12px}}
@media(max-width:640px){
  .tm-app .content,.tm-admin .content{padding:24px 16px 104px}.tm-app .topbar{height:68px;min-height:68px;padding:0 16px}.tm-app .top-title{font-size:13px}.tm-app .top-actions{gap:6px}.tm-app .backend-pill{display:none}
  body .page-head{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin-bottom:24px}#view .page-head h1,.tm-admin .content .page-head h1{font-size:27px!important}body .page-actions{width:100%}body .page-actions .btn{flex:1}
  #view .section,body .section{padding:20px}#view .home58-welcome{display:grid;grid-template-columns:1fr!important;gap:18px}#view .home58-welcome h1{font-size:29px}#view .home-workspace-actions{justify-content:flex-start}#view .home-workspace-actions>.btn{width:100%}
  #view .home58-dashboard{gap:18px}#view .home58-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#view .home58-kpi{padding:16px;min-height:160px}#view .home58-kpi>strong{font-size:22px}#view .home58-kpi-top{gap:6px}#view .home58-kpi-icon{display:none}#view .home58-kpi>small{max-width:100%;font-size:11px!important}#view .home58-kpi-mini{display:none}
  #view .home-data-quality>div{display:grid;gap:3px}#view .home-data-quality small{font-size:11px!important}#view .home-data-quality .data-quality-link{display:none}
  #view .home58-panel,#view .analytics-widget{padding:18px}#view .home58-panel-head{flex-wrap:wrap;gap:12px}#view .home58-panel-head h2,#view .widget-head h2{font-size:17px}#view .home58-chart-controls{width:100%}#view .home58-range{flex:1;max-width:none;font-size:12px!important}
  #view .analytics-summary-bar{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}#view .analytics-summary-bar>div{padding:12px}#view .analytics-summary-bar :is(span,strong){font-size:11px!important}#view .analytics-tabs{flex-wrap:nowrap;overflow-x:auto}
  #view .instance-status-overview{grid-template-columns:repeat(2,minmax(0,1fr))}#view .instance-status-tile{padding:12px 15px;min-height:78px}#view .instance-card{padding:16px}#view .instance-grid-view{grid-template-columns:1fr}
  #view .v0751-side{grid-template-columns:1fr}#view .v0751-onboarding{padding:18px}#view .setup-hub-tabs button{padding:12px;min-height:84px}#view .setup-hub-tabs b{font-size:13px}#view .setup-hub-tabs small{font-size:11px!important}
  #view .relay-overview{padding:20px;gap:24px}#view .relay-create-panel{padding:18px}#view .relay-create-row{display:grid;grid-template-columns:1fr}#view .relay-overview-metrics{gap:16px}#view .relay-overview-metrics span{font-size:11px}#view .relay-disclaimer{align-items:start;flex-wrap:wrap}#view .relay-system-header,#view .relay-health-strip{padding:18px}
  #view .settings-layout{grid-template-columns:1fr}#view .settings-nav{display:flex;overflow-x:auto;gap:8px;padding:8px}#view .settings-nav>button{flex:0 0 160px}#view .settings-nav>div{display:none}
  body #modal-root .modal{height:auto!important;max-height:92dvh!important}body #modal-root .modal-body,body .modal-body{padding:20px}body #modal-root .modal-foot{bottom:-20px;margin:20px -20px -20px}body .modal-actions{flex-direction:row!important}body .modal-actions .btn{width:auto;flex:1}
  .tm-admin .topbar{padding:12px 16px;gap:12px}.tm-admin .overview-banner{padding:20px}.tm-admin .overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tm-admin .overview-kpis .kpi{padding:16px}.tm-admin .overview-kpis .kpi>strong{font-size:25px}
}
/* Override inherited miniature labels and custom select widgets. */
#view :is(.status-pill,.kv span,.v0749-open-trades,.v0756-group-stat span,.v0756-group-metric span,.home58-kpi>small span,.home73-kpi-more,.home58-rank,.home58-clock-range,.home58-clock-readable-legend span,.home58-clock-readable-summary span,.home58-clock-readable-extremes span,.bvl-date span,.bvl-reverse span,.bvl-empty span,.v0750-report-status span,.v0750-report-scope-top span,.v0750-report-metric span,.v0750-report-equation span,.v0750-export-group-head span){font-size:12px!important}
#view :is(.tm-curve-y-v814 span,.tm-curve-x-tick-v814,.range-option span,.widget-head>span,.chart-legend span,.compact-calendar-head span,.compact-calendar-footer span,.activity-year-legend span,.activity-year-weekdays span,.recent-pager span,.trade-side,.bt-empty-formats span,.v0751-progress span,.relay-mode,.v0750-year-badge,.v0750-export-count,.tm-market-kicker-v105,.tm-news-provider-toggle-copy-v11>span){font-size:11px!important}
#view :is(.tm-bvl-select-trigger-v131,.tm-compare-select-trigger-v144){min-height:44px;font-size:13px!important}
body :is(.tm-bvl-select-value-v131,.tm-bvl-select-option-v131,.tm-bvl-select-option-v131 span,.tm-compare-select-trigger-v144>span,.tm-compare-select-option-v144,.tm-compare-select-option-v144 span){font-size:13px!important;font-weight:500}
body :is(.tm-bvl-select-option-v131,.tm-compare-select-option-v144){min-height:40px}
.tm-admin{--accent-ink:#000}
.tm-admin .plan-config .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tm-admin .plan-config :is(input:not([type=checkbox]),textarea,select){width:100%;min-width:0;box-sizing:border-box}
@media(max-width:640px){.tm-app .top-sub{display:none}}

/* The dashboard clock is a primary visual, so give its ring enough room to
   read at a glance instead of letting the legacy compact size win. */
#view .home58-clock-readable-body{
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);
  min-height:440px;
  gap:28px;
}
#view .home58-clock-readable-visual{
  padding:4px 12px 0;
}
#view .home58-clock-readable-visual .compact-radial-clock{
  height:410px;
}
#view .home58-clock-readable .compact-radial-clock svg{
  width:min(100%,450px)!important;
  height:auto!important;
}
#view .home58-clock-readable .home58-clock-ring-v4{
  width:min(100%,450px)!important;
  height:auto;
}
#view .home58-clock-readable .home58-clock-label-v4{
  font-size:11px;
}
#view .home58-clock-readable .home58-clock-center-kicker-v4{
  font-size:8px;
}
#view .home58-clock-readable .home58-clock-center-value-v4{
  font-size:18px;
}
#view .home58-clock-readable .home58-clock-center-label-v4{
  font-size:8px;
}
#view .home58-clock-readable-legend{
  font-size:12px;
  gap:18px;
}
@media(max-width:1250px){
  #view .home58-clock-readable-body{
    grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
    min-height:390px;
    gap:20px;
  }
  #view .home58-clock-readable-visual .compact-radial-clock{height:350px}
  #view .home58-clock-readable .compact-radial-clock svg,
  #view .home58-clock-readable .home58-clock-ring-v4{width:min(100%,390px)!important}
}
@media(max-width:980px){
  #view .home58-clock-readable-body{grid-template-columns:1fr;min-height:0;gap:20px}
  #view .home58-clock-readable-visual .compact-radial-clock{height:360px}
  #view .home58-clock-readable .compact-radial-clock svg,
  #view .home58-clock-readable .home58-clock-ring-v4{width:min(100%,380px)!important}
}
@media(max-width:640px){
  #view .home58-clock-readable-body{gap:16px}
  #view .home58-clock-readable-visual{padding-inline:0}
  #view .home58-clock-readable-visual .compact-radial-clock{height:300px}
  #view .home58-clock-readable .compact-radial-clock svg,
  #view .home58-clock-readable .home58-clock-ring-v4{width:min(100%,300px)!important}
  #view .home58-clock-readable .home58-clock-label-v4{font-size:10px}
}

@media(prefers-reduced-motion:reduce){body *,body *::before,body *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* A product chosen on the public catalogue remains visibly selected after
   registration, so the customer can review its real price variant first. */
.tm-billing-product.tm-billing-product-selected{border-color:rgba(155,120,237,.78);box-shadow:0 0 0 2px rgba(155,120,237,.15)}
/* Artwork from the product catalogue makes the selection recognisable without
   adding any customer-controlled image URL to the checkout flow. */
.tm-billing-product-image{display:block;width:82px;height:82px;object-fit:cover;border:1px solid var(--border);border-radius:12px;background:var(--surface2)}
@media(max-width:640px){.tm-billing-product-image{width:100%;height:150px}}
