:root{color:#181818;background:#efede7;--gold:#c79321;font-size:16px}body{color:#181818;background:#efede7}body>header{display:flex;gap:20px;align-items:center;background:#151515;border-bottom:4px solid #bc8b22;padding:20px max(24px,calc((100vw - 1280px)/2))}.brand-logo{width:76px;height:76px;object-fit:contain}.brand-copy small{color:#deb85e;font-weight:800;letter-spacing:2px}.brand-copy h1{font-size:27px;color:white;margin:3px 0}.brand-copy p{color:#c4c1ba;font-size:14px;margin:0}h2,h3,h4{color:#181818}button,.portal-action{background:#171717;color:white;font-size:15px;font-weight:750;border-radius:12px;min-height:48px;padding:12px 20px}a{color:#8b6007}.button-secondary{background:#fffaf0;border-color:#cabf9f;color:#27221b}.card{border-radius:20px;border:1px solid #dcd7cc;padding:26px}.eyebrow{color:#8f640c;font-size:12px;letter-spacing:1.6px}.page-heading h2{font-size:32px;font-weight:600}.muted{font-size:15px;color:#78736a}.metrics{gap:14px}.metric{background:#1e1c17;border:1px solid #b78a2d;border-radius:18px;padding:22px}.metric strong{color:white;font-size:34px}.metric span{color:#e5c56e;font-size:13px;font-weight:650}.nav button{font-size:14px;color:#6f6656}.nav button.active{color:#8b6007;border-bottom-color:#c79321}.nav button:hover{color:#8b6007}#app>.card:first-child{border-radius:18px}#identity{font-size:14px;color:#25221c}#app>.card:first-child>p{font-size:13px}#logout{font-size:13px;min-height:38px;color:#27231b;background:#f0eadc}input,select,textarea{font-size:16px;min-height:48px;border-radius:12px;border-color:#d8d2c6}label{font-size:14px;color:#655e51}.status-pill{background:#eee8d9;color:#26231e;border-radius:999px;font-size:11px;line-height:1.4;font-weight:600;text-transform:uppercase;padding:9px 13px}.status-pill.attention{background:#f6e8b9;color:#775406}.status-pill.closed{background:#eeece6;color:#716d65}.work-table{border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.portal-job{border:2px solid #d9d5cb;border-radius:22px;background:white;overflow:hidden;min-width:0;box-shadow:0 12px 28px #29200d08}.portal-job>summary{padding:24px;cursor:pointer;list-style:none;display:block}.portal-job>summary::-webkit-details-marker{display:none}.portal-job-top{display:flex;gap:12px;justify-content:space-between;align-items:center}.job-code{font-size:13px;font-weight:850;color:#916309}.portal-job h3{font-size:27px;font-weight:500;line-height:1.2;margin:16px 0 10px;overflow-wrap:anywhere}.portal-rv{font-size:17px;font-weight:750;color:#625e54;margin:0 0 22px}.booking-highlight{border:1px solid #dcad44;background:#fff8e6;border-radius:15px;padding:18px;display:flex;flex-direction:column;gap:3px}.booking-highlight strong{font-size:28px;font-weight:850;line-height:1.2;color:#171717}.booking-highlight b{font-size:27px;font-weight:850;line-height:1.2;color:#8f6108}.booking-highlight span{color:#554c3b;font-weight:750;font-size:16px;margin-top:8px}.booking-highlight small{color:#8b7b5b;font-size:11px;margin-top:5px}.portal-job-preview{background:#f3f0e8;border-radius:12px;padding:15px;margin-top:14px;overflow:hidden}.portal-job-preview b{font-size:14px;display:block;color:#39352d;overflow-wrap:anywhere}.portal-job-preview span{font-size:14px;color:#7c766a;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:6px}.expand-caption{margin-top:18px;padding-top:16px;border-top:1px solid #e3ddd0;display:flex;align-items:center;justify-content:space-between;color:#7a746a;font-size:13px}.when-open{display:none}.portal-job[open] .when-open{display:inline}.portal-job[open] .when-closed{display:none}.expand-chevron{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-right:4px}.portal-job[open] .expand-chevron{transform:rotate(225deg)}.portal-job-detail{border-top:4px solid #c79321;padding:22px}.job-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.job-facts small{display:block;text-transform:uppercase;color:#838079;font-weight:700;font-size:11px}.job-facts p{margin:4px 0;font-size:15px}.job-facts a{font-size:18px;font-weight:850;display:block;margin-top:4px}.address-panel{border:2px solid #222;border-radius:16px;background:#f7f4ec;padding:19px;margin-bottom:22px}.address-panel h4{margin:0 0 12px;color:#796c50;text-transform:uppercase;font-size:12px;letter-spacing:1px}.address-panel p{font-size:17px;font-weight:650;margin:0;overflow-wrap:anywhere}.address-panel .missing-address{color:#ae372e}.portal-action{display:inline-block;margin-top:14px;text-decoration:none;font-size:14px}.concern-panel{border:1px solid #d6cdb9;border-radius:18px;overflow:hidden}.concern-head{background:#171717;border-bottom:4px solid #c79321;padding:20px}.concern-head h4{color:#e5b747;font-size:13px;text-transform:uppercase;letter-spacing:1.7px;margin:0 0 10px}.concern-head h3{color:#fff;font-size:23px;line-height:1.3;margin:0}.concern-content{padding:18px}.concern-field{padding:17px;background:#faf8f3;border:1px solid #e4ded1;border-radius:14px;margin-bottom:12px}.concern-field:last-child{margin-bottom:0}.concern-field h4{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:#896009;margin:0 0 10px}.concern-field p{font-size:16px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.portal-notes{padding:18px 0;border-bottom:1px solid #ddd4c1}.portal-notes summary{font-weight:700;color:#805a0e;cursor:pointer}.portal-notes p{white-space:pre-wrap;overflow-wrap:anywhere}.job-actions{display:flex;flex-direction:column;gap:14px;margin-top:22px}.job-actions a{font-size:14px;text-align:center}.customer-profile .work-table{grid-template-columns:1fr}.customer-profile .portal-job h3{font-size:24px}.customer-directory{top:12px}.select-customer{color:#332d22;font-size:15px}.select-customer.selected{background:#faf2dc;color:#775007;border-left-color:#bf8a1b}.select-customer small{font-size:12px;color:#807766}.profile-header h2{font-size:30px}.rv-card{background:#fff8e8;border-color:#dbcba6;border-radius:14px}.rv-card strong{font-size:17px}.rv-card small{font-size:13px;color:#796e57}.profile-contact{font-size:15px;color:#77694d}.disclosure summary{font-size:15px;color:#8b610a}.file-tile{border-color:#dfd7c6;background:#faf7ef}.file-tile button{background:#171717;color:white}.attendance-grid>.card{background:#171717;color:#eee;border:1px solid #b88a27;border-bottom:4px solid #b88a27;border-radius:20px;padding:25px}.attendance-grid h3{color:#e7bc55;font-size:24px}.attendance-grid p{color:#ddd8cc}.attendance-grid button{background:#3d7f40;width:100%;font-size:19px}.attendance-grid button[data-action=out]{background:#9d4533}.quiet-note{color:#7d7567}.quiet-note a{color:#8b610a}#login{border-radius:24px;padding:32px;max-width:520px}#login:before{content:'';display:block;background:url('./logo.png') center/contain no-repeat;width:130px;height:130px;margin:0 auto 24px}#login h2{font-size:28px}.public-head{background:#151515;border-bottom:3px solid #c79321}.public-head>div{display:flex;align-items:center;gap:14px}.public-head .brand-logo{width:65px;height:65px}.portal-choice{border-radius:18px!important;border-color:#ddd7ca!important;padding:20px!important}.portal-choice .initial{background:#f1e6c8;color:#86600e;border-radius:14px}.portal-choice strong{font-size:19px}.portal-choice small{font-size:14px}.public-footer{border-top-color:#d9d2c5}.section-dark{background:#1e1c17}.empty-state{background:#f7f3e9;color:#7c725f}
@media(min-width:1100px){.portal-job[open]{grid-column:1/-1}.portal-job[open]>.portal-job-detail{display:grid;grid-template-columns:1fr 1fr;gap:22px}.portal-job[open] .job-facts,.portal-job[open] .address-panel{margin-bottom:0}.portal-job[open] .concern-panel,.portal-job[open] .portal-notes,.portal-job[open] .job-actions{grid-column:1/-1}.portal-job[open] .concern-content{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portal-job[open] .concern-field{margin:0}}
@media(max-width:700px){body>header{padding:16px;gap:12px}.brand-logo{width:60px;height:60px}.brand-copy h1{font-size:22px}.brand-copy small{font-size:10px}.brand-copy p{font-size:12px}main{padding:0 12px}.card{padding:18px;border-radius:18px}.page-heading h2{font-size:28px}.work-table{grid-template-columns:1fr;gap:20px}.portal-job>summary{padding:20px}.portal-job h3{font-size:28px}.portal-job-detail{padding:16px}.booking-highlight strong,.booking-highlight b{font-size:28px}.portal-rv{font-size:18px}.metric strong{font-size:29px}.metric span{font-size:12px}.metric{padding:18px}.concern-head h3{font-size:22px}.job-facts{gap:14px}.job-facts a{font-size:16px}.customer-profile .portal-job>summary{padding:15px}.customer-profile .portal-job-detail{padding:12px}.customer-profile .concern-content{padding:12px}.profile-header h2{font-size:28px}.public-head .brand-logo{width:50px;height:50px}}
@media(max-width:700px){#view>.card:has(>.work-table){padding:0;background:transparent;border:0;box-shadow:none}#view>.card:has(>.work-table)>.section-heading{padding:0 4px}.portal-job>summary{padding:18px}.portal-job{border-radius:20px}.nav{scrollbar-width:thin}}
