/* Housekeeping: scoped to its own pages; shared site navigation is unchanged. */
body[data-extra="housekeeping"] .workspace{padding:clamp(16px,3vw,36px);border-color:#dbe6e4;background:#fbfdfc}.hk-app,.hk-landing{--hk-ink:#173b41;--hk-muted:#557078;--hk-line:#d1e1de;--hk-teal:#146e63;color:var(--hk-ink);font-size:16px;line-height:1.55}.hk-app *,.hk-landing *{box-sizing:border-box}.hk-app [hidden],.hk-landing [hidden]{display:none!important}.hk-app h2,.hk-app h3,.hk-landing h2,.hk-landing h3{line-height:1.18;color:var(--hk-ink);margin:0 0 .7rem;letter-spacing:-.025em}.hk-app p,.hk-landing p{margin:.55rem 0 1rem}.hk-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(8px,2vw,20px) 0 40px}.hk-hero h2{font-size:clamp(2.2rem,4.7vw,4.1rem);max-width:12ch}.hk-hero p:not(.hk-eyebrow):not(.hk-small){max-width:48ch;font-size:1.1rem;color:var(--hk-muted)}.hk-eyebrow{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:var(--hk-teal);margin:0 0 14px!important}.hk-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.hk-app button,.hk-app .hk-button,.hk-landing .hk-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:10px 17px;margin:0;border:1px solid #bcd1d5;border-radius:10px;background:#eaf2f5;color:#214e65;box-shadow:none;line-height:1.3;font:inherit;font-weight:700;text-align:center;text-decoration:none;cursor:pointer;max-width:100%;white-space:normal}.hk-app button:hover,.hk-app .hk-button:hover,.hk-landing .hk-button:hover{background:#dbeaec;color:#123c47;border-color:#92b6bd}.hk-app button.primary,.hk-app .hk-button.primary,.hk-landing .hk-button.primary{background:#176b61;color:#fff;border-color:#176b61}.hk-app button.primary:hover,.hk-app .hk-button.primary:hover,.hk-landing .hk-button.primary:hover{background:#105449;color:#fff}.hk-app button.danger{background:#fcecea;border-color:#edc4bd;color:#983f33}.hk-app button:disabled{opacity:.55;cursor:not-allowed}.hk-app :focus-visible,.hk-landing :focus-visible{outline:3px solid #2f8daa;outline-offset:3px}.hk-small{font-size:.85rem;color:var(--hk-muted)}.hk-hero .hk-small{margin-top:16px}.hk-hero-board{background:#f0f6f3;border:1px solid #b9d0c9;border-radius:22px;padding:24px;box-shadow:0 20px 40px -26px #2b514b66;transform:rotate(-1deg)}.hk-preview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.hk-dot-label{font-size:.72rem;font-weight:700;border:1px solid #b7d9ca;color:#21634a;border-radius:30px;padding:4px 9px;background:#e1f2e7}.hk-preview-metrics{display:flex;gap:28px;margin:22px 0}.hk-preview-metrics b{display:block;font-size:1.8rem;line-height:1.2}.hk-preview-metrics span{font-size:.75rem;color:var(--hk-muted)}.hk-preview-room{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--hk-line);border-left:5px solid var(--hk-status);border-radius:12px;background:white;margin:10px 0;padding:14px 17px}.hk-preview-room strong{font-size:1.35rem;margin-right:15px}.hk-preview-room span{font-size:.8rem}.hk-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border-top:1px solid var(--hk-line);padding:34px 0}.hk-benefits article{padding-right:12px}.hk-benefits h3{font-size:1.2rem}.hk-benefits p{color:var(--hk-muted);font-size:.95rem}.hk-number{display:inline-block;font-weight:800;font-size:.75rem;letter-spacing:.08em;color:var(--hk-teal);margin-bottom:15px}.hk-scope{display:flex;justify-content:space-between;gap:32px;align-items:center;padding:30px;background:#edf4f2;border:1px solid var(--hk-line);border-radius:16px}.hk-scope>div{max-width:700px}.hk-scope>.hk-button{flex-shrink:0}.hk-scope h2{font-size:1.6rem}.hk-app .hk-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.hk-heading h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:3px}.hk-subheading{color:var(--hk-muted);font-size:.9rem}.hk-demo-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;border:1px solid #d7cbaa;border-radius:14px;background:#fbf5e6;margin-bottom:24px}.hk-demo-banner p{margin:3px 0;font-size:.85rem}.hk-demo-banner .hk-actions{flex-wrap:nowrap}.hk-demo-banner select{min-width:150px}.hk-app label{display:flex;flex-direction:column;gap:7px;font-size:.85rem;font-weight:700;margin:0;color:var(--hk-ink)}.hk-app select,.hk-app input,.hk-app textarea{width:100%;min-width:0;max-width:100%;min-height:46px;padding:10px 38px 10px 12px;border:1px solid #b8ccd0;border-radius:9px;background-color:#fff;color:var(--hk-ink);font:inherit;line-height:1.4;margin:0}.hk-app input,.hk-app textarea{padding-right:12px}.hk-app textarea{resize:vertical;min-height:100px}.hk-app select{background-position:right 12px center!important}.hk-app .hk-check{display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--hk-line);background:#f1f6f4;border-radius:10px;font-weight:500;line-height:1.5}.hk-check input{width:20px!important;min-height:20px!important;height:20px;margin-top:2px!important;flex-shrink:0;padding:0}.hk-check span{display:block}.hk-app .hk-alert{padding:13px 17px;border:1px solid #e4c5a8;border-radius:10px;background:#fff5e8;color:#78451b;margin-bottom:16px}.hk-alert .hk-actions{margin-top:10px}.hk-alert p{margin:0}.hk-alert.success{background:#edf7ef;border-color:#b9d7c1;color:#245a37}.hk-sync{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:#316957}.hk-sync::before{content:'';width:8px;height:8px;background:#2d9c72;border-radius:100%;flex-shrink:0}.hk-sync.stale{color:#a33831}.hk-sync.stale::before{background:#c1403a}.hk-sync time{font-variant-numeric:tabular-nums}.hk-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.hk-stat{padding:15px 18px;border:1px solid var(--hk-line);border-radius:13px;background:#fff;border-top:3px solid var(--hk-status)}.hk-stat strong{display:block;font-size:1.85rem;font-variant-numeric:tabular-nums;line-height:1.1;margin-bottom:7px}.hk-stat span{font-size:.8rem;font-weight:600}.hk-state-dirty{--hk-status:#c1403a;--hk-tint:#fff1ef}.hk-state-working{--hk-status:#d27a19;--hk-tint:#fff3e3}.hk-state-clean{--hk-status:#b97117;--hk-tint:#fff5e5}.hk-state-ready{--hk-status:#187743;--hk-tint:#e7f4eb}.hk-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:14px;padding:16px;background:#edf3f2;border:1px solid var(--hk-line);border-radius:13px;margin-bottom:22px}.hk-toolbar>label{flex:1;min-width:140px}.hk-toolbar .hk-actions{margin-left:auto}.hk-room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}.hk-room{background:#fff;border:1px solid var(--hk-line);border-top:4px solid var(--hk-status);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:11px;min-width:0;position:relative}.hk-room-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.hk-room-number{font-size:1.85rem;font-weight:800;line-height:1.1;letter-spacing:-.025em;overflow-wrap:anywhere}.hk-room-floor{font-size:.72rem;color:var(--hk-muted);margin-top:5px}.hk-app button.hk-detail-button{padding:7px 10px;min-height:44px;font-size:.8rem;background:#f3f6f7;align-self:flex-start}.hk-status-label{font-size:.8rem;font-weight:800;color:var(--hk-ink);display:flex;align-items:center;gap:7px}.hk-status-label::before{content:'';width:8px;height:8px;background:var(--hk-status);border-radius:100%}.hk-room-assignee{font-size:.8rem;color:var(--hk-muted)}.hk-room-note{font-size:.82rem;overflow-wrap:anywhere;margin:0!important;color:#4d6264;white-space:pre-wrap}.hk-room-footer{margin-top:auto;padding-top:5px}.hk-room-footer button{width:100%;min-height:44px}.hk-room-tags{display:flex;flex-wrap:wrap;gap:6px}.hk-tag{font-size:.7rem;font-weight:700;padding:4px 8px;border-radius:6px;background:#edf2f4;color:#496573}.hk-tag.warning{background:#fbe7e5;color:#963830}.hk-tag.priority{background:#fae9e5;color:#8e493a}.hk-room-time{font-size:.7rem;color:var(--hk-muted)}.hk-empty{padding:36px 24px;border:1px dashed #b5cdc6;border-radius:15px;background:#f3f8f5;text-align:center}.hk-empty h3{font-size:1.3rem}.hk-empty .hk-actions{justify-content:center;margin-top:18px}.hk-card{border:1px solid var(--hk-line);border-radius:16px;padding:24px;background:white;max-width:650px}.hk-form{display:grid;gap:17px}.hk-form .hk-actions{margin-top:5px}.hk-property-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:20px 0}.hk-property-list article{background:#edf5f1;border:1px solid var(--hk-line);border-radius:15px;padding:24px}.hk-property-list h3{font-size:1.4rem}.hk-property-list button{margin-top:12px}.hk-board-footer{font-size:.78rem;color:var(--hk-muted);padding:22px 0 0;margin-top:22px;border-top:1px solid var(--hk-line)}.hk-app dialog{position:fixed;inset:0;width:min(600px,calc(100vw - 32px));max-width:600px;max-height:calc(100dvh - 40px);padding:0;border:1px solid #b6ceca;border-radius:18px;box-shadow:0 22px 80px #183b4140;color:var(--hk-ink);background:#fff;overflow:auto;overscroll-behavior:contain;margin:auto}.hk-app dialog::backdrop{background:#173b4166;backdrop-filter:blur(3px)}.hk-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 18px;border-bottom:1px solid var(--hk-line);position:sticky;top:0;background:white;z-index:1}.hk-dialog-head h2{font-size:1.5rem;margin:0}.hk-app .hk-dialog-close{padding:8px;min-width:44px;min-height:44px;background:#f2f5f6;flex-shrink:0}.hk-dialog-body{padding:22px 24px 26px}.hk-dialog-body h3{font-size:1rem;margin-top:24px}.hk-dialog-body .hk-alert{margin-top:16px}.hk-dialog-body .hk-actions{margin:16px 0}.hk-dialog-body .hk-form .hk-actions{margin:0}.hk-section-line{border-top:1px solid var(--hk-line);padding-top:20px;margin-top:20px}.hk-history{list-style:none;padding:0;margin:10px 0}.hk-history li{padding:10px 0;border-bottom:1px solid #edf1f0;font-size:.83rem}.hk-history time{display:block;font-size:.73rem;color:var(--hk-muted)}.hk-team-list{padding:0;list-style:none}.hk-team-list li{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--hk-line);padding:12px 0}.hk-team-list strong{display:block}.hk-team-list small{color:var(--hk-muted)}.hk-copy-output{font-size:.8rem;overflow-wrap:anywhere;background:#edf6f0;border:1px solid #bdd9c6;padding:14px;border-radius:10px}.hk-copy-output a{color:#176b61}.hk-demo-note{padding:14px;border:1px solid #d7cbaa;border-radius:10px;background:#fbf5e6;color:#735c2e;font-size:.86rem}.hk-loading{min-height:120px;display:flex;align-items:center;justify-content:center;color:var(--hk-muted)}.hk-archived .hk-room{opacity:.8}.hk-app .hk-member-label{font-weight:600;color:#3a5b61;font-size:.8rem}.hk-error-message{color:#993e33;font-size:.9rem;margin:12px 0!important}.hk-field-help{font-size:.78rem;font-weight:400;color:var(--hk-muted)}
@media(max-width:850px){.hk-hero{grid-template-columns:1fr 1fr;gap:24px}.hk-hero-board{padding:18px}.hk-hero h2{font-size:2.5rem}.hk-scope{align-items:flex-start;flex-direction:column}.hk-demo-banner{align-items:flex-start}.hk-demo-banner .hk-actions{flex-direction:column;align-items:stretch}.hk-heading{flex-wrap:wrap}.hk-heading .hk-actions{width:100%}.hk-benefits{gap:18px}.hk-stats{gap:9px}.hk-stat{padding:12px}.hk-stat span{font-size:.75rem}}
@media(max-width:600px){body[data-extra="housekeeping"] .workspace{padding:16px}.hk-hero{grid-template-columns:1fr;gap:26px;padding-bottom:26px}.hk-hero h2{font-size:2.6rem;max-width:14ch}.hk-hero-board{transform:none;padding:19px}.hk-preview-heading{gap:8px}.hk-preview-metrics{gap:27px}.hk-benefits{grid-template-columns:1fr;padding:24px 0;gap:24px}.hk-benefits article{padding:0}.hk-benefits h3{margin-bottom:7px}.hk-benefits p{margin-bottom:0}.hk-number{margin-bottom:9px}.hk-scope{padding:22px}.hk-actions>*{flex:1 1 auto}.hk-hero .hk-actions>a{flex-basis:100%}.hk-demo-banner{flex-direction:column;padding:15px;gap:10px}.hk-demo-banner .hk-actions{flex-direction:row;flex-wrap:wrap;width:100%;align-items:end}.hk-demo-banner label{flex:1}.hk-demo-banner select{min-width:0}.hk-demo-banner button{flex:0 1 auto}.hk-heading{gap:13px}.hk-heading h2{font-size:1.65rem}.hk-heading .hk-actions button{font-size:.82rem;padding:10px 12px}.hk-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.hk-stat{padding:13px 15px}.hk-stat strong{font-size:1.6rem}.hk-stat span{font-size:.78rem}.hk-toolbar{padding:13px;gap:12px}.hk-toolbar>label{min-width:0;flex-basis:calc(50% - 12px)}.hk-toolbar>.hk-check{flex-basis:100%;padding:4px;border:0;background:none;align-items:center;font-size:.8rem}.hk-room-grid{grid-template-columns:1fr;gap:13px}.hk-room{padding:17px}.hk-room-top{align-items:center}.hk-room-number{font-size:1.8rem}.hk-card{padding:21px}.hk-app dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:15px}.hk-dialog-head{padding:18px 18px 14px}.hk-dialog-body{padding:18px}.hk-dialog-head h2{font-size:1.4rem}.hk-dialog-body .hk-actions>*{flex-basis:calc(50% - 10px)}.hk-dialog-body .hk-actions>button:only-child{flex-basis:100%}.hk-team-list li{align-items:flex-start}.hk-team-list button{font-size:.8rem;padding:9px 11px}.hk-toolbar select{font-size:.88rem}.hk-app .hk-heading .hk-sync{width:100%}.hk-property-list{grid-template-columns:1fr}.hk-room-footer{padding-top:0}}
@media(prefers-reduced-motion:no-preference){.hk-room{animation:hk-room-in .18s ease-out}@keyframes hk-room-in{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:none}}}
/* Working boards put rooms first; the marketing hero remains on the landing page. */
body[data-extra="housekeeping"]:has(#housekeeping) .intro.toolintro{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:16px 0!important;margin:0 0 12px!important;min-height:0}
body[data-extra="housekeeping"]:has(#housekeeping) .intro.toolintro h1{font-size:1.05rem;line-height:1.3;margin:0;letter-spacing:0}
body[data-extra="housekeeping"]:has(#housekeeping) .intro.toolintro>p{display:none}
body[data-extra="housekeeping"]:has(#housekeeping) .intro.toolintro .back{font-size:.8rem;margin:0}
.hk-app .hk-heading{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px 22px;align-items:center}
.hk-app .hk-heading>.hk-actions{grid-column:2;grid-row:1/3;justify-content:flex-end;max-width:620px;width:auto}
.hk-app .hk-heading>.hk-sync{grid-column:1;font-size:.75rem}
@media(max-width:1150px){.hk-app .hk-heading{grid-template-columns:1fr;gap:12px}.hk-app .hk-heading>.hk-actions{grid-column:1;grid-row:auto;justify-content:flex-start;max-width:none}.hk-app .hk-heading>.hk-sync{grid-row:2}.hk-app .hk-heading>.hk-actions{grid-row:3}}
@media(max-width:600px){body[data-extra="housekeeping"]:has(#housekeeping) .intro.toolintro{padding:9px 0!important;margin-bottom:8px!important;gap:6px 12px}.hk-app .hk-heading{gap:8px;margin-bottom:14px}.hk-app .hk-heading>.hk-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:4px}.hk-app .hk-heading>.hk-actions button{width:100%;min-height:44px;line-height:1.25}.hk-app .hk-heading h2{font-size:1.5rem}.hk-demo-banner{margin-bottom:17px}.hk-demo-banner>div:first-child p{font-size:.78rem;line-height:1.4}.hk-demo-banner>div:first-child strong{font-size:.88rem}.hk-stats{margin:14px 0}.hk-stat{padding:10px 14px}.hk-stat strong{font-size:1.45rem;margin-bottom:5px}}

/* Long translated labels must remain inside phone-sized actions. */
.hk-app button,.hk-app .hk-button,.hk-landing .hk-button{min-width:0;overflow-wrap:anywhere}
/* Integrate semantic action colours with the site's shared button decorator. */
.hk-app .primary,.hk-landing .primary{--action-bg:#176b61;--action-fg:#fff;--action-line:#176b61}
.hk-app .danger{--action-bg:#fcecea;--action-fg:#983f33;--action-line:#edc4bd}
.hk-heading h2,.hk-property-list h3,.hk-room{overflow-wrap:anywhere}
@media(max-width:600px){.hk-toolbar>label:not(.hk-check){flex-basis:100%}}
/* Daily work stays ahead of room administration. */
.hk-view-switch{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 12px}.hk-view-switch button[aria-pressed="true"]{--action-bg:#176b61;--action-fg:#fff;--action-line:#176b61}.hk-view-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0}.hk-view-caption p{margin:0}.hk-view-caption button{flex-shrink:0;font-size:.82rem}.hk-room-context{padding:0 0 20px;border-bottom:1px solid var(--hk-line);margin-bottom:22px}.hk-room-primary>*{width:100%}.hk-room-warning{padding:12px 14px;background:#fff5df;border:1px solid #dec793;border-radius:10px;color:#735521;font-size:.88rem}.hk-room-information h3{font-size:1rem;margin-top:0}.hk-room-facts{display:grid;gap:12px;margin:0}.hk-room-facts div{display:flex;justify-content:space-between;gap:18px}.hk-room-facts dt{font-size:.82rem;color:var(--hk-muted)}.hk-room-facts dd{margin:0;font-weight:650;text-align:right}.hk-disclosure{border:1px solid var(--hk-line);border-radius:12px;background:#f7faf9;margin-top:16px;padding:0 16px}.hk-disclosure>summary{display:flex;align-items:center;gap:9px;min-height:52px;font-weight:700;font-size:.9rem;cursor:pointer;list-style:none;padding:12px 0;color:var(--hk-ink)}.hk-disclosure>summary::-webkit-details-marker{display:none}.hk-disclosure>summary::after{content:'⌄';font-size:1.2rem;margin-left:auto}.hk-disclosure[open]>summary::after{transform:rotate(180deg)}.hk-disclosure[open]>summary{border-bottom:1px solid var(--hk-line);margin-bottom:16px}.hk-disclosure>form,.hk-disclosure>.hk-actions,.hk-disclosure>.hk-small{margin-bottom:16px}.hk-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hk-room-priority{margin-top:18px!important}.hk-disclosure input,.hk-disclosure select{min-width:0}.hk-dialog-body .hk-room-information .hk-form>button{width:100%}
@media(max-width:600px){.hk-view-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.hk-view-switch button{padding:10px 7px;font-size:.78rem;gap:5px;min-height:50px;flex-direction:column}.hk-view-caption{align-items:flex-start;flex-wrap:wrap}.hk-view-caption button{width:100%}.hk-form-pair{grid-template-columns:1fr}.hk-room-facts div{display:block}.hk-room-facts dd{text-align:left;margin-top:3px}.hk-room-primary>*{flex-basis:100%!important}.hk-disclosure{padding:0 13px}}
.hk-disclosure>summary::after{content:'';width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex-shrink:0}.hk-disclosure[open]>summary::after{transform:rotate(225deg)}
.hk-board-filters{margin-top:12px}.hk-board-filters .hk-toolbar{border:0;background:transparent;padding:0;margin:0 0 16px}.hk-board-filters summary small{font-size:.7rem;color:var(--hk-teal);background:#e0efe9;border-radius:20px;padding:3px 7px}.hk-board-filters .hk-toolbar label{min-width:0}
/* Team setup separates invitations from joined colleagues without a second workflow. */
.hk-team-invite{padding:18px;border:1px solid #bad7cd;border-radius:12px;background:#edf6f1}.hk-dialog-body .hk-team-invite h3{margin:0 0 8px}.hk-role-description{margin:0!important;font-size:.84rem;line-height:1.55;color:#365c55;min-height:2.6em}.hk-team-invite .hk-field-help{margin-bottom:0}.hk-team-invite button{width:100%}.hk-invite-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.hk-invite-list>li{padding:16px;border:1px solid var(--hk-line);border-radius:12px;background:#f5f9f7}.hk-invite-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}.hk-invite-heading strong,.hk-invite-heading small{display:block}.hk-invite-heading small{font-size:.75rem;color:var(--hk-muted);margin-top:4px}.hk-invite-link{font-size:.8rem}.hk-invite-link input{font-size:.78rem;font-family:inherit;background:white!important}.hk-team-list li>div{min-width:0;flex:1;overflow-wrap:anywhere}.hk-team-list .hk-field-help{margin:6px 0;line-height:1.5}.hk-team-list li>button{flex:0 0 auto;max-width:42%}.hk-room-setup-preview{overflow-wrap:anywhere}.hk-room-setup-preview .hk-room-number-list{line-height:1.8}
@media(max-width:600px){.hk-team-invite{padding:14px}.hk-team-list li{flex-wrap:wrap;gap:10px}.hk-team-list li>div{flex-basis:100%}.hk-team-list li>button{max-width:none;width:100%}.hk-invite-heading{align-items:flex-start;flex-wrap:wrap}.hk-invite-heading>button{width:100%}.hk-invite-list>li{padding:13px}}
body[data-extra="housekeeping"]:has(#hk-dialog[open]){overflow:hidden}
.hk-room-setup-numbers{line-height:1.8}
/* Daily planning keeps selection and the final review distinct. */
.hk-plan-selection .hk-actions{display:flex;gap:8px;flex-wrap:wrap}.hk-plan-selection .hk-actions button{font-size:.8rem;padding:9px 12px}.hk-plan-selection .hk-actions button[hidden]{display:none!important}#hk-plan-count{font-size:.82rem;font-weight:700;color:#2f6559;margin:12px 0}.hk-plan-rooms{display:grid;gap:7px;max-height:360px;overflow:auto;overscroll-behavior:contain;padding:2px}.hk-app .hk-plan-room{display:flex;flex-direction:row;align-items:center;gap:12px;min-height:64px;padding:10px 12px;border:1px solid var(--hk-line);border-radius:9px;background:white;margin:0;cursor:pointer}.hk-app .hk-plan-room:has(input:checked){background:#edf3fa;border-color:#7c9fbf}.hk-app .hk-plan-room.unavailable{background:#f3f5f5;color:#607477;cursor:default}.hk-app .hk-plan-room input{width:20px;height:20px;min-height:20px;padding:0;margin:0;flex:0 0 20px;accent-color:#176b61}.hk-plan-room>span{min-width:0;flex:1}.hk-plan-room strong,.hk-plan-room small{display:block}.hk-plan-room strong{font-size:.98rem;overflow-wrap:anywhere}.hk-plan-room strong small{display:inline;font-weight:400}.hk-plan-room small{font-size:.75rem;font-weight:400;line-height:1.5;color:var(--hk-muted)}.hk-plan-footer{padding-top:16px;border-top:1px solid var(--hk-line);margin-top:8px}.hk-plan-footer button{width:100%}.hk-plan-review{padding:18px;border:1px solid #dfbd8b;background:#fff3e1;border-radius:12px}.hk-dialog-body .hk-plan-review h3{margin:6px 0 14px;font-size:1.6rem}.hk-plan-review p{font-size:.88rem;line-height:1.6}.hk-plan-review ul{list-style:none;padding:0;margin:16px 0 0;max-height:300px;overflow:auto}.hk-plan-review li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #e4cfb0;font-size:.85rem}.hk-plan-review li span{font-size:.76rem;color:var(--hk-muted);text-align:right}.hk-plan-footer.hk-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hk-app .hk-plan-footer.hk-actions button{height:100%;min-height:48px}
@media(max-width:600px){.hk-plan-rooms{max-height:290px}.hk-plan-selection .hk-actions{display:grid;grid-template-columns:1fr 1fr}.hk-plan-selection .hk-actions button{width:100%;height:100%;min-height:44px}.hk-plan-selection .hk-actions button:last-child{grid-column:1/-1}.hk-plan-footer.hk-actions{grid-template-columns:1fr}.hk-plan-review{padding:14px}.hk-plan-review li{flex-direction:column;gap:3px}.hk-plan-review li span{text-align:left}}

/* Room colours follow the cleaning workflow; labels remain explicit. */
.hk-room.hk-state-dirty,.hk-room.hk-state-working,.hk-room.hk-state-clean,.hk-room.hk-state-ready,.hk-stat{background:var(--hk-tint,#fff)}.hk-plan-room .hk-plan-state{display:inline-flex;align-items:center;gap:5px}.hk-plan-state::before{content:"";width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--hk-status)}
/* Administration uses desktop width; phones keep a single readable column. */
body[data-extra="housekeeping"]:has(#housekeeping) main{max-width:1800px}.hk-plan-options{display:grid;gap:17px}.hk-plan-options>p{margin:0}.hk-plan-options .hk-form-pair{align-items:start}
@media(min-width:900px){.hk-app dialog:has([data-form="day-plan"]){width:min(1040px,calc(100vw - 64px));max-width:1040px}.hk-app dialog:has(.hk-plan-review){width:min(780px,calc(100vw - 64px));max-width:780px}.hk-app form[data-form="day-plan"]{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);column-gap:28px;align-items:start}.hk-plan-options .hk-form-pair{grid-template-columns:1fr}.hk-plan-selection{min-width:0}.hk-plan-rooms{max-height:min(460px,calc(100dvh - 330px))}.hk-plan-selection .hk-actions{margin-top:0}.hk-plan-footer,.hk-form[data-form="day-plan"]>.hk-error-message{grid-column:1/-1}.hk-form[data-form="day-plan"]>.hk-error-message:empty{display:none}.hk-plan-review ul{max-height:360px}.hk-app .hk-heading>.hk-actions{max-width:760px}}

.hk-dialog-head h2{min-width:0;overflow-wrap:anywhere}
.hk-demo-banner .hk-actions{align-items:flex-end}
