@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--ink:#17352f;--paper:#fbf8f0;--card:#fffdf8;--line:#dce5d9;--muted:#62726a;--mint:#dbe9d5;--peach:#efb28d;--danger:#b55136}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.shell{min-height:100vh}.brand{color:var(--ink);font-size:27px;font-weight:700;text-decoration:none;letter-spacing:-1.8px}.brand span{color:#c96746}.eyebrow{font:500 11px 'DM Mono';letter-spacing:1.1px;color:#718078;margin:0 0 12px}.muted{color:var(--muted);line-height:1.55}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:38px;background:radial-gradient(circle at 80% 15%,#e6ebd1 0,transparent 29%)}.auth-screen>.brand{position:absolute;top:30px;left:max(5vw,30px)}.auth-card{width:min(470px,100%);padding:38px;background:var(--card);border:1px solid var(--line);box-shadow:13px 14px 0 #e5eddc}.auth-card h1,.welcome h1{font:600 clamp(39px,5vw,57px)/1.02 'Playfair Display';letter-spacing:-2px;margin:0}.tabs{display:flex;border-bottom:1px solid var(--line);margin:26px 0 22px;gap:18px}.tab{background:none;border:0;padding:10px 1px;color:var(--muted);font:600 14px 'DM Sans';cursor:pointer}.tab.active{color:var(--ink);border-bottom:2px solid var(--ink)}label{display:block;font-size:13px;font-weight:600;margin:16px 0 0}input,select,textarea{width:100%;margin-top:7px;padding:11px;border:1px solid #b9cabd;background:#fff;color:var(--ink);font:14px 'DM Sans';border-radius:4px}.primary,.quiet{font:600 14px 'DM Sans';padding:11px 16px;border-radius:5px;cursor:pointer}.primary{margin-top:22px;background:var(--ink);color:white;border:1px solid var(--ink)}.primary:hover{background:#28564b}.quiet{background:transparent;border:1px solid #bacdbd;color:var(--ink)}.form-message{min-height:20px;margin:12px 0 0;font-size:13px;color:var(--danger)}.fine{color:#7b887f;font-size:12px;margin:23px 0 0}.app-header{height:74px;padding:0 max(5vw,30px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffdf8}.header-right,.button-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.account-email{font-size:13px;color:var(--muted)}.app-content{max-width:1180px;margin:0 auto;padding:68px max(5vw,30px) 90px}.welcome{display:flex;justify-content:space-between;gap:24px;align-items:end}.welcome h1{font-size:clamp(37px,4.8vw,59px)}.welcome .primary{margin:0;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:35px 0 14px}.stats article,.card{background:var(--card);border:1px solid var(--line)}.stats article{padding:18px 21px}.stats span{color:var(--muted);font-size:12px}.stats strong{display:block;margin-top:5px;font:600 28px 'Playfair Display'}.layout{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.card{padding:25px}.card-heading,.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.card h2,.dialog-heading h2{font:600 25px 'Playfair Display';margin:0}.empty{text-align:center;padding:65px 15px;color:var(--muted);font-size:14px}.invoice-row{width:100%;border:0;border-top:1px solid var(--line);padding:16px 4px;background:none;color:var(--ink);display:grid;grid-template-columns:1fr auto;gap:12px;text-align:left;cursor:pointer}.invoice-row:hover,.invoice-row.active{background:#f2f6ed}.invoice-row.paid{opacity:.58}.invoice-row strong{font-size:14px}.invoice-row small{display:block;color:var(--muted);margin-top:4px}.invoice-row b{font:500 13px 'DM Mono'}.status{font:500 10px 'DM Mono';color:var(--danger);text-transform:uppercase}.paid .status{color:#417653}.follow-card{background:var(--ink);color:white}.follow-card .eyebrow{color:#b7cbc0}.follow-card .muted{color:#d5e0da}.follow-card input,.follow-card select,.follow-card textarea{background:#23463d;border-color:#58786e;color:white}.follow-card textarea{height:170px;resize:vertical;line-height:1.45}.follow-card .quiet{color:#e6f0e9;border-color:#779487}.follow-card .primary{margin-top:0;background:var(--peach);color:var(--ink);border-color:var(--peach)}dialog{width:min(460px,92vw);border:0;padding:0;box-shadow:0 18px 50px #17352f66}dialog::backdrop{background:#17352f99}dialog form{padding:25px;background:var(--card)}dialog .primary{width:100%}.close{font-size:27px;border:0;background:none;color:var(--ink);cursor:pointer}.two-columns{display:grid;grid-template-columns:1fr 110px;gap:12px}@media(max-width:760px){.app-header{height:auto;min-height:70px;padding-top:13px;padding-bottom:13px;align-items:flex-start}.header-right{justify-content:flex-end}.account-email{display:none}.app-content{padding-top:44px}.welcome,.layout{grid-template-columns:1fr;display:grid}.welcome .primary{justify-self:start}.stats{grid-template-columns:1fr}.layout{gap:14px}.auth-card{padding:27px}.auth-screen>.brand{position:static;justify-self:start;margin-bottom:28px}.auth-screen{align-content:center}.two-columns{grid-template-columns:1fr}}
[hidden]{display:none!important}
.account-dialog{padding:25px;background:var(--card);max-width:560px}.account-dialog h3{font:600 20px 'Playfair Display';margin:0}.account-section{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.account-section .primary{margin-top:18px}.danger-section{color:#7d2d1d}.danger-section .muted{color:#7d2d1d}.danger-button{margin-top:18px;background:#b55136;color:#fff;border:1px solid #b55136;border-radius:5px;padding:11px 16px;font:600 14px 'DM Sans';cursor:pointer}
.danger-copy{color:#7d2d1d;line-height:1.5}
.install-button{white-space:nowrap}
.onboarding-panel{margin-top:22px;padding:24px;background:#eff3ea;border:1px solid #cdddc9}.onboarding-panel h3{font:600 25px 'Playfair Display';margin:0}.onboarding-panel p{margin:10px 0;color:var(--muted);line-height:1.5}.onboarding-panel ol{margin:17px 0 22px;padding-left:20px;color:var(--ink);font-size:14px;line-height:1.8}.onboarding-panel .primary{margin:0}
dialog.install-help{width:min(420px,92vw);background:transparent}.install-help-card{padding:28px;background:var(--card);color:var(--ink)}.install-help-card h2{font:600 29px 'Playfair Display';margin:0 0 12px}.install-help-card p,.install-help-card ol{color:var(--muted);font-size:14px;line-height:1.55}.install-help-card ol{padding-left:21px}.install-help-card .quiet{margin-top:12px}
@media(max-width:760px){.install-button{display:none}}
.text-button{margin-top:14px;padding:0;border:0;background:transparent;color:var(--moss);font:600 13px 'DM Sans';text-decoration:underline;cursor:pointer}
