/* IPTN display fonts now load via normal web-font requests in iptn.php. */

:root {
    --navy: #17375F;
    --navy-deep: #102A49;
    --gold: #E3A120;
    --gold-light: #FDF2DC;
    --sky: #F1F6FB;
    --sky-mid: #C5D9EF;
    --warm-white: #F7F9FC;
    --text: #22364A;
    --text-light: #5E6F82;
    --border: #D9E3EE;
    --surface: #FFFFFF;
    --surface-strong: #FCFDFF;
    --surface-soft: #F5F8FC;
    --chip-bg: #EAF1F7;
    --chip-text: #4E6276;
    --shadow-card: 0 6px 16px rgba(16, 42, 73, 0.06);
    --shadow-card-hover: 0 10px 24px rgba(16, 42, 73, 0.12);
    --font-ui: 'DM Sans', sans-serif;
    --font-display: 'League Spartan', 'DM Sans', sans-serif;
    --radius: 10px;
    --radius-lg: 16px;
    --c-coaching: #1565C0;
    --c-coaching-bg: #E3F2FD;
    --c-coaching-row-bg: rgba(21, 101, 192, 0.03);
    --c-learning: #E65100;
    --c-learning-bg: #FFF3E0;
    --c-learning-row-bg: rgba(230, 81, 0, 0.03);
    --c-data: #2E7D32;
    --c-data-bg: #E8F5E9;
    --c-data-row-bg: rgba(46, 125, 50, 0.03);
    --c-family: #7B1FA2;
    --c-family-bg: #F3E5F5;
    --c-family-row-bg: rgba(123, 31, 162, 0.03);
    --c-stories: #8A6A1E;
    --c-stories-bg: #FFF6E1;
    --c-stories-row-bg: rgba(138, 106, 30, 0.03);
    --c-specialized: #00838F;
    --c-specialized-bg: #E0F7FA;
    --c-specialized-row-bg: rgba(0, 131, 143, 0.03);
    --c-workforce: #C62828;
    --c-workforce-bg: #FFEBEE;
    --c-workforce-row-bg: rgba(198, 40, 40, 0.03);
    --c-uncategorized-row-bg: rgba(126, 106, 86, 0.03);
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }

  body {
    font-family: var(--font-ui);
    color: var(--text);
    background: var(--warm-white);
    -webkit-font-smoothing: antialiased;
    line-height: 1.6;
  }
  body.panel-open,
  body.story-open,
  body.bus-open,
  body.auth-open,
  body.bus-move-open,
  body.share-open,
  body.bus-destination-open,
  body.bus-bin-open,
  body.bus-confirm-open { overflow: hidden; }
  .skip-link {
    position: absolute;
    left: 12px;
    top: -48px;
    background: white;
    color: var(--navy-deep);
    border: 2px solid var(--gold);
    border-radius: 8px;
    padding: 8px 12px;
    z-index: 1000;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
  }
  .skip-link:focus { top: 12px; }

  a:focus-visible,
  button:focus-visible,
  [role="tab"]:focus-visible,
  [role="button"]:focus-visible,
  .partner-card:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 2px;
  }

  /* --- HEADER --- */
  header {
    background: var(--navy);
    padding: 14px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid rgba(255,255,255,0.14);
  }
  .logo-area { display: flex; align-items: center; gap: 12px; min-width: 0; overflow: hidden; }
  .logo-mark {
    width: 286px;
    height: 66px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .logo-mark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left center;
    transform: none;
    transform-origin: center;
    filter: none;
  }
  .logo-text {
    color: white;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 17px;
    letter-spacing: 0.25px;
    white-space: nowrap;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .logo-text span {
    font-weight: 600;
    color: rgba(255,255,255,0.66);
    font-size: 12px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    margin-left: 8px;
  }
  nav { display: flex; gap: 8px; align-items: center; margin-left: auto; }
  nav a, nav span, nav .header-tour-btn {
    color: rgba(255,255,255,0.78);
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid transparent;
    transition: all 0.2s;
  }
  .header-tour-btn {
    appearance: none;
    background: transparent;
    cursor: pointer;
    line-height: 1;
    font-family: inherit;
  }
  .header-tour-btn.secondary {
    color: rgba(255,255,255,0.68);
  }
  nav a:hover, nav a.active, nav span.active, nav .header-tour-btn:hover, nav .header-tour-btn.active {
    color: white;
    background: rgba(255,255,255,0.13);
    border-color: rgba(255,255,255,0.22);
  }
  .header-auth-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 8px;
    min-width: 0;
  }
  .header-auth-wrap[hidden] { display: none !important; }
  .header-auth-btn[hidden],
  .header-auth-chip[hidden],
  .header-auth-logout[hidden],
  .header-auth-provider-mark[hidden] {
    display: none !important;
  }
  .header-auth-btn,
  .header-auth-chip,
  .header-auth-logout {
    appearance: none;
    border: 1px solid rgba(255,255,255,0.36);
    background: rgba(255,255,255,0.07);
    color: rgba(255,255,255,0.95);
    border-radius: 999px;
    padding: 6px 10px;
    min-height: 30px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2px;
    line-height: 1.1;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    text-decoration: none;
    transition: all 0.16s ease;
  }
  .header-auth-btn {
    cursor: pointer;
  }
  .header-auth-btn:hover {
    border-color: rgba(255,255,255,0.62);
    background: rgba(255,255,255,0.16);
    color: #FFFFFF;
  }
  .header-auth-btn[aria-expanded="true"] {
    border-color: rgba(255,255,255,0.66);
    background: rgba(255,255,255,0.2);
  }
  .header-auth-chip {
    cursor: default;
    max-width: 170px;
    min-width: 0;
    padding: 5px 9px;
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.4);
  }
  .header-auth-chip-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .header-auth-chip-role {
    color: #7B5A00;
    border: 1px solid rgba(184, 138, 19, 0.45);
    background: rgba(225, 178, 46, 0.2);
    border-radius: 999px;
    padding: 2px 7px;
    font-weight: 700;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.42px;
    flex-shrink: 0;
  }
  .header-auth-logout {
    cursor: pointer;
  }
  .header-auth-logout:hover {
    border-color: rgba(255,255,255,0.6);
    background: rgba(255,255,255,0.14);
    color: #FFFFFF;
  }
  .header-auth-provider-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    align-self: center;
    margin-left: 0;
    transform: translateY(-2px);
  }
  .header-auth-provider-mark .bus-modal-provider-logo-frame {
    width: 42px;
    height: 42px;
    border: 0;
    background: transparent;
    padding: 0;
    overflow: hidden;
  }
  .header-auth-provider-mark .bus-modal-provider-logo-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center 34%;
    display: block;
  }
  .header-bus-btn {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding: 2px 0 0;
    margin-left: 0;
    margin-top: 20px;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: #B7C6D9;
    transition: transform 0.15s ease;
  }
  .header-bus-separator {
    display: block;
    width: 2px;
    height: 44px;
    margin: 0 10px 0 14px;
    background: rgba(255,255,255,0.5);
    box-shadow: 0 0 0 1px rgba(255,255,255,0.1);
    flex: 0 0 2px;
  }
  .header-bus-btn:hover { transform: translateY(-2px); }
  .header-bus-btn:active { transform: translateY(0) scale(0.98); }
  .header-bus-btn[aria-expanded="true"] {
    transform: translateY(-1px);
  }
  .header-bus-graphic-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    width: 140px;
  }
  .header-bus-graphic {
    width: 140px;
    height: auto;
    display: block;
    overflow: visible;
    filter: drop-shadow(0 0 1px rgba(255,255,255,0.18));
  }
  .header-bus-btn .body-line,
  .header-bus-btn .band-line,
  .header-bus-btn .detail-line,
  .header-bus-btn .wheel-outer,
  .header-bus-btn .wheel-mid,
  .header-bus-btn .yellow-fill {
    transition: all 0.3s ease;
  }
  .header-bus-btn .bl {
    fill: none;
    stroke: #B7C6D9;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .header-bus-btn .bm {
    fill: none;
    stroke: rgba(183,198,217,0.72);
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .header-bus-btn .bd {
    fill: none;
    stroke: rgba(183,198,217,0.62);
    stroke-width: 0.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .header-bus-btn .wo {
    fill: none;
    stroke: #B7C6D9;
    stroke-width: 1.4;
  }
  .header-bus-btn .wm {
    fill: none;
    stroke: rgba(183,198,217,0.65);
    stroke-width: 0.8;
  }
  .header-bus-btn .wh { fill: #B7C6D9; }
  .header-bus-btn .gnd {
    fill: none;
    stroke: rgba(183,198,217,0.35);
    stroke-width: 0.7;
    stroke-linecap: round;
  }
  .header-bus-btn .yellow-fill {
    fill: rgba(240,200,50,0.12);
    opacity: 0;
  }
  .header-bus-btn:hover .body-line,
  .header-bus-btn[aria-expanded="true"] .body-line { stroke: #DBB535; }
  .header-bus-btn:hover .band-line,
  .header-bus-btn[aria-expanded="true"] .band-line { stroke: rgba(219,181,53,0.5); }
  .header-bus-btn:hover .detail-line,
  .header-bus-btn[aria-expanded="true"] .detail-line { stroke: rgba(219,181,53,0.4); }
  .header-bus-btn:hover .wheel-outer,
  .header-bus-btn[aria-expanded="true"] .wheel-outer { stroke: #C0A830; }
  .header-bus-btn:hover .wheel-mid,
  .header-bus-btn[aria-expanded="true"] .wheel-mid { stroke: rgba(192,168,48,0.5); }
  .header-bus-btn:hover .wh,
  .header-bus-btn[aria-expanded="true"] .wh { fill: #C0A830; }
  .header-bus-btn:hover .yellow-fill,
  .header-bus-btn[aria-expanded="true"] .yellow-fill { opacity: 1; }
  .bus-label {
    display: block;
    width: 140px;
    text-align: center;
    color: rgba(255,255,255,0.9);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.15px;
    line-height: 1.2;
    margin-top: -8px;
    transition: color 0.3s;
  }
  .header-bus-btn:hover .bus-label,
  .header-bus-btn[aria-expanded="true"] .bus-label { color: #FFFFFF; }
  .header-bus-btn:focus-visible .bus-label { color: #FFFFFF; }
  .header-bus-btn .bus-count {
    position: absolute;
    right: 4px;
    top: -1px;
    transform: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    background: #C95A3C;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    clip-path: polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);
    box-shadow: 0 0 0 1.5px rgba(255,255,255,0.35);
  }

  /* --- HERO --- */
  .hero {
    background: linear-gradient(136deg, #17375F 0%, #123255 52%, #102A49 100%);
    padding: 64px 40px 52px;
    position: relative;
    overflow: hidden;
  }
  .hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 78% 16%, rgba(255,255,255,0.12) 0, rgba(255,255,255,0) 36%),
      linear-gradient(120deg, rgba(255,255,255,0) 48%, rgba(255,255,255,0.09) 100%);
    pointer-events: none;
    z-index: 0;
  }
  .hero-inner { max-width: 680px; position: relative; z-index: 1; }
  .hero h1 {
    font-family: var(--font-display);
    font-size: 35px; font-weight: 700; color: white;
    line-height: 1.2; margin-bottom: 12px;
    letter-spacing: 0.15px;
  }
  .hero p { color: rgba(255,255,255,0.84); font-size: 15px; line-height: 1.65; max-width: 560px; }
  .hero .equity-note {
    display: inline-flex; align-items: center; gap: 6px;
    margin-top: 18px; font-size: 12px; color: var(--gold);
    background: rgba(232,168,37,0.1);
    padding: 5px 14px; border-radius: 20px;
    border: 1px solid rgba(232,168,37,0.18);
  }

  /* --- MAIN --- */
  main { max-width: 1120px; margin: 0 auto; padding: 0 40px; }

  .section-label {
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1.8px;
    color: var(--navy); margin-bottom: 10px;
  }
  .section-title {
    font-family: var(--font-display);
    font-size: 26px; font-weight: 700;
    letter-spacing: 0.1px;
    color: var(--navy-deep); margin-bottom: 7px;
  }
  .section-desc {
    color: var(--text-light); font-size: 14px;
    margin-bottom: 28px; max-width: 560px;
  }
  .section-help {
    margin-top: -18px;
    margin-bottom: 20px;
    font-size: 12.5px;
    color: #607388;
  }

  /* --- TAXONOMY BROWSER --- */
  .taxonomy-section { padding: 46px 0 26px; }
  .tax-global-controls {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 14px;
  }
  .tax-global-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.1px;
    color: #607388;
  }
  .tax-format-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .tax-format-chip {
    border: 1px solid #C8D9EA;
    background: #FFFFFF;
    color: #2A415B;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 11px;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.16s ease;
    font-family: inherit;
  }
  .tax-format-chip:hover {
    border-color: #AFC5DD;
    background: #F4FAFF;
  }
  .tax-format-chip.active {
    background: var(--navy);
    border-color: var(--navy);
    color: #FFFFFF;
  }
  .tax-format-chip:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 2px;
  }
  .taxonomy-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: linear-gradient(180deg, #FFFFFF 0%, #FBFDFF 100%);
    box-shadow: 0 8px 20px rgba(16, 42, 73, 0.06);
  }
  .tax-nav {
    background: linear-gradient(180deg, #ECF4FB 0%, #E8F1FA 100%);
    border-right: 1px solid var(--border);
    padding: 12px;
    display: flex; flex-direction: column; gap: 8px;
  }
  .tax-panels-wrap {
    overflow: hidden;
  }
  .tax-format-view {
    display: none;
    padding: 22px 24px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FBFDFF 100%);
  }
  .taxonomy-section.format-mode .tax-panel {
    display: none !important;
  }
  .taxonomy-section.format-mode .tax-format-view {
    display: block;
  }
  .tax-format-groups {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .tax-format-group {
    border: 1px solid #D5E1ED;
    border-radius: 12px;
    background: #FFFFFF;
    padding: 12px;
    box-shadow: 0 1px 2px rgba(16, 42, 73, 0.04);
  }
  .tax-format-group-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
    padding-bottom: 7px;
    border-bottom: 1px solid #E4ECF5;
  }
  .tax-format-group-header h3 {
    font-size: 14px;
    font-weight: 700;
    color: var(--navy-deep);
    letter-spacing: 0.08px;
  }
  .tax-format-count {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-light);
    background: rgba(16,42,73,0.08);
    padding: 2px 8px;
    border-radius: 999px;
    flex-shrink: 0;
  }
  .tax-format-empty {
    font-size: 13px;
    color: var(--text-light);
    line-height: 1.5;
    padding: 10px 4px;
  }
  .tax-nav-shell {
    position: relative;
    min-width: 0;
  }
  .tax-nav-fade {
    display: none;
    appearance: none;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 48px;
    border: 0;
    padding: 0;
    margin: 0;
    align-items: center;
    z-index: 2;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
  }
  .tax-nav-fade:focus-visible {
    outline: 2px solid rgba(64,115,158,0.3);
    outline-offset: 1px;
  }
  .tax-nav-fade:disabled {
    cursor: default;
  }
  .tax-nav-fade--left {
    left: 0;
    justify-content: flex-start;
    padding-left: 6px;
    background: linear-gradient(to left, transparent, #F5F8FC 80%);
  }
  .tax-nav-fade--right {
    right: 0;
    justify-content: flex-end;
    padding-right: 6px;
    background: linear-gradient(to right, transparent, #F5F8FC 80%);
  }
  .tax-nav-fade-arrow {
    color: #5A7A99;
    font-size: 20px;
    font-weight: 700;
    opacity: 0.7;
    user-select: none;
    background: rgba(245, 248, 252, 0.9);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    line-height: 1;
  }
  .tax-tab {
    display: flex; align-items: flex-start; gap: 11px;
    padding: 15px 14px;
    border-radius: var(--radius);
    cursor: pointer;
    transition: all 0.18s ease;
    border: 1px solid transparent;
  }
  .tax-tab[data-panel="coaching"] { --tax-tab-accent: var(--c-coaching); --tax-tab-tint: var(--c-coaching-bg); }
  .tax-tab[data-panel="learning"] { --tax-tab-accent: var(--c-learning); --tax-tab-tint: var(--c-learning-bg); }
  .tax-tab[data-panel="data"] { --tax-tab-accent: var(--c-data); --tax-tab-tint: var(--c-data-bg); }
  .tax-tab[data-panel="family"] { --tax-tab-accent: var(--c-family); --tax-tab-tint: var(--c-family-bg); }
  .tax-tab[data-panel="stories"] { --tax-tab-accent: var(--c-stories); --tax-tab-tint: var(--c-stories-bg); }
  .tax-tab[data-panel="specialized"] { --tax-tab-accent: var(--c-specialized); --tax-tab-tint: var(--c-specialized-bg); }
  .tax-tab[data-panel="workforce"] { --tax-tab-accent: var(--c-workforce); --tax-tab-tint: var(--c-workforce-bg); }
  .tax-tab:hover {
    background: rgba(255,255,255,0.76);
    border-color: #D3E0EE;
  }
  .tax-tab.active {
    background: white;
    border-color: #CCDBEA;
    box-shadow: 0 4px 12px rgba(16, 42, 73, 0.08);
  }
  .tab-icon {
    width: 30px; height: 30px;
    border-radius: 7px;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; flex-shrink: 0; margin-top: 1px;
  }
  .tab-label h3 { font-size: 13.5px; font-weight: 600; color: var(--navy-deep); line-height: 1.3; margin-bottom: 1px; }
  .tab-label p { font-size: 12px; color: var(--text-light); line-height: 1.35; }
  .tab-count {
    font-size: 12px; font-weight: 600; color: var(--text-light);
    background: rgba(16,42,73,0.08);
    padding: 2px 7px; border-radius: 10px;
    margin-left: auto; flex-shrink: 0; align-self: center;
  }
  .tax-tab.active .tab-count { background: var(--gold-light); color: var(--navy); }

  .tax-panel {
    padding: 22px 24px;
    display: none;
    background: linear-gradient(180deg, #FFFFFF 0%, #FBFDFF 100%);
  }
  .tax-panel.active { display: block; }
  .panel-header { margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--border); }
  .panel-header h2 {
    font-family: var(--font-display);
    font-size: 19px; font-weight: 700; color: var(--navy-deep); margin-bottom: 3px;
    letter-spacing: 0.08px;
  }
  .panel-header p { font-size: 13px; color: var(--text-light); line-height: 1.5; }
  .panel-header-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 8px;
  }
  .panel-header-top h2 { margin-bottom: 0; }
  .tax-category-bulk-add-btn {
    flex-shrink: 0;
    margin-left: auto;
  }
  .tax-category-bulk-add-btn.is-all-saved {
    background: #F6F9FC;
    border-color: #D9E4EE;
    color: #6D8094;
  }

  .resource-list { display: flex; flex-direction: column; gap: 7px; }
  .resource-card {
    display: grid; grid-template-columns: 1fr auto;
    align-items: center; gap: 12px;
    padding: 11px 12px;
    border: 1px solid #D5E1ED;
    border-radius: 12px;
    background: var(--surface);
    box-shadow: 0 1px 2px rgba(16, 42, 73, 0.04);
    transition: all 0.18s ease;
    cursor: pointer;
    text-decoration: none; color: inherit;
  }
  .resource-card:hover {
    border-color: #BFD2E6;
    background: #F7FBFF;
    transform: translateY(-1px);
    box-shadow: var(--shadow-card);
  }
  .resource-card-wrap,
  .pp-resource-wrap {
    position: relative;
  }
  .resource-card.has-resource-actions {
    padding-right: 140px;
  }
  .pp-resource.has-resource-actions {
    padding-right: 154px;
  }
  .resource-actions {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
    z-index: 3;
  }
  .pp-resource-wrap .resource-actions {
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
  }
  .resource-action-btn {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: 1px solid #D0DDEC;
    background: #FFFFFF;
    color: #4A5F75;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.16s ease;
    padding: 0;
    font: inherit;
  }
  .resource-action-btn:hover {
    color: var(--navy-deep);
    border-color: #B9CEE3;
    background: #F4FAFF;
  }
  .resource-action-btn.is-added {
    color: #123255;
    border-color: #AFC7DF;
    background: #EAF3FC;
  }
  .resource-action-btn.is-copied {
    color: #123255;
    border-color: #AFC7DF;
    background: #EAF3FC;
  }
  .resource-action-btn.is-shared {
    color: #1F5D2B;
    border-color: #9CCAA9;
    background: #EAF7EC;
  }
  .resource-action-btn.is-limit {
    color: #8A2D35;
    border-color: #D9B2B7;
    background: #FFF4F5;
  }
  .resource-action-icon {
    width: 14px;
    height: 14px;
    display: block;
  }
  .resource-action-btn[data-action="add"] .resource-action-icon,
  .resource-action-btn[data-action="copy"] .resource-action-icon,
  .resource-action-btn[data-action="share"] .resource-action-icon {
    width: 16px;
    height: 16px;
  }
  .resource-card h4 { font-size: 13.5px; font-weight: 600; color: var(--navy-deep); line-height: 1.4; }
  .resource-desc {
    margin-top: 3px;
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .resource-desc.expanded {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
  }
  .resource-desc-toggle {
    display: inline-block;
    margin-top: 3px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--navy);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
  }
  .resource-desc-toggle[role="button"] { user-select: none; }
  .resource-desc-toggle:hover { color: var(--navy-deep); }
  .resource-meta { display: flex; align-items: center; gap: 10px; margin-top: 4px; flex-wrap: wrap; }
  .resource-source { font-size: 12px; color: var(--text-light); font-weight: 500; }
  .resource-type {
    font-size: 12px; padding: 2px 7px; border-radius: 4px;
    font-weight: 600; text-transform: uppercase; letter-spacing: 0.4px;
  }
  /* Resource types in taxonomy panels: quiet but readable */
  .resource-card .resource-type {
    background: var(--chip-bg);
    color: var(--chip-text);
    border: none;
  }
  /* Same treatment in partner profile panels */
  .pp-resource .resource-type {
    background: var(--chip-bg);
    color: var(--chip-text);
    border: none;
  }
  .resource-flag {
    display: inline-block;
    font-size: 12px;
    padding: 2px 7px;
    border-radius: 4px;
    font-weight: 600;
    letter-spacing: 0.2px;
    white-space: nowrap;
  }
  .resource-flag-webinar {
    background: #E8F3FF;
    color: #1F4F78;
    border: 1px solid #C7DDF1;
  }
  .resource-arrow { color: var(--text-light); font-size: 14px; opacity: 0; transition: all 0.15s; }
  .resource-card:hover .resource-arrow { opacity: 1; transform: translateX(2px); }

  .show-more-link {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 13px; font-weight: 600; color: var(--navy);
    text-decoration: none; margin-top: 12px; padding: 4px 0;
    cursor: pointer; background: none; border: none;
    border-bottom: 1.5px solid transparent;
    font-family: inherit; flex-shrink: 0;
  }
  .show-more-link:hover { border-bottom-color: var(--navy); }

  /* Dense closed state so desktop can show 4 cards without breaking layout */
  .tax-panel.compact-cards .resource-card {
    gap: 10px;
    padding: 9px 10px;
  }
  .tax-panel.compact-cards .resource-card.has-resource-actions {
    padding-right: 140px;
  }
  .tax-panel.compact-cards .resource-card h4 {
    font-size: 13px;
    line-height: 1.32;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .tax-panel.compact-cards .resource-desc {
    margin-top: 3px;
    font-size: 12px;
    line-height: 1.42;
    -webkit-line-clamp: 2;
  }
  .tax-panel.compact-cards .resource-desc-toggle { display: inline-block; margin-top: 2px; }
  .tax-panel.compact-cards .resource-meta { margin-top: 4px; }

  .type-coaching    { background: var(--c-coaching-bg); color: var(--c-coaching); }
  .type-learning    { background: var(--c-learning-bg); color: var(--c-learning); }
  .type-data        { background: var(--c-data-bg);     color: var(--c-data); }
  .type-family      { background: var(--c-family-bg);   color: var(--c-family); }
  .type-specialized { background: var(--c-specialized-bg); color: var(--c-specialized); }
  .type-workforce   { background: var(--c-workforce-bg); color: var(--c-workforce); }



  /* --- STORIES --- */
  .stories-section {
    padding: 24px 0 26px;
    border-top: 1px solid var(--border);
  }
  .stories-section .section-desc {
    margin-bottom: 12px;
    max-width: 680px;
  }
  .stories-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    gap: 14px;
    margin-top: 0;
    align-items: stretch;
  }
  .stories-layout > div:first-child {
    display: flex;
    min-height: 100%;
  }
  .stories-layout > div:first-child > .story-card,
  .stories-layout > div:first-child > .story-card-button {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  .stories-side-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 14px;
    min-height: 100%;
    height: 100%;
  }
  .stories-side-grid .story-card,
  .stories-side-grid .story-card-button {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  .story-card,
  .story-card-button {
    border: 1px solid #D5E1ED;
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, #FFFFFF 0%, #FCFDFF 100%);
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(16, 42, 73, 0.05);
  }
  .story-card-button {
    width: 100%;
    padding: 0;
    text-align: left;
    border: 1px solid var(--border);
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
  }
  .story-card-button:hover {
    transform: translateY(-2px);
    border-color: #BFD2E6;
    box-shadow: var(--shadow-card-hover);
  }
  .story-card-button:focus-visible {
    border-color: #BFD2E6;
    box-shadow: var(--shadow-card-hover);
  }
  .story-save-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    background: rgba(255,255,255,0.96);
    border-color: #C5D6E8;
  }
  .story-save-btn:hover {
    background: #FFFFFF;
    border-color: #9FB9D5;
  }
  .story-media-shell {
    position: relative;
    aspect-ratio: 16 / 9;
    background: linear-gradient(145deg, #17375F, #2B4E74);
    overflow: hidden;
  }
  .story-media-shell::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8,20,34,0.05) 45%, rgba(8,20,34,0.65) 100%);
    pointer-events: none;
  }
  .story-card.placeholder .story-media-shell {
    background: linear-gradient(145deg, #35506A, #718AA3);
  }
  .story-poster {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .story-play {
    position: absolute;
    left: 12px;
    bottom: 12px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(16,42,73,0.92);
    border: 1px solid rgba(255,255,255,0.25);
    color: white;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
  }
  .story-card.featured .story-play,
  .story-card-button.featured .story-play {
    width: 48px;
    height: 48px;
    font-size: 15px;
  }
  .story-duration {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 1;
    background: rgba(8,20,34,0.78);
    border: 1px solid rgba(255,255,255,0.24);
    color: rgba(255,255,255,0.92);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    padding: 2px 8px;
    letter-spacing: 0.2px;
  }
  .story-status {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 1;
    background: rgba(227,161,32,0.97);
    color: #23364A;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 8px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
  }
  .story-content {
    padding: 11px 13px 12px;
    display: flex;
    flex-direction: column;
  }
  .story-card.featured .story-content,
  .story-card-button.featured .story-content {
    padding: 13px 15px 14px;
  }
  .story-member {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #526274;
    margin-bottom: 5px;
  }
  .story-title {
    font-family: var(--font-display);
    color: var(--navy-deep);
    font-size: 17px;
    line-height: 1.3;
    margin-bottom: 5px;
  }
  .story-card:not(.featured) .story-title,
  .story-card-button:not(.featured) .story-title {
    font-size: 15px;
  }
  .story-quote {
    font-size: 12.5px;
    color: var(--text-light);
    line-height: 1.55;
    margin-bottom: 6px;
    max-width: 58ch;
  }
  .story-card.featured .story-quote,
  .story-card-button.featured .story-quote {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .story-card:not(.featured) .story-quote,
  .story-card-button:not(.featured) .story-quote {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .story-watch-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    padding-top: 4px;
    color: var(--navy);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .story-watch-cta.muted {
    color: #607388;
    text-decoration: none;
    font-weight: 600;
  }

  .story-overlay {
    position: fixed;
    inset: 0;
    background: rgba(6,16,28,0.62);
    z-index: 240;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  .story-overlay.open {
    opacity: 1;
    pointer-events: auto;
  }
  .story-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.98);
    width: min(940px, calc(100% - 28px));
    background: white;
    border-radius: var(--radius-lg);
    box-shadow: 0 18px 50px rgba(0,0,0,0.26);
    z-index: 241;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    border: 1px solid rgba(16,38,60,0.14);
    overflow: hidden;
  }
  .story-modal.open {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
  }
  .story-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
  }
  .story-modal-header h2 {
    font-family: var(--font-display);
    font-size: 21px;
    color: var(--navy-deep);
    line-height: 1.25;
  }
  .story-modal-close {
    border: 1px solid var(--border);
    background: white;
    color: var(--text-light);
    width: 34px;
    height: 34px;
    border-radius: 7px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .story-modal-close:hover {
    border-color: var(--sky-mid);
    color: var(--navy-deep);
    background: var(--sky);
  }
  .story-modal-frame-wrap {
    padding: 14px 16px 4px;
  }
  .story-modal-frame {
    aspect-ratio: 16 / 9;
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
    background: #000;
  }
  .story-modal-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
  }
  .story-modal-meta {
    padding: 0 16px 14px;
    color: var(--text-light);
    font-size: 12px;
  }
  .bus-overlay {
    position: fixed;
    inset: 0;
    background: rgba(6,16,28,0.62);
    z-index: 142;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    will-change: opacity;
  }
  .bus-overlay.open {
    opacity: 1;
    pointer-events: auto;
  }
  .bus-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0) scale(0.985);
    width: min(1240px, calc(100% - 24px));
    background: #FFFFFF;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(16,38,60,0.14);
    box-shadow: 0 18px 50px rgba(0,0,0,0.26);
    z-index: 143;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease-out, transform 0.18s cubic-bezier(0.22, 0.84, 0.3, 1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: min(96vh, 980px);
    will-change: opacity, transform;
    backface-visibility: hidden;
    transform-origin: center center;
    contain: layout paint;
  }
  .bus-modal.open {
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(-50%, -50%, 0) scale(1);
  }
  .bus-modal-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "title actions";
    align-items: center;
    column-gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
  }
  .bus-modal-header.is-provider-hidden {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "title actions";
  }
  .bus-modal-header-title {
    grid-area: title;
    display: inline-flex;
    align-items: flex-end;
    gap: 7px;
    flex: 0 1 auto;
    min-width: 0;
    flex-wrap: nowrap;
    justify-self: start;
  }
  .bus-modal-header-title > h2,
  .bus-modal-header-title .bus-modal-provider-mark,
  .bus-modal-header-title .bus-modal-mini-icon {
    align-self: flex-end;
  }
  .bus-modal-header-title > h2,
  .bus-modal-header-title .bus-modal-mini-icon {
    transform: translateY(5px);
  }
  .bus-modal-header h2 {
    font-family: var(--font-display);
    font-size: 21px;
    color: var(--navy-deep);
    line-height: 1.25;
    margin: 0;
    white-space: nowrap;
  }
  .bus-modal-provider-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin-left: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .bus-modal-header-title .bus-modal-provider-mark {
    margin-left: 0;
    margin-right: 2px;
  }
  .bus-modal-header-title .bus-modal-provider-logo-frame {
    width: 41px;
    height: 41px;
  }
  .bus-modal-provider-mark[hidden] {
    display: none !important;
  }
  .bus-modal-provider-logo-frame {
    width: 34px;
    height: 34px;
    border-radius: 0;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    overflow: hidden;
  }
  .bus-modal-provider-logo-frame.dark {
    background: transparent;
    border-color: transparent;
  }
  .bus-modal-provider-logo-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center 34%;
    display: block;
  }
  .bus-modal-provider-logo-fallback {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.25px;
    color: var(--navy-deep);
    text-transform: uppercase;
    text-align: center;
    line-height: 1.15;
  }
  .bus-modal-mini-icon {
    margin-left: 3px;
    width: clamp(62px, 10vw, 84px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    pointer-events: none;
  }
  .bus-modal-mini-icon svg {
    width: 100%;
    height: auto;
    display: block;
    overflow: visible;
    transform: scaleX(-1);
    transform-origin: center;
    filter: drop-shadow(0 1px 1px rgba(16,42,73,0.14));
  }
  .bus-modal-mini-icon .bl {
    fill: none;
    stroke: #163B63;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .bus-modal-mini-icon .bm {
    fill: none;
    stroke: rgba(22,59,99,0.74);
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .bus-modal-mini-icon .bd {
    fill: none;
    stroke: rgba(22,59,99,0.62);
    stroke-width: 0.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .bus-modal-mini-icon .wo {
    fill: none;
    stroke: #163B63;
    stroke-width: 1.4;
  }
  .bus-modal-mini-icon .wm {
    fill: none;
    stroke: rgba(22,59,99,0.54);
    stroke-width: 0.8;
  }
  .bus-modal-mini-icon .wh { fill: #163B63; }
  .bus-modal-mini-icon .gnd {
    fill: none;
    stroke: rgba(22,59,99,0.42);
    stroke-width: 0.7;
    stroke-linecap: round;
  }
  .bus-modal-mini-icon .yellow-fill {
    fill: transparent;
    opacity: 0;
  }
  .bus-modal-header-actions {
    grid-area: actions;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-self: end;
  }
  .bus-auth-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
  }
  .bus-auth-wrap[hidden] { display: none !important; }
  .bus-auth-btn[hidden],
  .bus-auth-chip[hidden],
  .bus-auth-logout[hidden] {
    display: none !important;
  }
  .bus-auth-btn,
  .bus-auth-chip {
    border: 1px solid #C7D9EA;
    background: #FFFFFF;
    color: #214A71;
    border-radius: 999px;
    padding: 6px 11px;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.2px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.16s ease;
  }
  .bus-auth-btn:hover {
    background: #F1F7FE;
    border-color: #AFC8E0;
    color: #173A5F;
  }
  .bus-auth-btn[aria-expanded="true"] {
    background: #E8F2FD;
    border-color: #9EBBD7;
  }
  .bus-auth-chip {
    cursor: default;
    background: #F4F9FF;
    border-color: #B4CCE3;
    max-width: 220px;
    min-width: 0;
    padding: 5px 10px 5px 8px;
    gap: 6px;
  }
  .bus-auth-chip-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .bus-auth-chip-role {
    color: #7B5A00;
    border: 1px solid rgba(184, 138, 19, 0.45);
    background: rgba(225, 178, 46, 0.18);
    border-radius: 999px;
    padding: 2px 7px;
    font-weight: 700;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.42px;
    flex-shrink: 0;
  }
  .bus-auth-logout {
    border: 1px solid #C7D9EA;
    background: #FFFFFF;
    color: #2A567F;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.2px;
    border-radius: 999px;
    padding: 6px 10px;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.16s ease;
  }
  .bus-auth-logout:hover {
    border-color: #AFC8E0;
    color: #16395E;
    background: #F1F7FE;
  }
  .bus-quick-guide-btn[hidden] {
    display: none !important;
  }
  .bus-quick-guide-btn {
    border: 1px solid #DFC39B;
    background: linear-gradient(180deg, #FFF8EC 0%, #FFECCE 100%);
    color: #7A4A06;
    width: 31.28px;
    height: 31.28px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    transition: all 0.16s ease;
  }
  .bus-quick-guide-btn > span {
    display: inline-block;
    transform: scale(0.8464);
    transform-origin: center;
  }
  .bus-quick-guide-btn:hover {
    border-color: #D2AA72;
    color: #623A04;
    background: #FFE5BE;
  }
  .bus-quick-guide-btn:focus-visible {
    outline: 3px solid rgba(64, 115, 158, 0.3);
    outline-offset: 1px;
  }
  .bus-modal-close {
    border: 1px solid var(--border);
    background: #FFFFFF;
    color: var(--text-light);
    width: 34px;
    height: 34px;
    border-radius: 7px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .bus-modal-close:hover {
    border-color: var(--sky-mid);
    color: var(--navy-deep);
    background: var(--sky);
  }
  .bus-modal-body {
    --bus-mobile-tools-height: 0px;
    position: relative;
    padding: 14px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    flex: 1 1 auto;
    min-height: 0;
  }
  .bus-summary-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
  }
  .bus-summary {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
    color: var(--navy);
    text-transform: uppercase;
  }
  .bus-mobile-summary {
    display: none;
    margin: 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12px;
    line-height: 1.35;
    color: #4E6D8A;
  }
  .bus-list-actions {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding-top: 2px;
  }
  .bus-actions-primary {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-start;
    min-width: 0;
    flex: 1 1 auto;
    border: 1px solid #D5E3F0;
    border-radius: 14px;
    background: linear-gradient(180deg, #F8FBFF 0%, #F2F8FE 100%);
    padding: 6px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  }
  .bus-actions-secondary {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 auto;
    border: 1px solid #D5E3F0;
    border-radius: 12px;
    background: #F8FBFF;
    padding: 6px;
  }
  .bus-tools-menu-wrap {
    position: relative;
    display: flex;
    flex: 0 0 auto;
  }
  .bus-tools-menu-trigger {
    gap: 7px;
    padding-inline: 11px;
  }
  .bus-tools-menu-trigger[aria-expanded="true"] {
    color: #1E466A;
    border-color: #AFC7DE;
    background: #EDF6FF;
  }
  .bus-tools-menu-trigger:focus-visible {
    outline: 2px solid rgba(64,115,158,0.3);
    outline-offset: 1px;
  }
  #busExportBtn::after {
    content: '';
    width: 7px;
    height: 7px;
    border-right: 1.7px solid currentColor;
    border-bottom: 1.7px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    transform-origin: center;
    transition: transform 0.16s ease;
    opacity: 0.78;
  }
  #busExportBtn[aria-expanded="true"]::after {
    transform: rotate(-135deg) translate(-1px, 1px);
  }
  #busToolsMoreBtn {
    min-width: 112px;
    justify-content: flex-start;
    gap: 9px;
    color: #7A2930;
    background: #FFF6F6;
    border-color: #E7C8CD;
    padding-inline: 10px;
  }
  #busToolsMoreBtn:hover:not(:disabled) {
    color: #631F26;
    background: #FFF0F2;
    border-color: #DDB1B8;
  }
  .bus-clear-toolbar-icon {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .bus-clear-toolbar-icon svg {
    width: 17px;
    height: 17px;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
  }
  .bus-clear-toolbar-label {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .bus-tools-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 188px;
    max-width: min(280px, calc(100vw - 24px));
    border: 1px solid #C8D9EB;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 10px 22px rgba(12, 23, 38, 0.17);
    padding: 5px;
    display: grid;
    gap: 2px;
    z-index: 18;
    max-height: min(52vh, 280px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .bus-tools-menu.is-open-up {
    top: auto;
    bottom: calc(100% + 6px);
  }
  .bus-tools-menu-wrap[data-tools-menu-key="export"] .bus-tools-menu {
    left: 0;
    right: auto;
  }
  .bus-tools-menu-wrap[data-tools-menu-key="more"] .bus-tools-menu {
    right: 0;
    left: auto;
  }
  .bus-tools-menu[hidden] {
    display: none !important;
  }
  .bus-tools-menu-item {
    border: 0;
    background: transparent;
    color: #163B63;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    border-radius: 7px;
    padding: 7px 9px;
    cursor: pointer;
    line-height: 1.3;
  }
  .bus-tools-menu-item:hover {
    background: #F3F8FE;
  }
  .bus-tools-menu-item:focus-visible {
    outline: 2px solid rgba(64,115,158,0.26);
    outline-offset: 1px;
  }
  .bus-tools-menu-item.danger {
    color: #7A2930;
  }
  .bus-tools-menu-item.danger:hover {
    background: #FFF1F2;
  }
  .bus-tools-menu-item:disabled {
    opacity: 0.55;
    cursor: not-allowed;
  }
  #busExportBtn {
    min-width: 96px;
  }
  #busShareSelectedBtn {
    min-width: 118px;
  }
  #busDesktopCopyLinkBtn {
    min-width: 102px;
  }
  #busSelectionTools {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    margin-left: auto;
  }
  #busSelectionTools[hidden] {
    display: none !important;
  }
  #busMoveBtn {
    min-width: 112px;
    padding-inline: 12px;
  }
  #busSelectionStatus {
    border: 1px solid #AFC8DF;
    background: linear-gradient(180deg, #EEF6FF 0%, #E0EEFF 100%);
    color: #1C486E;
    border-radius: 999px;
    padding: 0 10px;
    min-height: 32px;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.2px;
    line-height: 1.2;
    white-space: nowrap;
    flex: 0 0 auto;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
  }
  #busSelectionStatus.is-visible {
    display: inline-flex;
  }
  .bus-btn {
    border: 1px solid #D3E0EE;
    background: #FFFFFF;
    color: var(--navy);
    border-radius: 10px;
    padding: 7px 10px;
    height: 38px;
    min-height: 38px;
    box-sizing: border-box;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.16s ease;
  }
  .bus-btn[hidden] {
    display: none !important;
  }
  .bus-btn:hover {
    background: #F4FAFF;
    border-color: #BFD2E6;
  }
  .bus-btn.secondary {
    color: var(--text-light);
    background: #F8FBFF;
    border-color: #D8E3EE;
  }
  .bus-btn.secondary:hover {
    color: var(--text);
    background: #FFFFFF;
  }
  .bus-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
  }
  .bus-inline-link {
    border: 0;
    background: transparent;
    color: var(--text-light);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    padding: 1px 2px;
  }
  .bus-inline-link:hover {
    color: var(--navy);
  }
  .bus-inline-link:focus-visible {
    outline: 3px solid rgba(64,115,158,0.22);
    outline-offset: 2px;
    border-radius: 4px;
  }
  .bus-items-wrap {
    --bus-email-select-col-width: 92px;
    --bus-email-select-offset: 0px;
    margin-top: 18px;
    border: 1px solid #C9DBEC;
    border-radius: 0;
    background: #F7FBFF;
    box-shadow: inset 0 0 0 1px #E3EDF7;
    max-height: clamp(280px, 60vh, 700px);
    min-height: 86px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .bus-items-wrap[hidden] {
    display: none !important;
  }
  .bus-organizer-shell {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    flex: 1 1 auto;
    min-height: 0;
  }
  .bus-organizer-shell.is-email-mode {
    grid-template-columns: minmax(0, 1fr);
  }
  .bus-organizer-shell.is-email-mode .bus-folder-nav,
  .bus-organizer-shell.is-email-mode .bus-list-tools {
    display: none;
  }
  .bus-folder-nav {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 10px 8px;
    border-right: 1px solid var(--border);
    background: #ECF4FC;
    box-shadow: inset 0 0 0 1px #D7E4F2;
    overflow: auto;
  }
  .bus-folder-section + .bus-folder-section {
    margin-top: 10px;
  }
  .bus-folder-section-head {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    margin: 4px 0 6px;
    padding: 0 2px;
  }
  .bus-folder-section-label {
    margin: 0;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.45px;
    text-transform: uppercase;
    color: #496A8A;
  }
  .bus-folder-section-label-iptn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .bus-folder-section-iptn-logo-wrap {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: rgba(255,255,255,0.85);
    box-shadow: 0 0 0 1px rgba(40,76,112,0.18);
  }
  .bus-folder-section-iptn-logo {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
  }
  .bus-folder-stack {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .bus-my-bin-row {
    position: relative;
  }
  .bus-folder-stack .bus-my-bin-row + .bus-my-bin-row {
    margin-top: -1px;
  }
  .bus-folder-add-icon-btn {
    border: 1px solid #C8D9EB;
    background: linear-gradient(180deg, #FFFFFF 0%, #EEF5FC 100%);
    color: #163B63;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    font-size: 0;
    line-height: 0;
    font-weight: 400;
    position: relative;
    flex: 0 0 30px;
    box-shadow: 0 1px 2px rgba(22,59,99,0.1), inset 0 1px 0 rgba(255,255,255,0.9);
    transition: color 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, transform 0.12s ease;
  }
  .bus-folder-add-icon-btn::before,
  .bus-folder-add-icon-btn::after {
    content: '';
    position: absolute;
    background: currentColor;
    border-radius: 999px;
  }
  .bus-folder-add-icon-btn::before {
    width: 12px;
    height: 2px;
  }
  .bus-folder-add-icon-btn::after {
    width: 2px;
    height: 12px;
  }
  .bus-folder-add-icon-btn:hover {
    background: linear-gradient(180deg, #FFFFFF 0%, #E5F0FB 100%);
    border-color: #B2C9E0;
    color: #0F2F4F;
    box-shadow: 0 2px 4px rgba(22,59,99,0.16), inset 0 1px 0 rgba(255,255,255,0.95);
  }
  .bus-folder-add-icon-btn:active {
    background: linear-gradient(180deg, #F2F8FF 0%, #DEEBF8 100%);
    border-color: #A3BED9;
    box-shadow: inset 0 1px 2px rgba(22,59,99,0.18);
    transform: translateY(0.5px);
  }
  .bus-folder-add-icon-btn:focus-visible {
    outline: 2px solid rgba(64,115,158,0.35);
    outline-offset: 2px;
  }
  .bus-folder-empty-note {
    margin: 0;
    padding: 9px 8px;
    border: 1px solid #D4E3F2;
    background: #F8FBFF;
    color: #5E7894;
    font-size: 11.5px;
    line-height: 1.35;
  }
  .bus-folder-btn {
    width: 100%;
    border: 1px solid #C8D9EB;
    border-left-width: 4px;
    border-radius: 0;
    background: #F8FBFF;
    color: var(--navy);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    min-height: 54px;
    padding: 12px 10px 12px 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }
  .bus-folder-stack .bus-folder-btn + .bus-folder-btn {
    margin-top: -1px;
  }
  .bus-folder-btn[data-category-key="all"] { border-left-color: #6E97BF; }
  .bus-folder-btn[data-category-key="coaching"] { border-left-color: var(--c-coaching); }
  .bus-folder-btn[data-category-key="learning"] { border-left-color: var(--c-learning); }
  .bus-folder-btn[data-category-key="data"] { border-left-color: var(--c-data); }
  .bus-folder-btn[data-category-key="family"] { border-left-color: var(--c-family); }
  .bus-folder-btn[data-category-key="stories"] { border-left-color: var(--c-stories); }
  .bus-folder-btn[data-category-key="specialized"] { border-left-color: var(--c-specialized); }
  .bus-folder-btn[data-category-key="workforce"] { border-left-color: var(--c-workforce); }
  .bus-folder-btn[data-category-key="uncategorized"] { border-left-color: #7E6A56; }
  .bus-folder-btn:hover {
    background: #F1F7FF;
    border-color: #B9CEE3;
  }
  .bus-folder-btn.is-active {
    border-color: #9FB8D2;
    background: #FFFFFF;
    color: var(--navy-deep);
    box-shadow: inset 0 0 0 1px rgba(120, 154, 188, 0.18);
  }
  .bus-folder-count {
    color: var(--text-light);
    font-size: 12px;
    font-weight: 700;
  }
  .bus-folder-btn.is-active .bus-folder-count {
    color: var(--navy);
  }
  .bus-mobile-category-nav-wrap {
    position: relative;
    display: none;
    margin: 0;
    padding: 0;
  }
  .bus-mobile-category-nav-wrap[hidden] {
    display: none !important;
  }
  .bus-mobile-category-nav {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 8px;
    padding: 10px 36px 10px 12px;
    background: #F5F8FC;
    border-bottom: 1px solid #E0E8F0;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .bus-mobile-category-nav::-webkit-scrollbar {
    display: none;
  }
  .bus-mobile-category-chip {
    appearance: none;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 10px 6px;
    min-width: 80px;
    max-width: 110px;
    min-height: 0;
    border: 1.5px solid #D0DCE9;
    border-radius: 10px;
    background: #FFFFFF;
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: inherit;
    opacity: 1;
  }
  .bus-mobile-category-chip.is-active {
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.07);
  }
  .bus-mobile-category-chip.is-empty {
    border-color: #E4EAF0;
    background: #F0F3F7;
    opacity: 0.55;
  }
  .bus-mobile-category-chip-icon {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    flex-shrink: 0;
  }
  .bus-mobile-category-chip-label {
    font-size: 11px;
    font-weight: 500;
    line-height: 1.3;
    color: #2A3F55;
    text-align: center;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
  }
  .bus-mobile-category-chip-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    padding: 1px 7px;
    border-radius: 8px;
    background: #E8EEF5;
    color: #5A6D82;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
  }
  .bus-mobile-category-fade {
    appearance: none;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 48px;
    border: 0;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    z-index: 2;
    transition: opacity 0.2s;
    cursor: pointer;
  }
  .bus-mobile-category-fade:disabled {
    cursor: default;
  }
  .bus-mobile-category-fade--left {
    left: 0;
    justify-content: flex-start;
    padding-left: 6px;
    background: linear-gradient(to left, transparent, #F5F8FC 80%);
  }
  .bus-mobile-category-fade--right {
    right: 0;
    justify-content: flex-end;
    padding-right: 6px;
    background: linear-gradient(to right, transparent, #F5F8FC 80%);
  }
  .bus-mobile-category-fade-arrow {
    color: #5A7A99;
    font-size: 20px;
    font-weight: 700;
    opacity: 0.7;
    user-select: none;
    background: rgba(245, 248, 252, 0.9);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  }
  .bus-folder-btn.is-my-bin {
    align-items: stretch;
    justify-content: flex-start;
    flex-direction: column;
    min-height: 82px;
    gap: 6px;
    padding: 9px 40px 9px 10px;
    background: #FFFFFF;
    border-left-width: 1px;
  }
  .bus-folder-btn.is-my-bin.is-active {
    border-color: #89AACC;
    box-shadow: inset 0 0 0 1px rgba(91, 130, 168, 0.3);
  }
  .bus-folder-btn.is-my-bin.is-drop-target {
    border-color: #5E8CB5;
    background: #FFFFFF;
    box-shadow:
      inset 0 0 0 1px rgba(83, 128, 171, 0.34),
      0 0 0 2px rgba(127, 167, 206, 0.2);
  }
  .bus-folder-btn.is-my-bin.is-drop-target .bus-bin-visual {
    filter: drop-shadow(0 0 4px rgba(41,85,124,0.22));
  }
  .bus-my-bin-menu-wrap {
    position: absolute;
    top: 6px;
    right: 6px;
    z-index: 6;
  }
  .bus-my-bin-menu-btn {
    border: 0;
    background: transparent;
    color: #163B63;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    padding: 0;
    cursor: pointer;
    font-size: 17px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.16s ease, color 0.16s ease;
  }
  .bus-my-bin-menu-btn:hover {
    background: rgba(22, 59, 99, 0.1);
    color: #0F2F4F;
  }
  .bus-my-bin-menu-btn:focus-visible {
    outline: 2px solid rgba(64,115,158,0.28);
    outline-offset: 1px;
  }
  .bus-my-bin-menu {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    min-width: 138px;
    max-width: min(250px, calc(100vw - 24px));
    border: 1px solid #C8D9EB;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 10px 20px rgba(12, 23, 38, 0.18);
    padding: 5px;
    display: grid;
    gap: 2px;
    max-height: min(52vh, 260px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .bus-my-bin-menu.is-open-up {
    top: auto;
    bottom: calc(100% + 4px);
  }
  .bus-my-bin-menu[hidden] {
    display: none !important;
  }
  .bus-my-bin-menu-item {
    border: 0;
    background: transparent;
    color: #163B63;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    border-radius: 7px;
    padding: 7px 9px;
    cursor: pointer;
    line-height: 1.3;
  }
  .bus-my-bin-menu-item:hover {
    background: #F3F8FE;
  }
  .bus-my-bin-menu-item:focus-visible {
    outline: 2px solid rgba(64,115,158,0.26);
    outline-offset: 1px;
  }
  .bus-my-bin-menu-item.danger {
    color: #8A2D35;
  }
  .bus-my-bin-menu-item.danger:hover {
    background: #FFF2F3;
  }
  .bus-folder-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
  }
  .bus-bin-label {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .bus-bin-visual {
    position: relative;
    display: block;
    width: 100%;
    height: calc(46px * 1.05);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    isolation: auto;
  }
  .bus-bin-fill-svg,
  .bus-bin-base-svg {
    position: absolute;
    inset: -4% -2%;
    width: 100%;
    height: 100%;
    display: block;
    transform: scaleX(-1);
    transform-origin: center;
  }
  .bus-bin-fill-svg {
    z-index: 1;
    pointer-events: auto;
  }
  .bus-bin-base-svg {
    z-index: 2;
    pointer-events: none;
  }
  .bus-bin-base-svg .bl {
    fill: none;
    stroke: #163B63;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .bus-bin-base-svg .bm {
    fill: none;
    stroke: rgba(22,59,99,0.74);
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .bus-bin-base-svg .bd {
    fill: none;
    stroke: rgba(22,59,99,0.62);
    stroke-width: 0.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .bus-bin-base-svg .wo {
    fill: none;
    stroke: #163B63;
    stroke-width: 1.4;
  }
  .bus-bin-base-svg .wm {
    fill: none;
    stroke: rgba(22,59,99,0.54);
    stroke-width: 0.8;
  }
  .bus-bin-base-svg .wh { fill: #163B63; }
  .bus-bin-base-svg .gnd {
    fill: none;
    stroke: rgba(22,59,99,0.42);
    stroke-width: 0.7;
    stroke-linecap: round;
  }
  .bus-bin-base-svg .yellow-fill {
    fill: rgba(255,255,255,0.02);
    opacity: 1;
  }
  .bus-bin-fill-shell {
    opacity: 0.66;
    stroke: none;
    pointer-events: none;
  }
  .bus-bin-fill {
    fill: var(--bus-bin-fill, #7FB3DE);
    opacity: 0.94;
    stroke: rgba(255,255,255,0.3);
    stroke-width: 0.38;
    pointer-events: auto;
    cursor: help;
    transition: filter 0.14s ease, opacity 0.14s ease;
  }
  .bus-bin-fill:hover {
    filter: saturate(1.12) brightness(1.08);
    opacity: 1;
  }
  .bus-bin-fill.is-roof {
    opacity: 0.88;
    filter: saturate(1.08) brightness(1.08);
  }
  .bus-bin-fill.is-mid {
    opacity: 0.95;
    filter: saturate(1.06) brightness(1.02);
  }
  .bus-bin-fill.is-lower {
    opacity: 0.84;
    filter: saturate(1.02) brightness(0.94);
  }
  .bus-bin-fill[data-category-key="coaching"] { --bus-bin-fill: #4C9CF0; }
  .bus-bin-fill[data-category-key="learning"] { --bus-bin-fill: #F2A03A; }
  .bus-bin-fill[data-category-key="data"] { --bus-bin-fill: #4CAE4D; }
  .bus-bin-fill[data-category-key="family"] { --bus-bin-fill: #8F64D6; }
  .bus-bin-fill[data-category-key="stories"] { --bus-bin-fill: #CAA044; }
  .bus-bin-fill[data-category-key="specialized"] { --bus-bin-fill: #32B8C6; }
  .bus-bin-fill[data-category-key="workforce"] { --bus-bin-fill: #DF5656; }
  .bus-bin-fill[data-category-key="uncategorized"] { --bus-bin-fill: #A68E76; }
  .bus-bin-visual::after {
    content: none;
  }
  .bus-folder-btn.is-my-bin:hover .bus-bin-visual::after,
  .bus-folder-btn.is-my-bin:focus-visible .bus-bin-visual::after,
  .bus-folder-btn.is-my-bin.is-active .bus-bin-visual::after {
    opacity: 0.95;
    animation: bus-bin-sheen 0.84s cubic-bezier(.26,.83,.23,1) 1;
  }
  .bus-bin-visual.is-empty {
    background: transparent;
  }
  .bus-bin-visual.is-empty .bus-bin-fill-svg {
    display: none;
  }
  .bus-bin-visual.is-empty .bus-bin-base-svg .yellow-fill {
    fill: rgba(220,236,251,0.52);
    opacity: 1;
  }
  @keyframes bus-bin-sheen {
    from { transform: translateX(-125%); }
    to { transform: translateX(125%); }
  }
  @media (prefers-reduced-motion: reduce) {
    .bus-folder-btn.is-my-bin:hover .bus-bin-visual::after,
    .bus-folder-btn.is-my-bin:focus-visible .bus-bin-visual::after,
    .bus-folder-btn.is-my-bin.is-active .bus-bin-visual::after {
      animation: none;
      opacity: 0;
    }
  }
  .bus-bin-color-tooltip {
    position: fixed;
    z-index: 230;
    max-width: min(280px, calc(100vw - 20px));
    border: 1px solid #BBD0E4;
    border-radius: 9px;
    background: rgba(10, 21, 35, 0.94);
    color: #FFFFFF;
    font-size: 11.5px;
    line-height: 1.35;
    padding: 6px 8px;
    box-shadow: 0 8px 18px rgba(12, 23, 38, 0.32);
    pointer-events: none;
    white-space: nowrap;
  }
  .bus-bin-color-tooltip[hidden] {
    display: none !important;
  }
  .bus-bin-color-popover {
    position: fixed;
    z-index: 231;
    width: min(300px, calc(100vw - 20px));
    border: 1px solid #BFD4E8;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 18px 30px rgba(12, 23, 38, 0.24);
    padding: 10px 11px;
    color: #0E2D4E;
  }
  .bus-bin-color-popover[hidden] {
    display: none !important;
  }
  .bus-bin-color-popover-title {
    margin: 0 0 7px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3px;
    color: #4A6988;
    text-transform: uppercase;
  }
  .bus-bin-color-popover-row {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .bus-bin-color-popover-swatch {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    border: 1px solid rgba(12, 23, 38, 0.2);
    flex: 0 0 auto;
  }
  .bus-bin-color-popover-label {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #163B63;
    line-height: 1.3;
  }
  .bus-bin-color-popover-meta {
    margin: 2px 0 0;
    font-size: 12px;
    color: #476786;
    line-height: 1.35;
  }
  .bus-list-pane {
    position: relative;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #FCFEFF;
    box-shadow: inset 0 0 0 1px #DCE8F4;
  }
  #busFeedback {
    position: fixed;
    left: 50%;
    right: auto;
    top: calc(max(12px, env(safe-area-inset-top)) + 44px);
    z-index: 155;
    max-width: min(640px, calc(100vw - 24px));
    transform: translate(-50%, -6px);
  }
  #busFeedback.is-visible {
    transform: translate(-50%, 0);
  }
  #busFeedback.is-fading {
    transform: translate(-50%, -6px);
  }
  .bus-list-tools {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 8px 8px 0;
    padding: 10px 10px;
    border: 1px solid #CFE0F1;
    border-radius: 0;
    border-bottom-color: #C5D8EA;
    background: #F5FAFF;
    box-shadow: 1px 1px 0 #E7EFF8;
  }
  .bus-list-query {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(128px, 172px) minmax(132px, 176px);
    gap: 8px;
  }
  .bus-list-query-controls {
    display: contents;
  }
  .bus-search-input,
  .bus-select {
    width: 100%;
    border: 1px solid #D3E0EE;
    border-radius: 8px;
    background: #FFFFFF;
    color: var(--text);
    font-size: 12px;
    line-height: 1.35;
    height: 34px;
    padding: 0 10px;
    box-sizing: border-box;
  }
  .bus-search-input:focus-visible,
  .bus-select:focus-visible {
    outline: 3px solid rgba(64,115,158,0.22);
    outline-offset: 1px;
    border-color: #9DBAD7;
  }
  .bus-mobile-utility-bar {
    display: none;
  }
  .bus-mobile-utility-bar[hidden] {
    display: none !important;
  }
  .bus-mobile-primary-actions {
    display: none;
  }
  .bus-mobile-primary-actions[hidden] {
    display: none !important;
  }
  .bus-mobile-utility-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
  }
  .bus-mobile-utility-toggle {
    appearance: none;
    min-width: 0;
    border: 1px solid #D5E3F0;
    border-radius: 12px;
    background: #FFFFFF;
    color: #183F65;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    transition: all 0.16s ease;
    position: relative;
  }
  .bus-mobile-utility-toggle:hover {
    border-color: #B9CEE1;
    background: #F7FBFF;
  }
  .bus-mobile-utility-toggle:disabled {
    opacity: 0.52;
    cursor: not-allowed;
    border-color: #DDE8F3;
    background: #F7FAFD;
    color: #7A8EA3;
    box-shadow: none;
  }
  .bus-mobile-utility-toggle:disabled:hover {
    border-color: #DDE8F3;
    background: #F7FAFD;
  }
  .bus-mobile-utility-toggle:focus-visible {
    outline: 3px solid rgba(64,115,158,0.22);
    outline-offset: 1px;
  }
  .bus-mobile-utility-toggle.is-active {
    border-color: #AFC8DF;
    background: linear-gradient(180deg, #EEF6FF 0%, #E3F0FD 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.88);
  }
  .bus-mobile-utility-toggle.has-value:not(.is-active) {
    border-color: #C8DBED;
    background: #F6FAFE;
  }
  .bus-mobile-utility-toggle[hidden] {
    display: none !important;
  }
  .bus-mobile-utility-toggle-label {
    max-width: 100%;
    font-size: 11.5px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0.12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .bus-mobile-utility-meta {
    display: none;
  }
  .bus-mobile-utility-meta[hidden] {
    display: none !important;
  }
  .bus-mobile-utility-summary,
  .bus-mobile-utility-selection {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.14px;
    white-space: nowrap;
  }
  .bus-mobile-utility-summary {
    background: #EEF5FB;
    color: #496882;
  }
  .bus-mobile-utility-selection {
    border: 1px solid #AFC8DF;
    background: linear-gradient(180deg, #EEF6FF 0%, #E0EEFF 100%);
    color: #1C486E;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
  }
  .bus-mobile-utility-selection[hidden] {
    display: none !important;
  }
  .bus-mobile-scope-panel {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid #D6E3EF;
    border-radius: 12px;
    background: linear-gradient(180deg, #FBFDFF 0%, #F5FAFF 100%);
    max-height: min(42vh, 320px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .bus-mobile-scope-section {
    display: grid;
    gap: 6px;
  }
  .bus-mobile-scope-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }
  .bus-mobile-scope-heading {
    margin: 0;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.48px;
    text-transform: uppercase;
    color: #59738E;
  }
  .bus-mobile-scope-create-btn {
    appearance: none;
    border: 1px solid #C7D9EA;
    border-radius: 999px;
    background: #FFFFFF;
    color: #1D466E;
    padding: 5px 9px;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.1;
    cursor: pointer;
  }
  .bus-mobile-scope-create-btn:hover {
    background: #F6FAFE;
    border-color: #B3CADE;
  }
  .bus-mobile-scope-list {
    display: grid;
    gap: 6px;
  }
  .bus-mobile-scope-chip {
    appearance: none;
    width: 100%;
    border: 1px solid #D5E3F0;
    border-radius: 11px;
    background: #FFFFFF;
    color: #183F65;
    padding: 10px 11px;
    display: flex;
    align-items: center;
    gap: 8px;
    text-align: left;
    cursor: pointer;
    transition: all 0.16s ease;
  }
  .bus-mobile-scope-chip:hover {
    border-color: #B9CEE1;
    background: #F7FBFF;
  }
  .bus-mobile-scope-chip:focus-visible {
    outline: 3px solid rgba(64,115,158,0.22);
    outline-offset: 1px;
  }
  .bus-mobile-scope-chip.is-active {
    border-color: #AFC8DF;
    background: linear-gradient(180deg, #EEF6FF 0%, #E3F0FD 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.88);
  }
  .bus-mobile-scope-chip-accent {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #6E97BF;
  }
  .bus-mobile-scope-chip-text {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    color: inherit;
  }
  .bus-mobile-scope-chip-text span {
    display: block;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .bus-mobile-scope-chip-count {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    padding: 1px 7px;
    border-radius: 999px;
    background: #E8EEF5;
    color: #5A6D82;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
  }
  .bus-mobile-scope-chip.is-active .bus-mobile-scope-chip-count {
    background: #D6E7F9;
    color: #1D466E;
  }
  .bus-mobile-scope-empty {
    margin: 0;
    padding: 10px 11px;
    border: 1px dashed #D5E2EE;
    border-radius: 11px;
    background: #FFFFFF;
    color: #5C7792;
    font-size: 11px;
    line-height: 1.35;
  }
  .bus-list-pane .bus-modal-note {
    padding: 14px 12px;
    margin: 0 8px 8px;
    border: 1px solid #D4E3F2;
    border-radius: 0;
    background: #FFFFFF;
  }
  .bus-view-context {
    margin: 0 8px;
    padding: 8px 10px;
    border: 1px solid #CFE0F1;
    border-left: 4px solid #6E97BF;
    border-top: 0;
    border-radius: 0;
    background: #F6FAFF;
    box-shadow: inset 0 -1px 0 #E7EFF8;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    --bus-view-accent: #6E97BF;
  }
  .bus-view-context[hidden] {
    display: none !important;
  }
  .bus-view-context[data-scope="my-bin"] {
    grid-template-columns: clamp(74px, 11vw, 94px) minmax(0, 1fr);
    border-left-width: 1px;
    border-left-color: #CFE0F1;
    background: linear-gradient(180deg, #EAF3FE 0%, #E1EEFC 100%);
    --bus-view-accent: #315F87;
  }
  .bus-view-context[data-scope="folder"][data-category-key="coaching"] { border-left-color: var(--c-coaching); background: var(--c-coaching-bg); --bus-view-accent: var(--c-coaching); }
  .bus-view-context[data-scope="folder"][data-category-key="learning"] { border-left-color: var(--c-learning); background: var(--c-learning-bg); --bus-view-accent: var(--c-learning); }
  .bus-view-context[data-scope="folder"][data-category-key="data"] { border-left-color: var(--c-data); background: var(--c-data-bg); --bus-view-accent: var(--c-data); }
  .bus-view-context[data-scope="folder"][data-category-key="family"] { border-left-color: var(--c-family); background: var(--c-family-bg); --bus-view-accent: var(--c-family); }
  .bus-view-context[data-scope="folder"][data-category-key="stories"] { border-left-color: var(--c-stories); background: var(--c-stories-bg); --bus-view-accent: var(--c-stories); }
  .bus-view-context[data-scope="folder"][data-category-key="specialized"] { border-left-color: var(--c-specialized); background: var(--c-specialized-bg); --bus-view-accent: var(--c-specialized); }
  .bus-view-context[data-scope="folder"][data-category-key="workforce"] { border-left-color: var(--c-workforce); background: var(--c-workforce-bg); --bus-view-accent: var(--c-workforce); }
  .bus-view-context[data-scope="folder"][data-category-key="uncategorized"] { border-left-color: #7E6A56; background: #F8F4EF; --bus-view-accent: #7E6A56; }
  .bus-view-context[data-scope="folder"] .bus-view-context-icon {
    width: 24px;
    min-width: 24px;
    height: 24px;
  }
  .bus-view-context-icon {
    width: 28px;
    min-width: 28px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2A5A84;
    line-height: 0;
  }
  .bus-view-context[data-scope="my-bin"] .bus-view-context-icon {
    width: 100%;
    min-width: 0;
    height: calc(46px * 1.05);
    color: #1F4F75;
  }
  .bus-view-context[data-scope="my-bin"] .bus-view-context-icon .bus-bin-visual {
    width: 100%;
    height: calc(46px * 1.05);
  }
  .bus-view-context-iptn-logo-wrap {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: rgba(255,255,255,0.92);
    box-shadow: 0 0 0 1px rgba(36,78,113,0.18), 0 1px 2px rgba(17,43,74,0.18);
  }
  .bus-view-context-iptn-logo {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
  }
  .bus-view-context-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .bus-view-context-kicker {
    margin: 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.35px;
    text-transform: uppercase;
    color: #466685;
    line-height: 1.2;
  }
  .bus-view-context-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }
  .bus-view-context-title {
    margin: 0;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--navy-deep);
    line-height: 1.3;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .bus-view-context-count {
    font-size: 11.5px;
    color: #37567A;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.35px;
    background: rgba(255,255,255,0.82);
    border: 1px solid #D4E3F2;
    border-radius: 999px;
    padding: 2px 7px;
    flex-shrink: 0;
  }
  .bus-items.bus-grouped {
    padding: 8px 0 10px;
  }
  .bus-item-group-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 8px 0 5px;
    padding: 10px 12px;
    background: #F6FAFF;
    border: 1px solid #CBDEEF;
    border-radius: 0;
    border-left: 4px solid #6E97BF;
    box-shadow: 1px 1px 0 #E7EFF8;
  }
  .bus-item-group-header[data-category-key="coaching"] {
    border-left-color: var(--c-coaching);
    background: var(--c-coaching-bg);
  }
  .bus-item-group-header[data-category-key="learning"] {
    border-left-color: var(--c-learning);
    background: var(--c-learning-bg);
  }
  .bus-item-group-header[data-category-key="data"] {
    border-left-color: var(--c-data);
    background: var(--c-data-bg);
  }
  .bus-item-group-header[data-category-key="family"] {
    border-left-color: var(--c-family);
    background: var(--c-family-bg);
  }
  .bus-item-group-header[data-category-key="stories"] {
    border-left-color: var(--c-stories);
    background: var(--c-stories-bg);
  }
  .bus-item-group-header[data-category-key="specialized"] {
    border-left-color: var(--c-specialized);
    background: var(--c-specialized-bg);
  }
  .bus-item-group-header[data-category-key="workforce"] {
    border-left-color: var(--c-workforce);
    background: var(--c-workforce-bg);
  }
  .bus-item-group-header[data-category-key="uncategorized"] {
    border-left-color: #7E6A56;
    background: #F8F4EF;
  }
  .bus-item-group-title {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--navy-deep);
    line-height: 1.3;
    letter-spacing: 0.2px;
  }
  .bus-item-group-count {
    font-size: 12px;
    color: #37567A;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    background: rgba(255,255,255,0.78);
    border: 1px solid #D4E3F2;
    border-radius: 999px;
    padding: 2px 7px;
  }
  .bus-items {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: auto;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    overscroll-behavior: contain;
  }
  .bus-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
  }
  .bus-item.is-draggable {
    cursor: grab;
  }
  .bus-item.is-draggable:active {
    cursor: grabbing;
  }
  .bus-item.is-dragging {
    opacity: 0.48;
    background: #F2F8FF;
  }
  .bus-item.is-dragging-group {
    opacity: 0.56;
    background: #EAF4FF;
  }
  .bus-item.is-dragging .bus-item-main {
    pointer-events: none;
  }
  .bus-item.is-dragging-group .bus-item-main {
    pointer-events: none;
  }
  .bus-items.bus-grouped .bus-item {
    margin-left: 0;
    border-left: 2px solid #C8D9EB;
    padding-left: 12px;
  }
  .bus-items.bus-grouped .bus-item[data-category-key="coaching"] {
    border-left-color: var(--c-coaching);
    background: var(--c-coaching-row-bg);
  }
  .bus-items.bus-grouped .bus-item[data-category-key="learning"] {
    border-left-color: var(--c-learning);
    background: var(--c-learning-row-bg);
  }
  .bus-items.bus-grouped .bus-item[data-category-key="data"] {
    border-left-color: var(--c-data);
    background: var(--c-data-row-bg);
  }
  .bus-items.bus-grouped .bus-item[data-category-key="family"] {
    border-left-color: var(--c-family);
    background: var(--c-family-row-bg);
  }
  .bus-items.bus-grouped .bus-item[data-category-key="stories"] {
    border-left-color: var(--c-stories);
    background: var(--c-stories-row-bg);
  }
  .bus-items.bus-grouped .bus-item[data-category-key="specialized"] {
    border-left-color: var(--c-specialized);
    background: var(--c-specialized-row-bg);
  }
  .bus-items.bus-grouped .bus-item[data-category-key="workforce"] {
    border-left-color: var(--c-workforce);
    background: var(--c-workforce-row-bg);
  }
  .bus-items.bus-grouped .bus-item[data-category-key="uncategorized"] {
    border-left-color: #7E6A56;
    background: var(--c-uncategorized-row-bg);
  }
  .bus-item.is-move-selected {
    box-shadow: none;
  }
  .bus-items:not(.bus-grouped) .bus-item.is-move-selected {
    background: #EDF5FF;
  }
  .bus-items.bus-grouped .bus-item.is-move-selected {
    background-image: linear-gradient(rgba(237, 245, 255, 0.76), rgba(237, 245, 255, 0.76));
  }
  .bus-item.is-move-selected .bus-item-title {
    color: #163A5D;
    font-weight: 700;
  }
  .bus-item:last-child { border-bottom: 0; }
  .bus-item-select-toggle {
    border: 1px solid #96B5D2;
    background: #F8FBFF;
    color: #244A6F;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    padding: 0;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
    transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
  }
  .bus-item-select-toggle:hover {
    border-color: #769FC5;
    background: #F5FAFF;
  }
  .bus-item-select-toggle:focus-visible {
    outline: 2px solid rgba(64, 115, 158, 0.28);
    outline-offset: 1px;
  }
  .bus-item:not(.is-move-selected) .bus-item-select-toggle::before {
    content: none;
  }
  .bus-item.is-move-selected .bus-item-select-toggle {
    border-color: #103D67;
    background: #103D67;
    color: #FFFFFF;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.75) inset, 0 0 0 2px rgba(16,61,103,0.22);
  }
  .bus-item.is-move-selected .bus-item-select-toggle::before {
    content: '\2713';
    font-weight: 900;
    font-size: 12px;
    line-height: 1;
  }
  @media (hover: none), (pointer: coarse) {
    .bus-item-select-toggle {
      width: 44px;
      height: 44px;
      min-width: 44px;
    }
    .bus-modal-close {
      width: 44px;
      height: 44px;
    }
  }
  .bus-item-main {
    display: grid;
    gap: 2px;
    min-width: 0;
    flex: 1 1 auto;
  }
  .bus-item.is-email-mode {
    gap: 8px;
  }
  .bus-item-select-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--bus-email-select-col-width);
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    width: 100%;
  }
  .bus-item-select-wrap .bus-item-main {
    min-width: 0;
  }
  .bus-item-title {
    display: block;
    max-width: 100%;
    font-size: 13px;
    font-weight: 700;
    color: var(--navy-deep);
    line-height: 1.3;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .bus-item-title:hover { text-decoration: underline; }
  .bus-item-meta {
    margin-top: 0;
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .bus-item-added {
    color: var(--navy);
    font-weight: 700;
  }
  .bus-item-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
    justify-content: flex-end;
    flex-shrink: 0;
  }
  .bus-item-btn {
    border: 1px solid #D3E0EE;
    background: #FFFFFF;
    color: var(--navy);
    border-radius: 7px;
    width: 28px;
    height: 28px;
    padding: 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.16s ease;
  }
  .bus-item-btn-icon {
    display: inline-block;
    line-height: 1;
    transform: translateY(-0.5px);
  }
  .bus-item-btn-icon-link {
    transform: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
  }
  .bus-item-btn-icon-link svg {
    display: block;
    width: 16px;
    height: 16px;
  }
  .bus-item-btn-icon-link path {
    fill: currentColor;
    stroke: none;
  }
  .bus-item-btn:hover {
    background: #F4FAFF;
    border-color: #BFD2E6;
  }
  .bus-item-btn.copy-link {
    color: #2E5E89;
    border-color: #B5CDE3;
    background: #F7FBFF;
  }
  .bus-item-btn.copy-link:hover {
    background: #EDF6FF;
    border-color: #98B9DA;
  }
  .bus-item-btn.copy-link.is-copied {
    color: #1F6A3A;
    border-color: #A9D3B8;
    background: #ECF8F0;
  }
  .bus-item-btn.copy-link.is-error {
    color: #8A2D35;
    border-color: #D9B2B7;
    background: #FFF3F4;
  }
  .bus-item-btn.danger {
    color: #8A2D35;
    border-color: #D9B2B7;
    background: #FFF8F8;
  }
  .bus-item-btn.bin {
    color: #2E5E89;
    border-color: #B4CCE2;
    background: #F7FBFF;
  }
  .bus-item-btn.text {
    width: auto;
    min-width: 48px;
    padding: 0 8px;
    font-size: 11px;
    letter-spacing: 0.25px;
  }
  .bus-item-btn.danger:hover {
    background: #FFF0F1;
  }
  @media (pointer: coarse) {
    .bus-item-btn {
      width: 34px;
      height: 34px;
    }
    .bus-my-bin-menu-btn {
      width: 34px;
      height: 34px;
      font-size: 18px;
    }
    .bus-list-actions .bus-btn {
      min-height: 44px;
      height: auto;
    }
    .bus-tools-menu-item {
      min-height: 44px;
      padding: 10px 11px;
    }
    .bus-my-bin-menu-item,
    .bus-item-menu-item {
      min-height: 44px;
      padding: 10px 11px;
    }
  }
  .bus-item-menu-wrap {
    position: relative;
    flex: 0 0 auto;
  }
  .bus-item-menu-btn {
    font-size: 16px;
    letter-spacing: 0.4px;
  }
  .bus-item-menu-btn:focus-visible {
    outline: 2px solid rgba(64,115,158,0.3);
    outline-offset: 1px;
  }
  .bus-item-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 196px;
    max-width: min(320px, calc(100vw - 20px));
    border: 1px solid #C8D9EB;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 10px 22px rgba(12, 23, 38, 0.17);
    padding: 5px;
    display: grid;
    gap: 2px;
    z-index: 9;
    max-height: min(52vh, 280px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .bus-item-menu.is-open-up {
    top: auto;
    bottom: calc(100% + 6px);
  }
  .bus-item-menu[hidden] {
    display: none !important;
  }
  .bus-item-menu.is-context-menu {
    min-width: 224px;
    border-color: #B7CCE2;
    border-radius: 12px;
    box-shadow: 0 14px 28px rgba(12, 23, 38, 0.2);
    padding: 7px;
    gap: 3px;
    max-height: min(62vh, 340px);
  }
  .bus-item-menu-item {
    border: 0;
    background: transparent;
    color: #163B63;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    border-radius: 7px;
    padding: 7px 9px;
    cursor: pointer;
    line-height: 1.3;
    white-space: nowrap;
  }
  .bus-item-menu-item.context-only {
    display: none;
  }
  .bus-item-menu.is-context-menu .bus-item-menu-item.context-only {
    display: block;
  }
  .bus-item-menu.is-context-menu .bus-item-menu-item {
    font-size: 12.5px;
    padding: 9px 11px;
  }
  .bus-item-menu-item.menu-clear-all {
    display: none;
  }
  .bus-item-menu.is-context-menu .bus-item-menu-item.menu-clear-all {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
  }
  .bus-item-menu-item.menu-clear-all .bus-clear-menu-label {
    white-space: nowrap;
  }
  .bus-item-menu-item.menu-clear-all .bus-clear-menu-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    padding: 2px 7px;
    border-radius: 999px;
    border: 1px solid rgba(122, 41, 48, 0.24);
    background: #FFF5F6;
    color: #7A2930;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    margin-left: 2px;
  }
  .bus-item-menu-divider {
    height: 1px;
    margin: 4px 6px;
    background: #D5E1EC;
    border-radius: 999px;
  }
  .bus-item-menu.is-context-menu .bus-item-menu-divider {
    margin: 6px;
  }
  .bus-item-menu-item:hover {
    background: #F3F8FE;
  }
  .bus-item-menu-item:focus-visible {
    outline: 2px solid rgba(64,115,158,0.26);
    outline-offset: 1px;
  }
  .bus-item-menu-item.danger {
    color: #7A2930;
  }
  .bus-item-menu-item.danger:hover {
    background: #FFF1F2;
  }
  .bus-send-shell {
    margin-top: 8px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #FFFFFF;
    padding: 10px 12px;
  }
  .bus-btn.tab-trigger.is-active {
    color: #FFFFFF;
    background: var(--navy);
    border-color: var(--navy);
  }
  .bus-btn.tab-trigger.is-active:hover {
    color: #FFFFFF;
    background: #2F5578;
    border-color: #2F5578;
  }
  .bus-notes-shell {
    background: #FCFEFF;
  }
  .bus-send-toggle {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .bus-send-toggle::after {
    content: '?';
    font-size: 12px;
    color: var(--text-light);
    line-height: 1;
    transition: transform 0.15s ease;
  }
  .bus-send-shell.is-open .bus-send-toggle::after {
    transform: rotate(180deg);
  }
  .bus-send-wrap {
    margin-top: 10px;
  }
  .bus-send-wrap[hidden] {
    display: none;
  }
  .bus-notes-field {
    gap: 6px;
  }
  .bus-notes-field textarea {
    min-height: 94px;
    resize: vertical;
  }
  .bus-notes-note {
    margin: 0;
  }
  .bus-notes-count {
    margin: -2px 0 0;
    font-size: 12px;
    color: var(--text-light);
    text-align: right;
  }
  .bus-send-form {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
  }
  .bus-email-step-row {
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
  }
  .bus-feedback.bus-send-feedback {
    top: 2px;
  }
  .bus-compose-summary {
    margin: 0 0 8px;
    border: 1px solid #D7E3EF;
    border-radius: 10px;
    background: #F8FCFF;
    padding: 8px 10px;
  }
  .bus-compose-summary[hidden] {
    display: none;
  }
  .bus-compose-summary-count {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.35;
    color: #0E2D4E;
    font-weight: 700;
  }
  .bus-compose-summary-scope {
    margin: 2px 0 0;
    font-size: 12px;
    line-height: 1.35;
    color: var(--text-light);
  }
  .bus-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .bus-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .bus-field.full { grid-column: 1 / -1; }
  .bus-field label {
    font-size: 12px;
    font-weight: 700;
    color: rgba(12,23,38,0.76);
  }
  .bus-field input,
  .bus-field textarea {
    width: 100%;
    border: 1px solid #D3E0EE;
    background: #FFFFFF;
    color: var(--text);
    border-radius: 9px;
    padding: 8px 9px;
    font: inherit;
    font-size: 12.5px;
  }
  .bus-field textarea {
    min-height: 78px;
    resize: vertical;
  }
  .bus-field input:focus,
  .bus-field textarea:focus {
    outline: 3px solid rgba(64,115,158,0.22);
    outline-offset: 1px;
    border-color: #BFD2E6;
  }
  .bus-field input[aria-invalid="true"],
  .bus-field textarea[aria-invalid="true"] {
    border-color: #D6A8AE;
    background: #FFF6F7;
    box-shadow: 0 0 0 1px rgba(151, 47, 58, 0.14);
  }
  .bus-field input[aria-invalid="true"]:focus,
  .bus-field textarea[aria-invalid="true"]:focus {
    outline: 3px solid rgba(151,47,58,0.22);
    border-color: #C88690;
  }
  .bus-form-actions {
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
  }
  .bus-form-clear-link {
    border: 0;
    background: transparent;
    color: var(--text-light);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    padding: 1px 2px;
  }
  .bus-form-clear-link:hover {
    color: var(--navy);
  }
  .bus-form-clear-link:focus-visible {
    outline: 3px solid rgba(64,115,158,0.22);
    outline-offset: 2px;
    border-radius: 4px;
  }
  .bus-feedback {
    --bus-feedback-offset-right: min(220px, 36vw);
    --feedback-bg: #F3F8FD;
    --feedback-border: #CADDED;
    --feedback-text: #153B5E;
    position: absolute;
    top: 2px;
    right: var(--bus-feedback-offset-right);
    z-index: 17;
    max-width: min(460px, calc(100% - var(--bus-feedback-offset-right) - 16px));
    margin: 0;
    display: inline-flex;
    align-items: start;
    gap: 8px;
    flex-wrap: wrap;
    width: fit-content;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-4px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
  }
  .bus-feedback.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition: opacity 0.18s ease, transform 0.18s ease;
  }
  .bus-feedback.is-fading {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px);
  }
  .bus-feedback-text {
    min-width: 0;
    max-width: 100%;
    line-height: 1.35;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.08px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid var(--feedback-border);
    border-left: 3px solid var(--feedback-border);
    background: var(--feedback-bg);
    color: var(--feedback-text);
    box-shadow: 0 8px 18px rgba(4,20,36,0.16);
  }
  .bus-feedback.is-success {
    --feedback-bg: #EAF7EF;
    --feedback-border: #9ECDAA;
    --feedback-text: #0F5A2B;
  }
  .bus-feedback.is-error {
    --feedback-bg: #FFF1F3;
    --feedback-border: #E1B4BA;
    --feedback-text: #7A1F28;
  }
  .bus-feedback-action {
    justify-self: end;
    border: 1px solid #B7CDE0;
    background: #FFFFFF;
    color: #1A4B74;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 999px;
    cursor: pointer;
    padding: 4px 10px;
    white-space: nowrap;
  }
  .bus-feedback.is-error .bus-feedback-action {
    border-color: #D9A8B0;
    color: #7A1F28;
  }
  .bus-feedback-action:hover {
    filter: brightness(0.98);
  }
  .bus-feedback-action:focus-visible {
    outline: 2px solid rgba(64,115,158,0.3);
    outline-offset: 2px;
    border-radius: 999px;
  }
  .bus-feedback-action[hidden] {
    display: none !important;
  }
  @media (max-width: 640px) {
    .bus-feedback {
      --bus-feedback-offset-right: 56px;
      top: 2px;
      max-width: calc(100% - var(--bus-feedback-offset-right) - 8px);
    }
  }
  .bus-global-feedback {
    position: fixed;
    top: calc(max(12px, env(safe-area-inset-top)) + 44px);
    left: 50%;
    right: auto;
    bottom: auto;
    z-index: 141;
    max-width: min(640px, calc(100% - 24px));
    pointer-events: none;
    opacity: 1;
    transform: translate(-50%, 0);
    transition: opacity 0.72s ease, transform 0.72s ease;
  }
  .bus-global-feedback[hidden] {
    display: none !important;
  }
  .bus-global-feedback.is-fading {
    opacity: 0;
    transform: translate(-50%, -6px);
  }
  .bus-global-feedback-text {
    min-width: 0;
    line-height: 1.35;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1px;
    display: inline-flex;
    align-items: center;
    gap: 0;
    padding: 8px 12px;
    border-radius: 12px;
    border: 1px solid transparent;
    box-shadow: 0 10px 28px rgba(4, 20, 36, 0.18);
    background: #F3F8FD;
    color: #153B5E;
  }
  .bus-global-feedback.is-success .bus-global-feedback-text {
    color: #0F5A2B;
    background: #E8F7ED;
    border-color: #9ECDAA;
  }
  .bus-global-feedback.is-error .bus-global-feedback-text {
    color: #7A1F28;
    background: #FFF1F2;
    border-color: #E1B4BA;
  }
  .bus-modal-note {
    font-size: 12.5px;
    color: var(--text-light);
    line-height: 1.5;
    margin: 0;
    padding: 12px;
  }
  .bus-confirm-overlay {
    position: fixed;
    inset: 0;
    background: rgba(6,16,28,0.52);
    z-index: 222;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  .bus-confirm-overlay.open {
    opacity: 1;
    pointer-events: auto;
  }
  .bus-confirm-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.98);
    width: min(500px, calc(100% - 28px));
    background: #FFFFFF;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(16,38,60,0.14);
    box-shadow: 0 18px 50px rgba(0,0,0,0.24);
    z-index: 223;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .bus-confirm-modal.open {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
  }
  .bus-confirm-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
    background: #FBFDFF;
  }
  .bus-confirm-header h2 {
    font-family: var(--font-display);
    font-size: 20px;
    color: var(--navy-deep);
    line-height: 1.25;
  }
  .bus-confirm-close {
    border: 1px solid var(--border);
    background: #FFFFFF;
    color: var(--text-light);
    width: 34px;
    height: 34px;
    border-radius: 7px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .bus-confirm-close:hover {
    border-color: var(--sky-mid);
    color: var(--navy-deep);
    background: var(--sky);
  }
  .bus-confirm-body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .bus-confirm-message {
    font-size: 13px;
    color: var(--text);
    line-height: 1.5;
    margin: 0;
  }
  .bus-confirm-note {
    font-size: 12px;
    color: #8A2D35;
    font-weight: 700;
    margin: 0;
  }
  .bus-confirm-actions {
    margin-top: 2px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
  }
  #busConfirmAcceptBtn {
    color: #FFFFFF;
    border-color: #8A2D35;
    background: #8A2D35;
  }
  #busConfirmAcceptBtn:hover:not(:disabled) {
    color: #FFFFFF;
    border-color: #74262E;
    background: #74262E;
  }
  .bus-name-overlay {
    position: fixed;
    inset: 0;
    background: rgba(6,16,28,0.58);
    backdrop-filter: blur(2px);
    z-index: 226;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  .bus-name-overlay.open {
    opacity: 1;
    pointer-events: auto;
  }
  .bus-name-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.98);
    width: min(520px, calc(100% - 28px));
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FBFF 100%);
    border-radius: var(--radius-lg);
    border: 1px solid rgba(18, 48, 77, 0.2);
    box-shadow:
      0 28px 68px rgba(7, 20, 34, 0.32),
      0 4px 16px rgba(11, 35, 58, 0.12);
    z-index: 227;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .bus-name-modal.open {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
  }
  .bus-name-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 15px 16px 13px;
    border-bottom: 1px solid #D3E1EE;
    background: linear-gradient(180deg, #FFFFFF 0%, #F1F8FF 100%);
  }
  .bus-name-header::before {
    content: '';
    position: absolute;
    left: 16px;
    bottom: 0;
    width: 68px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #5E8CB5 0%, #7FAACE 100%);
  }
  .bus-name-header h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 20px;
    color: var(--navy-deep);
    line-height: 1.25;
  }
  .bus-name-close {
    border: 1px solid var(--border);
    background: #FFFFFF;
    color: var(--text-light);
    width: 34px;
    height: 34px;
    border-radius: 7px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .bus-name-close:hover {
    border-color: var(--sky-mid);
    color: var(--navy-deep);
    background: var(--sky);
  }
  .bus-name-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: linear-gradient(180deg, #FCFEFF 0%, #F4F9FF 100%);
  }
  .bus-name-message {
    margin: 0;
    padding: 10px 11px;
    border: 1px solid #D7E5F2;
    border-radius: 10px;
    background: #FFFFFF;
    font-size: 12.5px;
    color: #3F617F;
    line-height: 1.45;
  }
  .bus-name-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: #4C6986;
    line-height: 1.3;
  }
  .bus-name-input {
    width: 100%;
    border: 1px solid #C7D9EB;
    border-radius: 8px;
    background: #FFFFFF;
    color: var(--text);
    font-size: 13px;
    line-height: 1.35;
    height: 38px;
    padding: 0 11px;
    box-sizing: border-box;
    box-shadow: inset 0 1px 2px rgba(13, 33, 52, 0.06);
  }
  .bus-name-input::placeholder {
    color: #7B93A9;
  }
  .bus-name-input:focus-visible {
    outline: 3px solid rgba(64,115,158,0.24);
    outline-offset: 1px;
    border-color: #8FB3D6;
    box-shadow: 0 0 0 2px rgba(145, 181, 214, 0.2);
  }
  .bus-name-input[aria-invalid="true"] {
    border-color: #D17882;
    box-shadow: 0 0 0 2px rgba(209, 120, 130, 0.14);
  }
  .bus-name-feedback {
    margin: 0;
    min-height: 1.1em;
    font-size: 12px;
    color: #8A2D35;
    font-weight: 600;
    line-height: 1.35;
  }
  .bus-name-actions {
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid #DCE8F3;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
  }
  #busNameConfirmBtn {
    color: #FFFFFF;
    border-color: #2C5B84;
    background: linear-gradient(180deg, #3A6A95 0%, #2E5C86 100%);
    box-shadow: 0 1px 0 rgba(255,255,255,0.2) inset;
  }
  #busNameConfirmBtn:hover:not(:disabled) {
    color: #FFFFFF;
    border-color: #244A6C;
    background: linear-gradient(180deg, #315E87 0%, #264E74 100%);
  }
  .share-overlay {
    position: fixed;
    inset: 0;
    background: rgba(6,16,28,0.48);
    z-index: 220;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  .share-overlay.open {
    opacity: 1;
    pointer-events: auto;
  }
  .share-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.98);
    width: min(520px, calc(100% - 28px));
    background: #FFFFFF;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(16,38,60,0.14);
    box-shadow: 0 18px 50px rgba(0,0,0,0.24);
    z-index: 221;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .share-modal.open {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
  }
  .share-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
  }
  .share-modal-header h2 {
    font-family: var(--font-display);
    font-size: 20px;
    color: var(--navy-deep);
    line-height: 1.25;
  }
  .share-modal-close {
    border: 1px solid var(--border);
    background: #FFFFFF;
    color: var(--text-light);
    width: 34px;
    height: 34px;
    border-radius: 7px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .share-modal-close:hover {
    border-color: var(--sky-mid);
    color: var(--navy-deep);
    background: var(--sky);
  }
  .share-modal-body {
    padding: 14px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .share-item-name {
    margin: 0;
    font-size: 13px;
    color: var(--text-light);
    line-height: 1.45;
  }
  .share-target-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .share-target-btn {
    border: 1px solid #D3E0EE;
    background: #FFFFFF;
    color: var(--navy);
    border-radius: 10px;
    padding: 9px 10px;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    transition: all 0.16s ease;
  }
  .share-target-btn[hidden] {
    display: none !important;
  }
  .share-target-btn:hover {
    background: #F4FAFF;
    border-color: #BFD2E6;
    color: var(--navy-deep);
  }
  .share-collection-view {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border: 1px solid #D7E5F2;
    border-radius: 10px;
    padding: 10px 11px;
    background: linear-gradient(180deg, #FCFEFF 0%, #F4F9FF 100%);
  }
  .share-collection-summary {
    margin: 0;
    font-size: 12px;
    color: #3F617F;
    line-height: 1.4;
    font-weight: 600;
  }
  .share-collection-list {
    margin: 0;
    padding-left: 16px;
    display: grid;
    gap: 6px;
    max-height: 220px;
    overflow: auto;
  }
  .share-collection-list li {
    margin: 0;
  }
  .share-collection-link {
    color: var(--navy);
    text-decoration: underline;
    text-underline-offset: 2px;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.3;
  }
  .share-collection-link:hover {
    color: var(--navy-deep);
  }
  .share-modal-note {
    margin: 0;
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.45;
  }
  .bus-onboarding-layer {
    position: fixed;
    inset: 0;
    z-index: 260;
    pointer-events: none;
  }
  .bus-onboarding-scrim {
    position: absolute;
    inset: 0;
    background: rgba(9, 23, 37, 0.26);
    opacity: 0;
    transition: opacity 0.16s ease, background 0.16s ease;
  }
  .bus-onboarding-scrim.is-spotlight {
    background: transparent;
  }
  .bus-onboarding-layer.is-open .bus-onboarding-scrim {
    opacity: 1;
  }
  .bus-onboarding-focus-frame {
    position: fixed;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    border-radius: 14px;
    border: 3px solid rgba(249, 203, 77, 1);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.96), 0 0 0 8px rgba(249, 203, 77, 0.28), 0 16px 28px rgba(7, 22, 38, 0.2), 0 0 0 9999px rgba(9, 23, 37, 0.32);
    pointer-events: none;
    opacity: 0;
    transform: scale(0.985);
    transition: opacity 0.14s ease, transform 0.14s ease, left 0.14s ease, top 0.14s ease, width 0.14s ease, height 0.14s ease;
    z-index: 145;
  }
  .bus-onboarding-focus-frame.is-active {
    opacity: 1;
    transform: scale(1);
  }
  .bus-onboarding-card {
    position: fixed;
    top: 24px;
    left: 24px;
    width: min(360px, calc(100% - 24px));
    border-radius: 14px;
    border: 1px solid #C4D8EC;
    border-left: 5px solid var(--gold);
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
    box-shadow: 0 22px 40px rgba(10, 32, 52, 0.24), 0 1px 0 rgba(255,255,255,0.72) inset;
    color: var(--text);
    padding: 14px 14px 12px;
    pointer-events: auto;
    z-index: 146;
    transform: translateY(6px);
    opacity: 0;
    transition: opacity 0.16s ease, transform 0.16s ease;
  }
  @media (min-width: 769px) {
    .bus-onboarding-card.is-hero {
      width: min(520px, calc(100% - 36px));
      border-radius: 16px;
      border-left-width: 6px;
      padding: 18px 20px 16px;
      box-shadow: 0 26px 44px rgba(10, 32, 52, 0.27), 0 1px 0 rgba(255,255,255,0.74) inset;
    }
    .bus-onboarding-card.is-hero .bus-onboarding-step {
      margin-bottom: 8px;
      font-size: 11.5px;
    }
    .bus-onboarding-card.is-hero .bus-onboarding-title {
      font-size: 28px;
      line-height: 1.15;
    }
    .bus-onboarding-card.is-hero .bus-onboarding-body {
      margin-top: 10px;
      font-size: 14px;
      line-height: 1.58;
    }
    .bus-onboarding-card.is-hero .bus-onboarding-actions {
      margin-top: 14px;
    }
  }
  .bus-onboarding-layer.is-open .bus-onboarding-card {
    opacity: 1;
    transform: translateY(0);
  }
  .bus-onboarding-step {
    margin: 0 0 6px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #31587B;
  }
  .bus-onboarding-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 21px;
    line-height: 1.2;
    color: var(--navy-deep);
  }
  .bus-onboarding-body {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: #2E4F6C;
  }
  .bus-onboarding-body strong {
    color: #163E62;
    font-weight: 800;
  }
  .bus-onboarding-inline-save {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: -5px;
    width: 24px;
    height: 24px;
    margin: 0 4px;
    border-radius: 999px;
    border: 1px solid #B9CEE3;
    background: #F4FAFF;
    color: #23466A;
    box-shadow: 0 1px 0 rgba(255,255,255,0.82) inset;
  }
  .bus-onboarding-inline-save .resource-action-icon {
    width: 14px;
    height: 14px;
  }
  .bus-onboarding-inline-folder-add {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    vertical-align: -3px;
    width: 18px;
    height: 18px;
    margin: 0 3px;
    border-radius: 6px;
    border: 1px solid #90B6D8;
    background: linear-gradient(180deg, #F4FAFF 0%, #DFEEFB 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.82) inset;
  }
  .bus-onboarding-inline-folder-add::before,
  .bus-onboarding-inline-folder-add::after {
    content: '';
    position: absolute;
    border-radius: 1px;
    background: #12395E;
  }
  .bus-onboarding-inline-folder-add::before {
    width: 8px;
    height: 1.6px;
    top: calc(50% - 0.8px);
    left: calc(50% - 4px);
  }
  .bus-onboarding-inline-folder-add::after {
    width: 1.6px;
    height: 8px;
    top: calc(50% - 4px);
    left: calc(50% - 0.8px);
  }
  .bus-onboarding-step-flow {
    margin: 8px 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 6px;
  }
  .bus-onboarding-step-flow-item {
    margin: 0;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 5px 7px;
    color: #315270;
    font-weight: 500;
  }
  .bus-onboarding-step-flow-item.is-active {
    border-color: #BCD5EA;
    background: #EDF6FF;
    color: #103D67;
    font-weight: 800;
  }
  .bus-onboarding-step-flow-item.is-complete {
    border-color: #D0E1F1;
    background: #F4F9FF;
    color: #214D74;
    font-weight: 800;
  }
  .bus-onboarding-step-flow-item.is-upcoming {
    font-weight: 500;
  }
  .bus-onboarding-checklist {
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 6px;
  }
  .bus-onboarding-checklist[hidden] {
    display: none !important;
  }
  .bus-onboarding-check-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 12px;
    line-height: 1.3;
    color: #2F4E69;
    border: 1px solid #D9E7F5;
    border-radius: 8px;
    background: #F8FCFF;
    padding: 6px 8px;
  }
  .bus-onboarding-check-item.is-done {
    border-color: #BCD8C3;
    background: #F4FBF5;
    color: #205630;
  }
  .bus-onboarding-check-label {
    font-weight: 700;
  }
  .bus-onboarding-check-value {
    font-weight: 700;
    color: #325977;
  }
  .bus-onboarding-check-item.is-done .bus-onboarding-check-value {
    color: #1F5D2B;
  }
  .bus-onboarding-hint {
    margin: 8px 0 0;
    min-height: 1.1em;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    color: #1F5D2B;
  }
  .bus-onboarding-hint.is-error {
    color: #8A2D35;
  }
  .bus-onboarding-actions {
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
    flex-wrap: wrap;
  }
  .bus-onboarding-target {
    position: relative;
    z-index: 141;
    border-radius: 12px;
    outline: 3px solid rgba(249, 203, 77, 1);
    outline-offset: 2px;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.92), 0 0 0 7px rgba(249, 203, 77, 0.24), 0 12px 22px rgba(7, 22, 38, 0.17);
    animation: busOnboardingTargetPulse 1.2s ease-in-out infinite;
    transition: box-shadow 0.16s ease, outline-color 0.16s ease;
  }
  .bus-onboarding-target.bus-onboarding-target-soft {
    outline-width: 3px;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.88), 0 0 0 6px rgba(249, 203, 77, 0.2);
    animation: none;
  }
  @keyframes busOnboardingTargetPulse {
    0%, 100% {
      box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9), 0 0 0 7px rgba(249, 203, 77, 0.22), 0 12px 22px rgba(7, 22, 38, 0.16);
    }
    50% {
      box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.95), 0 0 0 10px rgba(249, 203, 77, 0.3), 0 16px 30px rgba(7, 22, 38, 0.2);
    }
  }
  .bus-onboarding-layer[hidden] {
    display: none !important;
  }
  @media (max-width: 768px) {
    .bus-onboarding-card {
      top: auto !important;
      left: 12px !important;
      right: 12px !important;
      bottom: 12px;
      width: auto;
      max-width: none;
      border-radius: 16px;
      padding: 14px 12px 12px;
    }
    .bus-onboarding-actions .bus-btn {
      min-height: 44px;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .bus-overlay,
    .bus-modal {
      transition: none;
    }
    .bus-onboarding-scrim,
    .bus-onboarding-focus-frame,
    .bus-onboarding-card,
    .bus-onboarding-target {
      transition: none;
    }
    .bus-onboarding-target {
      animation: none;
    }
  }
  .auth-overlay {
    position: fixed;
    inset: 0;
    background: rgba(6,16,28,0.48);
    z-index: 146;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  .auth-overlay.open {
    opacity: 1;
    pointer-events: auto;
  }
  .auth-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.98);
    width: min(520px, calc(100% - 28px));
    background: #FFFFFF;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(16,38,60,0.14);
    box-shadow: 0 18px 50px rgba(0,0,0,0.24);
    z-index: 147;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .auth-modal.open {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
  }
  .auth-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
  }
  .auth-modal-header h2 {
    font-family: var(--font-display);
    font-size: 20px;
    color: var(--navy-deep);
    line-height: 1.25;
  }
  .auth-modal-close {
    border: 1px solid var(--border);
    background: #FFFFFF;
    color: var(--text-light);
    width: 34px;
    height: 34px;
    border-radius: 7px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .auth-modal-close:hover {
    border-color: var(--sky-mid);
    color: var(--navy-deep);
    background: var(--sky);
  }
  .auth-modal-body {
    padding: 14px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .auth-modal-note {
    margin: 0;
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.45;
  }
  .auth-form {
    display: grid;
    gap: 10px;
  }
  .auth-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .auth-field label {
    font-size: 11px;
    font-weight: 700;
    color: rgba(12,23,38,0.72);
  }
  .auth-field input {
    width: 100%;
    border: 1px solid #D3E0EE;
    background: #FFFFFF;
    color: var(--text);
    border-radius: 9px;
    padding: 8px 9px;
    font: inherit;
    font-size: 12.5px;
  }
  .auth-field input:focus {
    outline: 3px solid rgba(64,115,158,0.22);
    outline-offset: 1px;
    border-color: #BFD2E6;
  }
  .auth-form-actions {
    margin-top: 2px;
    display: flex;
    justify-content: flex-end;
  }
  .auth-submit-btn {
    border: 1px solid #D3E0EE;
    background: #FFFFFF;
    color: var(--navy);
    border-radius: 10px;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: all 0.16s ease;
  }
  .auth-submit-btn:hover {
    background: #F4FAFF;
    border-color: #BFD2E6;
  }
  .auth-feedback {
    min-height: 14px;
    margin: 0;
    font-size: 11.5px;
    color: var(--text-light);
    line-height: 1.35;
  }
  .auth-feedback.is-success { color: #1F5D2B; }
  .auth-feedback.is-error { color: #8A2D35; }
  .auth-demo-list {
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #FBFDFF;
    padding: 10px;
    display: grid;
    gap: 8px;
  }
  .auth-demo-title {
    margin: 0;
    font-size: 11px;
    font-weight: 700;
    color: rgba(12,23,38,0.72);
    letter-spacing: 0.2px;
    text-transform: uppercase;
  }
  .auth-demo-btn {
    border: 1px solid #D3E0EE;
    background: #FFFFFF;
    color: var(--navy);
    border-radius: 9px;
    padding: 7px 10px;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
    transition: all 0.16s ease;
  }
  .auth-demo-btn:hover {
    background: #F4FAFF;
    border-color: #BFD2E6;
  }
  .auth-demo-meta {
    margin-top: 2px;
    color: var(--text-light);
    font-size: 11px;
    font-weight: 500;
  }
  .bus-quick-guide-overlay {
    position: fixed;
    inset: 0;
    background: rgba(14, 22, 32, 0.42);
    z-index: 148;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  .bus-quick-guide-overlay.open {
    opacity: 1;
    pointer-events: auto;
  }
  .bus-quick-guide-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.98);
    width: min(640px, calc(100% - 24px));
    max-height: min(84vh, 760px);
    border: 1px solid #E6D6BD;
    border-radius: var(--radius-lg);
    background: #FFFEFB;
    box-shadow: 0 20px 52px rgba(28, 22, 14, 0.28);
    z-index: 149;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .bus-quick-guide-modal.open {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
  }
  .bus-quick-guide-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid #EBD9BC;
    background: linear-gradient(180deg, #FFF9EF 0%, #FFF1DC 100%);
  }
  .bus-quick-guide-step {
    margin: 0;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.22px;
    text-transform: uppercase;
    color: #80500C;
    border: 1px solid #E5C89D;
    background: #FFF5E3;
    border-radius: 999px;
    padding: 4px 10px;
  }
  .bus-quick-guide-close {
    border: 1px solid var(--border);
    background: #FFFFFF;
    color: var(--text-light);
    width: 34px;
    height: 34px;
    border-radius: 7px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .bus-quick-guide-body {
    padding: 20px;
    display: grid;
    gap: 14px;
    background: linear-gradient(180deg, #FFFEFB 0%, #FFF8EC 100%);
    overflow-y: auto;
  }
  .bus-quick-guide-kicker {
    margin: 0;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.24px;
    text-transform: uppercase;
    color: #8A5A18;
  }
  .bus-quick-guide-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: 23px;
    line-height: 1.25;
    color: var(--navy-deep);
  }
  .bus-quick-guide-content {
    font-size: 14px;
    line-height: 1.55;
    color: #1A3E61;
  }
  .bus-quick-guide-content ul {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 9px;
  }
  .bus-quick-guide-content li::marker {
    color: #B3741A;
  }
  .bus-quick-guide-content strong {
    color: #143A58;
  }
  .bus-quick-guide-content li {
    margin: 0;
  }
  .bus-quick-guide-note {
    margin: 2px 0 0;
    padding: 8px 10px;
    border: 1px solid #E7D6BC;
    border-radius: 9px;
    background: #FFF3E2;
    font-size: 12px;
    color: #6D4A1C;
  }
  .bus-quick-guide-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 2px;
  }
  .bus-quick-guide-actions #busQuickGuideBackBtn[hidden] {
    display: none !important;
  }
  .bus-destination-overlay {
    position: fixed;
    inset: 0;
    background: rgba(6,16,28,0.52);
    z-index: 220;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  .bus-destination-overlay.open {
    opacity: 1;
    pointer-events: auto;
  }
  .bus-destination-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.985);
    width: min(560px, calc(100% - 28px));
    background: #FFFFFF;
    border-radius: 14px;
    border: 1px solid rgba(16,38,60,0.14);
    box-shadow: 0 18px 50px rgba(0,0,0,0.26);
    z-index: 221;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: min(76vh, 640px);
  }
  .bus-destination-modal.open {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
  }
  .bus-destination-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
  }
  .bus-destination-header h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 20px;
    color: var(--navy-deep);
    line-height: 1.22;
  }
  .bus-destination-close {
    border: 1px solid var(--border);
    background: #FFFFFF;
    color: var(--text-light);
    width: 34px;
    height: 34px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .bus-destination-close:hover {
    border-color: var(--sky-mid);
    color: var(--navy-deep);
    background: var(--sky);
  }
  .bus-destination-body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 0;
  }
  .bus-destination-item-name {
    margin: 0;
    font-size: 12.5px;
    color: var(--text-light);
    line-height: 1.4;
  }
  .bus-destination-list {
    border: 1px solid #D4E3F2;
    border-radius: 10px;
    padding: 6px;
    background: #F8FBFF;
    max-height: min(36vh, 280px);
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .bus-destination-option-btn {
    border: 1px solid transparent;
    border-radius: 8px;
    background: #FFFFFF;
    padding: 8px 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    color: var(--navy);
    cursor: pointer;
    transition: all 0.16s ease;
    text-align: left;
    min-width: 0;
  }
  .bus-destination-option-btn:hover {
    border-color: #C4D8EB;
    background: #F4FAFF;
  }
  .bus-destination-option-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .bus-destination-option-title {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--navy);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .bus-destination-option-subtitle {
    font-size: 11.5px;
    color: #5A7490;
    line-height: 1.32;
  }
  .bus-destination-option-count {
    font-size: 11px;
    color: #47698D;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 999px;
    border: 1px solid #CFE0F1;
    background: #FFFFFF;
    flex: 0 0 auto;
  }
  .bus-destination-note {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
    color: #5E7590;
  }
  .bus-bin-overlay {
    position: fixed;
    inset: 0;
    background: rgba(6,16,28,0.52);
    z-index: 220;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  .bus-bin-overlay.open {
    opacity: 1;
    pointer-events: auto;
  }
  .bus-bin-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.985);
    width: min(560px, calc(100% - 28px));
    background: #FFFFFF;
    border-radius: 14px;
    border: 1px solid rgba(16,38,60,0.14);
    box-shadow: 0 18px 50px rgba(0,0,0,0.26);
    z-index: 221;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: min(78vh, 680px);
  }
  .bus-bin-modal.open {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
  }
  .bus-bin-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
  }
  .bus-bin-modal-header h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 20px;
    color: var(--navy-deep);
    line-height: 1.22;
  }
  .bus-bin-modal-close {
    border: 1px solid var(--border);
    background: #FFFFFF;
    color: var(--text-light);
    width: 34px;
    height: 34px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .bus-bin-modal-close:hover {
    border-color: var(--sky-mid);
    color: var(--navy-deep);
    background: var(--sky);
  }
  .bus-bin-modal-body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 0;
  }
  .bus-bin-item-name {
    margin: 0;
    font-size: 12.5px;
    color: var(--text-light);
    line-height: 1.4;
  }
  .bus-bin-list {
    border: 1px solid #D4E3F2;
    border-radius: 10px;
    padding: 6px;
    background: #F8FBFF;
    max-height: min(36vh, 280px);
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .bus-bin-list-empty {
    margin: 0;
    padding: 7px 8px;
    font-size: 12px;
    color: #5E7590;
    line-height: 1.4;
  }
  .bus-bin-option {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: #FFFFFF;
    padding: 7px 8px;
  }
  .bus-bin-option:hover {
    border-color: #C4D8EB;
    background: #F4FAFF;
  }
  .bus-bin-option-check {
    width: 16px;
    height: 16px;
    accent-color: #2F5A82;
    flex: 0 0 auto;
  }
  .bus-bin-option-name {
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    font-weight: 700;
    color: var(--navy);
  }
  .bus-bin-option-count {
    font-size: 11px;
    color: #47698D;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 999px;
    border: 1px solid #CFE0F1;
    background: #FFFFFF;
    flex: 0 0 auto;
  }
  .bus-bin-create-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
  }
  .bus-bin-create-input {
    width: 100%;
    border: 1px solid #D3E0EE;
    border-radius: 8px;
    background: #FFFFFF;
    color: var(--text);
    font-size: 12.5px;
    line-height: 1.35;
    height: 34px;
    padding: 0 10px;
    box-sizing: border-box;
  }
  .bus-bin-create-input:focus-visible {
    outline: 3px solid rgba(64,115,158,0.22);
    outline-offset: 1px;
    border-color: #9DBAD7;
  }
  .bus-bin-feedback {
    margin: 0;
    font-size: 12px;
    color: #4B6B8C;
    line-height: 1.4;
    min-height: 1.2em;
  }
  .bus-bin-feedback.is-error {
    color: #8A2D35;
    font-weight: 700;
  }
  .bus-bin-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
  }
  .bus-move-overlay {
    position: fixed;
    inset: 0;
    background: rgba(6,16,28,0.52);
    z-index: 224;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  .bus-move-overlay.open {
    opacity: 1;
    pointer-events: auto;
  }
  .bus-move-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.985);
    width: min(560px, calc(100% - 28px));
    background: #FFFFFF;
    border-radius: 14px;
    border: 1px solid rgba(16,38,60,0.14);
    box-shadow: 0 18px 50px rgba(0,0,0,0.26);
    z-index: 225;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: min(78vh, 680px);
  }
  .bus-move-modal.open {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
  }
  .bus-move-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
  }
  .bus-move-header h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 20px;
    color: var(--navy-deep);
    line-height: 1.22;
  }
  .bus-move-close {
    border: 1px solid var(--border);
    background: #FFFFFF;
    color: var(--text-light);
    width: 34px;
    height: 34px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .bus-move-close:hover {
    border-color: var(--sky-mid);
    color: var(--navy-deep);
    background: var(--sky);
  }
  .bus-move-body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 0;
  }
  .bus-move-item-name {
    margin: 0;
    font-size: 12.5px;
    color: var(--text-light);
    line-height: 1.4;
  }
  .bus-move-list {
    border: 1px solid #D4E3F2;
    border-radius: 10px;
    padding: 6px;
    background: #F8FBFF;
    max-height: min(36vh, 280px);
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .bus-move-list-empty {
    margin: 0;
    padding: 7px 8px;
    font-size: 12px;
    color: #5E7590;
    line-height: 1.4;
  }
  .bus-move-option-btn {
    border: 1px solid transparent;
    border-radius: 8px;
    background: #FFFFFF;
    color: var(--navy);
    padding: 8px 9px;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    cursor: pointer;
    width: 100%;
    transition: all 0.16s ease;
  }
  .bus-move-option-btn:hover {
    border-color: #C4D8EB;
    background: #F4FAFF;
  }
  .bus-move-option-name {
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    font-weight: 700;
    color: var(--navy);
  }
  .bus-move-option-count {
    font-size: 11px;
    color: #47698D;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 999px;
    border: 1px solid #CFE0F1;
    background: #FFFFFF;
    flex: 0 0 auto;
  }
  .bus-move-create-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
  }
  .bus-move-create-input {
    width: 100%;
    border: 1px solid #D3E0EE;
    border-radius: 8px;
    background: #FFFFFF;
    color: var(--text);
    font-size: 12.5px;
    line-height: 1.35;
    height: 34px;
    padding: 0 10px;
    box-sizing: border-box;
  }
  .bus-move-create-input:focus-visible {
    outline: 3px solid rgba(64,115,158,0.22);
    outline-offset: 1px;
    border-color: #9DBAD7;
  }
  .bus-move-feedback {
    margin: 0;
    font-size: 12px;
    color: #4B6B8C;
    line-height: 1.4;
    min-height: 1.2em;
  }
  .bus-move-feedback.is-error {
    color: #8A2D35;
    font-weight: 700;
  }

  /* Shared dialog polish for visual consistency across modal surfaces */
  .story-modal,
  .bus-modal,
  .bus-confirm-modal,
  .bus-name-modal,
  .share-modal,
  .auth-modal,
  .bus-destination-modal,
  .bus-bin-modal,
  .bus-move-modal {
    background: linear-gradient(180deg, #FFFFFF 0%, #FBFDFF 100%);
    border-color: rgba(18, 48, 77, 0.18);
    box-shadow:
      0 28px 68px rgba(7, 20, 34, 0.3),
      0 4px 16px rgba(11, 35, 58, 0.12);
  }
  .story-modal-header,
  .bus-modal-header,
  .bus-confirm-header,
  .bus-name-header,
  .share-modal-header,
  .auth-modal-header,
  .bus-destination-header,
  .bus-bin-modal-header,
  .bus-move-header {
    border-bottom: 1px solid #D3E1EE;
    background: linear-gradient(180deg, #FFFFFF 0%, #F2F8FF 100%);
  }
  .bus-modal-body,
  .bus-confirm-body,
  .bus-name-body,
  .share-modal-body,
  .auth-modal-body,
  .bus-destination-body,
  .bus-bin-modal-body,
  .bus-move-body {
    background: linear-gradient(180deg, #FCFEFF 0%, #F6FAFF 100%);
  }
  .story-modal-close,
  .bus-modal-close,
  .bus-quick-guide-close,
  .bus-confirm-close,
  .bus-name-close,
  .share-modal-close,
  .auth-modal-close,
  .bus-destination-close,
  .bus-bin-modal-close,
  .bus-move-close {
    border-color: #C7D8E9;
    background: linear-gradient(180deg, #FFFFFF 0%, #F2F7FD 100%);
    color: #295072;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95);
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
  }
  .story-modal-close:hover,
  .bus-modal-close:hover,
  .bus-quick-guide-close:hover,
  .bus-confirm-close:hover,
  .bus-name-close:hover,
  .share-modal-close:hover,
  .auth-modal-close:hover,
  .bus-destination-close:hover,
  .bus-bin-modal-close:hover,
  .bus-move-close:hover {
    border-color: #9EBBDA;
    color: #0F2F4F;
    background: #ECF5FF;
    box-shadow: 0 0 0 1px rgba(147, 181, 214, 0.24);
  }
  .story-modal-close:focus-visible,
  .bus-modal-close:focus-visible,
  .bus-quick-guide-close:focus-visible,
  .bus-confirm-close:focus-visible,
  .bus-name-close:focus-visible,
  .share-modal-close:focus-visible,
  .auth-modal-close:focus-visible,
  .bus-destination-close:focus-visible,
  .bus-bin-modal-close:focus-visible,
  .bus-move-close:focus-visible {
    outline: 3px solid rgba(64, 115, 158, 0.3);
    outline-offset: 1px;
  }

  /* --- MEMBERS GRID --- */
  .partners-section { padding: 28px 0 44px; border-top: 1px solid var(--border); }
  .partners-head {
    position: relative;
    z-index: 8;
    background: var(--warm-white);
  }
  .partners-section .section-desc { margin-bottom: 22px; }
  .about-section {
    padding: 24px 0 12px;
    border-top: 1px solid var(--border);
  }
  .about-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  .about-card {
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 18px;
    box-shadow: var(--shadow-card);
  }
  .about-card h3 {
    font-family: var(--font-display);
    font-size: 18px;
    line-height: 1.3;
    color: var(--navy-deep);
    margin-bottom: 8px;
  }
  .about-card p {
    color: var(--text-light);
    font-size: 13.5px;
    line-height: 1.65;
  }
  .about-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    color: var(--navy);
    font-size: 13px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .about-link:hover { color: var(--navy-deep); }
  .partner-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 12px;
  }
  .partner-card {
    display: block;
    width: 100%;
    text-align: left;
    font: inherit;
    color: inherit;
    -webkit-appearance: none;
    appearance: none;
    padding: 18px 20px;
    border: 1px solid #D5E1ED;
    border-radius: var(--radius);
    background: linear-gradient(180deg, #FFFFFF 0%, var(--surface-strong) 100%);
    box-shadow: 0 1px 2px rgba(16, 42, 73, 0.04);
    transition: all 0.18s ease;
    cursor: pointer;
    position: relative;
  }
  .partner-card:hover {
    border-color: #BFD2E6;
    transform: translateY(-1px);
    box-shadow: var(--shadow-card);
  }
  .partner-card::after {
    content: '?';
    position: absolute;
    top: 18px; right: 18px;
    color: var(--navy);
    font-size: 14px;
    opacity: 0;
    transition: opacity 0.15s;
  }
  .partner-card:hover::after { opacity: 1; }
  .partner-logo-row {
    min-height: 56px;
    margin-bottom: 10px;
    padding-right: 24px;
  }
  .partner-logo-frame {
    width: 120px;
    height: 56px;
    border-radius: 10px;
    border: 1px solid #D5E1ED;
    background: var(--surface-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    overflow: hidden;
  }
  .partner-logo-frame.dark {
    background: #243449;
    border-color: #354860;
  }
  .partner-logo-img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
    display: block;
  }
  .partner-logo-fallback {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.4px;
    color: var(--navy-deep);
    text-transform: uppercase;
    text-align: center;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
  .partner-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: inherit;
    line-height: 0;
    border-radius: 10px;
    cursor: pointer;
  }
  .partner-logo-link:focus-visible {
    outline: 3px solid rgba(64, 115, 158, 0.3);
    outline-offset: 2px;
  }
  .partner-card h3 { font-size: 13.5px; font-weight: 600; color: var(--navy-deep); margin-bottom: 3px; padding-right: 20px; }
  .partner-card p { font-size: 12px; color: var(--text-light); line-height: 1.5; }
  .partner-tags { display: flex; gap: 4px; margin-top: 10px; flex-wrap: wrap; }
  .partner-tag { font-size: 12px; padding: 2px 8px; border-radius: 4px; font-weight: 600; letter-spacing: 0.2px; }
  .partner-tag.type-coaching,
  .partner-tag.type-learning,
  .partner-tag.type-data,
  .partner-tag.type-family,
  .partner-tag.type-specialized,
  .partner-tag.type-workforce {
    border: 1px solid rgba(16,42,73,0.08);
  }

  /* --- PARTNER PROFILE PANEL (slide-over) --- */
  .panel-overlay {
    position: fixed; inset: 0;
    background: rgba(16,42,73,0.42);
    z-index: 200;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
  }
  .panel-overlay.open { opacity: 1; pointer-events: auto; }

  .partner-panel {
    --pp-feedback-top: 104px;
    --pp-feedback-slide-y: -10px;
    position: fixed;
    top: 0; right: 0;
    width: 520px; max-width: 92vw;
    height: 100vh;
    background: white;
    z-index: 210;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex; flex-direction: column;
    box-shadow: -8px 0 28px rgba(16, 42, 73, 0.18);
    overflow: hidden;
  }
  .partner-panel.open { transform: translateX(0); }

  .pp-header {
    padding: 20px 28px;
    border-bottom: 1px solid var(--border);
    display: flex; align-items: flex-start; gap: 12px;
    flex-shrink: 0;
    background: var(--sky);
  }
  .pp-logo-wrap { flex-shrink: 0; }
  .pp-logo-frame {
    width: 116px;
    height: 52px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: #F7F8FA;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 7px 9px;
    overflow: hidden;
  }
  .pp-logo-frame.dark {
    background: #243449;
    border-color: #354860;
  }
  .pp-logo-img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
    display: block;
  }
  .pp-logo-fallback {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.35px;
    color: var(--navy-deep);
    text-transform: uppercase;
    text-align: center;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
  .pp-header-text { flex: 1; min-width: 0; }
  .pp-close {
    width: 32px; height: 32px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: white;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px;
    color: var(--text-light);
    transition: all 0.15s;
    flex-shrink: 0;
    margin-left: 16px;
  }
  .pp-close:hover { background: var(--border); color: var(--text); }
  .pp-header-text h2 {
    font-family: var(--font-display);
    font-size: 20px; font-weight: 700;
    color: var(--navy-deep); line-height: 1.3;
    margin-bottom: 4px;
  }
  .pp-header-tags { display: flex; gap: 4px; flex-wrap: wrap; }
  .pp-feedback {
    --pp-feedback-bg: #F3F8FD;
    --pp-feedback-border: #CADDED;
    --pp-feedback-text: #153B5E;
    position: absolute;
    top: var(--pp-feedback-top);
    left: 24px;
    right: 24px;
    z-index: 4;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 8px 10px;
    flex-wrap: wrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(var(--pp-feedback-slide-y));
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
  }
  .pp-feedback.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.18s ease, transform 0.18s ease;
  }
  .pp-feedback.is-fading {
    opacity: 0;
    transform: translateY(var(--pp-feedback-slide-y));
  }
  .pp-feedback-text {
    min-width: 0;
    max-width: min(420px, 100%);
    flex: 0 1 auto;
    line-height: 1.35;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1px;
    display: inline-flex;
    align-items: center;
    overflow: hidden;
    padding: 10px 14px;
    border-radius: 14px;
    border: 1px solid var(--pp-feedback-border);
    background: var(--pp-feedback-bg);
    color: var(--pp-feedback-text);
    box-shadow: 0 12px 28px rgba(4, 20, 36, 0.18);
    pointer-events: auto;
  }
  .pp-feedback.is-success {
    --pp-feedback-bg: #E8F7ED;
    --pp-feedback-border: #9ECDAA;
    --pp-feedback-text: #0F5A2B;
  }
  .pp-feedback.is-error {
    --pp-feedback-bg: #FFF1F2;
    --pp-feedback-border: #E1B4BA;
    --pp-feedback-text: #7A1F28;
  }
  .pp-feedback-action {
    border: 1px solid #B7CDE0;
    background: #FFFFFF;
    color: #1A4B74;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 999px;
    cursor: pointer;
    padding: 5px 11px;
    white-space: nowrap;
    box-shadow: 0 10px 24px rgba(4, 20, 36, 0.14);
    pointer-events: auto;
  }
  .pp-feedback.is-error .pp-feedback-action {
    border-color: #D9A8B0;
    color: #7A1F28;
  }
  .pp-feedback-action:hover {
    filter: brightness(0.98);
  }
  .pp-feedback-action:focus-visible {
    outline: 2px solid rgba(64,115,158,0.3);
    outline-offset: 2px;
    border-radius: 999px;
  }
  .pp-feedback-action[hidden] {
    display: none !important;
  }

  .pp-body {
    flex: 1; overflow-y: auto;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .pp-support-areas-section {
    display: none;
  }
  .pp-support-areas {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
  }
  .pp-support-areas .partner-tag {
    font-size: 11px;
    padding: 3px 8px;
    white-space: nowrap;
  }
  .partner-panel.is-resources-focus .pp-section-services,
  .partner-panel.is-resources-focus .pp-section-stories,
  .partner-panel.is-resources-focus .pp-section-about,
  .partner-panel.is-resources-focus .pp-support-center {
    display: none;
  }

  .pp-section { margin: 0; }
  .pp-section-block {
    border: 1px solid #D7E3EF;
    border-radius: 14px;
    background: #FFFFFF;
    padding: 14px 16px;
  }
  .pp-section-label {
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.75px;
    color: #4C6784; margin-bottom: 10px;
  }
  .pp-bio {
    font-size: 13.5px; line-height: 1.62;
    color: var(--text);
    max-width: 62ch;
  }

  .pp-services {
    display: flex; flex-direction: column; gap: 10px;
  }
  .pp-service-item {
    padding: 11px 12px 11px 11px;
    background: #F6FAFE;
    border-radius: 10px;
    border: 1px solid #D9E7F4;
    border-left: 3px solid #9CBADF;
    font-size: 13px; color: var(--text);
    line-height: 1.5;
  }
  .pp-service-item strong {
    color: var(--navy-deep);
    display: block;
    margin-bottom: 3px;
    font-size: 12.5px;
  }
  .pp-story-card-wrap .story-card,
  .pp-story-card-wrap .story-card-button {
    border-radius: 12px;
    box-shadow: none;
  }
  .pp-story-card-wrap .story-card-button {
    min-height: 0;
  }
  .pp-story-card-wrap .story-media-shell {
    aspect-ratio: 16 / 8.8;
  }
  .pp-story-card-wrap .story-save-btn {
    width: 36px;
    height: 36px;
    top: 12px;
    right: 12px;
  }
  .pp-story-card-wrap .story-save-btn .resource-action-icon {
    width: 18px;
    height: 18px;
  }
  .pp-story-card-wrap .story-content,
  .pp-story-card-wrap .story-card.featured .story-content,
  .pp-story-card-wrap .story-card-button.featured .story-content {
    padding: 12px 13px 14px;
  }
  .pp-story-card-wrap .story-card.featured .story-title,
  .pp-story-card-wrap .story-card-button.featured .story-title,
  .pp-story-card-wrap .story-card:not(.featured) .story-title,
  .pp-story-card-wrap .story-card-button:not(.featured) .story-title {
    font-size: 16px;
    margin-bottom: 4px;
  }
  .pp-story-card-wrap .story-member {
    margin-bottom: 6px;
  }
  .pp-story-card-wrap .story-quote {
    max-width: none;
    margin-bottom: 8px;
    -webkit-line-clamp: 3;
  }
  .pp-story-card-wrap .story-watch-cta {
    padding-top: 0;
  }
  @media (hover: none) {
    .story-card-button:hover {
      transform: none;
      border-color: var(--border);
      box-shadow: 0 2px 6px rgba(16, 42, 73, 0.05);
    }
  }

  .pp-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    transition: all 0.15s;
  }
  .pp-link-inline {
    margin-top: 12px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid #C1D4E6;
    background: #F7FBFF;
    color: #1D466E;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.2;
  }
  .pp-link-inline:hover {
    background: #EDF5FD;
    border-color: #9EBAD6;
  }

  .pp-resource-bulk-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
  }
  .pp-resource-bulk-add-btn {
    border: 1px solid #D3E0EE;
    background: #FFFFFF;
    color: var(--navy);
    border-radius: 10px;
    padding: 7px 11px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: all 0.16s ease;
  }
  .pp-resource-bulk-add-btn:hover {
    background: #F4FAFF;
    border-color: #BFD2E6;
    color: var(--navy-deep);
  }
  .pp-resource-bulk-add-btn:disabled {
    background: #F6F9FC;
    border-color: #D9E4EE;
    color: #6D8094;
    cursor: not-allowed;
  }
  .pp-resource-bulk-add-btn.is-added {
    background: #EAF3FC;
    border-color: #AFC7DF;
    color: #123255;
  }
  .pp-support-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    border-top: 1px solid #DCE6F1;
    padding-top: 14px;
  }
  .pp-support-center .pp-section-label {
    margin-bottom: 0;
    color: #5E7894;
  }
  .pp-support-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border-radius: 999px;
    border: 1px solid #9BB8D4;
    background: linear-gradient(180deg, #F8FCFF 0%, #EAF3FC 100%);
    color: #173A5E;
    text-decoration: none;
    box-shadow: 0 3px 12px rgba(17, 44, 70, 0.1);
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
  }
  .pp-support-pill:hover {
    transform: translateY(-1px);
    border-color: #7EA2C6;
    box-shadow: 0 8px 20px rgba(17, 44, 70, 0.14);
  }
  .pp-support-pill-icon {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #1F4E7B;
    color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 26px;
  }
  .pp-support-pill-icon svg {
    width: 14px;
    height: 14px;
    display: block;
  }
  .pp-support-pill-text {
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.15px;
  }
  .pp-support-pill-arrow {
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
  }

  .pp-resource-list {
    display: flex; flex-direction: column; gap: 8px;
  }
  .pp-resource {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 12px;
    border: 1px solid #D7E3EF;
    border-radius: 10px;
    background: #FFFFFF;
    cursor: pointer;
    transition: all 0.15s;
    text-decoration: none; color: inherit;
  }
  .pp-resource > div {
    flex: 1;
    min-width: 0;
  }
  .pp-resource:hover { border-color: #AFC7DF; background: #F6FAFE; }
  .pp-resource h4 { font-size: 13px; font-weight: 600; color: var(--navy-deep); line-height: 1.35; }
  .pp-resource-desc {
    margin-top: 5px;
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .pp-resource .resource-type { margin-top: 3px; display: inline-block; }
  .pp-resource-arrow { color: var(--text-light); font-size: 13px; opacity: 0; transition: opacity 0.15s; }
  .pp-resource:hover .pp-resource-arrow { opacity: 1; }

  /* --- TAXONOMY NOTE --- */
  .taxonomy-note {
    margin: 36px 0 0; padding: 22px 26px;
    background: var(--sky); border-radius: var(--radius-lg);
    border: 1px solid var(--border);
  }
  .taxonomy-note h3 {
    font-family: var(--font-display);
    font-size: 15px; font-weight: 700; color: var(--navy-deep); margin-bottom: 8px;
  }
  .taxonomy-note p { font-size: 12.5px; color: var(--text-light); line-height: 1.65; max-width: 640px; }
  .tax-diagram { display: flex; align-items: center; gap: 6px; margin-top: 14px; flex-wrap: wrap; }
  .tax-node { padding: 5px 12px; border-radius: 6px; font-size: 12px; font-weight: 600; }
  .tax-node.primary { background: var(--navy-deep); color: white; }
  .tax-node.t1 { background: var(--c-coaching-bg); color: var(--c-coaching); }
  .tax-node.t2 { background: var(--c-learning-bg); color: var(--c-learning); }
  .tax-node.t3 { background: var(--c-data-bg); color: var(--c-data); }
  .tax-node.t4 { background: var(--c-family-bg); color: var(--c-family); }
  .tax-node.t5 { background: var(--c-specialized-bg); color: var(--c-specialized); }
  .tax-node.t6 { background: var(--c-workforce-bg); color: var(--c-workforce); }
  .tax-arrow { color: var(--text-light); font-size: 13px; }

  /* --- FOOTER --- */
  footer {
    background: var(--navy-deep); color: rgba(255,255,255,0.5);
    padding: 36px 40px; font-size: 12px; margin-top: 56px;
    display: flex; justify-content: space-between; align-items: center;
  }
  .footer-left { display: flex; align-items: center; gap: 18px; }
  .footer-left img { height: 52px; width: auto; opacity: 0.94; }
  .footer-left div { display: flex; flex-direction: column; gap: 3px; }
  footer a { color: rgba(255,255,255,0.7); text-decoration: none; }
  footer a:hover,
  footer a:focus-visible { color: #FFFFFF; }

  .fade-in { animation: fadeIn 0.25s ease; }
  @keyframes fadeIn { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }

  @media (max-width: 1180px) {
    header { padding: 12px 16px; gap: 10px; flex-wrap: nowrap; align-items: center; }
    .logo-area { flex: 0 1 auto; min-width: 0; width: auto; max-width: 56%; }
    .logo-mark { width: clamp(190px, 33vw, 246px); height: 54px; padding: 0; }
    .logo-text { font-size: 14px; }
    .logo-text span { margin-left: 6px; font-size: 12px; }
    header nav {
      display: flex;
      width: auto;
      margin-left: auto;
      justify-content: flex-end;
      align-items: center;
      flex-wrap: nowrap;
      gap: 8px 6px;
    }
    .header-bus-separator {
      display: block;
      margin-left: 10px;
      margin-right: 8px;
      height: 36px;
    }
    header nav a,
    header nav .header-tour-btn {
      display: inline-flex;
      flex: 0 0 auto;
      white-space: nowrap;
      font-size: 12px;
      padding: 5px 11px;
    }
    .header-bus-btn {
      display: inline-flex;
      margin-left: 0;
      flex: 0 0 auto;
    }
    .header-auth-chip {
      max-width: 152px;
    }
    .header-bus-graphic-wrap { width: 124px; }
    .header-bus-graphic { width: 124px; }
    .bus-label { width: 124px; font-size: 12px; margin-top: -8px; }
    .header-bus-btn .bus-count {
      right: 3px;
      top: -1px;
      min-width: 20px;
      height: 20px;
      font-size: 12px;
    }
  }

  @media (max-width: 820px) {
    header { padding: 12px 16px; gap: 10px; flex-wrap: wrap; align-items: flex-start; }
    .logo-area { flex: 1 1 auto; min-width: 0; width: 100%; }
    header nav {
      display: flex;
      width: 100%;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px 6px;
    }
    header nav a,
    header nav .header-tour-btn {
      display: inline-flex;
      flex: 0 0 auto;
      white-space: nowrap;
      font-size: 12px;
      padding: 5px 11px;
    }
    .header-bus-separator { display: none; }
    .header-bus-btn {
      display: inline-flex;
      margin-left: auto;
      margin-top: 0;
      flex: 0 0 auto;
    }
    .header-auth-wrap {
      gap: 5px;
      margin-left: 6px;
    }
    .header-auth-provider-mark {
      margin-left: 2px;
      transform: translateY(-1px);
    }
    .header-auth-btn,
    .header-auth-chip,
    .header-auth-logout {
      min-height: 28px;
      padding: 5px 9px;
      font-size: 10.5px;
    }
    .header-auth-chip {
      max-width: 140px;
    }
    .header-auth-provider-mark .bus-modal-provider-logo-frame {
      width: 38px;
      height: 38px;
    }
    .header-bus-graphic-wrap { width: 118px; }
    .header-bus-graphic { width: 118px; }
    .header-bus-btn .bus-count {
      right: 3px;
      top: -1px;
      min-width: 20px;
      height: 20px;
      font-size: 12px;
    }
    .bus-label {
      width: 118px;
      font-size: 12px;
      margin-top: -8px;
    }
    .logo-area { gap: 8px; }
    .logo-mark { width: clamp(188px, 56vw, 244px); height: 54px; padding: 0; }
    .logo-text { font-size: 14px; }
    .logo-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
    .logo-text span { margin-left: 6px; font-size: 12px; }
    .hero { padding: 40px 20px 32px; }
    .hero h1 { font-size: 24px; }
    .hero p { font-size: 14px; }
    main { padding: 0 16px; }
    .stories-section { padding: 24px 0 26px; }
    .stories-layout { grid-template-columns: 1fr; gap: 12px; }
    .stories-side-grid { gap: 12px; }
    .stories-section .section-desc { margin-bottom: 16px; }
    .story-title { font-size: 16px; }
    .story-card.featured .story-title,
    .story-card-button.featured .story-title { font-size: 18px; }
    .story-modal {
      top: 0;
      left: 0;
      transform: none;
      width: 100vw;
      max-width: 100vw;
      height: 100vh;
      height: 100dvh;
      max-height: 100vh;
      max-height: 100dvh;
      border-width: 0;
      border-radius: 0;
      box-shadow: none;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      background: #081521;
    }
    .story-modal.open { transform: none; }
    .story-modal-header {
      padding: calc(max(10px, env(safe-area-inset-top)) + 2px) 14px 10px;
      flex-shrink: 0;
      border-bottom-color: rgba(222, 234, 245, 0.14);
      background: linear-gradient(180deg, rgba(7, 19, 31, 0.98) 0%, rgba(7, 19, 31, 0.92) 100%);
    }
    .story-modal-header h2 {
      font-size: 16px;
      color: #F6FBFF;
    }
    .story-modal-close {
      width: 38px;
      height: 38px;
      border-radius: 11px;
      border-color: rgba(226, 236, 246, 0.2);
      background: rgba(255, 255, 255, 0.08);
      color: #F6FBFF;
    }
    .story-modal-frame-wrap {
      padding: 0 0 10px;
      flex: 1 1 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #081521;
    }
    .story-modal-frame {
      border-radius: 0;
      width: 100%;
      max-width: 100%;
    }
    .story-modal-meta {
      padding: 0 14px calc(max(14px, env(safe-area-inset-bottom)) + 6px);
      flex-shrink: 0;
      color: rgba(222, 233, 244, 0.78);
      font-size: 11.5px;
      line-height: 1.35;
      background: #081521;
    }
    .bus-modal {
      top: 0;
      left: 0;
      transform: none;
      width: 100vw;
      max-width: 100vw;
      height: 100vh;
      height: 100dvh;
      max-height: 100vh;
      max-height: 100dvh;
      border-width: 0;
      border-radius: 0;
      box-shadow: none;
      overflow: hidden;
    }
    .bus-modal.open {
      transform: none;
    }
    .bus-global-feedback {
      left: 50%;
      right: auto;
      max-width: calc(100% - 20px);
      top: calc(max(10px, env(safe-area-inset-top)) + 58px);
      bottom: auto;
    }
    .bus-modal-header-actions {
      gap: 6px;
    }
    .bus-modal-header {
      grid-template-columns: minmax(0, 1fr) auto;
      grid-template-areas: "title actions";
      row-gap: 8px;
      column-gap: 8px;
      align-items: center;
      flex: 0 0 auto;
      padding:
        calc(max(10px, env(safe-area-inset-top)) + 2px)
        12px
        10px;
      background: #FFFFFF;
    }
    .bus-modal-header-title {
      grid-area: title;
      flex-wrap: nowrap;
      gap: 5px;
    }
    .bus-modal-header-actions {
      grid-area: actions;
      justify-self: end;
      margin-left: 0;
    }
    .bus-modal-provider-logo-frame {
      width: 30px;
      height: 30px;
      padding: 0;
    }
    .bus-modal-header-title .bus-modal-provider-logo-frame {
      width: 36px;
      height: 36px;
    }
    .bus-auth-btn,
    .bus-auth-chip,
    .bus-auth-logout {
      font-size: 11px;
      padding: 5px 9px;
      min-height: 28px;
    }
    .bus-auth-chip {
      max-width: 182px;
    }
    .auth-modal {
      width: calc(100% - 20px);
      max-height: calc(100vh - 20px);
      overflow-y: auto;
    }
    .bus-quick-guide-modal {
      width: calc(100% - 16px);
      max-height: calc(100vh - 20px);
      overflow-y: auto;
    }
    .bus-modal-header h2 { font-size: 18px; }
    .bus-modal-mini-icon { width: clamp(62px, 16vw, 78px); }
    .share-modal {
      width: calc(100% - 20px);
      max-height: calc(100vh - 20px);
      overflow-y: auto;
    }
    .bus-bin-modal {
      width: calc(100% - 20px);
      max-height: calc(100vh - 20px);
      overflow-y: auto;
    }
    .bus-move-modal {
      width: calc(100% - 20px);
      max-height: calc(100vh - 20px);
      overflow-y: auto;
      top: auto;
      bottom: 0;
      transform: translate(-50%, 12px);
      border-radius: 16px 16px 0 0;
    }
    .bus-move-modal.open {
      transform: translate(-50%, 0);
    }
    .share-modal-header h2 { font-size: 18px; }
    .auth-modal-header h2 { font-size: 18px; }
    .bus-confirm-modal {
      width: calc(100% - 20px);
      max-height: calc(100vh - 20px);
      overflow-y: auto;
    }
    .bus-name-modal {
      width: calc(100% - 20px);
      max-height: calc(100vh - 20px);
      overflow-y: auto;
    }
    .bus-confirm-header h2 { font-size: 18px; }
    .bus-name-header h2 { font-size: 18px; }
    .bus-summary-row {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }
    .bus-modal-body {
      display: block;
      overflow-y: auto;
      overflow-x: hidden;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
      padding: 0 12px calc(16px + env(safe-area-inset-bottom));
    }
    .bus-list-query,
    .bus-list-query-controls {
      display: contents;
    }
    .bus-list-query-controls[hidden] {
      display: none !important;
    }
    .bus-mobile-utility-bar {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .bus-mobile-primary-actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px;
    }
    .bus-list-actions {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      align-items: stretch;
      gap: 6px;
    }
    .bus-list-actions[hidden] {
      display: none !important;
    }
    .bus-list-tools {
      margin: 0;
      display: flex;
      flex-direction: column;
      padding: 10px;
      gap: 6px;
      border-top: 0;
      border-left: 0;
      border-right: 0;
      border-radius: 0;
      position: sticky;
      top: 0;
      z-index: 6;
      box-shadow: 0 1px 0 #E7EFF8;
    }
    .bus-mobile-summary {
      display: none;
    }
    #busSearchInput {
      order: 1;
    }
    .bus-mobile-utility-bar {
      order: 2;
    }
    .bus-mobile-primary-actions {
      order: 3;
    }
    #busListActions,
    #busMobileCategoryNavWrap {
      order: 4;
    }
    #busFeedback {
      order: 5;
    }
    #busSortSelect,
    .bus-mobile-utility-meta {
      display: none !important;
    }
    #busFormatFilter {
      width: 100%;
    }
    .bus-actions-primary,
    .bus-actions-secondary {
      display: contents;
      width: auto;
    }
    .bus-actions-primary > *,
    .bus-actions-secondary > * {
      min-width: 0;
    }
    .bus-actions-primary .bus-tools-menu-wrap,
    .bus-actions-secondary .bus-tools-menu-wrap {
      display: flex;
      min-width: 0;
      width: 100%;
    }
    .bus-actions-primary .bus-btn,
    .bus-actions-secondary .bus-btn {
      width: 100%;
      min-width: 0;
      min-height: 44px;
      white-space: normal;
      text-align: center;
      padding-inline: 10px;
      line-height: 1.15;
      justify-content: center;
    }
    .bus-actions-primary .bus-tools-menu-trigger,
    .bus-actions-secondary .bus-tools-menu-trigger {
      width: 100%;
      min-height: 44px;
    }
    #busToolsMoreBtn {
      justify-content: center;
      gap: 7px;
      padding-inline: 8px;
    }
    #busToolsMoreBtn .bus-clear-toolbar-icon,
    #busToolsMoreBtn .bus-clear-toolbar-label {
      flex: 0 0 auto;
    }
    #busToolsMoreBtn .bus-clear-toolbar-label {
      min-width: 0;
      width: auto;
      text-align: left;
    }
    #busMobileRemoveBtn {
      justify-content: center;
      gap: 7px;
      padding-inline: 8px;
      color: #7A2930;
      background: #FFF6F6;
      border-color: #E7C8CD;
    }
    #busMobileRemoveBtn:hover:not(:disabled) {
      color: #631F26;
      background: #FFF0F2;
      border-color: #DDB1B8;
    }
    #busMobileRemoveBtn .bus-clear-toolbar-icon,
    #busMobileRemoveBtn .bus-clear-toolbar-label {
      flex: 0 0 auto;
    }
    #busMobileRemoveBtn .bus-clear-toolbar-label {
      min-width: 0;
      width: auto;
      text-align: left;
    }
    #busShareSelectedBtn {
      order: 1;
    }
    .bus-tools-menu-wrap[data-tools-menu-key="export"] {
      order: 2;
    }
    #busEmailTabBtn {
      order: 3;
    }
    #busSelectAllBtn {
      order: 4;
    }
    .bus-clear-toolbar-wrap {
      order: 5;
    }
    #busMoveBtn {
      order: 4;
    }
    #busExportBtn,
    #busShareSelectedBtn,
    #busToolsMoreBtn,
    #busMoveBtn,
    #busDesktopCopyLinkBtn {
      min-width: 0;
    }
    #busSelectionTools {
      display: none !important;
    }
    #busSelectAllBtn,
    .bus-clear-toolbar-wrap {
      display: none !important;
    }
    .bus-tools-menu {
      left: 0;
      right: auto;
      min-width: min(240px, 100%);
    }
    #busSelectionStatus {
      align-self: stretch;
      width: 100%;
      justify-content: flex-start;
      order: 5;
    }
    .bus-view-context {
      padding: 8px 9px;
      gap: 8px;
    }
    .bus-view-context[data-scope="folder"] .bus-view-context-icon {
      width: 22px;
      min-width: 22px;
      height: 22px;
    }
    .bus-view-context-iptn-logo-wrap {
      width: 22px;
      height: 22px;
    }
    .bus-folder-section-iptn-logo-wrap {
      width: 14px;
      height: 14px;
    }
    .bus-view-context[data-scope="my-bin"] {
      grid-template-columns: 54px minmax(0, 1fr);
    }
    .bus-view-context[data-scope="my-bin"] .bus-view-context-icon {
      height: calc(46px * 0.92);
    }
    .bus-view-context-kicker {
      font-size: 10.5px;
    }
    .bus-view-context-main {
      flex-wrap: wrap;
      align-items: flex-start;
      row-gap: 4px;
    }
    .bus-view-context-title {
      white-space: normal;
    }
    .bus-view-context-count {
      margin-left: auto;
    }
    .bus-item {
      align-items: flex-start;
    }
    .bus-item-select-toggle {
      margin-top: 2px;
    }
    .bus-item-actions {
      margin-left: auto;
      width: auto;
      justify-content: flex-end;
    }
    .bus-items-wrap {
      --bus-email-select-col-width: 72px;
      flex: 0 0 auto;
      min-height: 0;
      max-height: none;
      margin-top: 10px;
      overflow: visible;
    }
    .bus-organizer-shell {
      display: flex;
      flex-direction: column;
      grid-template-columns: 1fr;
      grid-template-rows: none;
      height: auto;
      min-height: 0;
    }
    .bus-folder-nav {
      display: none;
    }
    .bus-mobile-category-nav-wrap:not([hidden]) {
      display: block;
      margin: 0;
      position: static;
      top: auto;
      z-index: auto;
      background: transparent;
      border-bottom: 0;
      border: 1px solid #D8E4EF;
      border-radius: 14px;
      overflow: hidden;
    }
    .bus-list-pane {
      flex: 1 1 auto;
    }
    .bus-mobile-category-nav {
      display: block;
      overflow: visible;
      padding: 0;
      background: transparent;
      border-bottom: 0;
    }
    .bus-mobile-category-fade {
      display: none !important;
    }
    .bus-mobile-category-chip {
      flex-direction: row;
      align-items: center;
      gap: 6px;
      min-width: 0;
      max-width: none;
      padding: 7px 10px;
      border-radius: 999px;
    }
    .bus-mobile-category-chip-icon {
      width: 10px;
      height: 10px;
      border-radius: 999px;
    }
    .bus-mobile-category-chip-label {
      font-size: 11px;
      text-align: left;
      display: block;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .bus-mobile-category-chip-count {
      min-width: 14px;
      padding: 1px 6px;
    }
    .bus-folder-nav {
      flex-direction: column;
      align-items: stretch;
      overflow: visible;
      max-height: none;
      gap: 8px;
      border-right: 0;
      border-bottom: 1px solid var(--border);
      padding: 10px 10px 12px;
      white-space: normal;
    }
    .bus-list-pane {
      overflow: visible;
      min-height: 0;
    }
    .bus-items {
      overflow: visible;
      flex: 0 0 auto;
      min-height: auto;
      height: auto;
    }
    .bus-folder-section + .bus-folder-section { margin-top: 8px; }
    .bus-folder-section-head { margin: 2px 0 5px; }
    .bus-folder-stack {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      gap: 6px;
      padding-bottom: 2px;
    }
    .bus-folder-stack::-webkit-scrollbar {
      display: none;
    }
    .bus-folder-btn {
      width: auto;
      min-width: max-content;
      flex: 0 0 auto;
      text-align: left;
      min-height: 44px;
      padding: 9px 12px;
      border-left-width: 3px;
      border-radius: 12px;
      align-items: center;
      gap: 6px;
      box-shadow: 0 1px 0 rgba(224, 235, 246, 0.95);
    }
    .bus-folder-stack .bus-folder-btn + .bus-folder-btn {
      margin-top: 0;
      margin-left: 0;
    }
    .bus-folder-stack .bus-my-bin-row + .bus-my-bin-row {
      margin-top: 0;
    }
    .bus-my-bin-row {
      flex: 0 0 auto;
      min-width: min(250px, 82vw);
    }
    .bus-folder-btn.is-my-bin {
      min-width: min(250px, 82vw);
      padding-right: 42px;
    }
    .bus-my-bin-menu-wrap {
      top: 5px;
      right: 5px;
    }
    .bus-my-bin-menu-btn {
      width: 30px;
      height: 30px;
    }
    .bus-folder-btn.is-my-bin {
      min-height: 78px;
      padding: 8px 34px 8px 8px;
      gap: 4px;
      border-left-width: 1px;
    }
    .bus-bin-visual {
      height: calc(34px * 1.05);
    }
    .bus-bin-create-row {
      grid-template-columns: 1fr;
    }
    .bus-move-create-row {
      grid-template-columns: 1fr;
    }
    .bus-list-query {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px;
    }
    #busSearchInput {
      grid-column: 1 / -1;
    }
    .bus-search-input,
    .bus-select {
      min-height: 36px;
      height: 36px;
      font-size: 12px;
    }
    .bus-email-step-row {
      justify-content: flex-end;
    }
    .bus-form-grid { grid-template-columns: 1fr; }
    .taxonomy-section { padding: 36px 0 24px; }
    .section-title { font-size: 20px; }
    .section-desc { font-size: 13px; }
    .tax-global-controls { margin-bottom: 12px; }
    .tax-format-chip { font-size: 12px; padding: 6px 9px; }
    .tax-format-view { padding: 18px 16px; }
    .tax-format-group { padding: 10px; }
    .tax-format-group-header h3 { font-size: 13px; }

    /* Taxonomy: stack vertically, tabs on top */
    .taxonomy-grid {
      grid-template-columns: 1fr;
      min-height: auto;
      border-radius: var(--radius);
    }
    .tax-nav-shell {
      background: none;
      overflow: visible;
    }
    .tax-nav {
      border-right: none;
      border-bottom: 1px solid #E0E8F0;
      flex-direction: row;
      overflow-x: auto;
      padding: 10px 36px 10px 12px;
      gap: 8px;
      -webkit-overflow-scrolling: touch;
      -ms-overflow-style: none;
      scrollbar-width: none;
      background: #F5F8FC;
      scroll-behavior: smooth;
    }
    .tax-nav::-webkit-scrollbar { display: none; }
    .tax-nav-fade {
      display: inline-flex;
    }
    .tax-tab {
      appearance: none;
      min-width: 80px;
      max-width: 110px;
      min-height: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 8px 10px 6px;
      gap: 4px;
      flex-shrink: 0;
      border: var(--tax-card-border, 1.5px solid #D0DCE9);
      border-radius: 10px;
      background: var(--tax-card-bg, #FFFFFF);
      box-shadow: var(--tax-card-shadow, none);
      opacity: var(--tax-card-opacity, 1);
      transition: all 0.15s ease;
      font-family: inherit;
    }
    .tax-tab:hover {
      border: var(--tax-card-border, 1.5px solid #D0DCE9);
      background: var(--tax-card-bg, #FFFFFF);
      box-shadow: var(--tax-card-shadow, none);
    }
    .tax-tab.active {
      border: var(--tax-card-border, 2px solid #D0DCE9);
      background: var(--tax-card-bg, #FFFFFF);
      box-shadow: var(--tax-card-shadow, 0 1px 5px rgba(0, 0, 0, 0.07));
    }
    .tab-icon {
      width: 26px;
      height: 26px;
      border-radius: 7px;
      flex-shrink: 0;
      margin-top: 0;
      font-size: 0;
      color: transparent !important;
      background: var(--tax-icon-bg, #6E97BF) !important;
      opacity: var(--tax-icon-opacity, 0.55);
      box-shadow: none;
    }
    .tab-label {
      width: 100%;
    }
    .tab-label h3 {
      font-size: 11px;
      font-weight: 500;
      line-height: 1.3;
      color: #2A3F55;
      text-align: center;
      margin-bottom: 0;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      word-break: break-word;
    }
    .tab-label p { display: none; }
    .tab-count {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 16px;
      padding: 1px 7px;
      border-radius: 8px;
      background: var(--tax-count-bg, #E8EEF5);
      color: var(--tax-count-color, #5A6D82);
      font-size: 10px;
      font-weight: 600;
      white-space: nowrap;
      margin-left: 0;
      align-self: center;
    }
    .tax-tab.active .tab-count {
      background: var(--tax-count-bg, #E8EEF5);
      color: var(--tax-count-color, #5A6D82);
    }

    /* Panels: show all cards on mobile */
    .tax-panels-wrap { max-height: none !important; overflow: visible !important; }
    .tax-panel { padding: 20px 16px; }
    .tax-panel .resource-card { display: grid !important; }
    .show-more-link { display: none !important; }

    .panel-header { margin-bottom: 16px; padding-bottom: 10px; }
    .panel-header h2 { font-size: 17px; }
    .panel-header p { font-size: 12.5px; }
    .tax-category-bulk-add-btn {
      width: 100%;
      margin-left: 0;
      justify-content: center;
    }
    .resource-card { padding: 12px; }
    .resource-card.has-resource-actions { padding-right: 150px; }
    .resource-actions { top: 7px; right: 7px; gap: 4px; }
    .resource-action-btn { width: 26px; height: 26px; }
    .resource-action-icon { width: 13px; height: 13px; }
    .resource-card h4 { font-size: 13px; }
    .resource-desc { font-size: 12px; line-height: 1.4; }
    .resource-desc-toggle { font-size: 12px; }
    .resource-meta { flex-wrap: wrap; gap: 6px; }
    .resource-arrow { display: none; }

    /* Members grid: single column */
    .partner-grid { grid-template-columns: 1fr; }
    .about-grid { grid-template-columns: 1fr; }
    .partners-section { padding: 30px 0 44px; }
    .partner-logo-row { min-height: 52px; margin-bottom: 8px; }
    .partner-logo-frame { width: 108px; height: 50px; padding: 7px 9px; }
    .partner-logo-fallback { font-size: 12px; }

    /* Profile panel: full width on mobile */
    .partner-panel { width: 100vw; max-width: 100vw; }
    .pp-header {
      padding: 12px 16px 11px;
      gap: 9px;
      align-items: flex-start;
    }
    .pp-logo-frame { width: 94px; height: 42px; padding: 5px 7px; }
    .pp-logo-fallback { font-size: 12px; }
    .pp-header-text h2 {
      font-size: 16px;
      line-height: 1.24;
      margin-bottom: 0;
    }
    .pp-header-tags { display: none; }
    .pp-close {
      width: 36px;
      height: 36px;
      margin-left: 6px;
      align-self: flex-start;
    }
    .partner-panel {
      --pp-feedback-slide-y: 12px;
    }
    .pp-feedback {
      top: auto;
      left: 12px;
      right: 12px;
      bottom: calc(max(12px, env(safe-area-inset-bottom)) + 12px);
      justify-content: flex-start;
      align-items: flex-end;
    }
    .pp-feedback-text {
      max-width: none;
      width: 100%;
      flex: 1 1 100%;
      font-size: 12px;
      padding: 10px 12px;
    }
    .pp-feedback-action {
      align-self: flex-end;
      padding: 5px 10px;
    }
    .pp-body { padding: 20px; }
    .pp-support-areas-section {
      display: block;
      padding: 10px 12px;
    }
    .pp-support-areas {
      flex-wrap: nowrap;
      overflow-x: auto;
      overflow-y: hidden;
      padding-bottom: 2px;
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
    .pp-support-areas::-webkit-scrollbar {
      display: none;
    }
    .pp-section-block { padding: 12px 13px; }
    .pp-bio { font-size: 13.5px; }
    .pp-service-item { padding: 10px 12px; font-size: 12.5px; }
    .pp-story-card-wrap .story-content,
    .pp-story-card-wrap .story-card.featured .story-content,
    .pp-story-card-wrap .story-card-button.featured .story-content { padding: 11px 12px 13px; }
    .pp-story-card-wrap .story-card.featured .story-title,
    .pp-story-card-wrap .story-card-button.featured .story-title,
    .pp-story-card-wrap .story-card:not(.featured) .story-title,
    .pp-story-card-wrap .story-card-button:not(.featured) .story-title { font-size: 15px; }
    .pp-story-card-wrap .story-save-btn { width: 40px; height: 40px; }
    .pp-link-inline { font-size: 12px; padding: 8px 11px; }
    .pp-support-pill {
      width: min(100%, 320px);
      justify-content: center;
      border-radius: 14px;
      padding: 10px 14px;
    }

    /* Footer */
    footer { flex-direction: column; gap: 12px; text-align: center; padding: 28px 20px; }
    .footer-left { flex-direction: column; gap: 10px; }
    .footer-left div { align-items: center; }

    /* Taxonomy note */
    .taxonomy-note { flex-direction: column; gap: 12px; padding: 20px; }
  }

  @media (max-width: 640px) {
    .header-bus-graphic-wrap { width: 104px; }
    .header-bus-graphic { width: 104px; }
    .header-bus-btn .bus-count {
      right: 2px;
      top: -2px;
      min-width: 19px;
      height: 19px;
      font-size: 12px;
    }
    .bus-label {
      width: 104px;
      font-size: 12px;
      margin-top: -7px;
    }
  }

  /* Small phones */
  @media (max-width: 480px) {
    header { padding: 10px 12px; gap: 8px; }
    .logo-mark { width: 162px; height: 40px; padding: 0; }
    .logo-text { font-size: 12px; }
    .logo-text span { display: none; }
    .header-bus-graphic-wrap { width: 92px; }
    .header-bus-graphic { width: 92px; }
    .bus-label { width: 92px; font-size: 12px; margin-top: -6px; }
    .header-auth-wrap {
      gap: 4px;
      margin-left: 5px;
    }
    .header-auth-provider-mark {
      margin-left: 2px;
      transform: translateY(-1px);
    }
    .header-auth-btn,
    .header-auth-chip,
    .header-auth-logout {
      min-height: 26px;
      padding: 4px 8px;
      font-size: 10px;
    }
    .header-auth-chip {
      max-width: 124px;
    }
    .header-auth-provider-mark .bus-modal-provider-logo-frame {
      width: 34px;
      height: 34px;
    }
    .bus-modal-mini-icon { width: 54px; }
    .bus-global-feedback {
      left: 50%;
      right: auto;
      max-width: calc(100% - 16px);
      top: calc(max(8px, env(safe-area-inset-top)) + 62px);
      bottom: auto;
    }
    .bus-modal-provider-logo-frame {
      width: 27px;
      height: 27px;
      padding: 0;
    }
    .bus-modal-header-title .bus-modal-provider-logo-frame {
      width: 32px;
      height: 32px;
    }
    .bus-auth-chip {
      max-width: 154px;
    }
    .hero { padding: 32px 16px 24px; }
    .hero h1 { font-size: 20px; }
    .hero p { font-size: 13px; max-width: 100%; }
    .stories-section { padding: 22px 0 24px; }
    .stories-side-grid { grid-template-columns: 1fr; }
    .story-play { width: 38px; height: 38px; font-size: 13px; }
    .story-card.featured .story-play,
    .story-card-button.featured .story-play { width: 42px; height: 42px; }
    .story-title { font-size: 14.5px; }
    .story-card.featured .story-title,
    .story-card-button.featured .story-title { font-size: 16.5px; }
    .story-content { padding: 11px 12px 13px; }
    .story-card.featured .story-content,
    .story-card-button.featured .story-content { padding: 13px 13px 14px; }
    main { padding: 0 12px; }
    .tax-panel { padding: 16px 12px; }
    .tax-format-view { padding: 14px 12px; }
    .bus-modal-body {
      padding: 0 10px calc(14px + env(safe-area-inset-bottom));
    }
    .bus-items-wrap {
      margin-top: 0;
    }
    .bus-folder-nav {
      padding: 8px 8px 10px;
      gap: 7px;
    }
    .bus-folder-section + .bus-folder-section {
      margin-top: 8px;
    }
    .bus-folder-section-head { gap: 6px; }
    .bus-folder-section-head {
      margin: 0 0 4px;
      padding: 0 1px;
      justify-content: space-between;
    }
    .bus-folder-section-label {
      font-size: 10px;
      letter-spacing: 0.38px;
    }
    .bus-folder-stack {
      gap: 6px;
    }
    .bus-folder-stack .bus-folder-btn + .bus-folder-btn,
    .bus-folder-stack .bus-my-bin-row + .bus-my-bin-row {
      margin-top: 0;
    }
    .bus-my-bin-row {
      min-width: min(240px, 82vw);
    }
    .bus-folder-btn {
      min-height: 44px;
      padding: 9px 11px;
    }
    .bus-folder-btn.is-active {
      box-shadow:
        inset 0 0 0 1px rgba(120, 154, 188, 0.2),
        0 1px 3px rgba(28, 60, 93, 0.08);
    }
    .bus-folder-btn.is-my-bin {
      min-height: 72px;
      padding: 8px 34px 8px 8px;
      gap: 4px;
      border-left-width: 1px;
    }
    .bus-folder-main {
      gap: 6px;
    }
    .bus-folder-count {
      font-size: 11px;
    }
    .bus-folder-add-icon-btn {
      width: 28px;
      height: 28px;
      flex: 0 0 28px;
      border-radius: 9px;
    }
    .bus-folder-add-icon-btn::before {
      width: 10px;
      height: 2px;
    }
    .bus-folder-add-icon-btn::after {
      width: 2px;
      height: 10px;
    }
    .bus-bin-visual {
      height: calc(30px * 1.05);
    }
    .bus-my-bin-menu-btn {
      width: 30px;
      height: 30px;
    }
    .bus-list-tools {
      padding: 8px;
      gap: 7px;
    }
    .bus-mobile-utility-actions {
      gap: 5px;
    }
    .bus-mobile-primary-actions {
      gap: 5px;
    }
    .bus-mobile-utility-toggle {
      padding: 8px 8px;
      border-radius: 11px;
      min-height: 42px;
    }
    .bus-mobile-utility-toggle-label {
      font-size: 10.5px;
    }
    .bus-mobile-primary-actions .bus-btn {
      min-height: 42px;
      font-size: 11px;
      line-height: 1.1;
      border-radius: 10px;
      padding-inline: 8px;
    }
    .bus-mobile-scope-panel {
      padding: 10px;
      gap: 8px;
    }
    .bus-mobile-scope-chip {
      padding: 9px 10px;
    }
    .bus-mobile-scope-chip-text {
      font-size: 11.5px;
    }
    .bus-mobile-scope-create-btn {
      padding: 5px 8px;
      font-size: 10px;
    }
    .bus-search-input,
    .bus-select {
      min-height: 36px;
      height: 36px;
      padding: 0 9px;
      border-radius: 9px;
      font-size: 12px;
    }
    .bus-list-actions {
      gap: 6px;
      padding-top: 0;
    }
    .bus-actions-primary .bus-btn,
    .bus-actions-secondary .bus-btn {
      min-height: 44px;
      font-size: 11px;
      line-height: 1.12;
      border-radius: 10px;
      padding-inline: 8px;
    }
    #busSelectionStatus {
      width: 100%;
      min-height: 28px;
      justify-content: flex-start;
      padding: 0 8px;
      border-radius: 10px;
    }
    .bus-organizer-shell.has-mobile-iptn-nav .bus-mobile-category-nav-wrap:not([hidden]) {
      margin: 0;
    }
    .bus-tools-menu {
      width: min(220px, calc(100vw - 28px));
      min-width: 0;
    }
    .bus-list-pane .bus-modal-note {
      margin: 0 6px 6px;
      border-radius: 12px;
    }
    .bus-view-context {
      margin: 0 6px;
      padding: 7px 8px;
      gap: 7px;
    }
    .bus-view-context[data-scope="my-bin"] {
      grid-template-columns: 44px minmax(0, 1fr);
      gap: 7px;
    }
    .bus-view-context[data-scope="my-bin"] .bus-view-context-icon {
      height: calc(30px * 1.05);
    }
    .bus-view-context-title {
      font-size: 12px;
    }
    .bus-view-context-count {
      font-size: 10px;
      padding: 2px 6px;
    }
    .bus-item-group-header {
      margin: 6px 0 4px;
      padding: 8px 10px;
    }
    .bus-item-group-title {
      font-size: 12px;
    }
    .bus-item-group-count {
      font-size: 11px;
      padding: 2px 6px;
    }
    .bus-item {
      gap: 6px;
      padding: 8px 10px;
    }
    .bus-item-title {
      font-size: 12.5px;
    }
    .bus-item-meta {
      font-size: 11.5px;
    }
    .bus-item-actions {
      gap: 4px;
    }
    .resource-card { padding: 10px; }
    .resource-card.has-resource-actions { padding-right: 136px; }
    .resource-actions { top: 6px; right: 6px; gap: 4px; }
    .resource-action-btn { width: 24px; height: 24px; }
    .resource-action-icon { width: 12px; height: 12px; }
    .resource-card h4 { font-size: 12.5px; line-height: 1.35; }
    .resource-desc { font-size: 12px; line-height: 1.35; }
    .resource-desc-toggle { font-size: 12px; }
    .resource-source { font-size: 12px; }
    .resource-type { font-size: 12px; padding: 2px 5px; }
    .share-target-grid { grid-template-columns: 1fr; }
    .partner-card { padding: 16px; }
    .partner-logo-row { min-height: 46px; margin-bottom: 7px; }
    .partner-logo-frame { width: 98px; height: 44px; }
    .partner-card h3 { font-size: 13px; }
    .partner-card p { font-size: 12px; }
  }

  @media (max-width: 360px) {
    .logo-mark { width: 150px; height: 38px; }
    .logo-text { font-size: 12px; }
    .header-bus-graphic-wrap { width: 84px; }
    .header-bus-graphic { width: 84px; }
    .header-bus-btn .bus-count { min-width: 18px; height: 18px; font-size: 12px; }
    .bus-label { width: 84px; font-size: 12px; margin-top: -5px; }
    .bus-folder-stack {
      gap: 5px;
    }
    .bus-actions-primary .bus-btn,
    .bus-actions-secondary .bus-btn,
    .bus-actions-primary .bus-tools-menu-wrap,
    .bus-actions-secondary .bus-tools-menu-wrap {
      flex-basis: calc(50% - 3px);
    }
    #busEmailTabBtn,
    #busSelectionStatus {
      flex-basis: 100%;
    }
  }


/* ----------- SERVICES MAP ADDITIONS ----------- */

.members-view-switch{
  display:inline-flex;
  align-items:center;
  gap:0;
  width:fit-content;
  position: relative;
  isolation: isolate;
  padding:4px;
  border-radius:999px;
  border:1px solid var(--border);
  background: var(--surface-soft);
  box-shadow: inset 0 1px 0 rgba(16,42,73,0.03);
  margin: 14px 0 14px 0;
  transition: box-shadow .24s ease, border-color .24s ease, background-color .24s ease;
}
.members-view-switch.is-switching{
  border-color: #A8C4E0;
  background: #F6FBFF;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.66), 0 8px 18px rgba(18,46,78,0.12);
}
.members-view-switch::before{
  content:'';
  position:absolute;
  top:4px;
  bottom:4px;
  left:4px;
  width: var(--switch-indicator-w, 0px);
  transform: translateX(var(--switch-indicator-x, 0px));
  border-radius:999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.92), rgba(244,249,255,0.95));
  border: 1px solid rgba(170,195,220,0.65);
  box-shadow: 0 10px 18px rgba(14,41,71,0.12), inset 0 1px 0 rgba(255,255,255,0.72);
  transition:
    transform .46s cubic-bezier(.2,.92,.18,1),
    width .46s cubic-bezier(.2,.92,.18,1),
    opacity .2s ease;
  opacity: 0;
  pointer-events:none;
  z-index:0;
}
.members-view-switch.is-initialized::before{
  opacity:1;
}
.members-view-btn{
  border:0;
  background: transparent;
  position: relative;
  z-index: 1;
  padding: 8px 12px;
  border-radius: 999px;
  font-family: var(--font-ui);
  font-weight: 900;
  font-size: 14px;
  color: var(--text-light);
  cursor: pointer;
  transition: color .22s ease, background-color .22s ease, transform .16s ease;
  will-change: transform;
  white-space: nowrap;
}
.members-view-btn:hover{
  background: rgba(255,255,255,0.55);
  color: var(--text);
}
.members-view-btn:active{
  transform: translateY(1px) scale(0.985);
}
.members-view-btn.active{
  background: transparent;
  color: var(--text);
}
.members-view-btn:focus{
  outline: 3px solid rgba(64,115,158,0.28);
  outline-offset: 2px;
}


/* Smooth view switching between Directory ? Services map */
.partners-section{ position: relative; }
.members-views-stage{
  position: relative;
  overflow: visible;
  --mv-shift-x: 0px;
  transition: height .54s cubic-bezier(.2,.84,.2,1);
}
.members-views-stage.is-transitioning{
  overflow: hidden;
}
.members-views-stage.is-to-services{
  --mv-shift-x: 26px;
}
.members-views-stage.is-to-directory{
  --mv-shift-x: -26px;
}
.members-views-stage::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:-2px;
  height:36px;
  background: linear-gradient(180deg, rgba(210,230,247,0.25), rgba(210,230,247,0));
  opacity:0;
  transform: translateY(-6px);
  pointer-events:none;
  transition: opacity .38s ease, transform .38s ease;
}
.members-views-stage.is-transitioning::after{
  opacity:1;
  transform: translateY(0);
}
.members-view{
  position: relative;
  z-index: 1;
  transition:
    opacity .42s cubic-bezier(.22,1,.36,1),
    transform .52s cubic-bezier(.22,1,.36,1),
    filter .42s ease;
  will-change: opacity, transform, filter;
  transform-origin: 50% 18%;
}
.members-view.is-fade-out{
  opacity: 0;
  transform: translate3d(calc(var(--mv-shift-x) * -0.44), -6px, 0) scale(.992);
  filter: blur(1.4px);
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  width: 100%;
}
.members-view.is-fade-in{
  opacity: 0;
  transform: translate3d(calc(var(--mv-shift-x) * 0.7), 8px, 0) scale(.996);
  filter: blur(1.6px);
}
.members-view.is-just-entered .services-map-top,
.members-view.is-just-entered .partner-grid{
  animation: members-view-content-rise .54s cubic-bezier(.2,.86,.2,1) both;
}
@keyframes members-view-content-rise{
  from{
    opacity:.28;
    transform: translateY(7px);
  }
  to{
    opacity:1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce){
  .members-views-stage{ transition: none; }
  .members-views-stage::after{ display:none; }
  .members-view-switch::before{ transition:none; }
  .members-view{ transition: none; }
  .members-view.is-fade-out,
  .members-view.is-fade-in{
    transform: none;
    filter:none;
  }
  .members-view.is-just-entered .services-map-top,
  .members-view.is-just-entered .partner-grid{
    animation:none;
  }
}

  .services-map-top{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap: 0;
    margin: 8px 0 12px 0;
  }
  .services-map-actions{
    display:flex;
    align-items:flex-start;
    gap: 12px;
    width: 100%;
  }
  .services-map-actions-left{
    display:flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
  }
  .services-map-search-row{
    display:flex;
    align-items:center;
    gap: 8px;
    width: min(380px, 100%);
  }
  .services-map-actions-right{
    margin-left: auto;
    flex: 0 0 auto;
    display:flex;
    justify-content: flex-end;
    align-self: flex-end;
  }
  #printServicesMapBtn{
    margin-left: 0;
    white-space: nowrap;
  }
  .services-map-filter{
    display:flex;
    flex-direction:column;
    gap: 0;
    min-width: 0;
    flex: 1 1 auto;
  }
  .services-map-filter label{
    font-size: 12px;
    font-weight: 800;
    color: rgba(12,23,38,0.72);
    line-height: 1.1;
  }
  .services-map-filter input{
    width: 100%;
    border:1px solid #D3E0EE;
    background: #fff;
    color: var(--text);
    border-radius: 10px;
    padding: 8px 10px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    min-height: 36px;
  }
  .services-map-filter input::placeholder{
    color: #77889A;
    font-weight: 500;
  }
  .services-map-filter input:focus{
    outline: 3px solid rgba(64,115,158,0.22);
    outline-offset: 1px;
    border-color: #BFD2E6;
  }
  .services-map-category-filters{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 36px;
  }
  .services-map-chip{
    appearance: none;
    border: 1px solid #CBDCED;
    background: #F8FBFF;
    color: #284765;
    border-radius: 999px;
    padding: 7px 11px;
    font-family: var(--font-ui);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.1;
    cursor: pointer;
    transition: all .14s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .services-map-chip:hover{
    border-color: #A8C4E0;
    background: #FFFFFF;
    box-shadow: 0 6px 14px rgba(12,23,38,0.08);
  }
  .services-map-chip:focus{
    outline: 3px solid rgba(64,115,158,0.24);
    outline-offset: 1px;
  }
  .services-map-chip.is-active{
    border-color: #2F5E8D;
    background: #2F5E8D;
    color: #FFFFFF;
  }
  .services-map-chip.is-active::after{
    content: "×";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.55);
    background: rgba(255,255,255,0.16);
    color: #FFFFFF;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    flex-shrink: 0;
  }
  .services-map-active-filters{
    display:flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 0;
    min-height: 22px;
  }
  .services-map-active-chip{
    display:inline-flex;
    align-items:center;
    gap: 6px;
    border: 1px solid #D2E0EE;
    background: #F8FBFF;
    color: #244464;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.1;
  }
  .services-map-active-chip-btn{
    appearance: none;
    border: 1px solid #BFD2E6;
    background: #FFFFFF;
    color: #315A82;
    cursor: pointer;
    font: inherit;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
  }
  .services-map-active-chip-btn:hover{
    color: #173452;
    border-color: #A8C4E0;
    background: #FFFFFF;
    box-shadow: 0 4px 10px rgba(12,23,38,0.08);
  }
  .services-map-active-chip-btn:focus{
    outline: 3px solid rgba(64,115,158,0.24);
    outline-offset: 1px;
  }
  .services-map-active-chip-btn.is-reset{
    width: auto;
    height: auto;
    padding: 4px 10px;
    border-color: #D2E0EE;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.1;
    border-radius: 999px;
    margin-left: 2px;
  }
  .mini-btn{
    border:1px solid #D3E0EE;
    background: rgba(255,255,255,0.9);
    padding: 8px 10px;
    border-radius: 12px;
    cursor:pointer;
    font-weight: 800;
    font-size: 13px;
    color: var(--navy);
    transition: all .15s ease;
    white-space: nowrap;
  }
  .mini-btn:hover{
    background: #fff;
    box-shadow: 0 10px 18px rgba(12,23,38,0.08);
  }
  .mini-btn.secondary{
    color: var(--text-light);
    border-color: #D8E3EE;
    background: #F8FBFF;
  }
  .mini-btn.secondary:hover{
    color: var(--text);
    background: #fff;
  }
  .services-map-wrap{
    position: relative;
    isolation: isolate;
    z-index: 1;
    --sm-left-shadow: inset 0 0 0 rgba(0,0,0,0);
    --sm-right-shadow: inset 0 0 0 rgba(0,0,0,0);
    background:#fff;
    border:1px solid #D3E0EE;
    border-radius: 16px;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable both-edges;
    touch-action: pan-x pan-y;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: auto;
    box-shadow:
      0 12px 22px rgba(12,23,38,0.06),
      var(--sm-left-shadow),
      var(--sm-right-shadow);
    transition: box-shadow .2s ease;
    scrollbar-width: thin;
    scrollbar-color: #B8CCE0 #EEF4FA;
  }
  .services-map-wrap:focus-visible{
    outline: 3px solid rgba(67,128,184,0.35);
    outline-offset: 2px;
  }
  .services-map-wrap.sm-scroll-left{
    --sm-left-shadow: inset 12px 0 12px -12px rgba(18,52,84,0.28);
  }
  .services-map-wrap.sm-scroll-right{
    --sm-right-shadow: inset -12px 0 12px -12px rgba(18,52,84,0.28);
  }

  table.services-map-table{
  width:100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
  min-width: 1020px;
}

.services-map-table thead th{
  position: sticky;
  top: 0;
  z-index: 5;
  background: var(--surface-soft);
  color: rgba(12,23,38,0.86);
  text-align: center;
  padding: 12px 10px;
  border-bottom: 2px solid var(--border);
  border-right: 1px solid var(--border);
  font-weight: 900;
  font-size: 12.5px;
  line-height: 1.15;
  vertical-align: bottom;
  letter-spacing: .01em;
}
.services-map-table thead th:last-child{ border-right: 0; }
.services-map-col-title{
  display: block;
  font-size: 12.5px;
  font-weight: 900;
  color: rgba(12,23,38,0.9);
}
.services-map-col-sub{
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .01em;
  color: rgba(12,23,38,0.64);
}

.services-map-table thead th.sm-col-member{
  text-align: left;
  position: sticky;
  left: 0;
  z-index: 7;
  min-width: 272px;
  background: #EFF4FA;
  border-right: 1px solid #D3E0EE;
  box-shadow: 1px 0 0 #D3E0EE;
}

.services-map-table tbody th.sm-member{
  text-align:left;
  position: sticky;
  left: 0;
  z-index: 4;
  background: #fff;
  border-bottom: 1px solid var(--border);
  border-right: 1px solid var(--border);
  padding: 12px 14px;
  min-width: 272px;
  max-width: 290px;
  box-shadow: none;
  cursor: pointer;
}
.members-view.services-map-v2 .services-map-table tbody th.sm-member{
  min-width: 332px;
  max-width: 372px;
}

.services-map-table tbody tr:nth-child(even) th.sm-member,
.services-map-table tbody tr:nth-child(even) td{
  background: #FBFDFF;
}

.services-map-table td{
  text-align:center;
  border-bottom: 1px solid var(--border);
  border-right: 1px solid var(--border);
  padding: 12px 10px;
  vertical-align: middle;
  min-width: 110px;
}
.services-map-table td:last-child{ border-right: 0; }

.sm-member-btn{
  appearance:none;
  border:0;
  background: transparent;
  padding:0;
  font: inherit;
  font-weight: 900;
  color: var(--navy);
  cursor:pointer;
  text-decoration: none;
  display:inline-block;
  max-width: 270px;
  white-space: normal;
  line-height: 1.25;
  overflow-wrap: anywhere;
  vertical-align: middle;
}
.sm-member-btn:hover{ text-decoration: underline; }
.sm-provider-main{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.sm-match-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.sm-match-tag{
  display: inline-flex;
  align-items: center;
  border: 1px solid #CFDEEC;
  background: #F6FAFF;
  color: #244464;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}
.sm-row-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 1px;
}
.sm-row-action-btn{
  appearance: none;
  border: 1px solid #D3E0EE;
  background: #FFFFFF;
  color: #234565;
  border-radius: 999px;
  padding: 5px 10px;
  min-height: 32px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: all .14s ease;
}
.sm-row-action-btn.is-primary{
  border-color: #2C5A88;
  background: #2C5A88;
  color: #FFFFFF;
}
.sm-row-action-btn:hover{
  border-color: #AFC8E2;
  box-shadow: 0 8px 14px rgba(12,23,38,0.08);
}
.sm-row-action-btn.is-primary:hover{
  border-color: #214B77;
  background: #214B77;
  color: #FFFFFF;
}
.sm-row-action-btn:focus{
  outline: 3px solid rgba(64,115,158,0.24);
  outline-offset: 1px;
}
.sm-row-action-btn.is-success{
  border-color: #2F6A3A;
  background: #EAF8EE;
  color: #1F5D2B;
}

.sm-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height: 1;
  transform: translateY(1px);
}

/* mark sizes (adjusted per version) */
.sm-check{ font-size: 22px; }
.sm-square{ font-size: 18px; }
.sm-star{ font-size: 22px; }
.sm-star.small{ font-size: 16px; }


/* Hover highlight: row-only emphasis (column highlighting removed). */
.services-map-table tbody tr.is-hover-row td,
.services-map-table tbody tr.is-hover-row th{
  background: rgba(227,161,32,0.10) !important;
}
.services-map-table tbody tr:focus-within td,
.services-map-table tbody tr:focus-within th{
  background: rgba(227,161,32,0.10) !important;
}

@media (max-width: 820px){
  .services-map-top{
    align-items: stretch;
  }
  .services-map-actions{
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 10px;
  }
  .services-map-actions-left,
  .services-map-actions-right{
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
  }
  .services-map-actions-right{
    justify-content: flex-start;
    margin-left: 0;
    align-self: auto;
  }
  .services-map-search-row{
    width: 100%;
  }
  #printServicesMapBtn{
    margin-left: 0;
    width: auto;
  }
  .services-map-filter{
    width: 100%;
    max-width: none;
  }
  .services-map-category-filters{
    width: 100%;
  }
  .services-map-active-filters{
    margin-top: 4px;
  }
  .sm-row-actions{
    gap: 5px;
  }
  .sm-row-action-btn{
    min-height: 30px;
    padding: 5px 9px;
  }
}




