/* Fategearauth workspace. Adapted with unslop by Damir Sokolovsky / @heydamir,
   licensed CC BY 4.0. Product-specific design and implementation, November 2026. */
:root {
  color-scheme: dark;
  --bg: #0b0b0d;
  --sidebar: #101012;
  --surface: #161619;
  --surface-solid: #161619;
  --surface-raised: #202024;
  --field: #0e0e11;
  --text: #f1eff0;
  --muted: #b0acb0;
  --subtle: #928c92;
  --line: #2a282d;
  --border: #2a282d;
  --line-strong: #403b43;
  --accent: #f1747b;
  --accent-hover: #ff999e;
  --accent-soft: #2b171d;
  --accent-border: #62303b;
  --action: #bd2535;
  --action-hover: #d12e40;
  --indigo: #f1747b;
  --indigo-light: #f1747b;
  --emerald: #a9cbb9;
  --blue: #adc6d7;
  --amber: #e4cc8f;
  --red: #ffabb0;
  --success: #a9cbb9;
  --success-bg: #1b2520;
  --success-line: #33483c;
  --danger-bg: #321a22;
  --danger-line: #6d3442;
  --warning-bg: #322c1d;
  --warning-line: #51472c;
  --shadow: none;
  --ease: cubic-bezier(.2,.7,.2,1);
  --mono: "Cascadia Code", "Cascadia Mono", Consolas, monospace;
}
body.workspace {
  background: var(--bg);
  color: var(--text);
  font-family: Bahnschrift, "Microsoft YaHei", "PingFang SC", sans-serif;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 1.6;
}
.workspace ::selection { background: #762b3a; color: var(--text); }
.workspace *::-webkit-scrollbar-thumb { background: #403b43; }
.workspace :is(h1,h2,h3,strong,b) { color: var(--text); font-weight: 500; }
.workspace :is(h1,h2,h3) { letter-spacing: 0; line-height: 1.35; }
.workspace :is(button,a,input,select,textarea) { transition: color 180ms var(--ease), background-color 180ms var(--ease), border-color 180ms var(--ease), box-shadow 180ms var(--ease), transform 180ms var(--ease); }
.workspace :is(button,.primary-link,.primary-button,.table-action):hover { transform: none; }
.workspace :is(button,.primary-link,.primary-button,.table-action):not(:disabled):active { transform: scale(.96); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .workspace :is(.primary-link,.primary-button,.secondary-button,.copy-button,.table-action,button[type="submit"]):not(:disabled):hover { transform: translateY(-2px); }
  .workspace nav a:hover > span { transform: translateX(4px); }
}
.workspace nav a > span { transition: transform 220ms var(--ease); }
.workspace .ui-icon { width: 18px; height: 18px; stroke-width: 1.5; }
.workspace :is(button,a,input,select,textarea):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.workspace input:focus,.workspace select:focus,.workspace textarea:focus { background: var(--field); border-color: var(--accent); box-shadow: 0 0 0 3px #f1747b14; }
.workspace :is(input,select,textarea) { min-width: 0; min-height: 40px; padding: 8px 12px; border-radius: 8px; color: var(--text); }
.workspace :is(input,textarea)::placeholder { color: var(--subtle); }
.workspace label { color: var(--muted); font-weight: 400; }
.workspace :is(button,.primary-link,.primary-button) { min-height: 40px; padding: 8px 16px; border-radius: 6px; background: var(--action); box-shadow: none; color: #fff5f6; font-weight: 500; }
.workspace :is(button,.primary-link,.primary-button):hover { background: var(--action-hover); }
.workspace :is(.secondary-button,.copy-button,.table-action,.pagination-sizes a,.pagination-sizes strong) { border: 1px solid var(--line-strong); background: var(--surface); color: var(--accent); box-shadow: none; font-weight: 500; }
.workspace :is(.secondary-button,.copy-button,.table-action,.pagination-sizes a):hover { border-color: var(--accent-border); background: var(--accent-soft); color: var(--accent-hover); }
.workspace :is(.copy-button-primary,.copy-button-primary:hover) { background: var(--action); border-color: var(--accent-border); color: #fff5f6; }
.workspace :is(.danger-button,button.danger) { border: 1px solid var(--danger-line); background: var(--danger-bg); color: var(--red); }
.workspace :is(.danger-button,button.danger):hover { border-color: #9c4558; background: #47202b; }
.workspace .ghost-button { background: transparent; color: var(--muted); }
.workspace .ghost-button:hover { background: var(--surface-raised); color: var(--text); }
.workspace .brand { gap: 12px; padding: 0 8px; height: 56px; }
.workspace .brand-mark { width: 32px; height: 36px; flex-basis: 32px; border: 0; border-radius: 0; color: var(--accent); background: none; box-shadow: none; }
.workspace .brand-mark .ui-icon { width: 28px; height: 28px; }
.workspace .brand-copy strong { color: var(--text); font-size: 20px; font-weight: 500; letter-spacing: -.4px; }
.workspace .brand-copy small { color: var(--subtle); font-size: 11px; font-weight: 400; letter-spacing: 0; text-transform: none; margin-top: 4px; }
.workspace.is-authed .sidebar { width: 248px; padding: 16px 12px; background: var(--sidebar); border-color: var(--line); backdrop-filter: none; }
.workspace nav { gap: 4px; margin-top: 24px; }
.workspace .nav-label { padding: 0 12px 8px; color: var(--subtle); font-size: 11px; font-weight: 400; text-transform: none; letter-spacing: 0; }
.workspace nav a { position: relative; min-height: 36px; padding: 6px 12px; gap: 12px; border-radius: 6px; color: var(--muted); font-size: 13px; font-weight: 400; }
.workspace nav a::after { display: none; }
.workspace nav a:hover { background: var(--surface-raised); border-color: transparent; color: var(--text); }
.workspace nav a.active { background: var(--accent-soft); border-color: transparent; color: #ffd9dc; font-weight: 500; }
.workspace nav a.active::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 2px; background: var(--action-hover); }
.workspace nav a.active .ui-icon { color: var(--accent); }
.workspace nav a.is-pending { background: var(--accent-soft); color: var(--accent-hover); }
.workspace nav a.active::before { transform-origin: center; animation: workspace-marker 360ms var(--ease); }
.workspace .lang-switch { padding: 4px; border-color: var(--line); border-radius: 8px; background: var(--field); gap: 4px; }
.workspace .lang-switch a { border-radius: 4px; font-weight: 400; letter-spacing: 0; color: var(--muted); min-width: 40px; height: 24px; padding: 0 8px; }
.workspace .lang-switch a.is-active { background: var(--surface-raised); color: var(--accent); box-shadow: none; }
.workspace.is-authed .sidebar > .lang-switch { align-self: flex-start; margin: 16px 8px 0; }
.workspace .operator-card { gap: 12px; margin-top: 16px; padding: 16px 8px 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: none; }
.workspace .operator-avatar { width: 32px; height: 32px; flex-basis: 32px; border: 1px solid var(--line); border-radius: 8px; color: var(--accent); background: var(--accent-soft); font: 12px var(--mono); }
.workspace .operator-copy strong { color: var(--text); font-weight: 500; }
.workspace .operator-copy small { color: var(--subtle); }
.workspace .operator-exit { min-height: 32px; padding: 0; background: transparent; color: var(--muted); }
.workspace .operator-exit:hover { background: var(--danger-bg); color: var(--red); }
.workspace.is-authed main { margin-left: 248px; background: var(--bg); }
.workspace main::before { display: none; }
.workspace-bar { min-height: 64px; padding: 16px 32px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); background: var(--sidebar); color: var(--muted); font-size: 12px; }
.workspace-bar > span:last-child { color: var(--subtle); }
.workspace-divider { padding: 0 12px; color: var(--subtle); }
.workspace .content-shell { width: min(100%,1536px); min-width: 0; padding: 32px 32px 48px; animation: workspace-page-enter 220ms var(--ease); }
.workspace.is-navigating { cursor: progress; }
.workspace :is(.page-heading,.hero-panel) { min-height: 64px; margin-bottom: 24px; gap: 24px; align-items: center; }
.workspace :is(.page-heading,.hero-panel) h2 { font-size: 28px; font-weight: 500; }
.workspace :is(.page-heading,.hero-panel) p { margin-top: 8px; color: var(--muted); font-size: 13px; }
.workspace .panel { padding: 24px; margin-bottom: 24px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-shadow: none; backdrop-filter: none; }
.workspace .panel-title { margin-bottom: 20px; }
.workspace .panel-title > span { margin-bottom: 8px; color: var(--muted); font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.workspace .panel-title h2 { font-size: 18px; font-weight: 500; }
.workspace .panel-title p { margin-top: 8px; color: var(--muted); }
.workspace .table-panel { padding: 0; }
.workspace .table-panel .panel-title { min-width: 0; padding: 20px 24px; border-bottom: 1px solid var(--line); margin: 0; }
.workspace .stats { gap: 12px; margin-bottom: 24px; }
.workspace .stat-card { min-height: 108px; gap: 0; padding: 20px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); transition: border-color 180ms var(--ease); }
.workspace .stat-card:hover { transform: none; border-color: var(--line-strong); background: var(--surface); }
.workspace .stat-icon { display: none; }
.workspace .dashboard-stats .stat-icon { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 24px; height: 24px; flex: none; border: 0; border-radius: 0; color: var(--subtle); background: transparent; }
.workspace .dashboard-stats .stat-icon .ui-icon { width: 16px; height: 16px; }
.workspace .dashboard-stats .stat-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; }
.workspace .dashboard-stats .stat-copy small { padding-right: 28px; }
.workspace .dashboard-stats .stat-copy { width: 100%; }
.workspace .stat-copy small { color: var(--muted); font-size: 12px; font-weight: 400; }
.workspace .stat-copy strong { color: var(--text); font-size: 28px; font-weight: 400; margin-top: 8px; font-family: var(--mono); }
.workspace .activation-stats .stat-card { background: var(--surface); }
.workspace .activation-stats .stat-copy strong { color: var(--text); font-size: 36px; }
.workspace .activation-stats .stat-card:first-child { border-top-color: var(--action); }
.workspace .activation-stats .stat-card:first-child .stat-copy strong { color: var(--accent); }
.workspace :is(.grid-form,.query-form,.filter-form,.query-form-user,.query-extend-keys,.query-extend-batch,.query-extend-form,.credential-grid,.modal-form) { gap: 16px; }
.workspace :is(.duration-row,.query-extend-keys .duration-row,.query-extend-batch .duration-row,.query-extend-form .duration-row) { gap: 8px; }
.workspace :is(.check-field,.permission-grid .check-field) { min-height: 40px; padding: 8px 12px; gap: 8px; background: var(--field); border-color: var(--line); border-radius: 8px; }
.workspace .check-field input { width: 16px; min-height: 16px; padding: 0; accent-color: var(--accent); }
.workspace .permission-fieldset legend { font-weight: 500; }
.workspace table { color: var(--text); }
.workspace :is(th,td) { padding: 16px; border-bottom-color: var(--line); }
.workspace th { background: var(--sidebar); color: var(--muted); font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.workspace td { color: var(--muted); font-size: 13px; }
.workspace tbody tr { transition: background-color 200ms var(--ease); }
.workspace tbody tr:hover { background: var(--surface-raised); }
.workspace :is(.sort-link:hover,.sort-link.is-active) { color: var(--accent); }
.workspace .sort-mark { color: var(--accent); }
.workspace :is(code,pre) { background: var(--field); color: #d9d4d8; border: 1px solid var(--line); border-radius: 4px; font-family: var(--mono); }
.workspace code { padding: 4px 8px; }
.workspace pre { padding: 16px; }
.workspace :is(.onboarding-prompt,.extend-one-form input[name="license_key"]) { font-family: var(--mono); }
.workspace .table-action { border-radius: 6px; min-height: 32px; padding: 4px 12px; text-decoration: none; }
.workspace .table-actions form .table-action { background: var(--surface); border-color: var(--line-strong); color: var(--accent); }
.workspace :is(.table-danger,td form button) { color: var(--red); background: var(--danger-bg); border-color: var(--danger-line); }
.workspace .file-input-field input[type="file"]::file-selector-button { background: var(--accent-soft); border-color: var(--line-strong); color: var(--accent); }
.workspace .activation-summary-panel { padding: 0; }
.workspace :is(.activation-name,.activation-summary-table tfoot,.activation-details summary) { font-weight: 500; }
.workspace .activation-summary-filters { gap: 16px; }
.workspace :is(.table-footer,.modal-actions,.credential-actions,.result-actions) { border-color: var(--line); gap: 12px; }
.workspace .pagination-sizes strong { background: var(--accent-soft); }
.workspace .badge { min-height: 24px; border-color: var(--line); background: var(--surface-raised); color: var(--muted); border-radius: 6px; padding: 2px 8px; font-weight: 400; }
.workspace :is(.badge-active,.badge-success,.badge-verification,.badge-published,.badge-stable,.badge-update_available) { border-color: var(--success-line); background: var(--success-bg); color: var(--success); }
.workspace :is(.badge-expired) { border-color: var(--warning-line); background: var(--warning-bg); color: var(--amber); }
.workspace :is(.badge-revoked,.badge-failure,.badge-blocked,.badge-withdrawn,.badge-denied) { border-color: var(--danger-line); background: var(--danger-bg); color: var(--red); }
.workspace :is(.badge-admin,.badge-beta) { border-color: #354a59; background: #222d35; color: var(--blue); }
.workspace :is(.flash,.alert,.toast,.error-state,.loading-state) { margin-bottom: 16px; padding: 12px 16px; background: var(--success-bg); border: 1px solid var(--success-line); border-radius: 8px; color: var(--success); }
.workspace .error-state { background: var(--danger-bg); border-color: var(--danger-line); color: var(--red); }
.workspace .danger-zone { background: #21171b; border-color: var(--danger-line); }
.workspace .credential-warning { padding: 12px 16px; background: var(--warning-bg); border-color: var(--warning-line); color: var(--amber); }
.workspace :is(.credential-app-name,.detail-grid > div,.session-card,.hwid-stat,.hwid-hardware article) { padding: 16px; background: var(--field); border-color: var(--line); }
.workspace :is(.credential-app-name span,.credential-label,.edit-license-identity,.extend-preset-label) { color: var(--muted); font-weight: 400; }
.workspace :is(.credential-app-name strong,.detail-grid strong,.hwid-hardware h3,.hwid-hardware pre) { color: var(--text); font-weight: 500; }
.workspace :is(.credential-actions,.result-actions) { margin-top: 24px; padding-top: 16px; }
.workspace .summary-chips { gap: 8px; margin: 0 0 24px; }
.workspace .summary-chips > span { padding: 4px 12px; background: var(--surface); border-color: var(--line); color: var(--muted); border-radius: 6px; }
.workspace .summary-chips strong { color: var(--text); }
.workspace .empty-state { background: var(--field); border-color: var(--line-strong); color: var(--subtle); }
.workspace :is(a.username-link,a.username-link strong) { color: var(--accent); }
.workspace :is(a.username-link:hover,a.username-link:hover strong) { color: var(--accent-hover); }
.workspace .extend-chip { padding: 8px 12px; border-radius: 8px; background: var(--field); color: var(--muted); font-weight: 400; }
.workspace .extend-chip input { width: 8px; min-height: 8px; height: 8px; padding: 0; background: var(--line-strong); }
.workspace .extend-chip:has(input:checked) { background: var(--accent-soft); border-color: var(--accent-border); color: var(--accent); }
.workspace .extend-chip:has(input:checked) input { background: var(--accent); }
.workspace .hwid-stat span { letter-spacing: 0; text-transform: none; font-weight: 400; }
.workspace .hwid-stat strong { font-family: var(--mono); font-weight: 400; }
.workspace .hwid-row:hover td { background: var(--surface-raised); }
.workspace .hwid-pulse { color: var(--muted); font-weight: 400; }
.workspace .hwid-pulse.is-online { color: var(--success); }
.workspace .hwid-pulse.is-online i { width: 8px; height: 8px; background: var(--success); box-shadow: none; animation: none; }
.workspace .copy-button.is-copied { background: var(--success-bg); color: var(--success); border-color: var(--success-line); }
.workspace .copy-button.is-copied { animation: workspace-confirm 280ms var(--ease); }
.workspace .copy-button.is-copy-error { background: var(--danger-bg); color: var(--red); border-color: var(--danger-line); }
.workspace :is(.modal-backdrop,.sidebar-overlay),
.workspace :is(.modal-backdrop,.sidebar-overlay):hover { background: #050507c4; border-radius: 0; backdrop-filter: none; transform: none; }
.workspace .modal-card { padding: 24px; background: var(--surface); border-color: var(--line-strong); box-shadow: 0 16px 64px #0005; animation: workspace-modal-in 320ms var(--ease); }
.workspace .modal-backdrop { animation: workspace-fade-in 240ms var(--ease); }
.workspace .modal-accent { display: none; }
.workspace .modal-header { margin: 0 0 24px; }
.workspace .modal-header h2 { font-size: 22px; }
.workspace .modal-header p { color: var(--muted); }
.workspace .modal-close { width: 32px; min-height: 32px; padding: 0; background: transparent; color: var(--muted); }
.workspace .modal-close:hover { background: var(--surface-raised); color: var(--text); }
.workspace.is-login { background: var(--bg); }
.workspace.is-login .sidebar { min-height: 88px; padding: 16px max(32px,calc((100vw - 1216px) / 2)); justify-content: flex-start; background: transparent; border-bottom: 1px solid var(--line); backdrop-filter: none; }
.workspace.is-login .lang-switch { right: max(32px,calc((100vw - 1216px) / 2)); }
.workspace.is-login main { min-height: calc(100svh - 88px); display: flex; align-items: center; }
.workspace.is-login .content-shell { width: min(100%,1280px); margin: 0 auto; padding: 56px 32px 64px; }
.login-composition { display: grid; grid-template-columns: minmax(0,1fr) 400px; align-items: center; gap: 96px; }
.access-intro { min-width: 0; max-width: 520px; }
.access-kicker { color: var(--accent); font-size: 12px; margin-bottom: 24px; }
.access-intro h1 { font-size: clamp(36px,3.5vw,48px); line-height: 1.35; letter-spacing: -.8px; font-weight: 400; }
.access-intro > p { max-width: 400px; margin: 20px 0 32px; color: var(--muted); font-size: 14px; line-height: 1.9; }
.license-object { max-width: 460px; padding: 24px; border: 1px solid #72303f; border-top: 3px solid var(--action-hover); border-radius: 8px; background: #39131d; color: #fff1f3; box-shadow: none; }
.license-object-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 12px; }
.license-object-head > span:first-child { display: inline-flex; gap: 8px; align-items: center; }
.license-object-head > span:last-child { color: #d7a8b2; font: 10px var(--mono); }
.license-object-label { margin-top: 32px; font-size: 11px; color: #d7a8b2; }
.license-object-key { margin-top: 8px; font: 22px/1.5 var(--mono); letter-spacing: 1px; white-space: nowrap; }
.license-object-rule { margin: 24px 0 16px; border-top: 1px solid #ffffff26; }
.license-object-fields { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.license-object-fields span { color: #d7a8b2; font-size: 11px; }
.license-object-fields b { display: block; margin-top: 8px; color: #fff1f3; font: 10px var(--mono); }
.access-caption { display: flex; gap: 8px; align-items: center; margin-top: 20px; font-size: 11px; color: var(--subtle); }
.access-caption > span { width: 6px; height: 6px; border: 1px solid var(--accent); border-radius: 2px; }
.workspace .login { width: 100%; padding: 32px; margin: 0; background: var(--surface); border-radius: 8px; box-shadow: none; }
.workspace .login .panel-title { margin-bottom: 32px; }
.workspace .login .panel-title h2 { font-size: 26px; font-weight: 500; }
.workspace .login .panel-title p { font-size: 12px; }
.workspace .login form { gap: 20px; }
.workspace .login input { min-height: 48px; }
.workspace .login button { min-height: 48px; margin-top: 8px; }
.workspace .dashboard-charts { display: grid; grid-template-columns: minmax(0,2.2fr) minmax(260px,1fr); gap: 24px; margin-bottom: 24px; }
.workspace .dashboard-charts .panel { margin: 0; min-width: 0; }
.workspace .chart-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
.workspace .chart-header h2 { font-size: 18px; }
.workspace .chart-header p { margin: 4px 0 0; color: var(--subtle); font-size: 12px; }
.workspace .chart-range { display: flex; flex-shrink: 0; padding: 4px; border: 1px solid var(--line); border-radius: 8px; background: var(--field); }
.workspace .chart-range button { min-height: 28px; padding: 4px 8px; background: transparent; color: var(--muted); font-size: 12px; white-space: nowrap; }
.workspace .chart-range button[aria-pressed="true"] { background: var(--accent-soft); color: var(--accent); }
.workspace .chart-metrics { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.workspace .chart-metrics > strong { font: 32px var(--mono); }
.workspace .chart-metrics small { margin-left: 8px; color: var(--subtle); font: 12px Bahnschrift,"Microsoft YaHei",sans-serif; }
.workspace .chart-metrics > span { color: var(--subtle); font-size: 12px; }
.workspace .chart-metrics b { margin-left: 8px; color: var(--text); font: 14px var(--mono); }
.workspace .trend-plot { position: relative; }
.workspace .trend-plot > svg { display: block; width: 100%; height: auto; overflow: visible; }
.workspace .trend-plot text { fill: var(--subtle); font: 11px var(--mono); }
.workspace .chart-grid-line { stroke: var(--line); stroke-dasharray: 3 5; }
.workspace .chart-area { fill: var(--action); fill-opacity: .13; }
.workspace .chart-line { fill: none; stroke: var(--accent); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.workspace .chart-dot { fill: var(--accent); stroke: var(--surface); stroke-width: 2; transition: r 160ms var(--ease); }
.workspace .chart-point-hit { fill: transparent; }
.workspace .chart-point { outline: none; cursor: crosshair; }
.workspace .chart-point:is(:hover,:focus) .chart-dot { r: 6; stroke: var(--text); }
.workspace .chart-tooltip { position: absolute; top: 0; right: 0; padding: 8px 12px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--field); color: var(--text); font-size: 12px; opacity: 0; transform: translateY(4px); transition: opacity 160ms var(--ease),transform 160ms var(--ease); pointer-events: none; }
.workspace .chart-tooltip.is-visible { opacity: 1; transform: none; }
.workspace .chart-period:not([hidden]) { animation: workspace-enter 320ms var(--ease); }
.workspace .chart-data { margin-top: 8px; color: var(--subtle); font-size: 12px; }
.workspace .chart-data summary { cursor: pointer; padding: 4px 0; }
.workspace .chart-data > div { max-height: 240px; margin-top: 12px; overflow: auto; }
.workspace .chart-data table { min-width: 0; width: 100%; table-layout: fixed; }
.workspace .chart-data td:last-child,.workspace .chart-data th:last-child { text-align: right; font-family: var(--mono); }
.workspace .chart-empty { margin-top: 8px; color: var(--muted); font-size: 12px; }
.workspace .verification-ring { position: relative; width: 180px; margin: 8px auto 24px; }
.workspace .verification-ring svg { display: block; width: 100%; transform: rotate(-90deg); }
.workspace .verification-ring circle { fill: none; stroke-width: 12; }
.workspace .ring-track { stroke: var(--line); }
.workspace .ring-failure { stroke: var(--action); }
.workspace .ring-success { stroke: #dfd9dd; }
.workspace .verification-ring > div { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; }
.workspace .verification-ring strong { font: 28px var(--mono); }
.workspace .verification-ring span { color: var(--subtle); font-size: 12px; }
.workspace .chart-legend { display: grid; gap: 12px; font-size: 13px; }
.workspace .chart-legend > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.workspace .chart-legend span { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); }
.workspace .chart-legend strong { font: 13px var(--mono); }
.workspace .chart-legend i { width: 8px; height: 8px; border-radius: 2px; }
.workspace .legend-success { background: #dfd9dd; }
.workspace .legend-failure { background: var(--action); }
.workspace .legend-total { border-top: 1px solid var(--line); padding-top: 12px; }
@media (max-width: 1100px) {
  .workspace .dashboard-charts { grid-template-columns: minmax(0,1fr); }
  .workspace .verification-chart { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 24px; }
  .workspace .verification-chart .chart-header { grid-column: 1 / -1; margin-bottom: 0; }
  .workspace .verification-ring { margin: 0 auto; }
}
@media (max-width: 620px) {
  .workspace .dashboard-charts { gap: 16px; }
  .workspace .chart-header { gap: 8px; }
  .workspace .chart-header h2 { font-size: 16px; }
  .workspace .trend-plot text { font-size: 22px; }
  .workspace .trend-plot .chart-x-skip { display: none; }
  .workspace .chart-range button { min-height: 32px; padding: 4px 6px; font-size: 11px; }
  .workspace .verification-chart { gap: 16px; }
  .workspace .verification-ring { width: 136px; }
  .workspace .verification-ring strong { font-size: 22px; }
  .workspace .chart-legend,.workspace .chart-legend strong { font-size: 11px; }
  .workspace .dashboard-stats .stat-icon { top: 8px; right: 8px; width: 20px; height: 20px; }
  .workspace .dashboard-stats .stat-copy small { padding-right: 16px; }
}
@keyframes workspace-page-enter { from { opacity: .86; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes workspace-enter { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes workspace-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes workspace-modal-in { from { opacity: 0; transform: translateY(24px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes workspace-marker { from { opacity: 0; transform: scaleY(.25); } to { opacity: 1; transform: scaleY(1); } }
@keyframes workspace-confirm { 50% { transform: scale(.95); } }
@media (min-width: 900px) and (max-width: 1180px) {
  .workspace .stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .workspace .activation-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .login-composition { gap: 48px; grid-template-columns: minmax(0,1fr) 360px; }
  .license-object-key { font-size: 18px; }
}
@media (max-width: 899px) {
  .workspace.is-authed .sidebar { width: 248px; background: var(--sidebar); transition: transform 320ms var(--ease); }
  .workspace.is-authed main { margin-left: 0; padding-top: 64px; }
  .workspace .mobile-bar { padding: 0 16px; background: var(--sidebar); border-color: var(--line); }
  .workspace .mobile-menu { width: 36px; min-height: 36px; padding: 0; background: transparent; color: var(--muted); }
  .workspace .mobile-bar .brand { gap: 8px; padding: 0; }
  .workspace .mobile-bar .brand-mark { width: 24px; flex-basis: 24px; height: 28px; }
  .workspace .mobile-bar .brand-mark .ui-icon { width: 24px; height: 24px; }
  .workspace .mobile-bar .brand-copy strong { font-size: 18px; }
  .workspace .sidebar-overlay { inset: 0 0 0 248px; width: calc(100% - 248px); padding: 0; transition: opacity 240ms var(--ease), visibility 240ms var(--ease); }
  .workspace-bar { min-height: 48px; padding: 12px 24px; }
  .workspace .content-shell { padding: 24px; }
  .workspace .stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .workspace .activation-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .workspace.is-login .sidebar { min-height: 80px; padding: 12px 24px; }
  .workspace.is-login .lang-switch { right: 24px; }
  .workspace.is-login main { min-height: calc(100svh - 80px); }
  .workspace.is-login .content-shell { padding: 40px 24px; }
  .login-composition { grid-template-columns: minmax(0,1fr) 340px; gap: 32px; }
  .access-intro h1 { font-size: 32px; }
  .license-object { padding: 16px; }
  .license-object-key { font-size: 16px; }
  .license-object-fields { gap: 8px; }
  .license-object-fields b { font-size: 11px; overflow-wrap: anywhere; }
}
@media (max-width: 700px) {
  .workspace.is-login .content-shell { max-width: 480px; padding: 32px 20px 40px; }
  .login-composition { grid-template-columns: 1fr; gap: 32px; }
  .access-kicker { margin-bottom: 12px; }
  .access-intro h1 { font-size: 32px; }
  .access-intro h1 br { display: block; }
  .access-intro > p { margin: 12px 0 0; font-size: 13px; }
  .license-object,.access-caption { display: none; }
  .workspace .login { padding: 24px; }
  .workspace.is-login main { align-items: flex-start; }
}
@media (max-width: 620px) {
  .workspace .content-shell { padding: 24px 16px 40px; }
  .workspace-bar { padding: 12px 16px; font-size: 11px; }
  .workspace-bar > span:last-child { display: none; }
  .workspace :is(.page-heading,.hero-panel) { gap: 16px; align-items: flex-start; }
  .workspace :is(.page-heading,.hero-panel) h2 { font-size: 24px; }
  .workspace .stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .workspace .activation-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .workspace .stat-card { min-height: 96px; padding: 12px; }
  .workspace .stat-copy strong { font-size: 24px; }
  .workspace .activation-stats .stat-copy strong { font-size: 28px; }
  .workspace .stat-copy small { font-size: 11px; }
  .workspace .panel { padding: 16px; }
  .workspace .table-panel { padding: 0; }
  .workspace .table-panel .panel-title { padding: 16px; }
  .workspace :is(.grid-form,.query-form,.filter-form,.license-filter-form,.modal-form-grid,.query-form-user,.query-extend-keys) { grid-template-columns: minmax(0,1fr); }
  .workspace .table-footer { padding: 16px; }
  .workspace :is(button,.primary-link,.primary-button,.secondary-button,input,select) { min-height: 44px; }
  .workspace .mobile-menu { min-height: 36px; }
  .workspace .modal-shell { padding: 8px; }
  .workspace .modal-card { padding: 20px; }
  .workspace .mobile-bar { gap: 8px; padding: 0 12px; }
  .workspace .mobile-bar .brand-copy strong { font-size: 16px; }
  .workspace .lang-switch a { min-width: 32px; font-size: 11px; padding: 0 4px; }
  .workspace.is-login .sidebar { padding: 12px 16px; }
  .workspace.is-login .lang-switch { right: 16px; }
  .workspace.is-login .brand-copy strong { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .workspace .content-shell,.workspace .content-shell > *,
  .workspace .modal-card,.workspace .modal-backdrop,.workspace .chart-period,
  .workspace nav a.active::before,.workspace .copy-button { animation: none; }
  .workspace :is(button,.primary-link,.primary-button,.table-action):active { transform: none; }
}
