:root{color-scheme:dark;--bg:#0f0f10;--panel:#171719;--panel2:#1e1e21;--text:#f3f1ed;--muted:#a7a4a0;--copper:#d7763d;--line:#303034;--danger:#ff8c8c;--ok:#9ad7ad}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,#241811 0,#0f0f10 40%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{min-height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;background:rgba(15,15,16,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.brand{color:var(--text);text-decoration:none;font-weight:800;letter-spacing:.12em}.brand span{color:var(--copper)}.shell{width:min(1040px,calc(100% - 32px));margin:32px auto 80px}.hero{display:flex;gap:24px;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.hero h1,.checkout-card h1{font-size:clamp(2rem,7vw,3.4rem);line-height:1;margin:.15em 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--copper);font-weight:800}.badge,.status{display:inline-block;border:1px solid var(--line);background:var(--panel2);padding:7px 10px;border-radius:999px;font-size:.72rem;letter-spacing:.08em}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.stats-four{grid-template-columns:repeat(4,1fr)}.stats article,.panel,.checkout-card{background:linear-gradient(145deg,var(--panel),#121214);border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.28)}.stats article{padding:22px}.stats strong{font-size:1.8rem;display:block}.stats span,.muted,.secure-note{color:var(--muted)}.panel{padding:22px;margin:16px 0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.gridform,.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stackform,.adminform{display:grid;gap:16px}.gridform label,.formgrid label,.stackform label,.inline-cancel label{display:grid;gap:7px;color:var(--muted);font-size:.86rem}.gridform input,.formgrid input,.formgrid select,.formgrid textarea,.stackform input,.inline-cancel input{width:100%;background:#111114;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit}.formgrid textarea{resize:vertical}.wide{grid-column:1/-1}.button,button,.gridform button,.checkout-card button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:12px 16px;background:var(--copper);color:#120c08;font-weight:900;font:inherit;text-decoration:none;cursor:pointer}.secondary,.button.secondary,button.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}.danger-button{background:#512020;color:#ffdada;border:1px solid #793030}.gridform button{align-self:end}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:16px 0}.row:first-of-type{border-top:0}.row-link{color:var(--text);text-decoration:none}.row-link:hover{opacity:.85}.right{text-align:right}.checkout-card{width:min(620px,100%);margin:7vh auto;padding:clamp(22px,5vw,42px)}.auth-card{width:min(520px,100%)}.amount{font-size:2rem;font-weight:900;margin:24px 0}.payment-context{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#111114;color:var(--muted)}.checkout-card button{width:100%;margin-top:18px}.checkout-card button:disabled{opacity:.55;cursor:not-allowed}#card-container{min-height:90px;background:#fff;border-radius:10px;padding:10px}.error{color:var(--danger);min-height:1.3em;margin-top:10px}.notice{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:12px}.secure-note{font-size:.82rem;line-height:1.5}.receipt-summary{display:grid;gap:4px;margin:22px 0;padding:14px;background:#111114;border-radius:12px}.receipt-button{width:100%;margin:6px 0 12px}.footer{position:fixed;bottom:0;width:100%;padding:12px 18px;text-align:center;font-size:.72rem;color:var(--muted);background:rgba(15,15,16,.92);border-top:1px solid var(--line)}.adminnav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.adminnav a,.linkbutton{color:var(--muted);text-decoration:none;background:none;padding:0;border:0;font-weight:600}.adminnav form{margin:0}.status-open{color:#ffd19f}.status-paid{color:var(--ok)}.status-cancelled,.status-expired{color:#d0a2a2}.details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0}.details div{padding:12px 0;border-bottom:1px solid var(--line)}.details dt{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.details dd{margin:4px 0 0;overflow-wrap:anywhere}.note{margin-top:18px;padding:14px;background:#111114;border-radius:12px}.copybox{overflow:auto;padding:14px;background:#0d0d0f;border:1px solid var(--line);border-radius:12px}.copybox code{white-space:nowrap}.success-panel{border-color:#4d6a52}.inline-cancel{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:18px}.auditrow{display:grid;grid-template-columns:1fr auto;gap:18px;padding:16px 0;border-top:1px solid var(--line)}.auditrow:first-child{border-top:0}.auditdetail{display:block;margin-top:6px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.footer a,a{color:#e39464}@media(max-width:760px){.stats,.stats-four,.gridform,.formgrid,.details{grid-template-columns:1fr}.wide{grid-column:auto}.panel-head{align-items:flex-start;flex-direction:column}.adminbar{align-items:flex-start;flex-direction:column}.inline-cancel{grid-template-columns:1fr}.hero{align-items:center}.shell{margin-top:20px}.footer{position:static;margin-top:40px}.checkout-card{margin:20px auto}.auditrow{grid-template-columns:1fr}.auditrow .right{text-align:left}}
.reconcile-card{padding:18px 0;border-top:1px solid var(--line)}.reconcile-card:first-of-type{border-top:0}.reconcile-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.reconcile-form{margin-top:14px}.reconcile-card .actions{margin-top:10px}@media(max-width:760px){.reconcile-head{display:grid;grid-template-columns:1fr}.reconcile-head .right{text-align:left}}
.invoice-lines{display:grid;gap:12px}.invoice-line{display:grid;grid-template-columns:minmax(0,2fr) minmax(90px,.5fr) minmax(120px,.7fr);gap:10px}.invoice-line label{display:grid;gap:6px;color:var(--muted);font-size:.82rem}.invoice-line input{background:#111114;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px;font:inherit;width:100%}.invoice-totals{margin:20px 0 0 auto;width:min(420px,100%)}.invoice-totals div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-top:1px solid var(--line)}.status-draft{color:#c9c3b9}.status-sent,.status-partially-paid{color:#ffd19f}.status-overdue{color:#ff9e9e}.status-void{color:#a9a9a9}@media(max-width:760px){.invoice-line{grid-template-columns:1fr}}
.invoice-lines-head{margin-bottom:14px}.invoice-line{grid-template-columns:minmax(0,2fr) minmax(90px,.5fr) minmax(120px,.7fr) auto;align-items:end}.invoice-line-remove{min-height:42px}.invoice-line-remove:disabled,#add-invoice-line:disabled{opacity:.45;cursor:not-allowed}@media(max-width:760px){.invoice-line{grid-template-columns:1fr 1fr}.invoice-line label:first-child{grid-column:1/-1}.invoice-line-remove{grid-column:1/-1;width:100%}}
.checkbox-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px!important}.checkbox-line input{width:auto!important}.consent-box{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#111114;color:var(--muted);line-height:1.45}.consent-box input{width:auto;margin-top:3px}.status-pending-setup{color:#d8c28c}.status-active{color:var(--ok)}.status-past-due,.status-failed,.status-retry{color:#ff9e9e}.status-paused{color:#c9c3b9}.status-cancelled,.status-skipped{color:#a9a9a9}.status-processing,.status-pending{color:#ffd19f}
.error-panel{border-color:rgba(255,110,110,.35)}.error-panel code{word-break:break-word}.row small.error{display:inline-block;margin-top:5px;max-width:620px;word-break:break-word}

/* 0.8 mobile/app shell */
.brand-with-mark{display:inline-flex;align-items:center;gap:10px;letter-spacing:0;text-decoration:none}
.brand-with-mark .brand-icon{width:38px;height:38px;object-fit:cover;border-radius:10px;flex:0 0 38px;box-shadow:0 0 18px rgba(215,118,61,.16)}
.brand-with-mark .brand-word{color:var(--text);font-weight:800;letter-spacing:.12em;white-space:nowrap}
.brand-with-mark .brand-word strong{color:var(--copper)}
.hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.compact-button{padding:8px 11px;border-radius:10px;font-size:.82rem}
.install-app-button[hidden]{display:none!important}
.native-android body,.pwa-standalone body{min-height:100dvh}
.native-android .topbar,.pwa-standalone .topbar{padding-top:max(12px,env(safe-area-inset-top))}
.native-android .shell,.pwa-standalone .shell{padding-bottom:max(12px,env(safe-area-inset-bottom))}
@media(max-width:760px){
  .topbar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .adminbar{gap:10px}
  .adminnav{width:100%;max-width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 0 5px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .adminnav::-webkit-scrollbar{display:none}
  .adminnav a,.adminnav .linkbutton{white-space:nowrap;flex:0 0 auto}
  .adminnav form{flex:0 0 auto}
  .brand-with-mark .brand-icon{width:36px;height:36px;flex-basis:36px;border-radius:9px}
  .hero{align-items:flex-start}
  .hero-actions{justify-content:flex-start}
}
