:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f6f8fb;--surface:#fff;--surface-soft:#f8fbfa;--foreground:#18242c;--muted:#65737f;--accent:#0f766e;--accent-strong:#0b5f59;--accent-soft:#e7f6ef;--border:#dce5e2;--border-strong:#c9d8d4;--shadow-soft:0 18px 45px #18242c14;--shadow-card:0 12px 30px #18242c0f;--radius-lg:24px;--radius-md:16px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px}*{box-sizing:border-box}html,body{max-width:100%;min-height:100%;margin:0;overflow-x:hidden}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-frame{background:radial-gradient(circle at top right, #0f766e14, transparent 34rem), var(--background);grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.app-header{z-index:20;border-right:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;flex-direction:column;align-self:start;align-items:stretch;gap:22px;width:260px;min-height:100vh;padding:24px 18px;display:flex;position:fixed;top:0;left:0;box-shadow:12px 0 40px #18242c0a}.app-main{grid-column:2;grid-template-rows:72px minmax(0,1fr);min-width:0;display:grid}.app-main.public{display:block}.app-topbar{z-index:15;justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);min-height:72px;padding:0 var(--space-3);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f8fbe0;display:flex;position:sticky;top:0}.app-topbar-title{gap:2px;min-width:0;display:grid}.app-topbar-title span{color:var(--accent);text-transform:uppercase;font-size:11px;font-weight:900;line-height:1}.app-topbar-title h1{color:var(--foreground);margin:0;font-size:22px;line-height:1.1}.app-topbar-title p{color:var(--muted);margin:0;font-size:13px;line-height:1.3}.app-topbar-actions{align-items:center;gap:var(--space-1);display:flex}.app-topbar-search{width:min(360px,34vw)}.app-avatar{border:1px solid var(--border);width:42px;height:42px;color:var(--accent);background:#fff;border-radius:999px;place-items:center;font-size:13px;font-weight:900;display:grid}.app-brand{color:var(--foreground);align-items:center;gap:10px;font-size:15px;font-weight:800;line-height:1.2;text-decoration:none;display:inline-flex}.app-brand-mark{color:#fff;background:linear-gradient(135deg,#0f766e,#14a38f);border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-size:14px;font-weight:900;display:grid}.app-brand-copy{gap:2px;min-width:0;display:grid}.app-brand-copy small{color:var(--muted);font-size:11px;font-weight:700}.beta-label{color:#166534;letter-spacing:0;text-transform:uppercase;background:#e7f6ef;border:1px solid #b7e4cc;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;line-height:1}.app-nav{gap:6px;display:grid}.app-nav a{color:var(--muted);border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:10px;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s;display:flex}.app-nav a:hover{transform:translate(2px)}.app-nav-icon{color:#0f766e;background:#f0f5f3;border-radius:11px;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:900;display:grid}.app-nav a:hover,.app-nav a.active,body[data-route=\/] .app-nav a[data-route=\/],body[data-route=\/dashboard] .app-nav a[data-route=\/dashboard],body[data-route=\/properties] .app-nav a[data-route=\/properties],body[data-route=\/bookings] .app-nav a[data-route=\/bookings],body[data-route=\/guest-crm] .app-nav a[data-route=\/guest-crm],body[data-route=\/expenses] .app-nav a[data-route=\/expenses],body[data-route=\/revenue] .app-nav a[data-route=\/revenue],body[data-route=\/calendar] .app-nav a[data-route=\/calendar],body[data-route=\/settings] .app-nav a[data-route=\/settings],body[data-route=\/my-subscription] .app-nav a[data-route=\/my-subscription]{color:#166534;background:#e7f6ef;border-color:#b7e4cc}.app-nav a.active .app-nav-icon,.app-nav a:hover .app-nav-icon{background:#fff}.app-content{min-width:0;padding:var(--space-3);overflow-x:hidden}.subscription-card{box-shadow:var(--shadow-card);color:#166534;background:linear-gradient(#f0fbf6,#fff);border:1px solid #b7e4cc;border-radius:18px;gap:6px;margin-top:auto;padding:14px;display:grid}.subscription-card span,.subscription-card small{color:#527064;font-size:12px;font-weight:800}.subscription-card strong{color:#0f766e;font-size:16px;line-height:1.2}.subscription-card a{color:#fff;background:#0f766e;border-radius:999px;justify-self:start;margin-top:6px;padding:8px 10px;font-size:12px;font-weight:900;text-decoration:none}.subscription-card[data-state=Subscription\ Expired],.subscription-card[data-state=Read\ Only]{color:#835800;background:#fff7dc;border-color:#f7d36f}.subscription-card[data-state=Subscription\ Expired] strong,.subscription-card[data-state=Read\ Only] strong{color:#835800}.logout-button{border:1px solid var(--border);width:100%;color:var(--foreground);cursor:pointer;font:inherit;background:#fff;border-radius:14px;padding:11px 12px;font-size:14px;font-weight:700}.app-help-link{border:1px solid var(--border);min-height:44px;color:var(--muted);background:#fff;border-radius:14px;place-items:center;font-size:14px;font-weight:800;text-decoration:none;display:grid}.app-user-card{border:1px solid var(--border);background:#fff;border-radius:18px;align-items:center;gap:10px;min-width:0;padding:10px;display:flex}.app-user-card>span:last-child{gap:2px;min-width:0;display:grid}.app-user-card strong{color:var(--foreground);font-size:13px;line-height:1.2}.app-user-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2;overflow:hidden}.mobile-menu-button{border:1px solid var(--border);color:var(--foreground);cursor:pointer;font:inherit;background:#fff;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:900;display:none}.ui-button,.ui-icon-button,.ui-fab{cursor:pointer;font:inherit;border:1px solid #0000;font-weight:900;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}.ui-button{border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 16px;display:inline-flex}.ui-button:hover,.ui-icon-button:hover,.ui-fab:hover,.ui-card:hover{transform:translateY(-2px)}.ui-button:focus-visible,.ui-icon-button:focus-visible,.ui-fab:focus-visible,.ui-search input:focus-visible,.app-nav a:focus-visible,.logout-button:focus-visible,.mobile-menu-button:focus-visible,.app-help-link:focus-visible{outline-offset:2px;outline:3px solid #0f766e3d}.ui-button:disabled,.ui-icon-button:disabled,.ui-fab:disabled{cursor:not-allowed;opacity:.58;transform:none}.ui-button-primary,.ui-fab{background:var(--accent);color:#fff}.ui-button-secondary{border-color:var(--border);color:var(--foreground);background:#fff}.ui-button-ghost{color:var(--accent);background:0 0}.ui-button-danger{color:#fff;background:#b42318}.ui-icon-button,.ui-fab{border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.ui-icon-button{border-color:var(--border);color:var(--foreground);background:#fff;text-decoration:none}.ui-fab{z-index:30;border-radius:999px;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 36px #0f766e3d}.ui-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);padding:var(--space-3);transition:box-shadow .15s,transform .15s,border-color .15s}.ui-card:hover{box-shadow:var(--shadow-soft)}.ui-card-kpi{min-height:132px}.ui-card-action{background:linear-gradient(#f0fbf6,#fff);border-color:#b7e4cc}.ui-badge{border:1px solid #0000;border-radius:999px;align-items:center;min-height:28px;padding:7px 10px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.ui-badge-available,.ui-badge-paid{color:#166534;background:#e7f6ef;border-color:#b7e4cc}.ui-badge-occupied,.ui-badge-outstanding{color:#991b1b;background:#fff1f1;border-color:#fecaca}.ui-badge-arrival,.ui-badge-cleaning,.ui-badge-deposit{color:#9a3412;background:#ffedd5;border-color:#fed7aa}.ui-badge-departure{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.ui-badge-maintenance,.ui-badge-cancelled{color:#4b5563;background:#f3f4f6;border-color:#d1d5db}.ui-search{display:grid;position:relative}.ui-search span{color:var(--muted);font-size:12px;font-weight:900;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.ui-search input{border:1px solid var(--border);width:100%;min-height:44px;color:var(--foreground);font:inherit;background:#fff;border-radius:999px;padding:10px 14px 10px 68px}.ui-field{color:var(--foreground);gap:7px;font-size:14px;font-weight:800;display:grid}.ui-input,.ui-select,.ui-textarea{border:1px solid var(--border-strong);width:100%;min-height:46px;color:var(--foreground);font:inherit;background:#fff;border-radius:14px;padding:11px 13px;transition:border-color .15s,box-shadow .15s}.ui-textarea{resize:vertical;min-height:112px}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 4px #0f766e1f}.ui-validation{color:#b42318;font-size:13px;font-weight:800}.ui-checkbox,.ui-toggle{min-height:44px;color:var(--foreground);align-items:center;gap:10px;font-size:14px;font-weight:800;display:inline-flex}.ui-checkbox input{width:20px;height:20px;accent-color:var(--accent)}.ui-toggle input{opacity:0;position:absolute}.ui-toggle span{background:#d8e1de;border-radius:999px;width:46px;height:26px;transition:background .15s;position:relative}.ui-toggle span:after{content:"";background:#fff;border-radius:999px;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 2px 8px #18242c2e}.ui-toggle input:checked+span{background:var(--accent)}.ui-toggle input:checked+span:after{transform:translate(20px)}.ui-table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);background:#fff;overflow:hidden}.ui-table th{color:var(--muted);text-align:left;text-transform:uppercase;background:#f8fbfa;font-size:12px;font-weight:900;position:sticky;top:0}.ui-table th,.ui-table td{border-bottom:1px solid var(--border);padding:14px 16px}.ui-table tr:hover td{background:#f8fbfa}.ui-drawer,.ui-modal{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:0 30px 90px #18242c2e}.ui-drawer{width:min(480px,100%);max-height:100vh;padding:var(--space-4);margin-left:auto;transition:transform .2s;overflow:auto}.ui-modal{width:min(720px,100%);padding:var(--space-4)}.ui-filter-chip{border:1px solid var(--border);min-height:36px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;padding:8px 12px;font-size:13px;font-weight:900;display:inline-flex}.ui-filter-chip.active{background:var(--accent-soft);color:#166534;border-color:#b7e4cc}.ui-empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;background:#fff;justify-items:center;gap:12px;display:grid}.ui-empty-illustration{background:linear-gradient(135deg,#0f766e24,#0f766e0a),#f8fbfa;border-radius:24px;width:72px;height:72px}.ui-empty-state h2{color:var(--foreground);margin:0;font-size:22px}.ui-empty-state p{max-width:520px;color:var(--muted);margin:0;font-size:15px}.ui-empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ui-skeleton{background:linear-gradient(90deg,#eef3f1 0%,#f8fbfa 45%,#eef3f1 90%) 0 0/220% 100%;border-radius:999px;min-height:18px;animation:1.4s ease-in-out infinite ui-skeleton-pulse;overflow:hidden}@keyframes ui-skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.auth-status-shell,.auth-page{place-items:center;min-height:calc(100vh - 64px);padding:32px 20px;display:grid}.auth-panel{border:1px solid var(--border);width:min(440px,100%);box-shadow:var(--shadow-soft);background:#fff;border-radius:20px;padding:28px}.auth-panel h1{font-size:36px}.auth-form{gap:16px;display:grid}.auth-form label{color:var(--foreground);gap:7px;font-size:14px;font-weight:700;display:grid}.auth-form input{border:1px solid var(--border-strong);width:100%;color:var(--foreground);font:inherit;background:#fff;border-radius:12px;min-height:46px;padding:11px 13px}.auth-message,.auth-switch{margin-top:16px;font-size:14px}.auth-intro,.auth-forgot{color:var(--muted);margin:0 0 18px;font-size:15px;line-height:1.5}.auth-switch a{color:var(--accent);font-weight:700}.auth-forgot{text-align:center;margin:14px 0 0}.auth-forgot a{color:var(--accent);font-size:14px;font-weight:800}.auth-divider{color:var(--muted);text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:18px 0;font-size:13px;font-weight:800;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:#dbe2e8;height:1px}.auth-secondary-button{border:1px solid var(--border-strong);width:100%;color:var(--foreground);cursor:pointer;font:inherit;background:#fff;border-radius:12px;min-height:46px;padding:10px 14px;font-size:14px;font-weight:800}.auth-secondary-button:disabled{cursor:wait;opacity:.72}.form-success{color:#166534;border-left:3px solid #166534;padding-left:10px;font-size:14px}.shell{place-items:center;min-height:100vh;padding:32px;display:grid}.intro{max-width:720px}.eyebrow{color:var(--accent);text-transform:uppercase;margin:0 0 12px;font-size:14px;font-weight:700}h1{margin:0 0 16px;font-size:48px;line-height:1.1}p{color:var(--muted);margin:0;font-size:18px;line-height:1.6}@media (max-width:980px){.app-frame{display:block}.app-header{border-right:0;border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:12px;width:100%;min-height:0;padding:14px;display:grid;left:0;box-shadow:0 12px 30px #18242c0f}.app-brand{min-width:0}.app-brand-copy small{display:none}.mobile-menu-button{justify-content:center;display:inline-flex}.app-nav{z-index:45;background:#fff;grid-template-columns:1fr;align-content:start;width:min(320px,86vw);padding:88px 14px 18px;display:none;position:fixed;inset:0 auto 0 0;box-shadow:24px 0 70px #18242c2e}.app-nav.open{display:grid}.subscription-card{grid-column:1/-1;margin-top:0}.logout-button{grid-column:1/-1;width:100%}.app-help-link{grid-column:1/-1}.app-main{display:block}.app-topbar{min-height:0;padding:12px 14px;display:grid;position:sticky;top:71px}.app-topbar-actions{display:none}.app-content{padding:14px}}@media (max-width:640px){.shell{place-items:center start;padding:24px}h1{font-size:36px}}.module-shell{width:min(1180px,100%);margin:0 auto;padding:34px 10px}.module-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.module-header h1{font-size:40px}.summary-strip{flex-wrap:wrap;gap:8px;display:flex}.summary-strip span,.status{color:var(--foreground);background:#fff;border:1px solid #d4dbe2;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.properties-layout{grid-template-columns:minmax(300px,380px) 1fr;align-items:start;gap:24px;display:grid}.mobile-action-panel,.mobile-close-button{display:none}.panel,.property-card{border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fff}.panel{border-radius:var(--radius-lg);padding:20px}.panel-heading,.property-card-header,.card-actions,.toggle-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading{margin-bottom:18px}.panel-heading h2{margin:0;font-size:22px;line-height:1.2}.property-form,.properties-list{gap:16px;display:grid}.property-form label{color:var(--foreground);gap:7px;font-size:14px;font-weight:700;display:grid}.property-form input,.property-form textarea{border:1px solid var(--border-strong);width:100%;color:var(--foreground);font:inherit;background:#fff;border-radius:12px;min-height:46px;padding:11px 13px}.property-form textarea{min-height:96px}.property-form input:disabled{color:#64717d;background:#eef2f5}.image-upload-field{background:#f7fbfa;border:1px dashed #b7e4cc;border-radius:12px;padding:14px}.image-upload-field input[type=file]{background:0 0;border:0;border-radius:0;padding:0}.image-upload-field span{color:#0f766e;font-size:13px;font-weight:800}.image-preview{background:#fff;border:1px solid #dbe2e8;border-radius:12px;width:min(100%,260px);overflow:hidden}.image-preview img{object-fit:cover;width:100%;height:150px;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkbox-label{align-items:center;grid-template-columns:none!important;gap:8px!important;display:flex!important}.checkbox-label input{width:18px;height:18px}.primary-button,.text-button,.card-actions button,.card-actions a{cursor:pointer;font:inherit;border:1px solid #0000;border-radius:12px;min-height:44px;padding:11px 15px;font-weight:700;text-decoration:none}.primary-button{background:var(--accent);color:#fff}.text-button,.card-actions button,.card-actions a{color:#0f766e;background:#eef7f6}.form-error{color:#8a1f16;border-left:3px solid #b42318;padding-left:10px;font-size:14px}.property-card{box-shadow:var(--shadow-soft);border-radius:22px;transition:transform .16s,box-shadow .16s;overflow:hidden}.property-card:hover{transform:translateY(-2px);box-shadow:0 22px 56px #1d252d24}.property-card-media{min-height:220px;position:relative}.property-cover,.property-cover-placeholder{width:100%;height:240px;display:grid}.property-cover{object-fit:cover}.property-cover-placeholder{color:#42515f;background:linear-gradient(135deg,#0f766e24,#16653414),repeating-linear-gradient(45deg,#f7f8fa 0 12px,#eef2f5 12px 24px);place-items:center;font-size:15px;font-weight:700}.property-cover-placeholder span{background:#ffffffdb;border:1px solid #dbe2e8;border-radius:999px;padding:10px 14px}.property-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#1d252d;border:1px solid #ffffffbf;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:800;position:absolute;top:16px;right:16px;box-shadow:0 10px 24px #1d252d2e}.property-badge.available{color:#166534;background:#e7f6efeb}.property-badge.occupied{color:#8a1f16;background:#fff1f1eb}.property-badge.inactive{color:#5f6b76;background:#f1f3f5eb}.property-card-body{gap:18px;padding:22px;display:grid}.property-card-header{align-items:flex-start}.property-card-header h2{color:#1d252d;margin:0;font-size:28px;line-height:1.15}.property-card-header p{color:#5e6a75;margin-top:6px;font-size:15px;line-height:1.4}.property-card-section{gap:10px;display:grid}.property-id{color:var(--accent);margin-bottom:6px;font-size:13px;font-weight:700;line-height:1.2}.status.active{color:#166534;background:#e7f6ef;border-color:#b7e4cc}.status.inactive{color:#5f6b76;background:#f1f3f5;border-color:#d3d8de}.property-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.property-details.premium{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.property-details.premium.business{grid-template-columns:repeat(4,minmax(0,1fr))}.property-details div{border-top:1px solid #e5eaf0;padding-top:10px}.property-details.premium div{background:#fbfcfd;border:1px solid #e5eaf0;border-radius:10px;min-height:86px;padding:13px}.property-details dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.property-details dd{color:var(--foreground);overflow-wrap:anywhere;margin:4px 0 0;font-size:16px;font-weight:700}.property-notes{color:var(--muted);background:#f7f8fa;border-radius:6px;padding:12px;font-size:14px}.card-actions{flex-wrap:wrap;justify-content:flex-start;margin-top:16px}.card-actions.premium{margin-top:0;padding-top:4px}.card-actions.premium button,.card-actions.premium a{min-height:40px}@media (max-width:900px){.module-header,.properties-layout{grid-template-columns:1fr;display:grid}.property-details,.property-details.premium,.property-details.premium.business{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.module-shell{padding:28px 16px}.module-header h1{font-size:32px}.form-grid,.property-details,.property-details.premium,.property-details.premium.business{grid-template-columns:1fr}.mobile-action-panel{background:#fff;border:1px solid #dbe2e8;border-radius:12px;gap:10px;padding:14px;display:grid;box-shadow:0 12px 30px #1d252d0f}.mobile-action-primary,.mobile-action-secondary{cursor:pointer;min-height:48px;font:inherit;border:1px solid #b7e4cc;border-radius:10px;place-items:center;font-weight:800;text-decoration:none;display:grid}.mobile-action-primary{color:#fff;background:#0f766e}.mobile-action-secondary{color:#166534;background:#e7f6ef}.mobile-form-hidden{display:none}.mobile-close-button{display:inline-flex}.panel-heading,.property-card-header,.toggle-row{flex-direction:column;align-items:flex-start}.property-card-body{padding:18px}.property-card-media,.property-cover,.property-cover-placeholder{height:190px;min-height:190px}.property-card-header h2{font-size:24px}.card-actions.premium button,.card-actions.premium a{text-align:center;width:100%}}
