:root{--black:#111;--orange:#e86f2d;--gold:#e9a23b;--bg:#f5f3ee;--white:#fff;--text:#262626;--muted:#707070;--border:#dedbd4}
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}.top{height:78px;background:#111;border-bottom:4px solid var(--orange);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px}
.brand{display:flex;align-items:center;gap:12px}.mark{background:var(--orange);font-weight:900;font-size:22px;padding:10px;border-radius:8px}.brand strong,.brand span{display:block}.brand span{font-size:12px;color:var(--gold);text-transform:uppercase;letter-spacing:.1em}
.account{display:flex;gap:12px}.account a{color:#fff;text-decoration:none;border:1px solid #555;padding:8px 11px;border-radius:7px;font-size:13px}.shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 78px)}
nav{background:#202020;padding:22px 14px;display:flex;flex-direction:column;gap:5px}nav a,nav span{padding:12px 14px;border-radius:8px;text-decoration:none;color:#eee;font-size:14px}nav a:hover{background:#333;color:var(--gold)}nav span{color:#888}
main{padding:32px;max-width:1500px;width:100%}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.heading h1{font-size:34px;margin:3px 0 8px}.heading p{margin:0;color:var(--muted)}.eyebrow{color:var(--orange)!important;font-size:12px;font-weight:900;letter-spacing:.13em}
.button{display:inline-block;border:0;background:var(--orange);color:#fff;padding:12px 17px;border-radius:8px;text-decoration:none;font-weight:800;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.metric,.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.07)}
.metric span{display:block;color:var(--muted);font-size:13px;margin-bottom:9px}.metric strong{font-size:25px}.attention{border-left:5px solid var(--orange)}.panel h2{margin-top:0}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:12px}
table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:15px;border-bottom:1px solid #eee;font-size:14px}th{background:#202020;color:#fff;font-size:12px;text-transform:uppercase}td a{color:#b84e16;text-decoration:none}td small{display:block;color:var(--muted);margin-top:4px}
.status{background:#eee;padding:5px 8px;border-radius:20px;font-size:12px}.empty{text-align:center;color:var(--muted);padding:30px}.projectcards{grid-template-columns:repeat(4,1fr)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rows p{display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding:10px 0;margin:0}.back{display:inline-block;margin-bottom:10px;color:#b84e16;text-decoration:none}
.form{display:grid;gap:13px}.form label{display:grid;gap:6px;font-size:13px;font-weight:700}.form input{padding:11px;border:1px solid #ccc;border-radius:7px;font:inherit}.customer{padding:12px 0;border-bottom:1px solid #eee}.customer strong,.customer span{display:block}.customer span{color:var(--muted);font-size:13px;margin-top:4px}
@media(max-width:900px){.shell{grid-template-columns:1fr}nav{flex-direction:row;overflow:auto;padding:10px}nav a,nav span{white-space:nowrap}.cards,.projectcards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}main{padding:20px}}
@media(max-width:550px){.top{padding:0 14px}.account a:first-child{display:none}.cards,.projectcards{grid-template-columns:1fr}.heading{align-items:flex-start;flex-direction:column}.heading h1{font-size:28px}}
.notice{background:#fff;border:1px solid var(--border);border-left:5px solid var(--orange);border-radius:10px;padding:14px 16px;margin:0 0 20px}.notice.success{border-left-color:#3b8b57}
.metric small{display:block;color:var(--muted);font-size:12px;margin-top:7px}.metric.danger{border-left:5px solid #b83a2d}.over{color:#b83a2d;font-weight:800}
.section-title{display:flex;align-items:end;justify-content:space-between;margin:30px 0 10px;gap:16px}.section-title h2{margin:0}.section-title span{color:var(--muted);font-size:13px}
table.compact{min-width:0}.compact th,.compact td{padding:12px}.recovered-row{background:#f2f8f3}.pill{display:inline-block;padding:3px 7px;border-radius:12px;font-size:11px;font-weight:800}.pill.recovered{background:#dcefe1;color:#285f38}
.history{display:grid;grid-template-columns:1fr auto;gap:5px;border-bottom:1px solid #eee;padding:10px 0}.history small{grid-column:1/-1;color:var(--muted)}.muted{color:var(--muted)}
@media(max-width:700px){.section-title{align-items:flex-start;flex-direction:column}.compact{min-width:650px!important}}

.alert-pill{display:inline-block;padding:5px 8px;border-radius:14px;margin:2px 4px 2px 0;font-size:11px;font-weight:800;white-space:nowrap}
.alert-pill.danger{background:#f7d9d5;color:#8e261c}.alert-pill.warning{background:#fff0cf;color:#805a0a}.alert-pill.info{background:#e5e8eb;color:#45505a}
.project-link{color:var(--orange);text-decoration:none}.project-link small{display:block;color:var(--muted);margin-top:3px}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:17px;text-decoration:none;color:inherit;box-shadow:0 5px 18px rgba(0,0,0,.04)}.project-card:hover{border-color:var(--orange)}
.project-card-head{display:flex;justify-content:space-between;gap:12px;align-items:start;font-size:17px}.project-card>small{display:block;color:var(--muted);margin-top:5px}
.project-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:17px}.project-numbers span{display:block;color:var(--muted);font-size:11px}.project-numbers b{display:block;margin-top:4px;font-size:14px}
.version{color:var(--muted);font-size:11px;margin-top:30px}
@media(max-width:900px){.project-grid{grid-template-columns:1fr}.project-numbers{grid-template-columns:repeat(2,1fr)}}

.alert-pill.review{background:#e9e5df;color:#62594f}
.history-review{margin:20px 0 30px;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.history-review summary{cursor:pointer;padding:16px 18px;font-weight:800}.history-review summary span{font-weight:400;color:var(--muted);margin-left:8px;font-size:12px}
.history-review .tablewrap{border:0;border-top:1px solid var(--border);border-radius:0;box-shadow:none}

.metric.protected{border-left:5px solid #3b8b57}.labor-summary{align-items:start}.section-title.tight{margin:0 0 10px}.tablewrap.flat{border:0;box-shadow:none;border-radius:0}.labor-summary table{min-width:0}
.pill.warning{background:#fff0cf;color:#805a0a;border-color:#e4c46f}

.report-filter{display:grid;grid-template-columns:2fr 2fr 1fr 1fr auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:18px}
.report-filter label{display:grid;gap:6px;font-size:12px;font-weight:800}.report-filter select,.report-filter input{padding:10px;border:1px solid #ccc;border-radius:7px;background:#fff;font:inherit}
.report-actions,.report-toolbar>div:last-child{display:flex;gap:8px}.button.secondary{background:#fff;color:#333;border:1px solid #bbb}.report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:0 0 18px}.report-cards{grid-template-columns:repeat(4,1fr)}
@media(max-width:1050px){.report-filter{grid-template-columns:1fr 1fr}.report-actions{grid-column:1/-1}.report-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.report-filter{grid-template-columns:1fr}.report-actions{grid-column:auto}.report-toolbar{align-items:flex-start;flex-direction:column}.report-toolbar>div:last-child{flex-wrap:wrap}.report-cards{grid-template-columns:1fr}}
@media print{.top,nav,.report-filter,.report-toolbar .button{display:none!important}.shell{display:block}.shell main{max-width:none;padding:0}.tablewrap{overflow:visible;border:0}table{min-width:0}th,td{padding:7px;font-size:10px}.section-title{margin-top:18px}.version{display:none}}

.preset-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-6px 0 18px;font-size:12px}.preset-bar span{font-weight:800;color:var(--muted)}.preset-bar a{background:#fff;border:1px solid var(--border);border-radius:16px;padding:6px 10px;color:#444;text-decoration:none}.preset-bar a:hover{border-color:var(--orange);color:var(--orange)}
.print-report-head{display:none}
@media print{.preset-bar{display:none!important}.print-report-head{display:flex!important;justify-content:space-between;align-items:end;border-bottom:3px solid #111;padding:0 0 10px;margin:0 0 18px}.print-report-head strong{font-size:20px}.print-report-head span{font-size:16px;font-weight:800}.print-report-head small{font-size:10px}.heading p{display:none}.heading{margin-bottom:10px}.heading h1{font-size:22px}.report-cards{grid-template-columns:repeat(4,1fr)}a{color:#111!important;text-decoration:none!important}}

.labor-detail{background:#fff;border:1px solid var(--border);border-radius:12px;margin:28px 0 8px;overflow:hidden}
.labor-detail summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 18px;cursor:pointer;list-style:none}
.labor-detail summary::-webkit-details-marker{display:none}.labor-detail summary strong{font-size:20px}.labor-detail summary small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.detail-toggle{color:var(--orange);font-size:12px}.hide-label{display:none}.labor-detail[open] .show-label{display:none}.labor-detail[open] .hide-label{display:inline}
.labor-detail .tablewrap{border:0;border-top:1px solid var(--border);border-radius:0}
@media print{.labor-detail{display:block!important}.labor-detail>summary{display:none!important}.labor-detail:not([open])>.tablewrap{display:block!important}}

.cost-filter{grid-template-columns:2fr 2fr 1fr 1fr auto}.cost-review{background:#fff;border:1px solid #e4c46f;border-left:5px solid var(--gold);border-radius:12px;margin:18px 0;overflow:hidden}.cost-review summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;cursor:pointer;list-style:none}.cost-review summary::-webkit-details-marker{display:none}.cost-review summary small{display:block;color:var(--muted);margin-top:4px}.cost-review .tablewrap{border:0;border-top:1px solid var(--border);border-radius:0}
@media(max-width:1050px){.cost-filter{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.cost-filter{grid-template-columns:1fr}}
@media print{.cost-review{display:block!important}.cost-review>summary{display:none!important}.cost-review:not([open])>.tablewrap{display:block!important}}

.heading-actions{display:flex;gap:9px;flex-wrap:wrap}.entry-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;max-width:980px}.entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.entry-grid label{display:grid;gap:7px;font-size:12px;font-weight:800}.entry-grid input,.entry-grid select{padding:11px;border:1px solid #ccc;border-radius:7px;font:inherit;background:#fff}.entry-grid .wide{grid-column:1/-1}.receipt-field{border:1px dashed #bbb;border-radius:9px;padding:14px}.receipt-field small{font-weight:400;color:var(--muted)}.entry-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.native-badge{display:inline-block;margin:4px 0 0 8px;padding:3px 6px;border-radius:10px;background:#eee;font-size:9px;font-weight:800}.receipt-link{display:inline-block;margin-left:8px;font-size:10px;font-weight:800;color:var(--orange)}
@media(max-width:800px){.entry-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.entry-grid{grid-template-columns:1fr}.entry-grid .wide{grid-column:auto}.heading-actions{width:100%}.heading-actions .button{flex:1;text-align:center}}

.co-filter{grid-template-columns:2fr 1fr auto}.entry-grid textarea{padding:11px;border:1px solid #ccc;border-radius:7px;font:inherit;background:#fff;resize:vertical}.tablewrap td small{display:block;color:var(--muted);margin-top:3px}@media(max-width:800px){.co-filter{grid-template-columns:1fr 1fr}}@media(max-width:560px){.co-filter{grid-template-columns:1fr}}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.grid3 label,.grid4 label{display:grid;gap:6px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.filters{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:end}.filters label{display:grid;gap:6px;font-size:12px;font-weight:800}@media(max-width:850px){.grid4{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr 1fr}}@media(max-width:600px){.grid3,.grid4,.filters{grid-template-columns:1fr}.actions{flex-wrap:wrap}}


/* v1.9.1 polished billing forms */
.billing-form{max-width:1120px;display:grid;gap:18px}.billing-section{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px;box-shadow:0 8px 24px rgba(0,0,0,.05)}.billing-section-head{display:flex;justify-content:space-between;gap:15px;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid #eee}.billing-section-head h2{margin:0 0 5px;font-size:20px}.billing-section-head p{margin:0;color:var(--muted);font-size:13px}.billing-grid{display:grid;grid-template-columns:1fr;gap:17px}.billing-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.billing-grid label{display:grid;align-content:start;gap:7px;font-size:12px;font-weight:800}.billing-grid input,.billing-grid select,.billing-grid textarea{width:100%;padding:11px 12px;border:1px solid #c9c6c0;border-radius:7px;background:#fff;font:inherit;color:var(--text)}.billing-grid textarea{resize:vertical;min-height:118px}.billing-grid input:focus,.billing-grid select:focus,.billing-grid textarea:focus{outline:2px solid rgba(232,111,45,.2);border-color:var(--orange)}.billing-grid .span-2{grid-column:span 2}.billing-grid .span-all{grid-column:1/-1}.money-input{display:flex;align-items:center;border:1px solid #c9c6c0;border-radius:7px;background:#fff;overflow:hidden}.money-input:focus-within{outline:2px solid rgba(232,111,45,.2);border-color:var(--orange)}.money-input span{padding-left:12px;color:var(--muted);font-weight:800}.money-input input{border:0!important;outline:0!important;border-radius:0;box-shadow:none}.total-input{background:#f5f3ee;border-color:#b9b5ad}.total-input input{background:#f5f3ee;font-weight:900;font-size:17px}.billing-actions{display:flex;justify-content:flex-end;gap:10px;padding:2px 0 8px}.billing-admin{max-width:1120px;margin-top:24px}.check-field{border:1px solid #ddd9d2;border-radius:8px;padding:12px}.check-line{display:flex;align-items:center;gap:8px;font-weight:600}.check-line input{width:auto}.billing-form .button{min-width:130px;text-align:center}
@media(max-width:1000px){.billing-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.billing-grid-2,.billing-grid-3,.billing-grid-4{grid-template-columns:1fr}.billing-grid .span-2,.billing-grid .span-all{grid-column:auto}.billing-section{padding:17px}.billing-actions{flex-direction:column-reverse}.billing-actions .button{width:100%}}


/* v1.9.2 billing layout + cache-busted stylesheet */
.billing-form{max-width:none;width:100%}
.billing-section{width:100%}
.billing-project-grid{display:grid;grid-template-columns:minmax(320px,2.2fr) minmax(150px,1fr) minmax(150px,1fr) minmax(130px,.75fr);gap:18px;align-items:start}
.billing-project-grid .project-field{grid-column:1/2}
.billing-project-grid .external-field{grid-column:1/3}
.billing-payment-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:18px;align-items:start}
.billing-grid-3>label,.billing-grid-2>label{min-width:0}
.billing-grid input,.billing-grid select{min-height:44px}
.billing-grid textarea{min-height:145px;line-height:1.45}
.billing-grid label{font-size:13px;color:#333}
.billing-section-head h2{font-size:22px}
.billing-actions{padding-top:4px}
@media(max-width:1100px){
 .billing-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .billing-project-grid .project-field,.billing-project-grid .external-field{grid-column:1/-1}
 .billing-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .billing-project-grid,.billing-payment-grid{grid-template-columns:1fr}
 .billing-project-grid .project-field,.billing-project-grid .external-field{grid-column:auto}
}

/* v2.0 Field Clock */
.pin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.pin-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px;display:grid;gap:8px}.pin-card small{color:var(--muted)}.pin-card input{padding:10px;border:1px solid #ccc;border-radius:7px}.empty-state{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px;color:var(--muted);margin-bottom:22px}.field-clock-wrap{max-width:620px;margin:0 auto}.field-clock-wrap>h1{text-align:center;font-size:36px}.field-clock-wrap>.eyebrow{text-align:center}.clock-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:0 12px 30px rgba(0,0,0,.08)}.clock-card h2{text-align:center;font-size:28px;margin:8px 0}.clock-card>p{text-align:center;color:var(--muted)}.clock-form{display:grid;gap:18px;margin-top:22px}.clock-form label{display:grid;gap:7px;font-weight:800}.clock-form input,.clock-form select,.clock-form textarea{width:100%;font:inherit;font-size:18px;padding:14px;border:1px solid #bbb;border-radius:10px;background:#fff}.clock-primary,.clock-out{border:0;border-radius:12px;padding:18px;font:inherit;font-size:22px;font-weight:900;cursor:pointer}.clock-primary{background:var(--orange);color:#fff}.clock-out{background:#222;color:#fff}.clock-status{display:block;text-align:center;color:#177a45;font-weight:900;letter-spacing:.08em}.clock-project,.clock-time{text-align:center}.clock-time{font-size:24px;font-weight:900;margin:18px 0}.clock-link{display:block;margin:18px auto 0;border:0;background:none;text-decoration:underline;cursor:pointer}.clock-note{text-align:center;color:var(--muted);font-size:12px;margin-top:18px}.clock-alert{background:#fff1eb;border:1px solid #f2b596;border-radius:10px;padding:12px;margin-bottom:15px}.clock-hello{display:block;text-align:center;color:var(--muted)}@media(max-width:800px){.pin-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.pin-grid{grid-template-columns:1fr}.field-clock-wrap{max-width:none}.clock-card{padding:20px}.field-clock-wrap>h1{font-size:30px}}
