@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-parchment:#fbf9f5;--bg-linen:#f4efe6;--bg-card:#fff;--border-beige:#e6dfd5;--border-subtle:#f0eae1;--text-primary:#2d2823;--text-secondary:#6e665e;--text-muted:#9e958a;--accent-bronze:#7c5c38;--accent-bronze-hover:#63492b;--accent-cream:#faf6ef;--accent-sand:#efe7da;--badge-occupied-bg:#e8f3ec;--badge-occupied-text:#22683e;--badge-occupied-border:#c5e3d0;--badge-vacant-bg:#f0eae1;--badge-vacant-text:#5c5247;--badge-vacant-border:#ddd4c7;--badge-maint-bg:#fdf3e3;--badge-maint-text:#946114;--badge-maint-border:#f5e0bc;--badge-danger-bg:#fdf0ed;--badge-danger-text:#a83226;--badge-danger-border:#f7d3ce;--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-subtle:0 2px 8px #46321e0a, 0 1px 2px #46321e05;--shadow-hover:0 8px 24px #46321e14, 0 2px 6px #46321e0a;--shadow-modal:0 16px 40px #281e1429, 0 6px 16px #281e1414;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-parchment);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(28px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.94)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes pulseSubtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.92;transform:scale(1.02)}}@keyframes shimmerPass{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-parchment)}::-webkit-scrollbar-thumb{background:#d8cebe;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#c2b6a2}.app-container{background-color:var(--bg-parchment);width:100%;max-width:100vw;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.main-content{flex-direction:column;flex:1;width:100%;min-width:0;display:flex;overflow-x:hidden}.page-body{box-sizing:border-box;flex:1;width:100%;max-width:1400px;margin:0 auto;padding:24px 32px;animation:.3s cubic-bezier(.16,1,.3,1) fadeInUp}.header-brand-logo-btn{display:none}h1,h2,h3,h4,h5{color:var(--text-primary);letter-spacing:-.02em;font-weight:600}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-title{color:var(--text-primary);font-size:24px;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:2px;font-size:14px}.sidebar-container{background-color:var(--bg-card);border-right:1px solid var(--border-beige);z-index:200;flex-direction:column;flex-shrink:0;width:260px;min-height:100vh;transition:transform .28s cubic-bezier(.16,1,.3,1);display:flex}.sidebar-brand-header{border-bottom:1px solid var(--border-beige);align-items:center;gap:12px;height:68px;padding:0 24px;display:flex}.brand-logo-icon{background-color:var(--accent-bronze);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.brand-title{color:var(--accent-bronze);letter-spacing:-.02em;font-size:16px;font-weight:700}.brand-subtitle{color:var(--text-muted);font-size:11px}.mobile-close-btn,.mobile-menu-btn,.sidebar-backdrop{display:none}.card{background:var(--bg-card);border:1px solid var(--border-beige);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);box-sizing:border-box;min-width:0;padding:20px;transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s cubic-bezier(.16,1,.3,1),border-color .28s;animation:.35s cubic-bezier(.16,1,.3,1) fadeInUp}.card:hover{box-shadow:var(--shadow-hover);border-color:#d8cebe;transform:translateY(-3px)}.card-hover img{transition:transform .4s cubic-bezier(.16,1,.3,1)}.card-hover:hover img{transform:scale(1.05)}.card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.card-title{color:var(--text-primary);align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;font-family:var(--font-family);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 16px;transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s,box-shadow .2s,border-color .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:hover svg{transition:transform .2s cubic-bezier(.16,1,.3,1);transform:scale(1.12)rotate(3deg)}.btn svg{transition:transform .2s}.btn:active,.card:active{transition:transform .12s cubic-bezier(0,0,.2,1)!important;transform:scale(.97)!important}.glass-apple{-webkit-backdrop-filter:blur(20px);background:#fffc;border:1px solid #ffffff4d}.btn-primary{background-color:var(--accent-bronze);color:#fff;border-color:var(--accent-bronze);box-shadow:0 2px 6px #7c5c3833}.btn-primary:hover{background-color:var(--accent-bronze-hover);border-color:var(--accent-bronze-hover);box-shadow:0 4px 12px #7c5c384d}.btn-secondary{background-color:var(--bg-card);color:var(--text-primary);border-color:var(--border-beige)}.btn-secondary:hover{background-color:var(--bg-linen);border-color:#d8cebe}.btn-sm{border-radius:var(--radius-sm);padding:5px 12px;font-size:12px}.btn-icon{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:8px;transition:all .2s}.btn-icon:hover{background:var(--bg-linen);color:var(--text-primary);transform:scale(1.05)}.input,.select,.textarea{width:100%;font-size:14px;font-family:var(--font-family);color:var(--text-primary);background-color:var(--bg-card);border:1px solid var(--border-beige);border-radius:var(--radius-sm);outline:none;padding:9px 12px;transition:border-color .18s,box-shadow .18s}.textarea{resize:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-bronze);background-color:#fff;box-shadow:0 0 0 3px #7c5c381a}input[type=file]{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);box-sizing:border-box;background-color:#faf8f5;border:1.5px dashed #d8cebe;width:100%;padding:6px 10px;font-size:13px;transition:all .2s}input[type=file]:hover{border-color:var(--accent-bronze);background-color:#f4efe6}input[type=file]::file-selector-button{background-color:var(--accent-bronze);color:#fff;cursor:pointer;background-image:linear-gradient(135deg,#7c5c38 0%,#8b5a2b 100%);border:none;border-radius:6px;margin-right:12px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 6px #7c5c3840}input[type=file]::file-selector-button:hover{background-color:#5d4327;transform:translateY(-1px);box-shadow:0 4px 12px #7c5c3859}input[type=file]::file-selector-button:active{transform:scale(.96)}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.badge{border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;line-height:1.2;transition:all .2s;display:inline-flex;white-space:nowrap!important;word-break:keep-all!important}.badge:hover{transform:scale(1.03)}.badge-occupied,.badge-active,.badge-confirmed,.badge-paid,.badge-accepted{background-color:var(--badge-occupied-bg);color:var(--badge-occupied-text);border:1px solid var(--badge-occupied-border)}.badge-vacant,.badge-expired,.badge-terminated,.badge-unsubmitted{background-color:var(--badge-vacant-bg);color:var(--badge-vacant-text);border:1px solid var(--badge-vacant-border)}.badge-reserved{color:#374151;background-color:#f3f4f6;border:1px solid #d1d5db}.badge-maintenance,.badge-expiring_soon,.badge-submitted,.badge-pending{background-color:var(--badge-maint-bg);color:var(--badge-maint-text);border:1px solid var(--badge-maint-border)}.badge-overdue,.badge-cancelled,.badge-rejected{background-color:var(--badge-danger-bg);color:var(--badge-danger-text);border:1px solid var(--badge-danger-border)}.table-container{border:1px solid var(--border-beige);border-radius:var(--radius-md);background:var(--bg-card);width:100%;max-width:100%;box-shadow:var(--shadow-subtle);animation:.35s cubic-bezier(.16,1,.3,1) fadeInUp;overflow-x:auto}.table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.table th{background:var(--bg-linen);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-beige);white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;white-space:nowrap;padding:14px 16px;transition:background-color .15s}.table tr{transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s}.table tr:hover td{background:#faf6f0}.table tr:hover td:first-child{border-left:3px solid var(--accent-bronze);padding-left:13px}.animate-fade-in{animation:.3s cubic-bezier(.16,1,.3,1) forwards fadeIn}.animate-slide-up{animation:.35s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.animate-slide-left{animation:.35s cubic-bezier(.16,1,.3,1) forwards slideInLeft}.animate-slide-right{animation:.35s cubic-bezier(.16,1,.3,1) forwards slideInRight}.animate-pop{animation:.25s cubic-bezier(.16,1,.3,1) forwards popIn}.animate-pulse{animation:3s ease-in-out infinite pulseSubtle}.animate-float{animation:4s ease-in-out infinite floatSlow}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#1e191473;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-card);border:1px solid var(--border-beige);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);flex-direction:column;width:100%;max-width:620px;max-height:90vh;animation:.28s cubic-bezier(.16,1,.3,1) modalSlideUp;display:flex;overflow:hidden}.modal-card form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-beige);background:var(--bg-linen);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-body{flex:1;min-height:0;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-beige);background:var(--bg-parchment);justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.grid-cols-4>*,.grid-cols-3>*,.grid-cols-2>*{min-width:0}@media (width<=1023px){.header-brand-logo-btn{display:flex!important}.mobile-menu-btn{justify-content:center;align-items:center;display:inline-flex!important}.mobile-close-btn{justify-content:center;align-items:center;margin-left:auto;display:inline-flex!important}.sidebar-container{height:100vh;box-shadow:var(--shadow-modal);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar-container.mobile-open{transform:translate(0)}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:150;background:#140f0a80;animation:.2s ease-out fadeIn;display:block;position:fixed;inset:0}.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.role-switcher-btn{max-width:150px!important}}@media (width<=640px){.header-bar{padding:0 10px!important}.header-brand-sub{display:none!important}.role-switcher-btn{max-width:125px!important}.page-body{padding:14px 10px}.page-title{font-size:18px}.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:minmax(0,1fr)}.modal-card{max-width:100%;max-height:95vh}}.popover-dropdown{transform-origin:100% 0;animation:.22s cubic-bezier(.16,1,.3,1) forwards popIn}.mobile-sticky-reservation-bar{z-index:9999;background-color:#fff;border-top:1px solid #ebebeb;justify-content:space-between;align-items:center;padding:12px 18px;animation:.3s cubic-bezier(.16,1,.3,1) modalSlideUp;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #0000001f}@media (width<=768px){.mobile-sticky-reservation-bar{display:flex!important}}.guest-detail-grid-layout{grid-template-columns:1fr 380px;align-items:start;gap:32px;display:grid}@media (width<=900px){.guest-detail-grid-layout{grid-template-columns:1fr;gap:24px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-spin{animation:.8s linear infinite spin}.temp-residence-grid-layout{grid-template-columns:320px 1fr;align-items:stretch;gap:20px;display:grid}.notification-modal-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.pdf-signature-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:24px;font-size:11px;display:grid}.tenant-profile-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.btn:disabled,.btn-disabled{opacity:.68;cursor:not-allowed!important;box-shadow:none!important;transform:none!important}.btn-loading{pointer-events:none;opacity:.8}@media (width<=768px){.temp-residence-grid-layout,.notification-modal-grid{gap:16px;grid-template-columns:1fr!important}.pdf-signature-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}.tenant-profile-grid{grid-template-columns:1fr!important;gap:12px!important}.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-header>div:last-child{flex-wrap:wrap;gap:8px;width:100%;display:flex}.modal-overlay{align-items:flex-end;padding:10px}.modal-card{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%!important;max-width:100%!important;max-height:92vh!important}.modal-header{padding:14px 16px}.modal-body{padding:16px}.modal-footer{flex-wrap:wrap;padding:12px 16px}.modal-footer .btn{flex:auto;justify-content:center}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}}.timeline-sticky-col{z-index:10;border-right:2px solid var(--border-beige);background:#fff;width:220px;min-width:220px;position:sticky;left:0;box-shadow:3px 0 6px -2px #00000014}@media (width<=768px){.timeline-sticky-col{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:115px!important;min-width:115px!important;max-width:115px!important;padding:8px 6px!important;font-size:11px!important}}
