*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#eef2f5}button,input,select{font:inherit}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(360px,.8fr);background:#f4f6f8}.login-brand{display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:clamp(40px,7vw,96px);color:#172033;background:linear-gradient(135deg,#ffffffeb,#f4f6f8e0),#f8f4ef}.login-brand-inner{display:grid;gap:18px;align-items:center;width:min(440px,82vw)}.login-wordmark{width:min(400px,82vw);height:auto;mix-blend-mode:multiply}.login-brand p:last-child{max-width:520px;color:#4d5a6d;font-size:18px}.login-panel{position:relative;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:clamp(32px,6vw,80px);background:#fff}.login-panel h2{margin:6px 0 12px;font-size:28px}.language-switcher,.nav-language{display:flex;align-items:center;gap:8px;color:#667085;font-size:13px;font-weight:700}.language-switcher{position:absolute;top:28px;right:clamp(32px,6vw,80px)}.language-switcher select,.nav-language select{min-height:34px;padding:0 8px;border:1px solid #c9d2df;border-radius:4px;background:#fff;color:#172033}.login-panel label{display:grid;gap:8px;color:#344054;font-size:14px;font-weight:600}.login-panel input{width:100%;height:48px;padding:0 12px;border:1px solid #aeb8c7;border-radius:4px}.login-panel input:focus{outline:2px solid #2f6fed;outline-offset:1px}.primary-button{min-height:48px;border:0;border-radius:4px;color:#fff;background:#14213d;cursor:pointer}.primary-button:disabled{opacity:.65}.secondary-button{min-height:42px;border:1px solid #aeb8c7;border-radius:4px;color:#172033;background:#fff;cursor:pointer}.danger-button{min-height:42px;border:1px solid #b42318;border-radius:4px;color:#b42318;background:#fff;cursor:pointer}.button-row{display:flex;flex-wrap:wrap;gap:10px}.form-error{margin:0;color:#b42318}.app-shell{min-height:100vh;display:grid;grid-template-columns:264px 1fr;background:linear-gradient(180deg,#ffffff80,#eef2f5cc),#eef2f5}.side-nav{position:sticky;top:0;align-self:start;min-height:100vh;padding:24px 16px;border-right:1px solid #243047;background:#111a2e}.side-logo{width:168px;height:64px;object-fit:contain;margin:0 8px 18px;position:relative;z-index:2;padding:8px;border-radius:6px;background:#fffffff5;box-shadow:0 10px 24px #00000029}.side-nav nav{display:grid;gap:4px}.side-nav button{min-height:44px;padding:0 14px;border:0;border-radius:4px;background:transparent;color:#c6cedb;cursor:pointer;text-align:left}.side-nav button.active{color:#111a2e;background:#f3c16b;font-weight:800}.app-main{min-width:0}.app-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;min-height:68px;padding:0 28px;border-bottom:1px solid #d7dee8;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-topbar>div:first-child{display:flex;flex-direction:column;gap:2px;margin-right:auto}.app-topbar span{color:#667085;font-size:13px}.settings-layout{display:grid;grid-template-columns:minmax(320px,520px) 1fr;gap:20px}.settings-layout.wide{grid-template-columns:1fr minmax(340px,520px)}.management-tabs{display:flex;gap:8px;padding:0 28px 18px}.management-tabs button{min-height:40px;padding:0 14px;border:1px solid #c9d2df;border-radius:4px;background:#fff;color:#344054;cursor:pointer}.management-tabs button.active{border-color:#14213d;color:#fff;background:#14213d}.management-panel{display:grid;grid-template-columns:minmax(300px,420px) minmax(420px,1fr);gap:20px;padding:0 28px 28px}.management-list,.management-editor{min-width:0}.management-list{padding:18px;border:1px solid #d7dee8;background:#fff}.management-editor{align-self:start}.split-editor{display:grid;gap:18px}.nested-admin-box{display:grid;gap:10px;padding:14px;border:1px solid #e4e7ec;background:#f8fafc}.panel-heading.compact{margin-bottom:14px}.panel-heading.compact h2{margin:0;font-size:18px}.settings-form,.connection-list{padding:20px;border:1px solid #d7dee8;background:#fff}.settings-form{display:grid;gap:14px}.settings-form label,.advanced-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#344054}.settings-form input,.settings-form select,.advanced-form input,.advanced-form select{min-height:42px;padding:0 10px;border:1px solid #aeb8c7;border-radius:4px;background:#fff}.hosted-connect-panel{display:grid;gap:12px;padding:18px;border:1px solid #d7dee8;background:#f8fafc}.hosted-connect-panel h2{margin:0;font-size:22px}.advanced-form{display:grid;gap:14px;padding-top:14px;border-top:1px solid #e4e7ec}.success-message{margin:0;color:#067647}.connection-row{display:grid;grid-template-columns:120px 1fr 100px;gap:12px;padding:14px 0;border-bottom:1px solid #e4e7ec}.connection-row em{font-style:normal;color:#667085}.muted-line{color:#667085}.property-row{display:grid;width:100%;gap:6px;padding:14px;border:1px solid #e4e7ec;border-radius:4px;background:#fff;color:#172033;text-align:left;cursor:pointer}.property-row+.property-row{margin-top:10px}.property-row.active{border-color:#14213d;box-shadow:inset 3px 0 #14213d}.property-row.sub-row{margin-left:18px;background:#f8fafc}.property-row span,.property-row em{color:#667085;font-size:13px;font-style:normal}.form-section-title{padding-top:8px;border-top:1px solid #e4e7ec;color:#172033;font-weight:800}@media (max-width: 760px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:260px;padding:32px 24px}.login-brand-inner{width:min(300px,86vw);gap:10px}.login-wordmark{width:min(260px,86vw)}.login-panel{min-height:calc(100vh - 260px);padding:72px 24px 32px}.language-switcher{top:20px;right:24px}.app-shell{grid-template-columns:1fr}.side-nav{position:static;min-height:auto;border-right:0;border-bottom:1px solid #d7dee8}.side-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}.side-logo{width:132px;height:48px}.app-topbar{align-items:flex-start;flex-wrap:wrap;height:auto;padding:14px 16px}.nav-language{width:100%;margin-left:0}.shell{padding:16px}.topbar{align-items:flex-start;gap:12px}.sync-pill{font-size:12px}.settings-layout,.settings-layout.wide{grid-template-columns:1fr}}.shell{min-height:100vh;padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.eyebrow{margin:0 0 4px;color:#687386;font-size:12px;letter-spacing:0}h1{margin:0;font-size:28px}.sync-pill{padding:10px 14px;border:1px solid #c9d2df;border-radius:6px;background:#fff;color:#2d3a4f;font-size:14px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-bottom:18px}.metric-card,.workbench-panel,.module-tile{border:1px solid #d7dee8;background:#fff;box-shadow:0 10px 30px #111a2e0a}.metric-card{display:grid;gap:8px;min-height:118px;padding:16px;border-top:3px solid #14213d}.metric-card span{color:#667085;font-size:13px;font-weight:700}.metric-card strong{font-size:25px}.metric-card em{color:#667085;font-size:13px;font-style:normal}.workbench-grid{display:grid;grid-template-columns:1.1fr 1.1fr .9fr;gap:18px}.workbench-panel{display:grid;gap:10px;padding:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.text-button{border:0;background:transparent;color:#2454a6;cursor:pointer;font-weight:700}.task-row,.ai-card{padding:12px;border:1px solid #e4e7ec;background:#f8fafc}.ai-card{border-left:3px solid #c68a36}.sync-state{display:inline-flex;width:fit-content;padding:7px 10px;border-radius:4px;font-size:13px;font-weight:800}.sync-state.success{color:#067647;background:#ecfdf3}.module-grid{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:16px}.module-tile{display:grid;gap:10px;min-height:158px;padding:18px;align-content:start}.module-tile strong{font-size:17px}.module-tile p{margin:0;color:#667085;line-height:1.5}.tile-index{width:fit-content;padding:4px 8px;border:1px solid #d8b36a;color:#8a6422;background:#fff8ea;font-size:12px;font-weight:800}.data-panel{margin-top:18px;padding:20px;border:1px solid #d7dee8;background:#fff;box-shadow:0 12px 34px #111a2e0d}.data-table{display:grid;gap:10px}.data-row{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;padding:12px;border:1px solid #e4e7ec;background:#f8fafc}.data-row span{display:grid;gap:3px;min-width:0;color:#344054;font-size:13px}.data-row strong{color:#667085;font-size:11px;text-transform:uppercase}.sync-event-row{grid-template-columns:repeat(3,minmax(140px,1fr)) minmax(120px,auto);align-items:center}.reservations-layout{grid-template-columns:minmax(320px,420px) 1fr;align-items:start}.reservation-form{position:sticky;top:92px}.reservations-panel{margin-top:0}.compact-toolbar{margin-bottom:16px;box-shadow:none}.reservation-table{display:grid;gap:10px}.reservation-row{display:grid;grid-template-columns:1.2fr 1fr 1.2fr auto auto;gap:12px;align-items:center;padding:14px;border:1px solid #e4e7ec;background:#f8fafc}.reservation-row div{display:grid;gap:4px;min-width:0}.reservation-row span{color:#667085;font-size:13px}.governance-layout{grid-template-columns:minmax(320px,420px) 1fr;align-items:start}.governance-panel{margin-top:0}.governance-row{grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(100px,auto);align-items:center}.room-priority-row{grid-template-columns:1fr minmax(120px,160px) minmax(120px,160px) minmax(180px,1fr) auto}.room-type-panel{align-items:stretch}.room-type-group{display:grid;gap:6px}.room-type-group.active>.property-row{border-color:#14213d;background:#eef3f8}.room-child-list{display:grid;gap:6px;padding:0 0 8px 16px;border-left:2px solid #d7dee8}.room-child-list .property-row{min-height:56px;padding:10px 12px;background:#fff}.room-child-create{justify-self:start;min-height:34px;padding:0 12px}.room-priority-row label,.inline-check{display:grid;gap:6px;color:#344054;font-size:13px;font-weight:800}.inline-check{display:flex;align-items:center}.room-priority-row input[type=number]{min-height:38px;padding:0 10px;border:1px solid #aeb8c7;border-radius:4px}.audit-table{display:grid;gap:12px}.audit-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) minmax(160px,.8fr) minmax(260px,1.4fr);gap:12px;align-items:start;padding:14px;border:1px solid #e4e7ec;background:#f8fafc}.audit-row div{display:grid;gap:4px}.audit-row span{color:#667085;font-size:13px}.audit-row pre{max-height:140px;margin:0;overflow:auto;white-space:pre-wrap;color:#344054;font-size:12px}.policy-grid{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:12px}.policy-card{display:grid;gap:10px;padding:14px;border:1px solid #e4e7ec;background:#f8fafc}.policy-card label{display:grid;gap:6px;color:#344054;font-size:13px;font-weight:800}.policy-card input[type=number],.policy-card textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid #aeb8c7;border-radius:4px;background:#fff}.policy-card textarea{min-height:92px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.revenue-layout{grid-template-columns:1fr minmax(300px,380px);align-items:start}.revenue-panel{margin-top:0}.rate-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.rate-card{display:grid;gap:8px;min-height:112px;padding:14px;border:1px solid #e4e7ec;background:#f8fafc}.rate-card span,.rate-card em{color:#667085;font-size:13px;font-style:normal}.rate-card strong{color:#111a2e;font-size:22px}.recommendation-table{display:grid;gap:10px}.recommendation-row{display:grid;grid-template-columns:auto minmax(130px,1fr) repeat(4,minmax(110px,.8fr)) minmax(180px,1fr);gap:12px;align-items:center;padding:14px;border:1px solid #e4e7ec;background:#f8fafc}.recommendation-row div,.recommendation-row span{display:grid;gap:4px}.recommendation-row span,.recommendation-row em{color:#667085;font-size:13px;font-style:normal}.operations-layout{grid-template-columns:minmax(320px,420px) 1fr;align-items:start}.operations-panel{margin-top:0}.ops-board{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.ops-card{display:grid;gap:12px;min-height:170px;padding:14px;border:1px solid #e4e7ec;background:#f8fafc}.ops-card strong{color:#111a2e;font-size:18px}.ops-card span,.ops-card p,.ops-card small{margin:0;color:#667085;font-size:13px}.ops-actions{display:flex;flex-wrap:wrap;gap:8px;align-self:end}.maintenance-card{border-left:3px solid #c68a36}@media (max-width: 1180px){.ops-board,.policy-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (max-width: 1080px){.metric-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.workbench-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.data-row{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media (max-width: 760px){.metric-grid,.module-grid,.data-row{grid-template-columns:1fr}}.calendar{border:1px solid #d7dee8;background:#fff;overflow:auto;box-shadow:0 12px 34px #111a2e0d}.calendar-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px;padding:14px;border:1px solid #d7dee8;background:#fff;box-shadow:0 8px 24px #111a2e0a}.calendar-toolbar label{display:grid;gap:5px;min-width:150px;color:#344054;font-size:13px;font-weight:800}.calendar-toolbar input,.calendar-toolbar select{height:38px;padding:0 10px;border:1px solid #aeb8c7;border-radius:4px}.grid{display:grid;grid-template-columns:180px repeat(7,minmax(128px,1fr));min-width:1080px}.header{position:sticky;top:0;z-index:2;background:#111a2e;color:#fff}.room-header,.date-header,.room-name,.cell{min-height:72px;border-right:1px solid #d7dee8;border-bottom:1px solid #d7dee8}.room-header,.date-header{display:flex;align-items:center;padding:12px;font-weight:700}.room-name{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px;border-top:0;border-left:0;background:#fbfcfe;color:#172033;text-align:left}.type-row .room-name,.summary-cell{background:#f7f2e8}.room-type-toggle{cursor:pointer}.summary-cell{color:#172033;border-top:1px solid #e2cfaa}.detail-drawer{position:fixed;top:0;right:0;z-index:20;width:min(420px,92vw);height:100vh;padding:28px;border-left:1px solid #d7dee8;background:#fff;box-shadow:-24px 0 60px #17203324}.close-button{float:right}.drawer-actions,.block-form{display:grid;gap:10px;margin:18px 0}.drawer-actions .secondary-button{width:100%}.block-form{padding:12px;border:1px solid #d7dee8;background:#f8fafc}.block-form label{display:grid;gap:6px;color:#344054;font-size:13px;font-weight:800}.block-form input,.block-form select{min-height:38px;padding:0 10px;border:1px solid #aeb8c7;border-radius:4px}.room-name span{color:#657185;font-size:13px}.cell{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;padding:10px;border-top:0;border-left:0;font:inherit;text-align:left;cursor:pointer}.cell span{font-size:12px;color:#425066}.cell strong{color:#111827}.cell small,.cell em{color:#536176;font-size:12px;font-style:normal}.selling{background:#f1fbf5}.reserved,.checked_in,.due_out{background:#eaf2ff}.checked_out{background:#eef1f5}.blocked_maintenance,.blocked_owner_use,.blocked_special{background:#fff0f0}.cleaning{background:#fff8df}.empty{background:#f9fafb}
