/* AltaPoint Free Tools — widgets inside the Midnight .apdark system. */
/* Tool pages keep the theme template (site header + footer stay for
   brand continuity); only the theme's own page-title block is hidden,
   because each tool page carries its styled H1 inside .apdark. */
body.fttool-page{background:#0D0B09}
body.fttool-page .page-header{display:none}
.ft-tool{--bg:#0D0B09;--panel:#171310;--panel2:#1E1913;--line:#3A3122;--gold:#C6A15B;--cream:#F6F1E8;--muted:#B3A68D;--ember:#E4572E;--ember-d:#C7431F;--red:#DE4B39;--green:#43A673;--amber:#D9A441}
.ft-tool h2{margin-top:42px}
.ft-disclaimer{background:#171310;border:1px solid #3A3122;border-left:3px solid #C6A15B;border-radius:12px;padding:16px 18px;margin-top:22px}
.ft-disclaimer p{margin:0;font-size:14px;color:#D9D0BC}
.ft-help{font-size:13.5px;color:var(--muted);margin-top:6px;max-width:64ch}
.ft-fine{font-size:13.5px;color:var(--muted);margin-top:14px}
.ft-btn{display:inline-block;text-align:center;text-decoration:none;border-radius:999px;padding:14px 22px;font-weight:700;font-size:15.5px;border:1px solid transparent;cursor:pointer;font-family:inherit;min-height:50px;background:transparent;color:var(--gold)}
.ft-btn-primary{background:var(--ember);color:#fff;border-color:var(--ember)}
.ft-btn-primary:active{background:var(--ember-d)}
.ft-btn-ghost{border-color:var(--line);color:var(--cream);font-weight:600}
.ft-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;align-items:center}
.ft-copied{color:var(--green);font-weight:600;font-size:14px}
/* groups + rows (CO worksheet) */
.ft-examplebar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}
.ft-exampletag{color:var(--amber);font-weight:600;font-size:14px}
.ft-group{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-top:16px}
.ft-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.ft-group-head h3{margin:0}
.ft-addrow{background:none;border:1px solid var(--line);border-radius:999px;color:var(--gold);padding:8px 14px;cursor:pointer;font-family:inherit;font-weight:600;font-size:13.5px;min-height:40px}
.ft-rows{margin-top:12px;display:grid;gap:10px}
.ft-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.ft-cell{flex:1 1 120px;display:block}
.ft-cell span{display:block;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ft-cell input,.ft-field input,.ft-field select{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--cream);padding:12px 13px;font-size:16px;font-family:inherit;min-height:48px}
.ft-cell input:focus,.ft-field input:focus,.ft-field select:focus{outline:none;border-color:var(--gold)}
.ft-delrow{background:none;border:1px solid var(--line);border-radius:10px;color:var(--muted);width:44px;height:48px;font-size:20px;cursor:pointer;flex:0 0 auto}
.ft-grouptotal{margin-top:12px;font-size:15px}
.ft-grouptotal strong{color:var(--gold)}
/* results */
.ft-result{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-top:22px}
.ft-result h3{margin-top:0}
.ft-lines{width:100%;border-collapse:collapse;background:transparent;border:none;margin-top:8px}
.ft-lines td{padding:9px 4px;border-bottom:1px solid #2A241B;color:#D9D0BC}
.ft-lines td:last-child{text-align:right;color:var(--cream);white-space:nowrap}
.ft-lines tr.ft-sub td{font-weight:700;color:var(--cream)}
.ft-total{font-size:18px;margin-top:16px}
.ft-total strong{color:var(--gold);font-family:Fraunces,Georgia,serif;font-size:24px}
/* checklists */
.ft-checklist{display:grid;gap:10px;margin-top:16px}
.ft-check{display:flex;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;align-items:flex-start}
.ft-check input{width:22px;height:22px;margin-top:2px;accent-color:#C6A15B;flex:0 0 auto}
.ft-check span{font-size:15px;color:#D9D0BC}
.ft-check span strong{color:var(--cream)}
.ft-typical{color:var(--muted);font-size:13.5px}
#ft-pa-flags ul{margin-top:10px}
/* templates */
.ft-template{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-top:14px}
.ft-template pre{white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px;font-size:14px;line-height:1.55;color:#D9D0BC;font-family:Inter,system-ui,sans-serif;margin-top:12px}
/* tracker */
.ft-trackerwrap{overflow-x:auto;margin-top:16px}
.ft-tracker{width:100%;border-collapse:separate;border-spacing:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:14.5px;min-width:640px}
.ft-tracker th{background:var(--panel2);color:var(--cream);text-align:left;padding:12px 13px;border-bottom:1px solid var(--line)}
.ft-tracker td{padding:9px 10px;border-bottom:1px solid #2A241B;vertical-align:middle}
.ft-tracker input{background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--cream);padding:9px 10px;font-size:14.5px;font-family:inherit;width:100%;min-height:42px}
.ft-status{font-weight:600;white-space:nowrap}
.ft-status.ok{color:var(--green)}
.ft-status.warn{color:var(--amber)}
.ft-status.bad{color:var(--red)}
.ft-rowdel{background:none;border:1px solid var(--line);border-radius:8px;color:var(--muted);width:38px;height:42px;font-size:17px;cursor:pointer}
/* forms (lien) */
.ft-form{margin-top:22px;display:grid;gap:16px}
.ft-field label{display:block;font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.ft-deadline{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-top:14px}
.ft-deadline h3{margin-top:0}
.ft-duedate{font-family:Fraunces,Georgia,serif;font-size:26px;font-weight:600;color:var(--gold);margin-top:8px}
.ft-nodate{color:var(--muted)}
.ft-cite{font-size:13.5px;color:var(--muted)}
.ft-verify{font-size:13.5px;font-weight:600;color:var(--amber)}
.ft-error{background:#2A140C;border:1px solid var(--ember);color:#F3C4B2;border-radius:12px;padding:14px 16px;font-size:15px}
/* part-2 tools: modes, tables, review card, counters */
.ft-modes{display:flex;gap:9px;flex-wrap:wrap;margin-top:6px}
.ft-mode{background:var(--bg);border:1px solid var(--line);border-radius:999px;color:#D9D0BC;padding:11px 18px;font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;min-height:46px}
.ft-mode.ft-on{border-color:var(--gold);color:var(--gold);background:var(--panel2)}
.ft-pane{margin-top:8px}
.ft-ttable{width:100%;border-collapse:collapse;margin-top:12px}
.ft-ttable th,.ft-ttable td{padding:9px 8px;border-bottom:1px solid #2A241B;text-align:left;color:#D9D0BC}
.ft-ttable th{color:var(--cream)}
.ft-reviewlink{word-break:break-all;font-size:16.5px}
.ft-reviewcard{background:#fff;color:#14100C;border-radius:14px;padding:28px 24px;text-align:center;max-width:430px;margin-top:14px}
.ft-rc-biz{font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:600;margin:0;color:#14100C}
.ft-rc-ask{font-size:21px;font-weight:700;margin:12px 0 4px;color:#14100C}
.ft-rc-sub{color:#4A4234;margin:0}
.ft-rc-qr{margin:18px auto 8px;width:190px;height:190px}
.ft-rc-qr svg{width:100%;height:100%}
.ft-rc-link{font-size:12.5px;color:#4A4234;word-break:break-all;margin:6px 0 0}
.ft-steps li{margin-top:8px}
.ft-counters{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.ft-counter{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 20px}
.ft-counter strong{font-family:Fraunces,Georgia,serif;font-size:27px;color:var(--gold);display:block}
.ft-counter span{color:var(--muted);font-size:13.5px}
.ft-honesty{border:1px solid var(--line);border-radius:12px;padding:14px 18px;color:var(--muted);margin-top:22px;font-size:15px}
/* profile */
.ft-profile{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-top:26px}
.ft-profgrid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}
@media (min-width:721px){.ft-profgrid{grid-template-columns:repeat(3,1fr)}}
.ft-profile .ft-cell input,.ft-profile .ft-cell select{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--cream);padding:12px 13px;font-size:16px;font-family:inherit;min-height:48px}
.ft-saved{color:var(--green);font-weight:600;font-size:14px;margin-top:12px}
/* is-it-a-change-order checker */
.ft-checker{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-top:26px}
.ft-q{margin-top:18px}
.ft-qtext{font-weight:600;color:var(--cream);margin:0}
.ft-opts{display:flex;gap:9px;flex-wrap:wrap;margin-top:9px}
.ft-opts button{background:var(--bg);border:1px solid var(--line);border-radius:999px;color:#D9D0BC;padding:11px 17px;font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;min-height:46px}
.ft-opts button.ft-picked{border-color:var(--gold);color:var(--gold);background:var(--panel2)}
.ft-verdict{margin-top:22px;background:var(--panel2);border:1px solid var(--gold);border-radius:12px;padding:18px 20px}
.ft-verdict-head{font-family:Fraunces,Georgia,serif;font-size:21px;font-weight:600;color:var(--cream);margin:0}
.ft-jobsheet{display:none}
@media print{
  body.ft-printing *{visibility:hidden}
  body.ft-printing .ft-printarea,body.ft-printing .ft-printarea *{visibility:visible}
  body.ft-printing .ft-printarea{display:block!important;position:absolute;left:0;top:0;width:100%;background:#fff;color:#000;padding:20px}
  body.ft-printing .ft-printarea *{color:#000!important;border-color:#999!important;background:#fff!important}
  body.ft-printing .ft-actions,body.ft-printing .ft-delrow,body.ft-printing .ft-addrow{display:none!important}
}
/* share block (2026-11-03) — sits directly above the shared closing CTA */
.ft-share{background:var(--panel2,#1E1913);border:1px solid var(--line,#3A3122);border-radius:14px;padding:18px 20px;margin-top:22px}
.ft-share-label{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--gold,#C6A15B);font-weight:700;margin:0 0 6px}
.ft-share-text{font-size:14.5px;color:#D9D0BC;margin:0;max-width:64ch}
.ft-share .ft-actions{margin-top:14px}
