/* Recruitment Desk — layout only. Every colour, radius, shadow, duration and
   step is a Reckon token; nothing here re-declares a design decision.

   Chosen once for the product and applied everywhere:
   · Density — roomy desk. The work here is reading one person's application
     properly, not scanning two hundred rows, so the page gutter is 32px, cards
     carry 24px of padding, and record rows breathe at 36px.
   · Separation — hairlines on the tinted --sidebar plane. Cards are the only
     raised surface, one elevation step, never nested.
   · Active state — --sidebar-accent wash plus the foreground token and medium
     weight, derived from the route.
   · Signature — the stage stepper. Every application, everywhere it appears,
     shows the same seven steps in the same order and the same geometry.
   · Numbers — tabular, right-aligned, unit in the header.

   Breakpoints, declared once for the shell: 1280 expanded · 1024 icon rail ·
   below 900 an off-canvas drawer. The rail is also reachable by hand at any
   width from the collapse button in the sidebar footer — a recruiter reading a
   long application wants the width back. Table column drops per table. */

/* Viewport-height shell: the sidebar fills the screen and never scrolls with the
   content, so the account menu in its footer is always reachable. The single row
   is bounded explicitly — with columns only, the implicit row would size to the
   nav's content and overflow:hidden would clip the footer instead of scrolling
   the nav. The scroll owner is .rd-inset. */
.rd-shell{--gutter-page:var(--space-8);--gutter-card:var(--space-5);display:grid;height:100dvh;overflow:hidden;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);background:var(--sidebar)}
.rd-shell[data-mode=rail]{grid-template-columns:3.75rem minmax(0,1fr)}
.rd-shell[data-mode=drawer]{grid-template-columns:minmax(0,1fr)}
.rd-shell[data-mode=rail] .rd-nav{width:3.75rem}
.rd-shell[data-mode=rail] .o-sidebar__button{justify-content:center;padding-inline:0}
.rd-shell[data-mode=drawer] .rd-nav{position:fixed;inset-block:0;inset-inline-start:0;z-index:60;width:17rem;box-shadow:var(--shadow-lg)}
.rd-scrim{position:fixed;inset:0;z-index:55;background:rgb(0 0 0/32%)}
.rd-inset{min-width:0}
.rd-nav .o-sidebar__button{min-height:32px}
.rd-nav__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.rd-nav .fd-floating-anchor{width:100%}
.rd-nav__foot{display:flex;align-items:center;gap:var(--space-2)}
.rd-nav__foot--rail{flex-direction:column}

.rd-brand{display:flex;min-width:0;align-items:center;gap:var(--space-2-5);padding:var(--space-1)}
.rd-brand__mark{width:28px;height:28px;flex:none}
.rd-brand__text{display:flex;min-width:0;flex-direction:column}
.rd-brand__name{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);font-size:var(--text-sm);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rd-brand__sub{font-size:var(--text-xs);color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* The badge's tooltip wrapper is inline-flex, so left in the flow it adds a row
   under every badged nav item. It is taken out of flow here; the badge inside
   keeps its own placement. */
.rd-nav__badge{position:absolute;inset-inline-end:var(--space-1);top:8px}
.rd-nav__badge .o-sidebar__badge{position:static;inset:auto}
.rd-rail-dot{pointer-events:none;position:absolute;inset-inline-end:7px;top:7px;width:6px;height:6px;border-radius:999px;background:var(--warning);box-shadow:0 0 0 2px var(--sidebar)}

.rd-account{display:flex;min-width:0;flex:1;align-items:center;gap:var(--space-2);border:0;border-radius:var(--radius-lg);background:transparent;padding:var(--space-1-5);text-align:left;font:inherit;color:inherit;cursor:pointer}
.rd-account:hover{background:var(--sidebar-accent)}
.rd-account--rail{flex:none;justify-content:center}
.rd-account__text{display:flex;min-width:0;flex-direction:column}
.rd-account__name{font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:1.2}
.rd-account__role{font-size:var(--text-xs);color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.rd-toolbar{position:sticky;top:0;z-index:40;display:flex;height:56px;align-items:center;gap:var(--space-2);padding-inline:var(--gutter-page);background:color-mix(in srgb,var(--background) 82%,transparent);backdrop-filter:blur(4px);border-bottom:1px solid var(--border)}
.rd-search{flex:1;max-width:24rem;min-width:0}
.rd-search input{cursor:pointer}
.rd-toolbar__utility{margin-inline-start:auto;display:flex;align-items:center;gap:var(--space-1)}
.rd-utility{position:relative;display:inline-flex}
.rd-badge-dot{pointer-events:none;position:absolute;inset-inline-end:-2px;top:-2px;display:flex;height:15px;min-width:15px;align-items:center;justify-content:center;border-radius:999px;background:var(--destructive);padding-inline:4px;font-size:10px;font-weight:var(--font-weight-medium);color:var(--color-white);box-shadow:0 0 0 2px var(--background)}

.rd-notify{padding:var(--space-2)}
.rd-notify__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-2)}
.rd-notify__list{display:flex;flex-direction:column;gap:2px}
.rd-notify__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--space-3);border:0;border-radius:var(--radius-lg);background:transparent;padding:var(--space-2);text-align:left;font:inherit;color:inherit;cursor:pointer}
.rd-notify__item:hover{background:var(--accent)}
.rd-notify__title{font-size:var(--text-sm);font-weight:var(--font-weight-medium)}
.rd-notify__body{grid-column:1;font-size:var(--text-xs);color:var(--muted-foreground)}
.rd-notify__time{grid-row:1;grid-column:2;font-size:var(--text-xs);color:var(--muted-foreground)}
.rd-notify__item[data-unread=true] .rd-notify__title{font-weight:var(--font-weight-semibold)}
.rd-notify__item[data-unread=true]::before{content:"";grid-row:1;grid-column:1;justify-self:start;margin-inline-start:calc(var(--space-2) * -1 + 2px);width:5px;height:5px;border-radius:999px;background:var(--info)}
.rd-notify__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--border);margin-top:var(--space-2);padding:var(--space-2-5) var(--space-2) var(--space-1)}

/* The inbox row: a face or a kind icon, the record it points at, and one
   control. Read rows recede rather than disappear. */
.rd-notif{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-1) var(--space-3);padding-block:var(--space-3)}
.rd-notif+.rd-notif{border-top:1px solid var(--border)}
.rd-notif--read{color:var(--muted-foreground)}
.rd-notif--read .rd-notif__title{color:var(--muted-foreground)}
.rd-notif__icon{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:999px;background:var(--muted);color:var(--muted-foreground)}
.rd-notif__body{display:flex;min-width:0;flex-direction:column;gap:2px}
.rd-notif__head{display:flex;align-items:center;gap:var(--space-2)}
.rd-notif__title{font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-decoration-color:var(--border)}
.rd-notif__dot{width:6px;height:6px;flex:none;border-radius:999px;background:var(--info)}
.rd-notif__text{font-size:var(--text-sm);color:var(--muted-foreground);text-wrap:pretty}
.rd-notif__meta{font-size:var(--text-xs);color:var(--muted-foreground)}
.rd-notif__side{display:flex;align-items:center;gap:var(--space-2)}

/* One settings row: what it is, what it affects, and the control. */
.rd-setting{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);padding-block:var(--space-3)}
.rd-setting+.rd-setting{border-top:1px solid var(--border)}
.rd-setting__text{display:flex;min-width:14rem;flex:1;flex-direction:column;gap:2px}
.rd-setting__label{font-size:var(--text-sm);font-weight:var(--font-weight-medium)}
.rd-setting__control{display:flex;flex:none;align-items:center;gap:var(--space-2-5)}
.rd-setting__control .o-select,.rd-setting__control [data-slot=select]{width:7rem}

/* ── Page ─────────────────────────────────────────────────────────────── */
.rd-content{min-width:0;padding:var(--gutter-page);background:var(--background)}
/* One content measure for the whole product, set by the desk: every page, list
   and record sits on the same 96rem column, so nothing shifts width as the
   reader moves between destinations. */
.rd-page{display:flex;max-width:96rem;flex-direction:column;gap:var(--space-6);margin-inline:auto}
.rd-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}
.rd-head__id{display:flex;min-width:0;align-items:center;gap:var(--space-4)}
.rd-head__id .o-avatar{flex:none}
.rd-head__text{min-width:0}
.rd-title{margin:var(--space-1-5) 0 0;font-family:var(--font-heading);font-weight:var(--font-weight-semibold);font-size:var(--text-2xl);line-height:1.15;letter-spacing:var(--tracking-tight)}
.rd-head__note{margin:var(--space-1-5) 0 0;max-width:52rem;font-size:var(--text-sm);color:var(--muted-foreground);text-wrap:pretty}
.rd-head__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.rd-scope{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);border-bottom:1px solid var(--border);padding-bottom:var(--space-4)}
.rd-scope__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--muted-foreground)}
.rd-scope__group{display:flex;align-items:center;gap:var(--space-2)}
.rd-scope__note{margin:0;flex-basis:100%;font-size:var(--text-sm);color:var(--muted-foreground);text-wrap:pretty}
.rd-scope__select{display:block;width:11rem;flex:none}

.rd-metrics{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
.rd-tile{display:flex;flex-direction:column;gap:var(--space-1-5);padding:var(--space-5)}
.rd-tile__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--muted-foreground)}
.rd-tile__value{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);font-size:var(--text-2xl);line-height:1.1;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}
.rd-tile__qual{font-size:var(--text-xs);color:var(--muted-foreground);text-wrap:pretty}
/* The one tile the desk is judged on. Primary plane, so the figure the reader
   came for is found before the others are read. */
.rd-tile--primary,.o-card.rd-tile--primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}
.rd-tile--primary .rd-tile__label,.rd-tile--primary .rd-tile__qual{color:color-mix(in srgb,var(--primary-foreground) 82%,transparent)}
.rd-tile--primary .rd-tile__value{color:var(--primary-foreground)}
.rd-tile--primary .rd-tile__value.rd-link{color:var(--primary-foreground);text-decoration-color:color-mix(in srgb,var(--primary-foreground) 45%,transparent)}
.rd-tile--primary .rd-tile__value.rd-link:hover{text-decoration-color:var(--primary-foreground)}
/* A drillable figure is still a figure: rd-link's font:inherit would otherwise
   shrink it to body size. */
.rd-tile__value.rd-link{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);font-size:var(--text-2xl);line-height:1.1;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;text-decoration-color:var(--input)}

.rd-columns{display:grid;align-items:start;gap:var(--space-6);grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.rd-columns--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.rd-col{display:flex;min-width:0;flex-direction:column;gap:var(--space-6)}
.rd-card{width:100%}
.rd-card-tabs{padding-inline:var(--gutter-card)}
.rd-card-table{min-width:0;overflow-x:auto}
.rd-card-table table{min-width:100%}
.rd-card-table th,.rd-card-table td{padding-inline:var(--space-3);padding-block:var(--space-2-5)}
.rd-card-table th:first-child,.rd-card-table td:first-child{padding-inline-start:var(--gutter-card)}
.rd-card-table th:last-child,.rd-card-table td:last-child{padding-inline-end:var(--gutter-card)}
.rd-card-foot{justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3)}
.rd-foot{font-size:var(--text-xs);color:var(--muted-foreground);text-wrap:pretty}

.rd-record{display:flex;flex-direction:column;gap:1px;min-width:0}
.rd-record__name{font-weight:var(--font-weight-medium)}
.rd-record__meta{font-size:var(--text-xs);color:var(--muted-foreground)}
.rd-num{text-align:right;font-variant-numeric:tabular-nums}
.rd-actions,.rd-actions-head{text-align:right}
.rd-actions__row{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-1-5)}
.rd-muted{color:var(--muted-foreground)}
.rd-sub{display:block;font-size:var(--text-xs);color:var(--muted-foreground)}
.rd-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1-5)}
.rd-clock{font-size:var(--text-xs)}
.rd-clock--warning{color:var(--warning-foreground)}
.rd-clock--danger{color:var(--destructive-foreground)}
.rd-row--recessed{background:var(--muted)}
.rd-row--recessed .rd-record__name{font-weight:var(--font-weight-normal);color:var(--muted-foreground)}
.rd-tab-count{margin-inline-start:var(--space-1-5);color:var(--muted-foreground);font-variant-numeric:tabular-nums}
.rd-link{border:0;background:transparent;padding:0;font:inherit;color:inherit;text-align:left;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;cursor:pointer}
.rd-link:hover{text-decoration-color:var(--foreground)}
.rd-chips{display:flex;flex-wrap:wrap;gap:var(--space-1-5)}
.rd-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.rd-filters__text{flex:1;min-width:11rem;max-width:22rem}
.rd-filters__select{display:block;width:11.5rem;flex:none}
.rd-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.rd-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--accent);padding:var(--space-2-5) var(--space-3)}
.rd-bulk__count{font-size:var(--text-sm);font-weight:var(--font-weight-medium)}
.rd-bulk__actions{margin-inline-start:auto;display:flex;flex-wrap:wrap;gap:var(--space-2)}
.rd-person{display:flex;min-width:0;align-items:center;gap:var(--space-2-5)}
.rd-stack{display:flex;flex-direction:column;gap:var(--space-5)}
.rd-stack--tight{gap:var(--space-2-5)}
.rd-spread{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}
.rd-part{display:flex;flex-direction:column;gap:var(--space-1-5)}
.rd-defs{display:flex;flex-direction:column;gap:var(--space-2);margin:0;font-size:var(--text-sm)}
.rd-defs>div{display:flex;justify-content:space-between;gap:var(--space-4)}
.rd-defs dt{color:var(--muted-foreground)}
.rd-defs dd{margin:0;font-variant-numeric:tabular-nums}
.rd-defs__total{border-top:1px solid var(--border);padding-top:var(--space-2);font-weight:var(--font-weight-medium)}
.rd-defs__total dt{color:var(--foreground)}
.rd-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:var(--space-4) var(--space-5)}
.rd-kv__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--muted-foreground)}
.rd-kv__value{font-size:var(--text-sm);font-variant-numeric:tabular-nums}
.rd-bar{position:relative;display:block;height:6px;width:100%;overflow:hidden;border-radius:999px;background:var(--muted)}
.rd-bar__fill{display:block;height:100%;border-radius:999px;background:var(--foreground)}
.rd-bar--soft .rd-bar__fill{background:var(--muted-foreground)}
.rd-bar--warn .rd-bar__fill{background:var(--warning)}
.rd-list{display:flex;flex-direction:column}
.rd-list__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1-5) var(--space-4);border-bottom:1px solid var(--border);padding-block:var(--space-4)}
.rd-list__row:first-child{padding-top:0}
.rd-list__row:last-child{border-bottom:0;padding-bottom:0}
.rd-list__main{display:flex;min-width:0;flex-direction:column;gap:var(--space-1)}
.rd-list__side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1-5);text-align:right}
.rd-fields{display:flex;flex-direction:column;gap:var(--space-5)}
/* The photo control on the create form, the same treatment as the profile photo
   in the other desks: one dashed drop zone, the real preview beside it. The file
   input is present and functional, just not the visible surface. Empty state is a
   neutral circle with a person icon in it — never a stock face. */
.rd-upload{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);align-items:start;padding:var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-xl);background:var(--sidebar)}
.rd-upload--over{border-color:var(--ring);background:var(--muted)}
.rd-upload__face{display:inline-flex;width:64px;height:64px;flex:none;align-items:center;justify-content:center;overflow:hidden;border-radius:999px;background:var(--muted);color:var(--muted-foreground);box-shadow:0 0 0 1px var(--border)}
.rd-upload__face img{width:100%;height:100%;object-fit:cover}
.rd-upload__body{display:grid;gap:var(--space-2);min-width:0}
.rd-upload__note{font-size:var(--text-sm);text-wrap:pretty}
.rd-upload__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
@media(max-width:767px){.rd-upload{grid-template-columns:minmax(0,1fr)}}
.rd-checks{display:flex;flex-direction:column;gap:var(--space-2-5)}
.rd-check{display:flex;align-items:flex-start;gap:var(--space-2-5);font-size:var(--text-sm)}
.rd-check__text{display:flex;flex-direction:column;gap:1px}
.rd-formbar{position:sticky;bottom:0;z-index:30;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3);border-top:1px solid var(--border);background:color-mix(in srgb,var(--background) 88%,transparent);backdrop-filter:blur(4px);padding-block:var(--space-4)}
.rd-formbar__note{margin-inline-end:auto;font-size:var(--text-sm);color:var(--muted-foreground);text-wrap:pretty}
.rd-confirm__rows{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--border);padding:var(--space-3) var(--gutter-card) 0;font-size:var(--text-sm)}
.rd-confirm__row{display:flex;justify-content:space-between;gap:var(--space-4)}
.rd-anchor{display:grid;grid-template-columns:repeat(4,minmax(0,auto));grid-template-rows:auto auto auto;justify-content:start;gap:var(--space-1-5) var(--space-8)}
/* Each column is a subgrid of the same three rows, so labels, figures and
   qualifiers line up across the row even when one label wraps or one column has
   no qualifier at all. */
.rd-anchor>.rd-part{display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:0}
.rd-anchor__figure{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);font-size:var(--text-3xl);line-height:1;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;align-self:end}
.rd-anchor__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--muted-foreground)}

/* ── The stepper: this product's signature ────────────────────────────────
   One geometry everywhere an application appears. Steps are a route through the
   application, drawn from APPLICATION_STAGE in order; the state of each comes
   from the record, never from its position in the list. */
.rd-stepper{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;min-width:0}
.rd-step{display:flex;min-width:0;flex-direction:column;gap:var(--space-2);border:0;background:transparent;padding:0;font:inherit;color:inherit;text-align:left}
.rd-step__track{position:relative;display:flex;height:24px;align-items:center}
.rd-step__line{position:absolute;inset-inline:0;top:11px;height:2px;background:var(--border)}
.rd-step__line[data-done=true]{background:var(--foreground)}
.rd-step:first-child .rd-step__line{inset-inline-start:11px}
.rd-step:last-child .rd-step__line{inset-inline-end:calc(100% - 13px)}
.rd-step__pip{position:relative;display:inline-flex;width:22px;height:22px;flex:none;align-items:center;justify-content:center;border:2px solid var(--border);border-radius:999px;background:var(--background);font-size:11px;font-weight:var(--font-weight-medium);color:var(--muted-foreground);font-variant-numeric:tabular-nums}
.rd-step[data-state=done] .rd-step__pip{border-color:var(--foreground);background:var(--foreground);color:var(--background)}
.rd-step[data-state=current] .rd-step__pip{border-color:var(--foreground);color:var(--foreground);box-shadow:0 0 0 3px var(--sidebar-accent)}
.rd-step[data-state=stopped] .rd-step__pip{border-color:var(--destructive);color:var(--destructive-foreground)}
.rd-step__text{display:flex;min-width:0;flex-direction:column;gap:2px;padding-inline-end:var(--space-3)}
.rd-step__label{font-size:var(--text-sm);color:var(--muted-foreground)}
.rd-step[data-state=current] .rd-step__label,.rd-step[data-state=done] .rd-step__label{color:var(--foreground)}
.rd-step[data-state=current] .rd-step__label{font-weight:var(--font-weight-medium)}
.rd-step__meta{font-size:var(--text-xs);color:var(--muted-foreground);text-wrap:pretty}
.rd-stepper--mini{gap:var(--space-1)}
.rd-stepper--mini .rd-step__text{display:none}
.rd-stepper--mini .rd-step__track{height:14px}
.rd-stepper--mini .rd-step__pip{width:12px;height:12px;border-width:2px;font-size:0}
.rd-stepper--mini .rd-step__line{top:6px}
.rd-stepper--mini .rd-step:first-child .rd-step__line{inset-inline-start:6px}
.rd-stepper--mini .rd-step:last-child .rd-step__line{inset-inline-end:calc(100% - 7px)}
.rd-stage-note{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--muted-foreground)}

/* ── The candidate header: a face, at the size a person deserves. No cover
   image: the only photograph on this record is the person's own. ─────────── */
.rd-cover{position:relative;display:flex;flex-direction:column;gap:var(--space-4);overflow:hidden;border-radius:var(--radius-xl)}
.rd-cover__body{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--gutter-card)}
.rd-cover__id{display:flex;min-width:0;align-items:center;gap:var(--space-4)}
.rd-cover__id .o-avatar{flex:none}
.rd-cover__text{display:flex;min-width:0;flex-direction:column;gap:var(--space-1-5)}
.rd-cover__name{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);font-size:var(--text-2xl);line-height:1.1;letter-spacing:var(--tracking-tight)}
.rd-cover__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1-5) var(--space-3);font-size:var(--text-sm);color:var(--muted-foreground)}
.rd-cover__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}

/* ── Social: watchers, reactions, mentions, the thread ─────────────────── */
.rd-faces{display:flex;align-items:center}
.rd-faces>*{margin-inline-start:-8px;border-radius:999px;box-shadow:0 0 0 2px var(--card)}
.rd-faces>*:first-child{margin-inline-start:0}
.rd-watch{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2-5)}
.rd-react{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1-5)}
.rd-react__btn{display:inline-flex;align-items:center;gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--card);padding:2px var(--space-2);font:inherit;font-size:var(--text-xs);color:var(--muted-foreground);cursor:pointer;font-variant-numeric:tabular-nums}
.rd-react__btn:hover{border-color:var(--ring);color:var(--foreground)}
.rd-react__btn[data-mine=true]{border-color:var(--foreground);background:var(--sidebar-accent);color:var(--foreground)}
.rd-thread{display:flex;flex-direction:column;gap:var(--space-5)}
.rd-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3)}
.rd-note--reply{margin-inline-start:var(--space-8);border-inline-start:1px solid var(--border);padding-inline-start:var(--space-4)}
.rd-note__body{display:flex;min-width:0;flex-direction:column;gap:var(--space-2)}
.rd-note__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1-5) var(--space-2-5)}
.rd-note__who{font-size:var(--text-sm);font-weight:var(--font-weight-medium)}
.rd-note__role,.rd-note__at{font-size:var(--text-xs);color:var(--muted-foreground)}
.rd-note__text{margin:0;font-size:var(--text-sm);line-height:1.55;text-wrap:pretty}
.rd-note__text strong{font-weight:var(--font-weight-medium)}
.rd-mention{border-radius:var(--radius-sm);background:var(--sidebar-accent);padding:0 3px;font-weight:var(--font-weight-medium);color:var(--foreground)}
.rd-note__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}
.rd-note__seen{display:flex;align-items:center;gap:var(--space-1-5);font-size:var(--text-xs);color:var(--muted-foreground)}
.rd-composer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);border-top:1px solid var(--border);padding-top:var(--space-5)}
.rd-composer__body{display:flex;min-width:0;flex-direction:column;gap:var(--space-2-5)}
.rd-composer__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.rd-composer__hint{margin-inline-end:auto;font-size:var(--text-xs);color:var(--muted-foreground);text-wrap:pretty}

/* ── Scorecards side by side: one grid, header and rows on the same tracks ─ */
.rd-matrix{display:grid;gap:var(--space-2) var(--space-4);align-items:center;font-size:var(--text-sm)}
.rd-matrix__head{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--muted-foreground)}
.rd-matrix__cell{display:flex;align-items:center;gap:var(--space-2);font-variant-numeric:tabular-nums}
.rd-pips{display:inline-flex;gap:2px}
.rd-pip{display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--muted-foreground);opacity:.24}
.rd-pip[data-on=true]{opacity:1}

/* ── The pipeline board — a requisition's primary display ──────────────── */
.rd-board{display:grid;gap:var(--space-4);grid-auto-flow:column;grid-auto-columns:minmax(17rem,1fr);overflow-x:auto;padding-bottom:var(--space-2)}
.rd-lane{display:flex;min-width:0;flex-direction:column;gap:var(--space-2-5);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--sidebar);padding:var(--space-2-5)}
.rd-lane__head{display:flex;flex-direction:column;gap:2px;padding:var(--space-1) var(--space-2)}
.rd-lane__title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}
.rd-lane__count{color:var(--muted-foreground);font-variant-numeric:tabular-nums}
.rd-lane__figure{font-size:var(--text-xs);color:var(--muted-foreground);font-variant-numeric:tabular-nums}
.rd-lane__list{display:flex;flex-direction:column;gap:var(--space-2-5);min-height:3rem}
.rd-lane__empty{padding:var(--space-3) var(--space-2);font-size:var(--text-xs);color:var(--muted-foreground);text-wrap:pretty}
.rd-appcard{display:flex;flex-direction:column;gap:var(--space-2-5);border:1px solid var(--input);border-radius:var(--radius-lg);background:var(--card);padding:var(--space-3);text-align:left;font:inherit;color:inherit;cursor:pointer;box-shadow:var(--shadow-xs)}
.rd-appcard:hover{border-color:var(--ring)}
.rd-appcard__head{display:flex;min-width:0;align-items:center;gap:var(--space-2-5)}
.rd-appcard__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1-5) var(--space-2-5);font-size:var(--text-xs);color:var(--muted-foreground)}

/* ── Stage strip — one row of proportional segments per requisition ─────── */
.rd-strip{display:flex;height:8px;width:100%;overflow:hidden;border-radius:999px;background:var(--muted)}
.rd-strip__seg{height:100%}
.rd-strip__seg[data-stage=applied]{background:color-mix(in srgb,var(--foreground) 18%,transparent)}
.rd-strip__seg[data-stage=screening]{background:color-mix(in srgb,var(--foreground) 34%,transparent)}
.rd-strip__seg[data-stage=assessment]{background:color-mix(in srgb,var(--foreground) 50%,transparent)}
.rd-strip__seg[data-stage=panel]{background:color-mix(in srgb,var(--foreground) 66%,transparent)}
.rd-strip__seg[data-stage=checks]{background:var(--warning)}
.rd-strip__seg[data-stage=offer]{background:var(--info)}
.rd-striplegend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--muted-foreground);font-variant-numeric:tabular-nums}

/* ── The day ladder — interviews, the destination that is not a table ──── */
.rd-day{display:flex;flex-direction:column;gap:var(--space-3)}
.rd-day__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}
.rd-day__label{font-size:var(--text-sm);font-weight:var(--font-weight-medium)}
.rd-day__count{font-size:var(--text-xs);color:var(--muted-foreground);font-variant-numeric:tabular-nums}
.rd-slot{display:grid;grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:start;gap:var(--space-1-5) var(--space-4);padding-block:var(--space-3)}
.rd-slot+.rd-slot{border-top:1px solid var(--border)}
.rd-slot__time{font-size:var(--text-sm);font-variant-numeric:tabular-nums}
.rd-slot__body{display:flex;min-width:0;flex-direction:column;gap:var(--space-2)}
.rd-slot__side{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}

/* ── The advert: the only place in the product that renders long prose ─── */
.rd-advert__headline{margin:0;font-family:var(--font-heading);font-weight:var(--font-weight-semibold);font-size:var(--text-xl);line-height:1.2;letter-spacing:var(--tracking-tight)}
.rd-advert__body{margin:0;max-width:44rem;font-size:var(--text-sm);line-height:1.65;text-wrap:pretty}
.rd-advert__list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none;font-size:var(--text-sm)}
.rd-advert__list li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-2);text-wrap:pretty}
.rd-advert__list li .fd-icon{margin-top:3px}
.rd-advert__list--soft{color:var(--muted-foreground)}

/* ── The pool — faces first ────────────────────────────────────────────── */
.rd-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(19rem,1fr))}
.rd-poolcard{display:flex;height:100%;min-width:0;flex-direction:column;gap:var(--space-3);padding:var(--space-5)}
.rd-poolcard__head{display:flex;min-width:0;align-items:center;gap:var(--space-3)}
.rd-poolcard__foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}
.rd-quote{margin:0;border-inline-start:2px solid var(--border);padding-inline-start:var(--space-3);font-size:var(--text-sm);color:var(--muted-foreground);text-wrap:pretty}

/* ── Auth: its own shell, no navigation owner. Centred card. ───────────── */
.rd-auth{display:flex;min-height:100vh;align-items:center;justify-content:center;background:var(--sidebar);padding:var(--space-6)}
.rd-auth__col{display:flex;width:100%;max-width:23rem;flex-direction:column;gap:var(--space-5)}
.rd-auth__mark{display:flex;align-items:center;justify-content:center;gap:var(--space-2-5)}
.rd-auth__words{display:flex;flex-direction:column}
.rd-auth__foot{margin:0;text-align:center;font-size:var(--text-xs);color:var(--muted-foreground);text-wrap:pretty}
.rd-auth__switch{display:flex;justify-content:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--muted-foreground)}

/* ui-runtime's own classes — the shared render helpers emit these. */
.fd-icon{display:inline-flex;flex:none;align-items:center;justify-content:center}
.fd-floating-anchor{display:inline-flex}
.fd-command{max-width:36rem;overflow:hidden}

/* ── Column drops and reflow, declared once ───────────────────────────── */
@media(max-width:1400px){.rd-columns{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
@media(max-width:1280px){.rd-drop-lg{display:none}}
@media(max-width:1100px){
  .rd-columns,.rd-columns--even{grid-template-columns:minmax(0,1fr)}
  .rd-anchor{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,auto);gap:var(--space-4) var(--space-6)}
  .rd-stepper:not(.rd-stepper--mini){grid-auto-flow:row;grid-auto-columns:auto;gap:var(--space-1)}
  .rd-stepper:not(.rd-stepper--mini) .rd-step{grid-template-columns:auto minmax(0,1fr);display:grid;align-items:start;gap:var(--space-3)}
  .rd-stepper:not(.rd-stepper--mini) .rd-step__track{height:auto;padding-top:1px}
  .rd-stepper:not(.rd-stepper--mini) .rd-step__line{display:none}
  .rd-stepper:not(.rd-stepper--mini) .rd-step__text{padding-block:2px}
}
@media(max-width:1000px){.rd-drop-md{display:none}}
@media(max-width:767px){
  .rd-shell{--gutter-page:var(--space-4);--gutter-card:var(--space-4)}
  .rd-notif{grid-template-columns:auto minmax(0,1fr)}
  .rd-notif__side{grid-column:2}
  .rd-title{font-size:var(--text-xl)}
  .rd-anchor{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(12,auto)}
  .rd-toolbar .o-btn,.rd-actions .o-btn,.rd-formbar .o-btn,.rd-slot .o-btn,.rd-note__foot .o-btn{min-height:44px;min-width:44px}
  .rd-react__btn{min-height:44px;padding-inline:var(--space-2-5)}
  .rd-board{grid-auto-columns:minmax(15rem,1fr)}
  .rd-slot{grid-template-columns:minmax(0,1fr)}
  .rd-note--reply{margin-inline-start:var(--space-4);padding-inline-start:var(--space-3)}
}
