﻿@font-face{
  font-family:"MetaPro";
  src:url("/assets/fonts/MetaPro-Book.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

@font-face{
  font-family:"MetaPro";
  src:url("/assets/fonts/MetaPro-BookItalic.woff2") format("woff2");
  font-style:italic;
  font-weight:400;
  font-display:swap;
}

@font-face{
  font-family:"MetaPro";
  src:url("/assets/fonts/MetaPro-Bold.woff2") format("woff2");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}

@font-face{
  font-family:"MetaPro";
  src:url("/assets/fonts/MetaPro-BoldItalic.woff2") format("woff2");
  font-style:italic;
  font-weight:700;
  font-display:swap;
}

:root{
  /* Cesky-only font policy: drzet MetaPro jako primarni webfont s diakritikou. */
  --brand-navy:#004b87;
  --brand-navy-deep:#063763;
  --brand-green:#69b52d;
  --brand-green-deep:#4f9620;
  --accent-cyan:#8ec5ff;
  --accent-glow:rgba(142,197,255,.18);
  --canvas:#ffffff;
  --canvas-soft:#f7fafc;
  --surface:#ffffff;
  --surface-muted:#f7fafc;
  --surface-strong:rgba(255,255,255,.82);
  --surface-glass:rgba(255,255,255,.74);
  --text:#163a5a;
  --muted:#5f7587;
  --border:rgba(0,75,135,.16);
  --border-soft:rgba(0,75,135,.10);
  --shadow:0 18px 40px rgba(0,58,106,.08);
  --shadow-soft:0 10px 24px rgba(0,58,106,.05);
  --panel-highlight:linear-gradient(135deg, rgba(142,197,255,.18), rgba(105,181,45,.12));
  --page-bg-image:url("/assets/backgrounds/page/light-optimized.jpg");
  --page-bg-wash:linear-gradient(180deg, rgba(251,253,255,.84) 0%, rgba(243,248,251,.92) 100%);
  --radius-xl:22px;
  --radius-lg:18px;
  --radius-md:14px;
  --tile-size:255px;
  --font-body:"MetaPro", "Segoe UI", Tahoma, Arial, Helvetica, sans-serif;
  --font-strong:"MetaPro", "Segoe UI", Tahoma, Arial, Helvetica, sans-serif;
}

:root[data-theme="dark"]{
  --brand-navy:#8ec5ff;
  --brand-navy-deep:#8ec5ff;
  --canvas:#222629;
  --canvas-soft:#2a2f33;
  --surface:#31363b;
  --surface-muted:#2a2f33;
  --surface-strong:rgba(49,54,59,.86);
  --surface-glass:rgba(38,43,47,.74);
  --text:#edf3f8;
  --muted:#b7c7d4;
  --border:rgba(169, 211, 244, .18);
  --border-soft:rgba(169, 211, 244, .10);
  --shadow:0 20px 44px rgba(0,0,0,.30);
  --shadow-soft:0 12px 26px rgba(0,0,0,.22);
  --panel-highlight:linear-gradient(135deg, rgba(142,197,255,.12), rgba(105,181,45,.10));
  --page-bg-image:url("/assets/backgrounds/page/dark-optimized.jpg");
  --page-bg-wash:linear-gradient(180deg, rgba(29,32,35,.72) 0%, rgba(29,32,35,.90) 100%);
}

*{box-sizing:border-box}

html{
  font-size:15px;
  scroll-behavior:smooth;
}

body{
  position:relative;
  margin:0;
  min-height:100vh;
  font-family:var(--font-body);
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(142,197,255,.16), transparent 30%),
    radial-gradient(circle at top right, rgba(105,181,45,.14), transparent 26%),
    linear-gradient(180deg, rgba(105,181,45,.06) 0, rgba(105,181,45,.06) 6px, transparent 6px),
    var(--page-bg-wash),
    var(--page-bg-image) center top / cover no-repeat,
    linear-gradient(180deg, #fbfdff 0%, #f3f8fb 100%);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(rgba(0,75,135,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,75,135,.045) 1px, transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.42), transparent 78%);
}

:root[data-theme="dark"] body{
  background:
    radial-gradient(circle at top left, rgba(142,197,255,.10), transparent 32%),
    radial-gradient(circle at top right, rgba(105,181,45,.10), transparent 24%),
    linear-gradient(180deg, rgba(105,181,45,.09) 0, rgba(105,181,45,.09) 6px, transparent 6px),
    var(--page-bg-wash),
    var(--page-bg-image) center top / cover no-repeat,
    linear-gradient(180deg, #25292d 0%, #1d2023 100%);
}

:root[data-theme="dark"] body::before{
  background:
    linear-gradient(rgba(169,211,244,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(169,211,244,.06) 1px, transparent 1px);
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  display:block;
  max-width:100%;
}

.public-page,
.admin-page{
  padding-bottom:64px;
}

.shell{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
}

.theme-toggle{
  position:fixed;
  top:18px;
  right:18px;
  z-index:1200;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:var(--brand-navy-deep);
  box-shadow:var(--shadow);
  font:700 0.95rem/1 var(--font-strong);
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}

.theme-toggle:hover{
  transform:translateY(-1px);
}

:root[data-theme="dark"] .theme-toggle{
  background:rgba(49,54,59,.92);
  color:var(--text);
}

:root[data-theme="dark"] .brand-mark{
  background:transparent !important;
}

:root[data-theme="dark"] .brand-mark--lockup{
  background:transparent !important;
  border-radius:0;
  padding:0;
}

:root[data-theme="dark"] .project-tile,
:root[data-theme="dark"] .project-tile--placeholder,
:root[data-theme="dark"] .project-tile--active{
  background:var(--surface) !important;
  border-color:var(--border) !important;
  box-shadow:var(--shadow);
}

:root[data-theme="dark"] .project-tile::before{
  opacity:.36;
  filter:grayscale(.04) brightness(.7) saturate(1.02);
}

:root[data-theme="dark"] .project-tile--media-ready::before{
  opacity:.52;
}

:root[data-theme="dark"] .project-tile::after{
  background:
    linear-gradient(180deg, rgba(24,28,32,.68) 0%, rgba(24,28,32,.48) 46%, rgba(24,28,32,.28) 100%);
}

:root[data-theme="dark"] .project-tile__badge,
:root[data-theme="dark"] .hub-card__status,
:root[data-theme="dark"] .eyebrow{
  color:#8ec5ff !important;
  border-color:rgba(105,181,45,.65);
}

:root[data-theme="dark"] .project-tile__title,
:root[data-theme="dark"] .project-tile__note,
:root[data-theme="dark"] .hub-card__placeholder,
:root[data-theme="dark"] .tile-card__title,
:root[data-theme="dark"] .tile-card__body{
  color:var(--text) !important;
}

:root[data-theme="dark"] .btn-secondary,
:root[data-theme="dark"] .btn--secondary,
:root[data-theme="dark"] .btn--ghost,
:root[data-theme="dark"] .tile-card__action.btn-secondary,
:root[data-theme="dark"] .tile-card__action.btn--secondary{
  background:rgba(255,255,255,.92) !important;
  color:var(--brand-navy-deep) !important;
  border-color:rgba(11,63,117,.22) !important;
  box-shadow:0 10px 18px rgba(0,0,0,.18), 0 1px 0 rgba(255,255,255,.34) inset !important;
}

:root[data-theme="dark"] .project-tile__action,
:root[data-theme="dark"] .tile-card__action{
  background:rgba(255,255,255,.92) !important;
  border-color:rgba(11,63,117,.22) !important;
  box-shadow:0 10px 18px rgba(0,0,0,.18), 0 1px 0 rgba(255,255,255,.34) inset !important;
  color:#0b3f75 !important;
}

:root[data-theme="dark"] .project-tile__action.btn-secondary,
:root[data-theme="dark"] .project-tile__action.btn--secondary,
:root[data-theme="dark"] .tile-card__action.btn-secondary,
:root[data-theme="dark"] .tile-card__action.btn--secondary,
:root[data-theme="dark"] .project-tile .btn-secondary,
:root[data-theme="dark"] .project-tile .btn--secondary,
:root[data-theme="dark"] .tile-card .btn-secondary,
:root[data-theme="dark"] .tile-card .btn--secondary{
  color:#0b3f75 !important;
}

:root[data-theme="dark"] .btn-secondary:hover,
:root[data-theme="dark"] .btn-secondary:focus-visible,
:root[data-theme="dark"] .btn--secondary:hover,
:root[data-theme="dark"] .btn--secondary:focus-visible,
:root[data-theme="dark"] .btn--ghost:hover,
:root[data-theme="dark"] .btn--ghost:focus-visible{
  background:rgba(255,255,255,.97) !important;
  border-color:rgba(10,53,99,.28) !important;
  color:#0a3563 !important;
}

:root[data-theme="dark"] .project-tile__action:hover,
:root[data-theme="dark"] .project-tile__action:focus-visible,
:root[data-theme="dark"] .tile-card__action:hover,
:root[data-theme="dark"] .tile-card__action:focus-visible{
  background:rgba(255,255,255,.97) !important;
  border-color:rgba(10,53,99,.28) !important;
  color:#0a3563 !important;
}

:root[data-theme="dark"] .project-tile__action.btn-secondary:hover,
:root[data-theme="dark"] .project-tile__action.btn-secondary:focus-visible,
:root[data-theme="dark"] .project-tile__action.btn--secondary:hover,
:root[data-theme="dark"] .project-tile__action.btn--secondary:focus-visible,
:root[data-theme="dark"] .tile-card__action.btn-secondary:hover,
:root[data-theme="dark"] .tile-card__action.btn-secondary:focus-visible,
:root[data-theme="dark"] .tile-card__action.btn--secondary:hover,
:root[data-theme="dark"] .tile-card__action.btn--secondary:focus-visible,
:root[data-theme="dark"] .project-tile .btn-secondary:hover,
:root[data-theme="dark"] .project-tile .btn-secondary:focus-visible,
:root[data-theme="dark"] .project-tile .btn--secondary:hover,
:root[data-theme="dark"] .project-tile .btn--secondary:focus-visible,
:root[data-theme="dark"] .tile-card .btn-secondary:hover,
:root[data-theme="dark"] .tile-card .btn-secondary:focus-visible,
:root[data-theme="dark"] .tile-card .btn--secondary:hover,
:root[data-theme="dark"] .tile-card .btn--secondary:focus-visible{
  color:#0a3563 !important;
}

:root[data-theme="dark"] .btn-primary,
:root[data-theme="dark"] .btn--primary{
  color:#f7fbff !important;
  background:linear-gradient(135deg, #0f5da3, #0a4475) !important;
  border-color:rgba(142,197,255,.28) !important;
}

:root[data-theme="dark"] .btn-disabled,
:root[data-theme="dark"] [aria-disabled="true"]{
  background:#353b40 !important;
  color:#aebdca !important;
  border-color:rgba(169, 211, 244, .14) !important;
}

:root[data-theme="dark"] .project-option,
:root[data-theme="dark"] .meeting-type-card,
:root[data-theme="dark"] .slot-group,
:root[data-theme="dark"] .slot,
:root[data-theme="dark"] .shift-day,
:root[data-theme="dark"] .shift-day__item,
:root[data-theme="dark"] .planner-day-chip,
:root[data-theme="dark"] .planner-slot,
:root[data-theme="dark"] .planner-card,
:root[data-theme="dark"] .planner-grid__corner,
:root[data-theme="dark"] .planner-lane__header,
:root[data-theme="dark"] .admin-attention-item,
:root[data-theme="dark"] .admin-workflow-item,
:root[data-theme="dark"] .admin-user,
:root[data-theme="dark"] .applicants-quick-panel,
:root[data-theme="dark"] .applicants-progress__item,
:root[data-theme="dark"] .applicants-support-card,
:root[data-theme="dark"] .booking-flow-strip__item,
:root[data-theme="dark"] .booking-support-card{
  background:var(--surface) !important;
  color:var(--text) !important;
  border-color:var(--border) !important;
}

:root[data-theme="dark"] .project-option__title,
:root[data-theme="dark"] .project-option__status,
:root[data-theme="dark"] .meeting-type-card strong,
:root[data-theme="dark"] .meeting-type-card__eyebrow,
:root[data-theme="dark"] .slot__main strong,
:root[data-theme="dark"] .shift-day__number,
:root[data-theme="dark"] .admin-attention-item strong,
:root[data-theme="dark"] .admin-workflow-item__head strong{
  color:var(--text) !important;
}

:root[data-theme="dark"] .project-option__note,
:root[data-theme="dark"] .slot__meta,
:root[data-theme="dark"] .admin-slot__meta,
:root[data-theme="dark"] .shift-day__count,
:root[data-theme="dark"] .field-hint,
:root[data-theme="dark"] .field-hint-inline{
  color:var(--muted) !important;
}

:root[data-theme="dark"] .project-option__status--available{
  color:#9fdc67 !important;
}

:root[data-theme="dark"] label,
:root[data-theme="dark"] .badge,
:root[data-theme="dark"] .project-option__status,
:root[data-theme="dark"] .project-option__status--available{
  color:#9fdc67 !important;
}

:root[data-theme="dark"] .project-option__status--unavailable{
  color:#ff9b93 !important;
}

:root[data-theme="dark"] .meeting-type-card--active,
:root[data-theme="dark"] .shift-day--active,
:root[data-theme="dark"] .admin-subnav__item--active,
:root[data-theme="dark"] .admin-local-nav__item--active{
  background:#363d43 !important;
  box-shadow:inset 0 2px 0 rgba(105,181,45,.28);
}

:root[data-theme="dark"] .shift-day--selected{
  background:linear-gradient(180deg, rgba(105,181,45,.12), rgba(54,61,67,.96)) !important;
  border-color:rgba(105,181,45,.54) !important;
  box-shadow:0 0 0 3px rgba(105,181,45,.12), inset 0 2px 0 rgba(105,181,45,.28);
}

:root[data-theme="dark"] .shift-day--blank{
  background:transparent !important;
  border-color:rgba(169, 211, 244, .12) !important;
}

:root[data-theme="dark"] .shift-day__item{
  background:#283038 !important;
}

:root[data-theme="dark"] .planner-slot{
  background:#2b3137 !important;
  border-color:rgba(169, 211, 244, .14) !important;
}

:root[data-theme="dark"] .planner-slot--over{
  background:#33413a !important;
  border-color:rgba(105,181,45,.56) !important;
}

:root[data-theme="dark"] .planner-day-chip--active,
:root[data-theme="dark"] .planner-card--selected{
  background:#36413a !important;
  border-color:rgba(105,181,45,.54) !important;
}

:root[data-theme="dark"] .planner-card__badge{
  background:rgba(105,181,45,.18) !important;
  color:#b8ec8d !important;
}

:root[data-theme="dark"] .state-block--loading{
  background:#2f353b !important;
  color:var(--muted) !important;
}

:root[data-theme="dark"] .state-block--info{
  background:#283846 !important;
  color:#d8e9f7 !important;
}

:root[data-theme="dark"] .state-block--success{
  background:#243328 !important;
  color:#bfe3ae !important;
}

:root[data-theme="dark"] .state-block--error{
  background:#3a2828 !important;
  color:#ffb4ac !important;
}

:root[data-theme="dark"] .site-header,
:root[data-theme="dark"] .admin-header,
:root[data-theme="dark"] .hub-section,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .panel-form,
:root[data-theme="dark"] .tile-card,
:root[data-theme="dark"] .admin-metric-card,
:root[data-theme="dark"] .admin-secondary-card,
:root[data-theme="dark"] .admin-overview-card,
:root[data-theme="dark"] .admin-slot,
:root[data-theme="dark"] .admin-booking,
:root[data-theme="dark"] .admin-type-item,
:root[data-theme="dark"] .admin-config-item,
:root[data-theme="dark"] .admin-subnav__item,
:root[data-theme="dark"] .admin-local-nav__item,
:root[data-theme="dark"] .booking-notice,
:root[data-theme="dark"] .employee-card,
:root[data-theme="dark"] .state-block,
:root[data-theme="dark"] .skeleton-card{
  background:var(--surface) !important;
  color:var(--text);
  border-color:var(--border);
  box-shadow:var(--shadow);
}

:root[data-theme="dark"] .site-header__inner,
:root[data-theme="dark"] .admin-header__inner{
  background:
    linear-gradient(155deg, rgba(49,54,59,.88) 0%, rgba(38,43,47,.92) 100%),
    var(--panel-highlight);
  border-color:var(--border);
  box-shadow:var(--shadow);
}

:root[data-theme="dark"] .site-header,
:root[data-theme="dark"] .admin-header{
  background:transparent !important;
}

:root[data-theme="dark"] .hub-section__head,
:root[data-theme="dark"] .hub-section__body,
:root[data-theme="dark"] .panel__head,
:root[data-theme="dark"] .admin-booking__grid span,
:root[data-theme="dark"] .admin-booking__note span,
:root[data-theme="dark"] .admin-attention-item span,
:root[data-theme="dark"] .admin-workflow-item__head span,
:root[data-theme="dark"] .admin-workflow-item p,
:root[data-theme="dark"] .lede,
:root[data-theme="dark"] .admin-lede,
:root[data-theme="dark"] .section-copy,
:root[data-theme="dark"] .panel-note,
:root[data-theme="dark"] .muted,
:root[data-theme="dark"] .booking-notice p{
  color:var(--muted) !important;
}

:root[data-theme="dark"] .display-title,
:root[data-theme="dark"] .admin-title,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .tile-card__title,
:root[data-theme="dark"] .admin-slot__title,
:root[data-theme="dark"] .admin-config-item__main strong,
:root[data-theme="dark"] .admin-booking__head strong{
  color:var(--text) !important;
}

:root[data-theme="dark"] .admin-sidebar__eyebrow,
:root[data-theme="dark"] .admin-config-item__main span{
  color:var(--muted) !important;
}

:root[data-theme="dark"] .admin-sidebar__panel{
  background:linear-gradient(180deg, rgba(40,45,50,.96), rgba(32,37,42,.94)) !important;
}

:root[data-theme="dark"] .admin-subnav__item--active,
:root[data-theme="dark"] .admin-local-nav__item--active,
:root[data-theme="dark"] .admin-focus-control.is-active{
  background:linear-gradient(135deg, rgba(56,66,60,.98), rgba(44,53,48,.96)) !important;
  border-color:rgba(105,181,45,.42) !important;
  box-shadow:inset 3px 0 0 rgba(105,181,45,.56), var(--shadow-soft) !important;
}

:root[data-theme="dark"] .admin-subnav__item:hover,
:root[data-theme="dark"] .admin-local-nav__item:hover{
  background:rgba(56,62,68,.96) !important;
}

:root[data-theme="dark"] .admin-pill,
:root[data-theme="dark"] .admin-bookings__head,
:root[data-theme="dark"] .admin-booking{
  background:rgba(49,54,59,.72) !important;
  border-color:var(--border) !important;
}

:root[data-theme="dark"] .admin-booking__contact,
:root[data-theme="dark"] .admin-bookings__summary span{
  color:var(--muted) !important;
}

:root[data-theme="dark"] .applicants-page__head,
:root[data-theme="dark"] .faq-page__head,
:root[data-theme="dark"] .applicants-hero__panel,
:root[data-theme="dark"] .applicants-quick-panel,
:root[data-theme="dark"] .faq-list-panel--single,
:root[data-theme="dark"] .faq-item,
:root[data-theme="dark"] .admin-launcher-card,
:root[data-theme="dark"] .admin-faq-summary__item,
:root[data-theme="dark"] .admin-faq-item,
:root[data-theme="dark"] .admin-onboarding-item,
:root[data-theme="dark"] .admin-onboarding-detail,
:root[data-theme="dark"] .admin-audit-item{
  background:linear-gradient(155deg, rgba(49,54,59,.92) 0%, rgba(38,43,47,.96) 100%) !important;
  border-color:var(--border) !important;
  box-shadow:var(--shadow) !important;
}

:root[data-theme="dark"] .applicants-page__head .eyebrow,
:root[data-theme="dark"] .faq-page__head .eyebrow,
:root[data-theme="dark"] .applicants-quick-panel__title,
:root[data-theme="dark"] .applicants-quick-panel__list,
:root[data-theme="dark"] .faq-list-panel__count,
:root[data-theme="dark"] .admin-launcher-card__eyebrow,
:root[data-theme="dark"] .admin-launcher-card__title,
:root[data-theme="dark"] .admin-launcher-card__meta,
:root[data-theme="dark"] .admin-faq-summary__item strong,
:root[data-theme="dark"] .admin-faq-item__head strong,
:root[data-theme="dark"] .admin-onboarding-item__head strong,
:root[data-theme="dark"] .admin-onboarding-item__state,
:root[data-theme="dark"] .admin-audit-item__head strong{
  color:var(--text) !important;
}

:root[data-theme="dark"] .applicants-quick-panel__list li::before{
  color:#8ec5ff !important;
}

:root[data-theme="dark"] .admin-launcher-card__copy,
:root[data-theme="dark"] .admin-faq-summary__item span,
:root[data-theme="dark"] .admin-faq-item__head span,
:root[data-theme="dark"] .admin-faq-item p,
:root[data-theme="dark"] .admin-onboarding-item__head span,
:root[data-theme="dark"] .admin-audit-item__head span{
  color:var(--muted) !important;
}

:root[data-theme="dark"] .admin-launcher-card:hover,
:root[data-theme="dark"] .admin-onboarding-item:hover{
  border-color:rgba(105,181,45,.3) !important;
  box-shadow:0 20px 44px rgba(0,0,0,.28) !important;
}

:root[data-theme="dark"] .admin-onboarding-item--selected{
  border-color:rgba(105,181,45,.42) !important;
  box-shadow:0 24px 50px rgba(0,0,0,.3) !important;
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea{
  background:var(--canvas-soft) !important;
  color:var(--text) !important;
  border-color:var(--border) !important;
}

:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder{
  color:var(--muted);
}

:root[data-theme="dark"] .btn--secondary,
:root[data-theme="dark"] .btn--ghost,
:root[data-theme="dark"] .tile-card__action.btn--secondary{
  background:rgba(255,255,255,.92) !important;
  color:var(--brand-navy-deep) !important;
  border-color:rgba(11,63,117,.22) !important;
}

:root[data-theme="dark"] .skeleton{
  background:linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,.16), rgba(255,255,255,.08));
}

.site-header,
.admin-header{
  padding:18px 0 14px;
  border-bottom:none;
}

.site-header__inner{
  display:grid;
  grid-template-columns:minmax(320px, 520px) minmax(0, 1fr);
  gap:34px;
  align-items:center;
  padding:22px 24px;
  border:1px solid var(--border-soft);
  border-radius:calc(var(--radius-xl) + 2px);
  background:
    linear-gradient(145deg, var(--surface-strong), rgba(247,250,252,.92)),
    var(--panel-highlight);
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
}

.admin-header__inner{
  padding:16px 22px;
  border:1px solid var(--border-soft);
  border-radius:calc(var(--radius-xl) + 2px);
  background:
    linear-gradient(145deg, var(--surface-strong), rgba(247,250,252,.92)),
    var(--panel-highlight);
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
}

.site-header__inner--compact{
  grid-template-columns:minmax(0, 1fr);
}

.site-header__inner--landing{
  grid-template-columns:minmax(0, 1fr) auto;
}

.site-login-btn{
  min-width:164px;
}

.site-header__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.brand-mark{
  min-height:88px;
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.brand-mark--lockup{
  width:min(100%, 360px);
  height:120px;
  min-height:120px;
  padding:0;
  margin-inline:auto;
}

.brand-mark--link{
  transition:transform .18s ease, box-shadow .18s ease;
}

.brand-mark--link:hover{
  transform:translateY(-2px);
  box-shadow:none;
}

.brand-mark img{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:center;
}

.brand-mark--lockup img{
  width:100%;
  height:100%;
}

.site-header__copy,
.admin-header__copy{
  padding:6px 0;
  min-width:0;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  margin:0 0 14px;
  padding:0 0 8px;
  border-radius:0;
  background:transparent;
  color:var(--brand-navy);
  font-size:14px;
  font-weight:700;
  font-family:var(--font-strong);
  line-height:1;
  letter-spacing:.1em;
  text-transform:uppercase;
  border-bottom:2px solid rgba(105,181,45,.38);
}

.display-title,
.admin-title{
  margin:14px 0 10px;
  color:var(--brand-navy-deep);
  letter-spacing:-.03em;
  font-family:var(--font-strong);
  font-weight:700;
}

.display-title{
  font-size:clamp(2rem, 4.2vw, 3.35rem);
  line-height:1;
}

.admin-title{
  font-size:clamp(1.7rem, 2.8vw, 2.5rem);
  line-height:1.04;
}

.lede,
.admin-lede{
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-size:1rem;
  line-height:1.62;
}

.lede strong,
.admin-lede strong,
.section-copy strong{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.hub-main,
.booking-main,
.admin-main,
.admin-panel{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.admin-shell{
  display:grid;
  grid-template-columns:minmax(248px, 280px) minmax(0, 1fr);
  gap:24px;
  align-items:start;
}

.admin-sidebar{
  position:sticky;
  top:18px;
  z-index:3;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.admin-sidebar__panel{
  padding:16px;
}

.admin-sidebar__eyebrow{
  margin:0 0 12px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  font-family:var(--font-strong);
  text-transform:uppercase;
  letter-spacing:.12em;
}

.admin-shell > .admin-panel,
.admin-shell > .admin-content{
  min-width:0;
}

.admin-panel{
  position:relative;
  z-index:1;
}

.admin-subnav,
.admin-local-nav{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
}

.admin-header{
  position:relative;
  z-index:4;
}

.admin-subnav-more{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.admin-subnav-more__summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:46px;
  padding:12px 15px;
  border-radius:18px;
  border:1px solid rgba(0,75,135,.1);
  background:rgba(255,255,255,.78);
  color:var(--brand-navy);
  font-weight:700;
  font-family:var(--font-strong);
  cursor:pointer;
  list-style:none;
  transition:border-color .18s ease, transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.admin-subnav-more__summary::-webkit-details-marker{
  display:none;
}

.admin-subnav-more__summary::after{
  content:"+";
  font-size:18px;
  line-height:1;
  color:var(--brand-green-deep);
}

.admin-subnav-more[open] .admin-subnav-more__summary::after{
  content:"-";
}

.admin-subnav-more__summary:hover,
.admin-subnav-more__summary:focus-visible{
  transform:translateX(2px);
  border-color:rgba(105,181,45,.3);
  box-shadow:var(--shadow-soft);
  outline:none;
}

:root[data-theme="dark"] .admin-subnav-more__summary{
  border-color:var(--border);
  background:linear-gradient(180deg, rgba(243,246,249,.92), rgba(224,229,235,.88));
  color:var(--brand-navy-deep);
  box-shadow:0 14px 32px rgba(0,0,0,.16);
}

:root[data-theme="dark"] .admin-subnav-more__summary::after{
  color:var(--brand-green-deep);
}

:root[data-theme="dark"] .admin-subnav-more__summary:hover,
:root[data-theme="dark"] .admin-subnav-more__summary:focus-visible{
  border-color:rgba(105,181,45,.42);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(235,240,245,.92));
}

.admin-subnav--secondary{
  padding-top:2px;
}

.admin-subnav__item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:46px;
  padding:12px 15px;
  border-radius:18px;
  border:1px solid rgba(0,75,135,.1);
  background:rgba(255,255,255,.9);
  color:var(--brand-navy-deep);
  font-weight:700;
  font-family:var(--font-strong);
  text-align:left;
  appearance:none;
  cursor:pointer;
  transition:border-color .18s ease, transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.admin-subnav__item:hover,
.admin-local-nav__item:hover{
  transform:translateX(2px);
  border-color:rgba(105,181,45,.3);
  box-shadow:var(--shadow-soft);
}

.admin-subnav__item--active{
  border-color:rgba(105,181,45,.42);
  box-shadow:inset 3px 0 0 rgba(105,181,45,.5), var(--shadow-soft);
  background:linear-gradient(135deg, rgba(249,252,246,.98), rgba(241,247,237,.94));
}

.admin-local-nav__item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:42px;
  padding:10px 14px;
  border-radius:16px;
  border:1px solid rgba(0,75,135,.1);
  background:rgba(255,255,255,.72);
  color:var(--brand-navy);
  font-weight:700;
  font-family:var(--font-strong);
  font-size:.92rem;
  text-align:left;
  appearance:none;
  cursor:pointer;
}

.admin-local-nav__item--active{
  border-color:rgba(105,181,45,.45);
  background:#f7fcf3;
  box-shadow:inset 0 2px 0 rgba(105,181,45,.18);
}

.admin-context-panel{
  padding-top:20px;
  padding-bottom:20px;
}

.admin-section-home{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.admin-page-hero{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.admin-task-shell{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.admin-task-shell--split{
  display:grid;
  grid-template-columns:minmax(320px, .95fr) minmax(420px, 1.05fr);
  gap:22px;
}

.admin-helper-panel{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px 20px;
  border:1px solid rgba(9, 31, 59, .08);
  background:linear-gradient(180deg, rgba(250, 252, 255, .98) 0%, rgba(244, 247, 251, .98) 100%);
}

.admin-section-label{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:6px 2px -4px;
}

.admin-section-label--wide{
  margin-top:2px;
}

.admin-section-label .eyebrow{
  margin-bottom:0;
}

.admin-action-panel{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  flex-wrap:wrap;
  padding:14px 16px;
  margin-bottom:12px;
  border:1px solid rgba(9, 31, 59, .1);
  border-radius:var(--radius-md);
  background:rgba(245, 248, 252, .92);
}

.admin-action-panel__copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1 1 240px;
  min-width:220px;
}

.admin-action-panel__copy strong,
.admin-helper-inline strong{
  color:var(--brand-navy-deep);
  font-size:14px;
}

.admin-action-panel__copy span,
.admin-helper-inline span{
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

.admin-helper-inline{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:14px;
  padding:12px 14px;
  border:1px solid rgba(9, 31, 59, .08);
  border-radius:var(--radius-md);
  background:rgba(247, 249, 252, .92);
}

.admin-settings-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.25fr) minmax(280px, .75fr);
  gap:22px;
}

.admin-settings-card{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.admin-settings-card .panel__head{
  margin-bottom:2px;
}

.admin-config-groups{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.admin-config-group{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.admin-config-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.admin-config-item{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:14px 18px;
  align-items:center;
  padding:16px 18px;
  border:1px solid rgba(0,75,135,.1);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow-soft);
}

.admin-config-item--stacked{
  grid-template-columns:minmax(0, 1fr) auto;
}

.admin-config-item__main{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.admin-config-item__main strong{
  color:var(--brand-navy-deep);
  font-family:var(--font-strong);
}

.admin-config-item__main span{
  color:var(--muted);
  font-size:13px;
}

.admin-role-toggles{
  grid-column:1 / -1;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

.admin-role-toggles label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--text);
  font-size:14px;
}

.admin-config-fields{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.admin-config-notes{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.is-hidden-by-config{
  display:none !important;
}

.admin-form-toolbar{
  max-width:280px;
  margin-bottom:18px;
}

.admin-launcher{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.admin-launcher__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.admin-launcher__copy{
  display:flex;
  flex-direction:column;
  gap:6px;
  max-width:720px;
}

.admin-launcher__copy p{
  margin:0;
  color:var(--muted);
}

.admin-launcher-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:18px;
}

.admin-launcher-grid--compact{
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
}

.admin-advanced-tools{
  margin-top:18px;
}

.admin-advanced-tools .panel__head{
  padding-bottom:2px;
}

.admin-launcher-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
  min-height:100%;
  padding:18px 18px 16px;
  border:1px solid rgba(0,75,135,.12);
  border-radius:var(--radius-lg);
  background:
    linear-gradient(155deg, rgba(255,255,255,.96) 0%, rgba(245,249,252,.92) 100%);
  box-shadow:var(--shadow-soft);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.admin-launcher-card:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 40px rgba(7,27,54,.12);
  border-color:rgba(105,181,45,.24);
}

.admin-launcher-card::before{
  content:"";
  width:58px;
  border-top:2px solid rgba(105,181,45,.78);
}

.admin-launcher-card__eyebrow{
  margin:0;
  color:var(--brand-navy);
  font-size:12px;
  font-weight:700;
  font-family:var(--font-strong);
  text-transform:uppercase;
  letter-spacing:.1em;
}

.admin-launcher-card__title{
  margin:0;
  color:var(--brand-navy-deep);
  font-size:1.08rem;
  line-height:1.18;
  font-family:var(--font-strong);
  overflow-wrap:anywhere;
}

.admin-launcher-card__copy{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.admin-launcher-card__meta{
  margin-top:auto;
  color:var(--brand-green-deep);
  font-size:13px;
  font-weight:700;
  font-family:var(--font-strong);
}

.admin-launcher-card--action{
  width:100%;
  appearance:none;
  text-align:left;
  cursor:pointer;
  font:inherit;
}

.admin-launcher-card--action:focus-visible{
  outline:2px solid rgba(105,181,45,.5);
  outline-offset:3px;
}

.admin-quickstart-panel{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.admin-task-note{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}

.admin-focus-controls{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.admin-focus-control{
  min-height:40px;
}

.admin-focus-control.is-active{
  border-color:rgba(105,181,45,.42);
  background:#f7fcf3;
  box-shadow:inset 0 2px 0 rgba(105,181,45,.18);
}

.admin-launcher-card.is-active{
  border-color:rgba(105,181,45,.34);
  box-shadow:0 22px 42px rgba(7,27,54,.16);
  background:linear-gradient(155deg, rgba(255,255,255,.98) 0%, rgba(244,251,240,.94) 100%);
}

.admin-focus-section{
  scroll-margin-top:28px;
}

.admin-collapsible{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.admin-collapsible__summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  cursor:pointer;
  list-style:none;
}

.admin-collapsible__summary::-webkit-details-marker{
  display:none;
}

.admin-collapsible__summary::after{
  content:"Rozbalit";
  color:var(--brand-green-deep);
  font:700 12px/1 var(--font-strong);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.admin-collapsible[open] .admin-collapsible__summary::after{
  content:"Sbalit";
}

.admin-collapsible__content{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.admin-collapsible--inline{
  border:none;
  background:transparent;
  box-shadow:none;
}

.admin-collapsible--inline::before{
  display:none;
}

.admin-collapsible--inline > .admin-collapsible__summary{
  padding:0;
}

.admin-collapsible--inline > .admin-collapsible__content{
  padding:0 0 6px;
}

.admin-collapsible--inline .admin-launcher-grid{
  padding-top:4px;
}

.admin-focus-section.is-hidden{
  display:none !important;
}

.admin-tools{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:22px;
}

.admin-overview-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:22px;
}

.admin-toolbar{
  display:flex;
  align-items:end;
  gap:14px;
  margin-bottom:22px;
}

.admin-toolbar > .field,
.admin-toolbar > .field--compact,
.admin-toolbar > .field--grow{
  flex:0 1 280px;
  min-width:220px;
  margin-bottom:0;
}

.admin-toolbar > .field select,
.admin-toolbar > .field--compact select,
.admin-toolbar > .field--grow select{
  min-width:0;
}

.admin-today-summary{
  margin-bottom:14px;
  border-radius:16px;
  font-size:15px;
  line-height:1.55;
}

.admin-today-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:18px;
}

.admin-today-actions .btn{
  min-height:42px;
}

.admin-metrics-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}

.employee-summary-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  margin:18px 0 22px;
}

.employee-summary-card{
  min-height:0;
}

.admin-metric-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
}

.admin-metric-card__value{
  color:var(--brand-navy-deep);
  font-size:clamp(1.9rem, 3.2vw, 2.6rem);
  line-height:1;
  font-family:var(--font-strong);
}

.admin-metric-card__note{
  margin:0;
  color:var(--muted);
  line-height:1.45;
  font-size:14px;
}

.admin-metric-card__note.state-block{
  min-height:52px;
  padding:10px 12px;
  border-radius:14px;
}

.admin-metric-card__note.state-block--loading,
.admin-metric-card__note.state-block--info{
  background:rgba(255,255,255,.62);
}

.admin-metric-card__note.state-block--error{
  background:rgba(190,49,49,.08);
}

.admin-overview-secondary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:22px;
}

.admin-overview-card__actions--quick{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}

.admin-secondary-card{
  min-height:auto;
}

.admin-attention-list,
.admin-workflow-list{
  display:grid;
  gap:12px;
}

.admin-attention-item,
.admin-workflow-item{
  border:1px solid rgba(12,73,129,.12);
  border-radius:16px;
  padding:14px 16px;
  background:rgba(255,255,255,.92);
}

.admin-attention-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.admin-attention-item strong{
  color:var(--brand-navy-deep);
  font-size:1.25rem;
  line-height:1;
  font-family:var(--font-strong);
}

.admin-attention-item span{
  color:var(--muted);
  text-align:right;
}

.admin-workflow-item__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}

.admin-workflow-item__head strong{
  color:var(--brand-navy-deep);
}

.admin-workflow-item__head span,
.admin-workflow-item p{
  margin:0;
  color:var(--muted);
}

.admin-workflow-item--error{
  border-color:rgba(168,52,52,.24);
}

.admin-workflow-item__error{
  color:#a83434 !important;
}

.admin-faq-summary{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-bottom:12px;
}

.admin-faq-summary__item,
.admin-faq-item{
  min-width:0;
  border:1px solid rgba(12,73,129,.12);
  border-radius:16px;
  padding:14px 16px;
  background:rgba(255,255,255,.92);
}

.admin-faq-summary__item{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.admin-faq-summary__item strong,
.admin-faq-item__head strong{
  color:var(--brand-navy-deep);
  font-family:var(--font-strong);
}

.admin-faq-summary__item strong{
  font-size:1.4rem;
  line-height:1;
}

.admin-faq-summary__item span,
.admin-faq-item__head span,
.admin-faq-item p{
  color:var(--muted);
  margin:0;
}

.admin-faq-list{
  display:grid;
  gap:12px;
}

.admin-onboarding-list{
  display:grid;
  gap:12px;
}

.admin-onboarding-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  gap:18px;
  align-items:start;
}

.admin-onboarding-item{
  min-width:0;
  border:1px solid rgba(12,73,129,.12);
  border-radius:16px;
  padding:14px 16px;
  background:rgba(255,255,255,.92);
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.admin-onboarding-item:hover{
  border-color:rgba(12,73,129,.28);
  box-shadow:0 16px 34px rgba(15,23,42,.08);
}

.admin-onboarding-item--selected{
  border-color:rgba(12,73,129,.42);
  box-shadow:0 18px 40px rgba(15,23,42,.12);
  transform:translateY(-1px);
}

.admin-onboarding-item--warning{
  border-color:rgba(168,126,52,.28);
}

.admin-onboarding-item--success{
  border-color:rgba(38,126,84,.26);
}

.admin-onboarding-item__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.admin-onboarding-item__head strong,
.admin-onboarding-item__state{
  color:var(--brand-navy-deep);
  font-family:var(--font-strong);
}

.admin-onboarding-item__head span{
  display:block;
  margin-top:4px;
  color:var(--muted);
}

.admin-onboarding-item__state{
  white-space:nowrap;
}

.admin-onboarding-item__meta{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:10px 14px;
  margin:0;
}

.admin-onboarding-item__meta div{
  margin:0;
}

.admin-onboarding-item__meta dt{
  margin:0 0 4px;
  color:var(--muted);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.admin-onboarding-item__meta dd{
  margin:0;
  color:var(--text);
  overflow-wrap:anywhere;
  word-break:break-word;
}

.admin-onboarding-item__actions{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}

.admin-onboarding-detail{
  position:sticky;
  top:24px;
  min-width:0;
  border:1px solid rgba(12,73,129,.12);
  border-radius:18px;
  padding:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.admin-audit-list{
  display:grid;
  gap:12px;
}

.admin-audit-item{
  min-width:0;
  border:1px solid rgba(12,73,129,.12);
  border-radius:16px;
  padding:14px 16px;
  background:rgba(255,255,255,.92);
}

.admin-audit-item__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:10px;
}

.admin-audit-item__head > div{
  min-width:0;
}

.admin-audit-item__head strong{
  display:block;
  color:var(--brand-navy-deep);
  font-family:var(--font-strong);
  overflow-wrap:anywhere;
  word-break:break-word;
}

.admin-audit-item__head span{
  color:var(--muted);
  overflow-wrap:anywhere;
  word-break:break-word;
}

.filter-chip-row{
  margin-bottom:16px;
}

.admin-faq-item__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}

.admin-faq-item--warning{
  border-color:rgba(168,126,52,.28);
}

.admin-overview-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:100%;
}

.admin-overview-card__actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.admin-tool{
  min-height:100%;
}

.admin-tool--wide{
  grid-column:1 / -1;
}

.admin-form{
  display:flex;
  flex-direction:column;
}

.admin-feedback{
  min-height:18px;
}

.admin-slot-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}

.admin-slot-toolbar__copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.admin-slot-toolbar__copy strong{
  color:var(--brand-navy-deep);
  font-size:14px;
}

.admin-slot-toolbar__copy span{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

.admin-slot-toolbar__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.admin-confirm-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  margin-bottom:14px;
  border:1px solid rgba(199, 62, 74, .22);
  border-radius:var(--radius-md);
  background:rgba(199, 62, 74, .08);
}

.admin-confirm-bar__text{
  color:var(--text);
  font-size:14px;
  line-height:1.5;
}

.admin-confirm-bar__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.shift-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  gap:22px;
  align-items:start;
}

.shift-layout > .panel,
.shift-sidebar,
.shift-planner-panel{
  min-width:0;
}

.shift-layout--admin{
  margin-top:24px;
}

.shift-layout--planner{
  grid-template-columns:minmax(0, 1.4fr) minmax(320px, .8fr);
}

.shift-calendar-summary{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.shift-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  border-radius:var(--radius-xl);
}

.shift-toolbar__actions{
  display:flex;
  align-items:flex-end;
  gap:12px;
}

.shift-toolbar__actions--stack{
  flex-direction:column;
  align-items:stretch;
  min-width:240px;
}

.shift-month-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}

.shift-sidebar{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.shift-planner{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid rgba(0,75,135,.08);
}

.shift-planner__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.shift-planner__label{
  margin:0;
  color:var(--brand-navy-deep);
  font-size:1rem;
  font-family:var(--font-strong);
  font-weight:700;
}

.planner-day-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(108px, 1fr));
  gap:10px;
}

.planner-day-chip{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  min-height:64px;
  padding:12px 14px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:#fff;
  color:var(--brand-navy-deep);
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.planner-day-chip:hover{
  transform:translateY(-1px);
  border-color:rgba(105,181,45,.32);
  box-shadow:var(--shadow-soft);
}

.planner-day-chip small{
  color:var(--muted);
  font-size:12px;
}

.planner-day-chip--active{
  border-color:rgba(105,181,45,.58);
  background:linear-gradient(180deg, rgba(105,181,45,.08), rgba(255,255,255,.98));
  box-shadow:0 0 0 3px rgba(105,181,45,.12);
}

.planner-day-chip--over{
  border-color:rgba(0,75,135,.42);
  box-shadow:0 0 0 3px rgba(0,75,135,.12);
}

.planner-board{
  min-height:280px;
  min-width:0;
  overflow-x:auto;
  overflow-y:visible;
  padding-bottom:6px;
  overscroll-behavior-x:contain;
  scrollbar-gutter:stable both-edges;
}

.planner-grid{
  display:grid;
  grid-template-columns:var(--planner-time-column, 92px) repeat(var(--planner-lanes), minmax(var(--planner-lane-min, 170px), 1fr));
  gap:10px;
  align-items:start;
  width:max-content;
  min-width:max(100%, var(--planner-grid-min-width, 0px));
}

.planner-grid__corner,
.planner-lane__header,
.planner-time,
.planner-slot{
  min-width:0;
}

.planner-grid__corner,
.planner-lane__header{
  position:sticky;
  top:0;
  z-index:1;
  padding:12px 14px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.96) 100%);
  box-shadow:var(--shadow-soft);
}

.planner-grid__corner{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  font-family:var(--font-strong);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.planner-lane__header{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.planner-lane__header strong{
  color:var(--brand-navy-deep);
  font-size:.96rem;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.planner-lane__header span{
  color:var(--muted);
  font-size:12px;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.planner-time{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  min-height:78px;
  padding-top:10px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  font-family:var(--font-strong);
}

.planner-slot{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:78px;
  padding:8px;
  border:1px dashed rgba(0,75,135,.12);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.72);
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.planner-slot--over{
  border-color:rgba(105,181,45,.56);
  background:rgba(105,181,45,.08);
  box-shadow:0 0 0 3px rgba(105,181,45,.10);
}

.planner-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  width:100%;
  min-height:auto;
  padding:10px 12px;
  border:1px solid rgba(0,75,135,.14);
  border-radius:12px;
  background:linear-gradient(155deg, rgba(255,255,255,.98) 0%, rgba(244,248,252,.96) 100%);
  text-align:left;
  cursor:pointer;
  box-shadow:var(--shadow-soft);
}

.planner-card--selected{
  border-color:rgba(105,181,45,.58);
  box-shadow:0 0 0 3px rgba(105,181,45,.12);
}

.planner-card--dragging{
  opacity:.6;
}

.planner-card strong{
  color:var(--brand-navy-deep);
  font-size:.92rem;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.planner-card span,
.planner-card small{
  color:var(--muted);
  overflow-wrap:anywhere;
  word-break:break-word;
}

.planner-card__grab{
  color:var(--brand-green-deep);
  font-size:12px;
  letter-spacing:.08em;
}

.planner-card__badge{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(105,181,45,.12);
  color:var(--brand-green-deep);
  font-size:11px;
  font-style:normal;
  font-weight:700;
}

.shift-editor__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.request-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(320px, .95fr);
  gap:24px;
  align-items:start;
}

.request-layout--detail{
  grid-template-columns:minmax(0, 1.2fr) minmax(320px, .8fr);
}

.request-layout > .panel,
.booking-layout > .panel{
  min-width:0;
}

.shift-calendar{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.shift-calendar__weekdays,
.shift-calendar__grid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0, 1fr));
  gap:10px;
}

.shift-calendar__weekdays span{
  text-align:center;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  font-family:var(--font-strong);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.shift-day{
  min-height:118px;
  padding:10px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:#fff;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:8px;
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease;
}

.shift-day:hover{
  transform:translateY(-1px);
  border-color:rgba(105,181,45,.32);
  box-shadow:var(--shadow-soft);
}

.shift-day--blank{
  border-style:dashed;
  background:transparent;
  cursor:default;
}

.shift-day--active{
  box-shadow:inset 0 2px 0 rgba(105,181,45,.18);
  border-color:rgba(0,75,135,.14);
}

.shift-day--selected{
  border-color:rgba(105,181,45,.62);
  background:linear-gradient(180deg, rgba(105,181,45,.10), rgba(255,255,255,.98));
  box-shadow:0 0 0 3px rgba(105,181,45,.12);
}

.shift-day__number{
  color:var(--brand-navy-deep);
  font-family:var(--font-strong);
  font-size:1rem;
  font-weight:700;
}

.shift-day__count{
  color:var(--muted);
  font-size:12px;
}

.shift-day__items{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:auto;
}

.shift-day__item{
  padding:4px 6px;
  border-radius:6px;
  background:#f3f7fb;
  color:var(--brand-navy-deep);
  font-size:12px;
  font-weight:700;
}

.shift-detail-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.shift-detail-section__title{
  margin:4px 0 0;
  color:var(--brand-navy-deep);
  font:700 13px/1.4 var(--font-strong);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.admin-list-actions{
  display:flex;
  justify-content:center;
  margin-top:16px;
}

.accounts-list{
  display:grid;
  gap:16px;
}

.accounts-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:16px 18px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  background:#fff;
}

.accounts-card__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}

.accounts-card__head strong{
  display:block;
  color:var(--brand-navy-deep);
  font:700 20px/1.2 var(--font-strong);
}

.accounts-card__head span{
  display:block;
  margin-top:4px;
  color:var(--text-soft);
}

.accounts-pills{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.accounts-card__meta{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
  gap:12px;
}

.accounts-card__meta div{
  display:grid;
  gap:4px;
}

.accounts-card__meta strong{
  color:var(--brand-navy-deep);
  font:700 13px/1.4 var(--font-strong);
}

.accounts-card__meta span{
  color:var(--text-soft);
}

.accounts-card__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.shift-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px 16px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:#fff;
}

.shift-card--selected{
  border-color:rgba(105,181,45,.62);
  box-shadow:0 0 0 3px rgba(105,181,45,.12);
}

.shift-card strong{
  color:var(--brand-navy-deep);
  font-family:var(--font-strong);
}

.shift-card p{
  margin:0;
  color:var(--text);
  line-height:1.5;
}

.shift-card__meta,
.shift-card__status{
  color:var(--muted);
  font-size:13px;
}

.shift-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.shift-card__form{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.shift-card__textarea{
  min-height:96px;
  resize:vertical;
}

.request-detail{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.request-detail__header{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.request-detail__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:14px 16px;
}

.request-detail__grid strong{
  color:var(--brand-navy-deep);
  font-family:var(--font-strong);
}

.request-detail__section{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.filter-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:6px 0 2px;
}

.filter-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface);
  color:var(--text);
  font:700 13px/1 var(--font-strong);
  cursor:pointer;
  transition:border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.filter-chip:hover,
.filter-chip:focus-visible{
  border-color:rgba(105,181,45,.58);
  outline:none;
}

.filter-chip.is-active{
  border-color:rgba(105,181,45,.7);
  background:rgba(105,181,45,.12);
  color:var(--brand-navy-deep);
  box-shadow:0 0 0 3px rgba(105,181,45,.12);
}

.journey-timeline{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:12px;
}

.journey-timeline__item{
  display:grid;
  grid-template-columns:40px minmax(0, 1fr);
  gap:12px;
  align-items:start;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
}

.journey-timeline__item span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:999px;
  background:rgba(10,77,140,.08);
  color:var(--brand-navy-deep);
  font-family:var(--font-strong);
  font-weight:700;
}

.journey-timeline__item.is-complete{
  border-color:rgba(105,181,45,.45);
  background:linear-gradient(180deg, rgba(105,181,45,.08), rgba(105,181,45,.03));
}

.journey-timeline__item.is-complete span{
  background:rgba(105,181,45,.18);
  color:#2d6f12;
}

.shift-card__status--muted{
  color:var(--muted);
}

.shift-card__status--info{
  color:var(--brand-navy);
}

.shift-card__status--warning{
  color:#a06b00;
}

.shift-card__status--success{
  color:#2d6f12;
}

.shift-card__status--danger{
  color:#9f2a2a;
}

.shift-admin-tools{
  margin-top:24px;
}

.admin-checkboxes{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}

.admin-checkboxes label,
.admin-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--text);
  font-size:14px;
  font-weight:400;
  font-family:var(--font-body);
}

.admin-toggle input,
.admin-checkboxes input{
  width:auto;
  min-height:auto;
}

.booking-notice{
  min-height:0;
  margin:0;
}

.state-block{
  display:block;
  width:100%;
  margin:0;
  padding:12px 14px;
  border-radius:8px;
  border:1px solid rgba(0,75,135,.12);
  background:#f7fafc;
  color:var(--text);
  line-height:1.55;
  font-size:14px;
  font-weight:700;
}

.state-block[hidden]{
  display:none;
}

.state-block--loading{
  border-color:rgba(0,75,135,.12);
  background:#f7fafc;
  color:var(--muted);
}

.state-block--info{
  border-color:rgba(0,75,135,.16);
  background:#f5f9fd;
  color:var(--brand-navy-deep);
}

.state-block--success{
  border-color:rgba(105,181,45,.28);
  background:#f5fbef;
  color:#226a28;
}

.state-block--error{
  border-color:rgba(180,35,24,.2);
  background:#fff5f4;
  color:#b42318;
}

.skeleton-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.skeleton-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:#fff;
}

.skeleton{
  border-radius:999px;
  background:linear-gradient(90deg, rgba(0,75,135,.08) 0%, rgba(0,75,135,.14) 50%, rgba(0,75,135,.08) 100%);
  background-size:200% 100%;
  animation:skeleton-shift 1.4s ease-in-out infinite;
}

.skeleton--line{
  height:12px;
}

.skeleton--line-lg{
  width:48%;
}

.skeleton--line-sm{
  width:28%;
}

.skeleton--button{
  width:124px;
  height:40px;
  margin-top:6px;
}

@keyframes skeleton-shift{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}

.hub-board{
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
}

.hero-card,
.panel,
.hub-card{
  position:relative;
  background:
    linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.96) 100%);
  border:1px solid var(--border-soft);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
}

.hero-card::before,
.panel::before,
.hub-card::before,
.tile-card::before,
.applicants-progress__item::before,
.project-option::before,
.meeting-type-card::before,
.slot-group::before,
.slot::before,
.admin-slot::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(142,197,255,.10), transparent 34%, rgba(105,181,45,.06) 100%);
  opacity:.8;
}

.hero-card{
  border-radius:var(--radius-xl);
  padding:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.hero-card--wide{
  min-height:214px;
}

.hero-card__content{
  max-width:700px;
}

.hero-card__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.section-title{
  margin:0;
  font-size:clamp(1.45rem, 2.15vw, 2rem);
  line-height:1.1;
  color:var(--brand-navy-deep);
  font-family:var(--font-strong);
  font-weight:700;
}

.section-copy{
  margin:14px 0 0;
  color:var(--muted);
  line-height:1.65;
}

.hub-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.hub-columns{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:28px;
  align-items:stretch;
}

.hub-section{
  --section-frame-gap:14px;
  --section-frame-bottom-gap:18px;
  position:relative;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0;
  border-radius:var(--radius-lg);
  background:
    linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.94) 100%);
  border:1px solid var(--border-soft);
  box-shadow:var(--shadow);
  min-height:100%;
  overflow:hidden;
  backdrop-filter:blur(16px);
}

.hub-section::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, rgba(105,181,45,.9), rgba(142,197,255,.72), rgba(0,75,135,.72));
  opacity:.92;
}

.hub-section__body{
  display:flex;
  flex-direction:column;
  gap:var(--section-frame-gap);
  padding:0 var(--section-frame-gap) var(--section-frame-bottom-gap);
}

.hub-section__head{
  position:relative;
  padding:22px var(--section-frame-gap) 4px;
  min-height:78px;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
}

.hub-stack{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--section-frame-gap);
  grid-auto-rows:1fr;
  flex:1 1 auto;
  padding:0;
}

.hub-card{
  border-radius:var(--radius-md);
  padding:20px;
  display:flex;
  flex-direction:column;
}

.hub-card h2{
  margin:10px 0 6px;
  font-size:1.55rem;
  color:var(--brand-navy-deep);
  line-height:1.08;
  font-family:var(--font-strong);
  font-weight:700;
}

.hub-card p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
  font-size:15px;
}

.hub-card--active{
  border-color:rgba(0,75,135,.12);
  background:#fff;
  box-shadow:inset 0 2px 0 rgba(105,181,45,.18);
}

.hub-card__status{
  display:inline-flex;
  width:max-content;
  padding:0 0 8px;
  border-radius:0;
  font-size:18px;
  font-weight:700;
  font-family:var(--font-strong);
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--brand-navy);
  background:transparent;
  border-bottom:2px solid rgba(105,181,45,.7);
}

.hub-card__status--large{
  font-size:22px;
  letter-spacing:.12em;
}

.hub-card--square{
  min-height:204px;
  aspect-ratio:1 / 1;
}

.hub-card--square-compact{
  min-height:168px;
  aspect-ratio:1 / 1;
}

.hub-card__placeholder{
  margin-top:auto;
  padding-top:18px;
  color:var(--brand-green-deep);
  font-weight:700;
  font-family:var(--font-strong);
}

.hub-card .btn,
.hub-card__placeholder{
  margin-top:auto;
}

.project-option-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:18px;
}

.tile-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(var(--tile-size), var(--tile-size)));
  gap:14px;
  justify-content:center;
}

.tile-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:var(--tile-size);
  aspect-ratio:1 / 1;
  padding:20px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:
    linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.96) 100%);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
}

.tile-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,75,135,.24);
  box-shadow:var(--shadow);
}

.tile-card--active{
  box-shadow:inset 0 3px 0 rgba(105,181,45,.25);
}

.tile-card--placeholder{
  background:#fbfcfd;
}

.tile-card--auto{
  min-height:220px;
  aspect-ratio:auto;
}

.tile-card__badge{
  display:inline-flex;
  width:max-content;
  padding:0 0 8px;
  border-bottom:2px solid rgba(105,181,45,.55);
  color:var(--brand-navy);
  font-size:14px;
  font-weight:700;
  font-family:var(--font-strong);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.tile-card__body{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.tile-card__title{
  margin:0;
  color:var(--brand-navy-deep);
  font-size:1.55rem;
  line-height:1.06;
  font-family:var(--font-strong);
}

.tile-card__action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  padding:10px 14px;
  border-radius:6px;
  border:1px solid rgba(0,75,135,.16);
  color:var(--brand-navy-deep);
  font-weight:700;
  font-family:var(--font-strong);
  margin-top:auto;
}

.landing-project-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(var(--tile-size), var(--tile-size)));
  gap:14px;
  justify-content:center;
}

.landing-project-grid > *,
.project-section-grid > *,
.hub-stack > *,
.admin-overview-grid > *,
.admin-tools > *{
  content-visibility:auto;
  contain-intrinsic-size:255px;
}

.project-tile{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  min-height:204px;
  aspect-ratio:1 / 1;
  padding:20px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:
    linear-gradient(155deg, var(--surface-strong) 0%, rgba(246,250,253,.98) 100%);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  isolation:isolate;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
}

.project-tile::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--project-tile-image);
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:0;
  transform:scale(1.04);
  transition:opacity .24s ease, transform .45s ease;
  z-index:0;
  pointer-events:none;
}

.project-tile--media-ready::before{
  opacity:.42;
  transform:scale(1);
}

.project-tile::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.54) 34%, rgba(255,255,255,.28) 72%, rgba(255,255,255,.16) 100%);
}

.project-tile > *{
  position:relative;
  z-index:2;
}

.project-tile:hover{
  transform:translateY(-3px);
  border-color:rgba(0,75,135,.24);
  box-shadow:var(--shadow);
}

.project-tile--active{
  box-shadow:inset 0 3px 0 rgba(105,181,45,.25);
}

.project-tile--placeholder{
  background:#fbfcfd;
}

.project-tile__badge{
  display:inline-flex;
  width:max-content;
  padding:0 0 8px;
  border-bottom:2px solid rgba(105,181,45,.55);
  color:var(--brand-navy);
  font-size:14px;
  font-weight:700;
  font-family:var(--font-strong);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.project-tile__title{
  margin:0;
  color:var(--brand-navy-deep);
  font-size:1.55rem;
  line-height:1.06;
  font-family:var(--font-strong);
}

.project-tile__body{
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1 1 auto;
  justify-content:flex-start;
}

.project-tile__note{
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.55;
}

.project-tile__action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  padding:10px 14px;
  border-radius:6px;
  border:1px solid rgba(0,75,135,.16);
  color:var(--brand-navy-deep);
  font-weight:700;
  font-family:var(--font-strong);
  margin-top:auto;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(4px);
}

.eyebrow--step{
  font-size:17px;
  margin-bottom:16px;
  padding-bottom:8px;
}

.section-title--step{
  font-size:clamp(1.8rem, 2.25vw, 2.25rem);
  line-height:1.05;
}

.section-title--landing{
  font-size:clamp(1.8rem, 2.4vw, 2.35rem);
  line-height:1.02;
}

.hub-stack--vertical .hub-card{
  min-height:0;
}

.hub-columns--tiles .hub-card{
  justify-content:space-between;
}

.panel-note--center,
.section-copy--center{
  text-align:center;
}

.hub-columns--tiles{
  align-items:stretch;
}

.project-section-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--section-frame-gap);
  padding:0;
}

.project-section-grid--compact{
  gap:12px;
  grid-template-columns:repeat(auto-fit, minmax(var(--tile-size), var(--tile-size)));
  justify-content:center;
}

.hub-card--entry{
  align-items:center;
  text-align:center;
  justify-content:space-between;
  padding:18px;
}

.hub-card--entry h2,
.applicant-tile h2{
  font-size:clamp(1.42rem, 1.9vw, 1.8rem);
  line-height:1.08;
}

.hub-card--project-entry{
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  gap:18px;
  padding:18px 16px 16px;
  min-height:255px;
  aspect-ratio:1 / 1;
}

.hub-card--project-entry .hub-card__content{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}

.hub-card--project-entry .hub-card__status{
  padding-bottom:4px;
  font-size:16px;
}

.hub-card--project-entry .hub-card__status--large{
  font-size:16px;
  letter-spacing:.1em;
}

.hub-card--project-entry h2{
  margin:0;
  font-size:clamp(1.42rem, 1.95vw, 1.82rem);
  line-height:1.06;
}

.hub-card--project-entry .btn{
  margin-top:auto;
  min-height:42px;
  width:100%;
}

.landing-project-grid--applicants,
.landing-project-grid--employees{
  grid-template-columns:repeat(auto-fit, minmax(var(--tile-size), var(--tile-size)));
  justify-content:center;
}

.applicants-page__head,
.faq-page__head{
  margin:8px var(--section-frame-gap) 14px;
  padding:24px 22px 20px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.96) 100%);
  box-shadow:var(--shadow-soft);
}

.applicants-page__head{
  display:grid;
  grid-template-columns:minmax(0, 1.7fr) minmax(340px, 1fr);
  gap:14px;
  align-items:stretch;
  width:min(100%, calc((4 * var(--tile-size)) + (3 * 14px)));
  margin-inline:auto;
}

.applicants-page__body{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.applicants-hero{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
  justify-content:flex-start;
  align-items:center;
  text-align:center;
}

.applicants-hero .eyebrow{
  font-size:clamp(1.9rem, 3vw, 2.45rem);
  line-height:1;
  letter-spacing:.1em;
}

.applicants-hero__panel{
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:16px;
  padding:28px 24px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:linear-gradient(155deg, rgba(255,255,255,.86) 0%, rgba(247,250,252,.94) 100%);
  box-shadow:var(--shadow-soft);
}

.applicants-hero__title{
  margin-bottom:0;
  font-size:clamp(1.85rem, 2.8vw, 2.35rem);
}

.applicants-hero__lede{
  max-width:60ch;
  margin-inline:auto;
}

.applicants-quick-panel,
.applicants-support-card{
  padding:16px 18px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.96) 100%);
  box-shadow:var(--shadow-soft);
}

.applicants-quick-panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  width:100%;
  min-width:0;
  max-width:none;
  justify-self:stretch;
  align-self:stretch;
}

.applicants-quick-panel__title{
  color:var(--brand-navy-deep);
  font-size:1.18rem;
  text-align:center;
}

.applicants-quick-panel__list,
.applicants-checklist{
  margin:0;
  padding-left:18px;
  color:var(--text);
  line-height:1.6;
}

.applicants-quick-panel__list{
  padding-left:0;
  list-style:none;
  counter-reset:applicant-steps;
  font-size:15px;
  line-height:1.45;
}

.applicants-quick-panel__list li{
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}

.applicants-quick-panel__list li::before{
  counter-increment:applicant-steps;
  content:counter(applicant-steps) ".";
  flex:0 0 auto;
  font-weight:700;
  font-family:var(--font-strong);
  color:var(--text);
}

.applicants-progress{
  display:grid;
  grid-template-columns:repeat(4, minmax(var(--tile-size), var(--tile-size)));
  gap:14px;
  justify-content:center;
}

.applicants-next-step{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px 20px;
  border-color:rgba(105,181,45,.26);
  background:linear-gradient(155deg, rgba(248,252,244,.98) 0%, rgba(255,255,255,.96) 100%);
}

.applicants-next-step__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.applicants-next-step .panel-note{
  margin:0;
}

.applicants-progress__item{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:12px;
  align-items:flex-start;
  padding:14px 16px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:
    linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.96) 100%);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
}

.applicants-progress__item strong{
  display:block;
  margin-bottom:4px;
  color:var(--brand-navy-deep);
}

.applicants-progress__item p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}

.applicants-progress__item.is-current{
  border-color:rgba(105,181,45,.42);
  box-shadow:inset 0 2px 0 rgba(105,181,45,.24), var(--shadow-soft);
}

.applicants-progress__step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(105,181,45,.14);
  border:1px solid rgba(105,181,45,.28);
  color:var(--brand-green-deep);
  font-weight:700;
  font-family:var(--font-strong);
}

.applicant-tile{
  align-items:flex-start;
  justify-content:space-between;
  min-height:272px;
  aspect-ratio:auto;
  padding:18px;
}

.applicant-tile__body{
  margin:0;
  color:var(--text);
  font-size:14px;
  line-height:1.55;
}

.applicant-tile__meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.applicant-tile__context{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.2;
}

.applicant-tile__note{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}

.applicant-tile__note[hidden]{
  display:none;
}

.applicant-tile__note[data-state="ready"]{
  color:rgba(60,128,25,.95);
}

.applicant-tile__note[data-state="warning"]{
  color:#b66a00;
}

.applicant-tile__note[data-state="waiting"]{
  color:var(--muted);
}

.applicant-tile__note[data-state="info"]{
  color:var(--brand-navy);
}

.applicants-support-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.booking-flow-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.booking-flow-strip__item{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:12px;
  align-items:flex-start;
  padding:14px 16px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.96) 100%);
  box-shadow:var(--shadow-soft);
}

.booking-flow-strip__item span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(0,75,135,.1);
  border:1px solid rgba(0,75,135,.14);
  color:var(--brand-navy);
  font-weight:700;
  font-family:var(--font-strong);
}

.booking-flow-strip__item strong{
  display:block;
  margin-bottom:4px;
  color:var(--brand-navy-deep);
}

.booking-flow-strip__item small{
  display:block;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
}

.booking-flow-strip__item.is-active{
  border-color:rgba(105,181,45,.42);
  box-shadow:inset 0 2px 0 rgba(105,181,45,.24), var(--shadow-soft);
}

.booking-flow-strip__item.is-active span,
.booking-flow-strip__item.is-complete span{
  background:rgba(105,181,45,.14);
  border-color:rgba(105,181,45,.28);
  color:var(--brand-green-deep);
}

.booking-support-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.booking-support-grid--single{
  grid-template-columns:1fr;
}

.booking-support-card{
  padding:16px 18px;
}

.faq-page__head{
  text-align:left;
  justify-content:flex-start;
  align-items:flex-end;
  min-height:156px;
  background:linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.96) 100%);
}

.faq-page__head > div{
  width:100%;
}

.faq-page__body{
  gap:18px;
}

.faq-list-panel{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.faq-list-panel--single{
  background:var(--surface-strong);
}

.faq-list-panel__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}

.faq-list-panel__count{
  color:var(--muted);
  font-weight:700;
}

.faq-list-panel__search{
  margin:0;
}

.faq-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.faq-item{
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:var(--surface);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}

.faq-item[open]{
  border-color:rgba(0,75,135,.2);
}

.faq-item__summary{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:18px;
  cursor:pointer;
}

.faq-item__summary::-webkit-details-marker{
  display:none;
}

.faq-item__category{
  color:var(--brand-navy);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.faq-item__question{
  color:var(--text);
  font-size:1.08rem;
  font-weight:700;
  line-height:1.45;
}

.faq-item__body{
  padding:0 18px 18px;
}

.faq-item__body p{
  margin:0;
  color:var(--text-soft);
  line-height:1.7;
}

.applicant-tile__status-line{
  display:inline-flex;
  width:62px;
  padding:0 0 8px;
  border-bottom:2px solid rgba(105,181,45,.7);
}

.employee-gate{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:calc(100vh - 220px);
}

.employee-gate__card{
  width:min(var(--tile-size), 100%);
  min-height:var(--tile-size);
  aspect-ratio:1 / 1;
  margin:0 auto;
  align-items:center;
  text-align:center;
  justify-content:center;
  gap:24px;
}

.employee-portal .hub-section{
  gap:18px;
}

.hub-section--compact{
  gap:0;
}

.project-placeholder{
  display:flex;
  flex-direction:column;
  gap:20px;
  align-items:center;
  justify-content:center;
  min-height:280px;
}

.project-option{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 360px);
  gap:16px;
  align-items:center;
  padding:18px 18px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:
    linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.96) 100%);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
}

.site-header--applicants .shell{
  width:min(1180px, calc(100% - 32px));
}

.site-header--applicants .site-header__inner{
  grid-template-columns:1fr;
  justify-items:center;
  gap:0;
  padding:18px 20px;
}

.site-header--applicants .brand-mark--lockup{
  width:min(100%, 320px);
  height:92px;
  min-height:92px;
}

.site-header--applicants .brand-mark--lockup img{
  max-height:70px;
}

.site-header--applicants .site-header__copy{
  padding:0;
}

.site-header--booking .shell,
.booking-main.shell{
  width:min(880px, calc(100% - 32px));
}

.booking-main{
  gap:14px;
}

.site-header--booking .display-title{
  font-size:clamp(1.7rem, 2.4vw, 2.2rem);
}

.site-header--booking .site-header__inner{
  grid-template-columns:minmax(220px, 320px) minmax(0, 1fr);
  gap:20px;
  padding:18px 20px;
}

.site-header--booking .brand-mark--lockup{
  width:min(100%, 320px);
  height:92px;
  min-height:92px;
}

.site-header--booking .brand-mark--lockup img{
  max-height:70px;
}

.site-header--booking .lede{
  font-size:.98rem;
  margin:0;
  max-width:52ch;
}

.site-header--booking .site-header__copy{
  padding:0;
}

.project-option__content{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}

.project-option__status{
  display:inline-flex;
  width:max-content;
  padding:0 0 6px;
  border-bottom:2px solid rgba(0,75,135,.14);
  font-size:12px;
  font-weight:700;
  font-family:var(--font-strong);
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--brand-navy);
}

.project-option__status--available{
  border-bottom-color:rgba(105,181,45,.72);
  color:var(--brand-green-deep);
}

.project-option__status--unavailable{
  border-bottom-color:rgba(180,35,24,.4);
  color:#9c2b21;
}

.project-option__title{
  margin:0;
  color:var(--brand-navy-deep);
  font-size:1rem;
  line-height:1.25;
  font-family:var(--font-strong);
  font-weight:700;
}

.project-option__note{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}

.project-option__action{
  width:100%;
  min-height:44px;
}

.btn-disabled{
  color:var(--muted);
  background:#f3f6f8;
  border:1px solid rgba(0,75,135,.12);
  cursor:not-allowed;
  white-space:normal;
  text-align:center;
}

.hub-stack--portal{
  grid-template-columns:repeat(auto-fit, minmax(var(--tile-size), var(--tile-size)));
  justify-content:center;
}

.hub-stack--single{
  grid-template-columns:1fr;
}

.hub-stack--vertical{
  grid-template-columns:1fr;
  grid-auto-rows:auto;
}

.portal-meta{
  display:flex;
  justify-content:flex-end;
  margin-bottom:18px;
}

.hub-stack--portal .hub-card{
  min-height:var(--tile-size);
  aspect-ratio:1 / 1;
  align-items:flex-start;
  justify-content:space-between;
}

.login-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  justify-items:center;
  gap:18px;
  padding-top:8px;
}

.employee-gate{
  display:grid;
  grid-template-columns:minmax(0, 540px);
  justify-content:center;
  align-items:start;
  min-height:auto;
}

.employee-login-panel{
  width:min(100%, 540px);
  justify-self:center;
}

.employee-login-panel .panel__head{
  margin-bottom:8px;
}

.employee-login-panel .section-copy{
  max-width:54ch;
}

.status-main{
  padding-top:16px;
}

.status-panel{
  max-width:760px;
}

.status-actions{
  display:flex;
  gap:12px;
  margin-top:8px;
}

.login-panel{
  width:min(100%, 380px);
  justify-self:center;
}

.login-helper-panel{
  width:min(100%, 360px);
  justify-self:center;
  display:flex;
  flex-direction:column;
  gap:14px;
  background:linear-gradient(155deg, rgba(247,250,252,.98) 0%, rgba(255,255,255,.94) 100%);
}

.login-helper-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.login-helper-item{
  padding:14px 16px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow-soft);
}

.login-helper-item strong{
  display:block;
  margin-bottom:6px;
  color:var(--brand-navy-deep);
  font-family:var(--font-strong);
}

.login-helper-item p,
.login-helper-note{
  margin:0;
}

.employee-intro-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(280px, .85fr);
  gap:18px;
  margin:18px 0 12px;
}

.employee-intro-card{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.employee-intro-card--accent{
  background:linear-gradient(155deg, rgba(248,252,244,.98) 0%, rgba(255,255,255,.94) 100%);
  border:1px solid rgba(105,181,45,.24);
}

.employee-intro-list{
  margin:0;
  padding-left:20px;
  color:var(--text);
  line-height:1.6;
}

.employee-intro-list li + li{
  margin-top:8px;
}

.employee-section-label{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:12px 0 10px;
  padding:0 4px;
}

.employee-section-label .section-title{
  margin:0;
}

.booking-layout{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  align-items:start;
}

.booking-layout--single{
  grid-template-columns:1fr;
}

.booking-sidebar{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.panel{
  border-radius:var(--radius-lg);
  padding:22px;
  box-shadow:var(--shadow);
}

.panel-form{
  position:sticky;
  top:18px;
  padding-bottom:6px;
}

.panel__head{
  margin-bottom:20px;
}

.panel-note{
  margin-bottom:12px;
  color:var(--muted);
  font-size:14px;
}

.panel-slots{
  display:grid;
  grid-template-rows:auto auto minmax(0, 1fr);
  min-height:100%;
  min-width:0;
}

.booking-notice{
  border-radius:var(--radius-lg);
  backdrop-filter:blur(10px);
}

.slot-list,
.admin-slot-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.slot-list{
  min-height:0;
  overflow:auto;
  padding-right:4px;
}

.meeting-type-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.meeting-type-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  width:100%;
  padding:16px 18px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:
    linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.96) 100%);
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  text-align:left;
  box-shadow:var(--shadow-soft);
}

.meeting-type-card:hover{
  transform:translateY(-1px);
  border-color:rgba(105,181,45,.45);
}

.meeting-type-card--active{
  border-color:rgba(105,181,45,.55);
  box-shadow:inset 0 2px 0 rgba(105,181,45,.25);
  background:#f9fcf6;
}

.meeting-type-card__eyebrow{
  color:var(--brand-navy);
  font-size:12px;
  font-weight:700;
  font-family:var(--font-strong);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.meeting-type-card strong{
  color:var(--brand-navy-deep);
  font-size:1rem;
  line-height:1.2;
}

.slot-group{
  position:relative;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  background:
    linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.94) 100%);
  padding:14px;
  box-shadow:var(--shadow-soft);
}

.slot-group__title{
  margin-bottom:10px;
  color:var(--brand-navy-deep);
  font-size:1rem;
  font-weight:700;
  font-family:var(--font-strong);
  text-transform:capitalize;
}

.slot-group__list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.slot,
.admin-slot{
  position:relative;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:
    linear-gradient(155deg, var(--surface-strong) 0%, rgba(247,250,252,.96) 100%);
  padding:18px;
  box-shadow:var(--shadow-soft);
}

.admin-slot__edit{
  display:grid;
  grid-template-columns:120px minmax(0, 1fr) auto;
  gap:14px;
  align-items:end;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(0,75,135,.08);
}

.admin-slot__title-wrap{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.admin-slot__pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.admin-pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,75,135,.08);
  border:1px solid rgba(0,75,135,.12);
  color:var(--brand-navy);
  font-size:12px;
  font-weight:700;
  font-family:var(--font-strong);
}

.slot{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:14px;
  align-items:center;
}

.slot--grouped{
  padding:10px 12px;
  gap:10px;
}

.slot--grouped .slot__main strong{
  margin-bottom:2px;
  font-size:.98rem;
}

.slot--grouped .slot__meta{
  font-size:13px;
  line-height:1.35;
}

.slot--grouped .btn{
  min-height:38px;
  padding:9px 14px;
}

.admin-type-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:18px;
}

.admin-type-item{
  padding:14px;
  border:1px solid rgba(0,75,135,.08);
  border-radius:var(--radius-md);
  background:#f8fbfc;
}

.admin-type-item__grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto auto;
  gap:12px;
  align-items:end;
}

.admin-type-item__grid--wide{
  grid-template-columns:minmax(220px, 1.3fr) minmax(220px, 1fr) 120px auto;
  gap:14px;
}

.admin-type-item__grid--wide .btn{
  width:auto;
}

.admin-type-item__actions{
  display:flex;
  align-items:flex-end;
  gap:10px;
}

.admin-toggle--field{
  min-height:46px;
  align-self:end;
}

.slot__main{
  min-width:0;
}

.slot strong,
.admin-slot__title,
.admin-booking__head strong{
  color:var(--brand-navy-deep);
}

.slot strong{
  display:block;
  margin-bottom:8px;
  font-size:1.02rem;
}

.slot__meta,
.admin-slot__meta{
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}

.slot__actions,
.admin-slot__actions,
.admin-header__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.slot__actions,
.admin-slot__actions{
  justify-content:flex-end;
}

.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(105,181,45,.14);
  border:1px solid rgba(105,181,45,.28);
  color:var(--brand-green-deep);
  font-size:13px;
  font-weight:700;
}

.field,
.field--compact,
.field--grow{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.booking-form-fields{
  transition:opacity .18s ease;
}

.booking-form-fields--locked{
  opacity:.56;
}

.field{
  margin-bottom:18px;
}

.field-hint{
  color:var(--muted);
  font-size:12px;
  font-weight:400;
  font-family:var(--font-body);
}

.field-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.field-grid--triple{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.inline-fields{
  display:grid;
  grid-template-columns:112px minmax(0, 1fr);
  gap:12px;
  align-items:start;
}

.contract-layout{
  grid-template-columns:minmax(280px, .78fr) minmax(0, 1.22fr);
}

.contract-checklist{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.contract-checklist__item{
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
  padding:14px 16px;
}

.contract-checklist__item strong{
  display:block;
  margin-bottom:6px;
  color:var(--brand-navy-deep);
}

.contract-checklist__item p,
.contract-note{
  margin:0;
}

.contract-form{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.form-section{
  margin-bottom:10px;
  padding-bottom:6px;
  border-bottom:1px solid var(--border-soft);
}

.form-section:last-of-type{
  border-bottom:none;
}

.form-section__title{
  margin:0 0 14px;
  color:var(--brand-navy-deep);
  font-size:1.05rem;
}

.form-section__subgrid{
  display:grid;
  gap:12px;
}

.contract-inline-fields{
  grid-template-columns:minmax(0, 1fr) 28px minmax(120px, .72fr);
}

.contract-inline-fields__slash{
  justify-content:center;
}

.contract-inline-fields__slash span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  color:var(--brand-navy);
  font-weight:700;
  font-family:var(--font-strong);
}

.checkbox-field{
  display:grid;
  grid-template-columns:20px minmax(0, 1fr);
  gap:12px;
  align-items:start;
  margin:4px 0 18px;
  color:var(--text);
}

.checkbox-field input{
  min-height:20px;
  width:20px;
  margin:2px 0 0;
  padding:0;
}

.input-emphasis{
  border-width:2px !important;
  border-color:rgba(105,181,45,.52) !important;
  background:linear-gradient(180deg, rgba(105,181,45,.08), rgba(105,181,45,.03)) !important;
  box-shadow:0 0 0 4px rgba(105,181,45,.08);
}

.input-emphasis:focus{
  border-color:rgba(105,181,45,.82) !important;
  box-shadow:0 0 0 5px rgba(105,181,45,.14) !important;
}

.suggestion-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:10px;
}

.suggestion-list__item{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  width:100%;
  min-height:auto;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
  color:var(--text);
  text-align:left;
}

.suggestion-list__item strong{
  color:var(--brand-navy-deep);
}

.suggestion-list__item span{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

label{
  color:var(--brand-navy);
  font-size:13px;
  font-weight:700;
  font-family:var(--font-strong);
}

.field-hint-inline{
  color:var(--muted);
  font-size:12px;
  font-weight:400;
  font-family:var(--font-body);
}

.field__message{
  margin-top:8px;
  min-height:1.4em;
  font-size:12px;
  line-height:1.4;
  color:var(--muted);
}

.field__message--empty{
  visibility:hidden;
}

.field--invalid input,
.field--invalid textarea,
.field--invalid select{
  border-color:rgba(190,49,49,.72) !important;
  box-shadow:0 0 0 3px rgba(190,49,49,.12);
}

.field--valid input,
.field--valid textarea,
.field--valid select{
  border-color:rgba(60,128,25,.5);
}

.field--invalid .field__message{
  color:#b42222;
}

:root[data-theme="dark"] .field--invalid input,
:root[data-theme="dark"] .field--invalid textarea,
:root[data-theme="dark"] .field--invalid select{
  border-color:rgba(255,126,126,.78) !important;
  box-shadow:0 0 0 3px rgba(255,126,126,.12);
}

:root[data-theme="dark"] .field--invalid .field__message{
  color:#ffb0b0;
}

input,
select,
textarea,
button{
  font:inherit;
}

input,
textarea,
select{
  width:100%;
  min-height:48px;
  border:1px solid rgba(0,75,135,.18);
  border-radius:12px;
  padding:12px 15px;
  background:rgba(255,255,255,.88);
  color:var(--text);
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

textarea{
  min-height:72px;
  resize:vertical;
}

input[readonly]{
  background:#f3f8f2;
}

input:focus,
textarea:focus,
select:focus{
  border-color:rgba(105,181,45,.7);
  box-shadow:0 0 0 4px rgba(105,181,45,.16);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:12px 18px;
  border:1px solid transparent;
  border-radius:12px;
  cursor:pointer;
  font-weight:700;
  font-family:var(--font-strong);
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.01);
}

.btn:disabled{
  cursor:wait;
  opacity:.75;
  transform:none;
}

.btn-large{
  min-height:52px;
  padding-inline:22px;
}

.btn-small{
  min-height:38px;
  padding:9px 14px;
  border-radius:10px;
  font-size:.92rem;
}

.btn-primary{
  color:#fff;
  background:linear-gradient(135deg, var(--brand-navy), var(--brand-navy-deep));
  box-shadow:0 10px 18px rgba(6,55,99,.18);
}

.btn-secondary{
  color:var(--brand-navy-deep);
  background:rgba(255,255,255,.76);
  border:1px solid rgba(0,75,135,.18);
  box-shadow:0 8px 16px rgba(0,58,106,.06);
}

.btn-danger{
  color:#fff;
  background:linear-gradient(135deg, #8f1f20, #c73a34);
  box-shadow:none;
}

.feedback{
  min-height:10px;
  margin-top:4px;
  margin-bottom:0;
  font-size:14px;
  font-weight:700;
  font-family:var(--font-strong);
}

.feedback--error{
  color:#b42318;
}

.feedback--success{
  color:#226a28;
}

.admin-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.admin-header__brand{
  display:grid;
  grid-template-columns:minmax(240px, 320px) minmax(0, 1fr);
  gap:18px;
  align-items:center;
}

.brand-mark--admin{
  min-height:84px;
  padding:0;
}

.admin-header__actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  justify-content:flex-end;
  min-width:min(100%, 250px);
}

.admin-header__actions .btn{
  width:100%;
  justify-content:center;
}

.admin-header .admin-lede{
  display:none;
}

.admin-user{
  display:flex;
  align-items:center;
  width:100%;
  min-height:58px;
  padding:10px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(0,75,135,.14);
  color:var(--brand-navy-deep);
  font-size:14px;
  font-weight:700;
  font-family:var(--font-strong);
  box-shadow:var(--shadow-soft);
}

.admin-user--legacy{
  background:rgba(255,243,205,.96);
  border-color:rgba(181,131,0,.32);
  color:#6e4e00;
}

.admin-slot__summary,
.admin-booking__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.admin-bookings{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:16px;
}

.admin-bookings__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(0,75,135,.08);
}

.admin-bookings__summary{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.admin-bookings__summary strong{
  color:var(--brand-navy-deep);
}

.admin-bookings__summary span{
  color:var(--muted);
  font-size:13px;
}

.admin-booking{
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(0,75,135,.1);
  background:rgba(255,255,255,.42);
}

.admin-booking + .admin-booking{
  margin-top:2px;
}

.admin-booking__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.admin-booking__grid div,
.admin-booking__note{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border-radius:6px;
  background:#f8fbfc;
  border:1px solid rgba(0,75,135,.08);
}

.admin-booking__grid span,
.admin-booking__note span{
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  font-family:var(--font-strong);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.admin-booking__grid strong{
  color:var(--brand-navy-deep);
  font-size:14px;
}

.admin-booking__identity{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.admin-booking__contact{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

.admin-booking__note{
  margin-top:12px;
}

.admin-booking__note p{
  margin:0;
  color:var(--text);
  line-height:1.55;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

@media (max-width: 980px){
  .site-header__inner,
  .booking-layout,
  .shift-layout,
  .request-layout,
  .admin-shell,
  .hub-grid,
  .hub-columns,
  .admin-settings-grid,
  .admin-tools,
  .admin-metrics-grid,
  .employee-summary-grid,
  .admin-overview-secondary,
  .admin-onboarding-layout,
  .admin-launcher-grid,
  .admin-task-shell--split,
  .login-layout,
  .employee-intro-grid,
  .applicants-page__head,
  .applicants-progress,
  .applicants-support-grid,
  .booking-flow-strip,
  .booking-support-grid,
  .field-grid,
  .field-grid--triple,
  .admin-header__brand{
    grid-template-columns:1fr;
  }

  .site-header__inner--landing{
    grid-template-columns:1fr;
  }

  .site-header--booking .site-header__inner{
    grid-template-columns:1fr;
  }

  .project-option{
    grid-template-columns:1fr;
  }

  .landing-project-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .landing-project-grid--applicants,
  .landing-project-grid--employees{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .applicants-quick-panel{
    width:100%;
    min-width:0;
    max-width:none;
    justify-self:stretch;
  }

  .faq-page__head{
    min-height:auto;
    align-items:flex-start;
  }

  .applicants-quick-panel__list li{
    white-space:normal;
  }

  .applicants-next-step__head,
  .admin-today-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .project-section-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .hub-stack{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .hub-stack--portal{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .hero-card{
    flex-direction:column;
    align-items:flex-start;
  }

  .shift-toolbar{
    flex-direction:column;
  }

  .admin-launcher__head{
    align-items:flex-start;
  }

  .shift-toolbar__actions,
  .shift-toolbar__actions--stack{
    width:100%;
    align-items:stretch;
  }

  .hero-card__actions,
  .site-header__actions,
  .admin-header__actions{
    width:100%;
    justify-content:flex-start;
  }

  .brand-mark{
    width:min(100%, 760px);
  }

  .admin-header__inner{
    flex-direction:column;
  }

  .admin-sidebar{
    position:static;
  }

  .admin-subnav,
  .admin-local-nav{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  }

  .admin-onboarding-detail{
    position:static;
  }
}

@media (max-width: 720px){
  .faq-list-panel__head{
    grid-template-columns:1fr;
    flex-direction:column;
  }

  .display-title{
    line-height:1;
  }

  .shell{
    width:min(100% - 24px, 1180px);
  }

  .site-header,
  .admin-header{
    padding-top:18px;
  }

  .theme-toggle{
    top:12px;
    right:12px;
    min-height:38px;
    padding:8px 12px;
    font-size:.88rem;
  }

  .hero-card,
  .panel,
  .hub-card,
  .hub-board{
    padding:22px;
  }

  .hub-section{
    padding:0;
  }

  .hub-stack{
    padding:0;
  }

  .hub-stack{
    grid-template-columns:1fr;
  }

  .hub-stack--portal{
    grid-template-columns:1fr;
  }

  .project-section-grid{
    grid-template-columns:1fr;
    padding:0;
  }

  .project-option{
    padding:14px;
  }

  .landing-project-grid{
    grid-template-columns:1fr;
  }

  .landing-project-grid--applicants,
  .landing-project-grid--employees{
    grid-template-columns:1fr;
  }

  .applicants-page__head,
  .faq-page__head{
    margin:8px 12px 12px;
    padding:18px 14px 16px;
    gap:14px;
  }

  .applicants-hero,
  .faq-page__head{
    text-align:center;
    align-items:center;
  }

  .faq-page__head > div{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
  }

  .applicants-hero__lede,
  .faq-page__lede{
    max-width:32rem;
  }

  .hub-section__head{
    min-height:auto;
  }

  .brand-mark--lockup{
    width:min(100%, 280px);
    height:96px;
    min-height:96px;
    padding:10px 12px;
  }

  .brand-mark--lockup img{
    max-height:76px;
  }

  .site-header__inner,
  .admin-header__inner{
    gap:18px;
    padding:18px;
  }

  .admin-header__brand{
    gap:14px;
  }

  .admin-sidebar{
    gap:12px;
  }

  .admin-sidebar__panel{
    padding:14px;
  }

  .admin-subnav,
  .admin-local-nav{
    grid-template-columns:1fr;
    gap:8px;
  }

  .admin-subnav__item,
  .admin-local-nav__item{
    min-height:44px;
    padding:11px 13px;
    border-radius:14px;
  }

  .site-login-btn{
    width:100%;
  }

  .slot,
  .admin-slot__edit,
  .admin-slot__summary,
  .admin-booking__head,
  .admin-booking__grid,
  .admin-type-item__grid,
  .admin-type-item__grid--wide{
    grid-template-columns:1fr;
    display:grid;
  }

  .admin-toolbar,
  .admin-slot-toolbar,
  .admin-slot-toolbar__actions,
  .admin-action-panel,
  .admin-bookings__head,
  .shift-month-nav,
  .status-actions,
  .portal-meta,
  .admin-overview-card__actions,
  .admin-overview-card__actions--quick,
  .shift-editor__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .admin-attention-item,
  .admin-workflow-item__head,
  .admin-faq-item__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .admin-attention-item span{
    text-align:left;
  }

  .admin-faq-summary,
  .shift-calendar-summary,
  .admin-checkboxes{
    grid-template-columns:1fr;
  }

  .admin-config-item{
    grid-template-columns:1fr;
    gap:12px;
    padding:14px;
  }

  .admin-config-fields{
    grid-template-columns:1fr;
  }

  .admin-role-toggles{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }

  .request-detail__grid,
  .journey-timeline{
    grid-template-columns:1fr;
  }

  .shift-calendar{
    overflow-x:auto;
    padding-bottom:4px;
  }

  .shift-calendar__weekdays,
  .shift-calendar__grid{
    grid-template-columns:repeat(7, minmax(80px, 1fr));
    min-width:620px;
  }

  .shift-day{
    min-height:108px;
  }

  .planner-day-strip{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .planner-board{
    overflow-x:auto;
    padding-bottom:4px;
  }

  .planner-grid{
    width:max-content;
    min-width:100%;
  }

  .slot__actions,
  .admin-slot__actions,
  .hero-card__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .admin-confirm-bar{
    flex-direction:column;
    align-items:stretch;
  }

  .admin-action-panel__copy{
    min-width:0;
  }

  .admin-confirm-bar__actions{
    width:100%;
    justify-content:stretch;
  }

  .slot__actions,
  .admin-slot__actions{
    justify-content:flex-start;
  }

  .inline-fields{
    grid-template-columns:1fr;
    gap:10px;
  }

  .btn,
  .btn-large,
  .admin-user{
    width:100%;
  }

  .admin-user{
    justify-content:center;
  }
}

@media (max-width: 560px){
  .shell{
    width:min(100% - 18px, 1180px);
  }

  .site-header,
  .admin-header{
    padding-top:14px;
  }

  .site-header__inner,
  .admin-header__inner,
  .hero-card,
  .panel,
  .hub-card,
  .hub-board{
    padding:16px;
  }

  .display-title{
    font-size:clamp(1.8rem, 9vw, 2.4rem);
  }

  .admin-title{
    font-size:clamp(1.45rem, 8vw, 2rem);
  }

  .section-title{
    font-size:clamp(1.2rem, 6.2vw, 1.55rem);
  }

  .lede,
  .admin-lede,
  .section-copy,
  .project-option__note,
  .tile-card__body,
  .hub-card p{
    line-height:1.5;
  }

  .brand-mark--lockup{
    width:min(100%, 236px);
    height:82px;
    min-height:82px;
    padding:8px 10px;
  }

  .brand-mark--lockup img{
    max-height:64px;
  }

  .theme-toggle{
    top:10px;
    right:10px;
    min-height:34px;
    padding:7px 10px;
    font-size:.8rem;
  }

  .hub-section__head{
    padding:18px 12px 2px;
  }

  .hub-section__body{
    --section-frame-gap:12px;
    --section-frame-bottom-gap:14px;
  }

  .tile-card,
  .project-tile,
  .hub-card--square,
  .hub-card--square-compact{
    min-height:auto;
    aspect-ratio:auto;
  }

  .tile-card__title,
  .project-tile__title,
  .hub-card h2{
    font-size:1.28rem;
  }

  .admin-subnav__item,
  .admin-local-nav__item{
    font-size:.94rem;
  }

  .admin-metric-card__value,
  .admin-faq-summary__item strong{
    font-size:1.7rem;
  }

  .shift-month-nav .btn,
  .status-actions .btn,
  .portal-meta .btn,
  .slot__actions .btn,
  .admin-slot__actions .btn,
  .hero-card__actions .btn{
    width:100%;
  }

  .planner-day-strip{
    grid-template-columns:1fr;
  }

  .planner-day-chip{
    min-height:56px;
    padding:10px 12px;
  }

  .shift-calendar__weekdays,
  .shift-calendar__grid{
    min-width:560px;
    gap:8px;
  }

  .shift-day{
    min-height:96px;
    padding:8px;
  }

  .shift-day__item{
    font-size:11px;
  }
}
