:root{--portal-navy:#0d2940;--portal-blue:#173852;--portal-gold:#c7a458;--portal-cream:#f5f1e9;--portal-ink:#10283d;--portal-line:#ded3c1}*{box-sizing:border-box}.partner-login,.partner-app{background:var(--portal-cream);min-height:100vh;color:var(--portal-ink);font-family:Arial,sans-serif}.partner-login{place-items:center;padding:24px;display:grid}.partner-login section{border-top:5px solid var(--portal-gold);background:#fff;width:min(520px,100%);padding:42px;box-shadow:0 18px 60px #0d294018}.partner-login img,.partner-app header img{object-fit:contain;width:78px;height:78px}.partner-login h1,.portal-title h1{margin:.25rem 0;font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,4rem)}.portal-kicker{text-transform:uppercase;letter-spacing:.16em;color:#9b762b;font-size:.76rem;font-weight:800}.partner-login form,.request-panel form{gap:16px;margin:28px 0;display:grid}.partner-login label,.partner-app label{gap:7px;font-weight:700;display:grid}.partner-login input,.partner-app input,.partner-app select,.partner-app textarea{border:1px solid var(--portal-line);width:100%;color:var(--portal-ink);font:inherit;background:#fff;padding:13px}.partner-login button,.request-panel button{background:var(--portal-navy);color:#fff;font:inherit;border:0;padding:15px;font-weight:800}.portal-error{color:#a13c31}.partner-app header{background:var(--portal-navy);color:#fff;justify-content:space-between;align-items:center;height:96px;padding:12px 4vw;display:flex}.partner-app header>div{align-items:center;gap:15px;display:flex}.partner-app header .portal-kicker{color:var(--portal-gold);margin:0}.quiet{color:#fff;background:0 0;border:1px solid #fff6;padding:10px 16px}.partner-shell{grid-template-columns:250px 1fr;min-height:calc(100vh - 96px);display:grid}.partner-shell aside{border-right:1px solid var(--portal-line);background:#fff;padding:28px 22px}.partner-shell aside nav{margin-top:28px;display:grid}.partner-shell aside nav button{border:0;border-bottom:1px solid var(--portal-line);text-align:left;color:var(--portal-ink);background:0 0;padding:16px 8px;font-weight:700}.partner-shell aside nav button.active{color:#9b762b;border-left:4px solid var(--portal-gold);padding-left:12px}.partner-content{width:100%;max-width:1400px;margin:auto;padding:40px}.portal-title{justify-content:space-between;align-items:start;gap:30px;display:flex}.portal-title h1{font-size:3rem}.request-panel{border:1px solid var(--portal-line);background:#fff;width:min(440px,100%)}.request-panel summary{cursor:pointer;background:var(--portal-gold);text-transform:uppercase;letter-spacing:.1em;padding:17px;font-weight:800}.request-panel form{margin:0;padding:20px}.request-panel form>div{grid-template-columns:1fr 1fr;gap:12px;display:grid}.portal-stats{border:1px solid var(--portal-line);grid-template-columns:repeat(3,1fr);margin:32px 0;display:grid}.portal-stats article{border-right:1px solid var(--portal-line);background:#fff;padding:22px}.portal-stats article:last-child{border:0}.portal-stats strong{font-family:Georgia,serif;font-size:2rem;display:block}.portal-stats span{color:#687682}.job-list{gap:12px;display:grid}.job-list>article{border-left:5px solid var(--portal-gold);background:#fff;box-shadow:0 8px 20px #0d29400a}.job-summary{text-align:left;width:100%;color:inherit;background:0 0;border:0;justify-content:space-between;gap:20px;padding:22px;display:flex}.job-summary span{gap:7px;display:grid}.job-summary span:last-child{text-align:right}.job-summary em{text-transform:uppercase;letter-spacing:.08em;color:#9b762b;font-size:.72rem;font-style:normal;font-weight:800}.job-summary small{color:#697683}.job-detail{border-top:1px solid var(--portal-line);padding:18px 22px}.portal-photos{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.portal-photos a{color:inherit;text-decoration:none}.portal-photos img{aspect-ratio:1;object-fit:cover;width:100%}.portal-photos span{padding-top:6px;font-size:.75rem;display:block}.empty{text-align:center;border:1px solid var(--portal-line);background:#fff;padding:50px}@media (max-width:760px){.partner-login section{padding:28px}.partner-app header{height:auto}.partner-shell{display:block}.partner-shell aside{border:0;border-bottom:1px solid var(--portal-line);padding:16px}.partner-shell aside nav{margin-top:15px;display:flex;overflow:auto}.partner-shell aside nav button{white-space:nowrap;border-bottom:0}.partner-content{padding:22px 16px}.portal-title{display:block}.portal-title h1{font-size:2.35rem}.request-panel{margin-top:22px}.portal-stats{grid-template-columns:repeat(3,1fr)}.portal-stats article{padding:14px 10px}.job-summary{padding:18px 14px;display:grid}.job-summary span:last-child{text-align:left}.request-panel form>div{grid-template-columns:1fr}}.partner-app .request-panel{flex:0 0 min(520px,50%);width:min(520px,100%)}.partner-app .request-panel form{gap:12px;padding:18px}.partner-app .partner-capacity-notice{border:1px solid var(--portal-line);border-left:3px solid var(--portal-gold);background:#f8f3e9;min-width:0;padding:12px;font:12px/1.5 Arial,sans-serif;display:block}.partner-app .partner-capacity-notice strong{color:var(--portal-navy);font-size:12px;display:block}.partner-app .partner-capacity-notice p{margin:5px 0 9px;font-size:12px;line-height:1.5}.partner-app .request-panel .partner-capacity-request{align-self:start;width:100%;height:auto;min-height:44px;margin:8px 0;padding:10px 12px;font-size:12px;display:block}.partner-app .partner-date-options>summary,.partner-app .partner-booking-notes>summary{color:var(--portal-navy);letter-spacing:0;text-transform:none;cursor:pointer;background:0 0;padding:9px 0;font-size:11px;font-weight:700;line-height:1.5;display:block}.partner-app .partner-date-options>summary:before,.partner-app .partner-booking-notes>summary:before{content:"▸ ";color:#9b762b}.partner-app .partner-date-options[open]>summary:before,.partner-app .partner-booking-notes[open]>summary:before{content:"▾ "}.partner-app .partner-date-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:160px;padding:4px 2px;display:grid;overflow:auto}.partner-app .request-panel .partner-date-choices button{border:1px solid var(--portal-line);height:auto;min-height:40px;color:var(--portal-navy);text-align:left;background:#fff;justify-content:space-between;align-items:center;gap:5px;padding:8px;font-size:11px;display:flex}.partner-app .partner-date-choices button span{color:#806126;white-space:nowrap;font-size:10px}.partner-app .partner-booking-notes{border-top:1px solid var(--portal-line);border-bottom:1px solid var(--portal-line)}.partner-app .partner-booking-notes>div{gap:10px;padding:4px 0 12px;display:grid}.partner-app .partner-booking-notes textarea{resize:vertical;min-height:65px}:is(.partner-app .partner-capacity-notice button:focus-visible,.partner-app .partner-date-options summary:focus-visible,.partner-app .partner-booking-notes summary:focus-visible){outline:2px solid var(--portal-gold);outline-offset:2px}@media (max-width:760px){.partner-app .request-panel{flex:auto;width:100%}.partner-app .request-panel form>div{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-app .request-panel form>div label{min-width:0}.partner-app .request-panel input,.partner-app .request-panel select{min-width:0;padding:10px}.partner-app .request-panel .booking-policy{grid-template-columns:1fr}}@media (max-width:380px){.partner-app .partner-date-choices{grid-template-columns:1fr}}.portal-checklist{border:1px solid var(--portal-line);margin:18px 0}.portal-checklist>summary,.portal-checklist>div>details>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:800;display:flex}.portal-checklist>summary{background:var(--portal-navy);color:#fff}.portal-checklist>summary b{color:var(--portal-gold);font-size:.85rem}.portal-checklist>div>details{border-top:1px solid var(--portal-line)}.portal-checklist>div>details>summary{background:#faf8f4}.portal-checklist ul{margin:0;padding:4px 16px 14px;list-style:none}.portal-checklist li{border-bottom:1px solid #eee8de;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.portal-checklist li:last-child{border:0}.portal-checklist li>span:last-child{gap:3px;display:grid}.portal-checklist li small{color:#687682}.check-state{color:#38734f;min-width:28px;font-weight:900}.check-state.na{color:#687682;font-size:.72rem}.check-state.issue,.check-state.pending{color:#9b3f35}.portal-photo-record{border-top:1px solid var(--portal-line);margin-top:22px;padding-top:18px}.portal-photo-record h3{margin:0;font-family:Georgia,serif;font-size:1.5rem}.portal-photo-record>p{color:#687682}.portal-photo-record>div{gap:18px;display:grid}.portal-photo-record article{border:1px solid var(--portal-line);padding:14px}.portal-photo-record h4{margin:0 0 10px}.portal-photo-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.portal-photo-pair a,.photo-missing{min-height:150px;color:inherit;background:#eee8de;text-decoration:none;display:block;position:relative}.portal-photo-pair img{object-fit:cover;width:100%;height:190px;display:block}.portal-photo-pair>a>span,.photo-missing>span{z-index:1;background:var(--portal-navy);color:#fff;text-transform:uppercase;letter-spacing:.08em;padding:5px 8px;font-size:.72rem;font-weight:800;position:absolute;top:8px;left:8px}.photo-missing{color:#687682;place-items:center;display:grid}.portal-work-order{border:1px solid var(--portal-line);background:#faf8f4;margin:18px 0;padding:16px}.portal-work-order h3{margin:0 0 14px;font-family:Georgia,serif;font-size:1.35rem}.portal-work-order dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px;display:grid}.portal-work-order dl>div{background:#fff;border:1px solid #eee8de;padding:10px}.portal-work-order dt{text-transform:uppercase;letter-spacing:.08em;color:#687682;font-size:.72rem;font-weight:800}.portal-work-order dd{margin:5px 0 0;line-height:1.4}.portal-po-editor{border:1px solid var(--portal-line);background:#f7f1e4;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;margin:18px 0;padding:16px;display:grid}.portal-po-editor button{background:var(--portal-navy);color:#fff;min-height:47px;font:inherit;border:0;padding:0 20px;font-weight:800}.portal-po-editor p{color:#47604e;grid-column:1/-1;margin:0;font-weight:700}.portal-charges{border:1px solid var(--portal-line);background:#fff;padding:4px 14px}.portal-charges p{border-bottom:1px solid #eee8de;justify-content:space-between;gap:18px;margin:0;padding:11px 0;display:flex}.portal-charges p:last-child{border:0}.portal-charges p span{line-height:1.35}.portal-total{color:var(--portal-navy);font-size:1.05rem}@media (max-width:760px){.portal-photo-pair{grid-template-columns:1fr}.portal-photo-pair img{height:230px}.portal-work-order dl,.portal-po-editor{grid-template-columns:1fr}.portal-po-editor button{min-height:50px}}.portal-guide-button{color:#8b6926;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;margin-top:10px;padding:0;font-size:.76rem;font-weight:800}.portal-modal{z-index:1000;background:#0d2940aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.portal-modal>section{border-top:5px solid var(--portal-gold);background:#fff;width:min(720px,100%);max-height:calc(100vh - 40px);padding:32px;position:relative;overflow:auto}.portal-modal h2,.portal-post-service h3{color:var(--portal-navy);margin:.2rem 0 1rem;font-family:Georgia,serif;font-size:2rem}.portal-modal-close{color:var(--portal-navy);background:0 0;border:0;font-size:2rem;position:absolute;top:10px;right:14px}.portal-modal ol{gap:12px;padding-left:22px;display:grid}.portal-modal li{padding-left:5px}.portal-modal li span{color:#5f6e79;margin-top:3px;line-height:1.45;display:block}.portal-guide-callout{border-left:4px solid var(--portal-gold);background:#f7f1e4;padding:14px;line-height:1.5;display:block}.portal-guide-emergency{color:#7b5722;font-weight:700}.portal-post-service{border:1px solid var(--portal-line);background:#faf8f4;margin-top:24px;padding:20px}.portal-post-service>h3{margin-top:0}.post-service-action{background:#fff;border:1px solid #eee8de;margin-top:12px;padding:15px}.post-service-action h4{margin:0 0 5px}.post-service-action p{color:#687682;margin:0 0 12px}.post-service-action button,.post-service-form>button{background:var(--portal-navy);color:#fff;text-transform:uppercase;letter-spacing:.05em;border:0;padding:12px 14px;font-weight:800}.post-service-form{border:1px solid var(--portal-gold);background:#fff;gap:14px;margin-top:12px;padding:18px;display:grid}.star-rating{gap:3px;display:flex}.star-rating button{color:#a77c25;background:0 0;border:0;padding:0 3px;font-size:2.2rem}.saved-rating{border-left:4px solid var(--portal-gold);background:#fff;gap:4px;padding:15px;display:grid}.saved-rating b{color:#a77c25;letter-spacing:.08em;font-size:1.7rem}.saved-rating small{color:#687682}.portal-support-status{color:#2d6748;font-weight:800}.post-service-history{border-top:1px solid var(--portal-line);margin-top:14px;padding-top:8px}.post-service-history p{color:#5f6e79;margin:8px 0}@media (max-width:760px){.portal-modal{place-items:start center;padding:10px}.portal-modal>section{max-height:calc(100vh - 20px);padding:26px 18px}.portal-post-service{padding:14px}.star-rating button{font-size:2rem}}.portal-welcome,.booking-confirmation{z-index:1000;color:#fff;background:#071d2fef;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.portal-welcome>div,.booking-confirmation>div{text-align:center;background:linear-gradient(145deg,#0d2940,#143b59);border:1px solid #d7b45f;width:min(760px,100%);padding:clamp(28px,6vw,64px);animation:.45s both portal-enter;position:relative;box-shadow:0 30px 90px #0008}.portal-welcome img{object-fit:contain;background:#fff;border-radius:50%;width:100px;height:100px;margin-bottom:18px}.portal-welcome p,.booking-confirmation p{color:#e1bf70;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:clamp(1rem,2.5vw,1.35rem);font-weight:800}.portal-welcome h1{margin:12px 0;font:clamp(2rem,6vw,4.4rem)/1.05 Georgia,serif}.portal-welcome h2,.booking-confirmation h2{max-width:640px;margin:12px auto 25px;font:clamp(1.1rem,3vw,1.55rem)/1.45 Georgia,serif}.portal-welcome>div>strong,.booking-confirmation>div>strong{margin-top:18px;display:block}.portal-welcome small,.booking-confirmation small{color:#e1bf70;text-transform:uppercase;letter-spacing:.18em;margin-top:12px;font-weight:800;display:block}.portal-welcome>div>div{justify-content:center;gap:10px;margin-top:28px;display:flex}.portal-welcome button,.booking-confirmation button{border:1px solid var(--portal-gold);background:var(--portal-gold);min-height:48px;color:var(--portal-navy);padding:12px 20px;font-weight:800}.portal-welcome .welcome-skip{color:#fff;background:0 0}.partner-greeting{border-left:5px solid var(--portal-gold);background:linear-gradient(110deg,var(--portal-navy),var(--portal-blue));color:#fff;justify-content:space-between;align-items:center;gap:24px;margin-bottom:14px;padding:24px 28px;display:flex}.partner-greeting p{color:#e1bf70;margin:0;font-weight:800}.partner-greeting h1{margin:5px 0;font:clamp(1.8rem,4vw,2.8rem) Georgia,serif}.partner-greeting span{color:#dce5eb}.partner-greeting>div:last-child{text-align:right}.partner-greeting strong,.partner-greeting small{display:block}.partner-greeting small{color:#e1bf70;text-transform:uppercase;letter-spacing:.12em;margin-top:7px}.portal-contact-action{justify-content:flex-end;margin:0 0 20px;display:flex}.portal-contact-action a{border:1px solid var(--portal-line);min-height:44px;color:var(--portal-navy);text-transform:uppercase;letter-spacing:.06em;background:#fff;justify-content:center;align-items:center;padding:10px 18px;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-flex}.partner-app .portal-stats{grid-template-columns:repeat(4,1fr)}.booking-confirmation dl{text-align:left;background:#fff3;grid-template-columns:1fr 1fr;gap:1px;margin:25px 0;display:grid}.booking-confirmation dl>div{background:#0d2940;padding:13px}.booking-confirmation dt{color:#e1bf70;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:800}.booking-confirmation dd{margin:5px 0 0;font-weight:800}.booking-confirmation .confirmation-close{color:#fff;background:0 0;border-color:#fff5;width:38px;min-height:38px;padding:0;font-size:1.5rem;position:absolute;top:10px;right:10px}.booking-confirmation>div>button:last-child{margin-top:22px}@keyframes portal-enter{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.portal-welcome>div,.booking-confirmation>div{animation:none}.partner-app *{scroll-behavior:auto!important}}@media (max-width:760px){.portal-welcome,.booking-confirmation{align-items:stretch;padding:10px}.portal-welcome>div,.booking-confirmation>div{padding:26px 18px;overflow:auto}.portal-welcome>div>div{display:grid}.partner-greeting{padding:20px;display:block}.partner-greeting>div:last-child{text-align:left;margin-top:18px}.portal-contact-action a{width:100%}.partner-app .portal-stats{grid-template-columns:1fr 1fr}.partner-app .portal-stats article:nth-child(2){border-right:0}.partner-app .portal-stats article:nth-child(-n+2){border-bottom:1px solid var(--portal-line)}.booking-confirmation dl{grid-template-columns:1fr}.partner-content{overflow:hidden}.request-panel{width:100%}.partner-app header img{width:58px;height:58px}.partner-app header{gap:12px;padding:10px 14px}.partner-app header strong{font-size:.9rem}}.partner-login{min-height:100vh;color:#fff;background:#0d2338;place-items:center;min-height:100svh;padding:30px;display:grid}.partner-login>section{text-align:center;width:min(520px,100%);box-shadow:none;background:0 0;border:1px solid #d6bd8366;padding:45px 55px}.partner-login img{object-fit:contain;object-position:center;filter:none;opacity:1;width:160px;height:160px;margin:-22px auto 12px}.partner-login .portal-kicker{color:#c4a35a;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:800}.partner-login h1{margin:12px 0 18px;font:400 48px/1.04 Georgia,serif}.partner-login>section>p:not(.portal-kicker){color:#cbd4db;font:16px/1.7 Georgia,serif}.partner-login form{text-align:left;gap:12px;margin:30px 0 24px;display:grid}.partner-login label{text-transform:uppercase;letter-spacing:.12em;gap:8px;font-size:10px;display:grid}.partner-login input{color:#0d2338;background:#fff;border:1px solid #627281;min-height:50px;padding:0 14px;font-size:17px}.partner-login button{color:#0d2338;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;background:#c4a35a;border:0;min-height:50px;font-weight:800}:is(.partner-login input:focus-visible,.partner-login button:focus-visible){outline-offset:3px;outline:2px solid #d6bd83}.partner-login button:disabled{opacity:.65;cursor:wait}.partner-login .portal-error{color:#eeb9a9;text-align:center;font-size:12px}.partner-login small{color:#cbd4db;font-size:11px;line-height:1.7;display:block}@media (max-width:800px){.partner-login>section{padding:35px 23px}.partner-login h1{font-size:39px}}
