@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap');
:root{--ink:#172726;--muted:#6d7d7b;--line:#e4eae8;--bg:#f5f7f6;--teal:#0c766e;--soft:#e9f5f2;--shadow:0 12px 34px #1a363217}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}a{color:var(--teal);text-decoration:none}h1,h2{font-family:Manrope,sans-serif;margin:0}p{margin:.35rem 0}.muted{color:var(--muted)}.small{font-size:.76rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--teal);font-weight:700;font-size:.72rem}.btn{border:1px solid transparent;padding:.72rem 1rem;border-radius:9px;font-weight:600;cursor:pointer}.btn.primary{background:var(--teal);color:#fff}.btn.primary:hover{background:#085b55;transform:translateY(-1px)}.btn.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.btn.full{width:100%;padding:.9rem}.alert{padding:.8rem 1rem;border-radius:9px;margin-bottom:1rem;background:#eef5ff;color:#244e78}.alert.success{background:#eaf7f1;color:#147154}.alert.error{background:#fff0ee;color:#b42318}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,45%) 1fr}.auth-brand{padding:3rem clamp(2rem,6vw,6rem);background:linear-gradient(145deg,#064d49,#0b7168 62%,#269084);color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-brand:after{content:"";position:absolute;width:430px;height:430px;border:1px solid #ffffff24;border-radius:50%;right:-210px;bottom:-100px;box-shadow:0 0 0 70px #ffffff0a,0 0 0 140px #ffffff08}.brand{display:flex;align-items:center;gap:.75rem;color:var(--ink);font:700 1.25rem Manrope}.brand-light{color:#fff}.brand-mark{width:35px;height:35px;border-radius:10px;background:var(--teal);color:#fff;display:grid;place-items:center}.brand-light .brand-mark{background:#fff;color:var(--teal)}.auth-brand h1{font-size:clamp(2.5rem,4vw,4.6rem);line-height:1.06;max-width:620px}.auth-brand>div>p:not(.eyebrow){max-width:540px;color:#d2e8e4;font-size:1.08rem}.auth-proof{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.82rem;color:#d8eeea}.auth-panel{display:grid;place-items:center;padding:2rem}.auth-card{width:min(430px,100%)}.auth-card h2{font-size:2rem}.auth-card>.muted{margin:.6rem 0 1.5rem}.stack{display:grid;gap:1rem}.stack label,.form-grid label{display:grid;gap:.45rem;font-size:.84rem;font-weight:600}.stack input,.form-grid input,.form-grid select,.form-grid textarea,.topbar select,.table-search{border:1px solid #d8e1df;background:#fff;border-radius:9px;padding:.8rem;outline:none}.stack input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0c766e18}.switch{text-align:center;color:var(--muted);margin-top:1.5rem}.mobile-brand{display:none}
.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#fff;border-right:1px solid var(--line);padding:1.5rem 1rem;z-index:20;display:flex;flex-direction:column}.sidebar .brand{padding:0 .7rem 1.8rem}.sidebar nav{display:grid;gap:.25rem}.sidebar nav a,.sidebar-bottom a{display:flex;align-items:center;gap:.8rem;padding:.75rem .8rem;border-radius:8px;color:#53625f;font-size:.9rem}.sidebar nav a:hover,.sidebar nav a.active{background:var(--soft);color:var(--teal);font-weight:600}.sidebar-bottom{margin-top:auto;display:grid}.topbar{position:fixed;left:238px;right:0;top:0;height:76px;background:#fffffff4;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,3vw,2.5rem)}.topbar p{margin:0}.topbar select{padding:.25rem;border:0;background:transparent;font-weight:600}.top-actions{display:flex;align-items:center;gap:.7rem}.icon-btn{border:0;background:transparent;padding:.5rem;cursor:pointer;font-size:1.1rem}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#d8eee9;color:var(--teal);font-weight:700}.user-label{display:grid;font-size:.82rem}.user-label span{color:var(--muted);font-size:.72rem}.menu-btn{display:none}.content{margin-left:238px;padding:108px clamp(1rem,3vw,2.5rem) 3rem;min-height:100vh}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:1.8rem}.page-head h1{font-size:1.85rem}.page-head>div>p:last-child{color:var(--muted)}.head-actions{display:flex;gap:.6rem}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.15rem;display:flex;gap:1rem}.stat-icon{width:43px;height:43px;border-radius:10px;display:grid;place-items:center}.stat-icon.teal{background:#e4f4f2;color:#168377}.stat-icon.green{background:#e9f6ea;color:#3b843d}.stat-icon.amber{background:#fff3db;color:#c17a0b}.stat-icon.purple{background:#f0ebfa;color:#7650a3}.stat p{color:var(--muted);font-size:.78rem}.stat strong{font:700 1.55rem Manrope;display:block}.stat small{color:#82908e}.dashboard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:1rem;margin-top:1rem}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.25rem}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}.panel h2{font-size:1.05rem}.panel-head p{color:var(--muted);font-size:.78rem}.room-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.room-mini{border-left:3px solid #55a196;background:#edf7f5;border-radius:7px;padding:.75rem}.room-mini strong{display:block}.room-mini span{font-size:.69rem;color:var(--muted)}.room-mini.occupied{background:#fff1e8;border-color:#de8149}.room-mini.cleaning{background:#f3effc;border-color:#8462b5}.room-mini.maintenance{background:#f2f3f3;border-color:#83908e}.legend{display:flex;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:1rem;padding-top:.9rem;font-size:.7rem;color:var(--muted)}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#55a196;margin-right:.3rem}.arrival{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid #eef1f0;padding:.65rem 0}.arrival>div{display:grid;flex:1}.arrival small{color:var(--muted);font-size:.7rem}.badge{font-size:.68rem;padding:.27rem .48rem;border-radius:20px;background:#edf7f5;color:#27766d;text-transform:capitalize}.badge.occupied,.badge.cancelled{background:#fff0eb;color:#ad5528}.badge.cleaning,.badge.pending{background:#f4effd;color:#71509c}.empty-state{text-align:center;display:grid;place-items:center;align-content:center;min-height:60vh}.empty-state p{color:var(--muted);max-width:420px;margin:.5rem auto 1.2rem}.empty-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--soft);color:var(--teal);font-size:1.6rem;margin-bottom:1rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:.8rem;border-bottom:1px solid var(--line);font-size:.82rem}th{color:var(--muted);text-transform:uppercase;font-size:.7rem}.table-search{padding:.55rem}
dialog{border:0;border-radius:14px;padding:0;width:min(650px,calc(100% - 2rem));box-shadow:var(--shadow)}dialog::backdrop{background:#10252280;backdrop-filter:blur(2px)}.modal-form{padding:1.5rem}.modal-head{display:flex;justify-content:space-between;margin-bottom:1.3rem}.modal-head p{color:var(--muted);font-size:.82rem}.close{border:0;background:transparent;font-size:1.7rem;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid .wide{grid-column:1/-1}.form-grid small{color:var(--muted);font-weight:400}.upload{border:1px dashed #b7c9c6;border-radius:9px;padding:1rem;background:#f8fbfa}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}
@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.mobile-brand{display:block;color:var(--teal);font-weight:700}.auth-panel{min-height:100vh}}@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:.22s}.nav-open .sidebar{transform:none;box-shadow:var(--shadow)}.topbar{left:0;height:66px}.content{margin-left:0;padding-top:90px}.menu-btn{display:block}.topbar>div:first-of-type,.user-label,.top-actions>.icon-btn{display:none}.page-head{align-items:flex-start;gap:1rem}.head-actions .secondary{display:none}.room-mini-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}@media(max-width:480px){.stat-grid{grid-template-columns:1fr 1fr;gap:.65rem}.stat{padding:.8rem;gap:.5rem}.stat-icon{width:34px;height:34px}.stat strong{font-size:1.2rem}.room-mini-grid{grid-template-columns:repeat(2,1fr)}.auth-panel{padding:1.25rem}}

/* Premium visual finish */
html{scroll-behavior:smooth}body{background:radial-gradient(circle at 82% 0,#e4f0ed 0,transparent 27%),#f4f7f6}button,a,input,select,textarea{transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2fa99c55;outline-offset:2px}.btn{border-radius:10px;font-weight:700}.btn.primary{background:linear-gradient(135deg,#08766d,#095c57);box-shadow:0 8px 20px #08766d2b}.btn.primary:hover{box-shadow:0 11px 25px #08766d35}.auth-brand{background:linear-gradient(145deg,#043e3b,#086a63 58%,#168a7f)}.auth-brand:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 60%,#ffffff08),radial-gradient(circle at 15% 85%,#ffffff18 0 1px,transparent 2px);background-size:auto,24px 24px}.auth-brand>*{position:relative;z-index:1}.auth-card{background:#ffffffdf;border:1px solid #fff;border-radius:20px;padding:clamp(1.4rem,3vw,2.3rem);box-shadow:0 20px 60px #1936321c;backdrop-filter:blur(12px)}.stat{background:linear-gradient(145deg,#fff,#fbfdfc);border-radius:14px;box-shadow:0 5px 16px #1a363208}.stat:hover{transform:translateY(-2px);box-shadow:0 12px 28px #1a363212}.panel{border-radius:14px;box-shadow:0 5px 18px #1a363209}.sidebar{box-shadow:4px 0 24px #183d3707}.room-mini:hover{transform:translateY(-2px)}table tbody tr:hover{background:#f8fbfa}.topbar{box-shadow:0 3px 16px #173a3508}
.guest-choice{display:flex;gap:.5rem;margin-bottom:1rem;padding:.3rem;background:#f1f5f4;border-radius:10px}.guest-choice label{flex:1;display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.65rem;border-radius:8px;font-size:.82rem;font-weight:700;cursor:pointer}.guest-choice label:has(input:checked){background:#fff;color:var(--teal);box-shadow:0 2px 8px #173a3512}.new-guest-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;background:#f8fbfa;border:1px solid var(--line);border-radius:10px}.new-guest-fields[hidden]{display:none}@media(max-width:600px){.new-guest-fields{grid-template-columns:1fr}}
.housekeeping-stats{margin-bottom:1rem}.housekeeping-panel{margin-top:1rem}.task-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.task-card{border:1px solid var(--line);border-top:3px solid #78a9a3;border-radius:11px;padding:1rem;background:#fcfefd}.task-card.high{border-top-color:#d2674e}.task-card.low{border-top-color:#9aa5a3}.task-top{display:flex;align-items:center;justify-content:space-between}.task-top small{color:var(--muted)}.task-card h3{font:700 1.05rem Manrope;margin:.85rem 0 .1rem}.task-card>p{color:var(--muted);font-size:.78rem}.task-notes{font-size:.8rem;background:#f2f6f5;padding:.65rem;border-radius:7px;margin:.75rem 0}.task-action{margin-top:.8rem}.task-action select{width:100%;border:1px solid var(--line);border-radius:8px;padding:.55rem;background:#fff}.empty-inline{grid-column:1/-1;text-align:center;padding:3rem;color:var(--muted)}.empty-inline strong{color:var(--ink)}@media(max-width:1000px){.task-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.task-grid{grid-template-columns:1fr}}
.housekeeping-panel{padding:1.45rem}.task-grid{gap:1.1rem}.task-card{position:relative;border:1px solid #e2eae8;border-top:0;border-radius:14px;padding:1.1rem;background:linear-gradient(155deg,#fff,#fbfdfc);box-shadow:0 6px 18px #173a350a;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}.task-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:#d7a142}.task-card.in_progress:before{background:#6d58b0}.task-card.completed:before{background:#26916d}.task-card.inspected:before{background:#08766d}.task-card:hover{transform:translateY(-3px);border-color:#cbd8d5;box-shadow:0 14px 30px #173a3515}.task-card.completed,.task-card.inspected{background:linear-gradient(155deg,#fff,#f3faf7)}.task-top time{font-size:.72rem;color:var(--muted);background:#f2f5f4;padding:.28rem .5rem;border-radius:6px}.task-room{display:flex;align-items:center;gap:.7rem;margin:1rem 0}.room-key{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--teal);font-size:1.1rem}.task-room h3{margin:0;font:700 1.05rem Manrope}.task-room p{margin:.08rem 0;color:var(--muted);font-size:.73rem}.priority-pill{margin-left:auto;padding:.25rem .5rem;border-radius:99px;background:#edf2f1;color:#65736f;font-size:.66rem;font-weight:700}.priority-pill.high{background:#fff0ed;color:#b85038}.priority-pill.low{background:#f1f3f3;color:#77817f}.task-notes{min-height:42px;line-height:1.45;border-left:2px solid #bfd6d2}.task-action{border-top:1px solid #edf1f0;padding-top:.85rem}.task-action>label{display:block;margin-bottom:.4rem;color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.status-select-wrap{position:relative;display:flex;align-items:center;border:1px solid #ead9ad;border-radius:9px;background:#fffaf0;overflow:hidden}.status-select-wrap.in_progress{border-color:#d8d0ed;background:#f7f4fd}.status-select-wrap.completed,.status-select-wrap.inspected{border-color:#c6e4d7;background:#f0faf5}.status-select-wrap:after{content:"⌄";position:absolute;right:.8rem;pointer-events:none;color:#697673;font-weight:700}.status-dot{width:8px;height:8px;margin-left:.8rem;border-radius:50%;background:#d7a142;box-shadow:0 0 0 3px #d7a14222}.status-select-wrap.in_progress .status-dot{background:#6d58b0;box-shadow:0 0 0 3px #6d58b022}.status-select-wrap.completed .status-dot,.status-select-wrap.inspected .status-dot{background:#26916d;box-shadow:0 0 0 3px #26916d22}.status-select{appearance:none;-webkit-appearance:none;width:100%;border:0!important;background:transparent!important;padding:.68rem 2.2rem .68rem .55rem!important;color:var(--ink);font-weight:700;cursor:pointer;outline:0}.status-select:focus{box-shadow:inset 0 0 0 2px #08766d55}.task-card .badge{font-weight:700}.task-card .badge.in_progress{background:#f0ebfa;color:#684a9c}.task-card .badge.completed,.task-card .badge.inspected{background:#e9f7f1;color:#24785c}
.report-toolbar{display:flex;align-items:end;justify-content:space-between;margin-bottom:1rem}.report-toolbar form{display:flex;align-items:end;gap:.75rem}.report-toolbar label{display:grid;gap:.35rem;color:var(--muted);font-size:.72rem;font-weight:700}.report-toolbar input{border:1px solid var(--line);border-radius:8px;padding:.62rem;background:#fff}.report-stats{margin-bottom:1rem}.report-grid{grid-template-columns:1.7fr 1fr}.source-list{display:grid;gap:1rem}.source-row{display:grid;grid-template-columns:1fr auto;gap:.35rem;font-size:.8rem}.source-row>div{display:grid}.source-row>div span{color:var(--muted);font-size:.7rem}.source-row>span{font-weight:700}.source-row i{grid-column:1/-1;height:6px;background:#edf2f1;border-radius:9px;overflow:hidden}.source-row b{display:block;height:100%;background:linear-gradient(90deg,#08766d,#47a99f);border-radius:9px}@media(max-width:800px){.report-toolbar{align-items:stretch;flex-direction:column;gap:1rem}.report-toolbar form{display:grid;grid-template-columns:1fr 1fr}.report-toolbar form .btn{grid-column:1/-1}.report-toolbar>a{text-align:center}.report-grid{grid-template-columns:1fr}}
.staff-grid{display:grid;gap:.75rem}.staff-card{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#fff,#fbfdfc)}.staff-avatar{width:44px;height:44px}.staff-info h3{font:700 .95rem Manrope;margin:0}.staff-info p{color:var(--teal);font-size:.76rem;font-weight:700}.staff-info small{color:var(--muted)}.staff-state{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.role-help{margin-top:1rem;padding:.85rem 1rem;background:#f1f7f5;border-radius:9px;font-size:.78rem}.role-help p{color:var(--muted);line-height:1.55}@media(max-width:720px){.staff-card{grid-template-columns:auto 1fr}.staff-state,.staff-card form{grid-column:2}.staff-state{justify-content:flex-start}.staff-card form .btn{width:100%}}
.form-alert{padding:.75rem .9rem;margin-bottom:1rem;border:1px solid #f0c8c2;border-radius:9px;background:#fff2f0;color:#a33b2e;font-size:.8rem;font-weight:600}.form-alert[hidden]{display:none}.field-error{min-height:0;color:#b42318!important;font-weight:600!important}.field-error:empty{display:none}.has-error input{border-color:#d45b4c!important;background:#fffafa!important;box-shadow:0 0 0 3px #d45b4c16!important}.btn:disabled{opacity:.58;cursor:not-allowed;transform:none!important}
.settings-layout{display:grid;grid-template-columns:270px 1fr;gap:1rem}.settings-summary{text-align:center;align-self:start}.hotel-monogram{width:68px;height:68px;margin:0 auto .8rem;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#08766d,#0b5c57);color:#fff;font:700 1.8rem Manrope;box-shadow:0 10px 22px #08766d2b}.settings-summary>p{color:var(--muted);font-size:.76rem}.settings-summary dl{margin:1.4rem 0 0;border-top:1px solid var(--line)}.settings-summary dl div{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.78rem}.settings-summary dt{color:var(--muted)}.settings-summary dd{margin:0;font-weight:700}.settings-form{padding:1.5rem}.settings-actions{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--line)}.settings-actions span{color:var(--muted);font-size:.76rem}@media(max-width:850px){.settings-layout{grid-template-columns:1fr}.settings-summary dl{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.settings-summary dl div{display:grid;border:0;background:#f6f9f8;border-radius:8px}}@media(max-width:520px){.settings-summary dl{grid-template-columns:1fr 1fr}.settings-actions{align-items:stretch;flex-direction:column;gap:.8rem}.settings-actions .btn{width:100%}}
.table-sub{display:block;color:var(--muted);font-size:.7rem;margin-top:.18rem}.booking-actions{display:flex;gap:.4rem;align-items:center}.booking-actions form{margin:0}.mini-btn{border:1px solid var(--line);border-radius:7px;background:#fff;padding:.4rem .55rem;color:var(--ink);font-size:.7rem;font-weight:700;cursor:pointer;white-space:nowrap}.mini-btn:hover{border-color:#96b8b3;background:#f4faf8}.mini-btn.primary{border-color:var(--teal);background:var(--teal);color:#fff}
.mini-btn.danger{border-color:#efc9c4;color:#a33d31;background:#fff7f5}.mini-btn.warning{border-color:#ecd7aa;color:#966615;background:#fffaf0}@media(max-width:700px){.booking-actions{min-width:180px;flex-wrap:wrap}}
.room-status-form{min-width:150px}.room-status-form select{width:100%;border:1px solid var(--line);border-radius:8px;padding:.48rem .65rem;background:#fff;color:var(--ink);font-size:.76rem;font-weight:600;cursor:pointer}.room-status-form select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #08766d18}
.head-actions{flex-wrap:wrap}.head-actions .btn{white-space:nowrap}@media(max-width:520px){.page-head{display:grid}.head-actions{width:100%}.head-actions .btn{flex:1}}
.add-property{margin-left:.65rem;border:1px solid #cbd9d6;border-radius:8px;background:#f7fbfa;color:var(--teal);padding:.45rem .65rem;font-size:.72rem;font-weight:700;cursor:pointer}.add-property:hover{background:var(--soft);border-color:#9fc1bb}.topbar>div:not(.top-actions){display:flex;align-items:center;gap:.25rem}.topbar>div:not(.top-actions)>div{display:grid}@media(max-width:720px){.add-property{display:none}}
.terms-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:.65rem!important;color:var(--muted);font-weight:500!important;line-height:1.45}.terms-check input{width:17px;height:17px;margin:.12rem 0 0;accent-color:var(--teal);box-shadow:none!important}.legal-body{background:#f3f7f6}.legal-page{width:min(860px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 4rem}.legal-page>.brand{margin-bottom:1.5rem}.legal-page article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(1.5rem,5vw,3.5rem);box-shadow:var(--shadow)}.legal-page h1{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:.7rem}.legal-page h2{font-size:1.05rem;margin-top:1.8rem}.legal-page article>p{color:#52625f;line-height:1.7}.legal-page .legal-intro{font-size:1.08rem;color:var(--ink)}.legal-page footer{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.legal-header{position:sticky;top:0;z-index:20;background:#ffffffed;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.legal-header>div{width:min(1160px,calc(100% - 2rem));height:72px;margin:auto;display:flex;align-items:center;justify-content:space-between}.legal-back{font-size:.82rem;font-weight:700}.legal-shell{width:min(1160px,calc(100% - 2rem));margin:2rem auto 4rem;display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:start}.legal-toc{position:sticky;top:98px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem}.legal-toc>p{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:800;color:var(--muted);padding:0 .55rem .65rem}.legal-toc nav{display:grid}.legal-toc a{padding:.5rem .55rem;border-radius:7px;color:#53625f;font-size:.76rem}.legal-toc a:hover{background:var(--soft);color:var(--teal)}.legal-document{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(1.5rem,5vw,4rem);box-shadow:var(--shadow)}.legal-title{border-bottom:1px solid var(--line);padding-bottom:2rem}.legal-badge{display:inline-block;padding:.35rem .65rem;border-radius:99px;background:var(--soft);color:var(--teal);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.legal-title h1{font-size:clamp(2.25rem,5vw,4rem);line-height:1.08;margin:.85rem 0}.legal-document .legal-intro{max-width:760px;color:#4f615e;font-size:1.08rem;line-height:1.7}.legal-meta{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1.4rem}.legal-meta span{display:grid;gap:.2rem;color:var(--muted);font-size:.75rem}.legal-meta b{color:var(--ink);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.legal-notice{margin:2rem 0;padding:1.1rem 1.2rem;border:1px solid #c8dfda;border-left:4px solid var(--teal);border-radius:10px;background:#f3faf8}.legal-notice p{margin:.3rem 0 0;color:#53625f;line-height:1.6}.legal-document section{position:relative;padding:2rem 0 1rem 3.3rem;border-bottom:1px solid #edf1f0;scroll-margin-top:90px}.section-number{position:absolute;left:0;top:2.1rem;color:#9aaba8;font:700 .76rem Manrope}.legal-document section h2{font-size:1.35rem;margin-bottom:.8rem}.legal-document section h3{font-size:.95rem;margin:1.35rem 0 .35rem}.legal-document section p,.legal-document section li{color:#52625f;line-height:1.75}.legal-document section ul{padding-left:1.2rem}.legal-document section li{padding:.24rem 0}.legal-definitions{display:grid;gap:.65rem}.legal-definitions div{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:.8rem;background:#f7faf9;border-radius:8px}.legal-definitions dt{font-weight:800}.legal-definitions dd{margin:0;color:#52625f;line-height:1.55}.legal-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.2rem;padding:1.3rem;border-radius:12px;background:#eff7f5}.legal-footer p{color:var(--muted);font-size:.78rem}@media(max-width:900px){.legal-shell{grid-template-columns:1fr}.legal-toc{display:none}}@media(max-width:600px){.legal-header>div{height:62px}.legal-document{padding:1.3rem}.legal-document section{padding-left:0}.section-number{position:static;display:block;margin-bottom:.4rem}.legal-definitions div{grid-template-columns:1fr}.legal-footer{align-items:stretch;flex-direction:column}.legal-footer .btn{text-align:center}.legal-meta{gap:1rem}}
.portfolio-summary{display:flex;justify-content:space-between;align-items:end;margin-bottom:1.3rem}.portfolio-summary>div>p:last-child{color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.property-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:1.25rem;box-shadow:0 6px 20px #173a350b;transition:.2s}.property-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #173a3515}.property-card-head{display:flex;align-items:center;gap:.8rem}.property-letter{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#08766d,#0b5c57);color:#fff;font:700 1.15rem Manrope}.property-card-head>div:nth-child(2){flex:1}.property-card h3{font:700 1rem Manrope;margin:0}.property-card-head p{color:var(--muted);font-size:.72rem}.property-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1.2rem 0}.property-metrics div{background:#f6f9f8;border-radius:9px;padding:.75rem}.property-metrics strong{display:block;font:700 1.15rem Manrope}.property-metrics span,.occupancy-line span,.property-revenue span{color:var(--muted);font-size:.7rem}.occupancy-line>div,.property-revenue{display:flex;justify-content:space-between}.occupancy-line i{display:block;height:7px;margin-top:.45rem;background:#edf2f1;border-radius:10px;overflow:hidden}.occupancy-line b{display:block;height:100%;background:linear-gradient(90deg,#08766d,#49aa9f)}.property-revenue{align-items:center;margin:1rem 0;padding-top:1rem;border-top:1px solid var(--line)}.property-actions{display:flex;justify-content:flex-end;gap:.5rem}.property-actions .btn{font-size:.75rem}@media(max-width:850px){.portfolio-grid{grid-template-columns:1fr}}@media(max-width:520px){.portfolio-summary{align-items:stretch;flex-direction:column;gap:1rem}.property-actions .btn{flex:1;text-align:center}}
.label-link{display:block;text-align:right;margin-top:-.15rem;font-size:.72rem}.password-shell{min-height:100vh;width:min(460px,calc(100% - 2rem));margin:auto;display:grid;align-content:center;gap:1.5rem}.password-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:1rem;border-radius:14px;background:var(--soft);color:var(--teal);font-size:1.4rem}.password-shell .auth-card>.muted{margin:.6rem 0 1.3rem}
.profile-body{background:radial-gradient(circle at 85% 0,#dfeeea,transparent 28%),var(--bg)}.profile-top{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(1rem,calc((100% - 1050px)/2))}.profile-page{width:min(1050px,calc(100% - 2rem));margin:2rem auto 4rem}.profile-hero{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.profile-hero>div:nth-child(2){flex:1}.profile-hero h1{font-size:1.55rem}.profile-hero>div:nth-child(2)>p:last-child{color:var(--muted)}.profile-avatar{width:62px;height:62px;font-size:1.4rem}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.profile-card{padding:1.5rem}.profile-card .form-grid{grid-template-columns:1fr}.profile-card .wide{grid-column:auto}@media(max-width:760px){.profile-layout{grid-template-columns:1fr}.profile-hero{align-items:flex-start;flex-wrap:wrap}.profile-hero>span{margin-left:78px}.profile-top{height:66px}.profile-top .btn{font-size:.72rem}}
.profile-dialog{width:min(570px,calc(100% - 2rem));overflow:hidden}.profile-modal-head{display:flex;align-items:center;gap:.8rem;padding:1.4rem 1.5rem 1rem;background:linear-gradient(145deg,#f3faf8,#fff);border-bottom:1px solid var(--line)}.profile-modal-head>div:nth-child(2){flex:1}.profile-modal-head h2{font-size:1.2rem}.profile-modal-head>div:nth-child(2)>p:last-child{color:var(--muted);font-size:.75rem;text-transform:capitalize}.profile-modal-avatar{width:48px;height:48px;font-size:1.1rem}.profile-tabs{display:flex;padding:.7rem 1.5rem 0;border-bottom:1px solid var(--line);gap:1rem}.profile-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:.65rem .15rem;color:var(--muted);font-size:.78rem;font-weight:700;cursor:pointer}.profile-tabs button.active{color:var(--teal);border-color:var(--teal)}.profile-modal-form{padding-top:1.2rem}.profile-dialog [data-profile-panel][hidden]{display:none}@media(max-width:520px){.profile-modal-head{padding:1rem}.profile-tabs{padding-left:1rem}.profile-modal-form{padding:1rem}}
.guest-toolbar{display:flex;gap:.65rem;align-items:center}.guest-row-actions{display:flex;gap:.35rem}.guest-history-list{display:grid;gap:.6rem;max-height:360px;overflow:auto}.guest-history-item{display:grid;grid-template-columns:1fr auto;gap:.3rem;padding:.8rem;background:#f7faf9;border:1px solid var(--line);border-radius:9px}.guest-history-item strong{font-size:.82rem}.guest-history-item span{font-size:.72rem;color:var(--muted)}.guest-history-item>div:last-child{text-align:right}.guest-history-empty{text-align:center;padding:2rem;color:var(--muted)}@media(max-width:650px){.guest-toolbar{align-items:stretch;flex-direction:column}.guest-toolbar input,.guest-toolbar .btn{width:100%}}
.gender-field{display:flex;gap:.6rem;border:0;padding:0;margin:0}.gender-field legend{font-size:.84rem;font-weight:600;margin-bottom:.45rem}.gender-field label{display:flex!important;align-items:center;justify-content:center;gap:.45rem;flex:1;border:1px solid var(--line);border-radius:9px;padding:.7rem;cursor:pointer;background:#fff}.gender-field label:has(input:checked){border-color:var(--teal);background:var(--soft);color:var(--teal)}.gender-field input{accent-color:var(--teal)}
.room-actions{display:flex;gap:.35rem;align-items:center}.room-edit-dialog{width:min(560px,calc(100% - 2rem))}.room-note-preview{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.7rem}
.type-manager{margin-bottom:1rem}.type-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.type-card{display:flex;align-items:center;gap:.75rem;padding:.9rem;border:1px solid var(--line);border-radius:11px;background:#fbfdfc}.type-card>div{flex:1}.type-card h3{font:700 .86rem Manrope;margin:0}.type-card p{color:var(--muted);font-size:.7rem}.type-card .mini-btn{align-self:center}@media(max-width:900px){.type-card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.type-card-grid{grid-template-columns:1fr}}
.booking-filterbar{display:flex;gap:.6rem;margin-bottom:1rem}.booking-filterbar input,.booking-filterbar select{border:1px solid var(--line);border-radius:8px;padding:.6rem .75rem;background:#fff}.booking-filterbar input{flex:1}@media(max-width:600px){.booking-filterbar{display:grid}.booking-filterbar input{width:100%}}
.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.finance-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:1rem}.finance-card p{color:var(--muted);font-size:.75rem}.finance-card strong{font:700 1.35rem Manrope}.finance-card.net.negative strong{color:#b42318}.expense-page .report-toolbar{margin-bottom:1rem}.expense-table small{display:block;color:var(--muted)}@media(max-width:650px){.finance-summary{grid-template-columns:1fr}}