:root{--blue:#1d6fd0;--red:#ff3b1c;--ink:#17304e;--pale:#edf4fa;--line:#ccdce9;--muted:#46617b;--space:8px}*{box-sizing:border-box}body{margin:0;background:var(--pale);color:var(--ink);font-family:'Helvetica Neue',Arial,sans-serif;line-height:1.55}h1,h2,h3,.brand{font-family:'Avenir Next','Helvetica Neue',sans-serif}h1{font-size:clamp(28px,3.1vw,44px);letter-spacing:-.035em;line-height:1.15;margin:0 0 12px}h2{font-size:23px;line-height:1.25;margin:0 0 20px}h3{font-size:19px;margin:28px 0 12px}p{max-width:75ch}button,input,select{font:inherit}button,.button,summary{min-height:48px}button,.button{border:2px solid var(--blue);border-radius:6px;background:var(--blue);color:white;font-weight:650;padding:10px 18px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}button:hover,.button:hover{background:#1456a4;border-color:#1456a4}button:active,.button:active,summary:active{transform:translateY(1px)}:focus-visible{outline:3px solid var(--red);outline-offset:4px}.secondary{color:var(--blue);background:white}.secondary:hover{background:#e2eefb;color:var(--ink)}button:disabled{opacity:.55;cursor:wait}a{color:var(--blue)}a:hover{color:#124c91}a:active{color:var(--red)}.test-notice{background:#17304e;color:white;text-align:center;font-size:14px;padding:12px 20px}.masthead{display:flex;justify-content:space-between;align-items:center;padding:24px max(24px,calc((100vw - 1280px)/2));background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:24px;font-weight:750;color:var(--ink);line-height:1.1}.brand small{display:block;font-family:'Helvetica Neue',sans-serif;font-weight:400;font-size:13px;margin-top:6px}.brand-mark{font-size:30px;font-style:italic;color:var(--blue);border-bottom:5px solid var(--red);padding:4px}.current-page{border-bottom:3px solid var(--red);padding:12px 0;font-weight:700}main{max-width:1328px;padding:40px 24px;margin:auto}.page-heading{display:flex;gap:24px;justify-content:space-between;align-items:center;margin-bottom:24px}.page-heading p{margin:0;color:var(--muted)}.setup{background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:32px}.setup summary{font-weight:700;cursor:pointer;padding:18px 24px;font-size:19px}.setup summary:hover{background:#f6faff}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:8px 24px 24px}.setup form+form{border-left:1px solid var(--line);padding-left:40px}label{display:block;font-weight:600;font-size:14px;margin:12px 0 6px}input,select{width:100%;min-height:48px;border:1px solid #8ca6bf;border-radius:4px;background:white;color:var(--ink);padding:10px 12px}form button{margin-top:20px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2{margin:0}.section-heading button{font-size:14px;padding:8px 12px}.job-item{width:100%;display:block;text-align:left;border:1px solid var(--line);border-left:4px solid transparent;background:white;color:var(--ink);padding:20px;margin-bottom:12px}.job-item:hover{background:#e4effb;border-color:var(--blue)}.job-item[aria-pressed=true]{border-left-color:var(--red);background:white;border-top-color:var(--blue);border-right-color:var(--blue);border-bottom-color:var(--blue)}.job-item strong,.job-item span{display:block;overflow-wrap:anywhere}.job-item span{font-weight:400;font-size:14px;margin-top:6px}.job-detail{background:white;border-top:5px solid var(--blue);border-radius:4px;padding:32px;min-width:0;box-shadow:0 2px 5px #17304e08,0 12px 24px #17304e06}.job-detail h2{overflow-wrap:anywhere}.job-detail p{overflow-wrap:anywhere}.stage{display:inline-block;background:var(--pale);padding:5px 12px;border-radius:4px;font-size:14px;font-weight:650}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.muted{color:var(--muted)}.estimate{border-top:1px solid var(--line);margin-top:28px;padding-top:4px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600}td:first-child{overflow-wrap:anywhere}th:last-child,td:last-child{text-align:right;white-space:nowrap}.totals{max-width:350px;margin:20px 0 20px auto}.total-row{display:flex;justify-content:space-between;gap:20px;padding:6px 0}.grand-total{font-weight:750;font-size:22px;border-top:2px solid var(--ink);margin-top:8px;padding-top:12px}.payment{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.payment small{display:block;color:var(--muted)}#notice:empty{display:none}#notice{color:#245c39}#error{background:#fff0ed;border-left:4px solid var(--red);padding:16px;overflow-wrap:anywhere}footer{margin-top:32px;color:var(--muted);font-size:14px}@media(max-width:760px){main{padding:28px 16px}.masthead{padding:20px 16px}.page-heading{align-items:flex-start;flex-direction:column}.setup-grid,.workspace{grid-template-columns:1fr}.setup-grid{gap:28px;padding:8px 20px 24px}.setup form+form{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.job-detail{padding:24px 16px}.field-pair{grid-template-columns:1fr}.test-notice{text-align:left}.brand{font-size:21px}.actions>*{width:100%}}@media print{.setup,.project-list,.actions,.page-heading>.button,#refresh,footer{display:none}.workspace{display:block}.job-detail{box-shadow:none}body{background:white}main{padding:20px}.test-notice{background:white;color:black;border-bottom:1px solid #aaa}}

.brand-logo{display:block;width:136px;height:auto;border-radius:4px}@media(max-width:760px){.brand-logo{width:104px}}

/* Agreed-work changes use the same form layout without enlarging tick boxes. */
#work-changes textarea { width:100%; min-height:96px; padding:12px; font:inherit; color:inherit; border:1px solid var(--line, #d5d5d5); border-radius:8px; background:#fff; resize:vertical; box-sizing:border-box; }
#work-changes input[type="checkbox"] { width:20px; min-height:20px; height:20px; margin-right:8px; vertical-align:middle; }
#work-changes form { display:grid; gap:12px; margin-top:16px; }
#work-changes .task { margin-top:16px; overflow-wrap:anywhere; }
#work-changes summary { cursor:pointer; }
/* Keep the growing prototype navigation usable on narrow phones. */
@media(max-width:600px){.masthead{flex-wrap:wrap}.masthead .button{max-width:100%}}
