.rc-root{--muted: var(--text-muted);--tint: #F1ECF8;--warn-bg: #FBF3D9;--bad-bg: #FBECEB}.rc-root .plan-wrap{display:grid;grid-template-columns:118px 1fr 270px;gap:16px;align-items:start}.rc-root .bldg{display:flex;flex-direction:column;gap:6px;position:sticky;top:8px}.rc-root .bldg h4{margin:0 0 2px;font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.rc-root .slab{border:2px solid var(--border);background:#fff;border-radius:6px;padding:7px 8px;cursor:pointer;text-align:left;font:inherit;position:relative}.rc-root .slab b{display:block;font-size:14px;color:var(--text)}.rc-root .slab span{font-size:12px;color:var(--muted)}.rc-root .slab i{position:absolute;left:0;bottom:0;height:4px;background:var(--success);border-radius:0 0 4px 4px}.rc-root .slab.on{border-color:var(--purple);background:var(--tint)}.rc-root .slab.on b{color:var(--purple)}.rc-root .slab.empty{border-style:dashed;opacity:.75}.rc-root .roof{height:12px;background:var(--crimson);clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);margin-bottom:-2px}.rc-root .planbar{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:0 0 10px}.rc-root .planbar label.chk{font-size:13px;color:var(--text);display:flex;gap:6px;align-items:center;cursor:pointer}.rc-root .legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.rc-root .legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-2px;border:1px solid rgba(0,0,0,.15)}.rc-root .plan{background:#f1ece6;border:3px solid #8b7e76;border-radius:6px;padding:10px;position:relative}.rc-root .plan .compass{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;color:var(--muted);font-weight:700;text-transform:uppercase;margin-bottom:6px;padding:0 4px}.rc-root .plan .cols{display:grid;grid-template-columns:1fr 74px 1fr;column-gap:0;row-gap:6px;align-items:stretch}.rc-root .plan .cols>.tilebox,.rc-root .plan .cols>.bay,.rc-root .plan .cols>.gap{min-height:0;height:auto}.rc-root .plan .cols>.hall{grid-column:2}.rc-root .plan .rooms{display:grid;gap:6px;align-content:start}.rc-root .plan .rooms.eq{grid-auto-rows:1fr}.rc-root .hall{background:repeating-linear-gradient(0deg,#e3dbd0 0,#e3dbd0 14px,#ddd4c8 14px,#ddd4c8 28px);border-left:2px solid #8b7e76;border-right:2px solid #8b7e76;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px 0;margin:0 6px;position:relative}.rc-root .hall .lbl{writing-mode:vertical-rl;transform:rotate(180deg);color:#7b6f66;font-weight:700;letter-spacing:.3em;font-size:12px;text-transform:uppercase}.rc-root .hall .stairs{width:54px;height:40px;border:2px solid #8b7e76;background:repeating-linear-gradient(0deg,#fff 0,#fff 5px,#cfc6bb 5px,#cfc6bb 7px);border-radius:3px;font-size:10px;color:#6a5f58;display:flex;align-items:flex-end;justify-content:center;font-weight:700}.rc-root .tilebox{position:relative;border:2px solid #8b7e76;border-radius:4px;padding:7px 8px 6px;background:#fff;cursor:pointer;min-height:112px;display:flex;flex-direction:column;text-align:left;font:inherit;color:var(--text);transition:transform .1s,box-shadow .1s}.rc-root .tilebox:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000002e;z-index:2}.rc-root .tilebox:focus-visible{outline:3px solid var(--purple);outline-offset:1px}.rc-root .tilebox.w:after,.rc-root .tilebox.e:after{content:"";position:absolute;top:50%;width:5px;height:26px;margin-top:-13px;background:#fff}.rc-root .tilebox.w:after{right:-5px;border-top:2px solid #8b7e76;border-bottom:2px solid #8b7e76;background:#f1ece6}.rc-root .tilebox.e:after{left:-5px;border-top:2px solid #8b7e76;border-bottom:2px solid #8b7e76;background:#f1ece6}.rc-root .tilebox.full{background:#e9f5ed}.rc-root .tilebox.space{background:#f3eefa}.rc-root .tilebox.over{background:#fdeceb;border-color:var(--danger)}.rc-root .tilebox.off{background:transparent;border-style:dashed;color:var(--muted)}.rc-root .tilebox.drop{box-shadow:0 0 0 3px var(--purple)}.rc-root .tilebox.bath{background:#e6f1f7;border-color:#7f9db5;min-height:112px;align-items:center;justify-content:center;text-align:center}.rc-root .tilebox.bath .icon{font-size:26px;line-height:1}.rc-root .tilebox.bath b{color:#2c5a78;font-size:15px;margin-top:2px}.rc-root .tilebox.bath .sub{font-size:11.5px;color:#4f7491}.rc-root .tilebox.stairs{background:repeating-linear-gradient(0deg,#fbfaf8 0,#fbfaf8 9px,#e4ded6 9px,#e4ded6 11px);border-color:#8b7e76;min-height:112px;align-items:center;justify-content:center;text-align:center}.rc-root .tilebox.stairs .icon{font-size:24px;line-height:1;color:#6a5f58}.rc-root .tilebox.stairs b{color:#4d433d;font-size:15px;background:#ffffffd9;padding:0 6px;border-radius:4px}.rc-root .tilebox.stairs .sub{font-size:11.5px;color:#5d524b;background:#ffffffd9;padding:0 4px;border-radius:4px;margin-top:2px}.rc-root .shafts{display:flex;flex-direction:column;gap:6px;position:relative;padding:0 9px}.rc-root .shafts:before,.rc-root .shafts:after{content:"";position:absolute;top:0;bottom:0;width:5px;background:repeating-linear-gradient(0deg,#8b7e76 0,#8b7e76 6px,#cfc6bb 6px,#cfc6bb 8px);border-radius:3px}.rc-root .shafts:before{left:0}.rc-root .shafts:after{right:0}.rc-root .bay{position:relative;min-height:0}.rc-root .bay>.tilebox.bath{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;padding-left:50%}.rc-root .bay>.tilebox.bath.north{clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 50%,50% 50%)}.rc-root .bay>.tilebox.bath.south{clip-path:polygon(0 0,100% 0,100% 100%,50% 100%,50% 50%,0 50%)}.rc-root .tilebox.closet{position:absolute;left:0;width:50%;height:50%;min-height:0;padding:3px;background:#efeaf5;border-color:#8b7aa8;align-items:center;justify-content:center;text-align:center}.rc-root .tilebox.closet.north{top:0}.rc-root .tilebox.closet.south{bottom:0}.rc-root .tilebox.closet b{font-size:12.5px;color:#4b2e83;line-height:1.1}.rc-root .tilebox.closet .icon{font-size:16px;line-height:1}.rc-root .tilebox.closet .sub{font-size:10.5px;color:#6c5a8c;line-height:1.1}.rc-root .tilebox .top{display:flex;justify-content:space-between;align-items:baseline}.rc-root .tilebox .no{font-size:20px;font-weight:800;color:var(--crimson);line-height:1}.rc-root .tilebox.off .no{color:var(--muted)}.rc-root .beds{display:flex;gap:3px;margin:4px 0 3px}.rc-root .bed{width:17px;height:11px;border-radius:2px;border:2px solid var(--purple);background:transparent}.rc-root .bed.on{background:var(--purple)}.rc-root .bed.x{border-color:var(--danger);background:var(--danger)}.rc-root .who{font-size:12.5px;line-height:1.3;overflow:hidden}.rc-root .who div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab}.rc-root .who .flag{color:var(--danger)}.rc-root .tags{margin-top:auto;padding-top:4px;font-size:11px;color:var(--muted);display:flex;flex-wrap:wrap;gap:2px 8px}.rc-root .gap{border:2px dashed #cfc6bb;border-radius:4px;color:#a39a92;font-size:12px;display:flex;align-items:center;justify-content:center;min-height:112px;text-align:center;padding:6px}.rc-root .rotate-note{font-size:12px;color:var(--muted);margin-top:6px}.rc-root .plan-wrap{grid-template-columns:1fr}.rc-root .bldg{flex-direction:row;position:static;flex-wrap:wrap}.rc-root .slab{flex:1}.rc-root .changes{background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin-bottom:10px;font-size:13px}.rc-root .changes summary{cursor:pointer}.rc-root .tilebox.sp{align-items:center;justify-content:center;text-align:center;min-height:0}.rc-root .tilebox.sp .icon{font-size:22px;line-height:1}.rc-root .tilebox.sp b{font-size:14.5px}.rc-root .tilebox.sp .sub{font-size:11.5px;color:var(--muted)}.rc-root .tilebox.sp.t-entrance{background:#fff2cf;border-color:#b88a00;border-width:3px}.rc-root .tilebox.sp.t-entrance b{color:#7a5b00}.rc-root .tilebox.sp.t-parents{background:#f3eefa;border-color:#8b7aa8}.rc-root .tilebox.sp.t-closet{background:#efeaf5;border-color:#8b7aa8}.rc-root .tilebox.sp.t-womens{background:#e6f1f7;border-color:#7f9db5}.rc-root .tilebox.sp.t-womens b{color:#2c5a78}.rc-root .tilebox.sp.t-dining{background:#fbf0e2;border-color:#c4975c}.rc-root .tilebox.sp.t-kitchen{background:#fde9d9;border-color:#cf8a55}.rc-root .tilebox.sp.t-storm{background:#e4e8ee;border-color:#6b7a8f}.rc-root .tilebox.sp.t-storm b{color:#3b4a60}.rc-root .tilebox.sp.t-social{background:#fbf0e2;border-color:#c4975c}.rc-root .tilebox.sp.t-mens,.rc-root .tilebox.sp.t-bathw{background:#e6f1f7;border-color:#7f9db5}.rc-root .tilebox.sp.t-mens b,.rc-root .tilebox.sp.t-bathw b{color:#2c5a78;font-size:12.5px}.rc-root .tilebox.sp.t-mens .icon,.rc-root .tilebox.sp.t-bathw .icon{font-size:16px}.rc-root .tilebox.sp.t-laundry{background:#e6f4f1;border-color:#6fa89c;padding-top:2px;padding-bottom:2px;flex-direction:row;gap:8px}.rc-root .tilebox.sp.t-laundry .icon{font-size:16px}.rc-root .tilebox.sp.t-workout{background:#eaf3e4;border-color:#8fa77a}.rc-root .tilebox.sp.t-open{background:transparent;border-style:dashed;color:var(--muted)}.rc-root .tilebox.sp.t-ecr{background:#e3e9f4;border-color:#5b6f9c}.rc-root .tilebox.sp.t-ecr b{color:#2f4170;font-size:12.5px}.rc-root .tilebox.sp.t-thin,.rc-root .tilebox.sp.t-storage,.rc-root .tilebox.sp.t-ecrcloset{background:#efeaf5;border-color:#8b7aa8}.rc-root .tilebox.sp.t-thin{flex-direction:row;gap:8px;padding-top:2px;padding-bottom:2px}.rc-root .tilebox.sp.t-thin b{font-size:12px}.rc-root .tilebox.sp.t-thin .icon{font-size:15px}.rc-root .tilebox.sp.t-socialw{background:#fbf0e2;border-color:#c4975c;border-right:3px dotted #c4975c}.rc-root .tilebox.sp.t-wetbar{background:#fdeccf;border-color:#c9a227;flex-direction:row;gap:8px}.rc-root .tilebox.sp.t-wetbar .icon{font-size:16px}.rc-root .tilebox.sp.t-pool{background:#dfeee0;border-color:#6a9a6e}.rc-root .tilebox.sp.t-ecr:after,.rc-root .tilebox.sp.t-ecrcloset:after,.rc-root .tilebox.sp.t-socialw:after{display:none}.rc-root .ecrbay{position:relative;min-height:0}.rc-root .ecrbay>.t-ecrcloset{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;clip-path:polygon(0 0,50% 0,50% 50%,100% 50%,100% 100%,0 100%);padding-right:50%}.rc-root .ecrbay>.t-ecr{position:absolute;right:0;top:0;width:50%;height:50%;min-height:0}.rc-root .doorway.hall{right:-8px;top:50%;transform:translateY(-50%);height:40%}.rc-root .cols.basement{column-gap:0}.rc-root .cols.basement>.tilebox,.rc-root .cols.basement>.bathband,.rc-root .cols.basement>.ecrbay2,.rc-root .cols.basement>.socialw{min-height:0}.rc-root .cols.basement>.hall{margin:0 6px}.rc-root .ecrbay2{display:grid;grid-template-columns:1fr 1fr;gap:0;position:relative}.rc-root .ecrbay2>.tilebox{min-height:0;height:100%}.rc-root .ecrbay2>.t-ecrcloset:after,.rc-root .ecrbay2>.t-ecr:after{display:none}.rc-root .ecrbay2>.t-ecr{border-left-width:2px}.rc-root .doorway.mid{left:-8px;right:auto;top:50%;transform:translateY(-50%);height:40%}.rc-root .socialw{position:relative;background:#fbf0e2;border:2px solid #c4975c;border-right:none;border-left-width:2px;cursor:pointer;text-align:left}.rc-root .socialw:focus-visible{outline:3px solid var(--purple);outline-offset:1px}.rc-root .socialw .thin{position:absolute;left:0;top:20%;width:14%;height:32%;border:2px solid #8b7aa8;background:#efeaf5;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font:inherit}.rc-root .socialw .thin span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10.5px;color:#5d4a85;font-weight:700}.rc-root .socialw .wetbar{position:absolute;left:13%;bottom:6px;width:46%;height:30%;border:0;background:none;padding:0;cursor:pointer}.rc-root .socialw .wetbar svg{width:100%;height:100%;display:block}.rc-root .socialw .lbl2{position:absolute;right:10px;top:8px;font-size:12px;color:var(--muted)}.rc-root .cols.basement .t-social{border-left:none}.rc-root .cols.basement .t-social:after{display:none}.rc-root .bathband{display:grid;grid-template-columns:3fr 1fr;gap:0}.rc-root .bathband>.tilebox{min-height:0;height:100%}.rc-root .bathband>.tilebox:after{display:none}.rc-root .bathband>.t-mens .doorway-h{top:-8px;bottom:auto;left:30%;width:40%}.rc-root .tilebox.sp.t-guest{background:#eef3e8;border-color:#8fa77a}.rc-root .tilebox.sp.t-guest b{color:#46632f}.rc-root .tilebox.sp.t-entrance:after,.rc-root .tilebox.sp.t-dining:after{display:none}.rc-root .doorway{position:absolute;right:-8px;width:10px;height:26%;min-height:34px;background:#f1ece6;border-top:3px solid #b88a00;border-bottom:3px solid #b88a00;display:flex;align-items:center;justify-content:center;font-size:11px;color:#b88a00;z-index:3}.rc-root .doorway.ne{top:6px}.rc-root .doorway.se{bottom:6px}.rc-root .doorway-h{position:absolute;bottom:-8px;width:22%;height:10px;background:#fbf0e2;border-left:3px solid #cf8a55;border-right:3px solid #cf8a55;display:flex;align-items:center;justify-content:center;font-size:9px;color:#cf8a55;z-index:3}.rc-root .doorway-h.l{left:14%}.rc-root .doorway-h.r{right:14%}.rc-root .tilebox.sp.t-dining{border-left:3px dotted #c4975c}.rc-root .tilebox.sp .sub.open{color:#8a5a22;font-style:italic}.rc-root .frontdoor{position:absolute;left:-26px;top:50%;transform:translateY(-50%);font-size:22px;color:#b88a00}.rc-root .rc-cell{display:flex;flex-direction:column;min-width:0;min-height:0}.rc-root .rc-cell>*{flex:1;min-height:0}.rc-root .rc-cell>.tilebox,.rc-root .rc-cell>.bay,.rc-root .rc-cell>.ecrbay2,.rc-root .rc-cell>.bathband,.rc-root .rc-cell>.socialw{min-height:0}.rc-root .rc-cell>.hall{margin:0 6px}.rc-root .pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:700;border:1px solid transparent}.rc-root .pill.full{background:#e4f3e9;color:var(--success)}.rc-root .pill.space{background:#efeaf8;color:var(--purple)}.rc-root .pill.over{background:#fbeaea;color:var(--danger)}.rc-root .pill.off{background:#f1ece4;color:var(--text-muted)}.rc-root .hint{color:var(--text-muted);font-size:.82rem;font-weight:400}.rc-root .rc-note{background:var(--warn-bg);border:1px solid #e4cf91;color:#6a5516;border-radius:8px;padding:8px 12px;font-size:.85rem;margin:8px 0 12px}.rc-root .rc-controls{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-end;margin-bottom:12px}.rc-root .rc-controls .field{margin:0}.rc-root .rc-lbl{display:block;font-size:.85rem;font-weight:600;margin-bottom:4px}.rc-root .rc-grow{flex:1}.rc-root .rc-right{display:flex;justify-content:flex-end}.rc-root .rc-seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.rc-root .rc-seg button{border:0;background:#fff;padding:8px 18px;font:inherit;cursor:pointer;color:var(--text)}.rc-root .rc-seg button+button{border-left:1px solid var(--border)}.rc-root .rc-seg button.on{background:var(--purple);color:#fff;font-weight:600}.rc-root .rc-seg button:disabled{opacity:.5;cursor:not-allowed}.rc-root .rc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.rc-root .rc-kpi{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.rc-root .rc-kn{font-size:1.4rem;font-weight:700;color:var(--purple);line-height:1.15;font-variant-numeric:tabular-nums}.rc-root .rc-kl{font-size:.76rem;color:var(--text-muted)}.rc-root .rc-kpi.bad .rc-kn{color:var(--danger)}.rc-root .rc-tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:14px}.rc-root .rc-tabs button{border:0;background:none;padding:8px 16px;font:inherit;cursor:pointer;color:var(--text-muted);border-bottom:3px solid transparent;margin-bottom:-2px}.rc-root .rc-tabs button.on{color:var(--purple);font-weight:700;border-bottom-color:var(--purple)}.rc-root .rc-toast{background:#e4f3e9;border:1px solid #b9dcc5;color:#1f5a35;border-radius:8px;padding:8px 12px;margin-bottom:10px}.rc-root .rc-use{display:block;margin-top:2px}.rc-root .rc-tray{background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 12px;position:sticky;top:8px;max-height:80vh;overflow:auto}.rc-root .rc-tray h4{margin:0 0 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.rc-root .rc-tray ul{list-style:none;margin:8px 0 0;padding:0}.rc-root .rc-tray li{padding:6px 0;border-top:1px solid #eee7da;cursor:grab}.rc-root .rc-tray li select{width:100%;margin-top:3px}.rc-root .rc-check{display:flex;gap:6px;align-items:center;font-weight:400}.rc-root .rc-row{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:8px}.rc-root .rc-small{width:auto;min-height:0;padding:6px 12px;font-size:.85rem}.rc-root .btn.link{background:none;border:0;color:var(--crimson);text-decoration:underline;padding:0 4px;cursor:pointer;font:inherit;width:auto;min-height:0}.rc-root .btn.secondary.on{background:var(--tint);border-color:var(--purple);color:var(--purple)}.rc-root .rc-tablewrap{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px;overflow:auto}.rc-root table.rc-table{width:100%;border-collapse:collapse;font-size:.85rem}.rc-root table.rc-table th{background:var(--purple);color:#fff;padding:8px 10px;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.rc-root table.rc-table td{padding:5px 8px;border-bottom:1px solid #EFE9DF;vertical-align:middle}.rc-root table.rc-table input:not([type=checkbox]),.rc-root table.rc-table select{width:100%;min-width:70px;padding:4px 6px;font-size:.85rem}.rc-root table.rc-table input.rc-num{width:62px;min-width:0}.rc-root .rc-c{text-align:center}.rc-root .rc-off td{color:var(--text-muted);background:#faf7f2}.rc-root .rc-bad{color:var(--danger);font-weight:700}.rc-root .rc-feat{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-root .rc-flag td{background:#fdf3f2}.rc-root .rc-sort{background:none;border:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;padding:0}.rc-root .rc-actions{display:inline-flex;gap:6px;align-items:center}.rc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a1a1f59;z-index:40}.rc-drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:#fff;z-index:41;padding:20px 22px 40px;overflow-y:auto;box-shadow:-10px 0 30px #00000040}.rc-drawer h2{margin:0 0 2px;color:var(--crimson)}.rc-drawer h3{margin:18px 0 6px;color:var(--purple);font-size:1rem}.rc-drawer h4{margin:0 0 6px}.rc-drawer h5{margin:12px 0 4px}.rc-drawer .hint{color:var(--text-muted);font-size:.82rem;font-weight:400}.rc-drawer .rc-close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:26px;cursor:pointer;color:var(--text-muted)}.rc-drawer .rc-note{background:var(--warn-bg, #FBF3D9);border:1px solid #e4cf91;color:#6a5516;border-radius:8px;padding:8px 12px;font-size:.85rem;margin:10px 0}.rc-drawer .rc-dims{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rc-drawer .rc-area{padding:8px 0;font-weight:700;color:var(--purple)}.rc-drawer .rc-fields{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:end;margin-bottom:6px}.rc-drawer .rc-check{display:flex;gap:6px;align-items:center;font-weight:400;margin-top:4px}.rc-drawer .rc-term{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:12px}.rc-drawer .rc-term.off{background:#faf7f2}.rc-drawer .rc-row{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:8px}.rc-drawer .rc-small{width:auto;min-height:0;padding:6px 12px;font-size:.85rem}.rc-drawer .rc-residents{list-style:none;margin:0;padding:0}.rc-drawer .rc-residents li{padding:6px 0;border-top:1px solid #eee7da;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}.rc-drawer .rc-residents li.flag{color:var(--danger)}.rc-drawer .rc-actions{display:inline-flex;gap:6px;align-items:center}.rc-drawer .btn.link{background:none;border:0;color:var(--crimson);text-decoration:underline;padding:0 4px;cursor:pointer;font:inherit;width:auto;min-height:0}.rc-drawer .rc-vacate{flex-basis:100%;background:#fbf3f2;border:1px solid #e3b3b0;border-radius:8px;padding:8px 10px}.rc-drawer .rc-vacate input{width:100%;margin:4px 0}.rc-drawer .rc-assign{display:flex;gap:8px;margin-top:8px}.rc-drawer .rc-assign select{flex:1}.rc-drawer .rc-history{list-style:none;margin:0;padding:0;font-size:.85rem}.rc-drawer .rc-history li{padding:5px 0;border-top:1px solid #eee7da}.rc-drawer .rc-jump>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.rc-drawer .btn.secondary.on{background:var(--tint, #F1ECF8);border-color:var(--purple);color:var(--purple)}.rc-drawer .pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:700}.rc-drawer .pill.full{background:#e4f3e9;color:var(--success)}.rc-drawer .pill.space{background:#efeaf8;color:var(--purple)}.rc-drawer .pill.over{background:#fbeaea;color:var(--danger)}.rc-drawer .pill.off{background:#f1ece4;color:var(--text-muted)}@media (max-width: 1100px){.rc-root .plan-wrap{grid-template-columns:1fr}.rc-root .bldg{flex-direction:row;position:static;flex-wrap:wrap}.rc-root .slab{flex:1}.rc-root .rc-kpis{grid-template-columns:repeat(2,1fr)}.rc-root .rc-tray{position:static}}.rc-root>.error-banner,.rc-root>.rc-toast{position:sticky;top:8px;z-index:6;box-shadow:0 4px 14px #00000026}.modal.rc-populate{width:640px;max-height:calc(100vh - 110px);overflow-y:auto}.rc-populate .rc-sum{margin:8px 0;padding-left:18px}.rc-populate .rc-sum li{margin:3px 0}.rc-populate .hint,.rc-changes .hint{color:var(--text-muted);font-size:.82rem;font-weight:400}.rc-populate .rc-row{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.rc-populate .rc-note{background:#fbf3d9;border:1px solid #e4cf91;color:#6a5516;border-radius:8px;padding:8px 12px;font-size:.85rem;margin:8px 0}.rc-sec{margin:8px 0;font-size:.88rem}.rc-sec summary{cursor:pointer}.rc-sec ul{margin:4px 0 0;padding-left:20px;max-height:190px;overflow-y:auto}.rc-sec.bad summary{color:var(--danger)}.rc-sec.warn summary{color:#8a6b1e}.rc-root .rc-changes{background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin-bottom:10px;font-size:.88rem}.rc-root .rc-changes summary{cursor:pointer}.rc-root .rc-changes ul{margin:4px 0 0;padding-left:20px}.rc-root .rc-note.bad{background:var(--bad-bg);border-color:#e3b3b0;color:var(--danger)}:root{--crimson: #7A1F2E;--crimson-dark: #5E1622;--purple: #4B2E83;--purple-dark: #3A2266;--cream: #FDFBF7;--white: #FFFFFF;--border: #E5DFD6;--text: #2A1A1F;--text-muted: #6B5F63;--danger: #B3261E;--success: #2F7D4A;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--text);cursor:default}a{color:var(--crimson)}h1,h2,h3,label,legend,.section-label{color:var(--purple)}h1,h2,h3{font-weight:700}.wizard-shell{max-width:480px;margin:0 auto;padding:20px 16px 48px;min-height:100vh}.wizard-header{text-align:center;margin-bottom:20px}.wizard-header h1{font-size:1.15rem;margin:0 0 4px}.wizard-progress{color:var(--text-muted);font-size:.85rem;margin-bottom:4px}.wizard-banner{background:var(--purple);color:var(--white);border-radius:10px;padding:14px 16px;margin-bottom:20px;font-weight:600;text-align:center}.field{display:flex;flex-direction:column;margin-bottom:16px}.field label{font-size:.85rem;font-weight:600;margin-bottom:6px}.field .hint{font-size:.78rem;color:var(--text-muted);margin-top:4px}.field .field-error{font-size:.78rem;color:var(--danger);margin-top:4px}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=datetime-local],input[type=url],input[type=number],select,textarea{font-size:1rem;padding:14px 12px;border-radius:8px;border:1px solid var(--border);background:var(--white);color:var(--text);width:100%;min-height:48px}input:focus,select:focus,textarea:focus{outline:2px solid var(--purple);outline-offset:1px}fieldset{border:none;padding:0;margin:0}fieldset:disabled{opacity:.6}.checkbox-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.checkbox-row input[type=checkbox]{width:22px;height:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;font-size:1.05rem;font-weight:600;border-radius:10px;border:none;cursor:pointer;background:var(--crimson);color:var(--white);padding:12px 20px}.btn:hover:not(:disabled){background:var(--crimson-dark)}.btn:disabled{opacity:.65;cursor:not-allowed}.btn.secondary{background:var(--white);color:var(--purple);border:2px solid var(--purple)}.btn.secondary:hover:not(:disabled){background:#f3effa}.btn.link{background:none;color:var(--crimson);width:auto;min-height:auto;padding:6px 0;text-decoration:underline;font-weight:500}.btn.link:hover:not(:disabled){color:var(--white)}.btn-row{display:flex;flex-direction:column;gap:10px;margin-top:24px}.btn-busy{display:inline-flex;align-items:center;gap:8px}.spinner{width:18px;height:18px;border-radius:50%;border:3px solid rgba(255,255,255,.4);border-top-color:var(--white);animation:spin .7s linear infinite;flex-shrink:0}.spinner.dark{border:3px solid rgba(75,46,131,.25);border-top-color:var(--purple)}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{background:#fbeaea;color:var(--danger);border:1px solid var(--danger);border-radius:8px;padding:12px 14px;margin-bottom:16px;font-size:.9rem}.error-banner .btn{margin-top:10px}.guardian-card{border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px;background:var(--white)}.guardian-card h3{margin-top:0;font-size:1rem}.review-section{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px}.review-section h2{font-size:.95rem;margin:0 0 10px;display:flex;justify-content:space-between;align-items:center}.review-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #F1ECE4;font-size:.92rem}.review-row:last-child{border-bottom:none}.review-row .label{color:var(--text-muted)}.full-page-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:var(--purple)}.consent-note{font-size:.78rem;color:var(--text-muted);margin:16px 0;line-height:1.4}.thank-you{text-align:center;padding-top:40px}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:220px;background:var(--crimson);color:var(--white);padding:24px 16px;flex-shrink:0}.admin-sidebar .brand{font-weight:700;font-size:1rem;margin-bottom:2px}.admin-sidebar .brand-sub{color:#e6c7cc;font-size:.72rem;margin-bottom:24px}.admin-sidebar nav a{display:block;padding:10px 12px;border-radius:6px;text-decoration:none;color:#f2dde1;font-size:.9rem;margin-bottom:4px}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{background:var(--crimson-dark);color:var(--white)}.admin-sidebar .nav-group{padding:1.2em 0}.admin-sidebar .nav-group-heading{color:#e6c7cc;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:0 12px;margin-bottom:6px}.admin-sidebar .nav-group a:before{content:"-  "}.admin-main{flex:1;padding:28px 32px;max-width:1100px}.admin-main:has(.users-wide){max-width:none}.admin-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:20px}.admin-login{max-width:360px;margin:80px auto;text-align:center}table{width:100%;border-collapse:collapse}thead th{background:var(--purple);color:var(--white);text-align:left;padding:10px 12px;font-size:.82rem;text-transform:uppercase;letter-spacing:.02em}tbody td{padding:10px 12px;border-bottom:1px solid var(--border);font-size:.9rem}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.badge.submitted{background:#e4f3e9;color:var(--success)}.badge.in_progress{background:#fbf1da;color:#8a6b1e}.badge.not_started{background:#f1ece4;color:var(--text-muted)}.badge.pending_review{background:#fbeaea;color:var(--danger)}.badge.completed{background:#e4e8f3;color:var(--purple)}.page-header{margin-bottom:20px}.detail-grid{display:grid;grid-template-columns:140px 1fr;row-gap:10px;column-gap:16px;margin:0}.detail-grid dt{color:var(--text-muted);font-size:.85rem}.detail-grid dd{margin:0}.admin-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.admin-toolbar .btn{width:auto;min-height:40px;padding:8px 16px;font-size:.9rem}.column-config-row{display:grid;grid-template-columns:40px 1fr 100px 80px;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--border)}.column-config-row input[type=number]{min-height:36px;padding:6px 8px}.icon-btn{background:none;border:1px solid var(--border);border-radius:6px;width:32px;height:32px;cursor:pointer;color:var(--purple);font-weight:700}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.rte{border:1px solid var(--border);border-radius:8px;background:var(--white);overflow:hidden}.rte-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:8px;background:#f8f5ef;border-bottom:1px solid var(--border)}.rte-toolbar-btn{min-height:32px;min-width:32px;padding:4px 8px;border-radius:6px;border:1px solid transparent;background:none;color:var(--text);font-size:.85rem;cursor:pointer}.rte-toolbar-btn:hover{background:#efe9de}.rte-toolbar-btn.active{background:var(--purple);color:var(--white)}.rte-toolbar-sep{width:1px;align-self:stretch;background:var(--border);margin:2px 4px}.rte-content{padding:14px;min-height:220px}.rte-content .ProseMirror{outline:none;min-height:200px}.rte-content p{margin:0 0 .8em}.rte-content ul,.rte-content ol{padding-left:1.4em}.email-preview{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--white)}.email-preview-banner{background:var(--purple);color:var(--white);padding:14px 18px}.email-preview-subject{font-weight:700;font-size:1.05rem}.email-preview-meta{font-size:.8rem;color:#ddd4f0;margin-top:2px}.email-preview-body{padding:20px;line-height:1.5}.email-preview-body p{margin:0 0 .8em}.badge.st-new_member{background:#ece6f8;color:var(--purple)}.badge.st-active{background:#e4f3e9;color:var(--success)}.badge.st-alumnus{background:#e4e8f3;color:#3d4f8a}.badge.st-resigned{background:#fbf1da;color:#8a6b1e}.badge.st-expelled{background:#fbeaea;color:var(--danger)}.badge.st-deceased{background:#3b3236;color:#fff}.badge.st-unclassified,.badge.unknown{background:#fbf1da;color:#8a6b1e;border:1px dashed #d9bd73}.src-tag{font-size:.68rem;color:var(--text-muted);margin-left:6px;border:1px solid var(--border);border-radius:4px;padding:0 5px;white-space:nowrap;background:#faf7f1}.src-tag.prov{color:#8a6b1e;border-color:#e4cf91;background:#fff7df}.banner{border-radius:8px;padding:11px 14px;margin-bottom:16px;font-size:.9rem}.banner.warn{background:#fbf1da;border:1px solid #e4cf91;color:#5c4710}.banner.info{background:#ece6f8;border:1px solid #cfc2ee;color:var(--purple-dark)}.banner.danger{background:#fbeaea;border:1px solid var(--danger);color:var(--danger)}.action-menu{position:relative;display:inline-block}.action-menu-list{position:absolute;right:0;top:44px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px #00000029;padding:6px;min-width:240px;z-index:20}.action-menu-list a,.action-menu-list button{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 10px;border-radius:6px;font:inherit;font-size:.9rem;color:var(--text);text-decoration:none;cursor:pointer}.action-menu-list a:hover,.action-menu-list button:hover{background:#f3effa}.stat-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.stat-row>div{background:#fff;border:1px solid var(--border);border-radius:8px;padding:9px 14px;font-size:.8rem;color:var(--text-muted)}.stat-row b{display:block;font-size:1.25rem;color:var(--purple)}.stat-row>div.warn{background:#fff9ec;border-color:#e4cf91}.stat-row>div.warn b{color:#8a6b1e}tbody tr.row-flag td{background:#fff9ec}tbody tr.row-off td{background:#f6f2ec;color:var(--text-muted)}.stepper{display:flex;gap:8px;margin-bottom:16px;font-size:.82rem;flex-wrap:wrap}.stepper span{padding:6px 13px;border-radius:999px;background:#f1ece4;color:var(--text-muted);font-weight:600}.stepper span.done{background:#e4f3e9;color:var(--success)}.stepper span.cur{background:var(--purple);color:#fff}.footbar{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-top:14px;flex-wrap:wrap}.footbar .btn{width:auto}.history-timeline{list-style:none;margin:0;padding:0 0 0 4px;border-left:3px solid #d9d0e8}.history-timeline li{position:relative;padding:0 0 14px 18px;font-size:.88rem}.history-timeline li:before{content:"";position:absolute;left:-9px;top:3px;width:13px;height:13px;border-radius:50%;background:var(--purple);border:2px solid #fff}.history-timeline li.unknown-date:before{background:#fff;border:2px dashed var(--purple)}.history-timeline .when{font-weight:700}.history-timeline .meta{color:var(--text-muted);font-size:.78rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a1a1f73;display:flex;align-items:flex-start;justify-content:center;padding-top:70px;z-index:50}.modal{background:#fff;border-radius:12px;width:520px;max-width:calc(100vw - 32px);padding:22px;box-shadow:0 14px 40px #0000004d}.locked-field{background:#f1ece4;border:1px dashed #cfc7bb;color:var(--text-muted);border-radius:8px;padding:12px;font-size:.95rem}.dashboard{max-width:1240px}.dash-refresh{margin-left:10px;border:1px solid var(--border);background:#fff;border-radius:6px;padding:3px 10px;font-size:.78rem;color:var(--purple);cursor:pointer}.dash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:8px}.dash-kpis>div{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 16px}.dash-kpis .n{font-size:1.7rem;font-weight:700;color:var(--purple);line-height:1.1}.dash-kpis .l{font-size:.78rem;color:var(--text-muted);margin-top:2px}.dash-kpis .warn .n{color:#8a6b1e}.dashboard section h2{margin:26px 0 4px;font-size:1.1rem;color:var(--crimson);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.dashboard section h2 small{font-size:.78rem;font-weight:400;color:var(--text-muted)}.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}.dash-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px 16px 12px;display:flex;flex-direction:column;min-width:0}.dash-card h3{margin:0;font-size:.95rem;color:var(--text)}.dash-takeaway{margin:3px 0 10px;font-size:.8rem;color:var(--text-muted);min-height:2.4em}.dash-takeaway b{color:var(--crimson)}.dash-chart{display:flex;align-items:center;justify-content:center;min-height:150px}.dash-legend{list-style:none;margin:8px 0 0;padding:0;font-size:.78rem}.dash-legend li{display:flex;align-items:center;gap:7px;padding:2px 0}.dash-legend .sw{width:10px;height:10px;border-radius:2px;flex-shrink:0}.dash-legend .v{margin-left:auto;color:var(--text-muted);font-variant-numeric:tabular-nums}.dash-foot{margin-top:auto;padding-top:10px;font-size:.72rem;color:var(--text-muted);display:flex;justify-content:space-between;gap:8px;border-top:1px solid #F1ECE4}.dash-foot a{color:var(--purple);text-decoration:none;white-space:nowrap}@media (max-width: 1100px){.dash-grid,.dash-kpis{grid-template-columns:1fr 1fr}}@media (max-width: 760px){.dash-grid,.dash-kpis{grid-template-columns:1fr}}.admin-main:has(.dm-page){max-width:none;min-width:0}.dm-page{--dm-band: #F3EEF9;--dm-gold: #C79A2B}.dm-toolbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;background:var(--white);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:6px}.dm-toolbar label{display:block;font-size:.7rem;font-weight:700;color:var(--purple);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.dm-toolbar select,.dm-toolbar input{font:inherit;font-size:.88rem;padding:7px 9px;border:1px solid #cfc7bb;border-radius:7px;background:var(--white);color:var(--text);width:auto;min-height:0}.dm-toolbar .dm-viewsel{font-weight:700;color:var(--purple);border:2px solid var(--purple);min-width:260px;padding:8px 10px}.dm-stepper{display:flex;gap:4px;align-items:flex-end}.dm-stepper button{height:38px;width:34px;border:1px solid #cfc7bb;background:var(--white);border-radius:7px;font-size:1.2rem;cursor:pointer;color:var(--purple);line-height:1;padding:0}.dm-stepper button:hover{background:var(--dm-band)}.dm-grow{flex:1;min-width:160px}.dm-grow input{width:100%}.dm-export{width:auto;min-height:0;padding:8px 12px;text-decoration:none}.dm-keyhint{margin:0 2px 12px}.dm-notice{background:#eef1f7;border:1px solid #c6cfe0;color:#33405a;border-radius:8px;padding:8px 12px;font-size:.82rem;margin-bottom:12px}.dm-empty{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:24px;color:var(--text-muted)}.dm-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:12px}.dm-kpi{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.dm-kn{font-size:1.3rem;font-weight:700;color:var(--purple);line-height:1.15;font-variant-numeric:tabular-nums}.dm-kl{font-size:.74rem;color:var(--text-muted)}.dm-kpi.warn .dm-kn{color:#8a6b1e}.dm-kpi.bad .dm-kn{color:var(--danger)}@media (max-width: 1100px){.dm-kpis{grid-template-columns:repeat(3,1fr)}}.dm-gridwrap{background:var(--white);border:1px solid var(--border);border-radius:10px;overflow:auto;max-height:68vh;scrollbar-width:none;scroll-padding-left:240px;scroll-padding-top:64px}.dm-gridwrap::-webkit-scrollbar{height:0;width:10px}.dm-gridwrap::-webkit-scrollbar-thumb{background:#cfc7bb;border-radius:5px}table.dm-grid{border-collapse:separate;border-spacing:0;font-size:.82rem;width:max-content;min-width:100%}table.dm-grid th,table.dm-grid td{padding:5px 8px;border-bottom:1px solid #EFE9DF;border-right:1px solid #F3EEE6;white-space:nowrap;font-size:.82rem}table.dm-grid thead th{position:sticky;background:var(--purple);color:var(--white);font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.02em;z-index:3;padding:6px 8px;text-align:left}table.dm-grid thead tr.dm-g1 th{top:0;text-align:center;background:var(--purple-dark)}table.dm-grid thead tr.dm-g2 th{top:29px}table.dm-rooms thead tr.dm-g2 th{top:0}table.dm-grid th.dm-num,table.dm-grid td.dm-num{text-align:right;font-variant-numeric:tabular-nums}table.dm-grid td.dm-ctr,table.dm-grid th.dm-ctr{text-align:center}table.dm-grid td.dm-name{position:sticky;background:var(--white);z-index:1;font-weight:600}table.dm-grid td.dm-l1,table.dm-grid th.dm-l1{left:0;min-width:130px}table.dm-grid td.dm-l2,table.dm-grid th.dm-l2{left:130px;min-width:90px;border-right:2px solid var(--border)}table.dm-grid thead th.dm-l1,table.dm-grid thead th.dm-l2,table.dm-grid thead th.dm-g1th{z-index:4}table.dm-grid td.dm-gstart,table.dm-grid th.dm-gstart{border-left:2px solid var(--border)}tr.dm-band td{background:var(--dm-band);color:var(--purple);font-weight:700;position:sticky;left:0}tr.dm-band td small{font-weight:400;color:var(--text-muted);margin-left:8px}tr.dm-sub td{background:#faf7fd;font-weight:700;border-top:2px solid var(--border)}tr.dm-sub td.dm-name{background:#faf7fd}tr.dm-grand td{background:#efe8f8;font-weight:700}tr.dm-grand td.dm-name{background:#efe8f8}td.dm-cell{cursor:cell;outline:none}td.dm-cell:hover{background:#fbf8ff}td.dm-cell:focus{outline:2px solid var(--purple);outline-offset:-2px;background:#f6f1ff;z-index:2;position:relative}td.dm-name.dm-cell:focus{position:sticky}tr:has(td.dm-cell:focus) td.dm-cell{background:#fbf8ff}tr:has(td.dm-cell:focus) td.dm-cell:focus{background:#f0e8ff}th.dm-spr{background:#5b3d9c}td.dm-spr{background-image:linear-gradient(#fbf9fe,#fbf9fe)}th.dm-sem,td.dm-sem{background:#f7f3fc;font-weight:700;border-left:1px solid #e3daf3}table.dm-grid thead th.dm-sem{background:#35205f;color:var(--white)}tr.dm-suspended td.dm-cell{color:#7a6a52}td.dm-notes{min-width:220px;max-width:300px;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted)}td.dm-notes span{display:inline-block;max-width:280px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.dm-owe{color:var(--danger);font-weight:700}.dm-paidtxt{color:var(--success);font-weight:700}.dm-credit{color:#1d4d7a;font-weight:700}.dm-prepaid{color:var(--success);font-weight:700}.dm-sched{color:#8a6b1e;font-style:italic}.dm-badge{display:inline-block;padding:1px 7px;border-radius:999px;font-size:.66rem;font-weight:700;margin-left:6px}.dm-badge.dm-sus{background:#fbf1da;color:#8a6b1e}.dm-badge.dm-ach{background:#e4f3e9;color:var(--success);margin-left:0}.dm-badge.dm-vac{background:#fbeaea;color:var(--danger);margin-left:0}tr.dm-roomstart td{border-top:2px solid var(--border)}.dm-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.74rem;color:var(--text-muted);margin:10px 2px 48px}.dm-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:5px;border:1px solid var(--border)}.dm-lg-prepaid{background:#f1f8f3}.dm-lg-sched{background:#fffaeb}.dm-lg-spr{background:#fbf9fe}.dm-hscroll{position:fixed;bottom:0;height:30px;display:flex;align-items:center;gap:8px;padding:0 8px;background:var(--white);border-top:1px solid var(--border);box-shadow:0 -4px 12px #0000000d;z-index:15}.dm-hscroll button{width:26px;height:22px;border:1px solid #cfc7bb;background:var(--white);border-radius:6px;color:var(--purple);cursor:pointer;font-size:.7rem;line-height:1;padding:0;min-height:0}.dm-hscroll button:hover{background:var(--dm-band)}.dm-hstrack{flex:1;position:relative;height:14px;background:#f3eef9;border-radius:7px;cursor:pointer}.dm-hsthumb{position:absolute;top:0;height:14px;min-width:40px;background:var(--purple);border-radius:7px;cursor:grab}.dm-hsthumb:hover{background:var(--purple-dark)}.ms-wrap{position:relative;display:inline-block;max-width:100%}.ms-button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:200px;font:inherit;font-size:.9rem;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--white);color:var(--text);cursor:pointer;text-align:left;min-height:0}.ms-button:hover:not(:disabled){border-color:var(--purple)}.ms-button:focus-visible{outline:2px solid var(--purple);outline-offset:1px}.ms-button:disabled{opacity:.65;cursor:not-allowed}.ms-summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-caret{color:var(--purple);font-size:.8rem}.ms-panel{position:fixed;z-index:50;background:var(--white);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000024;padding:6px;max-height:min(70vh,460px);overflow:auto}.ms-option{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:7px;cursor:pointer;font-weight:400;margin:0}.ms-option:hover{background:#f6f1ff}.ms-option input{margin-top:3px;width:auto;flex:none}.ms-label{display:block;font-size:.9rem;font-weight:600;color:var(--text)}.ms-desc{display:block;font-size:.76rem;color:var(--text-muted);line-height:1.35;margin-top:1px;max-width:320px}.dm-pref{font-weight:400;color:var(--text-muted)}.info-edit{display:flex;flex-direction:column;gap:6px;max-width:420px}.info-edit input[type=text],.info-edit input[type=email],.info-edit input[type=tel],.info-edit input[type=url],.info-edit input[type=date]{width:100%}.info-edit-check{font-weight:400}.info-edit-actions{display:flex;gap:8px}.info-edit-link{margin-left:10px;padding:0;min-height:0;font-size:.8rem}td.dm-editable{cursor:cell}td.dm-editable:hover{background:#fbf8ff;outline:1px solid #d9cdf0;outline-offset:-1px}td.dm-pending{background:#fff6d6;box-shadow:inset 3px 0 0 var(--dm-gold, #C79A2B)}.dm-pendingval{font-style:italic}input.dm-input{width:84px;font:inherit;font-size:.82rem;text-align:right;padding:2px 4px;min-height:0;border:2px solid var(--purple);border-radius:4px;background:var(--white)}input.dm-input.dm-input-notes{width:280px;text-align:left}.dm-toast{border-radius:8px;padding:8px 12px;font-size:.84rem;margin-bottom:12px}.dm-toast-ok{background:#e8f4ec;border:1px solid #b6d9c1;color:#1f5a35}.dm-toast-warn{background:#fff9ec;border:1px solid #e4cf91;color:#6a5516}.dm-toast-error{background:#fbeaea;border:1px solid #e3b3b0;color:var(--danger)}.pd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#2a1a1f47}.pd-drawer{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--white);border-left:1px solid var(--border);box-shadow:-10px 0 28px #00000024;display:flex;flex-direction:column}.pd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 10px;border-bottom:1px solid var(--border)}.pd-head h2{margin:0;font-size:1.15rem;color:var(--purple)}.pd-head .hint{margin:2px 0 0}.pd-close{border:0;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--text-muted);padding:0 4px;min-height:0;width:auto}.pd-body{overflow:auto;padding:14px 18px 28px}.pd-pad{padding:18px}.pd-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.pd-totals div{background:#faf7fd;border:1px solid var(--border);border-radius:8px;padding:8px 10px}.pd-totals b{display:block;font-size:1.05rem;color:var(--purple);font-variant-numeric:tabular-nums}.pd-totals span{font-size:.72rem;color:var(--text-muted)}.pd-totals .pd-credit b{color:#8a6b1e}table.pd-table{width:100%;border-collapse:collapse;font-size:.84rem;margin:6px 0}.pd-table th{background:none;color:var(--text-muted);text-transform:none;font-size:.74rem;padding:4px 6px;text-align:left;letter-spacing:0;border-bottom:1px solid var(--border)}.pd-table td{padding:5px 6px;border-bottom:1px solid #EFE9DF;font-size:.84rem}.pd-table .n{text-align:right;font-variant-numeric:tabular-nums}.pd-table input{width:84px;text-align:right;min-height:0;padding:3px 6px}.pd-sum td{font-weight:700;border-top:2px solid var(--border)}.pd-form{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.pd-form h3,.pd-list h3{margin:0 0 8px;font-size:1rem;color:var(--purple)}.pd-row{display:flex;gap:10px}.pd-row .pd-field{flex:1;min-width:0}.pd-field{display:block;font-size:.74rem;font-weight:700;color:var(--purple);text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}.pd-field input,.pd-field select{display:block;width:100%;margin-top:3px;font:inherit;font-size:.9rem;font-weight:400;text-transform:none;letter-spacing:0;padding:7px 9px;min-height:0}.pd-modes{border:1px solid var(--border);border-radius:8px;padding:8px 10px 10px;margin:0 0 12px}.pd-modes legend{font-size:.74rem;font-weight:700;color:var(--purple);text-transform:uppercase;padding:0 4px}.pd-radio{display:flex;gap:8px;align-items:flex-start;font-weight:400;margin:4px 0;font-size:.88rem}.pd-radio input{width:auto;margin-top:3px}.pd-modes select{width:100%;margin-top:6px;min-height:0;padding:6px 8px}.pd-preview{background:#faf7fd;border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin:4px 0 12px}.pd-preview h4{margin:0 0 4px;font-size:.82rem;color:var(--purple)}.pd-warn{color:#8a6b1e;font-size:.8rem;margin:4px 0}.pd-warnbox{background:#fff9ec;border:1px solid #e4cf91;border-radius:8px;padding:8px 10px;margin:8px 0;font-size:.84rem}.pd-warnbox ul{margin:4px 0 8px;padding-left:18px}.pd-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.pd-list{margin-top:20px;padding-top:12px;border-top:1px solid var(--border)}.pd-listhead{display:flex;justify-content:space-between;align-items:baseline}.pd-voidedtoggle{font-size:.78rem;font-weight:400;color:var(--text-muted)}.pd-voidedtoggle input{width:auto}.pd-list ul{list-style:none;margin:0;padding:0}.pd-list li{padding:8px 0;border-bottom:1px solid #EFE9DF}.pd-pline{display:flex;gap:10px;align-items:baseline}.pd-pline b{font-variant-numeric:tabular-nums}.pd-tag{font-size:.66rem;font-weight:700;padding:1px 7px;border-radius:999px;background:#fbf1da;color:#8a6b1e}.pd-tagvoid{background:#fbeaea;color:var(--danger)}.pd-voided .pd-pline b,.pd-voided .pd-pline span:nth-child(2){text-decoration:line-through;color:var(--text-muted)}.pd-scheduled .pd-pline b{font-style:italic}td.dm-act{text-align:center}.dm-paybtn{padding:0 6px;min-height:0;font-size:.78rem}.gd-form{margin-top:8px}.gd-row{display:flex;gap:10px;flex-wrap:wrap}.gd-row .gd-field{flex:1;min-width:120px}.gd-field{display:block;font-size:.74rem;font-weight:700;color:var(--purple);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}.gd-field input,.gd-field select{display:block;width:100%;margin-top:3px;font:inherit;font-size:.9rem;font-weight:400;text-transform:none;letter-spacing:0;padding:7px 9px;min-height:0}th.dm-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.dm-sortable:hover{background:var(--purple-dark)}th.dm-sortable:focus-visible{outline:2px solid var(--white);outline-offset:-4px}.dm-sortarrow{margin-left:6px;font-size:.7rem}tr.dm-noacct td.dm-cell{background:#fbf8f2;color:#6b5f63;font-style:italic}tr.dm-noacct td.dm-name{background:#fbf8f2}.dm-badge.dm-na{background:#e8f1fa;color:#1d4d7a;font-style:normal}table.dm-rooms td.dm-editable{cursor:cell}table.dm-rooms td.dm-editable:focus{outline:2px solid var(--purple);outline-offset:-2px;background:#f6f1ff}select.dm-payer{font:inherit;font-size:.8rem;padding:3px 6px;min-height:0;max-width:240px;border:1px solid #cfc7bb;border-radius:6px;background:var(--white)}.pd-payerpick{display:flex;align-items:center;gap:8px;margin-top:4px}.pd-payerpick select{font:inherit;font-size:.8rem;padding:3px 6px;min-height:0;max-width:100%;border:1px solid #cfc7bb;border-radius:6px;background:var(--white)}th.dm-rownum,td.dm-rownum{width:44px;color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}.dm-kpis-one{grid-template-columns:minmax(180px,260px)}.dm-kpis-three{grid-template-columns:repeat(3,minmax(0,1fr))}.dm-warn{color:#8a6b1e;font-size:.84rem}.stp-preview{margin:4px 0 14px}.stp-preview table{width:100%;font-size:.86rem}.stp-preview th{font-size:.72rem}.modal.dm-settle{width:640px;max-height:calc(100vh - 110px);overflow-y:auto}.dm-settle-sum{width:100%;border-collapse:collapse;margin:6px 0 14px}.dm-settle-sum th{text-align:left;font-weight:500;padding:6px 8px 6px 0}.dm-settle-sum td{padding:4px 0;width:150px}.dm-settle-sum input{width:100%;text-align:right}.dm-settle-sum .btn.link{display:block;padding:0;font-size:.85em}.dm-settle-total th,.dm-settle-total td{border-top:1px solid var(--border, #d9cfd2);padding-top:8px}.dm-settle-method{border:0;padding:0;margin:0 0 14px;display:flex;gap:18px;align-items:center}.dm-settle-method legend{padding:0;font-weight:500;margin-bottom:6px}.dm-settle-row{display:flex;gap:14px}.dm-settle-row .field{flex:1}.dm-settle-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;flex-wrap:wrap}.dm-settle-reopen{border-top:1px solid var(--border, #d9cfd2);padding-top:12px}@media (max-width: 560px){.dm-settle-row{flex-direction:column;gap:0}}.dm-paybtn+.dm-paybtn{margin-left:12px}.dm-toast-action{margin-left:12px;padding:0;font-weight:600}.dm-cell.dm-opens{cursor:pointer}.dm-cell.dm-opens:hover{background:#6e23460f}.pd-actions{margin-top:4px}.pd-voidform{margin-top:8px;padding:10px 12px;border:1px solid #e3b3b0;background:#fbf3f2;border-radius:8px}.pd-voidform p{margin:0 0 8px}.pd-voidform fieldset{border:0;padding:0;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:4px 16px}.pd-voidform legend{padding:0;font-weight:600;margin-bottom:4px}.pd-voidform input[type=text]{width:100%;margin-bottom:8px}.pd-voidbtns{display:flex;justify-content:flex-end;gap:10px}
