:root{--ink: #17211f;--muted: #69736f;--line: #dfe5e1;--soft: #f1f4f1;--paper: #ffffff;--bg: #f7f8f6;--brand: #176a55;--brand-dark: #0e4e3e;--brand-soft: #e3f1ec;--good: #147852;--warn: #94610b;--bad: #b33a32;--radius: 12px;--font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: ui-monospace, SFMono-Regular, Consolas, monospace}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);background:var(--bg);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--brand)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em}button,.btn{min-height:38px;padding:8px 15px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#fff;background:var(--brand);border:1px solid var(--brand);border-radius:9px;font:650 14px/1.2 var(--font);text-decoration:none;cursor:pointer}button:hover,.btn:hover{background:var(--brand-dark);border-color:var(--brand-dark)}button.secondary,.btn.secondary{color:var(--ink);background:#fff;border-color:var(--line)}button.secondary:hover,.btn.secondary:hover{background:var(--soft)}button.ghost,.btn.ghost{color:var(--brand);background:transparent;border-color:transparent}button.small,.btn.small{min-height:32px;padding:6px 10px;font-size:12.5px}button:disabled{opacity:.55;cursor:wait}input,select,textarea{width:100%;padding:10px 11px;color:var(--ink);background:#fff;border:1px solid #cfd7d2;border-radius:9px;font:14px/1.4 var(--font)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(23,106,85,.2);border-color:var(--brand)}textarea{resize:vertical}label.field{display:block;margin-bottom:15px}label.field>span{display:block;margin-bottom:5px;color:#35413d;font-size:12.5px;font-weight:650}label.field>small{display:block;margin-top:4px;color:var(--muted);font-size:11.5px}.simple-shell{min-height:100vh}.simple-topbar{height:70px;padding:0 max(24px,calc((100vw - 1120px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;background:#fffffff0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.simple-brand{width:max-content;display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.simple-brand span{width:34px;height:34px;display:grid;place-items:center;color:#fff;background:var(--brand);border-radius:9px;font-weight:800}.simple-brand strong{font-size:14px}.simple-context,.owner-nav{color:var(--muted);font-size:13px;font-weight:650;text-decoration:none}.simple-account{display:flex;align-items:center;justify-content:flex-end;gap:12px}.simple-account>span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12.5px}.simple-main{width:min(1060px,calc(100% - 40px));margin:0 auto;padding:48px 0 72px}.demo-banner{padding:7px 20px;color:#76530e;background:#fff3d5;border-bottom:1px solid #ead8a8;text-align:center;font-size:12px;font-weight:650}.simple-page-head{margin-bottom:26px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.simple-page-head>div:first-child>span,.simple-panel-head>div>span{display:block;margin-bottom:5px;color:var(--brand);font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.simple-page-head h1{margin-bottom:5px;font-size:clamp(30px,5vw,43px);line-height:1.1}.simple-page-head p{margin-bottom:0;color:var(--muted)}.back-link{display:inline-block;margin-bottom:18px;color:var(--muted);font-size:13px;font-weight:650;text-decoration:none}.simple-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px #162b240b}.section-panel{margin-top:18px;overflow:hidden}.simple-panel-head{min-height:72px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.simple-panel-head h2{margin:0;font-size:20px}.simple-panel-head b{min-width:27px;height:27px;padding:0 8px;display:grid;place-items:center;background:var(--brand-soft);border-radius:999px;font-size:12px}.simple-form-panel{padding:22px}.simple-form-panel h2{margin-bottom:4px;font-size:19px}.simple-form-panel>p{margin-bottom:18px;color:var(--muted);font-size:13px}.simple-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.simple-form-grid label.field{margin-bottom:0}.form-submit{display:flex;align-items:flex-end}.inline-create-form{padding:20px;background:#fbfcfb;border-bottom:1px solid var(--line)}.inline-create-form>button{margin-top:2px}.check-row{margin:10px 0 15px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.check-row input{width:auto}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.list-toolbar{margin:16px 0 10px}.list-toolbar input{max-width:320px}.customer-list{display:grid}.customer-list>a{min-height:82px;padding:17px 20px;display:grid;grid-template-columns:minmax(180px,1fr) auto 70px;align-items:center;gap:26px;color:var(--ink);border-bottom:1px solid var(--line);text-decoration:none}.customer-list>a:last-child{border-bottom:0}.customer-list>a:hover{background:#fbfcfb}.customer-list a>div>strong,.customer-list a>div>span{display:block}.customer-list a>div>span{margin-top:2px;color:var(--muted);font-size:12px}.customer-list dl,.project-card dl{margin:0;display:flex;gap:30px}.customer-list dl div,.project-card dl div{display:grid;gap:1px}.customer-list dt,.project-card dt{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.customer-list dd,.project-card dd{margin:0;font-size:14px;font-weight:700}.customer-list>a>b{color:var(--brand);font-size:12px;text-align:right}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}.project-card{min-height:250px;padding:25px;display:flex;flex-direction:column;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:14px;text-decoration:none;box-shadow:0 8px 28px #162b240b}.project-card:hover{border-color:#a9c9be;transform:translateY(-2px);box-shadow:0 13px 35px #162b2414}.project-kicker{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.project-card h2{margin:14px 0 24px;font-size:23px}.project-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.project-card>strong{margin-top:auto;padding-top:25px;color:var(--brand);font-size:13px}.project-head{padding-bottom:4px}.amount-due{min-width:190px;padding:16px 18px;color:#fff;background:var(--brand-dark);border-radius:11px}.amount-due span,.amount-due strong{display:block}.amount-due span{font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.amount-due strong{margin-top:3px;font-size:25px}.simple-list{display:grid}.simple-list-row{min-height:76px;padding:15px 20px;display:grid;grid-template-columns:minmax(200px,1fr) auto auto;align-items:center;gap:18px;border-bottom:1px solid var(--line)}.simple-list-row:last-child{border-bottom:0}.row-main strong,.row-main small{display:block}.row-main strong{font-size:14px}.row-main small{margin-top:3px;color:var(--muted);font-size:11.5px}.row-total{min-width:95px;display:grid;justify-items:end;gap:4px}.row-total>strong{font-size:14px}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.subsection{border-top:8px solid var(--soft)}.subsection>h3{margin:0;padding:12px 20px;color:var(--muted);border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.07em;text-transform:uppercase}.chip{padding:3px 8px;display:inline-flex;width:max-content;color:#45504c;background:var(--soft);border-radius:999px;font-size:10.5px;font-weight:750;text-transform:capitalize;white-space:nowrap}.chip.good{color:var(--good);background:#e4f3ed}.chip.warn{color:var(--warn);background:#fbf0d9}.chip.bad{color:var(--bad);background:#fae9e7}.chip.accent{color:var(--brand-dark);background:var(--brand-soft)}.notice{margin-bottom:15px;padding:11px 14px;border:1px solid #cbded7;border-radius:9px;color:var(--brand-dark);background:var(--brand-soft);font-size:13px}.notice.error{color:var(--bad);background:#fae9e7;border-color:#efcbc7}.notice.ok{color:var(--good);background:#e4f3ed}.notice.warn{color:var(--warn);background:#fbf0d9}.empty{padding:42px 20px;color:var(--muted);text-align:center}.empty strong{display:block;margin-bottom:4px;color:#35413d}.muted{color:var(--muted)}.small{font-size:12.5px}.mono{font-family:var(--mono)}.auth-shell{min-height:100vh;padding:24px;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#dfeee8,transparent 34rem),var(--bg)}.auth-card{width:min(420px,100%);padding:30px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 55px #162b241a}.auth-card .brand{margin-bottom:22px;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.1em}.auth-card h1{margin-bottom:5px;font-size:24px}.auth-card>p{margin-bottom:22px;color:var(--muted);font-size:13px}.auth-card button[type=submit]{width:100%}.auth-foot{margin-top:17px;color:var(--muted);text-align:center;font-size:12px}.qr{display:block;margin:5px auto 14px;border:1px solid var(--line);border-radius:8px}.secret-box,.codes{margin:10px 0 16px;padding:11px;background:var(--soft);border-radius:8px;font:12px var(--mono);word-break:break-all}.codes{display:grid;grid-template-columns:1fr 1fr;gap:6px}@media(max-width:760px){.simple-topbar{height:auto;min-height:64px;padding:12px 16px;grid-template-columns:1fr auto}.simple-context,.owner-nav{display:none}.simple-account>span{display:none}.simple-main{width:min(100% - 28px,1060px);padding:32px 0 55px}.simple-page-head{align-items:flex-start;flex-direction:column}.simple-page-head>button{width:100%}.two-column,.simple-form-grid{grid-template-columns:1fr}.customer-list>a{grid-template-columns:1fr auto;gap:12px}.customer-list dl{grid-column:1}.customer-list>a>b{grid-row:1 / span 2;grid-column:2}.project-head .amount-due{width:100%}.simple-panel-head{align-items:flex-start;flex-direction:column}.simple-panel-head>.row-actions{width:100%;justify-content:flex-start}.simple-list-row{grid-template-columns:1fr auto}.simple-list-row .row-actions{grid-column:1 / -1;justify-content:flex-start}.row-total{justify-items:end}}
