/* Shared visual language with landingpage.html; existing app layouts stay intact. */
:root{--green:#176b49;--green-dark:#0f5036;--mint:#e9f7ef;--bg:#fffdf7;--ink:#17352a;--muted:#5d7169;--line:#dce9e2;--yellow:#ffd669;--orange:#ffa06d;--shadow:0 10px 28px rgb(23 107 73 / 6%)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
:focus-visible{outline:3px solid var(--green);outline-offset:3px}
button:disabled{cursor:wait;opacity:.65;transform:none}
a.button{text-decoration:none}
.brand{font-family:inherit;letter-spacing:-1px;color:var(--green);font-weight:900;text-transform:uppercase}
.brand-mark{background:var(--green);border-radius:12px 12px 12px 4px;transform:rotate(-3deg);font-size:20px;width:36px;height:36px}
.brand-dot{color:var(--green)}
.button{border-radius:999px;min-height:42px;font-size:13px;padding:10px 18px}
.button-primary{box-shadow:0 6px 18px rgb(23 107 73 / 16%)}
.button-outline{border-color:var(--line);color:var(--green)}
.sidebar{border-color:var(--line);background:#fff}
.business-switch,.summary-card,.panel,.modal{border-color:var(--line);border-radius:18px}
.nav-item{min-height:44px;border-radius:12px;color:var(--muted)}
.nav-item.active,.help-card{background:var(--mint)}
.help-card{border-radius:18px}
.business-avatar{background:#fff3d2;color:#765616}
.topbar{border-color:var(--line);background:rgb(255 253 247 / 94%)}
.page-heading h1,.panel-heading h2,.metric-value{font-family:inherit}
.page-heading h1{font-weight:800;letter-spacing:-1px}
.page-heading p,.panel-heading p,.metric-caption,.chart-period,.today-label{color:var(--muted)}
.card-top{color:#476253}
.balance-card{background:var(--mint)}
.cash-balance-card{background:#fff8e2}
.summary-card .metric-value{font-weight:800;overflow-wrap:anywhere}
.metric-foot{flex-wrap:wrap}
.main-content,.page-wrap{min-width:0}
.profile>span:nth-child(2){min-width:0}
.profile strong{overflow-wrap:anywhere}
.auth-screen{display:grid;grid-template-columns:minmax(320px,1fr) minmax(420px,1fr);align-items:center;gap:60px;min-height:100dvh;padding:28px;background:var(--bg)}
.auth-story{position:relative;overflow:hidden;align-self:stretch;min-height:640px;display:flex;flex-direction:column;justify-content:space-between;background:var(--green);color:#fff;border-radius:28px;padding:40px clamp(28px,4vw,64px)}
.auth-story:after{content:"";position:absolute;width:240px;height:240px;right:-130px;bottom:-130px;background:var(--yellow);border-radius:50%;pointer-events:none}
.auth-story .brand{padding:0;color:#fff}
.auth-story .brand-mark{background:var(--yellow);color:var(--ink)}
.auth-story :focus-visible{outline-color:var(--yellow)}
.auth-story-copy{padding:56px 0}
.auth-pill{display:inline-block;border:1px solid #6ba487;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:800;letter-spacing:1px}
.auth-story h2{font-size:clamp(32px,3.5vw,52px);line-height:1.13;letter-spacing:-2px;margin:24px 0}
.auth-story em{color:var(--yellow);font-style:normal}
.auth-story-copy p{max-width:410px;color:#d7ede3;font-size:16px;line-height:1.75}
.auth-story ul{list-style:none;padding:12px 0 0;margin:0;display:grid;gap:16px;font-size:14px}
.auth-story li:before{content:"✓";color:var(--yellow);margin-right:12px;font-weight:900}
.auth-story-footer{font-size:12px;color:#d7ede3}
.auth-card{width:min(100%,440px);justify-self:center;padding:36px 22px;border:0;background:transparent;box-shadow:none;border-radius:0}
.auth-back{display:inline-block;font-size:13px;color:var(--muted);text-decoration:none;margin-bottom:44px}
.auth-back:hover{color:var(--green);text-decoration:underline}
.auth-brand{padding:0;margin-bottom:30px}
.auth-card .eyebrow{color:var(--green);font-size:11px;letter-spacing:1.3px}
.auth-card h1{font-family:inherit;font-size:34px;letter-spacing:-1.2px;margin:12px 0}
.auth-card>p{color:var(--muted);line-height:1.6}
.auth-card form{gap:18px;margin-top:28px}
.auth-card form label{color:var(--ink);font-weight:650;font-size:13px}
.auth-card input,.auth-card select{min-height:50px;border-radius:12px;border-color:var(--line);padding:0 14px;font-weight:400}
.auth-card input:focus,.auth-card select:focus{border-color:var(--green)}
.auth-card form .button{min-height:50px;margin-top:8px;font-size:14px}
.auth-toggle{min-height:44px;font-size:13px;color:var(--green);text-align:left}
.auth-card .auth-message{min-height:24px;color:var(--green);overflow-wrap:anywhere}
.auth-card .auth-message.error{color:#a13223}
.startup-message{padding:24px;text-align:center}
@media(min-width:701px) and (max-width:1200px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.auth-card .brand>span:last-child{font-size:24px}.auth-card .brand{padding:0}}
@media(min-width:1600px){.auth-screen{gap:100px;padding:36px 7vw}}
@media(max-width:1000px){.auth-screen{gap:24px;grid-template-columns:minmax(280px,1fr) minmax(340px,1fr);padding:20px}.auth-story{padding:32px;min-height:620px}}
@media(max-width:760px){.auth-screen{display:block;padding:28px 20px}.auth-story{display:none}.auth-card{margin:auto;padding:12px 0 24px}.auth-back{margin-bottom:32px}.auth-card h1{font-size:30px}.button{min-height:44px}.page-heading{gap:16px;flex-wrap:wrap}.heading-actions{max-width:100%}.top-actions{gap:8px}.topbar .button{font-size:12px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
