*{box-sizing:border-box} :root{--bg:#09100c;--card:#131d17;--line:#27352c;--text:#f5f8f6;--muted:#9eada4;--accent:#75e7a9;--accent2:#1a2a21}
body{margin:0;background:linear-gradient(180deg,#08100c,#0d1510 45%,#09100c);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:16px max(16px,calc((100% - 760px)/2));background:#09100ce8;backdrop-filter:blur(12px);border-bottom:1px solid #1d2a22}
.brand{font-size:23px;font-weight:900}.brand span{color:var(--accent)}.sub{color:var(--muted);font-size:11px;margin-top:2px}
.shell{max-width:760px;margin:auto;padding:16px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.tab,.ghost,.primary,.secondary,.camera-btn{border:0;border-radius:12px;padding:12px 14px;font-weight:800;font-size:14px;cursor:pointer}
.tab{background:#142019;color:var(--muted)}.tab.active{background:var(--accent);color:#062114}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:17px;margin-bottom:14px;box-shadow:0 12px 30px #0003}
h2{font-size:17px;margin:0 0 13px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.field{margin:10px 0}.field label{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
input,select{width:100%;background:#0b130e;border:1px solid var(--line);color:white;border-radius:11px;padding:12px;font-size:16px;outline:none}
input:focus,select:focus{border-color:#5ea97a}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.primary{width:100%;background:var(--accent);color:#062114;margin-top:8px}.secondary{width:100%;background:#243229;color:white;margin-top:12px}
.ghost{background:#1b2921;color:white;border:1px solid var(--line)}.small{padding:8px 10px;font-size:12px}
.camera-btn{display:block;text-align:center;background:var(--accent);color:#062114;margin-bottom:12px}
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photos img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:24px 10px;border:1px dashed var(--line);border-radius:12px}
.hint{color:var(--muted);font-size:12px;line-height:1.5}.pill{font-size:10px;color:#ccebd8;border:1px solid var(--line);padding:6px 8px;border-radius:999px;background:#19271f}
.line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.line span{color:var(--muted)}
.total-label{font-size:11px;color:var(--muted);margin-top:16px}.total{font-size:34px;font-weight:900;color:var(--accent);margin:3px 0 8px}
.hidden{display:none}.job{border:1px solid var(--line);border-radius:14px;padding:13px;margin:10px 0;background:#0d1611}
.job-title{font-weight:800}.job-meta{color:var(--muted);font-size:12px;margin-top:4px}.job-total{color:var(--accent);font-size:20px;font-weight:900;margin-top:8px}
.job-actions{display:flex;gap:8px;margin-top:10px}.job-actions button{flex:1}
@media(max-width:560px){.grid2{grid-template-columns:1fr}.photos{grid-template-columns:repeat(2,1fr)}}
@media print{.topbar,.tabs,#saveBtn,#calcBtn,.camera-btn,#photoInput,.hint,.secondary,.ghost{display:none!important}body{background:white;color:black}.card{box-shadow:none;border:1px solid #ddd;background:white}.line span,.total-label{color:#666}.total{color:black}}

.tabs{grid-template-columns:repeat(3,1fr)}
.gpsbox{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.gpsbox>div{background:#0b130e;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}
.gpsbox span{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}
.gpsbox b{font-size:15px}
.fullbtn{width:100%;margin-top:8px}
.point-list{margin-top:12px;max-height:210px;overflow:auto}
.point-row{display:flex;justify-content:space-between;gap:8px;padding:8px 2px;border-bottom:1px solid var(--line);font-size:12px}
.point-row span{color:var(--muted)}
.warning{margin-top:14px;padding:12px;border:1px solid #705d2a;background:#2a2414;border-radius:12px;font-size:12px;line-height:1.45;color:#eadba8}
@media(max-width:560px){.tabs{grid-template-columns:1fr 1fr 1fr}.tab{padding:10px 6px;font-size:12px}.gpsbox{grid-template-columns:1fr}}
