:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17263a;background:#f4f7fb;font-synthesis:none;--navy:#11223a;--blue:#377de6;--line:#e3e9f1;--muted:#6f8096;--shadow:0 8px 24px rgba(29,48,76,.055) }*{box-sizing:border-box}body{margin:0;background:#f4f7fb}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:linear-gradient(180deg,#10233c,#13263f);color:#fff;padding:20px 15px 14px;display:flex;flex-direction:column;z-index:60;box-shadow:6px 0 18px #12223914}.sidebar-brand,.login-brand{display:flex;align-items:center;gap:10px}.sidebar-brand{padding:0 8px 17px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand b,.login-brand b{display:block;font-size:15px;letter-spacing:.045em}.sidebar-brand span,.login-brand span{display:block;font-size:8px;color:#8fa3bd;margin-top:2px;letter-spacing:.03em}.brand-mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#2f75df,#5b95ef);font-weight:800;color:#fff;box-shadow:0 8px 22px #377de638}.brand-mark.small{width:32px;height:32px;border-radius:9px}.property-picker{display:block;padding:16px 7px 10px}.property-picker>span{display:block;color:#8da2bd;font-size:8px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}.property-picker select{width:100%;background:#1b3554;color:#eaf1fb;border:1px solid #284566;border-radius:8px;padding:9px 10px;font-size:10px;outline:none}.sidebar nav{display:flex;flex-direction:column;gap:2px;margin-top:2px;overflow-y:auto;padding-right:2px}.sidebar nav button{border:0;background:transparent;color:#aebdd0;border-radius:8px;display:grid;grid-template-columns:24px 1fr 15px;align-items:center;text-align:left;padding:9px 10px;min-height:38px;font-size:10px}.sidebar nav button svg{opacity:.92}.sidebar nav button:hover{background:#193553;color:#fff}.sidebar nav button.active{background:linear-gradient(90deg,#2c6ed1,#357dde);color:#fff;box-shadow:0 6px 14px #1e67d038}.user-card{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:14px 5px 0;display:grid;grid-template-columns:34px 1fr 28px;align-items:center;gap:8px}.avatar{width:34px;height:34px;border-radius:50%;background:#4c86da;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:700}.user-card b,.user-card span,.user-card small{display:block}.user-card b{font-size:9px}.user-card span{color:#8da2bd;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:122px;margin-top:2px}.user-card small{color:#76d69a;font-size:8px;margin-top:3px}.user-card small i{width:5px;height:5px;background:#46c879;border-radius:50%;display:inline-block;margin-right:4px}.user-card>button{border:0;background:transparent;color:#8397b1;padding:5px}.main-shell{grid-column:2;min-width:0}.topbar{height:58px;background:#fff;border-bottom:1px solid #e4e9f0;display:flex;align-items:center;padding:0 23px;position:sticky;top:0;z-index:40}.menu-btn{display:none;border:0;background:transparent;color:#53667e}.top-search{width:min(420px,45vw);height:34px;background:#f7f9fc;border:1px solid #e2e7ee;border-radius:8px;display:flex;align-items:center;padding:0 9px;color:#75869d}.top-search input{width:100%;border:0;outline:0;background:transparent;padding:0 8px;font-size:10px;color:#31445e}.top-search kbd{font-size:8px;color:#8492a5;background:#fff;border:1px solid #dce3ec;border-radius:5px;padding:3px 5px;white-space:nowrap}.top-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.top-actions>button{width:34px;height:34px;border:0;background:transparent;color:#64778f;display:grid;place-items:center;border-radius:8px}.top-actions>button:hover{background:#f2f5f9}.notification{position:relative}.notification span{position:absolute;top:3px;right:3px;width:14px;height:14px;border-radius:50%;background:#ef5858;color:#fff;display:grid;place-items:center;font-size:7px;border:2px solid white}.top-avatar{margin-left:7px;width:30px;height:30px}.content{padding:24px 25px 42px;max-width:1800px;margin:0 auto}.page-title-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.page-title-row h1{margin:0;font-size:22px;letter-spacing:-.02em}.breadcrumbs{font-size:9px;color:#8a98aa;margin-top:5px}.breadcrumbs span{margin:0 7px;color:#b1bbc8}.primary-btn,.secondary-btn,.ghost-btn,.small-primary,.action-btn{border-radius:8px;min-height:34px;padding:0 12px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:600}.primary-btn,.small-primary{background:#377de6;color:#fff;box-shadow:0 5px 12px #377de62e}.primary-btn:hover,.small-primary:hover{background:#2f72d8}.primary-btn:disabled,.action-btn:disabled{opacity:.55;cursor:not-allowed}.secondary-btn{background:#fff;border-color:#dbe3ed;color:#3c5069}.secondary-btn:hover,.ghost-btn:hover{background:#f7f9fc}.ghost-btn{background:transparent;color:#4b6380;border-color:transparent}.small-primary{min-height:30px;font-size:9px;padding:0 10px}.icon-btn{width:32px;height:32px;border:1px solid #dce3ec;border-radius:8px;background:#fff;color:#61738a;display:grid;place-items:center}.icon-btn:hover{background:#f6f8fb}.panel{background:#fff;border:1px solid #e1e7ef;border-radius:11px;box-shadow:var(--shadow)}.panel-head{min-height:58px;padding:13px 15px;border-bottom:1px solid #e8edf3;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head.compact{min-height:51px;padding:10px 13px}.panel-head h2{margin:0;font-size:12px}.panel-head p{margin:4px 0 0;font-size:9px;color:#8391a4}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin-bottom:18px}.kpi-card{background:#fff;border:1px solid #e1e7ef;border-radius:10px;padding:14px;min-height:104px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.kpi-copy strong,.kpi-copy small{display:block}.kpi-copy strong{font-size:23px;margin:7px 0 2px;letter-spacing:-.04em}.kpi-copy small{font-size:8px;color:#8491a4}.kpi-label{font-size:7px;font-weight:750;letter-spacing:.075em}.kpi-label.blue{color:#3178e1}.kpi-label.green{color:#1f9d5a}.kpi-label.purple{color:#7b63c8}.kpi-label.orange{color:#e1842b}.kpi-label.cyan{color:#188ba3}.kpi-label.red{color:#d85858}.kpi-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center}.kpi-icon.blue{background:#edf4ff;color:#3b7fe4}.kpi-icon.green{background:#ecf9f0;color:#38aa66}.kpi-icon.purple{background:#f3efff;color:#8167d0}.kpi-icon.orange{background:#fff4e9;color:#e38d39}.kpi-icon.cyan{background:#eaf8fb;color:#2492a8}.kpi-icon.red{background:#fff0f0;color:#df6464}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(270px,.8fr);gap:18px}.right-stack{display:flex;flex-direction:column;gap:18px}.compact-panel{overflow:hidden}.recent-panel{margin-top:18px;overflow:hidden}.planning-panel{overflow:hidden}.planning-table{overflow-x:auto}.planning-header{display:grid;grid-template-columns:116px repeat(7,minmax(72px,1fr));min-width:760px;background:#fbfcfe;border-bottom:1px solid #e5eaf1}.planning-header>div{padding:9px 6px;border-right:1px solid #e6ebf2;text-align:center;color:#536780;font-size:9px;min-width:0}.planning-header .room-cell{text-align:left}.planning-header b{font-size:9px;text-transform:capitalize}.planning-header small{display:block;color:#8b99aa;margin-top:3px}.today-col{background:#f2f7ff!important}.planning-row{display:grid;grid-template-columns:116px 1fr;min-width:760px;min-height:56px;border-bottom:1px solid #e6ebf1}.room-cell{padding:10px 14px;border-right:1px solid #e3e9f0;background:#fff;z-index:2}.room-cell b{display:block;font-size:10px}.room-cell small{display:block;font-size:8px;color:#75879e;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline{position:relative;display:grid;grid-template-columns:repeat(7,1fr);min-width:0}.gridline{border-right:1px solid #e6ebf1}.booking-bar{position:absolute;top:10px;height:34px;border-radius:6px;padding:0 9px;border:1px solid;overflow:hidden;white-space:nowrap;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;z-index:4}.booking-bar span{overflow:hidden;text-overflow:ellipsis}.booking-bar span>b,.booking-bar span>small{display:block;overflow:hidden;text-overflow:ellipsis}.booking-bar span>small{font-size:7px;margin-top:2px;opacity:.8}.booking-bar>small{font-size:7px}.booking-bar.confirmed{background:#dff5e5;border-color:#9bd5aa;color:#1f743c}.booking-bar.checked_in{background:#deebff;border-color:#9cbcf0;color:#1f64c5}.booking-bar.checked_out{background:#f0f2f5;border-color:#cbd3de;color:#69788b}.booking-bar.option{background:#fff3cc;border-color:#e6c566;color:#8e6900}.booking-bar.cancelled,.booking-bar.no_show{background:#f1f2f4;border-color:#d2d7df;color:#7b8795}.legend{height:42px;display:flex;align-items:center;justify-content:center;gap:22px;font-size:8px;color:#63758c}.legend span{display:flex;align-items:center;gap:5px}.dot{width:7px;height:7px;border-radius:50%}.dot.confirmed{background:#45b768}.dot.checked_in{background:#4d87e0}.dot.option{background:#e8bb3d}.dot.checked_out{background:#aab3bf}.activity-list{padding:3px 0}.activity-row{width:100%;border:0;background:transparent;display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:8px;padding:9px 12px;text-align:left;border-bottom:1px solid #eef1f5}.activity-row:last-child{border-bottom:0}.activity-row:hover{background:#f8fafc}.activity-row b,.activity-row em{display:block}.activity-row b{font-size:9px}.activity-row em{font-size:8px;color:#78889c;font-style:normal;margin-top:3px}.activity-icon{width:29px;height:29px;border-radius:7px;display:grid;place-items:center}.activity-icon.blue{background:#edf4ff;color:#347ae3}.activity-icon.green{background:#ecf8f0;color:#2fa25b}.room-chip{border-radius:6px;background:#f1f5f9;color:#4e627b;font-size:8px;padding:4px 6px}.empty-mini{padding:18px 13px;color:#8694a6;font-size:9px}.status-badge{border:0;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:700;white-space:nowrap}.status-badge.confirmed{background:#ddf5e4;color:#227a42}.status-badge.checked_in{background:#e0ebff;color:#245fb9}.status-badge.checked_out{background:#eef0f3;color:#6c7888}.status-badge.option{background:#fff2c9;color:#856300}.status-badge.cancelled{background:#fde8e8;color:#a94646}.status-badge.no_show{background:#f3e8ff;color:#8152a6}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:780px}.data-table th,.data-table td{padding:11px 14px;border-bottom:1px solid #edf1f5;text-align:left;font-size:9px;white-space:nowrap}.data-table th{background:#fbfcfe;color:#65778d;font-size:8px;font-weight:650}.data-table tbody tr:last-child td{border-bottom:0}.click-row{cursor:pointer}.click-row:hover{background:#f8fafc}.empty-cell{text-align:center!important;color:#8795a7;padding:35px!important}.muted{color:#98a3b2}.warning-text{color:#b27717;font-weight:600}.toolbar{padding:12px 14px;border-bottom:1px solid #e8edf3;display:flex;justify-content:space-between;gap:10px}.search-small{width:min(350px,60%);height:34px;border:1px solid #dce3ec;border-radius:8px;display:flex;align-items:center;padding:0 9px;color:#7b899b;background:#fff}.search-small input{border:0;outline:0;width:100%;padding:0 8px;font-size:9px;color:#31465f}.filter-select{height:34px;border:1px solid #dce3ec;border-radius:8px;background:#fff;color:#52657d;padding:0 10px;font-size:9px}.room-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:13px}.room-card{background:#fff;border:1px solid #e1e7ef;border-radius:10px;padding:14px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow)}.room-number{width:50px;height:50px;border-radius:10px;background:#eef5ff;color:#3779dd;display:grid;place-items:center;font-weight:750;font-size:17px}.room-card b,.room-card span{display:block}.room-card b{font-size:10px}.room-card span{font-size:8px;color:#7c8ba0;margin:4px 0 7px}.room-status{border:0;border-radius:6px;padding:4px 6px;font-size:7px}.room-status.active{background:#e3f6e8;color:#257846}.frontdesk-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.frontdesk-list{padding:5px 0}.frontdesk-card{width:100%;border:0;background:transparent;padding:12px 14px;border-bottom:1px solid #edf1f5;display:flex;align-items:center;gap:10px;text-align:left}.frontdesk-card:last-child{border-bottom:0}.frontdesk-card:hover{background:#f8fafc}.frontdesk-avatar{width:36px;height:36px;border-radius:9px;background:#edf4ff;color:#3479df;display:grid;place-items:center;font-size:9px;font-weight:700}.frontdesk-avatar.green{background:#eaf8ef;color:#2a9a55}.grow{flex:1;min-width:0}.frontdesk-card b,.frontdesk-card span{display:block}.frontdesk-card b{font-size:9px}.frontdesk-card span{font-size:8px;color:#8190a4;margin-top:3px}.right-copy{text-align:right;margin-right:5px}.planning-toolbar{min-height:62px;margin-bottom:12px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:14px}.date-nav{display:flex;align-items:center;gap:8px}.date-nav>div:last-child{margin-left:4px}.date-nav strong,.date-nav span{display:block}.date-nav strong{font-size:10px;text-transform:capitalize}.date-nav span{font-size:8px;color:#8392a5;margin-top:3px}.planning-help{display:flex;align-items:center;gap:7px;font-size:8px;color:#72839a;background:#f6f8fb;border-radius:7px;padding:7px 9px}.full-planning{overflow:hidden}.planning-table.large{overflow:auto;max-height:68vh}.planning-table.large .planning-header{min-width:1150px;position:sticky;top:0;z-index:15}.planning-table.large .planning-row{min-width:1150px;min-height:61px}.sticky-left{position:sticky;left:0;z-index:10}.planning-header .sticky-left{z-index:20;background:#fbfcfe}.planning-booking{top:10px;height:39px;cursor:grab}.planning-booking:active{cursor:grabbing}.drop-compatible{background:#f8fbff}.drop-compatible .timeline{outline:1px dashed #9cc0ef;outline-offset:-2px}.unassigned-strip{background:#fff8e8;border:1px solid #efd79b;border-radius:10px;margin-bottom:12px;padding:10px 12px;display:flex;gap:14px;align-items:center}.unassigned-title{min-width:160px}.unassigned-title b,.unassigned-title span{display:block}.unassigned-title b{font-size:9px;color:#7d5a08}.unassigned-title span{font-size:7px;color:#9a7a2a;margin-top:3px}.unassigned-list{display:flex;gap:8px;overflow-x:auto;padding:2px}.unassigned-card{min-width:185px;background:#fff;border:1px solid #ead59e;border-radius:7px;padding:7px 9px;text-align:left;color:#59697e}.unassigned-card b,.unassigned-card span{display:block}.unassigned-card b{font-size:8px}.unassigned-card span{font-size:7px;color:#8b7b50;margin-top:3px}.alert{border-radius:8px;padding:9px 11px;margin-bottom:12px;font-size:9px}.error-alert{background:#fff0ef;border:1px solid #f0c7c4;color:#b4433a}.coming-soon{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.coming-icon{width:68px;height:68px;border-radius:17px;background:#edf4ff;color:#377ce2;display:grid;place-items:center}.coming-soon h2{margin:16px 0 7px;font-size:16px}.coming-soon p{max-width:470px;color:#708197;font-size:10px;line-height:1.6}.empty-state{padding:32px;text-align:center;color:#8392a5;font-size:9px}.compact-empty{padding:20px}.modal-backdrop,.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0814257a;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-backdrop{display:grid;place-items:center;padding:18px}.modal{width:min(760px,100%);max-height:92vh;background:#fff;border-radius:13px;box-shadow:0 30px 90px #07142542;display:flex;flex-direction:column;overflow:hidden}.modal-head{padding:16px 18px;border-bottom:1px solid #e8edf3;display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:17px}.modal-head p{margin:4px 0 0;font-size:9px;color:#7d8c9f}.modal-x{width:31px;height:31px;border:0;background:#f3f5f8;border-radius:8px;color:#5d6f85;display:grid;place-items:center}.modal-body{overflow-y:auto;padding:0 18px}.form-section{padding:18px 0;border-bottom:1px solid #edf1f5}.form-section:last-child{border-bottom:0}.form-section-title{display:flex;align-items:center;gap:9px;margin-bottom:14px}.form-section-title>span{width:25px;height:25px;border-radius:7px;background:#edf4ff;color:#3477dd;display:grid;place-items:center;font-size:9px;font-weight:700}.form-section-title b,.form-section-title small{display:block}.form-section-title b{font-size:10px}.form-section-title small{font-size:8px;color:#8794a5;margin-top:2px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{font-size:8px;color:#52657c;font-weight:650}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:5px;border:1px solid #d8e0ea;border-radius:7px;background:#fff;padding:9px;outline:none;color:#283d57;font-size:9px}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#70a0e9;box-shadow:0 0 0 3px #eff5ff}.form-grid .full{grid-column:1/-1}.field-hint{display:block;color:#8c99aa;font-size:7px;margin-top:4px;font-weight:400}.modal-actions{padding:13px 18px;border-top:1px solid #e8edf3;display:flex;justify-content:flex-end;gap:8px;background:#fbfcfe}.form-error{background:#fff0ef;border:1px solid #f0c7c4;color:#b4433a;border-radius:7px;padding:8px 10px;font-size:9px;margin:12px 0}.login-error{margin:12px 0 0}.drawer-backdrop{display:flex;justify-content:flex-end}.drawer{width:min(610px,96vw);height:100vh;background:#f5f7fa;box-shadow:-18px 0 60px #08162a33;display:flex;flex-direction:column;animation:drawerIn .18s ease-out}@keyframes drawerIn{0%{transform:translate(25px);opacity:.75}to{transform:translate(0);opacity:1}}.drawer-head{background:#fff;padding:17px 18px;border-bottom:1px solid #e4e9f0;display:flex;justify-content:space-between;align-items:flex-start}.drawer-code{font-size:8px;color:#72839a;font-weight:700;letter-spacing:.06em}.drawer-head h2{margin:4px 0 7px;font-size:18px}.drawer-meta{display:flex;align-items:center;gap:8px;font-size:8px;color:#76879c}.drawer-actions{padding:10px 13px;background:#fff;border-bottom:1px solid #e4e9f0;display:flex;gap:7px;flex-wrap:wrap}.action-btn{background:#fff;border-color:#dbe3ed;color:#435871;min-height:31px;font-size:8px}.action-btn.success{background:#eaf8ef;border-color:#bee3c9;color:#277d44}.action-btn.warning{background:#fff7e4;border-color:#ecd79f;color:#8a6815}.action-btn.danger{background:#fff0ef;border-color:#ecc8c5;color:#a74840}.drawer-alert{margin:10px 12px 0}.drawer-scroll{overflow-y:auto;padding:12px}.drawer-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:11px;overflow:hidden}.section-head{min-height:52px;padding:11px 13px;border-bottom:1px solid #edf1f5;display:flex;align-items:center;justify-content:space-between;color:#61738a}.section-head h3{margin:0;color:#263a53;font-size:10px}.section-head p{margin:3px 0 0;font-size:8px;color:#8996a7}.drawer-form .form-grid,.guest-add-form .form-grid{padding:13px}.section-save{padding:0 13px 13px;display:flex;justify-content:flex-end;gap:7px}.drawer-room-list{padding:6px 0}.drawer-room{padding:12px 13px;border-bottom:1px solid #edf1f5}.drawer-room:last-child{border-bottom:0}.room-summary{display:flex;align-items:center;gap:9px}.room-box{width:44px;height:38px;border-radius:8px;background:#eef5ff;color:#3479df;display:grid;place-items:center;font-size:12px;font-weight:750}.room-summary b,.room-summary span{display:block}.room-summary b{font-size:9px}.room-summary span{font-size:7px;color:#8492a4;margin-top:3px}.inline-select{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:8px;margin-top:10px;font-size:8px;color:#687a90}.inline-select select{height:32px;border:1px solid #d8e0ea;border-radius:7px;background:#fff;padding:0 8px;font-size:8px;color:#334a65}.assignment-history{margin-top:9px;background:#f7f9fc;border-radius:7px;padding:8px}.assignment-history b,.assignment-history span{display:block}.assignment-history b{font-size:7px;color:#576b84;margin-bottom:5px}.assignment-history span{font-size:7px;color:#7b8b9e;margin-top:3px}.guest-add-form{background:#fbfcfe;border-bottom:1px solid #edf1f5}.guest-list{padding:4px 0}.guest-row{display:flex;align-items:center;gap:9px;padding:10px 13px;border-bottom:1px solid #edf1f5}.guest-row:last-child{border-bottom:0}.guest-avatar{width:32px;height:32px;border-radius:50%;background:#edf4ff;color:#3978d6;display:grid;place-items:center;font-size:8px;font-weight:700}.guest-row b,.guest-row span{display:block}.guest-row b{font-size:9px}.guest-row span{font-size:7px;color:#8190a3;margin-top:3px}.primary-tag{display:inline!important;margin-left:6px;background:#e9f8ef;color:#2a8148;border-radius:999px;padding:2px 5px;font-size:6px!important}.subtle-danger{border-color:transparent;color:#a86a66;background:transparent}.subtle-danger:hover{background:#fff0ef}.drawer-loading{padding:35px;color:#71839a;font-size:10px}.login-page{min-height:100vh;background:radial-gradient(circle at 70% 20%,#25486e 0,#122740 37%,#0d1e32);display:grid;place-items:center;padding:22px}.login-shell{width:min(420px,100%)}.login-brand{color:#fff;justify-content:center;margin-bottom:18px}.login-brand b{font-size:20px}.login-brand span{font-size:9px}.login-card{background:#fff;border-radius:14px;padding:27px;box-shadow:0 30px 80px #00000040}.login-card h1{margin:0;font-size:20px}.login-card>p{font-size:9px;line-height:1.5;color:#77879a;margin:7px 0 20px}.login-card label{display:block;font-size:8px;color:#52657c;font-weight:650;margin-bottom:12px}.login-card input{display:block;width:100%;margin-top:5px;border:1px solid #d8e0ea;border-radius:8px;padding:10px;outline:none}.login-submit{width:100%;margin-top:3px}.loading-page{min-height:100vh;display:grid;place-items:center;color:#6d7d91}.sidebar-overlay{display:none}@media(max-width:1450px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1150px){.dashboard-grid{grid-template-columns:1fr}.right-stack{display:grid;grid-template-columns:1fr 1fr}.frontdesk-columns{grid-template-columns:1fr}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.main-shell{grid-column:1}.sidebar{transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#07122159;z-index:50}.menu-btn{display:grid;place-items:center;margin-right:8px}.top-search{display:none}.content{padding:16px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.right-stack{grid-template-columns:1fr}.planning-toolbar{align-items:flex-start;flex-direction:column}.planning-help{width:100%}}@media(max-width:620px){.content{padding:13px}.page-title-row{align-items:flex-start;flex-direction:column}.page-title-row>.primary-btn{width:100%}.kpi-grid,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.toolbar{flex-direction:column}.search-small,.filter-select{width:100%}.top-actions>button:nth-child(2),.top-actions>button:nth-child(3){display:none}.unassigned-strip{align-items:flex-start;flex-direction:column}.frontdesk-card{align-items:flex-start;flex-wrap:wrap}.right-copy{text-align:left}.modal-backdrop{padding:0}.modal{height:100%;max-height:none;border-radius:0}.drawer{width:100vw}.drawer-actions{overflow-x:auto;flex-wrap:nowrap}.date-nav{flex-wrap:wrap}}.single-property select{opacity:.82;cursor:not-allowed}.property-picker>small{display:block;color:#6f89a8;font-size:7px;margin-top:5px}.soon-tag{justify-self:end;background:#ffffff14;color:#8fa3bd;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:2px 5px;font-size:6px;font-weight:700}.sidebar nav button.active .soon-tag{color:#fff;background:#ffffff24}.top-search-wrap{position:relative;width:min(420px,45vw)}.top-search-wrap .top-search{width:100%}.top-search.focused{border-color:#a9c6ef;box-shadow:0 0 0 3px #f0f5fd}.search-results{position:absolute;left:0;right:0;top:41px;background:#fff;border:1px solid #dfe6ef;border-radius:10px;box-shadow:0 18px 50px #182b4429;overflow:hidden;z-index:90}.search-results-head{padding:9px 11px;border-bottom:1px solid #edf1f5;font-size:8px;color:#77889d;font-weight:650;display:flex;justify-content:space-between}.search-results-head span{font-weight:400}.search-results>button{width:100%;border:0;border-bottom:1px solid #f0f3f7;background:#fff;display:grid;grid-template-columns:30px 1fr 18px;gap:8px;align-items:center;text-align:left;padding:9px 10px;color:#314760}.search-results>button:last-child{border-bottom:0}.search-results>button:hover{background:#f7faff}.search-results>button b,.search-results>button small{display:block}.search-results>button b{font-size:9px}.search-results>button small{font-size:7px;color:#8392a5;margin-top:3px}.search-kind{width:28px;height:28px;border-radius:7px;display:grid;place-items:center}.search-kind.reservation{background:#eef5ff;color:#377de6}.search-kind.guest{background:#f3edff;color:#895bd3}.search-kind.room{background:#eaf8f0;color:#2f8c54}.search-empty{padding:17px;text-align:center;color:#8291a3;font-size:8px}.popover-anchor{position:relative}.top-actions .disabled-action{opacity:.38;cursor:not-allowed}.top-popover{position:absolute;right:0;top:41px;width:300px;background:#fff;border:1px solid #dfe6ef;border-radius:10px;box-shadow:0 18px 50px #182b4429;z-index:95;overflow:hidden}.popover-title{padding:11px 12px;border-bottom:1px solid #edf1f5}.popover-title b,.popover-title small{display:block}.popover-title b{font-size:9px;color:#263c57}.popover-title small{font-size:7px;color:#8291a4;margin-top:3px}.notification-popover>button,.account-popover>button{width:100%;border:0;background:#fff;padding:10px 12px;text-align:left;display:grid;grid-template-columns:12px 1fr 16px;align-items:center;gap:8px;color:#3d526c}.notification-popover>button:hover,.account-popover>button:hover{background:#f7f9fc}.notification-popover button b,.notification-popover button small{display:block}.notification-popover button b{font-size:8px}.notification-popover button small{font-size:7px;color:#8694a6;margin-top:2px}.notification-dot{width:7px;height:7px;background:#377de6;border-radius:50%}.popover-empty{padding:18px;text-align:center;color:#8492a4;font-size:8px}.help-popover{padding-bottom:8px}.help-popover p{font-size:8px;line-height:1.55;color:#64768c;padding:0 12px;margin:10px 0}.account-popover{width:250px}.account-popover>button{grid-template-columns:20px 1fr;color:#9a4c49}.avatar-button{border:0!important}.room-card-button{width:100%;text-align:left;grid-template-columns:54px 1fr 18px!important;align-items:center;cursor:pointer}.room-card-button:hover{border-color:#bcd2f0;box-shadow:0 8px 24px #2f5c9617;transform:translateY(-1px)}.room-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#edf1f5}.room-detail-grid>div{background:#fff;padding:12px 13px}.room-detail-grid span,.room-detail-grid b{display:block}.room-detail-grid span{font-size:7px;color:#8695a7}.room-detail-grid b{font-size:10px;color:#2d435e;margin-top:4px}.room-reservation-link,.room-upcoming-list>button{width:100%;border:0;background:#fff;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;color:#314760}.room-reservation-link:hover,.room-upcoming-list>button:hover{background:#f7f9fc}.room-reservation-link b,.room-reservation-link span,.room-upcoming-list b,.room-upcoming-list span{display:block}.room-reservation-link b,.room-upcoming-list b{font-size:9px}.room-reservation-link span,.room-upcoming-list span{font-size:7px;color:#8391a4;margin-top:3px}.room-upcoming-list>button{border-bottom:1px solid #edf1f5}.room-upcoming-list>button:last-child{border-bottom:0}.module-not-ready{padding:13px;display:flex;align-items:center;gap:8px;color:#71839a;font-size:8px}.coming-pill{margin-top:14px;background:#edf4ff;color:#3978d7;border-radius:999px;padding:4px 8px;font-size:7px;font-weight:750;letter-spacing:.05em}.session-loader{display:flex;align-items:center;gap:12px;color:#61748c;font-size:10px}.session-loader .brand-mark{width:32px;height:32px}@media(max-width:900px){.top-search-wrap{display:none}.top-popover{right:-10px}.room-detail-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.top-popover{position:fixed;left:12px;right:12px;top:62px;width:auto}.room-detail-grid{grid-template-columns:1fr}}.room-card-button>svg{margin-left:auto;flex:0 0 auto;color:#8ea0b4}.page-actions{display:flex;gap:8px;align-items:center}.rate-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 14px}.rate-toolbar>label{display:flex;align-items:center;gap:8px;font-size:8px;color:#6e8095;font-weight:650}.rate-toolbar select{min-width:210px;height:34px;border:1px solid #d8e0ea;border-radius:8px;background:#fff;padding:0 10px;color:#334a65;font-size:8px}.rate-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.rate-kpis article{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:13px 14px;min-height:82px}.rate-kpis span,.rate-kpis small,.rate-kpis b{display:block}.rate-kpis span{font-size:7px;color:#7d8ea2;font-weight:650}.rate-kpis b{font-size:19px;line-height:1.1;color:#263b55;margin:8px 0 3px}.rate-kpis small{font-size:7px;color:#98a5b4}.rate-calendar-panel{overflow:hidden}.rate-calendar-panel .panel-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid #edf1f5}.rate-calendar-panel .panel-head h2{font-size:11px;margin:0;color:#263b55}.rate-calendar-panel .panel-head p{font-size:7px;color:#8190a3;margin:3px 0 0}.rate-legend{display:flex;gap:12px;align-items:center}.rate-legend span{font-size:7px;color:#75869a;display:flex;align-items:center;gap:5px}.rate-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.rate-legend .open{background:#4caf75}.rate-legend .limited{background:#e5a93b}.rate-legend .closed{background:#dc6a63}.rate-grid-wrap{overflow:auto;max-width:100%}.rate-grid{display:grid;min-width:1210px;background:#edf1f5;gap:1px}.rate-grid-corner,.rate-date-head,.rate-room-head,.rate-cell{background:#fff}.rate-grid-corner,.rate-room-head{position:sticky;left:0;z-index:4}.rate-grid-corner{z-index:6;padding:10px 12px;min-height:52px;display:flex;flex-direction:column;justify-content:center}.rate-grid-corner b,.rate-grid-corner span,.rate-room-head b,.rate-room-head span{display:block}.rate-grid-corner b,.rate-room-head b{font-size:8px;color:#334a64}.rate-grid-corner span,.rate-room-head span{font-size:7px;color:#8796a8;margin-top:3px}.rate-date-head{min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center}.rate-date-head b{font-size:7px;text-transform:capitalize;color:#687a90}.rate-date-head span{font-size:8px;color:#334a64;margin-top:3px;font-weight:700}.rate-room-head{padding:10px 12px;min-height:76px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #edf1f5}.rate-cell{border:0;min-height:76px;padding:8px 5px;text-align:center;cursor:pointer;transition:.14s;position:relative;color:#334a64}.rate-cell:hover{z-index:2;box-shadow:inset 0 0 0 2px #96baf0;background:#f7fbff}.rate-cell strong,.rate-cell span,.rate-cell small{display:block}.rate-cell strong{font-size:9px}.rate-cell span{font-size:7px;color:#6f8094;margin-top:5px}.rate-cell small{font-size:6px;margin-top:5px;color:#9aa6b5;min-height:8px}.rate-cell.open:before,.rate-cell.limited:before,.rate-cell.closed:before{content:"";position:absolute;top:6px;right:6px;width:5px;height:5px;border-radius:50%}.rate-cell.open:before{background:#54ae79}.rate-cell.limited:before{background:#e0a43c}.rate-cell.closed{background:#fff8f7}.rate-cell.closed:before{background:#d9605a}.rate-cell.closed strong{color:#b44d48}.rate-cell.overridden{background-image:linear-gradient(135deg,rgba(55,125,230,.045) 25%,transparent 25%,transparent 50%,rgba(55,125,230,.045) 50%,rgba(55,125,230,.045) 75%,transparent 75%,transparent);background-size:8px 8px}.rates-empty{padding:54px 20px;text-align:center}.rates-empty-icon{width:52px;height:52px;border-radius:14px;background:#edf4ff;color:#377de6;display:grid;place-items:center;margin:0 auto 14px}.rates-empty h2{font-size:15px;margin:0;color:#2b405a}.rates-empty p{max-width:520px;margin:8px auto 18px;color:#74859a;font-size:9px;line-height:1.6}.module-loading{padding:42px;text-align:center;color:#75869a;font-size:9px}.rate-error{margin:12px}.rate-plan-modal{width:min(720px,94vw)}.rate-rule-modal{width:min(650px,94vw)}.rate-base-section{margin-top:14px;border-top:1px solid #edf1f5;padding-top:14px}.base-rate-list{margin-top:10px;border:1px solid #e4eaf1;border-radius:9px;overflow:hidden}.base-rate-list>label{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-bottom:1px solid #edf1f5}.base-rate-list>label:last-child{border-bottom:0}.base-rate-list b,.base-rate-list small{display:block}.base-rate-list b{font-size:9px;color:#344a63}.base-rate-list small{font-size:7px;color:#8a98a9;margin-top:3px}.money-input{display:flex;align-items:center;border:1px solid #d9e1ea;border-radius:8px;background:#fff;overflow:hidden}.money-input span{font-size:8px;color:#78899d;padding-left:9px}.money-input input{width:92px;border:0!important;box-shadow:none!important;text-align:right;padding-left:5px!important}.checkbox-field{flex-direction:row!important;align-items:center!important;gap:7px!important;padding-top:20px}.checkbox-field input{width:auto!important}.checkbox-field span{font-size:8px}.restriction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.restriction-grid label{border:1px solid #e0e7ef;border-radius:9px;padding:10px;display:flex;gap:8px;align-items:flex-start;cursor:pointer}.restriction-grid input{margin-top:2px}.restriction-grid b,.restriction-grid small{display:block}.restriction-grid b{font-size:8px;color:#34495f}.restriction-grid small{font-size:7px;color:#8795a6;margin-top:3px}.split-actions{justify-content:space-between}.split-actions>div{display:flex;gap:7px}.reset-rate{color:#875b56}.quote-box{margin-top:12px;border:1px solid #dce6f2;background:#f7fbff;border-radius:10px;padding:11px 12px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}.quote-box b,.quote-box span,.quote-box small{display:block}.quote-box b{font-size:9px;color:#2f4661}.quote-box span{font-size:7px;color:#75879c;margin-top:3px}.quote-box strong{font-size:13px;color:#2768c5}.quote-box small{grid-column:1/-1;font-size:7px;color:#9b5751}.quote-box.blocked{background:#fff8f7;border-color:#f0d8d5}.quote-box.blocked strong{color:#b2514c}@media(max-width:1100px){.rate-kpis{grid-template-columns:repeat(2,1fr)}.rate-toolbar{align-items:flex-start;flex-direction:column}.rate-toolbar>label{width:100%;justify-content:space-between}.rate-toolbar select{flex:1}.rate-calendar-panel .panel-head{align-items:flex-start;gap:10px;flex-direction:column}.page-actions{flex-wrap:wrap}}@media(max-width:620px){.rate-kpis{grid-template-columns:1fr 1fr}.page-actions{width:100%}.page-actions button{flex:1}.restriction-grid{grid-template-columns:1fr}.split-actions{align-items:stretch;flex-direction:column}.split-actions>div{display:grid;grid-template-columns:1fr 1fr}.rate-toolbar>label{display:grid;grid-template-columns:1fr}.rate-toolbar select{width:100%}.base-rate-list>label{align-items:flex-start;flex-direction:column}.money-input,.money-input input{width:100%}}.account-kpis{margin-bottom:14px}.accounts-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.accounts-toolbar .search-small{min-width:280px}.segmented{display:flex;align-items:center;background:#f2f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:2px}.segmented button{border:0;background:transparent;color:#718298;padding:7px 10px;border-radius:6px;font-size:8px}.segmented button.active{background:#fff;color:#2e5f9f;box-shadow:0 1px 4px #192d4614;font-weight:700}.table-sub{display:block;margin-top:5px}.money-positive{color:#2b8a4b!important}.balance-due{color:#b04d43}.balance-ok{color:#2c8b50}.balance-credit{color:#2c68b8}.folio-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:750;background:#edf1f5;color:#64778e}.folio-status.open{background:#eef7ff;color:#3370bf}.folio-status.closed{background:#eaf8ef;color:#2a7d47}.folio-status.not_opened{background:#f3f5f8;color:#75869b}.folio-drawer{width:min(700px,97vw)}.folio-hero{background:#fff;border-bottom:1px solid #e4e9f0;padding:13px 16px;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;align-items:center}.folio-hero>div{padding-right:10px;border-right:1px solid #edf1f5}.folio-hero>div:nth-child(3){border-right:0}.folio-hero span,.folio-hero strong{display:block}.folio-hero span{font-size:7px;color:#8290a3}.folio-hero strong{font-size:15px;color:#2b405a;margin-top:4px}.folio-actions .primary-action{background:#edf4ff;border-color:#c7daf7;color:#2f6ec8}.folio-entry-form{border-color:#cfdff4;box-shadow:0 4px 14px #2e65aa0f}.folio-list{padding:3px 0}.folio-line{display:grid;grid-template-columns:72px minmax(0,1fr) auto 28px;align-items:center;gap:10px;padding:10px 13px;border-bottom:1px solid #edf1f5}.folio-line:last-child{border-bottom:0}.folio-line-date{font-size:7px;color:#7c8da1}.folio-line b,.folio-line span{display:block}.folio-line b{font-size:8px;color:#314760}.folio-line span{font-size:7px;color:#8694a6;margin-top:3px}.folio-line>strong{font-size:9px;color:#334a64;white-space:nowrap}.folio-line.voided{opacity:.45;background:#fafbfc}.folio-line.voided b,.folio-line.voided strong{text-decoration:line-through}.folio-movement-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center}.folio-movement-icon.payment{background:#eaf8ef;color:#2c8b50}.folio-movement-icon.refund{background:#fff0ef;color:#b0534b}.folio-line:has(.folio-movement-icon){grid-template-columns:32px minmax(0,1fr) auto 28px}.accounts-panel .status-badge{font-size:6px;padding:3px 6px}@media(max-width:850px){.accounts-toolbar{align-items:stretch;flex-direction:column}.accounts-toolbar .search-small{min-width:0;width:100%}.segmented{overflow:auto}.folio-hero{grid-template-columns:repeat(3,1fr)}.folio-hero>.folio-status{grid-column:1/-1;justify-self:start}.folio-hero>div:nth-child(3){border-right:0}}@media(max-width:620px){.folio-hero{grid-template-columns:1fr 1fr}.folio-hero>div{border-right:0}.folio-line,.folio-line:has(.folio-movement-icon){grid-template-columns:1fr auto}.folio-line-date,.folio-movement-icon{display:none}.folio-line .grow{min-width:0}.folio-line .icon-btn{grid-column:2}.account-kpis{grid-template-columns:1fr 1fr}}.hk-date{height:34px;border:1px solid #dce3ec;border-radius:8px;background:#fff;color:#435a74;padding:0 10px;font-size:9px}.hk-kpis{margin-bottom:14px}.hk-toolbar{align-items:center}.hk-filters{display:flex;gap:8px}.hk-bulk{padding:9px 14px;background:#f1f6fd;border-bottom:1px solid #dce7f5;display:flex;align-items:center;justify-content:space-between;gap:10px}.hk-bulk b{font-size:8px;color:#385b84}.hk-bulk>div{display:flex;gap:6px}.hk-bulk button{border:1px solid #cddced;background:#fff;color:#3d6089;border-radius:7px;padding:6px 9px;font-size:8px;font-weight:650}.hk-table{min-width:1050px}.hk-row{transition:.12s}.hk-row.dirty{background:snow}.hk-row.in_progress{background:#fffdf8}.hk-row.inspect{background:#fbf9ff}.hk-row.ready{background:#fbfefc}.hk-row.blocked{opacity:.62;background:#f7f8fa}.room-code-button{border:0;background:transparent;color:#2f6fc9;font-weight:800;padding:0;font-size:10px}.room-code-button:hover{text-decoration:underline}.service-badge,.hk-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:750;white-space:nowrap}.service-badge{background:#f1f4f8;color:#64768c}.service-badge.arrival{background:#edf4ff;color:#306fc8}.service-badge.departure{background:#fff3e8;color:#b96923}.service-badge.stayover{background:#eef8f2;color:#347c52}.service-badge.turnaround{background:#f4efff;color:#7157b2}.hk-status.dirty{background:#fff0ef;color:#b4534b}.hk-status.in_progress{background:#fff6e8;color:#a66a24}.hk-status.inspect{background:#f3efff;color:#735cb5}.hk-status.ready{background:#eaf8ef;color:#2b7f49}.hk-status.dnd{background:#eef1f5;color:#566b82}.hk-status.skipped{background:#f4f5f7;color:#778598}.hk-status.blocked{background:#edf0f3;color:#626d7a}.priority-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;background:#9ca9b8}.priority-dot.low{background:#9ba9b9}.priority-dot.normal{background:#5b8bd2}.priority-dot.high{background:#e3a23c}.priority-dot.urgent{background:#d95d58}.row-actions{display:flex;align-items:center;gap:6px}.hk-panel input[type=checkbox]{accent-color:#377de6}.housekeeping-modal{width:min(650px,94vw)}.hk-edit-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.hk-edit-summary>div{border:1px solid #e3e9f0;border-radius:9px;padding:10px 11px;background:#fafbfd}.hk-edit-summary span,.hk-edit-summary b{display:block}.hk-edit-summary span{font-size:7px;color:#8392a5}.hk-edit-summary b{font-size:9px;color:#334a63;margin-top:4px}.configuration-error{max-width:520px;background:#fff;border:1px solid #e1e7ef;border-radius:14px;padding:28px;text-align:center;box-shadow:var(--shadow)}.configuration-error .brand-mark{margin:0 auto 14px}.configuration-error h2{font-size:17px;margin:0}.configuration-error p{font-size:9px;color:#74859a;line-height:1.6;margin:9px 0 17px}.platform-admin-page{min-height:100vh;background:#f4f7fb;padding:28px}.platform-admin-shell{max-width:1200px;margin:0 auto}.platform-admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.platform-admin-page h1{font-size:25px;margin:0}.platform-lead{font-size:10px;color:#718297;margin:7px 0 24px}.platform-kpis{grid-template-columns:repeat(3,1fr)}.platform-tenant-list article{padding:14px 16px;border-bottom:1px solid #edf1f5;display:grid;grid-template-columns:230px 1fr;gap:20px}.platform-tenant-list article:last-child{border-bottom:0}.platform-tenant-list b,.platform-tenant-list small{display:block}.platform-tenant-list b{font-size:10px;color:#31465f}.platform-tenant-list small{font-size:8px;color:#8391a4;margin-top:4px}.platform-tenant-list article>div:last-child{display:flex;flex-wrap:wrap;gap:6px}.platform-tenant-list span{background:#f4f7fb;border:1px solid #e1e7ef;border-radius:7px;padding:6px 8px;font-size:8px;color:#53677f}@media(max-width:900px){.hk-kpis{grid-template-columns:repeat(3,1fr)}.hk-toolbar{align-items:stretch;flex-direction:column}.hk-filters{width:100%}.hk-filters select{flex:1}.platform-tenant-list article{grid-template-columns:1fr}.platform-kpis{grid-template-columns:1fr 1fr 1fr}}@media(max-width:620px){.hk-kpis{grid-template-columns:1fr 1fr}.hk-bulk{align-items:flex-start;flex-direction:column}.hk-bulk>div{width:100%;overflow:auto}.hk-edit-summary{grid-template-columns:1fr}.platform-admin-page{padding:16px}.platform-admin-head{align-items:flex-start;gap:16px}.platform-kpis{grid-template-columns:1fr}}.compliance-alert{margin-bottom:10px}.compliance-notice{min-height:36px;margin-bottom:11px;border:1px solid #cce7d5;background:#eef9f2;color:#34764c;border-radius:9px;padding:8px 10px;display:flex;align-items:center;gap:7px;font-size:8px}.compliance-notice button{margin-left:auto;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:#5a7b67;display:grid;place-items:center}.compliance-tabs{display:flex;align-items:center;gap:4px;margin:0 0 14px;border-bottom:1px solid #dde5ee}.compliance-tabs button{min-height:39px;padding:0 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:#718297;display:flex;align-items:center;gap:7px;font-size:9px;font-weight:650}.compliance-tabs button:hover{color:#385b83;background:#f8fafc}.compliance-tabs button.active{color:#2f71d1;border-bottom-color:#377de6;background:#f7faff}.compliance-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.compliance-kpis .kpi-card{min-height:91px}.compliance-doc-table{min-width:1050px}.table-sub{display:block;font-size:7px;color:#8a99ab;margin-top:3px}.link-ok{display:inline-flex;align-items:center;gap:5px;color:#2c7c49;font-size:8px;font-weight:650}.link-missing{color:#a96c31;font-size:8px;font-weight:650}.compliance-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:750;white-space:nowrap}.compliance-status.ready{background:#e9f8ef;color:#2b7d48}.compliance-status.issue{background:#fff1e7;color:#a35e24}.compliance-status.neutral{background:#f1f4f8;color:#61738a}.compliance-doc-modal{width:min(820px,96vw)}.compliance-period{background:#fff;border:1px solid #e1e7ef;border-radius:10px;padding:12px 14px;margin-bottom:12px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;box-shadow:var(--shadow)}.compliance-period>div:first-child,.sitra-period-fields{display:flex;align-items:flex-end;gap:8px}.compliance-period label{font-size:7px;color:#6e8095;font-weight:650}.compliance-period input{display:block;margin-top:5px;height:34px;border:1px solid #d8e0ea;border-radius:8px;padding:0 9px;color:#334a65;font-size:8px;background:#fff}.period-quick{display:flex;gap:5px}.period-quick button{height:34px;border:1px solid #dbe3ed;border-radius:7px;background:#fff;color:#50657f;padding:0 9px;font-size:8px}.compliance-period-actions{display:flex;align-items:center;gap:9px}.compliance-period-actions>span{font-size:8px;font-weight:700}.compliance-period-actions>span.ready{color:#2c824b}.compliance-period-actions>span.issue{color:#b06d29}.compliance-info{border:1px solid #dce6f2;background:#f6faff;border-radius:8px;padding:9px 11px;margin-bottom:12px;color:#5b7390;font-size:8px;display:flex;align-items:center;gap:7px}.compliance-stays{overflow:hidden}.compliance-stay{border-bottom:1px solid #e8edf3}.compliance-stay:last-child{border-bottom:0}.compliance-stay-head{min-height:56px;padding:10px 14px;background:#fbfcfe;display:flex;align-items:center;gap:14px}.compliance-stay-head>div:first-child{min-width:180px}.compliance-stay-head b,.compliance-stay-head span{display:block}.compliance-stay-head b{font-size:10px;color:#2f4661}.compliance-stay-head span{font-size:7px;color:#8190a3;margin-top:3px}.compliance-stay-head label{margin-left:auto;display:flex;align-items:center;gap:7px;color:#6d7f94;font-size:7px;font-weight:650}.compliance-stay-head select{height:30px;border:1px solid #d9e1ea;border-radius:7px;background:#fff;color:#40566f;font-size:8px;padding:0 8px}.compliance-guests{padding:3px 14px 10px}.compliance-guest{min-height:51px;padding:8px 0;display:flex;align-items:center;gap:10px;border-bottom:1px solid #edf1f5}.compliance-guest:last-child{border-bottom:0}.compliance-guest.missing{background:linear-gradient(90deg,#fff8f5 0,#fff0 68%)}.compliance-guest-main{flex:1;min-width:0}.compliance-guest-main b,.compliance-guest-main span,.compliance-guest-main small{display:block}.compliance-guest-main b{font-size:9px;color:#314860}.compliance-guest-main span{font-size:7px;color:#7e8da0;margin-top:3px}.compliance-guest-main small{font-size:7px;color:#ad5d50;margin-top:4px;white-space:normal;line-height:1.45}.compliance-errors{margin-top:12px;background:#fff;border:1px solid #efd8d3;border-radius:10px;padding:12px 14px}.compliance-errors>b{display:block;font-size:9px;color:#8f4c45;margin-bottom:8px}.compliance-errors span{display:flex;align-items:flex-start;gap:7px;font-size:7px;color:#9a5a52;line-height:1.5;margin-top:5px}.compliance-config-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px;margin-bottom:12px}.compliance-config-summary>div{background:#fff;border:1px solid #e1e7ef;border-radius:9px;padding:10px 11px;box-shadow:var(--shadow)}.compliance-config-summary span,.compliance-config-summary b{display:block}.compliance-config-summary span{font-size:7px;color:#8291a4}.compliance-config-summary b{font-size:9px;color:#344b65;margin-top:5px}.compliance-config-summary>.secondary-btn{align-self:stretch}.compliance-settings-modal{width:min(720px,95vw)}.compliance-kind{border-radius:999px;padding:4px 7px;font-size:7px;font-weight:700}.compliance-kind.alloggiati_txt{background:#edf4ff;color:#3471ca}.compliance-kind.sitra_xml{background:#eef8f2;color:#337a4f}.hash-cell{font-size:7px;color:#61738a;background:#f4f6f9;padding:3px 5px;border-radius:5px}@media(max-width:1100px){.compliance-kpis,.compliance-config-summary{grid-template-columns:repeat(2,1fr)}.compliance-config-summary>.secondary-btn{grid-column:1/-1}.compliance-period{align-items:flex-start;flex-direction:column}.compliance-period-actions{width:100%;justify-content:space-between}}@media(max-width:700px){.compliance-tabs{overflow-x:auto}.compliance-tabs button{white-space:nowrap}.compliance-kpis{grid-template-columns:1fr 1fr}.compliance-stay-head{align-items:flex-start;flex-wrap:wrap}.compliance-stay-head label{margin-left:0}.compliance-period>div:first-child,.sitra-period-fields{align-items:stretch;flex-wrap:wrap}.compliance-period-actions{align-items:stretch;flex-direction:column}.compliance-period-actions .primary-btn{width:100%}.compliance-config-summary{grid-template-columns:1fr 1fr}}@media(max-width:480px){.compliance-kpis,.compliance-config-summary{grid-template-columns:1fr}.compliance-stay-head>div:first-child{min-width:0;width:100%}.compliance-stay-head label{width:100%;justify-content:space-between}.compliance-stay-head select{flex:1}}.report-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:14px;box-shadow:var(--shadow)}.report-presets{display:flex;gap:6px;flex-wrap:wrap}.report-presets button{border:1px solid #d9e2ed;background:#f8fafc;color:#50657e;border-radius:7px;padding:7px 9px;font-size:8px;font-weight:650;cursor:pointer}.report-presets button:hover{background:#eef4fb;color:#2f6fc9}.report-dates{display:flex;gap:8px;align-items:flex-end}.report-dates label{font-size:7px;color:#75879b;font-weight:700;display:grid;gap:4px}.report-dates input{height:34px;border:1px solid #dce3ec;border-radius:8px;padding:0 9px;color:#435a74;font-size:8px;background:#fff}.report-kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:14px}.report-kpis .kpi-card{min-width:0}.report-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;margin-bottom:14px}.report-grid .panel{min-width:0}.report-wide{grid-column:span 2}.report-daily-chart{height:190px;padding:14px 16px 4px;display:flex;align-items:flex-end;gap:5px;overflow-x:auto;border-top:1px solid #eef2f6}.daily-column{height:100%;min-width:22px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.daily-bars{height:145px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}.daily-bars i{display:block;width:38%;min-width:4px;border-radius:3px 3px 0 0}.revenue-bar{background:#3d7fe1}.occupancy-bar{background:#68c08a}.daily-column small{font-size:6px;color:#8b99aa;white-space:nowrap}.report-legend{display:flex;gap:14px;padding:7px 16px 12px;color:#718399;font-size:7px}.report-legend span{display:flex;align-items:center;gap:5px}.report-legend i{width:8px;height:8px;border-radius:2px}.legend-revenue{background:#3d7fe1}.legend-occupancy{background:#68c08a}.metric-list{padding:8px 14px 14px;display:grid;gap:10px}.metric-bar-row{display:grid;grid-template-columns:minmax(95px,1.1fr) 1.4fr auto;gap:8px;align-items:center}.metric-bar-label{min-width:0}.metric-bar-label b,.metric-bar-label span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-bar-label b{font-size:8px;color:#3b5069}.metric-bar-label span{font-size:6px;color:#8a98aa;margin-top:2px}.metric-bar-track{height:6px;border-radius:99px;background:#edf2f7;overflow:hidden}.metric-bar-track i{height:100%;display:block;border-radius:99px;background:#4c84da}.metric-bar-row strong{font-size:8px;color:#3d526b;white-space:nowrap}.report-payment-total{border-top:1px solid #edf1f5;padding:10px 14px;display:grid;grid-template-columns:1fr auto 1fr auto;gap:7px;align-items:center}.report-payment-total span{font-size:7px;color:#7d8ca0}.report-payment-total b{font-size:8px;color:#344b66}.report-table-panel{margin-bottom:18px}.report-table{min-width:950px}.report-occ{display:inline-flex;border-radius:999px;background:#edf5ff;color:#336fbe;padding:4px 7px;font-size:7px;font-weight:750}@media(max-width:1200px){.report-kpis{grid-template-columns:repeat(3,1fr)}.report-grid{grid-template-columns:1fr 1fr}.report-wide{grid-column:span 2}}@media(max-width:760px){.report-toolbar{align-items:stretch;flex-direction:column}.report-dates{flex-wrap:wrap}.report-dates label{flex:1}.report-kpis{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr}.report-wide{grid-column:span 1}.report-payment-total{grid-template-columns:1fr auto}.metric-bar-row{grid-template-columns:100px 1fr auto}}.registry-kpis{grid-template-columns:repeat(4,1fr);margin-bottom:14px}.registry-tabs{display:flex;gap:5px;border-bottom:1px solid #dfe6ee;margin-bottom:12px;overflow:auto}.registry-tabs button{border:0;background:transparent;padding:10px 12px;font-size:8px;font-weight:700;color:#72849a;white-space:nowrap;border-bottom:2px solid transparent;cursor:pointer}.registry-tabs button.active{color:#2f6fc9;border-bottom-color:#3d7fe1}.registry-table{min-width:920px}.registry-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:7px;font-weight:800}.registry-badge.vip{background:#fff4d9;color:#9b6a13}.registry-badge.vvip{background:#f1eaff;color:#6846a5}.registry-badge.blacklist{background:#ffefef;color:#ad4848}.registry-guest-modal{width:min(900px,96vw)}.registry-account-modal{width:min(820px,96vw);max-height:92vh;overflow:auto}.registry-modal-body{max-height:68vh;overflow:auto}.registry-guest-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:11px;background:#f9fbfd;margin-bottom:14px}.registry-avatar{width:42px;height:42px;border-radius:50%;background:#e7f0fc;color:#2d6fc5;display:grid;place-items:center;font-size:11px;font-weight:800}.registry-avatar.small{width:32px;height:32px;font-size:8px}.registry-guest-head>div:nth-child(2) b,.registry-guest-head>div:nth-child(2) span{display:block}.registry-guest-head>div:nth-child(2) b{font-size:11px;color:#30475f}.registry-guest-head>div:nth-child(2) span{font-size:8px;color:#8291a3;margin-top:3px}.registry-guest-stats{display:flex;gap:15px}.registry-guest-stats span{display:grid;text-align:center;font-size:6px;color:#8996a7}.registry-guest-stats b{font-size:9px;color:#334d68;margin-bottom:2px}.registry-blacklist{border:1px solid #f2d0d0;background:#fff8f8;border-radius:8px;padding:9px}.registry-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.registry-history-grid h3,.registry-contacts h3{font-size:9px;color:#41566d;margin:0 0 7px}.mini-history{border:1px solid #e3e9f0;border-radius:9px;overflow:hidden}.mini-history>div{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid #eef2f6}.mini-history>div:last-child{border-bottom:0}.mini-history b{font-size:8px;color:#3e536b}.mini-history span{font-size:7px;color:#7f8da0}.mini-history p{padding:10px;margin:0;font-size:8px;color:#8795a6}.registry-contacts{border-top:1px solid #e3e8ef;padding:14px 18px 18px}.contact-inline{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1fr auto;gap:6px}.contact-inline input{border:1px solid #dbe3ec;border-radius:7px;padding:7px 8px;font-size:8px}.contact-list{display:grid;gap:5px;margin-top:9px}.contact-list>div{padding:8px 10px;border:1px solid #e4eaf1;border-radius:8px;background:#fafbfd}.contact-list b,.contact-list span{display:block}.contact-list b{font-size:8px;color:#3b5169}.contact-list span{font-size:7px;color:#8190a2;margin-top:2px}.contact-list p{font-size:8px;color:#8795a6}.duplicate-groups{padding:12px;display:grid;gap:12px}.duplicate-groups article{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.duplicate-reason{display:flex;gap:9px;align-items:center;padding:10px 12px;background:#fff8ec;color:#9a6b26}.duplicate-reason b,.duplicate-reason span{display:block}.duplicate-reason b{font-size:8px}.duplicate-reason span{font-size:7px;color:#9c8562;margin-top:2px}.duplicate-members{padding:7px;display:grid;gap:5px}.duplicate-members button{border:1px solid #e6ebf1;background:#fff;border-radius:8px;padding:8px;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;text-align:left;cursor:pointer}.duplicate-members button:hover{background:#f8fbff;border-color:#cfdceb}.duplicate-members b,.duplicate-members span{display:block}.duplicate-members b{font-size:8px;color:#3b5068}.duplicate-members span{font-size:7px;color:#8492a4;margin-top:2px}@media(max-width:980px){.registry-kpis{grid-template-columns:1fr 1fr}.registry-guest-head{grid-template-columns:auto 1fr}.registry-guest-stats{grid-column:1/-1;justify-content:flex-start}.registry-history-grid{grid-template-columns:1fr}.contact-inline{grid-template-columns:1fr 1fr}}@media(max-width:620px){.registry-kpis{grid-template-columns:1fr 1fr}.contact-inline{grid-template-columns:1fr}.registry-guest-stats{flex-wrap:wrap}}.settings-role{display:flex;align-items:center;gap:6px;border:1px solid #dce4ed;background:#fff;border-radius:8px;padding:7px 10px;color:#60758d;font-size:8px;font-weight:700}.settings-notice{display:flex;align-items:center;gap:7px;background:#ecf8f0;border:1px solid #cfead8;color:#36784d;border-radius:9px;padding:9px 11px;margin-bottom:12px;font-size:8px;font-weight:650}.settings-notice button{margin-left:auto;border:0;background:transparent;color:inherit;display:grid;place-items:center}.settings-tabs{display:flex;gap:4px;border-bottom:1px solid #dfe6ee;margin-bottom:14px;overflow:auto}.settings-tabs button{border:0;background:transparent;padding:10px 12px;font-size:8px;font-weight:700;color:#74869b;white-space:nowrap;border-bottom:2px solid transparent;cursor:pointer}.settings-tabs button.active{color:#2f6fc9;border-bottom-color:#3d7fe1}.settings-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;align-items:start}.settings-card{overflow:hidden}.settings-form{padding:14px;display:grid;gap:10px}.settings-form.two-col{grid-template-columns:1fr 1fr}.settings-form label{display:grid;gap:4px;font-size:7px;color:#74859a;font-weight:700}.settings-form label.full{grid-column:1/-1}.settings-form input,.settings-form select,.settings-form textarea{width:100%;border:1px solid #dbe3ec;border-radius:8px;background:#fff;color:#354d67;padding:8px 9px;font-size:8px;min-height:34px}.settings-form input:disabled,.settings-form select:disabled,.settings-form textarea:disabled{background:#f4f6f8;color:#8c99a8}.settings-form small{font-size:6px;color:#8d9aab;margin-top:-1px}.settings-save{display:flex;justify-content:flex-end;border-top:1px solid #edf1f5;padding:10px 14px;background:#fafbfd}.module-settings-grid{padding:14px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.module-setting{display:flex;justify-content:space-between;align-items:center;border:1px solid #e1e7ef;border-radius:10px;padding:11px 12px;background:#fff}.module-setting>div{display:flex;gap:9px;align-items:center;color:#63778f}.module-setting>div span b,.module-setting>div span small{display:block}.module-setting>div span b{font-size:8px;color:#3b516a}.module-setting>div span small{font-size:7px;margin-top:2px;color:#8695a7}.module-setting.enabled{background:#fbfefc;border-color:#d9e9df}.module-setting.disabled{background:#f7f8fa;opacity:.76}.module-setting input{accent-color:#3c7dd7;width:16px;height:16px}.module-off-tag{margin-left:auto;background:#eef1f5;color:#78889a;border-radius:99px;font-size:6px;font-weight:800;padding:3px 6px}.sidebar nav button.module-disabled{opacity:.5;cursor:not-allowed}.sidebar nav button.module-disabled:hover{background:transparent}.settings-users .panel-head{align-items:center}.tiny-btn{padding:5px 7px!important;font-size:7px!important;min-height:0!important}.settings-user-modal{width:min(700px,95vw)}.settings-access{margin-top:15px;border-top:1px solid #e6ebf1;padding-top:12px}.settings-access h3{font-size:9px;color:#40566e;margin:0 0 4px}.settings-access>p{font-size:7px;color:#8391a3;margin:0 0 9px}.settings-property-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.settings-property-checks label{border:1px solid #e1e7ef;border-radius:8px;padding:8px 9px;display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center}.settings-property-checks input{accent-color:#3d7fe1}.settings-property-checks span{font-size:8px;color:#40566e;font-weight:700}.settings-property-checks small{font-size:6px;color:#8795a6}.number-preview{background:#eef5ff;color:#2d6fc7;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:800;letter-spacing:.4px}.settings-number-note{margin:0 14px 14px;border:1px solid #dce7f5;background:#f6faff;color:#5b7391;border-radius:8px;padding:9px 10px;display:flex;align-items:flex-start;gap:7px;font-size:7px;line-height:1.45}@media(max-width:980px){.settings-layout{grid-template-columns:1fr}.module-settings-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.settings-form.two-col{grid-template-columns:1fr}.settings-form label.full{grid-column:auto}.module-settings-grid,.settings-property-checks{grid-template-columns:1fr}}.loading-cell{padding:22px!important;text-align:center!important;color:#72859a!important;font-size:8px!important;background:#fbfcfe!important}.room-config-modal{width:min(590px,95vw)}.room-type-capacity{grid-column:1/-1;border:1px solid #dfe8f3;background:#f7faff;border-radius:9px;padding:10px 11px}.room-type-capacity span,.room-type-capacity b,.room-type-capacity small{display:block}.room-type-capacity span{font-size:7px;color:#71849b}.room-type-capacity b{font-size:10px;color:#345b8e;margin-top:3px}.room-type-capacity small{font-size:7px;color:#8796a8;margin-top:3px;line-height:1.45}.room-hk-summary{display:flex;align-items:center;gap:11px;padding:13px}.room-hk-summary>div b,.room-hk-summary>div span{display:block}.room-hk-summary>div b{font-size:9px;color:#3b5169}.room-hk-summary>div span{font-size:7px;color:#8290a2;margin-top:3px;line-height:1.45}.compliance-warning{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:#fff7e8;border:1px solid #edd9aa;color:#8a651f;border-radius:9px;padding:10px 12px;margin-bottom:11px}.compliance-warning>div b,.compliance-warning>div span{display:block}.compliance-warning>div b{font-size:8px}.compliance-warning>div span{font-size:7px;margin-top:2px;color:#92784a}.section-head>.icon-btn{margin-left:auto}@media(max-width:620px){.compliance-warning{grid-template-columns:auto 1fr}.compliance-warning>button{grid-column:1/-1}.room-hk-summary{align-items:flex-start;flex-direction:column}}
