:root{--ink:#15323b;--muted:#64757b;--bg:#f8f7f2;--card:#fff;--brand:#123b42;--accent:#147c77;--accent-dark:#0d625e;--secondary:#48616a;--danger:#ae4141;--line:#e2e9e7;--soft:#eaf5f1;--gold:#f2bc74;--header-ink:#fff;--header-muted:#c7dad9;--header-line:#ffffff40;--header-field:#ffffff14;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, #e4efea 0, #f2f4ee 280px, var(--bg) 560px) no-repeat, var(--bg);min-height:100vh;margin:0}a{color:var(--accent)}h1,h2,h3{letter-spacing:-.02em}.site-header{background:var(--brand);color:var(--header-ink);z-index:20;padding:14px max(20px,50% - 540px) 0;position:sticky;top:0;box-shadow:0 8px 24px #0f2f3526}.site-header a{color:var(--header-ink);text-decoration:none}.header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.site-header h1{align-items:center;gap:14px;margin:0;font-size:1rem;display:flex}.site-header .logo img{width:220px;max-width:52vw;height:auto;display:block}.site-header .property-name{color:var(--header-muted);border-left:1px solid var(--header-line);padding-left:14px;font-size:1rem;font-weight:650}.site-header nav{flex-wrap:wrap;align-items:center;gap:0 26px;margin-top:10px;font-size:14px;font-weight:650;display:flex}.site-header nav a{color:var(--header-muted);border-bottom:3px solid #0000;padding:10px 0 11px}.site-header nav a:hover{color:var(--header-ink)}.site-header nav a.active{border-bottom-color:var(--gold);color:var(--header-ink)}.site-header nav button.link{color:var(--header-muted);background:0 0;border:0;margin-left:auto;padding:10px 0 11px;font-weight:650}.site-header nav button.link:hover{color:var(--gold);background:0 0;transform:none}.property-picker{color:var(--header-muted);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:650;display:inline-flex}.property-picker select{width:auto;min-width:150px;color:var(--header-ink);background:var(--header-field);border-color:var(--header-line);padding:8px 10px}.property-picker select option{color:var(--ink)}main{max-width:1080px;margin:30px auto;padding:0 20px}main.loading{color:var(--muted)}h2{margin-top:0}.card{background:var(--card);border:1px solid var(--line);border-radius:17px;margin-bottom:20px;padding:24px;box-shadow:0 10px 28px #21413b0d}.card.intro{background:linear-gradient(120deg,#eef7f3 0%,#fdf6ea 100%);border-color:#dfeae5}.eyebrow{text-transform:uppercase;color:var(--accent);letter-spacing:2px;margin-bottom:6px;font-size:12px;font-weight:800}.grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px;display:grid}.tile{color:inherit;padding:0;text-decoration:none;transition:box-shadow .2s,transform .2s;display:block;overflow:hidden}.tile:hover{transform:translateY(-2px);box-shadow:0 16px 30px #294c3a14}.tile .body{padding:18px}.tile h3{margin:0 0 6px}.muted{color:var(--muted)}.small{font-size:.88rem}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.chips{flex-wrap:wrap;gap:10px;margin:0 0 20px;display:flex}input,textarea,select{width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #c9d7d4;border-radius:9px;padding:11px 12px}input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:2px solid #147c7755}textarea{min-height:110px}label{margin:14px 0 5px;font-weight:600;display:block}label.check{align-items:center;gap:8px;margin:6px 0;font-weight:400;display:flex}label.check input{width:auto}button,.button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;font:inherit;border-radius:9px;padding:11px 18px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s;display:inline-block}button:hover,.button:hover{background:var(--accent-dark);transform:translateY(-1px)}button.secondary,.button.secondary{color:var(--ink);background:#fff;border-color:#c9d7d4}button.secondary:hover,.button.secondary:hover{background:var(--soft)}button.danger{background:var(--danger);border-color:var(--danger)}button.danger:hover{background:#8f3434}button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.chips button{border-radius:50px;padding:8px 16px;font-size:.92rem}button:disabled{opacity:.55;cursor:default;transform:none}.alert{white-space:pre-wrap;background:#fdf3e3;border:1px solid #f2d9ae;border-radius:9px;margin:12px 0;padding:12px}.alert.ok{background:#e6f4ec;border-color:#bfe0cc}.instructions{white-space:pre-wrap;line-height:1.7}.info-content{margin:1.5rem 0;line-height:1.7}.admin-grid{grid-template-columns:260px 1fr;align-items:start;gap:18px;display:grid}.admin-grid aside button{text-align:left;width:100%;margin-bottom:8px;display:block}.admin-grid aside button.selected{outline:3px solid #7fd3d0}.qr{width:100%;max-width:260px}.tile-photo{object-fit:contain;background:var(--soft);width:100%;height:180px;display:block}.tile-placeholder{color:#7a8b8d;background:linear-gradient(120deg,#eaf5f1 0%,#fdf8ef 100%);justify-content:center;align-items:center;height:180px;font-size:.95rem;display:flex}.manual-badge{color:#176052;background:#e2f4ef;border-radius:999px;margin-top:4px;padding:5px 9px;font-size:.78rem;font-weight:600;display:inline-block}.media-list{gap:10px;margin:15px 0;display:grid}.media-row{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px;display:flex}.media-row img{object-fit:contain;background:var(--soft);border-radius:6px;width:75px;height:60px}.media-row>span{overflow-wrap:anywhere;flex:1}.media-row input{flex:1;width:auto;min-width:140px}.gallery-photo{object-fit:contain;background:var(--soft);border-radius:12px;width:180px;height:140px;margin:8px}.primary-badge{color:#176052;background:#e2f4ef;border-radius:999px;margin-left:6px;padding:3px 8px;font-size:.78rem}.video-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;margin:18px 0;display:grid}.video-card{border:1px solid var(--line);border-radius:12px;min-width:0;padding:14px}.video-card h4{margin:0 0 12px}.video-card video{background:#111;border-radius:8px;width:100%;max-height:480px;display:block}.admin-video{background:#111;border-radius:8px;width:220px;max-width:100%;max-height:130px}.qr-disclosure{border:1px solid var(--line);background:#f7faf9;border-radius:10px;margin-top:26px;padding:15px}.qr-disclosure summary{cursor:pointer;font-weight:600}.qr-disclosure[open] summary{margin-bottom:12px}.upload-actions{flex-wrap:wrap;gap:10px;margin:16px 0 8px;display:flex}.upload-actions .upload-choice{cursor:pointer;justify-content:center;align-items:center;min-height:46px;margin:0;font-weight:400;display:inline-flex}.visually-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.upload-progress{color:#33545b;gap:7px;margin:12px 0;font-size:.9rem;display:grid}.upload-progress progress{width:100%;height:14px;accent-color:var(--accent)}.user-card{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:14px}.user-card h3{margin:0 0 4px;font-size:1.05rem}.user-card .checks{flex-wrap:wrap;gap:4px 18px;margin:8px 0;display:flex}.status-pill{background:var(--soft);border-radius:999px;margin-left:6px;padding:3px 9px;font-size:.78rem;font-weight:600}.status-pill.off{color:#8a2e2e;background:#f8dddd}@media (width<=720px){.site-header{position:static}.site-header nav{gap:4px 16px}.admin-grid{grid-template-columns:1fr}.admin-grid aside{max-height:240px;overflow:auto}.admin-grid aside button{min-height:44px}.upload-actions .upload-choice{flex:140px}.media-row button,.media-row .button{min-height:44px}input,textarea,select{font-size:16px}main{margin:18px auto}}.login-page{background:linear-gradient(120deg,#f6faf7 0%,#fdf8ef 100%);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{width:100%;max-width:420px;margin:0;box-shadow:0 30px 65px #21413b1f}.login-card .login-logo{width:100%;max-width:300px;height:auto;margin:4px auto 18px;display:block}.login-card .eyebrow{text-transform:uppercase;color:var(--accent);letter-spacing:2px;text-align:center;font-size:12px;font-weight:800}.login-card>p{text-align:center;color:var(--muted)}.login-card button{width:100%;margin-top:18px;padding:14px}.qr-print-main{max-width:1050px}.qr-toolbar{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.qr-toolbar label{flex:1;min-width:210px;margin:0}.qr-toolbar select{margin-top:8px}.qr-toolbar button{white-space:nowrap}.room-qr-panel{background:#fff;border:1px solid #d6e3e4;border-radius:10px;align-items:center;gap:18px;margin-top:16px;padding:14px;display:flex}.room-qr-panel img{object-fit:contain;width:100px;height:100px}.room-qr-panel p{margin:6px 0}.qr-sheet{width:210mm;min-height:297mm;color:var(--ink);background:#fff;flex-direction:column;margin:22px auto;padding:15mm 14mm 13mm;display:flex;box-shadow:0 4px 22px #193c4526}.qr-sheet-heading{border-bottom:2px solid var(--accent);justify-content:space-between;align-items:center;gap:12mm;margin-bottom:5mm;padding-bottom:4mm;display:flex}.qr-sheet-kicker{letter-spacing:.13em;color:var(--accent);font-size:9pt;font-weight:750}.qr-sheet-heading h2{margin:3mm 0 1mm;font-size:19pt}.qr-sheet-heading p{color:#62747b;margin:0;font-size:9pt}.qr-sheet-count{color:#62747b;text-align:right;white-space:nowrap;font-size:8pt}.qr-sheet-room{color:#52686e;text-align:center;flex-direction:column;align-items:center;gap:1mm;max-width:31mm;font-size:7pt;display:flex}.qr-sheet-room img{object-fit:contain;width:25mm;height:25mm}.qr-sheet-grid{grid-template-rows:repeat(6,32mm);grid-template-columns:1fr 1fr;align-content:start;gap:3mm 5mm;display:grid}.qr-entry{break-inside:avoid;border:1px solid #d6e3e4;border-radius:3mm;align-items:center;gap:2mm;min-width:0;padding:2mm;display:flex}.qr-entry img{object-fit:contain;flex:none;width:26mm;height:26mm}.qr-entry-text{overflow-wrap:anywhere;min-width:0}.qr-entry h3{margin:0 0 1mm;font-size:9pt;line-height:1.2}.qr-entry p{color:#5d6f76;margin:0;font-size:7.5pt;line-height:1.2}.qr-sheet-footer{color:#657a80;border-top:1px solid #d6e3e4;justify-content:space-between;margin-top:auto;padding-top:4mm;font-size:8pt;display:flex}@media (width<=850px){.qr-sheet{width:100%;min-height:0;padding:22px}.qr-sheet-grid{grid-template-rows:none;grid-template-columns:1fr}.qr-entry{min-height:120px}.qr-entry img{width:95px;height:95px}}@page{size:A4 portrait;margin:0}@media print{html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important;margin:0!important;padding:0!important}.site-header,.qr-controls,.room-qr-panel{display:none!important}main.qr-print-main{max-width:none!important;margin:0!important;padding:0!important}.qr-sheet{break-after:page;width:210mm;height:297mm;min-height:297mm;max-height:297mm;overflow:hidden;box-shadow:none!important;margin:0!important;padding:15mm 14mm 13mm!important}.qr-sheet:last-child{break-after:auto}.qr-sheet-grid{grid-template-rows:repeat(6,32mm)!important;grid-template-columns:1fr 1fr!important;gap:3mm 5mm!important}.qr-entry{min-height:0!important}.qr-entry img{width:26mm!important;height:26mm!important}}:root{--icon-bg:#efe9de;--icon-ink:#1f4a42}.info-icon{background:var(--icon-bg);width:46px;height:46px;color:var(--icon-ink);border-radius:50%;flex:none;place-items:center;display:inline-grid}.info-icon.small{width:30px;height:30px}.info-icon.large{width:58px;height:58px}.info-tile .info-icon{margin-bottom:14px}.info-heading{align-items:center;gap:16px;margin-bottom:10px;display:flex}.info-heading h2{margin:0}.aside-title{align-items:center;gap:8px;display:inline-flex}.admin-grid aside button.secondary .info-icon.small{background:#f5f1e9}.field-label{margin:14px 0 5px;font-weight:600;display:block}.icon-picker{background:#fff;border:1px solid #c9d7d4;border-radius:9px;max-height:340px;padding:4px 12px 12px;overflow:auto}.icon-group-title{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:12px 0 8px;font-size:12px;font-weight:800}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:6px;display:grid}.icon-picker button{color:var(--ink);text-align:center;background:#fff;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;font-size:12px;font-weight:500;line-height:1.2;display:flex}.icon-picker button:hover{background:#f8f5ef;transform:none}.icon-picker button.selected{border-color:var(--icon-ink);background:#f8f5ef;box-shadow:0 0 0 2px #1f4a4222}.icon-picker button.selected .info-icon{background:var(--icon-ink);color:#fff}@media (width<=720px){.info-tile{grid-template-columns:48px 1fr;align-items:start;column-gap:14px;display:grid}.info-tile .info-icon{grid-row:span 3;margin:0}.info-tile>:not(.info-icon){grid-column:2}}.role-picker{align-items:center;gap:10px;margin:8px 0;font-weight:600;display:flex}.role-picker select{width:auto;min-width:240px}.status-pill.qr{color:#8a5a14;background:#fdf0db}.qr-login-panel h3{margin-top:0}.badges{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.media-badge{background:var(--icon-bg);color:var(--icon-ink);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.attachment-photos{flex-wrap:wrap;margin:12px -8px;display:flex}.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}.rich-text p{margin:0 0 .9em}.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4{color:var(--ink);margin:1.3em 0 .45em;line-height:1.3}.rich-text h1{font-size:1.45rem}.rich-text h2{font-size:1.25rem}.rich-text h3,.rich-text h4{font-size:1.08rem}.rich-text ul,.rich-text ol{margin:0 0 .9em;padding-left:1.4em}.rich-text li{margin:.2em 0}.rich-text a{color:var(--accent);text-underline-offset:2px;overflow-wrap:anywhere;font-weight:600}.rich-text blockquote{border-left:3px solid var(--icon-bg);background:#faf8f3;border-radius:0 8px 8px 0;margin:0 0 .9em;padding:.4em 1em}.rich-text hr{border:0;border-top:1px solid var(--line);margin:1.4em 0}.rich-text code{background:var(--soft);border-radius:5px;padding:.1em .35em;font-size:.92em}.rich-text table{border-collapse:collapse;margin:0 0 .9em}.rich-text th,.rich-text td{border:1px solid var(--line);text-align:left;padding:.35em .7em}.md-editor textarea{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px;display:block}.md-toolbar{background:#faf8f3;border:1px solid #c9d7d4;border-radius:9px 9px 0 0;align-items:center;gap:2px;padding:5px;display:flex}.md-toolbar>button{color:var(--icon-ink);background:0 0;border:0;border-radius:7px;padding:7px 9px;line-height:0}.md-toolbar>button:hover:not(:disabled){background:var(--icon-bg);transform:none}.md-tabs{gap:2px;margin-left:auto;display:flex}.md-tabs button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:6px 12px;font-size:.88rem;font-weight:600}.md-tabs button:hover{background:var(--icon-bg);transform:none}.md-tabs button[aria-pressed=true]{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0000001a}.md-preview{background:#fff;border:1px solid #c9d7d4;border-top:0;border-radius:0 0 9px 9px;padding:14px 16px;line-height:1.7}.grid-table{border-collapse:collapse;width:100%;margin:6px 0 14px;font-size:.94rem}.grid-table th{text-align:left;letter-spacing:1px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 10px;font-size:12px;font-weight:800}.grid-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}.grid-table tbody tr:hover:not(.detail-row){background:#faf8f3}.grid-table tr.open{background:#f6f3ec}.grid-table select{width:auto;max-width:260px;padding:6px 8px}.grid-table .actions-cell{text-align:right;white-space:nowrap}.detail-row>td{background:#faf8f3;padding:14px 16px 16px}.cell-flex{align-items:center;gap:8px;display:flex}.cell-flex.wrap{flex-wrap:wrap}.cell-flex input{flex:1;width:auto;min-width:160px;padding:6px 8px}button.small-btn,.button.small-btn{padding:5px 11px;font-size:.85rem}.inline-form{flex-wrap:wrap;gap:8px;display:flex}.inline-form input{flex:1;min-width:200px}.inline-form select{width:auto}.section-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:4px;display:flex}.section-head h2{margin:0 auto 0 0}.section-head input{width:220px;padding:8px 10px}.new-user-form{border:1px solid var(--line);background:#faf8f3;border-radius:12px;margin:10px 0 16px;padding:14px 16px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 14px;display:grid}.form-grid label{margin:6px 0 0;font-size:.9rem}.form-grid input,.form-grid select{margin-top:5px}.user-detail{gap:12px;display:grid}.detail-block .field-label{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 6px;font-size:.85rem}.status-cell{flex-wrap:wrap;gap:4px;display:inline-flex}.status-cell .status-pill{margin-left:0}.status-pill.on{color:#28735a;background:#e6f4ec}.users-admin .checks{flex-wrap:wrap;gap:4px 18px;margin:4px 0 8px;display:flex}@media (width<=720px){.grid-table thead{display:none}.grid-table,.grid-table tbody,.grid-table tr,.grid-table td{width:100%;display:block}.grid-table tr{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:6px 4px}.grid-table td{border:0;align-items:center;gap:10px;padding:5px 10px;display:flex}.grid-table td[data-label]:before{content:attr(data-label);letter-spacing:1px;text-transform:uppercase;color:var(--muted);flex:0 0 92px;font-size:11px;font-weight:800}.grid-table .actions-cell{text-align:left}.grid-table tr.detail-row{border-top:0;border-radius:0 0 12px 12px;margin-top:-10px}.section-head input{width:100%}}.site-header .logo img.company-logo{object-fit:contain;width:auto;max-width:52vw;height:44px}.site-footer{border-top:1px solid var(--line);max-width:1080px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;margin:10px auto 26px;padding:14px 20px 0;font-size:.82rem;display:flex}.site-footer a{color:var(--muted);font-weight:600;text-decoration:none}.site-footer a:hover{color:var(--accent);text-decoration:underline}.login-page .site-footer{border:0;justify-content:center;margin:14px 0 0;padding:0}.login-brand{background:var(--brand);border-radius:17px 17px 0 0;justify-content:center;margin:-24px -24px 18px;padding:22px 24px;display:flex}.login-brand img{object-fit:contain;max-width:100%;max-height:64px}.login-page{align-content:center;gap:0}.brand-preview{border-radius:12px;flex-wrap:wrap;align-items:center;gap:22px;margin:12px 0 16px;padding:14px 18px;display:flex}.brand-preview img{object-fit:contain;max-width:220px;height:38px}.brand-preview img.mhg{width:170px;height:auto}.brand-preview-nav{gap:18px;font-size:14px;font-weight:650;display:flex}.brand-preview-nav span:first-child{border-bottom:3px solid;padding-bottom:4px}.brand-preview-button{color:#fff;border-radius:9px;margin-left:auto;padding:7px 14px;font-size:14px;font-weight:700}.branding-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.colour-fields{gap:8px;margin-bottom:10px;display:grid}.colour-field{cursor:pointer;align-items:center;gap:10px;margin:0;font-size:.92rem;font-weight:600;display:flex}.colour-field input[type=color]{cursor:pointer;border-radius:8px;flex:none;width:44px;height:34px;padding:2px}.branding .section-head select{width:auto}@media (width<=720px){.branding-grid{grid-template-columns:1fr}}.grid-table tr.clickable{cursor:pointer}.crumbs{margin:0 0 10px}.company-head h2{margin:0}.company-head .cell-flex input{font-size:1.1rem}.login-cell{overflow-wrap:anywhere}
