.chgs2{--green:#496750;--ink:#354238;--gold:#ad8856;color:var(--ink);font:14px/1.6 system-ui,sans-serif;max-width:1200px}.chgs2-portal{background:#faf8f2;border:1px solid #e2dfd3;border-radius:22px;padding:28px;margin:20px auto}.chgs2 h2{font:32px Georgia,serif;color:var(--ink);margin:10px 0 22px}.chgs2 h3{font:23px Georgia,serif;color:var(--ink);margin:10px 0 18px}.chgs2 h4{margin:14px 0 8px}.chgs2 header>p{letter-spacing:2px;font-size:11px;color:#8c6d44}.chgs2-card{background:white;padding:20px;border:1px solid #e0e2d6;border-radius:14px;margin:18px 0}.chgs2-card summary{cursor:pointer;font-weight:600}.chgs2-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chgs2 label{display:block;font-weight:500;margin:10px 0}.chgs2 input:not([type=checkbox]):not([type=hidden]),.chgs2 select,.chgs2 textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;border:1px solid #cbd3c3;border-radius:7px;background:#fff;padding:9px 10px;color:var(--ink);font:inherit}.chgs2 textarea{min-height:95px;resize:vertical}.chgs2 .chgs-check{display:flex;align-items:center;gap:7px}.chgs2 input[type=checkbox]{accent-color:var(--green)}.chgs2 fieldset{border:1px solid #e2dfd3;border-radius:10px;padding:18px}.chgs2 button,.chgs2 .button,.chgs-contact-button{display:inline-block;padding:9px 16px;border:1px solid #496750;border-radius:8px;background:#496750;color:#fff;font:inherit;cursor:pointer;text-decoration:none;height:auto}.chgs2 button:hover{background:#38523e}.chgs2 a{color:#365c40}.chgs2-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.chgs2-summary>div{background:#edf2e8;border-radius:12px;padding:16px}.chgs2-summary small,.chgs2-summary strong{display:block}.chgs2-summary strong{font-size:20px;margin-top:6px}.chgs2 table{border-collapse:collapse;width:100%;background:white;margin:15px 0}.chgs2 th,.chgs2 td{padding:10px;text-align:left;border-bottom:1px solid #e5e7de;vertical-align:top}.chgs2 th{background:#f0f2e9}.chgs2-pills{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.chgs2-pills a,.chgs2-resources a{padding:10px 14px;border:1px solid #d4ddcc;border-radius:9px;background:#fff;text-decoration:none}.chgs2-resources{display:flex;flex-wrap:wrap;gap:10px}.chgs2-request{border-top:1px solid #e4dfd3;padding:10px 0}.chgs2-bank{background:#f8f6ef;border-radius:10px;padding:14px}.chgs2-year{display:flex;gap:12px;align-items:center}.chgs2 small{font-size:12px;color:#66715f}.chgs2 .chgs-counter{display:block}.chgs2 :focus-visible{outline:2px solid #ad8856;outline-offset:3px}.chgs-public-photo{display:block;max-width:100%;height:auto;border-radius:16px}.chgs-presence{padding-left:20px}.chgs-contact-button{color:white!important}.chgs2 article{overflow-wrap:anywhere}@media(max-width:700px){.chgs2-portal{padding:14px}.chgs2-fields,.chgs2-summary{grid-template-columns:1fr}.chgs2-card{padding:14px}.chgs2 th,.chgs2 td{padding:7px;font-size:12px}.chgs2 h2{font-size:27px}.chgs2-year{flex-wrap:wrap}}

/* V2.2 targeted portal hierarchy */
.chgs2 [id^="chgs-"]{scroll-margin-top:120px}.chgs-half{border:1px solid #dce6df;border-radius:10px;padding:10px 14px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.chgs-half legend{font-weight:600;font-size:13px}.chgs2 .chgs-half .chgs-check{display:inline-flex;align-items:center;gap:7px;margin:0}.chgs-contract-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;padding:15px 0;border-bottom:1px solid #e1e9e3}.chgs-contract-details dt{font-size:12px;color:#60756a}.chgs-contract-details dd{margin:5px 0;font-weight:600}.chgs-slot-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px!important;background:#f5f8f5;border-radius:12px;margin:12px 0}.chgs-slot-card small{grid-column:1/-1}.chgs-badge{background:#e1ede5;border-radius:20px;padding:4px 10px;width:fit-content;font-size:12px}.chgs-video{display:block;max-width:100%;width:650px;border-radius:12px;margin:15px 0}.chgs-success{padding:16px;border:1px solid #adccba;background:#edf7f0;border-radius:12px}.chgs2 input:disabled{background:#e8ede9;color:#42564b;opacity:1;cursor:not-allowed}.chgs-centres .chgs-check{display:flex;gap:8px}.chgs2 [aria-disabled="true"]{opacity:.6;cursor:wait}@media(max-width:600px){.chgs-slot-card{grid-template-columns:1fr}.chgs-half{gap:10px}.chgs2 .chgs-half .chgs-check{min-width:120px}}

/* V2.3: actions scoped to their card, billing details and distinct photo states. */
.chgs-slot-footer{grid-column:1/-1;border-top:1px solid #dce6df;padding-top:12px;margin-top:4px}.chgs-slot-footer summary{font-size:13px;color:#4e695b}.chgs-photo-block{grid-column:1/-1;border:1px solid #dce6df;padding:16px;border-radius:12px}.chgs-photo-states{display:flex;flex-wrap:wrap;gap:24px}.chgs-photo-states figure{margin:0 0 15px;max-width:220px}.chgs-photo-states figcaption{font-size:13px;font-weight:600;margin-bottom:10px}.chgs-photo-states img{width:130px;height:130px;object-fit:cover;border-radius:12px}.chgs-payment-details{margin:12px 0;max-width:430px}.chgs-payment-details p{font-size:13px;line-height:1.5;margin:7px 0}.chgs-reminder{display:block;color:#536d60;background:#f2f6f2;border-radius:8px;padding:8px;margin-top:8px}.chgs2 table td{vertical-align:top}

.chgs-hours-alert{background:#fff8e8;border:1px solid #dbbb73;border-radius:16px;padding:18px;margin:18px 0;color:#4c412b}.chgs-hours-alert p{margin:8px 0 14px}.chgs-hours-day-alert{border-left:3px solid #bd964d;padding:8px 12px;background:#fffaf0}#chgs-appointment-hours{scroll-margin-top:24px}

.chgs-request-status{display:inline-block;border:1px solid #d5dfd4;border-radius:20px;padding:3px 12px;font-size:13px;background:#edf2e8;color:#496750}.chgs-request-status.is-pending{background:#f8f1df;color:#755e2e}.chgs-request-status.is-rejected{background:#f8ece8;color:#815649}.chgs-request-summary{display:flex;flex-wrap:wrap;gap:10px 24px}.chgs-request-summary p{margin:5px 0}.chgs-request-confirmation{padding:20px;background:#edf7f0;border:1px solid #b6d0bc;border-radius:14px;margin:18px 0}.chgs-request-confirmation h3{font:600 18px system-ui}.chgs-request-confirmation p:last-child{margin-bottom:0}

.chgs313-forecast{margin:18px 0;padding:16px;background:#f3f7f3;border:1px solid #d9e4db;border-radius:12px}.chgs313-forecast h4{margin:0 0 12px}.chgs313-forecast dl{margin:0}.chgs313-forecast dl>div{display:flex;justify-content:space-between;gap:12px;margin:8px 0}.chgs313-forecast dd{margin:0;font-weight:600;white-space:nowrap}.chgs313-forecast p{font-size:.88em;color:#566259;line-height:1.5}

.chgs-booking-unavailable{font-size:.9em;color:#68756b;margin:12px 0}

.chgs-provisional-notice{background:#f0f6f0;border:1px solid #cadbcb;border-radius:14px;padding:18px;margin:18px 0;color:#385440}.chgs-provisional-notice p{margin:8px 0}.chgs-provisional-form{padding:16px 0;border-bottom:1px solid #dbe3da;margin-bottom:18px}.chgs-provisional-form input[type=time]{max-width:100%;box-sizing:border-box}

/* Shared rent: keep the existing payment table inside its mobile card. */
#chgs-shared,#chgs-shared-payments{min-width:0;max-width:100%;box-sizing:border-box}
.chgs-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

.chgs2 [data-chgs401-method] label[hidden]{display:none!important}.chgs401-deposit>details{margin-top:12px}.chgs401-deposit>details>summary{cursor:pointer;color:#496750;font-weight:600}.chgs401-deposit ul{padding-left:22px;overflow-wrap:anywhere}.chgs401-deposit li{margin:10px 0}

/* Public booking information: no link, no booking trigger. */
p.chgs-booking-status{display:inline-block;box-sizing:border-box;max-width:100%;margin:12px 0;padding:14px 20px;background:#eaf0eb;color:#304b3f;border:1px solid #c8d7cd;border-radius:13px;font-size:.94rem;font-weight:600;line-height:1.5;white-space:normal;overflow-wrap:break-word;cursor:default;opacity:1}
.harmonie-profile .harmonie-profile-action--booking .chgs-booking-status{margin:0;padding:14px 20px 14px 48px;color:#fffaf0;background:#3e5d50;border:0;border-radius:0;min-height:50px;width:100%;cursor:default}
.harmonie-profile .harmonie-profile-action--booking:has(.chgs-booking-status),.harmonie-profile .harmonie-profile-action--booking:has(.chgs-booking-status):hover{background:#3e5d50;color:#fffaf0;cursor:default;max-width:100%}
