/* Operating platform: the retained Aigentique design-system snapshot in its console register,
   plus the shell layout adapted from ui_kits/console/index.html. New classes keep the aq- prefix. */
@import url("/design/tokens/fonts.css");
@import url("/design/tokens/palette.css");
@import url("/design/tokens/theme.css");
@import url("/design/tokens/typography.css");
@import url("/design/tokens/space.css");
@import url("/design/tokens/elevation.css");
@import url("/design/tokens/motion.css");
@import url("/design/tokens/register.css");
@import url("/design/tokens/base.css");
@import url("/design/components/core/core.css");
@import url("/design/components/console/console.css");

html,body{height:100%}
.aq-skip{position:absolute;left:var(--space-4);top:-100px;z-index:20}
.aq-skip:focus{top:var(--space-4)}
/* A checkbox's box is drawn from the input's own state, whatever class its template rendered, so a
   click always shows. The snapshot's core.css draws it only from .aq-check__box--checked. */
.aq-check__box:has(input[type="checkbox"]:checked){background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}
.aq-check__box:has(input[type="checkbox"]:not(:checked)){background:var(--surface-1);border-color:var(--border-strong);color:transparent}
.aq-check:hover .aq-check__box:has(input[type="checkbox"]:not(:checked)){border-color:var(--accent)}
.aq-shell{display:flex;height:100vh;min-height:480px;overflow:hidden}
.aq-shell__main{flex:1;display:flex;flex-direction:column;min-width:0}
.aq-shell__body{flex:1;overflow:auto;padding:var(--space-6)}
.aq-shell__stack{display:flex;flex-direction:column;gap:var(--space-5);max-width:var(--layout-max)}
.aq-shell__loading{padding:var(--space-8)}
.aq-shell__menu{display:none}
.aq-shell__lede{font:var(--type-body);color:var(--text-2);max-width:var(--layout-reading)}
.aq-shell__kv{display:grid;grid-template-columns:minmax(150px,max-content) minmax(0,1fr);gap:var(--space-4) var(--space-5);font-size:var(--fs-300);margin:0}
.aq-shell__kv dt{font:var(--type-label);color:var(--text-3);letter-spacing:var(--ls-wide);align-self:center}
.aq-shell__kv dd{margin:0;color:var(--text-1)}
.aq-logo--22 .aq-logo__word{font-size:16px}
.aq-logo--32 .aq-logo__word{font-size:23px}
/* SidebarNav renders buttons; the workspace uses links so every area is a real, shareable address. */
a.aq-nav__item{text-decoration:none}
.aq-nav__account{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--fs-300);color:var(--text-2)}
.aq-nav__account strong{color:var(--text-1);font-weight:var(--fw-semibold)}

.aq-signin{min-height:100vh;display:grid;place-items:center;padding:var(--space-6)}
.aq-signin__panel{width:min(440px,100%);display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-8)}
.aq-signin__panel h1{font:var(--type-title);margin-bottom:var(--space-3)}
.aq-shell__close{margin-left:auto}

@media (max-width:900px){
  .aq-shell{position:relative}
  /* Closed, the rail leaves the tab order as well as the screen. */
  .aq-shell .aq-nav{position:absolute;inset:0 auto 0 0;z-index:10;transform:translateX(-100%);visibility:hidden;transition:transform var(--dur-base) var(--ease-out),visibility 0s linear var(--dur-base);box-shadow:var(--shadow-3)}
  .aq-shell--nav-open .aq-nav{transform:none;visibility:visible;transition:transform var(--dur-base) var(--ease-out)}
  .aq-shell__menu{display:inline-flex}
  .aq-shell__kv{grid-template-columns:minmax(0,1fr)}
}

/* Registers: the list beside the selected record (adapted from the console kit's c-split). */
.aq-entities{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--space-6);align-items:start}
.aq-entities__register{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}
.aq-entities__filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-5)}
.aq-entities__search{flex:1 1 220px}
.aq-entities__incomplete{align-self:center;font-size:var(--fs-300)}
.aq-entities__related{align-self:center;display:inline-flex;align-items:center;gap:var(--space-2)}
.aq-entities__row{display:flex;flex-direction:column;padding:var(--space-3) 0;color:var(--text-1);text-decoration:none}
.aq-entities__aka{font:var(--type-caption);color:var(--text-3)}
.aq-entities__detail{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}
.aq-entities__detail h3{margin-top:var(--space-3);margin-bottom:var(--space-2)}
.aq-entities__hint,.aq-entities__missing{font:var(--type-caption);color:var(--text-3)}
.aq-entities__ok{border-left-color:var(--ok)}
.aq-entities__ok .aq-exception__icon{color:var(--ok)}
.aq-entities__tabs{display:flex;gap:var(--space-6);border-bottom:var(--border-hairline) solid var(--border-hair)}
.aq-entities__tabs button{background:none;border:0;border-bottom:var(--border-thick) solid transparent;margin-bottom:-1px;padding:var(--space-4) 0;color:var(--text-3);font:var(--type-body);font-size:var(--fs-300);font-weight:var(--fw-medium);cursor:pointer}
.aq-entities__tabs button[aria-selected="true"]{color:var(--text-1);border-bottom-color:var(--accent)}
.aq-entities__form{display:flex;flex-direction:column;gap:var(--space-5)}
.aq-entities__textarea{height:auto;padding:var(--space-4) var(--space-5);resize:vertical}
.aq-entities__date{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:var(--space-4);align-items:center;border:0;margin:0;padding:0}
.aq-entities__date legend{margin-bottom:var(--space-3)}
.aq-entities__date .aq-field__error{grid-column:1/-1}
.aq-entities__history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.aq-entities__event{padding:var(--space-5) 0;border-bottom:var(--border-hairline) solid var(--border-hair);display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}
.aq-entities__event-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}
.aq-entities__meta{font:var(--type-caption);color:var(--text-3)}
.aq-entities__reason{font-size:var(--fs-300);color:var(--text-2)}
.aq-entities__changes{margin:0;padding-left:var(--space-7);font-size:var(--fs-300);color:var(--text-2);display:flex;flex-direction:column;gap:var(--space-2)}
.aq-entities__field{font-weight:var(--fw-semibold);color:var(--text-1)}

/* Review dialogs: a large console surface, so the 10px radius. */
.aq-dialog{width:min(560px,calc(100% - var(--space-8)));border:var(--border-hairline) solid var(--border-hair);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--text-1);box-shadow:var(--shadow-4);padding:var(--space-8)}
.aq-dialog::backdrop{background:var(--bg-scrim)}
.aq-dialog form{display:flex;flex-direction:column;gap:var(--space-5)}
.aq-dialog__title{font:var(--type-heading)}

@media (max-width:1100px){.aq-entities{grid-template-columns:minmax(0,1fr)}}
.aq-exception .aq-exception__actions{margin-top:var(--space-4)}

/* Fixtures and Evidence: every view states its mode and cutoff above the content. */
.aq-evidence__view,.aq-evidence__lookup{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-6)}
.aq-evidence__view .aq-evidence__hint{flex-basis:100%}
.aq-evidence__hint,.aq-evidence__muted{font:var(--type-caption);color:var(--text-3)}
.aq-evidence__detail{display:flex;flex-direction:column;gap:var(--space-5)}
.aq-evidence__assertion{font:var(--type-body-lg)}
.aq-evidence__list{margin:0;padding-left:var(--space-7);font-size:var(--fs-300);display:flex;flex-direction:column;gap:var(--space-3)}
.aq-evidence__sections{margin-bottom:var(--space-6)}
.aq-evidence__sections a{padding:var(--space-4) 0;border-bottom:var(--border-thick) solid transparent;margin-bottom:-1px;color:var(--text-3);text-decoration:none;font-size:var(--fs-300);font-weight:var(--fw-medium)}
.aq-evidence__sections a[aria-current="page"]{color:var(--text-1);border-bottom-color:var(--accent)}
.aq-corrections__claims td:first-child{min-width:14rem}
/* A record may offer several kinds of relationship to add; they wrap rather than overflow the card. */
.aq-relationships__add{flex-wrap:wrap}
/* A colour swatch beside its hex value; the colour is painted by script, never an inline style. */
.aq-presentation__swatch{display:inline-block;width:14px;height:14px;margin-right:var(--space-2);vertical-align:-2px;border:var(--border-hairline) solid var(--border-strong);border-radius:var(--radius-xs)}
/* Lanes stack: two lanes side by side would be halves (#212). */
.aq-monitoring__lanes{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}
.aq-monitoring__archive{margin-top:var(--space-4)}
/* Taking an archive record into the registers (#249): the choice, its target and the reason, stacked. */
.aq-takein__form{display:flex;flex-direction:column;gap:var(--space-3)}
.aq-takein__form fieldset{border:0;margin:0;padding:0}
.aq-takein__form fieldset label{display:block;margin-top:var(--space-1)}
/* A record already mapped to another Sportmonks ID: allowed, never unnoticed (#250). */
.aq-takein__warning{margin:var(--space-1) 0 0 var(--space-5);color:var(--warn-ink)}
.aq-takein__warning svg{vertical-align:-3px;margin-right:var(--space-1)}
.aq-takein__form .aq-evidence__list{list-style:none;padding-left:0}
/* The archive's and the archive viewer's Snowflake caps, one above the other (#245). */
.aq-monitoring__cap + .aq-monitoring__cap{margin-top:var(--space-4)}
.aq-monitoring__indicator{text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-2)}
.aq-monitoring__lane-list{margin:var(--space-1) 0 0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}
.aq-retention__remnants{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-4)}
.aq-retention__review{display:flex;flex-direction:column;gap:var(--space-2)}
/* Gallery. The context line keeps channel, show and occurrence in view. Programme return carries
   its own broadcast appearance (dark, hard-edged) whatever the console theme, so output receipts
   never read as console controls; the semantic aliases are re-pointed at the shared ramps here. */
.aq-gallery__context{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font:var(--type-body)}
.aq-gallery__controls{margin-top:var(--space-3)}
.aq-gallery__timings{max-width:560px}
.aq-gallery__return{--surface-1:var(--c-carbon-950);--text-1:var(--c-carbon-25);--text-2:var(--c-carbon-300);--text-3:var(--c-carbon-400);--focus-ring:var(--c-terracotta-300);
  background:var(--c-carbon-1000);color:var(--text-1);border-radius:var(--reg-radius);padding:var(--reg-pad-y) var(--reg-pad-x);margin:var(--space-5) 0;border-left:var(--reg-rule) solid var(--c-carbon-700)}
.aq-gallery__return-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}
.aq-gallery__return .aq-label{color:var(--text-2);letter-spacing:var(--reg-label-tracking)}
.aq-gallery__stale{font:var(--type-label);color:var(--c-carbon-950);background:var(--c-carbon-300);padding:2px var(--space-3);text-transform:uppercase;letter-spacing:var(--reg-label-tracking)}
.aq-gallery__receipts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--reg-panel-gap)}
.aq-gallery__receipt{display:grid;grid-template-columns:120px 1fr;gap:var(--space-2) var(--space-5);padding:var(--space-4) 0;border-top:var(--border-hairline) solid rgba(255 255 255 / .14)}
.aq-gallery__receipt-status{grid-row:span 2;font-family:var(--font-display);font-weight:var(--reg-heading-weight);text-transform:uppercase;letter-spacing:var(--reg-label-tracking)}
.aq-gallery__receipt--actual .aq-gallery__receipt-status{color:var(--c-green-400)}
.aq-gallery__receipt--uncertain .aq-gallery__receipt-status{color:var(--c-amber-400, var(--c-terracotta-300))}
.aq-gallery__receipt-meta{font-size:var(--fs-200);color:var(--text-3)}
.aq-gallery__empty{color:var(--text-2);margin:0}
.aq-gallery__execution h3{margin:var(--space-6) 0 var(--space-3)}
.aq-gallery__receipt--stale .aq-gallery__receipt-status{color:var(--c-terracotta-300)}

/* ===== Redesign (#206): the workspace shell, then shared components, on the retained tokens. =====
   One sidebar of sections; each page is a breadcrumb, a header card and its section's pills, inside
   an outlined main panel. Dark by default. Sizes follow the spec: side menu 14px, descriptive text
   11.5px, page title 25px in Exo 2, pills 14px at 30px tall, cards outlined at 12px. */
body{background:var(--bg-page)}
.aq-shell{background:var(--bg-page)}
.aq-shell .aq-nav{width:252px;background:transparent;border-right:0;padding:var(--space-6) var(--space-5) var(--space-5);gap:var(--space-1)}
.aq-shell .aq-nav__brand{padding:var(--space-2) var(--space-4) var(--space-6)}
.aq-shell .aq-nav__item{height:33px;padding:0 10px;gap:10px;border-radius:9px;font:var(--fw-regular) 14px/1 var(--font-text);color:var(--text-2);box-shadow:none}
.aq-shell .aq-nav__item:hover{background:var(--surface-hover);color:var(--text-1)}
.aq-shell .aq-nav__item--active{background:var(--surface-2);color:var(--text-1);font-weight:var(--fw-medium);box-shadow:none}
.aq-shell .aq-nav__item--active::before{content:none}
.aq-shell .aq-nav__foot{margin-top:auto;padding:var(--space-4) 0 0;border-top:0;display:flex;flex-direction:column;gap:var(--space-3)}
.aq-nav__archive{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) 10px;border-radius:9px;color:var(--text-2);font-size:14px;text-decoration:none}
.aq-nav__archive:hover{background:var(--surface-hover);color:var(--text-1)}
.aq-nav__archive-state{margin-left:auto;font-size:12px;color:var(--text-3)}
.aq-shell .aq-nav__account{display:flex;flex-direction:row;align-items:center;gap:10px;padding:var(--space-5) var(--space-4) var(--space-1);border-top:var(--border-hairline) solid var(--border-hair);font-size:12px;color:var(--text-3);min-width:0}
.aq-nav__who{min-width:0;display:flex;flex-direction:column;gap:2px}
.aq-nav__who strong{color:var(--text-1);font-weight:var(--fw-medium);font-size:14px;overflow:hidden;text-overflow:ellipsis}
.aq-nav__who small{font-size:11.5px;line-height:1.35;color:var(--text-3)}
.aq-nav__account button{margin-left:auto}
.aq-nav__avatar{flex:none;width:32px;height:32px;border-radius:9px;background:var(--accent);color:var(--text-on-accent);display:grid;place-items:center;font:var(--fw-bold) 12px/1 var(--font-display)}
.aq-shell__main{margin:var(--space-4) var(--space-4) var(--space-4) 0;border:var(--border-hairline) solid var(--border-hair);border-radius:14px;background:var(--surface-1);overflow:hidden}
.aq-shell__body{padding:var(--space-6) var(--space-9) var(--space-12)}
.aq-shell__bar{display:flex;align-items:center;gap:var(--space-5);min-height:36px;margin-bottom:var(--space-7)}
.aq-crumb{display:flex;align-items:center;gap:var(--space-4);font-size:13px;color:var(--text-3)}
.aq-crumb a{color:var(--text-3);text-decoration:none}
.aq-crumb a:hover{color:var(--text-1)}
.aq-crumb [aria-current]{color:var(--text-1);font-weight:var(--fw-medium)}
.aq-pagehead{display:flex;align-items:center;gap:var(--space-7);border:var(--border-hairline) solid var(--border-default);border-radius:14px;padding:var(--space-7) 22px}
.aq-pagehead__title{font:var(--fw-bold) 25px/1.1 var(--font-display);margin:0}
.aq-pagehead__desc{margin:var(--space-4) 0 0;font-size:11.5px;line-height:1.5;color:var(--text-2)}
.aq-pagehead__side{margin-left:auto;text-align:right;font-size:12px;color:var(--text-3);white-space:nowrap}
.aq-pagehead__side + .aq-pagehead__side{margin-left:0;padding-left:var(--space-6);border-left:var(--border-hairline) solid var(--border-hair)}
.aq-pagehead__side strong{display:block;margin-top:3px;color:var(--text-1);font-size:14px;font-weight:var(--fw-medium)}
.aq-pills{display:inline-flex;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:thin;gap:2px;padding:3px;border-radius:11px;background:var(--surface-2);margin-top:var(--space-7)}
.aq-pills a{display:inline-flex;align-items:center;height:30px;padding:0 15px;border-radius:9px;border:var(--border-hairline) solid transparent;font-size:14px;color:var(--text-2);text-decoration:none}
.aq-pills a:hover{color:var(--text-1)}
.aq-pills a[aria-current="page"]{background:var(--surface-1);border-color:var(--border-default);color:var(--text-1)}
.aq-shell__stack{max-width:none;margin-top:var(--space-9);gap:var(--space-7)}
.aq-shell__stack .aq-shell__stack{margin-top:0}
/* The section's pills replace each area's own top-level strip; record-level tabs stay (as pills). */
.aq-entities__tabs[aria-label="Sources area"],.aq-entities__tabs[aria-label="Channels, shows and presenter profiles"],.aq-entities__tabs.aq-evidence__sections{display:none}
@media (max-width:900px){
  .aq-shell .aq-nav{background:var(--bg-page)}
  .aq-shell__main{margin:0;border:0;border-radius:0}
  .aq-shell__body{padding:var(--space-5) var(--space-6) var(--space-10)}
  .aq-pagehead{flex-wrap:wrap}
}

/* Shared components, restyled flat and outlined. */
.aq-card{background:transparent;border:var(--border-hairline) solid var(--border-default);border-radius:12px;box-shadow:none;padding:var(--space-6) 18px}
.aq-card__title{font:var(--fw-semibold) 15px/1.25 var(--font-display)}
.aq-card__sub,.aq-shell__lede,.aq-entities__hint,.aq-entities__missing,.aq-evidence__hint,.aq-evidence__muted,.aq-entities__aka{font-size:11.5px;line-height:1.5}
.aq-shell__lede{color:var(--text-2)}
.aq-entities__tabs{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:11px;background:var(--surface-2);border-bottom:0;align-self:flex-start}
.aq-entities__tabs button{height:30px;padding:0 14px;margin:0;border:var(--border-hairline) solid transparent;border-radius:9px;font:var(--fw-regular) 13.5px/1 var(--font-text);color:var(--text-2)}
.aq-entities__tabs button:hover{color:var(--text-1)}
.aq-entities__tabs button[aria-selected="true"]{background:var(--surface-1);border-color:var(--border-default);color:var(--text-1)}
.aq-table-wrap{border:var(--border-hairline) solid var(--border-default);border-radius:12px;overflow:auto}
.aq-card .aq-table-wrap{border:0;border-radius:0}
.aq-table th{font:var(--fw-semibold) 10.5px/1 var(--font-display);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-3);background:transparent;border-bottom:var(--border-hairline) solid var(--border-hair)}
.aq-table td{font-size:13px;border-bottom:var(--border-hairline) solid var(--border-hair)}
.aq-table tbody tr:last-child td{border-bottom:0}
.aq-table tbody tr:hover td{background:var(--surface-hover)}
.aq-table tr[aria-selected="true"] td{background:var(--surface-selected)}
.aq-btn{border-radius:8px;font-size:13px}
.aq-iconbtn{border-radius:9px}
.aq-input,.aq-select{background:var(--surface-2);border-color:transparent;border-radius:9px;font-size:13px}
.aq-input:hover,.aq-select:hover{border-color:var(--border-default)}
.aq-badge{border-radius:999px;text-transform:none;letter-spacing:0;font:var(--fw-medium) 11.5px/1 var(--font-text);padding:4px 8px}
.aq-exception{background:transparent;border:var(--border-hairline) solid var(--border-default);border-radius:12px}
.aq-exception--blocking{border-color:var(--danger)}
.aq-dialog{border-radius:14px;border-color:var(--border-default)}

/* Registers without the split (#209): the list takes the full width; a selected record, form or review
   opens in a side panel over it, or as the page itself with page=1. An unselected detail keeps only its
   notices (outcomes, pending requests), shown above the list. */
.aq-entities{display:flex;flex-direction:column;gap:var(--space-7)}
.aq-entities__register{order:1}
.aq-entities__detail[data-empty]{order:0;border:0;padding:0;background:none}
.aq-entities__detail[data-empty] > .aq-entities__hint{display:none}
.aq-entities__detail[data-empty]:not(:has(> :not(.aq-entities__hint))){display:none}
.aq-shell--panel .aq-entities__detail:not([data-empty]){position:fixed;top:var(--space-4);right:var(--space-4);bottom:var(--space-4);z-index:30;width:min(720px,calc(100vw - 280px));overflow:auto;
  background:var(--surface-raised);border-color:var(--border-default);border-radius:14px;box-shadow:var(--shadow-4);padding:60px var(--space-8) var(--space-9)}
.aq-shell--panel .aq-entities__detail:focus{outline:none}
/* The panel scrolls as a whole; its own scrolling children (wide tables) must not shrink to nothing. */
.aq-shell--panel .aq-entities__detail:not([data-empty]) > *{flex-shrink:0}
/* No entrance animation: areas repaint their detail often, and a replayed slide would never settle. */
.aq-scrim{position:fixed;inset:0 0 0 252px;z-index:29;background:var(--bg-scrim)}
@media (max-width:900px){.aq-scrim{left:0}}
.aq-panelbar{position:fixed;top:calc(var(--space-4) + 16px);right:calc(var(--space-4) + 20px);z-index:31;display:flex;gap:var(--space-3)}
.aq-scrim[hidden],.aq-panelbar[hidden]{display:none}
.aq-shell--record-page .aq-entities__register{display:none}
.aq-shell--record-page .aq-entities__detail{padding:var(--space-8)}
@media (max-width:900px){.aq-shell--panel .aq-entities__detail:not([data-empty]){left:var(--space-4);width:auto}}
.aq-entities{align-items:stretch}
/* Inside a panel the surface is the raised one, so fields stay distinguishable on both. */
.aq-shell--panel .aq-entities__detail:not([data-empty]){background:var(--surface-1)}
.aq-input,.aq-select{border-color:var(--border-hair)}
/* A record's sections are separate outlined cards rather than one run of label/value pairs. */
.aq-recsec{border:var(--border-hairline) solid var(--border-default);border-radius:12px;padding:var(--space-6) 18px;margin-top:var(--space-5)}
.aq-recsec > .aq-label:first-child{margin:0 0 var(--space-5);display:block;font:var(--fw-semibold) 11.5px/1 var(--font-display);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--text-2)}
.aq-recsec--links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-7)}
.aq-recsec--links p{margin:0}
.aq-recsec .aq-shell__kv{font-size:13px}
.aq-entities__actions{margin-top:var(--space-6)}
.aq-shell--record-page .aq-entities__detail{max-width:1100px}

/* Home (#210): KPI cards, the on-air card, attention and coming-up rows, collection tiles. */
.aq-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5)}
.aq-kpi{border:var(--border-hairline) solid var(--border-default);border-radius:12px;padding:var(--space-6) 18px;min-height:96px;display:flex;flex-direction:column}
.aq-kpi__label{display:flex;align-items:center;gap:7px;font:var(--fw-semibold) 11.5px/1 var(--font-display);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--text-2)}
.aq-kpi__value{font:var(--fw-semibold) 23px/1 var(--font-display);margin-top:var(--space-5)}
.aq-kpi__sub{margin-top:var(--space-3);font-size:11.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aq-kpi--hot .aq-kpi__value{color:var(--text-accent)}
.aq-sectitle{margin:0;font:var(--fw-semibold) 11.5px/1 var(--font-display);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--text-2)}
.aq-card__link{font-size:13px;color:var(--text-2);text-decoration:none}
.aq-card__link:hover{color:var(--text-1)}
.aq-onair{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-3) var(--space-7);background:var(--surface-2)}
.aq-onair__head{grid-column:1;display:flex;align-items:center;gap:var(--space-4);font-size:12px;color:var(--text-3)}
.aq-onair__dot{width:8px;height:8px;border-radius:50%;background:var(--signal-live);box-shadow:var(--glow-live)}
.aq-onair__title{grid-column:1;font:var(--fw-bold) 22px/1.15 var(--font-display)}
.aq-onair__sub{grid-column:1;font-size:11.5px;color:var(--text-2)}
.aq-onair .aq-btn{grid-column:2;grid-row:1 / span 3}
.aq-rows{list-style:none;margin:0;padding:0}
.aq-rows li + li{border-top:var(--border-hairline) solid var(--border-hair)}
.aq-rows a{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-5) 0;color:var(--text-1);text-decoration:none;font-size:13.5px}
.aq-rows a:hover .aq-rows__main > span:first-child{text-decoration:underline}
.aq-rows__main{display:flex;flex-direction:column;gap:2px;min-width:0}
.aq-rows__sub{font-size:11.5px;color:var(--text-3)}
.aq-rows__time{width:140px;flex:none;font:var(--fw-semibold) 13px/1.2 var(--font-display)}
.aq-rows__end{margin-left:auto;font-size:11.5px;color:var(--text-3);white-space:nowrap}
.aq-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-5)}
.aq-tile{border:var(--border-hairline) solid var(--border-default);border-radius:12px;padding:var(--space-6) 18px;display:flex;flex-direction:column;gap:var(--space-3);color:var(--text-1);text-decoration:none}
.aq-tile:hover{background:var(--surface-hover)}
.aq-tile__label{display:flex;align-items:center;gap:var(--space-4);font-size:12px;color:var(--text-2)}
.aq-tile strong{font:var(--fw-semibold) 16px/1.2 var(--font-display)}
.aq-tile__sub{font-size:11.5px;color:var(--text-3)}

/* Filter forms (#212): their fields share rows, with the actions on a row of their own. Label
   columns (.aq-shell__kv) are as wide as their longest label up to 16rem, so labels fit beside
   their values; a section's pills keep to one row and scroll sideways when they cannot. */
.aq-entities__form--filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:start;gap:var(--space-5) var(--space-6)}
.aq-entities__form--filters > .aq-field{min-width:0}
.aq-entities__form--filters > .aq-exception__actions{grid-column:1 / -1;margin-top:0}
.aq-shell__kv dt{max-width:16rem}
.aq-pills a{flex:none;white-space:nowrap}
