*{box-sizing:border-box}body{margin:0;background:#fafafa;color:#1f2933;font-family:Helvetica Neue,Arial,sans-serif;font-size:15px}main{max-width:1200px;margin:40px auto;padding:0 24px}h1{font-size:24px;margin:0 0 16px}h2{font-size:18px;margin:32px 0 12px}.intro{margin:0 0 16px;max-width:900px;line-height:1.5;color:#3e4c59}.controls{margin:0 0 16px;display:flex;align-items:center;gap:16px;color:#52606d}.controls label{display:flex;align-items:center;gap:6px;cursor:pointer;color:#1f2933}.print-btn{margin-left:auto;padding:6px 16px;font:inherit;font-weight:600;color:#fff;background:#0b5cad;border:none;border-radius:4px;cursor:pointer}.print-btn:hover{background:#0a4f94}table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 1px 3px #0000001f}th,td{border:1px solid #d3d9de;padding:8px 12px;text-align:left;vertical-align:top}th{font-size:13px;font-weight:600;color:#52606d;background:#f0f3f5;white-space:nowrap}td.name{font-weight:500}.row-id{display:block;font-size:11px;font-weight:600;letter-spacing:.4px;color:#7b8794;font-variant-numeric:tabular-nums}.pick{display:flex;align-items:baseline;gap:8px;cursor:pointer}.pick input{cursor:pointer;flex:none;position:relative;top:2px}.cell-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.price{font-size:16px;font-weight:600;color:#0b5cad;white-space:nowrap;font-variant-numeric:tabular-nums}.hours{font-size:12.5px;font-weight:600;color:#8a5a00;white-space:nowrap;font-variant-numeric:tabular-nums}.note{font-size:12.5px;line-height:1.45;color:#52606d}td.required-cell{text-align:center}td.required-cell .pick{justify-content:center}tr.disabled-row td:not(.required-cell):not(.name){opacity:.3;pointer-events:none}tr.disabled-row td.name{opacity:.5}.always-on{display:block;text-align:center;font-weight:700;color:#0b5cad;font-size:16px}tr.totals td{background:#f0f3f5;border-top:2px solid #9aa5b1}td.total-cell{text-align:right}.total-price{font-size:18px}.total-hours{margin-right:16px}.print-only{display:none}@media print{.screen-only{display:none}.print-only{display:block}body{background:#fff}table{box-shadow:none}tr{break-inside:avoid}}
