.ffa-front{--ffa-indigo:#393cb1;--ffa-indigo-ink:#2c2f8f;--ffa-indigo-50:#eeeffb;--ffa-green:#32ad79;--ffa-green-ink:#24855c;--ffa-green-50:#e9f7f0;--ffa-ink:#3b3c38;--ffa-muted:#6b6f7b;--ffa-line:#e4e7ec;--ffa-line-2:#cfd4dc;--ffa-bg:#f6f7fb;--ffa-white:#fff;--ffa-red:#c4302b;--ffa-red-50:#fdeceb;--ffa-amber:#9a6200;--ffa-amber-50:#fff5e0;--ffa-orange:#b45309;--ffa-orange-50:#fff1e6;--ffa-teal:#0f766e;--ffa-teal-50:#e6f6f4;--ffa-blue:#2563c9;--ffa-blue-50:#eaf1fd;--ffa-radius:16px;--ffa-radius-sm:12px;--ffa-shadow:0 1px 2px rgba(20,24,40,.04),0 6px 24px rgba(20,24,40,.06);--ffa-focus:0 0 0 3px rgba(57,60,177,.28);color:var(--ffa-ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;text-align:left}
.ffa-front *,.ffa-front *::before,.ffa-front *::after{box-sizing:border-box}
.ffa-front :where(p,h1,h2,h3,h4,ul,ol,dl,dd,figure,fieldset){margin:0;padding:0}
.ffa-front :where(ul,ol){list-style:none}
.ffa-front fieldset{border:0;min-width:0}
.ffa-front legend{padding:0}
.ffa-front button,.ffa-front input,.ffa-front select,.ffa-front textarea{font:inherit;color:inherit}
.ffa-front a{color:var(--ffa-indigo);text-underline-offset:2px}
.ffa-front svg{flex:none}
.ffa-front img{max-width:100%;display:block}
.ffa-front [hidden]{display:none!important}
.ffa-front .ffa-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
.ffa-front .ffa-hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.ffa-front :focus-visible{outline:none;box-shadow:var(--ffa-focus);border-radius:8px}
.ffa-boot{display:flex;gap:8px;justify-content:center;padding:56px 0}
.ffa-boot span{width:10px;height:10px;border-radius:50%;background:var(--ffa-indigo);animation:ffaPulse 1s infinite ease-in-out}
.ffa-boot span:nth-child(2){animation-delay:.15s}.ffa-boot span:nth-child(3){animation-delay:.3s}
@keyframes ffaPulse{0%,80%,100%{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.ffa-boot span{animation:none;opacity:.6}.ffa-front *{transition:none!important;animation:none!important}}
.ffa-fallback{background:var(--ffa-amber-50);border:1px solid #f1dcae;border-radius:var(--ffa-radius-sm);padding:14px 16px}

.ffa-h1{font-size:28px;line-height:1.15;font-weight:800;letter-spacing:-.02em;color:var(--ffa-ink)}
.ffa-h2{font-size:21px;line-height:1.25;font-weight:750;letter-spacing:-.01em;color:var(--ffa-ink)}
.ffa-h3{font-size:17px;line-height:1.3;font-weight:700;color:var(--ffa-ink)}
.ffa-lead{font-size:17px;color:var(--ffa-muted);margin-top:6px}
.ffa-muted{color:var(--ffa-muted)}
.ffa-small{font-size:14px}
.ffa-xs{font-size:13px}
.ffa-center{text-align:center}
.ffa-strong{font-weight:700}
.ffa-num{font-variant-numeric:tabular-nums}
.ffa-stack>*+*{margin-top:14px}
.ffa-stack-sm>*+*{margin-top:8px}
.ffa-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ffa-row-between{justify-content:space-between}
.ffa-grow{flex:1 1 auto;min-width:0}
.ffa-grid2{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:560px){.ffa-grid2{grid-template-columns:1fr 1fr}.ffa-grid3{grid-template-columns:2fr 1fr 1fr}}
.ffa-grid3{display:grid;grid-template-columns:1fr;gap:12px}

.ffa-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;border:1.5px solid var(--ffa-indigo);background:var(--ffa-indigo);color:#fff!important;font-weight:700;font-size:16px;line-height:1.15;text-decoration:none!important;cursor:pointer;transition:background .15s,border-color .15s,transform .05s;white-space:nowrap}
.ffa-btn:hover{background:var(--ffa-indigo-ink);border-color:var(--ffa-indigo-ink)}
.ffa-btn:active{transform:translateY(1px)}
.ffa-btn svg{width:18px;height:18px}
.ffa-btn-go{background:var(--ffa-green);border-color:var(--ffa-green)}
.ffa-btn-go:hover{background:var(--ffa-green-ink);border-color:var(--ffa-green-ink)}
.ffa-btn-line{background:#fff;color:var(--ffa-indigo)!important;border-color:#c9cbee}
.ffa-btn-line:hover{background:var(--ffa-indigo-50);border-color:var(--ffa-indigo)}
.ffa-btn-ghost{background:transparent;color:var(--ffa-ink)!important;border-color:transparent}
.ffa-btn-ghost:hover{background:#eef0f4;border-color:transparent}
.ffa-btn-danger{background:#fff;color:var(--ffa-red)!important;border-color:#f0c4c2}
.ffa-btn-danger:hover{background:var(--ffa-red-50);border-color:var(--ffa-red)}
.ffa-btn-danger-solid{background:var(--ffa-red);border-color:var(--ffa-red)}
.ffa-btn-danger-solid:hover{background:#a52520;border-color:#a52520}
.ffa-btn-sm{min-height:40px;padding:0 16px;font-size:14.5px}
.ffa-btn-lg{min-height:56px;padding:0 28px;font-size:17px}
.ffa-btn-block{width:100%}
.ffa-btn[disabled],.ffa-btn.is-busy{opacity:.6;cursor:default;pointer-events:none}
.ffa-btn.is-busy::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ffaSpin .7s linear infinite}
@keyframes ffaSpin{to{transform:rotate(360deg)}}
.ffa-link{background:none;border:0;padding:4px 0;color:var(--ffa-indigo);font-weight:650;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-size:inherit;min-height:32px}
.ffa-link:hover{color:var(--ffa-indigo-ink)}

.ffa-card{background:#fff;border:1px solid var(--ffa-line);border-radius:var(--ffa-radius);padding:18px;box-shadow:var(--ffa-shadow)}
@media (min-width:700px){.ffa-card{padding:24px}}
.ffa-card+.ffa-card{margin-top:16px}
.ffa-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.ffa-card-head .ffa-h2,.ffa-card-head .ffa-h3{display:flex;align-items:center;gap:10px}
.ffa-card-soft{background:var(--ffa-bg);box-shadow:none}
.ffa-card-accent{border-color:#c9cbee;box-shadow:0 0 0 3px var(--ffa-indigo-50),var(--ffa-shadow)}
.ffa-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--ffa-indigo-50);color:var(--ffa-indigo);flex:none}
.ffa-ico svg{width:22px;height:22px}
.ffa-ico-green{background:var(--ffa-green-50);color:var(--ffa-green-ink)}
.ffa-ico-amber{background:var(--ffa-amber-50);color:var(--ffa-amber)}
.ffa-ico-red{background:var(--ffa-red-50);color:var(--ffa-red)}

.ffa-note{display:flex;gap:10px;align-items:flex-start;border-radius:var(--ffa-radius-sm);padding:12px 14px;background:var(--ffa-indigo-50);color:#2b2d7a;font-size:15px}
.ffa-note svg{width:20px;height:20px;margin-top:1px}
.ffa-note-ok{background:var(--ffa-green-50);color:#1d6a49}
.ffa-note-warn{background:var(--ffa-amber-50);color:#6f4700}
.ffa-note-bad{background:var(--ffa-red-50);color:#8e211d}
.ffa-note .ffa-link{color:inherit}
.ffa-note>div{flex:1 1 auto;min-width:0}

.ffa-field{display:block}
.ffa-field+.ffa-field,.ffa-grid2+.ffa-field,.ffa-field+.ffa-grid2,.ffa-grid2+.ffa-grid2,.ffa-grid3+.ffa-field,.ffa-field+.ffa-grid3{margin-top:16px}
.ffa-label{display:block;font-weight:650;font-size:15px;margin-bottom:6px;color:var(--ffa-ink)}
.ffa-opt{font-weight:400;color:var(--ffa-muted);font-size:14px;margin-left:4px}
.ffa-input,.ffa-front select.ffa-input,.ffa-front textarea.ffa-input{display:block;width:100%;min-height:50px;border:1.5px solid var(--ffa-line-2);border-radius:12px;background:#fff;padding:12px 14px;font-size:16px;line-height:1.35;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.ffa-front textarea.ffa-input{min-height:110px;resize:vertical}
.ffa-front select.ffa-input{padding-right:38px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233b3c38' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center/12px}
.ffa-input:hover{border-color:#aeb4c0}
.ffa-input:focus{outline:0;border-color:var(--ffa-indigo);box-shadow:var(--ffa-focus)}
.ffa-input::placeholder{color:#9aa0ab}
.ffa-money{position:relative}
.ffa-money>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ffa-muted);font-weight:600;pointer-events:none}
.ffa-money .ffa-input{padding-left:30px;font-weight:650;font-variant-numeric:tabular-nums}
.ffa-hint{font-size:14px;color:var(--ffa-muted);margin-top:6px}
.ffa-err{font-size:14px;color:var(--ffa-red);font-weight:600;margin-top:6px}
.ffa-err:empty{display:none}
.ffa-field.is-bad .ffa-input,.ffa-field.is-bad .ffa-drop,.ffa-field.is-bad .ffa-checkline{border-color:var(--ffa-red)}
.ffa-field.is-bad .ffa-input:focus{box-shadow:0 0 0 3px rgba(196,48,43,.2)}
.ffa-pw{position:relative}
.ffa-pw .ffa-input{padding-right:84px}
.ffa-pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:38px;border:0;background:#eef0f4;border-radius:999px;padding:0 12px;font-weight:650;font-size:14px;cursor:pointer}

.ffa-pills{display:flex;flex-wrap:wrap;gap:8px}
.ffa-pills label{position:relative;cursor:pointer;margin:0}
.ffa-pills input{position:absolute;opacity:0;width:1px;height:1px}
.ffa-pills label>span{display:inline-flex;align-items:center;gap:6px;min-height:46px;padding:0 18px;border:1.5px solid var(--ffa-line-2);border-radius:999px;background:#fff;font-weight:650;transition:border-color .15s,background .15s}
.ffa-pills label:hover>span{border-color:var(--ffa-indigo)}
.ffa-pills input:checked+span{border-color:var(--ffa-indigo);background:var(--ffa-indigo-50);color:var(--ffa-indigo-ink)}
.ffa-pills input:focus-visible+span{box-shadow:var(--ffa-focus)}

.ffa-checkline{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1.5px solid var(--ffa-line);border-radius:12px;background:#fff;cursor:pointer;font-size:15px}
.ffa-checkline+.ffa-checkline{margin-top:10px}
.ffa-checkline input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--ffa-indigo);flex:none;cursor:pointer}
.ffa-checkline small{display:block;color:var(--ffa-muted);font-size:13.5px;margin-top:2px}
.ffa-checkline:has(input:checked){border-color:#b9bbea;background:#fafaff}
.ffa-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1.5px solid var(--ffa-line);border-radius:12px;cursor:pointer}
.ffa-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.ffa-toggle .ffa-sw{width:52px;height:30px;border-radius:999px;background:#d3d7de;position:relative;flex:none;transition:background .15s}
.ffa-toggle .ffa-sw::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .15s}
.ffa-toggle input:checked~.ffa-sw{background:var(--ffa-red)}
.ffa-toggle input:checked~.ffa-sw::after{transform:translateX(22px)}
.ffa-toggle input:focus-visible~.ffa-sw{box-shadow:var(--ffa-focus)}
.ffa-toggle small{display:block;color:var(--ffa-muted);font-size:13.5px}

.ffa-drop{position:relative;display:flex;align-items:center;gap:14px;padding:14px;border:1.5px dashed #b6bcc8;border-radius:14px;background:#fbfbfd;cursor:pointer;transition:border-color .15s,background .15s;min-height:76px}
.ffa-drop:hover,.ffa-drop.is-over{border-color:var(--ffa-indigo);background:var(--ffa-indigo-50)}
.ffa-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.ffa-drop:focus-within{box-shadow:var(--ffa-focus);border-color:var(--ffa-indigo)}
.ffa-drop-thumb{width:52px;height:52px;border-radius:12px;background:#eceef6 center/cover no-repeat;display:grid;place-items:center;color:var(--ffa-indigo);flex:none;overflow:hidden}
.ffa-drop-thumb svg{width:24px;height:24px}
.ffa-drop b{display:block;font-size:15px}
.ffa-drop small{display:block;color:var(--ffa-muted);font-size:13.5px}
.ffa-drop .ffa-drop-x{position:relative;z-index:2;margin-left:auto;border:0;background:#eef0f4;border-radius:999px;min-height:36px;padding:0 12px;font-weight:650;font-size:14px;cursor:pointer}

.ffa-flow{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;max-width:1080px;margin:0 auto}
@media (min-width:920px){.ffa-flow{grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:36px;align-items:start}.ffa-flow-aside{position:sticky;top:96px}}
.ffa-flow-single{max-width:640px}
.ffa-flow-head{margin-bottom:18px}
.ffa-progress{margin-bottom:22px}
.ffa-progress ol{display:flex;gap:6px}
.ffa-progress li{flex:1 1 0;min-width:0}
.ffa-progress li>span{display:block;height:6px;border-radius:999px;background:#e3e5ec;overflow:hidden}
.ffa-progress li>span>i{display:block;height:100%;width:0;background:var(--ffa-indigo);transition:width .3s}
.ffa-progress li.is-done>span>i,.ffa-progress li.is-now>span>i{width:100%}
.ffa-progress li.is-now>span>i{background:var(--ffa-green)}
.ffa-progress li b{display:block;font-size:13px;font-weight:650;color:var(--ffa-muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ffa-progress li.is-now b{color:var(--ffa-ink)}
.ffa-stepcount{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ffa-green-ink);margin-bottom:6px}
.ffa-section+.ffa-section{margin-top:26px;padding-top:22px;border-top:1px solid var(--ffa-line)}
.ffa-section>.ffa-h3{margin-bottom:12px}
.ffa-nav{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:26px;flex-wrap:wrap-reverse}
.ffa-nav .ffa-btn-go{flex:1 1 220px}
@media (min-width:560px){.ffa-nav .ffa-btn-go{flex:0 1 auto;min-width:220px}}
.ffa-saved{font-size:13px;color:var(--ffa-muted)}
.ffa-banner{margin-bottom:18px}

.ffa-camp{background:#fff;border:1px solid var(--ffa-line);border-radius:var(--ffa-radius);overflow:hidden;box-shadow:var(--ffa-shadow)}
.ffa-camp-photo{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#eceefa,#e6f4ee);display:grid;place-items:center;color:#9a9dd6}
.ffa-camp-photo img{width:100%;height:100%;object-fit:cover}
.ffa-camp-photo svg{width:64px;height:64px}
.ffa-flag{position:absolute;top:12px;left:12px;background:var(--ffa-red);color:#fff;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:4px 8px}
.ffa-camp-body{padding:16px 18px 18px}
.ffa-camp-kicker{font-size:13px;color:var(--ffa-muted);font-weight:600}
.ffa-camp-title{font-size:21px;font-weight:800;letter-spacing:-.01em;margin:2px 0 6px;overflow-wrap:anywhere}
.ffa-camp-what{color:var(--ffa-muted);font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.ffa-bar{height:10px;border-radius:999px;background:#e7eae9;overflow:hidden;margin:14px 0 8px}
.ffa-bar>i{display:block;height:100%;background:var(--ffa-green);border-radius:999px;min-width:6px;transition:width .3s}
.ffa-camp-nums{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:var(--ffa-muted)}
.ffa-camp-nums b{color:var(--ffa-ink);font-size:16px}
.ffa-vetline{display:flex;gap:8px;align-items:center;margin-top:14px;padding:10px 12px;border-radius:10px;background:var(--ffa-green-50);color:#1d6a49;font-size:14px;font-weight:600}
.ffa-vetline svg{width:18px;height:18px}
.ffa-vetline.is-wait{background:#f1f2f6;color:var(--ffa-muted)}
.ffa-preview-label{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ffa-muted);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.ffa-preview-label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ffa-green);box-shadow:0 0 0 4px var(--ffa-green-50)}

.ffa-helper{margin-top:16px;border:1px solid #d9dbf3;background:linear-gradient(180deg,#f7f7fe,#fff);border-radius:14px;overflow:hidden}
.ffa-helper>button{display:flex;width:100%;align-items:center;gap:10px;padding:14px 16px;border:0;background:transparent;cursor:pointer;font-weight:700;color:var(--ffa-indigo-ink);text-align:left;min-height:52px}
.ffa-helper>button svg{width:20px;height:20px}
.ffa-helper>button .ffa-chev{margin-left:auto;transition:transform .2s}
.ffa-helper>button[aria-expanded=true] .ffa-chev{transform:rotate(180deg)}
.ffa-helper-body{padding:0 16px 16px}
.ffa-sum{display:grid;gap:6px;font-size:15px}
.ffa-sum>div{display:flex;justify-content:space-between;gap:12px}
.ffa-sum>div>span:last-child{font-variant-numeric:tabular-nums;font-weight:650}
.ffa-sum .ffa-sum-total{border-top:1px solid var(--ffa-line);padding-top:8px;margin-top:4px;font-weight:800;font-size:17px}
.ffa-sum .ffa-sum-total span:last-child{color:var(--ffa-green-ink);font-weight:800}
.ffa-plan{display:grid;gap:8px;margin-top:12px}
.ffa-plan li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px}
.ffa-plan li>b{flex:none;min-width:64px;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ffa-indigo);padding-top:2px}

.ffa-search{position:relative}
.ffa-search>svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--ffa-muted);pointer-events:none}
.ffa-search .ffa-input{padding-left:44px}
.ffa-results{margin-top:10px;display:grid;gap:8px}
.ffa-result{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border:1.5px solid var(--ffa-line);border-radius:12px;background:#fff;cursor:pointer;min-height:64px;transition:border-color .15s,background .15s}
.ffa-result:hover{border-color:var(--ffa-indigo);background:#fafaff}
.ffa-result[aria-pressed=true]{border-color:var(--ffa-indigo);background:var(--ffa-indigo-50)}
.ffa-result b{display:block;font-size:15.5px}
.ffa-result small{display:block;color:var(--ffa-muted);font-size:14px}
.ffa-result .ffa-go{margin-left:auto;color:var(--ffa-indigo);font-weight:700;font-size:14px;white-space:nowrap}
.ffa-avatar{width:44px;height:44px;border-radius:12px;background:var(--ffa-indigo-50);color:var(--ffa-indigo);display:grid;place-items:center;font-weight:800;font-size:15px;flex:none;overflow:hidden}
.ffa-avatar img{width:100%;height:100%;object-fit:cover}
.ffa-avatar svg{width:22px;height:22px}
.ffa-avatar-lg{width:64px;height:64px;border-radius:16px;font-size:20px}
.ffa-chosen{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1.5px solid #b9e2cd;background:var(--ffa-green-50)}
.ffa-chosen .ffa-avatar{background:#fff;color:var(--ffa-green-ink)}
.ffa-alt{margin-top:16px;padding:14px 16px;border-radius:14px;background:var(--ffa-bg);display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.ffa-sub{margin-top:14px;padding:16px;border:1.5px solid #d9dbf3;border-radius:14px;background:#fcfcff}

.ffa-done{max-width:640px;margin:0 auto;text-align:center}
.ffa-done-ico{width:76px;height:76px;margin:0 auto 16px;border-radius:24px;display:grid;place-items:center;background:var(--ffa-green-50);color:var(--ffa-green-ink)}
.ffa-done-ico svg{width:38px;height:38px}
.ffa-done .ffa-lead{margin-bottom:18px}
.ffa-email-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--ffa-bg);font-weight:650;overflow-wrap:anywhere;max-width:100%}
.ffa-next{text-align:left;margin:22px 0 0;display:grid;gap:0;counter-reset:n}
.ffa-next li{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--ffa-line);counter-increment:n}
.ffa-next li:first-child{border-top:0}
.ffa-next li::before{content:counter(n);flex:none;width:30px;height:30px;border-radius:50%;background:var(--ffa-indigo-50);color:var(--ffa-indigo);font-weight:800;display:grid;place-items:center;font-size:14px}
.ffa-next b{display:block}
.ffa-next span{color:var(--ffa-muted);font-size:15px}

.ffa-dash{max-width:1120px;margin:0 auto}
.ffa-dash-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.ffa-dash-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:980px){.ffa-dash-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);align-items:start}}
.ffa-dash-grid>div>.ffa-card+.ffa-card,.ffa-dash-grid>div>section+section{margin-top:16px}
.ffa-role{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ffa-muted)}
.ffa-checklist{display:grid;gap:6px}
.ffa-checklist li>a,.ffa-checklist li>div{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--ffa-ink);min-height:52px}
.ffa-checklist li>a:hover{background:var(--ffa-bg)}
.ffa-checklist .ffa-tick{width:26px;height:26px;border-radius:50%;border:2px solid #c7ccd6;display:grid;place-items:center;flex:none;color:#fff}
.ffa-checklist .ffa-tick svg{width:15px;height:15px}
.ffa-checklist .is-done .ffa-tick{background:var(--ffa-green);border-color:var(--ffa-green)}
.ffa-checklist .is-done .ffa-cl-label{color:var(--ffa-muted);text-decoration:line-through;text-decoration-color:#b8bcc6}
.ffa-checklist .ffa-cl-label{font-weight:650}
.ffa-checklist .ffa-cl-go{margin-left:auto;color:var(--ffa-indigo);font-size:14px;font-weight:700}
.ffa-meter{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ffa-muted);font-weight:600}
.ffa-meter>span{flex:1;height:6px;border-radius:999px;background:#e7e9ef;overflow:hidden}
.ffa-meter>span>i{display:block;height:100%;background:var(--ffa-green)}

.ffa-pill{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:700;background:#eef0f4;color:#4a4e59;white-space:nowrap}
.ffa-pill-review{background:var(--ffa-amber-50);color:var(--ffa-amber)}
.ffa-pill-scheduled{background:var(--ffa-blue-50);color:var(--ffa-blue)}
.ffa-pill-held{background:var(--ffa-amber-50);color:var(--ffa-amber)}
.ffa-pill-live{background:var(--ffa-green-50);color:var(--ffa-green-ink)}
.ffa-pill-ended,.ffa-pill-short{background:var(--ffa-orange-50);color:var(--ffa-orange)}
.ffa-pill-completed{background:var(--ffa-teal-50);color:var(--ffa-teal)}
.ffa-pill-failed{background:var(--ffa-red-50);color:var(--ffa-red)}
.ffa-pill-declined{background:#eef0f4;color:#5c616d}
.ffa-pill-test{background:#fff3c4;color:#7a5a00}

.ffa-items{display:grid;gap:12px}
.ffa-item{border:1px solid var(--ffa-line);border-radius:14px;padding:14px;background:#fff}
.ffa-item-head{display:flex;gap:12px;align-items:flex-start}
.ffa-item-head .ffa-grow b{display:block;font-size:16.5px;overflow-wrap:anywhere}
.ffa-item-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;color:var(--ffa-muted);margin-top:2px}
.ffa-item-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ffa-item-actions .ffa-btn{flex:1 1 auto}
@media (min-width:560px){.ffa-item-actions .ffa-btn{flex:0 0 auto}}
.ffa-item .ffa-bar{margin:12px 0 6px;height:8px}
.ffa-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:12px}
.ffa-facts>div{background:var(--ffa-bg);border-radius:10px;padding:8px 10px}
.ffa-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ffa-muted);font-weight:650}
.ffa-facts dd{font-weight:700;font-variant-numeric:tabular-nums}
.ffa-empty{text-align:center;padding:24px 12px;color:var(--ffa-muted)}
.ffa-empty b{display:block;color:var(--ffa-ink);font-size:16px;margin-bottom:4px}
.ffa-anchor{scroll-margin-top:100px}
.ffa-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ffa-kpis>div{background:var(--ffa-bg);border-radius:12px;padding:12px;text-align:center}
.ffa-kpis b{display:block;font-size:20px;font-variant-numeric:tabular-nums}
.ffa-kpis span{font-size:13px;color:var(--ffa-muted)}
.ffa-tabs{display:flex;gap:4px;padding:4px;background:#eef0f4;border-radius:12px;margin-bottom:14px;overflow-x:auto}
.ffa-tabs button{flex:1 0 auto;border:0;background:transparent;border-radius:9px;min-height:40px;padding:0 14px;font-weight:650;font-size:14.5px;cursor:pointer;white-space:nowrap;color:var(--ffa-ink)}
.ffa-tabs button[aria-selected=true]{background:#fff;color:var(--ffa-indigo-ink);box-shadow:0 1px 4px rgba(20,24,40,.12)}
.ffa-tabs button i{font-style:normal;display:inline-block;min-width:20px;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--ffa-indigo);color:#fff;font-size:12px;line-height:20px}

.ffa-pay{border:2px solid var(--ffa-indigo);box-shadow:0 0 0 4px var(--ffa-indigo-50),var(--ffa-shadow)}
.ffa-pay-status{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--ffa-bg);margin-bottom:12px}
.ffa-pay-status b{display:block}
.ffa-dot{width:10px;height:10px;border-radius:50%;background:#c3c7d0;flex:none}
.ffa-dot-ok{background:var(--ffa-green);box-shadow:0 0 0 4px var(--ffa-green-50)}
.ffa-dot-warn{background:#e0a106;box-shadow:0 0 0 4px var(--ffa-amber-50)}
.ffa-dot-bad{background:var(--ffa-red);box-shadow:0 0 0 4px var(--ffa-red-50)}
.ffa-due{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--ffa-line);flex-wrap:wrap}
.ffa-due b{font-variant-numeric:tabular-nums}

.ffa-share{display:flex;flex-wrap:wrap;gap:8px}
.ffa-share .ffa-btn{flex:1 1 auto}
.ffa-copy{display:flex;gap:8px;align-items:stretch}
.ffa-copy .ffa-input{min-width:0;font-size:14.5px;background:var(--ffa-bg)}

.ffa-modal-wrap{position:fixed;inset:0;z-index:100000;background:rgba(20,22,40,.5);display:flex;align-items:flex-end;justify-content:center;padding:0;animation:ffaFade .15s}
@media (min-width:600px){.ffa-modal-wrap{align-items:center;padding:24px}}
.ffa-modal{background:#fff;width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:20px 20px 0 0;box-shadow:0 20px 60px rgba(0,0,0,.25);display:flex;flex-direction:column}
@media (min-width:600px){.ffa-modal{border-radius:20px}}
.ffa-modal-head{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 0}
.ffa-modal-head .ffa-h2{flex:1}
.ffa-x{width:40px;height:40px;border-radius:50%;border:0;background:#eef0f4;display:grid;place-items:center;cursor:pointer;flex:none}
.ffa-x svg{width:18px;height:18px}
.ffa-modal-body{padding:14px 20px 4px}
.ffa-modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:16px 20px 20px;flex-wrap:wrap-reverse;position:sticky;bottom:0;background:#fff}
.ffa-modal-foot .ffa-btn{flex:1 1 160px}
@media (min-width:600px){.ffa-modal-foot .ffa-btn{flex:0 0 auto}}
.ffa-modal-err{margin-top:12px}
.ffa-modal-err:empty{display:none}
@keyframes ffaFade{from{opacity:0}to{opacity:1}}
.ffa-toasts{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:100001;display:grid;gap:8px;width:min(92vw,440px);pointer-events:none}
.ffa-toast{pointer-events:auto;display:flex;gap:10px;align-items:center;background:#1f2033;color:#fff;border-radius:14px;padding:12px 16px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:15px;animation:ffaUp .2s}
.ffa-toast svg{width:20px;height:20px;color:#7ee0b2}
.ffa-toast.is-bad svg{color:#ff9d98}
@keyframes ffaUp{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}

.ffa-calc{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;max-width:1080px;margin:0 auto}
@media (min-width:880px){.ffa-calc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}.ffa-calc-out{position:sticky;top:96px}}
.ffa-calc-in .ffa-field+.ffa-field{margin-top:22px}
.ffa-range{display:flex;gap:12px;align-items:center}
.ffa-range input[type=range]{flex:1;accent-color:var(--ffa-indigo);height:32px;min-width:0}
.ffa-range .ffa-money,.ffa-range .ffa-input{width:140px;flex:none}
.ffa-stepper{display:inline-flex;align-items:stretch}
.ffa-stepper button{width:48px;border:1.5px solid var(--ffa-line-2);background:#f3f4f8;font-size:22px;font-weight:600;cursor:pointer;color:var(--ffa-indigo-ink)}
.ffa-stepper button:first-child{border-radius:12px 0 0 12px}
.ffa-stepper button:last-child{border-radius:0 12px 12px 0}
.ffa-stepper button:hover{background:#e8eaf3}
.ffa-stepper .ffa-input{width:96px;border-radius:0;border-left:0;border-right:0;text-align:center;font-weight:700;-moz-appearance:textfield}
.ffa-stepper .ffa-input::-webkit-inner-spin-button,.ffa-stepper .ffa-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ffa-calc-out{background:linear-gradient(160deg,#393cb1,#2c2f8f);color:#fff;border-radius:20px;padding:22px;box-shadow:0 12px 40px rgba(57,60,177,.25)}
.ffa-calc-out .ffa-muted{color:#c9cbf2}
.ffa-big{font-size:44px;line-height:1.05;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:6px 0 4px}
.ffa-calc-out .ffa-kick{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#b9f0d5}
.ffa-calc-out .ffa-sum{margin-top:16px;background:rgba(255,255,255,.08);border-radius:14px;padding:14px}
.ffa-calc-out .ffa-sum .ffa-sum-total{border-top-color:rgba(255,255,255,.2)}
.ffa-calc-out .ffa-sum .ffa-sum-total span:last-child{color:#b9f0d5}
.ffa-calc-out .ffa-plan li>b{color:#b9f0d5}
.ffa-calc-out .ffa-btn-go{margin-top:18px;width:100%}
.ffa-calc-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.ffa-calc-split>div{background:rgba(255,255,255,.1);border-radius:14px;padding:12px}
.ffa-calc-split b{display:block;font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}
.ffa-calc-split span{font-size:13px;color:#d6d8f6}
.ffa-assume{margin-top:22px;border-top:1px solid var(--ffa-line);padding-top:16px}
.ffa-assume summary{cursor:pointer;font-weight:700;color:var(--ffa-indigo);min-height:40px;display:flex;align-items:center;gap:8px;list-style:none}
.ffa-assume summary::-webkit-details-marker{display:none}
.ffa-assume summary svg{width:18px;height:18px;transition:transform .2s}
.ffa-assume[open] summary svg{transform:rotate(180deg)}
.ffa-assume .ffa-field{margin-top:14px}
.ffa-disclaim{font-size:13px;margin-top:14px}
.ffa-calc-out .ffa-disclaim{color:#c9cbf2}
.ffa-signed-out{max-width:520px;margin:0 auto}
.ffa-dash-vet{grid-template-areas:"top" "main" "bottom"}.ffa-dash-top{grid-area:top}.ffa-dash-vet>.ffa-dash-main{grid-area:main}.ffa-dash-bottom{grid-area:bottom}
@media (min-width:980px){.ffa-dash-vet{grid-template-areas:"main top" "main bottom";grid-template-rows:auto 1fr}.ffa-dash-bottom{align-self:start}}
.ffa-dash-side>section+section,.ffa-dash-main>section+section,.ffa-dash-main>.ffa-banner+section{margin-top:16px}
.ffa-grid2>.ffa-field,.ffa-grid3>.ffa-field,.ffa-grid2>div,.ffa-grid3>div{margin-top:0!important}
.ffa-h1 svg,.ffa-h2>svg,.ffa-h3>svg{width:22px;height:22px;color:var(--ffa-indigo)}
.ffa-row>.ffa-grow{flex:1 1 160px}
.ffa-pay-status{align-items:flex-start}
.ffa-pay-status .ffa-dot{margin-top:7px}
.ffa-pay-status span.ffa-small{display:block}
.ffa-stepcount svg{width:16px;height:16px;vertical-align:-3px}
.ffa-front [tabindex="-1"]:focus,.ffa-front [tabindex="-1"]:focus-visible{box-shadow:none;outline:none}
.ffa-btn{max-width:100%}
.ffa-btn-lg,.ffa-nav .ffa-btn,.ffa-item-actions .ffa-btn{white-space:normal;text-align:center;padding-top:8px;padding-bottom:8px}
@media (min-width:560px){.ffa-front .ffa-grid3{grid-template-columns:2fr 1fr 1fr}}
.ffa-front :where(h1,h2,h3,h4,.ffa-h1,.ffa-h2,.ffa-h3){text-wrap:balance}
.ffa-front :where(p){text-wrap:pretty}
.ffa-credit-expired{opacity:.55}
.ffa-credit-expired .ffa-strike{text-decoration:line-through}
.ffa-credit-soon{background:var(--ffa-amber-50);border-radius:12px;padding:12px;border-top:0;margin:6px 0}
.ffa-soon{color:var(--ffa-amber)}
.ffa-tx{margin-top:14px;padding-top:14px;border-top:1px solid var(--ffa-line)}
.ffa-tx-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.ffa-seg{display:inline-flex;border:1.5px solid var(--ffa-line-2);border-radius:999px;padding:2px;background:#fff}
.ffa-seg button{border:0;background:transparent;border-radius:999px;padding:5px 14px;font-weight:650;font-size:14px;cursor:pointer;color:var(--ffa-muted)}
.ffa-seg button[aria-pressed="true"]{background:var(--ffa-indigo-50);color:var(--ffa-indigo-ink)}
.ffa-kboard{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.ffa-kcol{flex:1 0 150px;min-width:150px;background:#eef1f6;border-radius:12px;padding:8px;display:flex;flex-direction:column;border:2px solid transparent;scroll-snap-align:start;transition:border-color .15s,background .15s}
.ffa-kcol.is-over{border-color:var(--ffa-indigo);background:var(--ffa-indigo-50)}
.ffa-kcol[data-col="completed"]{background:var(--ffa-green-50)}
.ffa-kcol-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:2px 4px 8px;font-size:14px}
.ffa-kcol-head span{font-size:12px;color:var(--ffa-muted);font-weight:600;white-space:nowrap}
.ffa-kcol-body{display:flex;flex-direction:column;gap:8px;min-height:56px}
.ffa-kcol-empty{border:1.5px dashed #c9d2df;border-radius:10px;padding:14px 8px;text-align:center;color:var(--ffa-muted);font-size:12.5px}
.ffa-kcard{background:#fff;border:1px solid var(--ffa-line);border-radius:10px;padding:10px;box-shadow:0 1px 2px rgba(15,23,42,.06);cursor:grab;font-size:14px;display:flex;flex-direction:column;gap:6px}
.ffa-kcard:hover{border-color:#bcc3f0}
.ffa-kcard.is-dragging{opacity:.4}
.ffa-kcard-top{display:flex;flex-direction:column;gap:2px;line-height:1.3}
.ffa-kcard-top span{color:var(--ffa-muted);font-variant-numeric:tabular-nums;font-size:13px}
.ffa-kcard-move{display:flex;justify-content:space-between}
.ffa-kmove{border:1px solid var(--ffa-line);background:#fff;border-radius:8px;width:30px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ffa-muted)}
.ffa-kmove:hover{border-color:var(--ffa-indigo);color:var(--ffa-indigo)}
.ffa-kmove svg{width:16px;height:16px}
.ffa-txlist{display:grid;gap:8px}
.ffa-txlist li{display:flex;align-items:center;gap:10px;background:var(--ffa-bg);border-radius:10px;padding:8px 10px;flex-wrap:wrap}
.ffa-input-sm{width:auto;min-height:38px;padding:6px 10px;font-size:14px}
.ffa-txsec{margin-top:16px}
.ffa-txdraws{display:grid;gap:4px;margin-top:10px;font-size:13px;color:var(--ffa-muted)}
.ffa-txdraws li{display:flex;justify-content:space-between;gap:10px}
.ffa-pills small{font-weight:500;color:var(--ffa-muted);font-size:12px}
.ffa-lines{display:grid;gap:8px;margin-top:10px}
.ffa-line{display:grid;grid-template-columns:minmax(0,1fr) 120px 36px;gap:8px;align-items:center}
.ffa-line .ffa-x{width:36px;height:36px}
.ffa-itemize summary{cursor:pointer;color:var(--ffa-indigo);font-weight:650}
.ffa-kmove{width:44px;height:40px}
@media (max-width:979px){.ffa-dash-vet .ffa-dash-main{order:1}.ffa-dash-vet .ffa-dash-top{order:2}.ffa-dash-vet .ffa-dash-bottom{order:3}}
.ffa-care summary{cursor:pointer;list-style:none;display:block}
.ffa-care summary::-webkit-details-marker{display:none}
.ffa-kit{margin-top:16px;padding-top:14px;border-top:1px solid var(--ffa-line)}
.ffa-kit-list{display:grid;gap:4px}
.ffa-msg{background:var(--ffa-bg);border-radius:12px;padding:10px 12px;margin-top:8px}
.ffa-msg summary{cursor:pointer}
.ffa-msg textarea{margin-top:8px;font-size:15px}
