:root{--ink:#10221b;--ink2:#1a342a;--accent:#0ea56f;--accent2:#08764f;--mint:#e7f8ef;--soft:#f4f8f6;--line:#dce7e1;--muted:#667970;--white:#fff;--danger:#b42318;--warn:#9a6700;--shadow:0 14px 40px rgba(16,34,27,.09)}
*{box-sizing:border-box}html{background:var(--soft)}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0,#f4f8f6 42%,#eef5f1 100%);min-height:100dvh;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.tiny{font-size:12px}.safe-top{height:env(safe-area-inset-top)}
.app{max-width:760px;margin:0 auto;min-height:100dvh;background:rgba(255,255,255,.82);position:relative;box-shadow:0 0 70px rgba(16,34,27,.05)}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,231,225,.9)}.brand{display:flex;gap:10px;align-items:center;font-weight:900;letter-spacing:.08em}.brand img{width:38px;height:38px;border-radius:11px}.top-actions{display:flex;gap:8px;align-items:center}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:999px;min-width:42px;height:42px;padding:0 13px;font-weight:800;color:var(--ink)}
.main{padding:22px 18px 108px}.screen{display:none}.screen.active{display:block}.hero{padding:24px 0 8px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:900;color:var(--accent2)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,11vw,58px);line-height:.95;letter-spacing:-.055em;margin:10px 0 18px}h2{font-size:30px;letter-spacing:-.035em;margin-bottom:8px}h3{font-size:18px;margin-bottom:10px}.lead{font-size:17px;line-height:1.55;color:var(--muted);max-width:620px}
.panel,.card,.job-card,.quote-card,.support-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.panel+.panel,.card+.card,.job-card+.job-card,.quote-card+.quote-card,.support-card+.support-card{margin-top:12px}.soft{background:var(--soft);box-shadow:none}.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.dark .muted{color:#b8c8c0}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.primary,.secondary,.danger{border-radius:14px;padding:13px 16px;font-weight:850;border:1px solid transparent}.primary{background:var(--ink);color:#fff}.primary.accent{background:var(--accent);border-color:var(--accent)}.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.danger{background:#fff1f0;color:var(--danger);border-color:#ffd5d2}.wide{width:100%}.primary:disabled,.secondary:disabled{opacity:.5;cursor:not-allowed}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0 18px}.stat{padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line)}.stat span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.stat strong{display:block;font-size:27px;margin-top:4px;letter-spacing:-.04em}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#edf4f0;font-size:11px;font-weight:900;text-transform:capitalize}.badge.good{background:#e8f8ef;color:#08764f}.badge.warn{background:#fff7df;color:#8a6200}.badge.dark{background:#dce8e2;color:var(--ink)}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row.start{align-items:flex-start}.stack{display:grid;gap:10px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:24px 0 10px}.section-title h2,.section-title h3{margin:0}.money{font-size:26px;font-weight:900;letter-spacing:-.04em}.job-meta{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.job-card h3,.quote-card h3{margin-bottom:4px}.job-card p,.quote-card p{color:var(--muted);line-height:1.45}.job-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.job-actions button{padding:10px 12px;border-radius:12px}
.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:25;width:min(760px,100%);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(20px);border-top:1px solid var(--line)}.nav-btn{border:0;background:transparent;border-radius:14px;padding:8px 4px;color:#788a81;font-size:10px;font-weight:800;display:grid;gap:3px;justify-items:center}.nav-btn .ico{font-size:20px;line-height:1}.nav-btn.active{color:var(--ink);background:var(--soft)}.nav-btn.hidden{display:none}
form{display:grid;gap:11px}label{font-size:13px;font-weight:800}input,select,textarea{width:100%;border:1px solid #cddbd4;border-radius:13px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(14,165,111,.12)}textarea{min-height:110px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-result{border-radius:12px;padding:10px 12px;background:var(--soft);font-size:13px}.form-result:empty{display:none}.form-result.error{background:#fff1f0;color:var(--danger)}.form-result.success{background:#eaf9f1;color:#08764f}
.login-wrap{min-height:calc(100dvh - 86px);display:flex;flex-direction:column;justify-content:center;padding-bottom:60px}.login-card{padding:22px}.role-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.role-choice button{min-height:94px;text-align:left}.role-choice b{display:block;font-size:16px;margin-bottom:4px}.notice{border-radius:16px;padding:13px 14px;background:var(--soft);border:1px solid var(--line);font-size:13px}.empty{text-align:center;padding:28px 18px;color:var(--muted);border:1px dashed #cddbd4;border-radius:18px;background:rgba(255,255,255,.55)}
.profile-head{display:flex;gap:14px;align-items:center}.avatar{width:58px;height:58px;border-radius:18px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:900}.list{display:grid;gap:8px;margin-top:12px}.list-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.install-banner{background:linear-gradient(135deg,var(--ink),#183f31);color:#fff;border-radius:22px;padding:18px;margin-bottom:14px}.install-banner p{color:#c8d7d0;margin-bottom:12px}.install-banner .secondary{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff}
.loading{position:fixed;inset:0;background:rgba(244,248,246,.78);backdrop-filter:blur(7px);z-index:50;display:grid;place-items:center}.spinner{width:42px;height:42px;border:4px solid #dce8e2;border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%,20px);z-index:60;background:var(--ink);color:#fff;padding:12px 16px;border-radius:14px;box-shadow:var(--shadow);max-width:calc(100% - 36px);opacity:0;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}
details{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff}details+details{margin-top:8px}summary{cursor:pointer;font-weight:800}.divider{height:1px;background:var(--line);margin:16px 0}
@media(max-width:420px){.form-grid,.role-choice{grid-template-columns:1fr}.hero{padding-top:20px}.role-choice button{min-height:auto}.main{padding-left:14px;padding-right:14px}.topbar{padding-left:14px;padding-right:14px}}
