/* Clickbooks Online — shared styles.
   Layout: a single working column; the summary reads like a bank's own "summary of charges". */
:root{
  /* Clickbooks brand: logo blue and green on clean white. */
  --bg:#F4F7FA; --surface:#FFFFFF; --ink:#13243A; --muted:#5B6B7E; --line:#DDE5EE;
  --accent:#1F5FA6; --accent-ink:#FFFFFF; --accent-soft:#E7EFF9;
  --green:#2E9B4E; --green-soft:#E6F4EA; --chip:var(--green);
  --ok:#2E9B4E; --warn:#B4621B; --crit:#C0392B;
  --b1:#1F5FA6; --b2:#2E9B4E; --b3:#D07A2B; --b4:#7B5BB6; --b5:#2B98A8; --b6:#B8466B;
  --display:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --num:"Plus Jakarta Sans",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#0E1621; --surface:#16212D; --ink:#E6EDF5; --muted:#9AABBD; --line:#283646;
  --accent:#6FA8E6; --accent-ink:#0E1621; --accent-soft:#1B2E45;
  --green:#5BC27A; --green-soft:#17342A;
  --ok:#5BC27A; --warn:#E59A55; --crit:#F07A6C;
  --b1:#6FA8E6; --b2:#5BC27A; --b3:#E8A05E; --b4:#B49AE6; --b5:#5FC6D3; --b6:#E886A6; color-scheme:dark}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.55}
img{max-width:100%}
[hidden]{display:none!important}
a{color:var(--accent)}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance;font-weight:800}
h1{font-size:clamp(28px,5vw,46px);letter-spacing:-.02em;line-height:1.1}
h2{font-size:clamp(20px,2.6vw,26px);letter-spacing:-.01em;line-height:1.2}
h3{font-size:16px}
p{margin:0}
.muted{color:var(--muted)}
.label{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.num{font-family:var(--num);font-variant-numeric:tabular-nums}
.note{font-size:13px;color:var(--muted)}
button,select,input{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.wrap{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.page{padding-block:24px 64px;display:flex;flex-direction:column;gap:28px}

/* Nav */
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px;flex-wrap:wrap}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-family:var(--display);font-weight:700;font-size:19px}
.cardmark{width:38px;height:26px;border-radius:5px;background:var(--accent);position:relative;flex:none}
.cardmark::after{content:"";position:absolute;left:6px;top:7px;width:10px;height:8px;border-radius:2px;background:var(--chip)}
.nav nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:14px}
.nav nav a{color:var(--ink);text-decoration:none}
.nav nav a:hover{color:var(--accent)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:8px 14px;font-weight:600;font-size:14px;text-decoration:none;color:var(--ink)}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.big{padding:12px 20px;font-size:16px}
.btn:disabled{opacity:.5;cursor:not-allowed}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px}

/* ---------- App ---------- */
.apphead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.apphead p{max-width:56ch}
.privacy{font-size:13px;max-width:40ch;color:var(--muted);border-left:2px solid var(--line);padding-left:12px}
.desk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:20px}
@media (max-width:760px){.desk{grid-template-columns:minmax(0,1fr)}}
.drop{border:1.5px dashed var(--line);border-radius:8px;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:20px;transition:border-color .15s,background .15s}
.drop.over{border-color:var(--accent);background:var(--accent-soft)}
.drop strong{font-family:var(--display);font-size:18px}
.queue{display:flex;flex-direction:column;gap:10px;min-width:0}
.qhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.qlist{display:flex;flex-direction:column;gap:8px}
.qitem{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px}
.qitem .fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.qitem .sub{font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 10px}
.qitem select{border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:4px 6px;font-size:13px;max-width:140px}
.qitem .x{border:0;background:none;color:var(--muted);font-size:18px;padding:2px 6px}
.qitem .row2{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.qitem .row2 input{flex:1;min-width:140px;border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:var(--bg)}
.linkbtn{border:0;background:none;padding:0;color:var(--accent);font-size:12.5px;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.preview{grid-column:1/-1;max-height:240px;overflow:auto;background:var(--bg);border-radius:6px;padding:10px;font-family:var(--mono);font-size:11.5px;white-space:pre;line-height:1.45}
.status{font-weight:600}
.status.done{color:var(--ok)}.status.error{color:var(--crit)}.status.reading{color:var(--accent)}.status.password{color:var(--warn)}
.check{font-weight:600}
.check.match{color:var(--ok)}.check.mismatch{color:var(--warn)}.check.none{color:var(--muted);font-weight:400}
.empty-q{color:var(--muted);font-size:14px;padding:12px 0}
.settings{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:500px){.settings{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:4px;font-size:13px}
.field input{border:1px solid var(--line);border-radius:6px;padding:7px 9px;background:var(--bg)}
.field.err input{border-color:var(--crit)}
.example{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--accent-soft);border-radius:8px;padding:10px 14px;font-size:14px}
.banner{border-radius:8px;padding:10px 14px;font-size:14px;background:var(--surface);border:1px solid var(--warn)}

.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
@media (max-width:760px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi{background:var(--surface);padding:16px 18px;display:flex;flex-direction:column;gap:4px;min-width:0}
.kpi .v{font-family:var(--num);font-size:clamp(18px,2.6vw,24px);font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.kpi .v.word{font-family:var(--display);font-size:20px}
.kpi .s{font-size:12.5px;color:var(--muted)}
.kpi.lead .v{color:var(--accent)}
.two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px}
@media (max-width:760px){.two{grid-template-columns:minmax(0,1fr)}}
.col{display:flex;flex-direction:column;gap:20px;min-width:0}
.sec{display:flex;flex-direction:column;gap:14px}
.sechead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.bars{display:flex;flex-direction:column;gap:9px}
.bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;font-size:14px}
.bar .track{grid-column:1/-1;height:8px;border-radius:4px;background:var(--bg);overflow:hidden}
.bar .fill{height:100%;border-radius:4px;background:var(--accent)}
.bar .amt{font-family:var(--num);font-variant-numeric:tabular-nums;font-size:13.5px}
.bar .amt span{color:var(--muted);margin-left:8px}
.rows{display:flex;flex-direction:column;gap:10px}
.lrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;font-size:14px}
.lrow .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dot{width:10px;height:10px;border-radius:3px;display:inline-block}
.stack{display:flex;height:12px;border-radius:4px;overflow:hidden;gap:2px}
.findings{display:flex;flex-direction:column;gap:10px}
.finding{display:grid;grid-template-columns:4px minmax(0,1fr);gap:14px;padding:10px 0}
.finding .stripe{border-radius:2px;background:var(--accent)}
.finding.warn .stripe{background:var(--warn)}.finding.crit .stripe{background:var(--crit)}
.finding h3{font-family:var(--body);font-weight:600;font-size:15px}
.finding p{font-size:14px;color:var(--muted);margin-top:2px}
.finding .lines{font-size:12.5px;color:var(--muted);margin-top:6px;font-family:var(--num);overflow-wrap:anywhere}
.analysis{white-space:pre-wrap;font-size:14.5px;line-height:1.6;max-width:75ch}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:13.5px;min-width:720px}
th{text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:9px 10px;border-bottom:1px solid var(--line)}
td{padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
td.r,th.r{text-align:right}
td.amt{font-family:var(--num);font-variant-numeric:tabular-nums;white-space:nowrap}
tr.neg td{color:var(--muted)}
tr.neg td.amt{color:var(--ok)}
td select{border:1px solid transparent;background:transparent;border-radius:5px;padding:3px 4px;font-size:13px;max-width:190px}
td select:hover{border-color:var(--line)}
.bchip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.fx{color:var(--muted);font-size:12px;font-family:var(--num)}
.del{border:0;background:none;color:var(--muted);font-size:16px}
.del:hover{color:var(--crit)}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.filters input,.filters select{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:7px 10px;font-size:14px}
.filters input{flex:1;min-width:160px}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.toast{font-size:13.5px;color:var(--muted)}
.emptyres{text-align:center;padding:40px 16px;color:var(--muted)}

/* ---------- Landing ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;padding-block:40px 56px}
@media (max-width:820px){.hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:20px 40px}}
.hero .lede{font-size:18px;color:var(--muted);max-width:46ch;margin-top:16px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;align-items:center}
.statement{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;font-family:var(--num);font-size:12.5px;display:flex;flex-direction:column;gap:6px;min-width:0}
.statement .ln{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center}
.statement .ln .m{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.statement .tag{font-family:var(--body);font-size:11px;font-weight:600;padding:1px 7px;border-radius:99px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
.statement .tag.w{background:var(--surface);border:1px solid var(--warn);color:var(--warn)}
.statement hr{border:0;border-top:1px dashed var(--line);width:100%;margin:6px 0}
.band{border-top:1px solid var(--line);padding-block:48px}
.band .wrap{display:flex;flex-direction:column;gap:24px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:760px){.steps{grid-template-columns:minmax(0,1fr)}}
.step{display:flex;flex-direction:column;gap:8px}
.step .n{font-family:var(--num);color:var(--accent);font-weight:600}
.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
@media (max-width:760px){.flow{grid-template-columns:minmax(0,1fr)}}
.flow .box{border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--surface);display:flex;flex-direction:column;gap:6px}
.flow .box ul{margin:0;padding-left:18px;font-size:14px;color:var(--muted)}
.promises{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}
@media (max-width:760px){.promises{grid-template-columns:minmax(0,1fr)}}
.promise{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px}
.promise .ck{color:var(--ok);font-weight:700}
.price{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-end}
.price .amt{font-family:var(--display);font-size:44px;font-weight:700;line-height:1}
footer{border-top:1px solid var(--line);padding-block:24px;font-size:13px;color:var(--muted)}
footer .wrap{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}
footer a{color:var(--muted)}

/* ---------- Legal pages ---------- */
.legal{max-width:70ch;display:flex;flex-direction:column;gap:14px;padding-block:24px 64px}
.legal h1{font-size:clamp(28px,4vw,40px)}
.legal h2{font-size:20px;margin-top:14px}
.legal ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.draft{background:var(--accent-soft);border-radius:8px;padding:10px 14px;font-size:14px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ======================================================================
   Bookkeeping app (v2)
   ====================================================================== */
.authwrap{min-height:calc(100vh - 140px);display:grid;place-items:center;padding-block:32px}
.authcard{width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px}
.authcard form{display:flex;flex-direction:column;gap:12px}
.authcard .switch{font-size:14px;color:var(--muted)}
.formerr{color:var(--crit);font-size:13.5px;min-height:1em}
.field textarea,.field select{border:1px solid var(--line);border-radius:6px;padding:7px 9px;background:var(--bg);font:inherit;font-size:14px;color:var(--ink)}
.field textarea{min-height:64px;resize:vertical}

.appbar{border-bottom:1px solid var(--line);background:var(--surface)}
.appbar .wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:12px}
.appbar .biz{font-size:13px;color:var(--muted);border-left:1px solid var(--line);padding-left:12px}
.appbar .spacer{flex:1}
.tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.tabs a{padding:8px 12px;border-radius:6px;color:var(--muted);text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}
.tabs a:hover{color:var(--ink)}
.tabs a[aria-current="page"]{background:var(--accent-soft);color:var(--accent)}
.menu{position:relative}
.menu-list{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px;display:flex;flex-direction:column;min-width:180px;z-index:20;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.menu-list button,.menu-list a{border:0;background:none;text-align:left;padding:8px 10px;border-radius:6px;font-size:14px;color:var(--ink);text-decoration:none}
.menu-list button:hover,.menu-list a:hover{background:var(--bg)}

.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.period{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.period select,.period input{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:7px 10px;font-size:14px}

.review{display:flex;flex-direction:column;gap:6px;border:1px solid var(--warn);border-radius:10px;padding:14px 16px;background:var(--surface)}
.review ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px}
.review a{font-weight:600}

/* Financial statements */
.fs{width:100%;border-collapse:collapse;font-size:14.5px;min-width:0}
.fs td{padding:6px 0;border:0;vertical-align:baseline}
.fs td.v{text-align:right;font-family:var(--num);font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:16px}
.fs tr.h td{padding-top:18px;font-family:var(--display);font-weight:700;font-size:16px}
.fs tr.l td:first-child{padding-left:16px}
.fs tr.sub td{border-top:1px solid var(--line);font-weight:600}
.fs tr.tot td{border-top:2px solid var(--ink);border-bottom:3px double var(--ink);font-weight:700;padding-block:8px}
.fs tr.note td{color:var(--muted);font-size:12.5px;padding-top:2px}
.fs .neg{color:var(--crit)}
.fsdoc{max-width:720px;display:flex;flex-direction:column;gap:6px}
.fsdoc header{display:flex;flex-direction:column;gap:2px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.fsdoc header .co{font-weight:600}
.checkline{font-size:13px;margin-top:8px}
.checkline.ok{color:var(--ok)}.checkline.bad{color:var(--crit)}
.subtabs{display:flex;gap:6px;flex-wrap:wrap}
.subtabs button{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:6px 14px;font-weight:600;font-size:14px;color:var(--muted)}
.subtabs button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}

/* Accounts */
.acctgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}
.acct{display:flex;flex-direction:column;gap:12px}
.acct .top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.acct .bal{font-family:var(--num);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.kindchip{font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.uplist{display:flex;flex-direction:column;gap:6px;font-size:13px}
.uprow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}
.uprow .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.badge{font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:99px;white-space:nowrap;border:1px solid currentColor}
.badge.match{color:var(--ok)}.badge.mismatch{color:var(--warn)}.badge.none{color:var(--muted)}
.inline{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.inline .field input{width:150px}
.confirm{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13.5px;background:var(--bg);border-radius:8px;padding:8px 10px}
.btn.danger{color:var(--crit);border-color:var(--crit)}
.btn.small{padding:5px 10px;font-size:13px}

/* Upload panel */
.uppanel{display:flex;flex-direction:column;gap:14px}
.uppanel .qitem select{max-width:200px}
.qitem .res{grid-column:1/-1;font-size:13px;color:var(--muted)}
.toasts{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;z-index:50;width:min(92vw,460px)}
.toast-msg{background:var(--ink);color:var(--bg);border-radius:8px;padding:10px 14px;font-size:14px}

.amt-in{color:var(--ok)}
td select.cat{max-width:220px}
td .acctname{font-size:12.5px;color:var(--muted);display:block}
.more{display:flex;justify-content:center;padding:12px}

/* Bulk selection */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
th.ck,td.ck{width:36px;padding-right:0}
td.ck input,th.ck input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}
tr.selrow td{background:var(--accent-soft)}
.bulkbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--accent);border-radius:10px;padding:10px 14px;font-size:14px;box-shadow:0 6px 18px rgba(0,0,0,.06)}
.bulkbar .spacer{flex:1}
.bulkbar select{border:1px solid var(--line);background:var(--bg);border-radius:7px;padding:6px 8px;font-size:14px;max-width:min(260px,70vw)}

.page > *{min-width:0;max-width:100%}
.tablewrap{max-width:100%;position:relative}

/* ======================================================================
   v3: logo, Pro features, taxes, print
   ====================================================================== */
.brand{gap:10px}
.brand svg{flex:none}
.wordmark{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.01em;line-height:1}
.wordmark .c{color:var(--accent)} .wordmark .b{color:var(--green)}
.wordmark small{display:block;font-size:9.5px;letter-spacing:.42em;font-weight:700;color:var(--muted);margin-top:3px}
.btn{border-radius:8px}
.btn.green{background:var(--green);border-color:var(--green);color:#fff}
.panel{border-radius:12px}
.kpi .v,.bal,.num,.amt{font-variant-numeric:tabular-nums}
.chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:2px 9px;border-radius:99px;white-space:nowrap;background:var(--bg);color:var(--muted)}
.chip.paid{background:var(--green-soft);color:var(--green)}
.chip.open{background:var(--accent-soft);color:var(--accent)}
.chip.overdue{background:#FDECEA;color:var(--crit)}
@media (prefers-color-scheme: dark){.chip.overdue{background:#3A1E1C}}
.chip.draft{background:var(--bg);color:var(--muted);border:1px dashed var(--line)}
.chip.void{background:var(--bg);color:var(--muted);text-decoration:line-through}
.chip.pro{background:var(--green-soft);color:var(--green)}
.tabs a .lock{font-size:11px;margin-left:4px;color:var(--muted)}
.subnav{display:flex;gap:6px;flex-wrap:wrap}
.subnav button{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:6px 14px;font-weight:700;font-size:14px;color:var(--muted)}
.subnav button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.listtable tr.click{cursor:pointer}
.listtable tr.click:hover td{background:var(--accent-soft)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:760px){.grid3,.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.grid2,.grid3,.grid4{grid-template-columns:minmax(0,1fr)}}
.field select{border:1px solid var(--line);border-radius:6px;padding:7px 9px;background:var(--bg);font-size:14px}
.field .hint{font-size:12px;color:var(--muted)}
.tick{display:flex;gap:8px;align-items:center;font-size:14px}
.tick input{width:auto!important;accent-color:var(--accent)}
.editor{display:flex;flex-direction:column;gap:16px}
.lines{width:100%;border-collapse:collapse;min-width:640px}
.lines th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left;padding:6px;border-bottom:1px solid var(--line)}
.lines td{padding:5px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.lines input,.lines select{width:100%;border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:var(--bg);font-size:14px}
.lines td.n input{text-align:right}
.lines td.amt{text-align:right;padding-top:12px;white-space:nowrap}
.totals{margin-left:auto;display:grid;grid-template-columns:auto auto;gap:6px 24px;font-size:14.5px;min-width:min(100%,280px)}
.totals span:nth-child(even){text-align:right;font-variant-numeric:tabular-nums}
.totals .grand{font-weight:800;font-size:16px;border-top:2px solid var(--ink);padding-top:6px}
.lock-panel{text-align:center;padding:40px 20px;display:flex;flex-direction:column;gap:10px;align-items:center}
.lock-panel ul{text-align:left;margin:4px 0;padding-left:20px;color:var(--muted)}
.payrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;font-size:14px;padding:8px 0;border-bottom:1px solid var(--line)}
.candidates{display:flex;flex-direction:column;max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:8px}
.candidates label{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line);font-size:14px;cursor:pointer}
.candidates label:last-child{border-bottom:0}
.candidates input{accent-color:var(--accent)}
.payroll-table input{width:100%;min-width:84px;border:1px solid var(--line);border-radius:6px;padding:5px 6px;background:var(--bg);font-size:13px;text-align:right}
.payroll-table td,.payroll-table th{white-space:nowrap}
.payroll-table tfoot td{font-weight:800;border-top:2px solid var(--line)}
.taxcard{display:flex;flex-direction:column;gap:10px}
.taxcard .head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.taxcard .form{font-weight:800;color:var(--accent)}
.taxcard .due{font-size:13px;color:var(--muted)}
.taxline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:5px 0;font-size:14.5px;border-bottom:1px dashed var(--line)}
.taxline span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.taxline.total{font-weight:800;border-bottom:0;border-top:2px solid var(--ink);padding-top:8px;font-size:16px}
.taxline input{width:140px;border:1px solid var(--line);border-radius:6px;padding:4px 8px;background:var(--bg);text-align:right;font-size:14px}
.warnbox{border:1px solid var(--warn);border-radius:10px;padding:10px 14px;font-size:14px;background:var(--surface)}

/* Printable documents (billing statements, payslips) */
.printdoc{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:18px;color:var(--ink)}
.printdoc .doc-head{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start}
.printdoc .doc-title{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:.06em;color:var(--accent)}
.printdoc table{width:100%;border-collapse:collapse;min-width:0}
.printdoc th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:2px solid var(--ink);padding:6px 4px}
.printdoc td{padding:7px 4px;border-bottom:1px solid var(--line)}
.printdoc .r{text-align:right}
.printdoc .fine{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}
@media print{
  body{background:#fff}
  .appbar,footer,.no-print,.toasts,.uppanel{display:none!important}
  .page{padding:0}
  .printdoc{border:0;padding:0;color:#000}
  .printdoc + .printdoc{page-break-before:always}
}

/* Landing (v3) */
.hero h1{font-size:clamp(32px,5.6vw,54px)}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:48px}
.pillar{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 14px;color:var(--accent)}
.pillar + .pillar{border-left:1px solid var(--line)}
.pillar strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.pillar span{font-size:13.5px;color:var(--muted)}
@media (max-width:760px){.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}.pillar:nth-child(3){border-left:0}.pillar:nth-child(n+3){border-top:1px solid var(--line)}}
.featgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:14px}
.feat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.feat.pro{border-color:var(--green)}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1080px}
@media (max-width:860px){.plans{grid-template-columns:minmax(0,1fr)}}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px}
.plan.featured{border:2px solid var(--accent)}
.plan ul{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.statement .tag{background:var(--green-soft);color:var(--green)}
.step .n{color:var(--green);font-size:20px;font-weight:800}

/* v3 fixes: one-line app bar, sub-lines under labels */
.acctname{display:block;font-size:12.5px;color:var(--muted);font-weight:400}
@media (min-width:761px){
  .appbar .wrap{flex-wrap:nowrap;gap:12px}
  .appbar .tabs{flex:1;min-width:0}
  .appbar .spacer{display:none}
  .appbar .tabs a{padding:8px 10px}
}
@media (max-width:1360px) and (min-width:761px){ .appbar .biz{display:none} .appbar .wordmark{font-size:18px} }
.appbar .btn{white-space:nowrap}

/* v4: logo on documents, trial balance and general ledger */
.bizhead{display:flex;gap:14px;align-items:flex-start}
.doclogo{max-height:64px;max-width:180px;width:auto;height:auto;object-fit:contain;display:block}
.logorow{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:12px;border:1px dashed var(--line);border-radius:10px}
.logorow .doclogo{max-height:72px;max-width:220px}
.logoph{width:160px;height:64px;display:grid;place-items:center;color:var(--muted);font-size:13px;background:var(--bg);border-radius:8px}
.fs thead th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 0}
.fs thead th.v{text-align:right;padding-left:16px}
.fsdoc:has(.gl){max-width:980px}
.fs.gl td{border-bottom:1px solid var(--line-soft, #EEF2F6);vertical-align:top}
.fs.gl td.num{white-space:nowrap;padding-right:12px;font-size:13px}
.fs.gl tr.h td{border-bottom:0}
.fs.tb tr.h td{font-size:14px;padding-top:14px}
@media (min-width:761px){ .appbar .biz{display:none} .appbar .wordmark{font-size:18px} .appbar .tabs a{padding:8px 6px;font-size:13.5px} .appbar .tabs{gap:0} }
.menu-list .menu-biz{padding:8px 12px 6px;font-size:12.5px;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px;max-width:240px;overflow-wrap:anywhere}
@media print{ .doclogo{max-height:56px} }

/* v5: space switcher, stock items on lines */
.menu-list{min-width:240px}
.menu-list button[aria-current="true"]{font-weight:700}
.menu-sep{border:0;border-top:1px solid var(--line);margin:4px 0}
select.itemsel{width:100%;margin-bottom:4px;font-size:12.5px;padding:4px 6px;color:var(--muted)}

/* v5: things to look at */
.look .lookitem{border-left:3px solid var(--green);padding:4px 0 4px 14px;margin:6px 0 14px;display:flex;flex-direction:column;gap:3px}
.look .lookitem.warn{border-left-color:var(--crit)}
.look .lookitem .note{margin:0}
.look .ref{font-size:12.5px;color:var(--muted);letter-spacing:.01em}
.look .analysis{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;display:flex;flex-direction:column;gap:6px}
.look .analysis h4{margin:10px 0 2px;font-size:15px}
.look .analysis ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.look .analysis p{margin:0}

/* pricing */
.plan .price{margin:2px 0 0;display:flex;align-items:baseline;gap:4px}
.plan .price strong{font-family:var(--display);font-size:30px;font-weight:800;color:var(--ink)}
.plan .price span{color:var(--muted);font-size:14px}
.plan.addon{max-width:1080px;margin-top:16px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:center;border-style:dashed}
@media (max-width:860px){.plan.addon{grid-template-columns:minmax(0,1fr)}}
.freqs{display:flex;flex-wrap:wrap;gap:6px}
.freqs span{border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;background:var(--bg)}

/* Top bar: brand, business and buttons on one row; every tab on its own row below,
   wrapping instead of scrolling out of sight. */
@media (min-width:761px){
  .appbar .wrap{flex-wrap:wrap;row-gap:2px;padding-block:10px 4px}
  .appbar .biz{display:inline-flex;align-items:center;gap:6px}
  .appbar .spacer{display:block;flex:1}
  .appbar .tabs{order:10;flex:1 0 100%;flex-wrap:wrap;overflow:visible;margin:0 -8px;gap:2px}
  .appbar .tabs a{padding:8px 10px;font-size:14px}
  .appbar .tabs a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent);border-radius:6px 6px 0 0}
}

/* Search everything */
.gsearch{position:relative;flex:0 1 300px;min-width:150px}
.gsearch input{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 12px 8px 32px;font:inherit;font-size:14px;background:var(--bg) no-repeat 10px center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7785' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E")}
.gsearch input:focus{outline:2px solid var(--accent);outline-offset:1px;background-color:var(--surface)}
.gresults{position:absolute;left:0;top:calc(100% + 6px);width:min(440px,calc(100vw - 32px));max-height:min(70vh,560px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.12);z-index:40;padding:6px}
.ggroup + .ggroup{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}
.ggroup .label{padding:6px 10px 2px;font-size:11.5px}
.gitem{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;border:0;background:none;padding:7px 10px;border-radius:6px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.gitem:hover,.gitem:focus{background:var(--bg);outline:none}
.gitem .amt{white-space:nowrap;color:var(--muted)}
@media (max-width:760px){.gsearch{flex:1 1 100%;order:5}}

/* Clickable statement lines and their breakdown */
.fs tr.drill{cursor:pointer}
.fs tr.drill:hover td,.fs tr.drill:focus td{background:var(--accent-soft)}
.fs tr.drill:focus{outline:none}
.fs tr.drill td:first-child{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.fs tr.drill.on td{background:var(--accent-soft);font-weight:600}
.drillpanel tr.click{cursor:pointer}
.drillpanel tr.click:hover td{background:var(--bg)}

/* Report controls and multi-column statements */
.repbar{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin:-4px 0 12px}
.field.inline{flex-direction:column;align-items:stretch;text-align:left;gap:4px;font-size:12.5px;color:var(--muted);font-weight:600}
.field.inline select{min-width:180px}
.fsdoc.wide{max-width:none}
.fs.multi thead th{white-space:nowrap}
.fs.multi td.v,.fs.multi th.v{min-width:96px}
.fs.multi td:first-child{min-width:200px}
.fs .pct{color:var(--muted);min-width:64px}
.fs .fav{color:var(--ok)}
.fs .unfav{color:var(--crit)}
.fs.budget input{width:86px;border:1px solid var(--line);border-radius:6px;padding:5px 6px;font:inherit;font-size:13px;text-align:right;background:var(--bg)}
.fs.budget td{padding:3px 2px}
.fs.budget td:first-child{min-width:170px;padding-right:10px}
.fs tr.docrow td{padding-top:2px;padding-bottom:2px;font-size:13px}
.fs tr.docrow{cursor:pointer}
.fs tr.docrow:hover td{background:var(--bg)}

/* Dashboard */
:root{--chart-in:#2E9B4E;--chart-out:#1F5FA6;--chart-grid:#E3E9F0}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--chart-in:#36A85C;--chart-out:#5A93D6;--chart-grid:#283646}}
:root[data-theme="dark"]{--chart-in:#36A85C;--chart-out:#5A93D6;--chart-grid:#283646}
.dash .ratios{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:10px;margin-top:6px}
.ratio{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.ratio .v{font-family:var(--display);font-weight:800;font-size:22px;color:var(--ink)}
.ratio .note{font-size:12px;line-height:1.35}
.ratio.warn{border-color:var(--warn)}
.ratio .flag{font-size:12px;font-weight:700;color:var(--warn)}
.trend{margin-top:18px}
.trend svg{width:100%;height:auto;display:block}
.trend .grid{stroke:var(--chart-grid);stroke-width:1}
.trend .tick{fill:var(--muted);font-size:11px;font-family:var(--num)}
.trend .in{fill:var(--chart-in)}
.trend .out{fill:var(--chart-out)}
.trend .hit{fill:transparent}
.trend .mg:hover .hit{fill:var(--chart-grid);fill-opacity:.35}
.legend{display:flex;gap:14px;font-size:13px;color:var(--muted)}
.legend .sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.legend .sw.in{background:var(--chart-in)}
.legend .sw.out{background:var(--chart-out)}
.kpigrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px}
.kpicard{border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:4px}
.kpicard .top{display:flex;justify-content:space-between;align-items:center}
.kpicard .v{font-family:var(--display);font-weight:800;font-size:22px}
.meter{height:6px;border-radius:3px;background:var(--bg);overflow:hidden;margin-top:4px}
.meter div{height:100%;background:var(--accent);border-radius:3px}
.kstatus{font-size:12.5px;font-weight:700}
.kstatus.good{color:var(--ok)}
.kstatus.bad{color:var(--warn)}
.spark{display:flex;gap:6px;align-items:flex-end;height:44px;margin-top:4px}
.spark span{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--muted)}
.spark i{display:block;width:10px;background:var(--chart-out);border-radius:2px 2px 0 0;opacity:.75}

/* FAQ */
.band .faqwrap,.faqwrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;align-items:start}
@media (max-width:760px){.band .faqwrap,.faqwrap{grid-template-columns:minmax(0,1fr);gap:12px}}
.faqwrap h2{font-size:clamp(34px,5vw,56px);font-weight:500;letter-spacing:-.02em;margin:0}
.faqs details{border-bottom:1px solid var(--line)}
.faqs summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-weight:600;font-size:15.5px}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translateY(-3px);transition:transform .15s;flex:none}
.faqs details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.faqs details p{margin:0 0 18px;color:var(--muted);max-width:68ch}
.pricing-fine{max-width:80ch;margin:28px auto 0;text-align:center}

/* Personal: income, net worth, budgets */
.bars .fill.in{background:var(--chart-in)}
.budtable input.budin{width:110px;text-align:right;border:1px solid var(--line);border-radius:6px;padding:5px 8px;font:inherit;font-family:var(--num);background:var(--surface);color:var(--ink)}
.budtable td{vertical-align:middle}
.budtable tr.total td{border-top:1px solid var(--line)}
input.carddue,input.sharein{border:1px solid var(--line);border-radius:6px;padding:5px 8px;font:inherit;background:var(--surface);color:var(--ink)}
.lrow.lr2{grid-template-columns:minmax(0,1fr) auto}

/* Pricing groups */
.plangroup{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px;font-weight:700}
.plans.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:860px){.plans.two{grid-template-columns:minmax(0,1fr)}}
.plan.consolidated{max-width:1080px;margin-top:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center;border:2px solid var(--green, var(--accent))}
@media (max-width:860px){.plan.consolidated{grid-template-columns:minmax(0,1fr)}}

/* BIR books */
.birwrap{overflow-x:auto}
.birtable{width:100%;border-collapse:collapse;font-size:13px}
.birtable th,.birtable td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.birtable td.r,.birtable th.r{text-align:right;font-family:var(--num);white-space:nowrap}
.birtable tr.cols th{background:var(--bg);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-top:1px solid var(--line)}
.birtable tr.birhead th{text-align:center;font-weight:400;border-bottom:0;padding:4px 0 12px;color:var(--ink);line-height:1.45}
.birtable .birname{font-family:var(--display);font-weight:800;font-size:16px}
.birtable .birtitle{font-family:var(--display);font-weight:800;font-size:15px;margin-top:6px;text-transform:uppercase;letter-spacing:.04em}
.birtable tr.gjentry td{border-top:1px solid var(--line);border-bottom:0;padding-top:10px}
.birtable td.cr{padding-left:32px}
.birtable tr.glacct td{background:var(--bg);border-top:2px solid var(--line)}
.birtable tr.birsub td,.birtable tr.birtotal td{font-weight:700}
.birtable tr.birtotal td{border-top:2px solid var(--ink);border-bottom:3px double var(--ink)}
.birfoot{font-size:11.5px;color:var(--muted);margin-top:12px}
.birtabs button .note{font-size:11px;margin-left:2px}
@page birbook{size:A4 landscape;margin:12mm 10mm 16mm;
  @bottom-left{content:"Generated by Clickbooks Online";font-size:8pt;color:#555}
  @bottom-right{content:"Page " counter(page) " of " counter(pages);font-size:8pt;color:#555}}
@media print{
  body.bir-print main > :not(#birPrint){display:none!important}
  body.bir-print .noprint{display:none!important}
  body.bir-print #birPrint{page:birbook;border:0;padding:0;box-shadow:none;background:#fff}
  body.bir-print .birwrap{overflow:visible}
  body.bir-print .birtable{font-size:9pt;color:#000}
  body.bir-print .birtable thead{display:table-header-group}
  body.bir-print .birtable tr{break-inside:avoid}
  body.bir-print .birtable tr.cols th{background:#eee!important;color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.bir-print .birtable tr.glacct td{background:#f3f3f3!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.birtable tr.birhead th{text-transform:none;letter-spacing:0;font-size:13px}
.birtable tr.birhead .birtitle{text-transform:uppercase}
.birtable tr.cols th{white-space:normal;vertical-align:bottom}
.birtable td:first-child{white-space:nowrap}
.birtable tr.gjline td{border-bottom:0;padding-top:3px;padding-bottom:3px}

/* Team */
.roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px;margin-top:14px}
.roles > div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.joinbox{border:2px solid var(--accent);border-radius:12px;padding:14px 16px;margin-bottom:16px;background:var(--surface);line-height:1.5}
.listtable select[data-action="team-role"]{min-width:210px}
.plan .seats{font-size:13px;color:var(--ink);background:var(--bg);border-radius:8px;padding:7px 10px;margin:2px 0 0}
.paybox{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:10px 0;display:flex;flex-direction:column;gap:8px}
.paybox h3{margin:0;font-size:15px}
input.paylink{border:1px solid var(--line);border-radius:6px;padding:6px 8px;font:inherit;font-size:13px;background:var(--surface);color:var(--ink)}

/* BIR forms */
.fgroup{margin-top:14px}
.fgroup h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.fchips{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:10px}
.fchip{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;min-width:0}
.fchip strong{font-family:var(--num);font-size:15px}
.fchip .ft{font-size:12px;color:var(--muted);line-height:1.35}
.fchip.ready{border-color:var(--ok)}
.fchip.na{opacity:.6}
.fchip[aria-pressed="true"]{outline:2px solid var(--accent);outline-offset:1px}
.fpill{font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 8px;margin-top:2px}
.fpill.ready{background:var(--green-soft);color:var(--ok)}
.fpill.nil{background:var(--bg);color:var(--muted)}
.fpill.na{background:var(--bg);color:var(--muted);font-weight:400}
.formsheet{border:1.5px solid var(--ink);border-radius:6px;padding:16px 18px;margin-bottom:18px;color:var(--ink)}
.formsheet + .formsheet{margin-top:0}
.fhead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:12px;flex-wrap:wrap}
.fcode{font-family:var(--display);font-weight:800;font-size:20px}
.ftitle{font-weight:600;max-width:60ch}
.fper{text-align:right}
.ftp{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-bottom:12px;font-size:13.5px}
.ftp span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.ftable{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:13.5px}
.ftable th{text-align:left;background:var(--bg);padding:6px 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--line)}
.ftable td{padding:6px 8px;border:1px solid var(--line);vertical-align:top}
.ftable td.r,.ftable th.r{text-align:right;font-family:var(--num);white-space:nowrap}
.ftable tr.b td{font-weight:700}
@media print{
  body.bir-print .formsheet{break-after:page;border-color:#000;color:#000}
  body.bir-print .formsheet:last-child{break-after:auto}
  body.bir-print .ftable th{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
@page birform{size:A4 portrait;margin:12mm 12mm 16mm;
  @bottom-left{content:"Prepared by Clickbooks Online · not the BIR form itself";font-size:8pt;color:#555}
  @bottom-right{content:"Page " counter(page) " of " counter(pages);font-size:8pt;color:#555}}
@media print{ body.bir-print #birPrint.forms{page:birform} }

/* Sign-in and security */
.codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:10px 0;max-width:340px}
.codes code,code.key{font-family:var(--num);font-size:14px;letter-spacing:.04em;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:4px 8px;text-align:center}
code.key{display:inline-block;word-break:break-all;text-align:left}
.qrrow{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-top:8px}
.qrbox{width:176px;height:176px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:8px;box-sizing:content-box}
.qrbox canvas,.qrbox img{display:block}
.twostep ol{margin:0;padding-left:18px}

/* ---- landing: automated accounting hero */
.eyebrow{margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--accent);display:inline-flex;gap:6px;align-items:center;background:var(--accent-soft);padding:4px 12px;border-radius:99px}
.eyebrow span{color:var(--green);letter-spacing:.06em}
.hero .kicker{margin:12px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(18px,2.4vw,22px);color:var(--ink)}
.autobook{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:0 18px 40px -24px rgba(19,36,58,.35)}
.ab-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.ab-head span:nth-child(2){flex:1;min-width:0}
.ab-live{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--green);background:var(--green-soft);padding:2px 9px;border-radius:99px}
.ab-pulse{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 var(--green);animation:abpulse 1.8s infinite}
@keyframes abpulse{0%{box-shadow:0 0 0 0 rgba(46,155,78,.55)}70%{box-shadow:0 0 0 9px rgba(46,155,78,0)}100%{box-shadow:0 0 0 0 rgba(46,155,78,0)}}
.ab-files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ab-files li{display:grid;grid-template-columns:40px minmax(0,1fr) auto 22px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13.5px;opacity:0;animation:abin .5s ease forwards;animation-delay:calc(var(--i) * .45s + .2s)}
.ab-ic{font-size:10px;font-weight:800;letter-spacing:.04em;text-align:center;border-radius:6px;padding:4px 0;background:var(--accent-soft);color:var(--accent)}
.ab-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ab-n{color:var(--muted);font-size:12.5px;white-space:nowrap}
.ab-ok{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--surface);font-size:12px;font-weight:800;transform:scale(0);animation:abpop .35s ease forwards;animation-delay:calc(var(--i) * .45s + .55s)}
.ab-flow{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.ab-flow span{flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--green) 0 8px,transparent 8px 14px);background-size:28px 2px;animation:abflow 1s linear infinite}
@keyframes abflow{to{background-position:28px 0}}
.ab-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ab-stats div{border-radius:12px;padding:12px;background:var(--accent-soft);display:flex;flex-direction:column;opacity:0;animation:abin .5s ease forwards;animation-delay:2.1s}
.ab-stats div.zero{background:var(--green-soft);animation-delay:2.35s}
.ab-stats strong{font-family:var(--display);font-size:32px;font-weight:800;line-height:1.1;color:var(--accent)}
.ab-stats .zero strong{color:var(--green)}
.ab-stats span{font-size:12.5px;color:var(--muted);font-weight:600}
.ab-out{display:flex;flex-wrap:wrap;gap:6px}
.ab-out span{font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;border:1px solid var(--line);color:var(--ink)}
@keyframes abin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes abpop{60%{transform:scale(1.2)}to{transform:scale(1)}}
@media (prefers-reduced-motion: reduce){.ab-files li,.ab-stats div{animation:none;opacity:1}.ab-ok{animation:none;transform:none}.ab-pulse,.ab-flow span{animation:none}}
@media (max-width:420px){.ab-files li{grid-template-columns:36px minmax(0,1fr) 22px}.ab-n{display:none}}

/* ---- landing: launch offer and yearly prices */
.promo-banner{max-width:1080px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:14px 18px;border-radius:14px;background:linear-gradient(100deg,var(--green-soft),var(--accent-soft));border:1px solid var(--line)}
.promo-banner p{margin:0;font-size:16px}
.promo-banner .refnote{flex-basis:100%;font-size:14px}
.promo-tag{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--green);color:var(--surface);padding:3px 10px;border-radius:99px}
.termswitch{display:inline-flex;align-self:flex-start;gap:4px;padding:4px;border-radius:99px;background:var(--surface);border:1px solid var(--line)}
.termswitch button{font:inherit;font-weight:700;font-size:14px;border:0;background:none;color:var(--muted);padding:8px 16px;border-radius:99px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.termswitch button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.save{font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px;background:var(--green-soft);color:var(--green);white-space:nowrap}
.termswitch button[aria-pressed="true"] .save{background:rgba(255,255,255,.2);color:inherit}
.plan .price s{color:var(--muted);font-size:15px;margin-left:6px}
.pp-note{margin:2px 0 0;font-size:13.5px;color:var(--muted)}
.pp-note b{color:var(--green)}
.refstrip{max-width:1080px;margin-top:16px;display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border:1px dashed var(--green);border-radius:14px;background:var(--surface)}
.refstrip p{margin:0}
.refstrip .gift{font-size:22px;line-height:1.2}

/* ---- app: pay box and referrals */
.paybox{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.paybox .offer{margin:0;padding:10px 12px;border-radius:10px;background:var(--green-soft);font-size:14px}
.payrows{display:flex;flex-direction:column;gap:8px}
.payrow{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.payrow .actions{flex-wrap:wrap}
.payrow s{opacity:.7;font-weight:500}
.paybox .credit{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;border:1px dashed var(--green)}
.refcode{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.refcode .code{font-size:22px;font-weight:800;letter-spacing:.08em;padding:4px 12px;border-radius:8px;background:var(--accent-soft);color:var(--accent)}
