:root{--bg:#071a1d;--panel:#0d272b;--panel2:#123136;--line:#27474c;--text:#f7fbfb;--muted:#9fb4b7;--mint:#76f3c1;--blue:#5ea2ff;--amber:#f6be5b;--danger:#ff7b7b;--shadow:0 18px 50px rgba(0,0,0,.22)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{background:radial-gradient(circle at 100% -10%,rgba(118,243,193,.14),transparent 32rem),var(--bg)}button,input,select,textarea{font:inherit}.boot{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.app{min-height:100vh;padding-bottom:90px}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:rgba(7,26,29,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.brand{display:flex;align-items:center;gap:10px}.logo{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--mint);color:var(--bg);font-weight:1000}.brand h1{font-size:20px;margin:0}.beta{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:7px 10px;border-radius:999px;font-weight:800}.wrap{width:min(1120px,100%);margin:auto;padding:22px 16px 42px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px}.eyebrow{margin:0 0 6px;color:var(--mint);font-size:12px;font-weight:900;letter-spacing:1.6px}.hero h2{font-size:clamp(28px,6vw,42px);line-height:1.03;letter-spacing:-1.4px;margin:0}.sub{color:var(--muted);line-height:1.5;margin:7px 0 0}.notice{padding:12px 14px;border-radius:13px;background:rgba(94,162,255,.08);border:1px solid rgba(94,162,255,.2);color:#d5e4e6;font-size:12px;line-height:1.5;margin-bottom:14px}.grid{display:grid;gap:12px}.stats{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.card{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:20px;box-shadow:var(--shadow)}.stat{padding:16px}.stat span{color:var(--muted);font-size:11px;font-weight:800}.stat strong{display:block;font-size:25px;margin-top:5px;letter-spacing:-.8px}.section{padding:18px;margin-bottom:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head h3{margin:0;font-size:19px}.section-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.btn{border:0;border-radius:12px;min-height:42px;padding:0 14px;font-weight:900;color:var(--bg);background:var(--mint);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.secondary{color:var(--text);background:transparent;border:1px solid var(--line)}.btn.blue{background:var(--blue);color:#071a1d}.btn.danger{color:#ffd5d5;background:rgba(255,123,123,.1);border:1px solid rgba(255,123,123,.3)}.btn.small{min-height:34px;padding:0 10px;font-size:11px}.btn:disabled{opacity:.45;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}label{font-size:11px;font-weight:800;color:#cfe0e2}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#091f23;color:var(--text);padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(118,243,193,.08)}textarea{min-height:82px;resize:vertical}.list{display:grid;gap:9px}.item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.055);background:#0a2226;border-radius:15px}.item-main{min-width:0}.item-main strong{display:block}.item-main small{display:block;color:var(--muted);margin-top:3px;line-height:1.4}.item-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--line);color:var(--muted)}.status.draft{color:var(--amber);border-color:rgba(246,190,91,.35)}.status.submitted,.status.accepted,.status.approved{color:var(--mint);border-color:rgba(118,243,193,.35)}.status.rejected{color:var(--danger);border-color:rgba(255,123,123,.35)}.amount{font-weight:900}.quote-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:14px;align-items:start}.quote-total{padding:18px;position:sticky;top:88px}.money-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);color:var(--muted)}.money-row strong{color:var(--text)}.money-row.total{border:0;padding-top:16px;font-weight:900;color:var(--text)}.money-row.total strong{font-size:30px;color:var(--mint)}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.weekbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.weeknav{display:flex;align-items:center;gap:8px}.weeklabel{min-width:170px;text-align:center;font-weight:900}.timesheet-wrap{overflow-x:auto;border-radius:15px;border:1px solid rgba(255,255,255,.06)}table{width:100%;min-width:920px;border-collapse:collapse;background:#0a2226}th,td{padding:9px 7px;border-bottom:1px solid rgba(255,255,255,.055);text-align:center}th{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;background:#0c282c}.job-col{text-align:left!important;min-width:220px}td input.hours{width:64px;text-align:center;padding:8px 5px}.row-total{font-weight:900;color:var(--mint)}tfoot td{font-weight:900;background:#0c282c}.job-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.job-chip{padding:12px;border:1px solid var(--line);border-radius:13px;background:#0a2226}.job-chip small{display:block;color:var(--muted);margin-bottom:3px}.job-chip strong{font-size:19px}.empty{padding:22px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.bottom-nav{position:fixed;z-index:40;bottom:0;left:0;right:0;height:72px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:7px;background:rgba(7,26,29,.97);border-top:1px solid rgba(255,255,255,.07);backdrop-filter:blur(18px)}.nav{border:0;background:transparent;color:var(--muted);border-radius:13px;font-size:10px;font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}.nav b{font-size:18px;line-height:1}.nav.active{color:var(--mint);background:rgba(118,243,193,.07)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(460px,100%);padding:24px}.auth-card h2{font-size:31px;margin:5px 0 7px}.auth-card form{display:grid;gap:11px;margin-top:18px}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.error{color:#ffd0d0;background:rgba(255,123,123,.08);border:1px solid rgba(255,123,123,.25);padding:10px 12px;border-radius:12px;font-size:12px;margin-top:10px}.success{color:#d9fff1;background:rgba(118,243,193,.08);border:1px solid rgba(118,243,193,.22);padding:10px 12px;border-radius:12px;font-size:12px;margin-top:10px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar select{width:auto;min-width:150px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.member{padding:14px;border:1px solid rgba(255,255,255,.055);background:#0a2226;border-radius:15px}.member-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.member strong{display:block}.member small{color:var(--muted)}.assigns{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.pill{font-size:10px;border:1px solid var(--line);padding:5px 7px;border-radius:999px;color:var(--muted)}.review{padding:14px;border:1px solid rgba(255,255,255,.055);background:#0a2226;border-radius:15px}.review-grid{display:grid;grid-template-columns:1fr 120px;gap:9px;align-items:end}.toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%) translateY(18px);opacity:0;pointer-events:none;background:#f5fffb;color:#071a1d;padding:10px 15px;border-radius:999px;font-size:12px;font-weight:900;transition:.2s;z-index:60;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media(max-width:820px){.stats{grid-template-columns:repeat(2,1fr)}.quote-layout{grid-template-columns:1fr}.quote-total{position:static}.team-grid{grid-template-columns:1fr}.job-summary{grid-template-columns:1fr 1fr}}@media(max-width:560px){.wrap{padding:18px 11px 36px}.topbar{padding:13px 12px}.hero{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.section{padding:14px}.stats{gap:8px}.stat{padding:13px}.stat strong{font-size:21px}.item{align-items:flex-start}.item-side{min-width:96px}.job-summary{grid-template-columns:1fr}.bottom-nav{height:70px}.beta{display:none}.auth-actions{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.weeknav{width:100%;justify-content:space-between}}