@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{--ink:#152e39;--muted:#6c7d84;--green:#126953;--lime:#d9ef91;--line:#e1e7e4;--bg:#f4f6f3;--orange:#bc6028}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'DM Sans',system-ui,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a{color:var(--green)}.demo{display:flex;gap:18px;align-items:center;justify-content:center;min-height:35px;padding:7px 20px;background:#183b35;color:#e6f0db;font-size:11px}.demo strong{letter-spacing:1.5px}.demo button{background:none;border:0;color:#e6f0db;text-decoration:underline;font-size:11px}header{height:89px;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line);gap:15px}.brand{text-decoration:none;display:flex;align-items:center;color:var(--ink);font:800 28px Manrope,system-ui;gap:10px}.mark{background:var(--green);color:var(--lime);width:40px;height:40px;border-radius:13px;text-align:center;font-size:32px;line-height:34px}.brandnote{font:12px 'DM Sans',sans-serif;color:var(--muted);margin-left:20px}.view-switch{display:flex;border-radius:10px;padding:4px;background:#eef2ee}.view-switch button{border:0;border-radius:7px;background:none;color:var(--muted);padding:10px 23px;font-weight:600}.view-switch button.active{background:white;color:var(--green);box-shadow:0 2px 6px #102d1810}.avatar{border:1px solid var(--line);background:white;border-radius:50%;width:35px;height:35px;color:var(--green)}.shell{display:grid;grid-template-columns:240px 1fr;max-width:1600px;margin:auto;min-height:calc(100vh - 124px)}aside{padding:30px 18px;border-right:1px solid var(--line);background:#fbfcfa}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.7px;font-weight:800;color:var(--muted);margin-bottom:12px}.account{padding:8px 12px 25px}.account strong{display:block;margin-bottom:5px}.account small{color:var(--muted)}.nav{display:flex;flex-direction:column;gap:7px}.nav button{background:none;border:0;padding:13px 14px;text-align:left;border-radius:8px;color:var(--muted);font-weight:600}.nav button.active{background:#e7eee4;color:var(--green)}.nav button span{display:inline-block;width:25px}.side-foot{border-top:1px solid var(--line);margin:30px 10px 0;padding-top:22px;font-size:12px;line-height:1.7;color:var(--muted)}main{padding:36px 42px 65px;min-width:0}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}h1{font:800 30px Manrope,system-ui;margin:0 0 8px;letter-spacing:-1px}h2{font:800 19px Manrope,system-ui;margin:0 0 8px}h3{font-size:16px;margin:0 0 8px}p{line-height:1.65;margin:8px 0}.sub{color:var(--muted);font-size:14px}.btn{border:0;border-radius:8px;background:var(--green);color:white;padding:12px 18px;font-weight:700;font-size:13px;display:inline-flex;gap:8px;align-items:center;justify-content:center;text-decoration:none}.btn.light{background:white;color:var(--ink);border:1px solid var(--line)}.btn.lime{background:var(--lime);color:var(--ink)}.btn.small{padding:8px 12px;font-size:12px}.btn.danger{background:#f7e6df;color:#943e25}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat{padding:21px 22px;background:white;border:1px solid var(--line);border-radius:12px}.stat label{font-size:12px;color:var(--muted);display:block;margin-bottom:12px}.stat strong{font:800 29px Manrope,system-ui}.stat small{display:block;color:var(--green);font-size:11px;margin-top:7px}.sectionbar{display:flex;justify-content:space-between;align-items:center;margin:28px 0 18px}.jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.card-body{padding:21px}.job-art{height:155px;position:relative;overflow:hidden;background:#e1e8df}.job-art img{width:100%;height:100%;object-fit:cover}.tag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.35px;padding:6px 9px;background:#e6f2df;color:var(--green);border-radius:5px}.tag.amber{background:#fff0d5;color:#8d6120}.tag.blue{background:#e7eef5;color:#4b687c}.job-art .tag{position:absolute;top:13px;left:13px;background:white}.job-meta{display:flex;justify-content:space-between;margin:19px 0 9px;font-size:11px;color:var(--muted)}.progress{height:5px;border-radius:8px;background:#edf0e9;overflow:hidden}.progress i{display:block;height:100%;background:var(--green);border-radius:8px}.workers{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin:18px 0}.bubble{width:27px;height:27px;display:inline-flex;justify-content:center;align-items:center;border-radius:50%;background:#e4eadf;color:var(--green);font-size:10px;font-weight:700}.card .btn{width:100%}.two{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.panel{padding:24px;background:white;border:1px solid var(--line);border-radius:13px;margin-bottom:20px}.welcome{background:var(--green);color:white;border-radius:14px;padding:29px 32px;display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:26px}.welcome p{color:#dce8dc;font-size:13px}.welcome h2{font-size:25px}.welcome .eyebrow{color:var(--lime)}.tabs{display:flex;border-bottom:1px solid var(--line);gap:25px;margin-bottom:25px;overflow-x:auto}.tabs button{white-space:nowrap;border:0;background:none;padding:16px 0;color:var(--muted);font-size:13px}.tabs button.active{border-bottom:3px solid var(--green);color:var(--green);font-weight:700}.feed-item{padding:20px 0;border-bottom:1px solid var(--line)}.feed-item:last-child{border:0}.feed-top{display:flex;align-items:center;gap:9px;margin-bottom:11px}.feed-top small{color:var(--muted);font-size:11px}.feed-top strong{font-size:12px}.feed-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.feed-photos img{width:140px;height:100px;border-radius:8px;object-fit:cover;cursor:pointer}.notice{padding:13px 16px;border-radius:8px;background:#eef3e8;color:#3b6553;font-size:12px;line-height:1.6;margin:15px 0}.notice.amber{background:#fff3de;color:#88652c}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row small{display:block;color:var(--muted);margin-top:4px}.amount{font-weight:800;font-size:22px}.empty{color:var(--muted);padding:25px 0;text-align:center}.actions{display:flex;gap:9px;flex-wrap:wrap}.field{display:block;margin:17px 0;color:var(--ink);font-size:13px;font-weight:600}.field input,.field textarea,.field select{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #ced8d1;border-radius:7px;background:white;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.field input[type=checkbox]{display:inline;width:auto;margin:0 8px 0 0}dialog{border:0;border-radius:16px;padding:32px;width:min(570px,94vw);max-height:90vh;color:var(--ink);box-shadow:0 30px 100px #0003}dialog::backdrop{background:#071a22aa;backdrop-filter:blur(3px)}.close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:27px;color:var(--muted)}#modalContent h2{margin-right:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:15px 24px;border-radius:9px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw;text-align:center;font-size:13px}#toast.on{opacity:1}.job-select{padding:10px;border:1px solid var(--line);border-radius:8px;background:white;max-width:100%}.document{padding:20px;background:#fafbf8;border:1px solid var(--line);border-radius:9px;margin-top:12px}.steps{list-style:none;padding:0;margin:18px 0}.steps li{padding:13px 0;display:flex;gap:12px;align-items:center;color:var(--muted);font-size:13px}.steps .done{color:var(--green)}.steps .dot{height:12px;width:12px;border:2px solid #aebcb1;border-radius:50%;flex:none}.steps .done .dot{background:var(--green);border-color:var(--green)}.workerbanner{display:flex;gap:15px;align-items:center;margin-bottom:25px}.workerbanner select{padding:10px;border-radius:7px;border:1px solid var(--line);background:white}.checks label{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.checks input{accent-color:var(--green);width:18px;height:18px}.linkbox{word-break:break-all;background:#f0f4ed;padding:14px;border-radius:8px;font-size:12px}.qr{width:180px;margin:20px auto;display:block}.photo-full{width:100%;max-height:65vh;object-fit:contain}.reference{border:1px solid var(--line);border-radius:10px;padding:19px;margin-top:13px}.tip{margin-top:22px;padding:22px;border:1px dashed #b8c6b7;border-radius:12px;font-size:13px;color:var(--muted)}.metricline{display:flex;justify-content:space-between;gap:15px;margin:12px 0;font-size:13px}.print-only{display:none}@media(max-width:1100px){main{padding:28px 25px}.shell{grid-template-columns:195px 1fr}.jobs{grid-template-columns:1fr 1fr}.brandnote{display:none}.stats{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}}@media(max-width:700px){header{padding:14px 17px;height:auto;flex-wrap:wrap}.brand{font-size:24px}.view-switch{order:3;width:100%;justify-content:space-around}.view-switch button{flex:1;padding:10px}.demo{font-size:9px;gap:7px;flex-wrap:wrap}.demo span{display:none}.shell{display:block}aside{padding:13px;border-right:0;border-bottom:1px solid var(--line)}.account,.side-foot{display:none}.nav{flex-direction:row;overflow:auto}.nav button{white-space:nowrap;padding:10px;font-size:12px}.nav button span{display:none}main{padding:23px 17px 45px}h1{font-size:26px}.pagehead{align-items:flex-start;flex-wrap:wrap}.jobs{grid-template-columns:1fr}.job-art{height:180px}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:24px}.welcome{padding:23px;display:block}.welcome .btn{margin-top:12px}.tabs{gap:23px}.panel{padding:19px}.workerbanner{flex-wrap:wrap}.feed-photos img{width:125px}.actions .btn{flex-grow:1}dialog{padding:25px}.row{align-items:flex-start}.row .actions{max-width:50%}}@media print{body>*:not(dialog){display:none!important}dialog{position:static;display:block;max-height:none;width:100%;box-shadow:none;padding:0}dialog .close,dialog .actions{display:none}.notice{display:none}body{background:white}dialog::backdrop{display:none}}
