:root{--navy: #12233f;--navy-deep: #0b182c;--silver: #e1e4e6;--silver-2: #aab1b8;--silver-3: #c6ccd1;--line: #eef0f1;--page: #f4f5f6;--white: #ffffff;--text: #12233f;--text-2: #52585e;--text-3: #6b7075;--amber: #8a5a16;--amber-bg: #fbf3e8;--amber-line: #ebd9bf;--green: #1f5a41;--green-bg: #e4f0ea;--green-line: #caddd4;--radius: 8px;--tap: 44px;--font: Archivo, system-ui, sans-serif;--font-wordmark: Anton, Impact, sans-serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--page);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55}a{color:var(--navy)}a:hover{color:var(--navy-deep)}h1{margin:0;font-size:26px;line-height:1.2;font-weight:700}h2{margin:0;font-size:18px;font-weight:700}p{margin:0}.shell{min-height:100vh;display:flex;flex-direction:column}.shell-header{background:var(--navy-deep);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.shell-brand{display:flex;flex-direction:column;gap:2px}.shell-account{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--silver-2);min-width:0}.shell-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.btn-link{min-height:var(--tap);padding:0 4px;background:none;border:0;color:var(--silver);font:600 13px var(--font);text-decoration:underline;cursor:pointer}.btn-link:hover{color:var(--white)}.wordmark{font-family:var(--font-wordmark);font-size:20px;letter-spacing:.02em;color:var(--silver)}.product-line{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--silver-2)}.shell-main{padding:22px 20px;display:flex;flex-direction:column;gap:18px;width:100%;max-width:560px;margin:0 auto}.shell-main.wide{max-width:1200px}.card{background:var(--white);border-radius:var(--radius);padding:18px 16px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:10px;flex-wrap:wrap}.muted{color:var(--text-2)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--text-3)}.btn{min-height:var(--tap);padding:0 18px;border:0;border-radius:var(--radius);background:var(--navy);color:var(--white);font:600 15px var(--font);cursor:pointer}.btn:hover{background:var(--navy-deep)}.btn.secondary{background:var(--white);color:var(--navy);border:1.5px solid var(--silver-3)}.btn:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--silver-2);outline-offset:2px}.notice-amber{background:var(--amber-bg);border:1px solid var(--amber-line);color:var(--amber);border-radius:var(--radius);padding:12px 14px}.notice-green{background:var(--green-bg);border:1px solid var(--green-line);color:var(--green);border-radius:var(--radius);padding:12px 14px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.stack-tight{display:flex;flex-direction:column;gap:8px}.small{font-size:13px;line-height:1.5}.muted-3{color:var(--text-3)}.ink{color:var(--text)}.lead{font-size:14px;line-height:1.55;color:var(--text-2)}.center{align-self:center}.icon{flex:0 0 18px;margin-top:1px}.btn.big{min-height:50px;font-size:16px;font-weight:700;border-radius:6px}.btn.as-link{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:var(--white)}.btn.secondary.as-link,.btn.secondary{color:var(--navy);background:var(--white);border:1px solid var(--silver-3)}.btn.secondary:hover{background:var(--page)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-text{min-height:var(--tap);padding:0 4px;border:0;background:none;color:var(--navy);font:600 14px var(--font);text-decoration:underline;cursor:pointer;align-self:flex-start;display:inline-flex;align-items:center}.btn-text.green,.strong-link.green{color:var(--green)}.btn-text:disabled{opacity:.55}.btn-text.back-link{text-decoration:none}.btn-add{min-height:48px;border:1.5px solid var(--silver-3);border-radius:var(--radius);background:var(--white);color:var(--navy);font:600 15px var(--font);cursor:pointer}.btn-add.dashed{border:1.5px dashed var(--silver-2);background:transparent}.strong-link{font-weight:700;min-height:var(--tap);display:inline-flex;align-items:center}.lock-note .strong-link,p .strong-link{min-height:0;display:inline}.btn-text:focus-visible,.btn-add:focus-visible,.section-link:focus-visible,.back:focus-visible,select:focus-visible,textarea:focus-visible,.option:focus-within,.step:focus-visible,.month:focus-within,.file-btn:focus-within,.resp-text:focus-visible,.section-h1:focus-visible{outline:3px solid var(--silver-2);outline-offset:2px}.section-h1:focus{outline:none}.notice-plain{background:var(--white);border:1px solid var(--silver);border-radius:var(--radius);padding:12px 14px;color:var(--text-2)}.notice-title{font-size:16px;font-weight:700}.notice-green .notice-title{color:var(--green)}.notice-plain .notice-title{color:var(--text)}.lock-note{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--text-2)}.plain-list{margin:0;padding-left:18px}.missing-list{color:var(--text-2);font-size:14px}.dates{background:var(--white);border-radius:var(--radius);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.date-cell{padding:14px 12px;display:flex;flex-direction:column;gap:3px}.date-cell+.date-cell{border-left:1px solid var(--silver)}.date-label{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--text-3)}.date-label.due{color:var(--amber)}.date-value{font-size:15px;font-weight:700}.date-sub{font-size:12px;color:var(--text-2)}.progress-wrap{display:flex;flex-direction:column;gap:8px}.progress-line{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-weight:600}.progress-bar{height:6px;background:var(--silver);border-radius:3px}.progress-bar-fill{height:6px;background:var(--navy);border-radius:3px}.section-list{margin:0;padding:0;list-style:none;background:var(--white);border-radius:var(--radius);display:flex;flex-direction:column}.section-list li+li{border-top:1px solid var(--line)}.section-link{min-height:56px;padding:10px 16px;display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--text);border-radius:var(--radius)}.mark{flex:0 0 28px;width:28px;height:28px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:var(--white);color:var(--text-3);border:1.5px solid var(--silver-3)}.mark.done{background:var(--green-bg);color:var(--green);border-color:var(--green-line)}.mark.help{background:var(--amber-bg);color:var(--amber);border-color:var(--amber-line)}.mark.current{background:var(--navy);color:var(--white);border-color:var(--navy)}.mark.progress{color:var(--navy);border-color:var(--navy)}.section-text{flex:1;display:flex;flex-direction:column;gap:2px}.section-title{font-size:15px;font-weight:600}.section-status{font-size:12px;color:var(--text-3)}.section-status.done{color:var(--green)}.section-status.help{color:var(--amber)}.section-status.progress{color:var(--navy)}.section-page{min-height:100vh;display:flex;flex-direction:column}.section-header{position:sticky;top:0;z-index:2;background:var(--white);border-bottom:1px solid var(--silver);padding:12px 16px;display:flex;align-items:center;gap:12px}.back{width:var(--tap);height:var(--tap);flex:0 0 var(--tap);display:flex;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--navy)}.section-heading{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.small-eyebrow{letter-spacing:.12em}.section-h1{font-size:18px;line-height:1.3}.save-indicator{font-size:12px;color:var(--text-3);text-align:right;max-width:110px}.save-indicator.warn{color:var(--amber);font-weight:600}.section-main{padding:18px 16px 24px;display:flex;flex-direction:column;gap:16px;width:100%;max-width:560px;margin:0 auto}.section-footer{position:sticky;bottom:0;margin-top:auto;background:var(--white);border-top:1px solid var(--silver);padding:12px 16px;display:flex;gap:10px}.section-footer .btn{min-height:50px;border-radius:6px}.grow-1{flex:1}.grow-2{flex:2;font-weight:700}.form-fieldset{border:0;padding:0;margin:0;min-width:0}.form-fieldset:disabled .btn-add,.form-fieldset:disabled .btn-text,.form-fieldset:disabled .file-btn,.form-fieldset:disabled .step{display:none}.field{display:flex;flex-direction:column;gap:6px;border:0;padding:0;margin:0;min-width:0}.field-label{font-size:14px;font-weight:600;padding:0}.muted-label{font-weight:400;color:var(--text-2);font-size:13px}.field-hint,.option-hint{font-size:13px;line-height:1.5;color:var(--text-2)}.field-error{font-size:13px;line-height:1.5;color:var(--amber);font-weight:600}.field input[type=text],.field input[type=email],.field input[type=tel],.field input:not([type]),.field textarea,.field select,.field input.otp,.field input#email{min-height:46px;width:100%;border:1px solid var(--silver-3);border-radius:var(--radius);padding:10px 12px;font:16px var(--font);color:var(--text);background:var(--white)}.field select{padding:0 12px}.field textarea{resize:vertical;line-height:1.5}.field.has-error input,.field.has-error textarea,.field.has-error select{border-color:var(--amber);border-width:1.5px}.field input:disabled,.field textarea:disabled,.field select:disabled{background:var(--page);color:var(--text);opacity:1}.otp{letter-spacing:.4em;font-size:22px!important;text-align:center}.choice{gap:4px}.choice>legend{margin-bottom:6px}.option{min-height:var(--tap);display:flex;align-items:center;gap:12px;padding:6px 0;cursor:pointer;font-size:15px;border-radius:var(--radius)}.option input{width:22px;height:22px;flex:0 0 22px;margin:0;accent-color:var(--navy)}.option-text{display:flex;flex-direction:column;gap:2px}.indent{padding-left:14px;border-left:3px solid var(--line)}.list-item{display:flex;flex-direction:column;gap:2px}.howto summary{min-height:var(--tap);display:flex;align-items:center;cursor:pointer;font-weight:600;color:var(--navy);text-decoration:underline}.howto p{padding-bottom:6px}.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--text-2)}.month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.month{position:relative;min-height:var(--tap);display:flex;align-items:center;justify-content:center;border:1px solid var(--silver-3);border-radius:var(--radius);font-weight:600;cursor:pointer;background:var(--white)}.month input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.month.on{background:var(--navy);color:var(--white);border-color:var(--navy)}.resp-text{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;font-size:14px;color:var(--text-2);display:flex;flex-direction:column;gap:8px;white-space:pre-wrap}.card.room{padding:6px 16px 10px;display:flex;flex-direction:column}.room-head{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.room-head h2{font-size:16px}.room-total{font-size:12px;font-weight:600;color:var(--text-3)}.stepper-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;border-top:1px solid var(--line);padding:4px 0}.stepper-label{display:flex;flex-direction:column;font-size:15px}.stepper{display:flex;align-items:center;gap:6px;flex:0 0 auto}.step{width:var(--tap);height:var(--tap);border-radius:22px;border:1px solid var(--silver-3);background:var(--white);color:var(--navy);font:20px var(--font);cursor:pointer}.step.plus{background:var(--navy);border-color:var(--navy);color:var(--white)}.step:disabled{opacity:.4;cursor:default}.step-value{width:28px;text-align:center;font-size:17px;font-weight:700}.pick-list{border:0;margin:0}.pick-list>legend{float:left;width:100%;margin-bottom:4px}.tally{border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:6px;border:1px solid}.tally.match{background:var(--green-bg);border-color:var(--green-line)}.tally.mismatch{background:var(--amber-bg);border-color:var(--amber-line)}.tally-head{display:flex;align-items:baseline;justify-content:space-between}.tally-title{font-size:14px;font-weight:700}.tally-count{font-size:22px;font-weight:700}.tally-of{font-size:14px;font-weight:500;color:var(--text-2)}.tally-text{font-size:13px;line-height:1.5}.tally.match .tally-text{color:var(--green)}.tally.mismatch .tally-text{color:var(--amber)}.file-btn{display:flex;align-items:center;justify-content:center;font-size:14px}.file-btn.busy{opacity:.6}.photo-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.photo-list li{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.check-circle{width:56px;height:56px;border-radius:28px;background:var(--green-bg);border:1.5px solid var(--green-line);color:var(--green);display:flex;align-items:center;justify-content:center}.timeline{padding:6px 16px}.eyebrow-h{padding:12px 0 6px;font-size:13px;letter-spacing:.12em;color:var(--text-3)}.timeline ol{margin:0;padding:0;list-style:none}.timeline li{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.t-date{flex:0 0 56px;font-size:13px;font-weight:700}.t-text{font-size:14px;line-height:1.5;color:var(--text-2)}.photo-notice{background:var(--white);border-left:3px solid var(--silver-2);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:6px}.photo-notice p{font-size:14px;line-height:1.55;color:var(--text-2)}.tech-nav{font-size:15px;font-weight:600}.tech-nav a{text-decoration:none;display:inline-flex;align-items:center;min-height:var(--tap)}.tech-title{font-size:22px}.unit-head{display:flex;flex-direction:column;gap:2px;color:var(--text-2);font-size:14px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px}.grow{flex:1;min-width:0}ul.plain{margin:6px 0 0;padding-left:18px}.outbox{background:var(--amber-bg);border:1px solid var(--amber-line);color:var(--amber);border-radius:var(--radius);padding:10px 12px;font-size:14px}.outbox.ok{background:var(--green-bg);border-color:var(--green-line);color:var(--green)}.outbox-line{font-size:13px}.outbox-rejected{border-top:1px solid var(--amber-line);padding-top:8px;display:flex;flex-direction:column;gap:6px}.jobs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.job{display:flex;flex-direction:column;gap:2px;background:var(--white);border-radius:var(--radius);padding:12px 14px;text-decoration:none;min-height:var(--tap)}.job.done{opacity:.6}.job-kind{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.job-unit{font-size:17px;font-weight:700}.job-meta{font-size:13px;color:var(--text-2)}.tech-steps{list-style:none;margin:0;padding:0;display:flex;gap:6px;overflow-x:auto}.tech-step{min-height:36px;padding:0 10px;border-radius:999px;border:1.5px solid var(--silver-3);background:var(--white);color:var(--text-2);font:600 13px var(--font);white-space:nowrap;cursor:pointer}.tech-step.done{background:var(--green-bg);border-color:var(--green-line);color:var(--green)}.tech-step.current{background:var(--navy);border-color:var(--navy);color:var(--white)}.step-nav{display:flex;justify-content:space-between;gap:10px;position:sticky;bottom:0;background:var(--page);padding:10px 0}.step-nav .btn{flex:1}.stepper{display:flex;align-items:center;gap:8px}.stepper .btn{min-width:var(--tap);padding:0;font-size:22px}.stepper output{min-width:28px;text-align:center;font-size:20px;font-weight:700}.point.diff{border-left:4px solid var(--amber)}.check{display:flex;align-items:center;gap:12px;min-height:var(--tap);padding:6px 10px;border:1.5px solid var(--silver-3);border-radius:var(--radius);background:var(--white);cursor:pointer}.check.on{background:var(--green-bg);border-color:var(--green-line)}.check input{width:22px;height:22px;flex:none}.tfield{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.tfield-label{font-size:13px;font-weight:600;color:var(--text-2)}.tfield input,.tfield textarea,.tfield select,input.inline{min-height:var(--tap);padding:8px 10px;border:1.5px solid var(--silver-3);border-radius:var(--radius);font:16px var(--font);color:var(--text);background:var(--white);width:100%}.tfield textarea{min-height:100px;resize:vertical}.notice-quote{font-size:14px;color:var(--text-2);border-left:3px solid var(--silver-3);padding-left:10px}.bars{display:flex;gap:6px}.bars .btn{flex:1;padding:0}.photo-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.photo-row{display:flex;gap:10px;align-items:center}.photo-row img,.photo-ph{width:64px;height:64px;object-fit:cover;border-radius:var(--radius);background:var(--line);flex:none;display:flex;align-items:center;justify-content:center}.photo-ph.done{background:var(--green-bg);color:var(--green);font-weight:700}.photo-row.pending{opacity:.85}.reconcile input.count-input{width:72px;min-height:36px;padding:4px 8px;border:1.5px solid var(--silver-3);border-radius:var(--radius);font:15px var(--font)}.reconcile input.reason-input{min-width:200px;width:100%;min-height:36px;padding:4px 8px;border:1.5px solid var(--silver-3);border-radius:var(--radius);font:14px var(--font)}.signature-pad{width:100%;background:var(--white);border:1.5px dashed var(--silver-2);border-radius:var(--radius);touch-action:none;display:block}.sig-line{display:flex;flex-direction:column;align-items:center;border-top:1px solid var(--text);padding-top:4px;font-size:14px}.admin-nav{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;font-weight:600}.admin-nav a{text-decoration:none}.admin-nav a:hover{text-decoration:underline}.admin-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.crumbs{font-size:13px;color:var(--text-3)}.stack-tight{display:flex;flex-direction:column;gap:4px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px}.cols-2{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px;align-items:start}@media(max-width:860px){.cols-2{grid-template-columns:minmax(0,1fr)}.cols-2>:last-child{order:-1}}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field.wide{grid-column:1 / -1}.field-label{font-size:13px;font-weight:600;color:var(--text-2)}.field-hint{font-size:12px;color:var(--text-3)}.field input,.field select,.field textarea,.inline-input{min-height:var(--tap);padding:8px 10px;border:1.5px solid var(--silver-3);border-radius:var(--radius);font:15px var(--font);color:var(--text);background:var(--white);width:100%}.field textarea{min-height:90px;resize:vertical}.field input[type=checkbox]{min-height:0;width:auto}.checks{display:flex;gap:12px;flex-wrap:wrap}.checks label{display:flex;gap:6px;align-items:center;font-size:14px}.btn.small{min-height:36px;padding:0 12px;font-size:14px}.btn:disabled{opacity:.55;cursor:default}.table-wrap{overflow-x:auto;background:var(--white);border-radius:var(--radius)}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--text-3);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}table.data td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}table.data tr.bad td{background:var(--amber-bg)}table.data td.nowrap{white-space:nowrap}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--line);color:var(--text-2);white-space:nowrap}.pill-blocked{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-line)}.pill-form_complete,.pill-ready,.pill-installed,.pill-closed_out{background:var(--green-bg);color:var(--green)}.pill-locked{background:var(--navy);color:var(--white)}.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:14px;margin:0}.kv dt{color:var(--text-3)}.kv dd{margin:0;overflow-wrap:anywhere}.answers .kv{margin-left:12px}details.action{border-top:1px solid var(--line);padding:10px 0 2px}details.action summary{cursor:pointer;font-weight:600;min-height:32px}details.action .stack{padding-top:10px}.counts{display:flex;gap:8px;flex-wrap:wrap}.count{background:var(--white);border-radius:var(--radius);padding:10px 14px;min-width:110px}.count b{display:block;font-size:22px}.count span{font-size:12px;color:var(--text-3)}
