/* Student Living — the back office (Studio). Loaded after site.css on /student-living/studio only. */
/* ---------- studio (back office) ---------- */
.st{display:grid;grid-template-columns:248px 1fr;min-height:calc(100vh - var(--pv));background:#f3f5f9}
.st-side{background:#0b1220;color:#aab6c8;padding:18px 14px;display:flex;flex-direction:column;gap:6px;position:sticky;top:var(--pv);height:calc(100vh - var(--pv));overflow-y:auto;scrollbar-width:thin}
.st-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 12px;color:#fff;text-decoration:none}
.st-brand b{display:block;font-weight:800;font-size:15px;line-height:1.1}
.st-brand small{display:block;font-size:12px;font-weight:700;color:#7dd3fc}
.st-nav{display:grid;gap:2px}
.st-nav .grp{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#5d6b82;font-weight:700;padding:12px 10px 4px}
.st-nav a{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:10px;text-decoration:none;font-weight:600;font-size:14px}
.st-nav a:hover{background:#141d2e;color:#fff}
.st-nav a[aria-current=page]{background:#1a2a4a;color:#fff}
.st-nav a .n{margin-left:auto;background:#1660d6;color:#fff;border-radius:999px;font-size:11px;font-weight:800;padding:1px 7px}
.st-user{margin-top:auto;display:flex;gap:10px;align-items:center;padding:12px 8px;border-top:1px solid #1b2538}
.av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#1660d6;color:#fff;font-weight:800;font-size:13px;flex:none}
.st-user b{display:block;color:#fff;font-size:14px}
.st-user small{font-size:12px}
.st-main{min-width:0;display:flex;flex-direction:column}
.st-top{display:flex;align-items:center;gap:14px;padding:16px 26px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:var(--pv);z-index:5}
.st-top h1{font-size:22px;font-weight:800}
.st-top p{color:var(--muted);font-size:13px;font-weight:600}
.st-search{margin-left:auto;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;color:var(--muted);font-weight:600;font-size:14px;background:#fafbfd;min-width:220px}
.st-search kbd{margin-left:auto;font-family:inherit;font-size:12px;border:1px solid var(--line);border-radius:6px;padding:1px 6px;background:#fff}
.st-bell{position:relative;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center}
.st-bell span{position:absolute;top:-5px;right:-5px;background:var(--rose);color:#fff;border-radius:999px;font-size:11px;font-weight:800;padding:1px 6px;border:2px solid #fff}
.st-view{padding:24px 26px 60px;display:grid;gap:20px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.kpi small{display:block;color:var(--muted);font-weight:700;font-size:13px}
.kpi b{display:block;font-size:30px;font-weight:800;letter-spacing:-.03em;margin-top:4px}
.kpi .d{font-size:13px;font-weight:700;color:var(--mint)}
.meter{height:8px;border-radius:99px;background:var(--line2);overflow:hidden;margin-top:10px}
.meter i{display:block;height:100%;background:linear-gradient(90deg,#1660d6,#22d3ee);border-radius:99px;transition:width .4s}
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.panel-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line2);flex-wrap:wrap}
.panel-h h2{font-size:17px;font-weight:800;letter-spacing:-.01em}
.panel-h p{color:var(--muted);font-size:13px;font-weight:600}
.panel-b{padding:18px}
.tbl{width:100%;border-collapse:collapse}
.tbl th,.tbl td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line2);font-size:14px;vertical-align:middle}
.tbl th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#fafbfd;font-weight:700}
.tbl tr.house-row{cursor:pointer}
.tbl tr.house-row:hover td{background:#fafcff}
.tbl .thumb{display:flex;gap:12px;align-items:center}
.tbl .thumb img{width:54px;height:42px;border-radius:9px;object-fit:cover}
.tbl .thumb b{display:block}
.tbl .thumb small{color:var(--muted);font-weight:600}
.editor td{background:#f7faff;padding:0}
.ed{padding:16px 18px;display:grid;gap:10px}
.ed-row{display:grid;grid-template-columns:1.4fr 130px 210px;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.ed-row b{display:block}
.ed-row small{color:var(--muted);font-weight:600}
.money{display:flex;align-items:center;border:1px solid #d6dde7;border-radius:10px;overflow:hidden;background:#fff}
.money span{padding:8px 10px;background:var(--line2);font-weight:700;color:var(--ink2)}
.money input{border:0;padding:8px 10px;width:100%;font-weight:700;min-width:0}
.seg{display:inline-grid;grid-template-columns:1fr 1fr;background:var(--line2);border-radius:10px;padding:3px;gap:3px}
.seg button{border:0;background:transparent;border-radius:8px;padding:7px 10px;font-weight:700;font-size:13px;color:var(--ink2)}
.seg button[aria-pressed=true].a{background:var(--mint);color:#fff}
.seg button[aria-pressed=true].l{background:#4b5568;color:#fff}
.ed-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px;font-weight:600}
.vlist{display:grid}
.vday{padding:12px 18px;background:#fafbfd;border-bottom:1px solid var(--line2);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.vrow{display:grid;grid-template-columns:70px 1fr 1fr auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line2);font-size:14px}
.vrow .t{font-weight:800;font-size:15px}
.vrow small{display:block;color:var(--muted);font-weight:600}
.vrow.new{animation:flash 2.4s ease-out}
@keyframes flash{0%,40%{background:#fff7e0}100%{background:transparent}}
.inbox{display:grid;grid-template-columns:380px 1fr;min-height:480px}
.ilist{border-right:1px solid var(--line2);max-height:620px;overflow-y:auto}
.irow{display:block;width:100%;text-align:left;border:0;background:#fff;border-bottom:1px solid var(--line2);padding:14px 18px}
.irow:hover{background:#fafcff}
.irow[aria-current=true]{background:#eef4ff}
.irow .top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.irow b{font-size:15px}
.irow .unread b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand);margin-right:8px;vertical-align:middle}
.irow p{color:var(--ink2);font-size:14px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.irow small{color:var(--muted);font-weight:600;font-size:12px}
.idetail{padding:24px;display:grid;gap:16px;align-content:start}
.idetail h3{font-size:22px;font-weight:800}
.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;font-size:14px}
.kv dt{color:var(--muted);font-weight:700}
.kv dd{margin:0;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}
.quote{background:#f7f9fc;border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--ink2)}
.acts{display:flex;gap:8px;flex-wrap:wrap}
.tag{display:inline-flex;align-items:center;border-radius:8px;padding:3px 8px;font-size:12px;font-weight:800}
.tag.view{background:var(--brand-l);color:var(--brand-d)}
.tag.app{background:#efe9ff;color:#5a3bc4}
.tag.ll{background:var(--sun-l);color:#7a4d00}
.tag.reg{background:var(--mint-l);color:#08694b}
.tag.con{background:#eef1f5;color:#4b5568}
.pages{display:grid}
.prow{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line2);font-size:14px}
.prow b{flex:1}
.prow small{color:var(--muted);font-weight:600}
@media (max-width:1100px){.kpis{grid-template-columns:1fr 1fr}.inbox{grid-template-columns:1fr}.ilist{border-right:0;max-height:320px;border-bottom:1px solid var(--line)}}
@media (max-width:900px){
  .st{grid-template-columns:1fr}
  .st-side{position:sticky;top:var(--pv);height:auto;flex-direction:row;align-items:center;gap:6px;padding:8px 10px;overflow-x:auto;z-index:6;scrollbar-width:none}
  .st-side::-webkit-scrollbar{display:none}
  .st-brand{padding:0 8px 0 2px}.st-brand span{display:none}
  .st-nav{display:flex;gap:4px}.st-nav .grp,.st-user{display:none}
  .st-nav a{white-space:nowrap;padding:8px 10px}
  .st-top{top:calc(var(--pv) + 52px);padding:12px 16px}.st-search{display:none}
  /* The menu bar and title stay on screen (about 175px): an opened enquiry or a focused field scrolls to just below them. */
  html{scroll-padding-top:calc(var(--pv) + 186px)}
  .st-view{padding:16px 14px 60px}
  .ed-row{grid-template-columns:1fr 1fr}.ed-row>div:first-child{grid-column:1/-1}
  .vrow{grid-template-columns:60px 1fr;}.vrow>:nth-child(3){grid-column:2}.vrow>:nth-child(4){grid-column:2;justify-self:start}
  .tbl .hide-s{display:none}
  .tbl th,.tbl td{padding:11px 12px}
}
@media (max-width:520px){.kpi b{font-size:24px}.kv{grid-template-columns:1fr}.st-top .btn span{display:none}}

/* lists, chats, switches */
.dash{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}
@media (max-width:1100px){.dash{grid-template-columns:1fr}}
.chart-wrap{position:relative;padding:8px 18px 18px}
.chart-wrap svg{width:100%;height:auto;display:block}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;padding:0 18px;font-size:13px;font-weight:600;color:var(--ink2)}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend i{width:10px;height:10px;border-radius:3px}
.tip{position:absolute;pointer-events:none;background:#0b1220;color:#fff;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:600;white-space:nowrap;transform:translate(-50%,-110%);box-shadow:0 8px 20px rgba(0,0,0,.25);z-index:3}
.tip small{display:block;color:#9fb0c8;font-weight:600}
.seg-s{cursor:pointer}
.mini-tbl{width:100%;border-collapse:collapse;font-size:13px}
.mini-tbl th,.mini-tbl td{padding:7px 10px;border-bottom:1px solid var(--line2);text-align:right}
.mini-tbl th:first-child,.mini-tbl td:first-child{text-align:left}
.toggle-tbl{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 10px;font-size:13px;font-weight:700}
.lst{display:grid}
.lst .li{display:flex;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line2);font-size:14px}
.lst .li:last-child{border-bottom:0}
.lst .li b{display:block}
.lst .li small{color:var(--muted);font-weight:600}
.lst .li .chip{margin-left:auto}
.kanban{display:grid;grid-template-columns:repeat(5,minmax(196px,1fr));gap:14px;overflow-x:auto;padding-bottom:6px}
.col{background:#eef1f6;border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:10px;min-height:420px;transition:background .15s}
.col.over{background:#e1ebfb;outline:2px dashed #93b4ea}
.col-h{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;font-weight:800;font-size:14px}
.col-h span{background:#fff;border-radius:999px;padding:1px 9px;font-size:12px;color:var(--ink2)}
.lcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:8px;cursor:grab;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.lcard.drag{opacity:.5}
.lcard b{font-size:14px}
.lcard p{font-size:13px;color:var(--ink2)}
.lcard .ft{display:flex;justify-content:space-between;align-items:center;gap:6px}
.lcard small{color:var(--muted);font-weight:600;font-size:12px}
.lcard select{border:1px solid var(--line);border-radius:8px;padding:5px 6px;font-size:12px;font-weight:600;background:#fafbfd;width:100%}
.src{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--ink2)}
.src i{width:8px;height:8px;border-radius:50%}
.who-tag{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:2px 6px;justify-self:start}
.who-tag.s{background:var(--brand-l);color:var(--brand-d)}
.who-tag.l{background:var(--sun-l);color:#7a4d00}
.autos{display:grid;gap:12px}
.auto{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}
.auto .ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--brand-l);color:var(--brand)}
.auto b{display:block}
.auto p{color:var(--ink2);font-size:14px}
.auto small{color:var(--muted);font-weight:600;font-size:13px}
.sw{position:relative;width:46px;height:26px;border-radius:99px;border:0;background:#cbd5e1;transition:background .2s;flex:none}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.sw[aria-checked=true]{background:var(--mint)}
.sw[aria-checked=true]::after{transform:translateX(20px)}
.chat{display:grid;gap:10px;padding:18px;background:#f7f9fc}
.chat .msg{max-width:78%}
.chat .meta2{font-size:12px;color:var(--muted);font-weight:600;text-align:center}
.handoff{display:flex;gap:10px;align-items:center;background:var(--mint-l);color:#06513a;border-radius:12px;padding:10px 12px;font-weight:700;font-size:14px}
.split2{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}
@media (max-width:1100px){.split2{grid-template-columns:1fr}}
.free{display:flex;gap:12px;align-items:center;background:linear-gradient(90deg,#e8f0fd,#e3fbff);border:1px solid #c9dcfa;border-radius:16px;padding:14px 18px;font-weight:600;color:var(--ink2)}
.free b{color:var(--ink)}

/* ---------- Student Living additions ---------- */
.edgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.edgrid.two{grid-template-columns:1fr 1fr}
.ed .fld input,.ed .fld select,.ed .fld textarea,.ed-row input{border:1px solid #d6dde7;border-radius:10px;padding:9px 11px;background:#fff;font-size:14px;width:100%}
.ed .fld textarea{min-height:0}
.fld.chk{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;align-self:end;padding-bottom:10px}
.fld.chk input{width:18px;height:18px;accent-color:var(--brand)}
.fld .chk{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;padding-top:4px}
.ed .fld .chk input{width:18px;height:18px;padding:0;flex:none;accent-color:var(--brand)}
.rooms{display:grid;gap:8px}
.icon-btn{border:1px solid var(--line);background:#fff;border-radius:10px;width:36px;height:36px;display:grid;place-items:center;color:var(--muted);flex:none}
.icon-btn:hover{color:var(--rose);border-color:#f3c2c4}
.st-view .note{margin:0}
.auto .ico svg{width:22px;height:22px}
.lst button.li{cursor:pointer;font:inherit;color:inherit}
@media (max-width:900px){.st{grid-template-rows:auto 1fr;align-content:start}.edgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.edgrid,.edgrid.two{grid-template-columns:1fr}.auto{grid-template-columns:auto 1fr}.auto .chip{grid-column:2;justify-self:start}}

.bars { display: grid; gap: 10px; }
.bar { display: grid; grid-template-columns: 150px 1fr 34px; gap: 10px; align-items: center; font-size: 14px; font-weight: 600; }
.bar i { display: block; height: 10px; border-radius: 99px; background: linear-gradient(90deg, #1660d6, #22d3ee); min-width: 6px; }
.bar b { text-align: right; }
.src { display: inline-flex; margin-left: 6px; border-radius: 8px; padding: 2px 7px; font-size: 11.5px; font-weight: 800; background: #eef4ff; color: #0d47a8; }
@media (max-width: 900px) { .bar { grid-template-columns: 110px 1fr 28px; } }

/* more screens */
.tag.rep{background:var(--rose-l);color:#9e2328}
.lcard .ft a{color:var(--brand);display:inline-flex}
.lcard .ft a svg{width:16px;height:16px}
.tbl .thumb .av{width:34px;height:34px}
.mini-tbl{margin:0}
@media (max-width:1100px){.kanban{grid-template-columns:repeat(5,minmax(220px,1fr))}}
.st-view>*{min-width:0}
.kanban{max-width:100%}
@media (max-width:900px){.st-side{overflow-y:hidden}.panel{overflow:auto}.kpis{grid-template-columns:1fr 1fr}
  .st-top{flex-wrap:wrap;gap:10px 12px}.st-top>div:first-child{flex:1 1 100%}}
.thumbs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.thumbs img{width:76px;height:76px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.finder{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 14px}
.finder-q{flex:1 1 260px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:#fafbfd;color:var(--muted)}
.finder-q svg.i{width:18px;height:18px;flex:none}
.finder-q input{border:0;background:transparent;padding:10px 0;width:100%;font:inherit;font-weight:600;color:var(--ink);min-width:0}
.finder-q input:focus{outline:none}
.finder select{border:1px solid var(--line);border-radius:12px;padding:9px 10px;font:inherit;font-weight:600;background:#fff}
.finder-n{margin-left:auto;color:var(--muted);font-weight:700;font-size:13px}
.seg-n{grid-template-columns:repeat(3,auto)}
.seg button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.1)}
.hpanel>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;flex-wrap:wrap}
.hpanel>summary::-webkit-details-marker{display:none}
.hpanel>summary>div{flex:1 1 220px;min-width:0}
.hpanel>summary h2{font-size:17px;font-weight:800;letter-spacing:-.01em}
.hpanel>summary p{color:var(--muted);font-size:13px;font-weight:600}
.hpanel>summary .chev{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--line2);transition:transform .2s}
.hpanel>summary .chev svg.i{width:18px;height:18px}
.hpanel[open]>summary{border-bottom:1px solid var(--line2)}
.hpanel[open]>summary .chev{transform:rotate(180deg)}
.hpanel .panel-h{border-bottom:0}
@media (max-width:900px){.finder-n{margin-left:0;flex:1 1 100%}}
.ed-row .ed-more{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;padding-top:8px;border-top:1px dashed var(--line)}
.ed-more label{display:grid;gap:3px;font-size:12px;font-weight:700;color:var(--muted)}
.ed-more select,.ed-more input{border:1px solid #d6dde7;border-radius:10px;padding:7px 9px;background:#fff;font-size:13.5px;width:100%;min-width:0;font-weight:500;color:var(--ink)}
@media (max-width:900px){.ed-row .ed-more{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- live back office ---------- */
.muted{color:var(--muted)}
.center{text-align:center}
.stack{display:grid;gap:20px;align-content:start}
.grid-f{display:grid;gap:12px}
.st-view .btn-sm{min-height:42px;padding:9px 15px}
.btn-big{min-height:52px;font-size:16px;width:100%}
.btn:disabled{opacity:.55;cursor:default;transform:none}
.toast.bad{background:#7f1d1d}.toast.bad svg{color:#fecaca}
.kpi .of{font-size:16px;color:var(--muted);font-weight:700;letter-spacing:0}
.small-b{font-size:17px;line-height:1.3;display:block;margin-top:6px;letter-spacing:-.01em}
.st-out{margin:6px 8px 0;background:transparent;color:#cbd5e1;border-color:#26324a}
.st-out:hover{color:#fff;border-color:#3b4a66}
.st-me{min-width:0}.st-me small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
.st-view:focus{outline:none}
.qa{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qa .btn{justify-content:flex-start;white-space:normal;text-align:left;min-height:48px}
.lst a.li{text-decoration:none;color:inherit}
.lst a.li:hover,.lst button.li:hover{background:#fafcff}
.lst button.li{width:100%;text-align:left;border:0;background:#fff;border-bottom:1px solid var(--line2)}
.lst button.li[aria-current=true]{background:#eef4ff}
/* sign in */
.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:#0b1220}
.login>.muted{color:#aab6c8}
.login-card{width:min(440px,100%);background:#fff;border-radius:22px;padding:28px 24px;display:grid;gap:16px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.login-brand{color:var(--ink);padding:0}
.login-brand small{color:var(--brand)}
.login-card h1{font-size:26px;font-weight:800}
.login-card p{color:var(--ink2)}
.login-card form{display:grid;gap:14px}
.login-card .fld input{font-size:17px;padding:14px}
.login-ok{display:flex;gap:10px;align-items:flex-start;background:var(--mint-l);color:#06513a;border-radius:14px;padding:14px;font-weight:600}
.login-err{color:#9e2328;font-weight:700}
.login-dev{margin-top:8px}
/* listings */
.hcardx{overflow:visible}
.hcardx.is-off{opacity:.92}
.hcardx.is-new{border:2px solid var(--brand)}
.hx-head{display:flex;gap:16px;align-items:center;padding:14px 18px;flex-wrap:wrap}
.hx-head img{width:88px;height:66px;border-radius:12px;object-fit:cover;flex:none}
.hx-t{flex:1 1 260px;min-width:0}
.hx-t h2{font-size:18px;font-weight:800}
.hx-t p{color:var(--muted);font-size:13.5px;font-weight:600}
.hx-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.hx-acts{flex:none}
.hx-head[data-fold]{cursor:pointer}
.hx-head[data-fold]:hover h2{color:var(--brand)}
.hx-fold{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;background:var(--line2);color:var(--ink);cursor:pointer;flex:none;align-self:center;transition:transform .2s}
.hx-fold svg.i{width:20px;height:20px}
.hx-fold:hover{background:var(--line)}
.hx-fold[aria-expanded=true]{transform:rotate(180deg)}
.qrooms{border-top:1px solid var(--line2)}
.qroom{display:grid;grid-template-columns:minmax(0,1.4fr) 130px auto 170px auto;gap:12px;align-items:center;padding:10px 18px;border-bottom:1px solid var(--line2)}
.qroom:last-child{border-bottom:0}
.qname b{display:block}.qname small{color:var(--muted);font-weight:600;font-size:13px}
.qdate{display:grid;gap:2px;font-size:11.5px;font-weight:700;color:var(--muted)}
.qdate input{border:1px solid #d6dde7;border-radius:10px;padding:8px 9px;font-size:14px;color:var(--ink);min-width:0;width:100%}
.money input{min-height:40px}
.seg button{min-height:36px;min-width:84px}
.ed-h{font-size:15px;font-weight:800;margin-top:10px;padding-top:12px;border-top:1px solid var(--line2)}
.ed-h:first-child{margin-top:0;padding-top:0;border-top:0}
.ed-h small{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-top:2px}
.ed-hint{color:var(--muted);font-weight:600;font-size:12.5px;line-height:1.4}
.edgrid>.fld{align-content:start}
.ed-hint.warn{color:#7a4d00}
.ed-hint .link .i{width:14px;height:14px}
.from2{display:flex;gap:10px;align-items:center}
.from2 label{display:flex;gap:6px;align-items:center;font-weight:700;font-size:14px;white-space:nowrap;cursor:pointer}
.ed .from2 input[type=checkbox]{width:18px;height:18px;padding:0;flex:none;accent-color:var(--brand)}
.from2 input[type=date]{flex:1;min-width:0}
.ed-row{grid-template-columns:minmax(0,1.6fr) 140px auto}
.ed-row .edgrid.tight{gap:8px}
.row-acts{display:flex;gap:8px;align-items:center}
.media{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.mitem{margin:0;width:150px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;position:relative}
.mitem img{width:150px;height:105px;object-fit:cover}
.mitem figcaption{display:flex;justify-content:space-between;padding:6px}
.mitem .icon-btn{width:38px;height:38px}
.mitem .icon-btn:disabled{opacity:.35}
.mmain{position:absolute;left:6px;top:6px;background:var(--brand);color:#fff;border-radius:8px;font-size:11.5px;font-weight:800;padding:2px 7px}
.mup{width:150px;min-height:150px;flex-direction:column;border:2px dashed #c9d3e0;white-space:normal;text-align:center;cursor:pointer}
.mup.is-busy{opacity:.7;pointer-events:none}
.mup:focus-within{outline:3px solid rgba(22,96,214,.45);outline-offset:2px}
.madd{display:flex;gap:8px;margin-top:8px}
.madd input{flex:1;min-width:0;border:1px solid #d6dde7;border-radius:10px;padding:9px 11px;font-size:14px}
/* viewings */
.vrow-x{grid-template-columns:64px minmax(0,1fr) fit-content(55%)}
.vwho b{display:block}.vhouse{display:block;font-weight:700;color:var(--ink2);font-size:13.5px}
.idetail>.tag{justify-self:start}
@media (max-width:1300px) and (min-width:901px){.vrow-x .vacts{grid-column:2/-1;justify-content:flex-start}}
.vrow small a{color:inherit}
.vacts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.vmove{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:end;padding:12px 18px;background:#f7faff;border-bottom:1px solid var(--line2)}
.vnotify{display:flex;gap:10px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line2);font-size:14px;font-weight:600;color:var(--ink2);cursor:pointer}
.vnotify.inl{padding:0;border:0}
.vnotify input{width:18px;height:18px;accent-color:var(--brand)}
.blocked{display:flex;flex-wrap:wrap;gap:6px}
.blocked .x{border:0;background:transparent;padding:0;margin-left:2px;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%}
.blocked .x svg{width:14px;height:14px}
.blocked .x:hover{background:#fff}
/* enquiries */
.stats>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer}
.stats>summary::-webkit-details-marker{display:none}
.stats>summary h2{font-size:17px;font-weight:800}
.stats>summary .chev{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--line2);transition:transform .2s}
.stats[open]>summary .chev{transform:rotate(180deg)}
.stats3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:4px 18px 18px}
.stats3 h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:10px}
.stats3 .bar{grid-template-columns:minmax(0,130px) 1fr 30px}
.stats3 .bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tchips{display:flex;gap:6px;flex-wrap:wrap}
.fchip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-weight:700;font-size:14px;color:var(--ink2);min-height:40px}
.fchip span{margin-left:2px;font-weight:600}
.fchip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.irow .p{display:block;color:var(--ink2);font-size:14px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.irow .top{display:flex}
.irow.unread b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand);margin-right:8px;vertical-align:middle}
.idetail:focus{outline:none}
.big-acts .btn{min-height:46px}
.erepair,.enote{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line2)}
.erepair .btn,.enote .btn{justify-self:start}
.thumbs a{display:block}
.link{color:var(--brand);font-weight:700;display:inline-flex;align-items:center;gap:4px}
/* registrations */
.li.reg{flex-wrap:wrap}
.reg-who{flex:1 1 240px;min-width:0}
.reg-who small a{color:inherit}
.reg-want{flex:2 1 280px;font-weight:600;color:var(--ink2)}
.reg-n{flex:none;color:var(--muted);font-weight:700;font-size:13px}
.li.reg .btn{flex:none}
/* chats */
.chat .msg small{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin-bottom:2px}
@media (max-width:1100px){.qroom{grid-template-columns:minmax(0,1fr) 120px auto;}.qdate{grid-column:1/3}.qroom .btn{grid-column:3}.stats3{grid-template-columns:1fr}}
@media (max-width:900px){.st-out{margin:0}.st-out span{display:none}.vrow-x{grid-template-columns:60px 1fr}.vrow-x>:nth-child(3){grid-column:1/-1}.vacts{justify-content:flex-start}.vmove{grid-template-columns:1fr 1fr}.vmove .acts{grid-column:1/-1}.ed-row{grid-template-columns:1fr 1fr}.ed-row>div:first-child{grid-column:1/-1}}
@media (max-width:640px){.qa{grid-template-columns:1fr}.qroom{grid-template-columns:1fr 1fr;padding:12px 14px}.qname,.qdate{grid-column:1/-1}.qroom .seg{grid-column:2;justify-self:stretch}.qroom .btn{grid-column:1/-1;min-height:46px}.hx-head{padding:12px 14px}.hx-head img{width:64px;height:50px}.hx-acts{width:100%}.hx-acts .btn{flex:1}.mitem,.mup{width:calc(50% - 5px)}.mitem img{width:100%}.vmove{grid-template-columns:1fr}.ilist{max-height:none}}
/* contrast: active "Available", text on selected rows, chat labels */
.seg button[aria-pressed=true].a{background:#08765a}
.irow[aria-current=true] small,.lst button.li[aria-current=true] small{color:#475569}
.chat .msg.me small{opacity:1;color:#fff}
.login-brand span{display:block!important}

/* ---------- Pages: the page editor ---------- */
.pe{display:grid;gap:14px;min-width:0}
.pe-bar{display:flex;flex-wrap:wrap;align-items:end;gap:12px 14px;padding:12px 16px;overflow:visible}
.pe-pick{flex:1 1 280px;min-width:0;max-width:460px}
.pe-pick select{width:100%;padding:9px 11px;border-radius:10px;font-size:14px}
.pe-dev{align-self:end}
.pe-save{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}
.pe-count{font-size:13px;font-weight:700;color:var(--muted)}
.pe-count.is-dirty{color:#9a5b00}
.pe-main{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}
.pe-stage{position:relative;background:#e9edf3;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:grid;justify-items:center}
.pe-stage iframe{display:block;width:100%;height:calc(100vh - 210px);min-height:520px;border:0;background:#fff}
.pe-stage[data-dev=phone]{padding:16px 0}
.pe-stage[data-dev=phone] iframe{width:390px;max-width:100%;border-radius:22px;box-shadow:0 10px 30px rgba(11,27,51,.18);height:calc(100vh - 242px)}
.pe-loading{position:absolute;top:40%;left:0;right:0;text-align:center;color:var(--muted);font-weight:700;margin:0;pointer-events:none}
.pe-side{position:sticky;top:96px;max-height:calc(100vh - 110px);overflow:auto}
.pe-side .panel-h h2{font-size:16px}
.pe-side .stack{gap:16px}
.pe-h{font-size:13px;font-weight:800;margin:0 0 8px;color:var(--ink2);text-transform:none}
.pe-small{font-size:12px;margin:4px 0 0}
.pe-fmt{display:flex;flex-wrap:wrap;gap:8px}
.pe-fmt .btn{min-width:44px}
.pe-scope{align-self:start;padding:0;font-weight:600;font-size:13px;line-height:1.35}
.pe-acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}
.pe-thumb{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:var(--line2)}
.pe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pe-grid button{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--line2);cursor:pointer;aspect-ratio:4/3}
.pe-grid button:hover,.pe-grid button:focus-visible{border-color:var(--brand)}
.pe-grid img{width:100%;height:100%;object-fit:cover;display:block}
.pe-lib summary{cursor:pointer;font-weight:700;font-size:14px;margin-bottom:10px}
.pe-words{border:1px solid #d6dde7;border-radius:10px;padding:10px 12px;min-height:60px;font-size:15px;line-height:1.5;background:#fff}
.pe-words:focus{outline:3px solid rgba(22,96,214,.45);outline-offset:1px}
.pe-words svg{display:none}
.pe-hits{border:1px solid var(--line);border-radius:12px;max-height:260px;overflow:auto}
.pe-hits .li{padding:10px 12px}
.pe-hits p{padding:10px 12px;margin:0}
.mup-inline{position:relative;justify-self:start;cursor:pointer}
.mup-inline.is-busy{opacity:.6;pointer-events:none}
.mup-inline:focus-within{outline:3px solid rgba(22,96,214,.45);outline-offset:2px}
@media (max-width:1100px){.pe-main{grid-template-columns:1fr}.pe-side{position:static;max-height:none}}
@media (max-width:900px){
  .pe-bar{padding:12px;gap:10px}
  .pe-pick{flex:1 1 100%;max-width:none}
  .pe-dev{display:none}
  #peOpen span{display:none}
  .pe-save{margin-left:0;flex:1 1 auto;justify-content:flex-end;gap:8px}
  .pe-count{margin-right:auto}
  .pe-stage iframe{height:calc(100vh - 300px);min-height:440px}
  .pe-stage[data-dev=phone]{padding:0}
  .pe-stage[data-dev=phone] iframe{width:100%;border-radius:0;box-shadow:none;height:calc(100vh - 300px)}
  /* Something picked: the editing panel sits over the bottom of the screen. */
  .pe-side.is-on{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:60;max-height:46vh;border-radius:18px 18px 0 0;box-shadow:0 -10px 30px rgba(11,27,51,.2)}
  .pe-side.is-on .panel-h{padding:10px 14px}
  .pe-side.is-on .panel-b{padding:12px 14px}
  .pe-side.is-on .stack{gap:12px}
  .pe-side.is-on .pe-thumb{max-height:120px}
  .pe-stage[data-dev] iframe{height:calc(100vh - 230px)}
}
.pe-link{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.pe-link[hidden]{display:none}
/* Repairs and enquiries: the red urgency chip and repairs badge, five KPIs on Today, chips in the inbox. */
.chip.red{background:var(--rose);color:#fff}
.st-nav a .n.red{background:var(--rose);white-space:nowrap}
.st-nav a .br{display:none}
/* In the sidebar the repairs badge sits under the word, so the row is never wider than the menu. */
@media (min-width:901px){.st-nav a.has-rep{flex-wrap:wrap;row-gap:3px}.st-nav a.has-rep .br{display:block;flex-basis:100%;height:0}.st-nav a.has-rep .n.red{margin-left:31px}}
@media (max-width:900px){.st-nav a .n+.br+.n{margin-left:-5px}}
@media (min-width:1101px){.kpis.five{grid-template-columns:repeat(5,minmax(0,1fr))}}
.dchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.irow .chip{margin-left:6px;padding:2px 8px;font-size:11.5px;vertical-align:1px}
.irow .ref{font-weight:800;color:var(--ink);letter-spacing:.02em}
.inbox-note{margin:0 18px 14px}
.lst a.li.more{color:var(--brand-d);font-weight:700}
/* Deleting records and erasing a person's details (privacy requests). */
.btn-danger{background:var(--rose);color:#fff}
.btn-danger:hover{background:#ad2c32}
.btn-del{color:#9e2328}
.btn-del:hover{border-color:#f0b8bb;background:var(--rose-l)}
.btn-del svg.i{width:16px;height:16px}
.del-acts{padding-top:12px;border-top:1px solid var(--line2)}
.erase .fld.chk{align-items:flex-start;align-self:start;padding-bottom:0}
.erase .fld.chk input{margin-top:2px;flex:none}
.erase-out{display:grid;gap:10px}
.erase-out:empty{display:none}
.erase-rows{list-style:none;margin:0;padding:0;border:1px solid var(--line2);border-radius:12px;max-height:260px;overflow:auto;font-size:14px}
.erase-rows li{padding:8px 12px;border-bottom:1px solid var(--line2)}
.erase-rows li:last-child{border-bottom:0}
/* Signing out on every device (under Sign out; "All devices" in the phone bar) */
.st-out-all{margin-top:2px;font-size:13px;padding:7px 12px}
.st-out-all .narrow{display:none}
@media (max-width:900px){.st-out-all{margin:0;white-space:nowrap}.st-out-all .narrow{display:inline}}
/* Activity: who changed what (the audit log) */
.act-f .fld{display:flex;align-items:center;gap:8px}
.act-f .fld select{width:auto;padding:9px 10px;border-radius:12px;font-weight:600;font-size:14px}
.act-tbl td{vertical-align:top}
.act-when{white-space:nowrap;color:var(--muted);font-weight:600}
.act-who{overflow-wrap:anywhere}
.act-what{font-weight:700}
@media (max-width:640px){
  .act-tbl thead{display:none}
  .act-tbl,.act-tbl tbody,.act-tbl tr,.act-tbl td{display:block}
  .act-tbl tr{padding:10px 14px;border-bottom:1px solid var(--line2)}
  .act-tbl td{border:0;padding:1px 0}
  .act-f .fld{flex:1 1 100%}.act-f .fld span{min-width:52px}.act-f .fld select{flex:1}
}
/* CRM sync: changes for COHO, posts from COHO, settings and setup */
.crm{display:grid;gap:20px;min-width:0}
.crm-list{list-style:none;margin:0;padding:0}
.crm-row{display:grid;gap:6px;padding:14px 18px;border-bottom:1px solid var(--line2);min-width:0}
.crm-row:last-child{border-bottom:0}
.crm-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.crm-top h3{font-size:15px;font-weight:800;letter-spacing:-.01em;overflow-wrap:anywhere}
.crm-top .when{color:var(--muted);font-size:13px;font-weight:600;margin-left:auto}
.crm-row p{font-size:14px;overflow-wrap:anywhere}
.crm-row .sub{color:var(--muted);font-weight:600;font-size:13.5px}
.crm-row .acts{margin-top:4px}
.crm-err{color:#9e2328;font-weight:700;font-size:13.5px;overflow-wrap:anywhere}
.crm-raw summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--brand-d);justify-self:start;min-height:32px;display:inline-flex;align-items:center}
.crm-raw pre{margin:6px 0 0;background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:12px;font:12.5px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;color:var(--ink)}
.crm-block{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) minmax(0,1fr) minmax(72px,.7fr);gap:10px;align-items:end;background:#f7faff;border:1px solid var(--line2);border-radius:12px;padding:12px;margin-top:4px}
.crm-block .btn{grid-column:1/-1;justify-self:start}
.crm-block .fld input,.crm-block .fld select{padding:9px 10px;font-size:14px;border-radius:10px;min-width:0}
.crm-mode{border:0;margin:0;padding:0;display:grid;gap:8px;min-width:0}
.crm-mode legend{font-size:13px;font-weight:700;color:var(--ink2);margin-bottom:8px;padding:0}
.crm-radio{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}
.crm-radio:has(input:checked){border-color:var(--brand);background:#f5f9ff}
.crm-radio input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--brand);flex:none}
.crm-radio span{display:grid;gap:2px}
.crm-radio b{font-size:14.5px}
.crm-radio small{color:var(--muted);font-weight:600;font-size:13px}
#crmSet .fld input[type=url]{font-size:14px}
.crm-sw{align-self:start;padding-bottom:0}
.crm-sw-hint{margin-top:-6px}
.crm-map{display:grid;gap:10px}
.crm-map-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:8px;align-items:end}
.crm-map-row .fld input,.crm-map-row .fld select{padding:9px 10px;font-size:14px;border-radius:10px;min-width:0}
.crm-arrow{padding-bottom:10px;color:var(--muted);font-weight:800}
.crm-map-row .icon-btn{width:42px;height:42px}
.crm-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px;margin:0}
.crm-kv dt{color:var(--muted);font-weight:700}
.crm-kv dd{margin:0;font-weight:700}
.crm-steps{margin:0;padding-left:22px;display:grid;gap:8px;font-size:14.5px;color:var(--ink2)}
.crm-test{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:700;overflow-wrap:anywhere}
.crm-test.ok{color:#08694b}
.crm-test.bad{color:#9e2328}
#crmTestOut:empty{display:none}
#crmHook{font-size:13.5px}
@media (max-width:1300px) and (min-width:1101px){.crm-block{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.crm-block{grid-template-columns:1fr 1fr}.crm-block>.fld:first-child{grid-column:1/-1}.crm-top .when{margin-left:0}}
@media (max-width:640px){.crm-row{padding:12px 14px}.crm-block .btn{justify-self:stretch;min-height:46px}.crm-map-row{grid-template-columns:minmax(0,1fr) auto}.crm-map-row>.fld:first-child{grid-column:1/-1}.crm-arrow{display:none}}
/* Listings: each house's booking links for SpareRoom and WhatsApp */
.blink{display:grid;gap:10px;padding:12px 18px 14px;border-top:1px solid var(--line2);background:#fafcff}
.blink .fld input{font-size:13.5px;padding:9px 11px;border-radius:10px;min-width:0}
@media (max-width:640px){.blink{padding:12px 14px}.blink .acts .btn{flex:1 1 auto}}
/* Reviews: genuine reviews and testimonials (studio-reviews.js) */
.rvw-split{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.rvw-list{list-style:none;margin:0;padding:0}
.rvw-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;align-items:start;padding:14px 18px;border-bottom:1px solid var(--line2)}
.rvw-row:last-child{border-bottom:0}
.rvw-main{display:grid;gap:6px;min-width:0}
.rvw-who b{display:block;font-size:15px}
.rvw-who small{color:var(--muted);font-weight:600;font-size:13px}
.rvw-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rvw-stars{color:#b7791f;letter-spacing:1px;font-size:15px}
.rvw-stars-off{color:#d8dde5}
.rvw-norate{color:var(--muted);font-size:13px;font-weight:600}
.rvw-text{margin:0;font-size:14px;color:var(--ink2);overflow-wrap:anywhere;white-space:pre-line}
.rvw-perm{display:flex;gap:6px;align-items:center;margin:0;color:#08694b;font-size:12.5px;font-weight:700}
.rvw-perm svg.i{width:15px;height:15px}
.rvw-acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:330px}
.rvw-order{display:inline-flex;gap:4px}
.rvw-order .btn{padding:8px 10px}
.rvw-order .btn svg.i{width:18px;height:18px}
.rvw-hint{color:var(--muted);font-size:12.5px;font-weight:600}
.rvw-hint-b{margin:-4px 0 0}
.rvw-three{grid-template-columns:150px 190px minmax(0,1fr)}
.rvw-form textarea{min-height:150px;line-height:1.5}
.rvw-form .fld.chk{align-self:start;padding-bottom:0;align-items:flex-start}
.rvw-form .fld.chk input{margin-top:1px;flex:none}
.rvw-form .fld.chk span{font-size:14px;color:var(--ink);font-weight:700}
.rvw-perm-chk{background:var(--mint-l);border-radius:12px;padding:12px 14px !important}
.rvw-rules{margin:0;padding-left:20px;display:grid;gap:8px;font-size:14px;color:var(--ink2);font-weight:600}
#rvGoogle .fld input{font-size:14px}
@media (max-width:1100px){.rvw-split{grid-template-columns:1fr}}
@media (max-width:900px){.rvw-row{grid-template-columns:1fr}.rvw-acts{justify-content:flex-start;max-width:none}.rvw-three{grid-template-columns:1fr 1fr}.rvw-three>.fld:last-child{grid-column:1/-1}}
@media (max-width:520px){.rvw-row{padding:12px 14px}.rvw-three{grid-template-columns:1fr}.rvw-acts .btn{flex:1 1 auto}.rvw-order{flex:1 1 100%}.rvw-order .btn{flex:1}}
/* Listings: drafts, the advert import and the owner's checks (studio-drafts.js) */
.seg-3 button{min-width:0;padding:7px 12px}
.dr-import .panel-h p{max-width:72ch;margin-top:4px}
.dr-import-n{padding:10px 18px 14px;color:var(--muted);font-weight:700;font-size:13.5px}
.hcardx.is-draft{border-left:4px solid var(--sun)}
.dr-body{display:grid;gap:16px;padding:4px 18px 18px;border-top:1px solid var(--line2)}
.dr-live{padding-top:14px;background:#fafcff}
.dr-src{display:grid;gap:6px;padding-top:14px;font-size:14px;color:var(--ink2);font-weight:600}
.dr-src p{display:flex;gap:8px;align-items:flex-start;margin:0;overflow-wrap:anywhere}
.dr-src p svg.i{width:16px;height:16px;flex:none;margin-top:2px}
.dr-src a{color:var(--brand-d);font-weight:800}
.dr-said{display:block!important;padding-left:24px;color:var(--ink2)}
.dr-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}
.dr-checks h3,.dr-pub h3,.dr-photos h3{font-size:15px;font-weight:800;margin:0 0 8px}
.dr-checks h3 small,.dr-photos h3 small{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-top:2px}
.dr-checks ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dr-chk{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff}
.dr-chk.is-done{background:#f6fbf8;border-color:#cfe9dd}
.dr-chk-ic{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--rose-l);color:#9e2328}
.dr-chk.is-done .dr-chk-ic{background:var(--mint-l);color:#08694b}
.dr-chk-ic svg.i{width:16px;height:16px}
.dr-chk-t{display:grid;gap:3px;min-width:0}
.dr-chk-t b{font-size:14.5px}
.dr-chk-t small{color:var(--ink2);font-weight:600;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.dr-how{color:#08694b!important}
.dr-how.was{color:var(--muted)!important}
.dr-chk-a .btn{min-height:44px}
.dr-chk-form{display:grid;gap:8px;margin-top:6px}
.dr-chk-form textarea{width:100%;min-height:64px;border:1px solid #d6dde7;border-radius:10px;padding:9px 11px;font:inherit;font-size:16px}
.dr-chk-form .btn{min-height:44px}
.link-btn{border:0;background:none;padding:0;font:inherit;font-weight:800;color:var(--brand-d);text-decoration:underline;cursor:pointer}
.dr-pub{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fffdf6;display:grid;gap:10px}
.dr-pub ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13.5px;font-weight:600;color:var(--ink2)}
.dr-pub .btn{justify-self:start;min-height:44px}
.dr-pub .btn[aria-disabled=true]{opacity:.55}
.dr-ready{display:flex;gap:8px;align-items:center;margin:0;color:#08694b;font-weight:700;font-size:14px}
.dr-ready svg.i{width:18px;height:18px}
.dr-full{display:flex;flex-wrap:wrap;gap:12px}
.dr-ph{margin:0;width:220px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;display:grid;grid-template-rows:auto 1fr}
.dr-ph img{width:100%;height:150px;object-fit:contain;background:#eef2f7}
/* A tile in a row with a longer caption (a held photo) grows below its caption, never under its photo; the button stays at the foot. */
.dr-ph figcaption{display:flex;flex-direction:column;gap:6px;padding:8px}
.dr-ph figcaption .btn{margin-top:auto}
.dr-ph figcaption span{font-size:12.5px;font-weight:700;color:var(--muted)}
.dr-ph .btn{min-height:44px;white-space:normal}
.dr-photos h4{font-size:14px;font-weight:800;margin:14px 0 2px}
.dr-thumbs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
.dr-thumbs img{width:64px;height:64px;border-radius:8px;border:1px solid var(--line);object-fit:cover}
.dr-acts{padding-top:12px;border-top:1px solid var(--line2)}
.dr-acts .btn{min-height:44px}
.dr-discard{color:#9e2328}
.chip-btn{border:0;cursor:pointer;font:inherit;font-size:13px;font-weight:700}
.chip-btn:focus-visible,.link-btn:focus-visible{outline:3px solid rgba(22,96,214,.45);outline-offset:2px}
.malt{display:block;padding:0 6px}
.malt input{width:100%;border:1px solid #d6dde7;border-radius:8px;padding:6px 8px;font-size:13px;min-width:0}
@media (max-width:900px){.dr-grid{grid-template-columns:1fr}}
@media (max-width:640px){.dr-body{padding:4px 14px 14px}.dr-chk{grid-template-columns:28px minmax(0,1fr)}.dr-chk-a{grid-column:1/-1}.dr-chk-a .btn{width:100%}
  .dr-ph{width:calc(50% - 6px)}.dr-ph img{height:120px}.dr-thumbs img{width:calc(25% - 5px);height:auto;aspect-ratio:1}
  .dr-acts .btn,.dr-pub .btn{flex:1 1 100%;justify-self:stretch}.seg-3{grid-template-columns:1fr;width:100%}.seg-3 button{min-height:44px}.malt input{font-size:16px}}
.is-draft .hx-acts .btn,.dr-photos>.btn,.dr-import .btn,.dr-live .btn{min-height:44px}
.dr-import .panel-h .acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.dr-import .btn[aria-disabled=true]{opacity:.55}
.dr-ready-report{display:grid;gap:8px;border-top:1px solid var(--line2);padding:12px 18px 16px}
.dr-ready-report h3{font-size:15px;font-weight:800;margin:0}
.dr-ready-report h4{font-size:14px;font-weight:800;margin:6px 0 0}
.dr-done,.dr-not{margin:0;padding-left:0;list-style:none;display:grid;gap:6px;font-size:13.5px;font-weight:600;color:var(--ink2)}
.dr-done li{display:flex;gap:8px;align-items:center}.dr-done svg.i{width:16px;height:16px;color:#08694b;flex:none}
.dr-stale{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:14px;padding:12px 14px;border:1px solid #f1d58a;border-radius:14px;background:#fffaf0;font-size:14px;font-weight:600;color:var(--ink2)}
.dr-stale svg.i{width:18px;height:18px}
.dr-stale .btn{min-height:44px}
.dr-rooms{margin:0;padding-left:42px!important;display:grid!important;gap:2px;font-size:13.5px}
.dr-more{padding-left:24px;font-size:13.5px}
.dr-more summary{cursor:pointer;font-weight:800;color:var(--brand-d);min-height:32px;display:flex;align-items:center}
.dr-more ul{margin:6px 0 0;padding-left:18px;display:grid;gap:5px;font-weight:600;color:var(--ink2);overflow-wrap:anywhere}
.dr-more small{display:block;color:var(--muted);font-weight:600}
.dr-q{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff}
.dr-q h3{font-size:15px;font-weight:800;margin:0 0 6px}.dr-q h3 small{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-top:2px}
.dr-q ul{margin:0;padding-left:18px;display:grid;gap:5px;font-size:13.5px;font-weight:600;color:var(--ink2)}
.dr-ph.is-held{border-style:dashed;border-color:#e2b65a}
.dr-held{font-size:12.5px;font-weight:700;color:#8a5a00!important}
@media (max-width:640px){.dr-stale{grid-template-columns:22px minmax(0,1fr)}.dr-stale .btn{grid-column:1/-1;width:100%}.dr-import .panel-h .acts .btn{flex:1 1 100%}}
/* Areas */
@media (min-width:1101px){.kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ar-h{font-size:14px;font-weight:800;padding:16px 18px 8px;margin:0;display:flex;gap:8px;align-items:baseline}
.ar-h small{color:var(--muted);font-weight:700}
.ar-tbl td small.ar-pc{display:block;color:var(--muted);font-size:12.5px;font-weight:600;margin-top:2px}
.ar-tbl tr.ar-off td:first-child b{color:var(--muted);text-decoration:line-through}
.ar-tbl .ar-on,.ar-tbl .ar-grp{margin:0}
.ar-tbl .ar-grp select{min-width:240px}
.ar-links{white-space:nowrap;text-align:right}
.ar-links .btn+.btn{margin-left:6px}
.ar-dir{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0}
.ar-dir small{color:var(--muted);font-weight:600}
@media (max-width:900px){.ar-tbl thead{display:none}.ar-tbl tr{display:grid;grid-template-columns:1fr;padding:10px 0;border-bottom:1px solid var(--line2)}.ar-tbl td{border:0;padding:6px 18px}.ar-links{text-align:left;white-space:normal}.ar-tbl .ar-grp select{min-width:0;width:100%}}
.st-brand{flex-direction:column;align-items:flex-start;gap:6px}
.st-brand .st-logo-full{display:block;height:62px;width:auto;max-width:100%}
.st-brand .st-logo{display:none;width:40px;height:40px;flex:none}
.login-brand{background:#0d3326;border-radius:14px;padding:14px 16px!important}
.login-brand .st-logo-full{height:72px}
.login-brand small{color:#e3c77d!important}
@media (max-width:900px){.st-side .st-brand .st-logo-full{display:none}.st-side .st-brand .st-logo{display:block}}
