/* Visual identity of the standalone Alternatives site. */
:root { --ink:#203c32; --muted:#67756e; --accent:#18765d; --accent-strong:#115c48; --accent-soft:#edf5ef; --line:#e0e7e2; --panel:#fff; --warning-soft:#fbf5e8; --shadow:0 3px 12px #233e3205; --radius-lg:16px; }
html { scroll-padding-top:24px; }
body, body[data-page="alternatives"] { display:block; height:auto; min-height:100vh; overflow:auto; background:#f6f8f6; color:var(--ink); font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif; font-size:14px; line-height:1.5; }
.background-veil { display:none; }
button,input,select,textarea { font:inherit; }
button,a,input,select,summary,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #528f77; outline-offset:3px; }
a { text-underline-offset:3px; }
.ui-icon { width:19px; height:19px; flex:0 0 auto; vertical-align:middle; }
.hidden { display:none !important; }
.alt-site-header.shell-header { width:100%; max-width:none; min-height:80px; margin:0; padding:15px max(32px,calc((100% - 1280px)/2)); display:flex; align-items:center; gap:32px; border-bottom:1px solid var(--line); background:#fff; }
body[data-page="alternatives"] .alt-site-header.shell-header { margin-bottom:0; }
.alt-brand { display:inline-flex; align-items:center; gap:11px; text-decoration:none; color:var(--ink); }
.alt-brand-mark { width:38px; height:38px; }
.alt-brand strong,.alt-brand small { display:block; }
.alt-brand strong { font-size:20px; font-weight:750; letter-spacing:-.6px; line-height:1.1; }
.alt-brand small { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-top:3px; }
.alt-site-nav { display:flex; align-items:center; gap:5px; margin-left:auto; }
.alt-site-nav a { padding:9px 13px; font-weight:550; color:#647269; border-radius:7px; text-decoration:none; white-space:nowrap; }
.alt-site-nav a:hover,.alt-site-nav a.is-active { color:var(--accent-strong); background:#edf5ef; }
.alt-site-nav .alt-manager-link { display:flex; align-items:center; gap:9px; border:1px solid var(--line); margin-left:15px; color:var(--ink); }
.alt-manager-link .ui-icon { width:15px; height:15px; }
.alt-site-header .auth-toolbar { margin:0; gap:12px; padding-left:20px; border-left:1px solid var(--line); }
.auth-session-badge { padding:0; border:0; border-radius:0; background:transparent; max-width:170px; }
.auth-session-badge strong { font-size:12px; overflow-wrap:anywhere; }
.auth-session-badge .subtle { font-size:11px; line-height:1.3; }
.alt-site-header .auth-toolbar .ghost-button { padding:7px 10px; font-size:12px; }
.alt-site-hero,.alt-workflow-nav,.layout.alt-layout,.alt-site-footer,.alt-static-main { width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
.alt-site-hero { margin-top:32px; padding:33px 38px; border:1px solid #dce8da; border-radius:18px; background:#eef5ed; display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:24px; align-items:center; overflow:hidden; }
.eyebrow { font-size:10px; font-weight:700; letter-spacing:1.4px; margin:0 0 10px; color:var(--accent-strong); text-transform:uppercase; }
.alt-hero-copy .eyebrow { display:flex; align-items:center; gap:8px; letter-spacing:1px; }
.eyebrow-dot { width:6px; height:6px; border-radius:50%; background:var(--accent); flex-shrink:0; }
.alt-site-hero h1 { font-size:clamp(31px,3.5vw,46px); font-weight:650; line-height:1.12; letter-spacing:-1.7px; margin:0 0 15px; }
.alt-site-hero h1 span { color:#44816b; }
.alt-site-hero .hero-text { font-size:14px; line-height:1.75; margin:0; color:#61766a; }
.alt-hero-link { display:inline-flex; align-items:center; gap:10px; margin-top:19px; color:#245e48; font-size:12px; font-weight:650; text-decoration:none; }
.alt-hero-link:hover { text-decoration:underline; }
.alt-circuit { width:100%; height:auto; mix-blend-mode:multiply; }
.alt-workflow-nav { display:grid; grid-template-columns:repeat(3,1fr); margin-top:23px; margin-bottom:23px; padding:0 5px; }
.alt-workflow-nav>a,.alt-workflow-nav>span { display:flex; align-items:center; gap:12px; padding:9px 24px; text-decoration:none; color:var(--ink); }
.alt-workflow-nav>:first-child { padding-left:0; }
.alt-workflow-nav>:not(:last-child) { border-right:1px solid var(--line); }
.alt-workflow-nav strong,.alt-workflow-nav small { display:block; }
.alt-workflow-nav strong { font-weight:600; font-size:12px; }
.alt-workflow-nav small { color:var(--muted); font-size:11px; margin-top:2px; }
.alt-workflow-nav .ui-icon { margin-left:auto; width:15px; color:#98aba0; }
.step-number { width:32px; height:32px; border:1px solid #dce5de; background:#fff; border-radius:50%; display:grid; place-items:center; color:var(--accent); font-size:11px; font-weight:600; flex-shrink:0; }
.alt-workflow-nav a:hover .step-number { background:var(--accent); color:#fff; }
.layout.alt-layout { display:grid; grid-template-columns:minmax(0,1fr) 286px; gap:22px; align-items:start; grid-template-areas:"selection sidebar" "research sidebar" "report report"; }
.alt-selection-panel { grid-area:selection; }
.alt-research-panel { grid-area:research; }
.alt-sidebar { grid-area:sidebar; display:grid; gap:20px; min-width:0; }
#alt-report-panel { grid-area:report; }
.alt-layout .panel { padding:26px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow); backdrop-filter:none; }
.section-head { margin-bottom:22px; gap:14px; align-items:center; }
.section-head.tight { margin-bottom:18px; }
.section-head h2 { font-size:21px; font-weight:650; line-height:1.25; letter-spacing:-.55px; }
.section-head h3 { font-size:16px; font-weight:650; }
.section-intro { margin:7px 0 0; color:var(--muted); font-size:12px; }
.subtle { color:var(--muted); font-size:12px; line-height:1.65; }
.field { gap:7px; }
.field>span { font-size:12px; font-weight:550; color:#4e6257; }
.field input,.field select,.field textarea { min-width:0; min-height:43px; padding:10px 12px; color:var(--ink); background:#fff; border:1px solid #d9e2dc; border-radius:8px; box-shadow:0 1px 2px #203c3203; font-size:13px; }
input::placeholder,textarea::placeholder { color:#7b8a81; opacity:1; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:#57977b; }
.alt-selection-grid { grid-template-columns:minmax(0,1fr) minmax(145px,.75fr) 125px; gap:14px; }
.search-input-wrap { position:relative; display:block; }
.search-input-wrap .ui-icon { position:absolute; top:13px; left:12px; width:17px; height:17px; color:#7e9185; pointer-events:none; }
.search-input-wrap input { width:100%; padding-left:37px; }
.alt-search-empty { min-height:120px; padding:22px; display:flex; align-items:center; justify-content:center; gap:14px; border:1px dashed #dfe7e0; border-radius:9px; background:#fafcf9; text-align:left; }
.empty-search-icon { display:grid; place-items:center; width:41px; height:41px; background:#edf3ed; border-radius:11px; color:#719481; flex-shrink:0; }
.alt-search-empty strong { font-size:12px; font-weight:600; color:#566f60; }
.alt-search-empty p { font-size:11px; margin:5px 0 0; color:#738377; }
.alt-target-option { padding:13px 15px; border-radius:8px; gap:12px; background:#fff; transition:border-color .15s,background .15s; }
.alt-target-option strong { font-size:13px; }
.alt-target-option small { font-size:12px; }
.pill { display:inline-flex; align-items:center; gap:5px; width:fit-content; padding:4px 8px; border-radius:5px; font-size:10px; font-weight:600; line-height:1.4; }
.pill-warn { background:#faf3e5; color:#8a651e; }
.pill-ok { background:#eaf4ed; color:#326749; }
.primary-button,.ghost-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:8px; padding:11px 16px; font-size:12px; font-weight:600; min-height:39px; transition:background .15s,border-color .15s; }
.primary-button { background:var(--accent); border:1px solid var(--accent); color:#fff; box-shadow:0 2px 4px #18765d18; }
.primary-button:hover:not(:disabled) { background:var(--accent-strong); transform:none; box-shadow:none; }
.ghost-button { border:1px solid #dfe6e0; color:#486451; background:#fff; box-shadow:none; }
.ghost-button:hover:not(:disabled) { background:#f1f6f1; transform:none; }
.alt-layout button:disabled { opacity:.55; }
button:disabled:hover { transform:none; }
.alt-layout .alt-connections { padding:21px; }
.alt-connections .section-head h2 { font-size:17px; }
.alt-connections .compact-button { padding:6px 8px; min-height:29px; font-size:11px; }
.alt-service-grid { grid-template-columns:1fr; gap:0; }
.alt-service { padding:14px 0; border:0; border-bottom:1px solid #edf0eb; border-radius:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:7px; background:none; }
.alt-service:first-child { padding-top:2px; }
.alt-service strong { margin:0; font-size:13px; font-weight:650; }
.alt-service .pill { font-size:9px; padding:3px 6px; }
.alt-service .pill-ok::before { content:""; width:4px; height:4px; background:currentColor; border-radius:50%; }
.alt-service .pill-warn { background:#f1f3ef; color:#72796e; }
.alt-service small { grid-column:1/-1; font-size:11px; margin-top:6px; color:#738175; line-height:1.6; overflow-wrap:anywhere; }
#alt-config-note { font-size:11px; margin-bottom:0; }
.alt-setup { padding-top:12px; margin-top:14px; }
.alt-setup summary { font-size:11px; font-weight:600; }
.alt-setup p,.alt-setup li { font-size:11px; color:var(--muted); }
.alt-setup ul { padding-left:16px; }
.alt-setup code { overflow-wrap:anywhere; }
.alt-support-card { padding:23px; border:1px solid #dce8de; background:#eef5ec; border-radius:14px; }
.alt-support-icon { display:grid; place-items:center; width:33px; height:33px; border:1px solid #d2e3d0; border-radius:9px; background:#f9fcf5; color:#5b8261; }
.alt-support-card h2 { margin:15px 0 8px; font-size:16px; font-weight:650; letter-spacing:-.3px; }
.alt-support-card p,.alt-support-card li { font-size:12px; color:#67806b; line-height:1.7; }
.alt-support-card ul { margin:15px 0 20px; padding:0; list-style:none; }
.alt-support-card li { margin:7px 0; }
.alt-support-card li::before { content:"✓"; display:inline-block; margin-right:10px; color:#719571; }
.alt-support-card a { display:flex; align-items:center; justify-content:space-between; font-size:12px; font-weight:650; text-decoration:none; }
.alt-research-options { gap:22px; align-items:start; grid-template-columns:.85fr 1.15fr; }
.alt-option { font-size:12px; gap:9px; }
.alt-option strong { font-weight:600; }
.alt-option small { font-size:11px; }
.alt-research-options .alt-option { padding:9px 0 0; }
.alt-layout input[type="checkbox"] { width:16px; height:16px; accent-color:var(--accent); }
.alt-provider-options { margin:20px 0 14px; padding:12px; gap:10px 17px; border-radius:8px; }
.alt-provider-options legend { font-size:11px; }
.alt-provider-options label { font-size:11px; }
.alt-provider-hint { padding:9px 10px; border-radius:5px; font-size:11px; margin:0; background:#f5f8f3; color:#617a63; }
.alt-message { font-size:12px; color:#607369; }
.alt-message:empty { display:none; }
.alt-message.is-error { color:var(--danger); }
.alt-technical-note { font-size:11px; padding:12px 14px; color:#87703e; border:1px solid #f0e6ce; border-radius:7px; background:#fbf8ef; }
.alt-research-panel .form-actions { padding-top:16px; border-top:1px solid #edf1eb; margin-top:20px; gap:9px; }
.alt-selection { padding:15px; border-radius:8px; border-left-width:3px; }
.alt-selection strong { font-size:14px; }
.alt-selection p { font-size:12px; }
.alt-selection .ghost-button { white-space:nowrap; }
.alt-component-table { min-width:700px; }
.table-wrap { border:1px solid var(--line); border-radius:9px; background:#fff; }
.alt-layout table { border-collapse:collapse; font-size:12px; }
.alt-layout th { padding:11px 13px; color:#758279; font-size:10px; font-weight:650; letter-spacing:.25px; text-transform:uppercase; background:#f4f7f2; }
.alt-layout td { padding:14px 13px; border-bottom:1px solid #e9eee7; }
.alt-layout tbody tr:last-child td { border-bottom:0; }
.alt-layout tbody tr:hover { background:#fafcf8; }
.alt-component-table input[type="text"],.alt-component-table textarea { min-width:130px; font-size:12px; }
.alt-component-table details summary { font-size:11px; }
.alt-component-table small { font-size:11px; line-height:1.55; color:var(--muted); }
.toolbar { gap:8px; }
.alt-batch-note,.alt-notes,.alt-report-summary { font-size:12px; }
.alt-filter-grid { grid-template-columns:1fr 1fr 1fr; gap:18px; padding:18px; background:#f8faf6; border:1px solid #e7ece4; border-radius:9px; }
.alt-report-issues { font-size:12px; border-radius:8px; }
.alt-export-note { font-size:11px; }
.alt-site-footer { margin-top:10px; margin-bottom:28px; padding-top:20px; border-top:1px solid var(--line); display:flex; gap:16px; justify-content:space-between; color:#7e8a81; font-size:11px; }
.alt-site-footer span:first-child { color:#536b5c; font-weight:650; }
.alt-static-main { margin-top:45px; margin-bottom:45px; }
.alt-static-hero { padding:32px 36px; background:#eef5ed; border:1px solid #dce8da; border-radius:16px; margin-bottom:26px; }
.alt-static-hero h1 { font-size:clamp(30px,4vw,44px); letter-spacing:-1.5px; font-weight:650; line-height:1.15; margin:0 0 14px; }
.alt-static-hero>p:last-child { color:#63786b; max-width:700px; line-height:1.8; margin-bottom:0; }
.alt-guide-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.alt-guide-card { background:#fff; border:1px solid var(--line); border-radius:14px; padding:28px; }
.alt-guide-card .step { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:#eef5e9; color:var(--accent); font-size:13px; margin-bottom:20px; }
.alt-guide-card h2,.alt-checklist h2 { font-size:19px; letter-spacing:-.4px; font-weight:650; margin:0 0 12px; }
.alt-guide-card p,.alt-guide-card li,.alt-checklist li { color:var(--muted); line-height:1.8; font-size:13px; }
.alt-guide-card ul,.alt-checklist ul { padding-left:18px; }
.alt-checklist { margin-top:24px; border:1px solid var(--line); border-radius:14px; background:#fff; padding:28px; }
.alt-static-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.alt-static-actions a { padding:11px 16px; background:var(--accent); color:white; border-radius:8px; font-size:12px; font-weight:600; text-decoration:none; }
.alt-static-actions a.secondary { color:var(--accent-strong); background:var(--accent-soft); }
.auth-overlay { background:#edf3edee; backdrop-filter:blur(7px); overflow-y:auto; padding:28px; align-items:safe center; }
.auth-dialog.panel { width:min(440px,100%); padding:34px; background:#fff; border:1px solid #d9e4da; border-radius:18px; box-shadow:0 24px 80px #314e3814; max-height:none; }
.auth-brand { display:block; margin-bottom:25px; }
.auth-dialog .section-head { margin-bottom:0; }
.auth-dialog h2 { font-size:25px; letter-spacing:-.7px; }
.auth-dialog .hero-text { font-size:13px; margin-top:15px; line-height:1.8; }
.auth-dialog .auth-form { grid-template-columns:1fr; gap:18px; margin-top:25px; }
.auth-dialog .form-actions { margin:0; padding:0; }
.auth-dialog .primary-button { width:100%; min-height:44px; }
.auth-message { font-size:11px; text-align:center; min-height:0; }
.auth-back-link { text-align:center; font-size:12px; margin:18px 0 0; }
@media (max-width:1150px) {
  .alt-site-header.shell-header { gap:18px; padding-inline:24px; flex-wrap:wrap; }
  .alt-site-header .auth-toolbar { margin-left:auto; }
  .auth-session-badge { max-width:125px; }
  .alt-site-nav { gap:1px; }
  .alt-site-nav a { padding:8px 9px; }
  .alt-site-nav .alt-manager-link { margin-left:4px; }
  .alt-site-hero { grid-template-columns:minmax(0,1fr) 320px; padding:28px; }
  .layout.alt-layout { grid-template-columns:minmax(0,1fr) 250px; gap:18px; }
  .alt-layout .panel { padding:21px; }
  .alt-selection-grid { grid-template-columns:1fr 140px; }
  .alt-search-field { grid-column:1/-1; }
  .alt-research-options { grid-template-columns:1fr; gap:12px; }
}
@media (max-width:900px) {
  .alt-site-nav { order:3; width:100%; margin:0; border-top:1px solid var(--line); padding-top:10px; }
  .alt-site-nav .alt-manager-link { margin-left:auto; }
  .alt-site-header.shell-header { row-gap:12px; }
  .layout.alt-layout { grid-template-columns:1fr; grid-template-areas:"selection" "research" "report" "sidebar"; }
  .alt-sidebar { grid-template-columns:1fr 1fr; align-items:start; }
  .alt-site-hero { grid-template-columns:minmax(0,1fr) 220px; }
  .alt-hero-copy .eyebrow { font-size:9px; }
  .desktop-break { display:none; }
  .alt-workflow-nav>a,.alt-workflow-nav>span { padding-inline:12px; gap:8px; }
  .alt-selection-grid { grid-template-columns:minmax(0,1fr) 180px 130px; }
  .alt-search-field { grid-column:auto; }
}
@media (max-width:650px) {
  .alt-site-header.shell-header { padding:16px; }
  .alt-site-header .auth-toolbar { padding-left:10px; gap:8px; }
  .auth-session-badge { max-width:130px; }
  .alt-site-hero,.alt-workflow-nav,.layout.alt-layout,.alt-site-footer,.alt-static-main { width:calc(100% - 28px); }
  .alt-site-nav { gap:0; justify-content:space-between; }
  .alt-site-nav a { font-size:11px; padding:8px; }
  .alt-site-nav .alt-manager-link { margin-left:0; gap:6px; }
  .alt-brand strong { font-size:18px; }
  .alt-brand-mark { width:32px; height:32px; }
  .alt-brand small { font-size:8px; }
  .alt-site-hero { margin-top:18px; padding:26px 22px; grid-template-columns:1fr; }
  .alt-site-hero h1 { font-size:36px; }
  .alt-circuit { display:none; }
  .alt-site-hero .hero-text { font-size:13px; }
  .alt-workflow-nav { gap:8px; margin-block:16px; padding:0; }
  .alt-workflow-nav>a,.alt-workflow-nav>span { padding:5px 6px !important; gap:7px; align-items:flex-start; border:0; }
  .alt-workflow-nav strong { font-size:10px; }
  .alt-workflow-nav small,.alt-workflow-nav .ui-icon { display:none; }
  .step-number { width:24px; height:24px; font-size:9px; }
  .alt-layout .panel { padding:20px; }
  .section-head { flex-wrap:wrap; margin-bottom:18px; }
  .section-head h2 { font-size:20px; }
  .alt-selection-grid { grid-template-columns:minmax(0,1fr) 115px; gap:14px 12px; }
  .alt-search-field { grid-column:1/-1; }
  .field input,.field select { font-size:16px; min-height:45px; }
  .field>span { font-size:11px; }
  .alt-search-empty { padding:20px 14px; gap:10px; }
  .alt-sidebar,.alt-guide-grid { grid-template-columns:1fr; }
  .alt-research-panel .form-actions { flex-direction:column; align-items:stretch; }
  .alt-filter-grid { grid-template-columns:1fr; padding:14px; }
  .alt-selection { flex-direction:column; align-items:stretch; gap:12px; }
  .alt-original-option { padding:0; }
  .alt-site-footer { flex-direction:column; gap:4px; padding-top:17px; }
  .alt-static-main { margin-top:20px; }
  .alt-static-hero,.alt-guide-card,.alt-checklist { padding:24px; }
  .auth-overlay { padding:18px; }
  .auth-dialog.panel { padding:28px 24px; }
  .auth-dialog h2 { font-size:24px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
