:root{--color-brand:#2563eb;--color-brand-light:#3b82f6;--color-brand-grad:linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);--color-brand-dark:#16294d;--color-danger:#e53e3e;--color-text:#1e3a5f;--color-text-muted:#93a5c6;--color-surface:#fff;--color-border:#dbe5f2;--color-page:#f0f5fc;--shadow-card:0 1px 2px #16294d0f, 0 8px 24px #16294d12;--shadow-modal:0 4px 16px #16294d1a, 0 24px 64px #16294d38;--shadow-btn:0 1px 2px #16294d1a, 0 3px 8px #2563eb47;--focus-ring:0 0 0 3px #2563eb2e;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--tap-target:44px;--nav-height:calc(50px + 2rem);--bp-mobile:768px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:18px/145% Inter,system-ui,Segoe UI,Roboto,sans-serif}@media (width<=1024px){:root{font-size:16px}}body{background:var(--color-page);color:var(--color-text);margin:0}#root{text-align:center;border-inline:1px solid var(--color-border);background:var(--color-page);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{color:var(--color-brand-dark);font-family:Inter,system-ui,Segoe UI,Roboto,sans-serif;font-weight:600}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}button{font-family:inherit;transition:filter .15s,transform .1s,box-shadow .15s}button:not(:disabled):hover{filter:brightness(1.05)saturate(1.04)}button:not(:disabled):active{filter:brightness(.96);transform:translateY(1px)}button:focus-visible{outline:none;box-shadow:var(--focus-ring)!important}input,select,textarea{font-family:inherit;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-brand)!important;box-shadow:var(--focus-ring), 0 1px 2px #16294d0f!important}::placeholder{color:#a9b8d4}.page-container{box-sizing:border-box;max-width:1100px;margin:0 auto;padding:2rem}@media (width<=768px){:root{--nav-height:calc(40px + 1.5rem)}.page-container{padding:.5rem}.hide-on-mobile{display:none!important}.page-heading-title{gap:6px!important;font-size:1.05rem!important}.page-heading-title svg{width:20px!important;height:20px!important}.page-heading-row{gap:.5rem!important;margin-bottom:.5rem!important}.btn-compact{white-space:nowrap;padding:.4rem .75rem!important;font-size:.85rem!important;line-height:1.2!important}.modal-compact{overflow-y:auto;border-radius:12px!important;width:calc(100vw - 1rem)!important;max-width:none!important;max-height:calc(100vh - 1rem)!important;padding:1rem!important}.form-grid-2col{grid-template-columns:1fr!important}.property-form-modal{padding:.8rem!important}.property-form-modal h3{margin-bottom:.85rem!important;font-size:.95rem!important}.property-form{gap:.5rem!important}.property-form label{font-size:.72rem!important}.property-form input,.property-form select,.property-form .ro-field{border-radius:7px!important;min-height:0!important;padding:.4rem .55rem!important;font-size:.82rem!important}.property-form input[type=color]{width:44px!important;height:30px!important;padding:0!important}.property-form-modal .form-hint{margin-top:.75rem!important;padding:.5rem .65rem!important;font-size:.72rem!important}.modal-actions{gap:.6rem!important;margin-top:.9rem!important}.modal-actions button{padding:.45rem .9rem!important;font-size:.85rem!important}.booking-detail-modal{padding:.85rem!important}.booking-detail-modal h3{margin-bottom:.6rem!important;font-size:.95rem!important}.booking-detail-modal td{padding:4px 3px!important;font-size:12px!important}.booking-detail-modal h4{margin-bottom:6px!important;font-size:12.5px!important}.booking-detail-modal .hist-section{margin-top:12px!important;padding-top:9px!important}.booking-detail-modal .hist-list{gap:7px!important;max-height:190px!important}.booking-detail-modal .hist-list *{font-size:11.5px!important}.booking-detail-modal .hist-list .hist-badge{padding:1px 6px!important;font-size:10.5px!important}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.stats-tabs button{padding:8px 12px!important;font-size:13px!important}.month-nav-label{padding:0 4px;min-width:0!important;font-size:13px!important}.page-narrow{padding:.75rem .5rem!important}.month-label{min-width:130px!important;font-size:15px!important}}.nav{color:#fff;z-index:101;background:linear-gradient(135deg,#16294d 0%,#1d3a6e 100%);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0;box-shadow:inset 0 1px #ffffff0f,0 4px 18px #16294d47}.nav-logo{filter:brightness(0)invert();width:auto;height:50px}.nav-right{align-items:center;gap:1rem;display:flex}.nav-username{color:var(--color-text-muted);font-size:.9rem}.nav-burger{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;justify-content:center;align-items:center;padding:.5rem;display:flex;box-shadow:inset 0 1px #ffffff1a,0 1px 2px #0a16304d}.nav-burger:hover,.nav-burger:focus-visible{background:#ffffff24}.nav-mobile-menu{-webkit-backdrop-filter:blur(8px);z-index:100;background:#16294dd1;border-top:1px solid #ffffff1a;border-left:1px solid #ffffff14;border-radius:0 0 0 14px;flex-direction:column;width:min(50vw,340px);display:flex;position:absolute;top:100%;left:auto;right:0;box-shadow:-6px 8px 24px #0a163059}.nav-mobile-backdrop{z-index:99;background:#0d193040;display:block;position:fixed;inset:0}.nav-mobile-username{color:var(--color-text-muted);text-align:left;border-bottom:1px solid #ffffff1f;padding:.625rem 1.25rem;font-size:.8rem;display:none}.nav-mobile-button{text-align:left;color:#fff;width:100%;min-height:var(--tap-target);cursor:pointer;background:0 0;border:none;border-bottom:1px solid #ffffff0f;padding:0 1.25rem;font-family:inherit;font-size:1rem;display:block}.nav-mobile-button:hover,.nav-mobile-button:focus-visible{background:#ffffff14}.nav-mobile-button--logout{color:#fc8181;border-top:1px solid #ffffff1f;border-bottom:none;border-radius:0 0 0 14px;margin-top:.25rem}@media (width<=768px){.nav{padding:.75rem 1rem}.nav-logo{height:40px}.nav-username{display:none}.nav-mobile-username{display:block}.nav-mobile-menu{width:50vw}}
