:root{--red:#861d2b;--red-dark:#66121e;--red-light:#f8ebed;--red-line:#e8cbd0;--bg:#f6f4f4;--line:#e4dbdc;--text:#22252a;--muted:#666b73;--ok:#156747}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);line-height:1.45}
header{position:sticky;top:0;z-index:5;background:linear-gradient(105deg,var(--red-dark),var(--red));color:#fff;padding:12px 16px;box-shadow:0 3px 12px #330b1320}
.headerwrap{max-width:820px;margin:auto;display:flex;justify-content:space-between;gap:16px;align-items:center}.brand{display:flex;align-items:center;gap:14px;min-width:0}.logo-frame{background:#fff;border-radius:9px;padding:9px 12px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.logo-frame img{width:155px;height:auto;display:block}.brand h1{font-size:20px;line-height:1.15;margin:0;font-weight:700}.brand p{margin:4px 0 0;font-size:12px;opacity:.82;letter-spacing:.12em}.tag{white-space:nowrap;font-size:12px;border:1px solid #ffffff5e;background:#ffffff1b;padding:6px 10px;border-radius:20px}
main{max-width:820px;margin:auto;padding:16px 14px 115px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;margin-bottom:14px;box-shadow:0 2px 8px #3d18200a}h2{font-size:18px;margin:0 0 13px}label{display:block;font-size:14px;font-weight:700;margin:12px 0 5px}input,select,textarea{width:100%;font:inherit;font-size:16px;border:1px solid #c9bcbf;border-radius:9px;padding:11px 12px;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid #a94556;outline-offset:1px}input[readonly]{background:#f5f0f1;font-weight:700;color:var(--red)}textarea{min-height:88px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.required{color:#b32635}.hour-hint,.small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:6px}.small{margin:14px 0 0}.field-error{display:block;color:#b32635;font-size:13px;font-weight:700;margin-top:5px}.invalid{border:2px solid #b32635!important;background:#fff5f5!important}
button{border:0;border-radius:9px;padding:12px 14px;font-size:16px;font-weight:700;cursor:pointer}button:focus-visible{outline:3px solid #a94556;outline-offset:2px}button:disabled{opacity:.6;cursor:wait}.add{width:100%;background:#f2e1e4;color:var(--red-dark);border:1px solid #e8cbd0;margin-bottom:14px}.add:hover{background:#ead1d6}.save,.review-send{background:var(--red);color:#fff;width:100%}.save:hover,.review-send:hover{background:var(--red-dark)}.remove{margin-top:13px;background:#faeeee;color:#a32838;border:1px solid #f1d1d6;font-size:14px}.work-title{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #eee2e4;margin-bottom:7px}.work-title h2{margin:0 0 12px}.work-badge{font-size:11px;font-weight:700;color:var(--red);background:var(--red-light);border-radius:20px;padding:5px 9px;margin-bottom:10px}.overtime-allocation{margin-top:12px;padding:12px;background:#fbf6f7;border:1px solid var(--red-line);border-radius:9px}.overtime-allocation label{margin-top:0}.distribution{background:#fff4e6;border:1px solid #e7bb7a;border-radius:9px;padding:12px;margin-top:13px;line-height:1.5}.distribution.complete{background:#eff8f2;border-color:#add6b9}.status{padding:9px 12px;border-radius:9px;background:#f0e8e9;font-size:13px;margin-bottom:14px}.status.ok{background:#edf7f1;color:var(--ok)}.status.err{background:#faeded;color:#a12839}.total{position:sticky;bottom:10px;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f9ebed;border:2px solid #bd7e88;border-radius:13px;padding:12px 15px;box-shadow:0 5px 17px #38131b20;font-size:17px;font-weight:700}.total strong{color:var(--red-dark);font-size:24px;white-space:nowrap}
.hidden{display:none!important}main.reviewing > :not(#reviewScreen):not(#netStatus){display:none!important}.review-intro{padding:13px;border:1px solid var(--red-line);border-radius:9px;background:var(--red-light);margin:12px 0 18px}.review-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.review-stat{background:#fbf5f6;border:1px solid var(--red-line);border-radius:10px;padding:12px}.review-stat span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.review-stat strong{color:var(--red);font-size:22px}.review-row{display:grid;grid-template-columns:minmax(110px,36%) minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid #f0e6e7;overflow-wrap:anywhere}.review-row strong{font-size:13px;color:#57565b}.review-work{border:1px solid var(--line);background:#fdfbfb;border-radius:11px;padding:13px;margin:13px 0}.review-work h3{margin:0 0 8px;color:var(--red);font-size:16px}.review-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:19px}.review-back{border:1px solid #d0b7bc;background:#f5eeee;color:var(--red-dark)}.review-send{width:auto}
@media(max-width:700px){.headerwrap{align-items:flex-start;flex-direction:column;gap:8px}.brand h1{font-size:17px}.logo-frame img{width:128px}.logo-frame{padding:8px}.tag{align-self:flex-end}.grid2{grid-template-columns:1fr}.review-actions{grid-template-columns:1fr}.total{font-size:14px}.total strong{font-size:20px}.review-row{grid-template-columns:minmax(130px,44%) minmax(0,1fr)}}
@media(max-width:380px){.brand{gap:8px}.logo-frame img{width:108px}.brand h1{font-size:15px}.card{padding:13px}}
