*{box-sizing:border-box}body{margin:0;background:#f5f3ed;color:#243e35;font:16px system-ui,-apple-system,'Segoe UI',sans-serif}header{background:#243e35;color:#fff;padding:20px max(20px,calc((100% - 960px)/2));display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{color:inherit;text-decoration:none;display:flex;gap:12px;align-items:center;font-size:13px;font-weight:700;letter-spacing:2px}.brand>span{border:1px solid #829888;padding:8px;font:22px Georgia,serif}.brand small{display:block;margin-top:4px;letter-spacing:1.8px;font-size:9px;font-weight:400;color:#c2ccbf}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:48px;border-radius:10px;border:1px solid #d6dccc;background:#fff;color:#243e35;padding:12px 17px;font-weight:650;touch-action:manipulation}button:hover{background:#edf2e7}button:disabled{opacity:.5;cursor:wait}.primary{background:#243e35;color:#fff;border-color:#243e35}.primary:hover{background:#3b5647}.big{min-height:64px;width:100%;font-size:18px}.quiet{border:0;background:transparent}.danger{color:#9e382c}header button{color:#fff;font-size:13px}main{max-width:960px;margin:0 auto;padding:32px 24px 130px}h1{font-size:32px;letter-spacing:-1px;margin:0 0 12px}h2{font-size:20px;letter-spacing:-.4px;margin:0 0 18px}h3{font-size:16px;margin:0 0 7px}p{line-height:1.6;margin:0 0 20px}.muted,small{color:#75806f;font-size:13px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.6px;color:#87724d;margin-bottom:10px}.panel{background:#fffefb;border:1px solid #e1e3d7;border-radius:15px;padding:24px;margin-bottom:20px}.welcome{max-width:500px;margin:40px auto}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.metric{background:#eaf0e4;padding:20px;border-radius:12px}.metric strong{display:block;margin:10px 0 0;font-size:29px;font-weight:600;letter-spacing:-.6px}.metric small{font-size:11px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.stack{display:grid;gap:15px}label{display:block;font-size:13px;font-weight:650;margin-bottom:7px}input,select,textarea{width:100%;padding:13px;border:1px solid #cbd3c3;background:white;color:#243e35;border-radius:9px;min-height:48px}textarea{min-height:82px;resize:vertical}.span2{grid-column:span 2}.help{font-size:12px;color:#788371;margin:6px 0 0}.clock{font-size:48px;letter-spacing:2px;font-variant-numeric:tabular-nums;margin:18px 0}.timer{background:#eaf0e4;border-color:#d6e1cc}.empty{color:#7b8474;font-size:14px;text-align:center;padding:25px 8px;line-height:1.7}.entry{padding:18px 0;border-bottom:1px solid #e7eadf}.entry:last-child{border-bottom:0}.entry strong{font-size:22px}.entry .muted{margin-top:6px}.entry .actions{display:flex;gap:8px;margin-top:8px}.entry .actions button{min-height:38px;padding:6px 10px;font-size:12px}.notice{border-radius:9px;padding:15px 17px;background:#f4ebd9;color:#7d6230;font-size:13px;line-height:1.6;margin-bottom:20px}.error{background:#fae7e2;color:#9c3b2e}.error:empty{display:none}.pill{font-size:11px;background:#eaf0e4;color:#526845;padding:6px 10px;border-radius:20px}.section-head{margin-bottom:20px}.tab-buttons{display:flex;gap:8px;margin-bottom:20px}.tab-buttons button{flex:1}.tab-buttons .active{background:#243e35;color:white}.breakdown{margin:18px 0}.breakdown>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:13px}.track{background:#eef1e7;border-radius:5px;height:9px;overflow:hidden}.track span{background:#8a9778;height:100%;display:block}.filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:18px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}td,th{padding:13px 10px;border-bottom:1px solid #eaede1;white-space:nowrap}th{font-size:10px;text-transform:uppercase;color:#7a8571;background:#f6f7f1;letter-spacing:.7px}.number{text-align:right}.dropzone{display:block;border:2px dashed #a7b69b;border-radius:13px;background:#f6f9f1;padding:30px;text-align:center;cursor:pointer}.dropzone input{padding:12px 0;border:0;background:transparent;font-size:12px;min-height:30px}.list{display:flex;gap:8px;flex-wrap:wrap}.list button{font-size:13px;min-height:40px}.date-row{display:flex;align-items:center;gap:12px;margin-bottom:20px}.date-row input{max-width:180px}.intro-icon{width:72px;height:72px;border:1px solid #c3cdb5;border-radius:18px;background:#eaf0e4;display:grid;place-items:center;font:34px Georgia,serif;margin-bottom:30px}.wide{width:100%}nav{position:fixed;bottom:0;left:0;right:0;background:#fffefbf5;border-top:1px solid #dce2d3;display:flex;justify-content:center;gap:8px;padding:10px 12px max(10px,env(safe-area-inset-bottom));z-index:5}nav button{border:0;background:transparent;min-width:110px;color:#7a8573;font-size:13px}nav button.active{color:#243e35;background:#edf2e7}nav button span{display:block;font-size:20px;margin-bottom:4px}#toast{display:none;position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:#243e35;color:white;padding:14px 20px;border-radius:10px;font-size:14px;width:max-content;max-width:90%;z-index:20;box-shadow:0 4px 20px #0002}#toast.show{display:block}dialog{border:0;border-radius:16px;background:#fffefb;color:#243e35;padding:25px;max-width:620px;width:calc(100% - 28px);max-height:90vh}dialog::backdrop{background:#18332680}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-head h2{margin:0}.close{border:0;font-size:25px;min-height:40px;padding:0 10px}.summary-total{font-size:46px;font-weight:600;letter-spacing:-1px;margin:10px 0}.print-only{display:none}button:focus-visible,input:focus,select:focus,textarea:focus,a:focus-visible{outline:3px solid #b79454;outline-offset:2px}@media(max-width:650px){header{padding:16px}.brand{font-size:11px}.brand>span{font-size:20px;padding:7px}main{padding:25px 16px 120px}h1{font-size:28px}.grid{grid-template-columns:1fr}.span2{grid-column:span 1}.panel{padding:21px 18px}.card-row{gap:8px}.metric{padding:15px 10px}.metric strong{font-size:25px}.filters{grid-template-columns:1fr 1fr}.welcome{margin:20px auto}.clock{font-size:42px}.date-row{flex-wrap:wrap}.tab-buttons button{padding:12px 10px;font-size:14px}}@media print{header,nav,button,.filters,.dropzone,.no-print{display:none!important}main{padding:0;max-width:none}.panel{break-inside:avoid;border:0}.table-wrap{overflow:visible}.print-only{display:block}body{background:white}}

nav button{min-width:0;flex:1;max-width:170px}.job-complete{background:#d6e8ce;color:#315e2e}
