/* Account, tools and responsive finishing. Existing actions and calculations
   stay in their templates; admin screens keep their separate styling. */
.hl-table-scroll { max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.hl-table-scroll:focus-visible { outline-offset: -3px; }
.hl-table-hint { display: none; }

.hl-auth .auth-wrap { max-width: 1400px; margin: 28px auto 48px; padding: 0 36px; gap: 36px; min-height: calc(100vh - 190px); }
.hl-auth .auth-left { border-radius: var(--r-lg); padding: clamp(28px, 4vw, 56px); }
.hl-auth .auth-left h2 { max-width: 12ch; font-size: clamp(2.2rem, 4vw, 3.5rem); font-weight: 550; letter-spacing: -.055em; }
.hl-auth .auth-tagline { max-width: 40ch; font-size: .9rem; }
.hl-auth .auth-right { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 40px; }
.hl-auth .auth-form-wrap { max-width: 380px; }
.hl-auth .auth-page-title { font-family: 'Inter', sans-serif; font-size: 2rem; font-weight: 600; letter-spacing: -.05em; }
.hl-auth .auth-page-sub { font-size: .875rem; line-height: 1.65; margin-bottom: 28px; }
.hl-auth .auth-input { min-height: 48px; padding-block: 13px; font-size: .9rem; }
.hl-auth .auth-field label { font-size: .75rem; font-weight: 550; }
.hl-auth .btn-auth-primary { min-height: 48px; background: var(--ink); font-weight: 600; box-shadow: none; }
.hl-auth .btn-auth-primary:hover { background: var(--forest-2); transform: none; }
.hl-auth .auth-center-card { padding: 36px; max-width: 480px; background: var(--surface); }
.hl-auth .auth-mobile-brand { display: none; }
.hl-auth .auth-divider { margin-block: 24px; }
.hl-auth .btn-auth-google { min-height: 48px; }
.hl-auth #toggle-password { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }

.hl-workspace--profile .avatar-circle { width: 60px; height: 60px; border: 1px solid var(--green-line); background: var(--green-tint); color: var(--ink); font-weight: 600; font-size: 1.2rem; }
.hl-workspace--profile .verified-badge { color: var(--green); background: var(--green-tint); border-color: var(--green-line); }
.hl-workspace--profile .pro-card { background: var(--surface); }
.hl-workspace--profile .pro-card-header { padding: 18px 24px; font-weight: 600; font-size: .85rem; }
.hl-workspace--profile .pro-card-body { padding: 24px; }
.hl-workspace--profile .info-row { gap: 18px; }
.hl-workspace--profile .info-row .val { overflow-wrap: anywhere; text-align: right; min-width: 0; }

.hl-help .experience-hero, .hl-help .search-hero, .hl-help .faq-hero {
    background: var(--bg) !important; color: var(--ink) !important; padding: 48px 0 40px !important;
    border-bottom: 1px solid var(--line);
}
.hl-help .experience-hero .topo-lines { display: none; }
.hl-help .experience-hero a { color: var(--muted) !important; }
.hl-help :is(.experience-hero, .search-hero, .faq-hero) h1 { font-family: 'Inter', sans-serif; color: var(--ink) !important; font-weight: 600 !important; letter-spacing: -.055em !important; font-size: clamp(2rem, 4vw, 3.1rem) !important; line-height: 1.12; max-width: 24ch; }
.hl-help :is(.experience-hero, .search-hero, .faq-hero) p { color: var(--muted) !important; font-size: .9rem !important; line-height: 1.7; max-width: 58ch; }
.hl-help .hl-eyebrow { color: var(--green); }
.hl-help .calculator-panel { background: var(--surface) !important; padding: 32px !important; }
.hl-help .calculator-panel :is(input, select) { min-height: 46px; font-size: .9rem; border-color: var(--line-strong); }
.hl-help .calculator-panel label { color: var(--text-2); font-size: .8rem !important; font-weight: 550 !important; }
.hl-help .calculator-panel :is(#baseResult, #calResult, #foodResult, #timeResult) { letter-spacing: -.05em; font-weight: 600 !important; }
.hl-help .calculator-panel h2 { letter-spacing: -.035em; }
.hl-help .search-input-wrap { max-width: 640px; display: flex; gap: 8px; border: 0 !important; background: transparent; }
.hl-help .search-input { min-width: 0; border: 1px solid var(--line-strong) !important; font-size: .95rem; border-radius: var(--r); padding-right: 16px; }
.hl-help .search-btn { position: static; transform: none; flex-shrink: 0; min-height: 48px; padding: 12px 22px; background: var(--ink); font-size: .825rem; font-weight: 600; }
.hl-help .search-input-wrap > .material-icons { top: 26px; }
.hl-help .result-card { background: var(--surface); padding: 24px; }
.hl-help .result-card:hover { transform: none; border-color: var(--line-strong); box-shadow: var(--shadow-sm); }
.hl-help .result-title { font-size: 1rem; font-weight: 600; letter-spacing: -.025em; }
.hl-help .result-excerpt { line-height: 1.7; }
.hl-help .faq-card { background: var(--surface); margin-bottom: 12px; }
.hl-help .faq-group-title { font-size: 1.2rem; font-weight: 600; letter-spacing: -.035em; }
.hl-help .faq-question { padding: 20px 24px; min-height: 60px; line-height: 1.5; }
.hl-help .faq-answer { padding: 0 24px 24px; line-height: 1.8; }
.hl-help .faq-question[aria-expanded="true"] { color: var(--green); }
.hl-help .faq-hero .sub { margin-top: 14px; }
.hl-help .calculator-link { display: flex; flex-direction: column; height: 100%; padding: 26px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); text-decoration: none; }
.hl-help .calculator-link:hover { border-color: var(--line-strong); box-shadow: var(--shadow-sm); }
.hl-help .calculator-link h2 { font-size: 1.15rem; font-weight: 600; letter-spacing: -.035em; margin: 22px 0 12px; }
.hl-help .calculator-link p { color: var(--muted); font-size: .85rem; line-height: 1.7; }
.hl-help .calculator-link .hl-link { padding-top: 16px; margin-top: auto; border-top: 1px solid var(--line); font-size: .8rem; }

@media (max-width: 991.98px) {
    .hl-nav .navbar-collapse { padding-top: 12px; }
    .hl-nav .navbar-nav + .navbar-nav { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
    .hl-nav .dropdown-menu { box-shadow: none; border-radius: var(--r); }
    .hl-nav .dropdown-item { padding: 12px 16px !important; white-space: normal; }
    .hl-nav .navbar-toggler { min-width: 44px; min-height: 44px; border: 1px solid var(--line); color: var(--ink); }
    .hl-nav .nav-link { min-height: 44px; }
    .hl-auth .auth-wrap { gap: 20px; padding-inline: 24px; }
    .hl-auth .auth-right { padding: 32px; }
}
@media (max-width: 767.98px) {
    .hl-table-scroll > table { min-width: 640px; }
    .hl-table-scroll--food > table { min-width: 820px; }
    .hl-table-scroll--compact > table { min-width: 360px; }
    .hl-table-scroll--gear :is(td, th):first-child, .hl-table-scroll--food :is(td, th):nth-child(2) { position: sticky; left: 0; z-index: 1; background: var(--surface); box-shadow: 1px 0 var(--line); }
    .hl-table-scroll--gear th:first-child, .hl-table-scroll--food th:nth-child(2) { z-index: 2; background: #f1f3eb; }
    .hl-table-hint { display: block; margin: 0; padding: 10px 18px; color: var(--muted); font-size: .7rem; background: var(--bg); border-bottom: 1px solid var(--line); }
    .hl-workspace :is(.items-header, .items-card-header, .side-card-header) { gap: 12px; flex-wrap: wrap; }
    .hl-workspace :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea), .hl-help :is(input, select), .hl-auth :is(input:not([type="checkbox"]), select) { font-size: 16px !important; }
    .hl-workspace .btn, .hl-workspace .btn-back, .hl-workspace .btn-create, .hl-workspace .btn-delete { min-height: 44px; }
    .hl-workspace .btn-link, .hl-workspace .page-hero button[title][data-bs-toggle="modal"] { min-width: 44px; min-height: 44px; }
    .hl-workspace .day-card-header { align-items: flex-start; flex-direction: column; padding: 18px; gap: 14px; }
    .hl-workspace .day-card-header > div { width: 100%; min-width: 0; }
    .hl-workspace .day-title, .hl-workspace .route-row { overflow-wrap: anywhere; }
    .hl-workspace .plan-steps-grid { grid-template-columns: 1fr; }
    .hl-workspace .plan-step { min-width: 0; padding: 14px; }
    .hl-workspace .plan-steps-header { flex-wrap: wrap; gap: 12px; }
    .hl-workspace .sub-panel { padding: 14px; }
    .hl-workspace .sub-panel > form.d-flex, .hl-workspace .side-card-body > form.d-flex { flex-wrap: wrap; }
    .hl-workspace .sub-panel > form.d-flex > select, .hl-workspace .side-card-body > form.d-flex > select { width: 100%; }
    .hl-workspace .page-hero .sub { overflow-wrap: anywhere; }
    .hl-workspace--hikes .workspace-heading > .d-flex:last-child { width: 100%; align-items: stretch !important; }
    .hl-workspace .workspace-hike-summary { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 0 !important; width: 100%; }
    .hl-workspace .workspace-hike-summary .stat-pill { min-width: 0; padding: 8px 16px; }
    .hl-workspace .workspace-hike-actions { justify-content: flex-start !important; margin-top: 12px; }
    .hl-workspace .modal-dialog { margin: 12px; }
    .hl-workspace .modal-content { max-height: calc(100dvh - 24px); }
    .hl-workspace .modal-body { overflow-y: auto; }
    .hl-workspace .modal-footer { gap: 8px; flex-wrap: wrap; }
    .hl-workspace .cat-tab { min-height: 44px; padding-inline: 12px; }
    .hl-workspace .gear-pick-item { min-height: 44px; }
    .hl-workspace .pack-toggle { min-width: 36px; min-height: 36px; }
    .hl-workspace--profile .workspace-heading > div:first-child { align-items: flex-start !important; gap: 16px !important; }
    .hl-workspace--profile .avatar-circle { width: 48px; height: 48px; }
    .hl-workspace--profile .pro-card-header, .hl-workspace--profile .pro-card-body { padding: 20px; }
    .hl-help .experience-hero, .hl-help .search-hero, .hl-help .faq-hero { padding: 32px 0 !important; }
    .hl-help .calculator-panel { padding: 20px !important; }
    .hl-help .result-card { padding: 18px; gap: 12px; }
    .hl-help .result-icon { width: 34px; height: 34px; }
    .hl-help .result-card > div:last-child { min-width: 0; overflow-wrap: anywhere; }
    .hl-help .faq-question { padding: 18px; font-size: .875rem; }
    .hl-help .faq-answer { padding: 0 18px 20px; }
    .hl-help .search-btn { padding-inline: 16px; }
    .hl-help .calculator-cta { padding: 16px !important; }
    .hl-help .calculator-cta > div { min-width: 0 !important; flex-basis: 100% !important; }
    .hl-help .calculator-cta .btn { width: 100%; white-space: normal !important; min-height: 46px; }
}
@media (max-width: 860px) {
    .hl-auth .auth-wrap { display: block; min-height: 0; margin: 24px auto 40px; padding: 0 16px; max-width: 520px; }
    .hl-auth .auth-right { padding: 28px 24px; }
    .hl-auth .auth-center { padding: 24px 16px; min-height: calc(100dvh - 100px); }
    .hl-auth .auth-center-card { padding: 28px 24px; }
}
