/* FleetFixer Help Center, shared styles.
   Built on the design-system tokens (ff-tokens.css), so it follows the
   pine brand and the light/dark toggle with no per-page colour values.
   Covers two page types: the hub (index.html) and the per-platform docs
   pages, plus the deep-link highlight used when a search result lands on
   a specific section. */

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
a{color:inherit}

/* ============================================================
   Shared docs layout (per-platform pages)
   ============================================================ */
.docs-layout{max-width:1200px;margin:0 auto;padding:32px 24px 64px;display:flex;gap:40px}
.sidebar{width:248px;flex-shrink:0;position:sticky;top:88px;align-self:flex-start;max-height:calc(100vh - 110px);overflow-y:auto}
.sidebar-back{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;padding:8px 12px;border-radius:var(--radius-sm);transition:color var(--dur-1) var(--ease)}
.sidebar-back:hover{color:var(--accent)}
.sidebar-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--muted-2);padding:16px 12px 8px}
.sidebar-nav{display:flex;flex-direction:column;gap:2px}
.sidebar-link{font-size:13.5px;font-weight:500;color:var(--muted);text-decoration:none;padding:9px 12px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:10px;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}
.sidebar-link:hover{background:var(--accent-soft);color:var(--accent)}
.sidebar-link.active{background:var(--accent-soft);color:var(--accent);font-weight:700}
.sidebar-link i{width:16px;text-align:center;font-size:12px}

.docs-main{flex:1;min-width:0}
.docs-hero{margin-bottom:28px}
.docs-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.docs-hero h1{font-family:var(--font-display);font-size:38px;font-weight:900;letter-spacing:-.02em;margin:0 0 8px;line-height:1.1}
.docs-hero p{font-size:16px;color:var(--muted);margin:0;max-width:60ch}

/* In-page search */
.search-bar{position:relative;margin-bottom:28px}
.search-bar input{width:100%;padding:13px 16px 13px 46px;border:1px solid var(--stroke);border-radius:var(--radius);font-size:15px;font-family:inherit;background:var(--panel);color:var(--text);outline:none;transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}
.search-bar input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}
.search-bar>i{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:15px;pointer-events:none}
.search-no-results{display:none;text-align:center;padding:40px 20px;color:var(--muted);font-size:14px}
.search-no-results i{font-size:24px;display:block;margin-bottom:12px;opacity:.6}

/* Accordion sections */
.doc-section{margin-bottom:14px;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden;scroll-margin-top:88px}
.doc-section-header{padding:18px 22px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;user-select:none;transition:background var(--dur-1) var(--ease)}
.doc-section-header:hover{background:var(--panel-2)}
.doc-section-header h2{font-family:var(--font-display);font-size:18px;font-weight:800;display:flex;align-items:center;gap:12px;margin:0;color:var(--text-strong)}
.doc-section-header h2 i{color:var(--accent);font-size:16px;width:20px;text-align:center}
.doc-section-header .chevron{color:var(--muted);font-size:12px;transition:transform var(--dur-2) var(--ease);flex-shrink:0}
.doc-section.open .chevron{transform:rotate(180deg)}
.doc-section-body{padding:0 22px 22px;display:none}
.doc-section.open .doc-section-body{display:block}
.doc-section-body h3{font-size:15px;font-weight:700;margin:22px 0 8px;color:var(--text-strong)}
.doc-section-body h3:first-child{margin-top:4px}
.doc-section-body p{font-size:14.5px;color:var(--muted);margin:0 0 10px}
.doc-section-body strong{color:var(--text);font-weight:700}
.doc-section-body a{color:var(--accent);text-decoration:none;font-weight:600}
.doc-section-body a:hover{text-decoration:underline}
.doc-section-body ol,.doc-section-body ul{margin:8px 0 16px;display:flex;flex-direction:column;gap:7px;padding:0}
.doc-section-body ol{list-style:none;counter-reset:steps}
.doc-section-body ol li{counter-increment:steps;font-size:14.5px;color:var(--muted);padding-left:32px;position:relative}
.doc-section-body ol li::before{content:counter(steps);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:7px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.doc-section-body ul{list-style:none}
.doc-section-body ul li{font-size:14.5px;color:var(--muted);padding-left:18px;position:relative}
.doc-section-body ul li::before{content:"";position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.doc-section-body kbd{display:inline-block;padding:2px 8px;background:var(--panel-2);border:1px solid var(--stroke);border-bottom-width:2px;border-radius:6px;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text)}

/* Callout note */
.doc-note{display:flex;gap:12px;padding:14px 16px;margin:14px 0;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--stroke)}
.doc-note i{color:var(--accent);margin-top:2px}
.doc-note p{margin:0;font-size:14px;color:var(--text)}

/* Shortcut / reference table */
.shortcut-table{width:100%;border-collapse:collapse;margin:12px 0 8px}
.shortcut-table th,.shortcut-table td{text-align:left;padding:10px 12px;font-size:13.5px;border-bottom:1px solid var(--stroke)}
.shortcut-table th{font-weight:700;color:var(--text);background:var(--panel-2)}
.shortcut-table td{color:var(--muted)}

/* Deep-link highlight: a brief pine pulse on the section a search result
   sends the reader to, so they land exactly on the answer. */
@keyframes ff-help-flash{
  0%{box-shadow:0 0 0 3px var(--accent),var(--shadow);background:var(--accent-soft)}
  100%{box-shadow:var(--shadow-xs);background:var(--panel)}
}
.doc-section.is-highlighted{animation:ff-help-flash 2s var(--ease) 1}

/* ============================================================
   Hub (index.html)
   ============================================================ */
.help-hero{position:relative;overflow:hidden;text-align:center;padding:72px 24px 64px;background:var(--brand-gradient);color:#fff}
.help-hero::after{content:"";position:absolute;inset:0;background:var(--backdrop);opacity:.5;pointer-events:none}
.help-hero-inner{position:relative;max-width:760px;margin:0 auto}
.help-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;opacity:.9;margin-bottom:14px}
.help-hero h1{font-family:var(--font-display);font-size:clamp(30px,5vw,46px);font-weight:900;letter-spacing:-.02em;margin:0 0 12px;line-height:1.08}
.help-hero p{font-size:17px;opacity:.92;margin:0 auto 28px;max-width:54ch}

/* Big global search */
.help-search{position:relative;max-width:600px;margin:0 auto;text-align:left}
.help-search>i{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:17px;pointer-events:none;z-index:2}
.help-search input{width:100%;padding:17px 18px 17px 52px;border:none;border-radius:var(--radius-pill);font-size:16px;font-family:inherit;background:#fff;color:var(--text);outline:none;box-shadow:var(--shadow-lg)}
.help-search input::placeholder{color:var(--muted-2)}
.help-search input:focus{box-shadow:var(--shadow-lg),0 0 0 3px rgba(255,255,255,.5)}
.help-search-hint{position:relative;margin-top:14px;font-size:13px;opacity:.85}
.help-search-hint a{color:#fff;text-decoration:underline;font-weight:600}

/* Global results panel */
.help-results{display:none;max-width:760px;margin:-32px auto 0;position:relative;z-index:5;padding:0 24px}
.help-results.show{display:block}
.help-results-card{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}
.help-results-count{padding:12px 18px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-2);border-bottom:1px solid var(--stroke);background:var(--panel-2)}
.help-result{display:block;padding:13px 18px;text-decoration:none;border-bottom:1px solid var(--stroke);transition:background var(--dur-1) var(--ease)}
.help-result:last-child{border-bottom:none}
.help-result:hover,.help-result.kbd-active{background:var(--accent-soft)}
.help-result-top{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.help-result-badge{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);padding:2px 8px;border-radius:var(--radius-pill)}
.help-result-title{font-size:14.5px;font-weight:700;color:var(--text-strong)}
.help-result-snippet{font-size:13px;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.help-result-empty{padding:28px 18px;text-align:center;color:var(--muted);font-size:14px}

/* Hub body */
.help-body{max-width:1100px;margin:0 auto;padding:56px 24px 72px}
.help-section-head{margin-bottom:24px}
.help-section-head h2{font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-.01em;margin:0 0 6px;color:var(--text-strong)}
.help-section-head p{font-size:15px;color:var(--muted);margin:0}

.platform-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.platform-card{display:flex;gap:16px;padding:22px;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);text-decoration:none;transition:transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}
.platform-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--stroke-strong)}
.platform-card-icon{flex-shrink:0;width:46px;height:46px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--accent-contrast);background:var(--brand-gradient)}
.platform-card-body h3{font-family:var(--font-display);font-size:17px;font-weight:800;margin:0 0 3px;color:var(--text-strong);display:flex;align-items:center;gap:8px}
.platform-card-body .product{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-2)}
.platform-card-body p{font-size:14px;color:var(--muted);margin:6px 0 0}

/* General help: accordion sections live on the hub itself */
.help-general{margin-top:64px}

@media(max-width:860px){
  .docs-layout{flex-direction:column;gap:20px;padding:20px 16px 48px}
  .sidebar{width:100%;position:static;max-height:none;border-bottom:1px solid var(--stroke);padding-bottom:12px}
  .sidebar-nav{flex-direction:row;flex-wrap:wrap;gap:4px}
  .sidebar-eyebrow{width:100%}
  .sidebar-link{padding:7px 11px;font-size:12.5px}
  .docs-hero h1{font-size:30px}
  .help-body{padding:40px 16px 56px}
}
