/* AptRoute V2.1 decision workspace; uses established Routeframe theme variables. */
.passport-section{padding-top:91px;padding-bottom:95px;scroll-margin-top:82px}
.fp-shell{border:1px solid var(--line);border-radius:13px;background:var(--paper-soft);box-shadow:var(--shadow);overflow:hidden}
.fp-head{padding:19px 25px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fp-kicker{font:650 11px/1.5 var(--font-mono);letter-spacing:.1em;color:var(--copper-deep)}
.fp-status{font:600 10px var(--font-mono);color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:6px 10px}
.fp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.fp-panel{min-width:0;padding:26px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:13px}
.fp-panel:nth-child(odd){border-right:1px solid var(--line)}
.fp-panel h3{margin:0;font:750 25px/1.15 var(--font-display);letter-spacing:-.04em}
.fp-muted{font-size:13px;color:var(--muted);line-height:1.7;margin:0}
.fp-serial{font:650 10px/1.5 var(--font-mono);letter-spacing:.09em;color:var(--copper-deep)}
.fp-count{font:750 31px/1.2 var(--font-display);letter-spacing:-.05em;display:block;margin-top:2px}
.fp-summary-block .fp-muted{margin-top:5px}
.fp-meta{display:grid;grid-template-columns:132px 1fr;gap:7px 12px;border-top:1px solid var(--line);padding-top:13px;margin:14px 0 0}
.fp-meta dt{color:var(--muted);font:600 11px/1.5 var(--font-mono)}
.fp-meta dd{margin:0;min-width:0;font-size:12px;overflow-wrap:anywhere}
.fp-controls{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.fp-button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:7px;padding:9px 13px;font:700 12px/1.4 var(--font-text);min-height:39px}
.fp-button:hover:not(:disabled){border-color:var(--copper);background:var(--clay)}
.fp-button:disabled{opacity:.5;cursor:not-allowed}
.fp-candidate-select{display:grid;gap:9px}
.fp-select-item{display:flex;gap:10px;align-items:flex-start;color:var(--ink);font-size:13px;line-height:1.5;padding:7px 0;border-bottom:1px solid var(--line)}
.fp-select-item input{width:18px;height:18px;accent-color:var(--copper-deep);flex:none;margin-top:2px}
.fp-scroll{max-width:100%;overflow-x:auto}
.fp-table{width:100%;min-width:390px;border-collapse:collapse;font-size:12px;line-height:1.5}
.fp-table th,.fp-table td{text-align:left;border-bottom:1px solid var(--line);padding:10px 10px;vertical-align:top;overflow-wrap:anywhere}
.fp-table thead th{font-weight:750;background:var(--clay)}
.fp-table tbody th{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--muted);width:105px}
.fp-source-link{font-weight:650;color:var(--copper-deep);text-decoration:underline;text-underline-offset:3px}
.fp-steps{padding:0;margin:0;list-style:none;display:grid;gap:10px}
.fp-step{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.fp-step-index{color:var(--copper-deep);font:600 11px var(--font-mono)}
.fp-review{margin-left:auto;white-space:nowrap;font:600 10px var(--font-mono);color:var(--muted)}
.fp-upgrade{background:color-mix(in srgb,var(--clay) 50%,var(--paper-soft) 50%)}
.fp-upgrade .fp-price{color:var(--copper-deep);font:750 27px var(--font-display)}
.fp-upgrade .btn{align-self:flex-start;white-space:normal;text-align:center}
.fp-guide{padding:27px 26px;display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:start}
.fp-guide h3{font:750 24px var(--font-display);letter-spacing:-.04em;margin:8px 0 8px}
.fp-guide p{font-size:13px;color:var(--muted);line-height:1.7}
.fp-code{border-radius:8px;background:var(--forest);color:#F7F0E4;border:1px solid #5F7969;padding:17px;min-width:0;overflow:hidden}
.fp-code-head{display:flex;align-items:center;gap:10px;justify-content:space-between;font:650 10px var(--font-mono);color:#E8C99E;letter-spacing:.06em}
.fp-code pre{overflow-x:auto;font:500 11px/1.7 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;color:#F5EEE1;margin:14px 0 0}
.fp-code button{border:1px solid #9DAD9F;border-radius:5px;color:#F5EEE1;background:transparent;font-size:11px;padding:6px 9px}
.fp-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;font-size:12px;font-weight:700}
.fp-links a{color:var(--copper-deep);text-decoration:underline;text-underline-offset:3px}
.fp-privacy{border-top:1px solid var(--line);margin:0;padding:14px 25px;font:500 11px/1.65 var(--font-text);color:var(--muted)}
html[data-theme="dark"] .fp-upgrade{background:#2F372D}
html[data-theme="dark"] .fp-table thead th{background:#334439}
html[data-theme="dark"] .fp-code{background:#102820}
@media(max-width:880px){.fp-grid{grid-template-columns:1fr}.fp-panel:nth-child(odd){border-right:none}.fp-guide{grid-template-columns:1fr}}
@media(max-width:520px){.fp-panel{padding:21px}.fp-head{padding:16px 20px}.fp-guide{padding:20px}.fp-meta{grid-template-columns:1fr}.fp-step{flex-wrap:wrap}.fp-review{margin-left:32px}.fp-controls .fp-button{flex:1}.fp-upgrade .btn{width:100%}}
@media(max-width:420px){.nav-wrap{gap:4px}.nav-tools{gap:3px}.locale-wrap{padding:0 4px}.locale-wrap select{max-width:74px}.theme-toggle{padding:7px}.menu-toggle{width:35px;min-width:35px}}
