.container{width:100%;box-shadow:none;box-sizing:border-box;background:#f8fafc;border-radius:0;min-height:calc(100vh - clamp(40px,5vw,48px));margin:0;padding:clamp(12px,3vw,32px)}h1{color:#1e293b;text-align:center;letter-spacing:-.5px;margin-bottom:clamp(15px,5vw,30px);font-size:clamp(1.5em,5vw,2.5em);font-weight:700}h2{color:#1e293b;border-bottom:3px solid #2563eb;margin-top:clamp(15px,5vw,30px);padding-bottom:12px;font-size:clamp(1.1em,3vw,1.4em);font-weight:600}.status-section{gap:15px;margin:20px 0;display:grid}.status-item{background:#fff;border-left:4px solid #94a3b8;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:clamp(10px,3vw,15px);font-size:clamp(.85em,2vw,1em);font-weight:500;display:flex;box-shadow:0 1px 3px #00000014}.status-item.connected{background:#f0f8f5;border-left-color:#28a745}.status-item.error{background:#fff5f5;border-left-color:#dc3545}.status-item.loading{background:#fffbf0;border-left-color:#ffc107}.status-item.connected .badge{color:#fff;background:#28a745}.status-item.error .badge{color:#fff;background:#dc3545}.status-item.loading .badge{color:#333;background:#ffc107}.error-box{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;margin:20px 0;padding:clamp(10px,3vw,15px);font-size:clamp(.85em,2vw,1em)}.tables-section{margin:20px 0}.table-list{gap:8px;padding:0;list-style:none;display:grid}.table-list li{color:#475569;word-break:break-all;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:clamp(8px,2vw,12px);font-family:Courier New,monospace;font-size:clamp(.8em,2vw,.95em);transition:all .2s}.table-list li:hover{background:#f1f5f9;border-color:#2563eb;box-shadow:0 2px 6px #2563eb1a}.info-box{color:#0c5460;text-align:center;background:#d1ecf1;border:1px solid #bee5eb;border-radius:8px;margin:20px 0;padding:clamp(10px,3vw,15px);font-size:clamp(.85em,2vw,1em)}.top-header-bar{z-index:1000;pointer-events:auto;clip-path:none;will-change:transform;background:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:clamp(6px,1vw,12px);height:auto;min-height:clamp(36px,4vw,44px);padding:0 clamp(6px,1vw,12px);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease-out;display:flex;position:fixed;top:0;left:0;right:0;overflow:visible;box-shadow:0 2px 8px #0000001f,0 4px 16px #00000014}.top-header-bar.hidden{box-shadow:none;pointer-events:none;transform:translateY(-100%)}.header-left{flex:none;align-items:center;gap:clamp(6px,1vw,10px);display:flex}.hamburger-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:clamp(28px,4vw,32px);min-height:clamp(28px,4vw,32px);margin:0;padding:clamp(4px,.8vw,6px);font-size:clamp(.9em,1.5vw,1.1em);transition:all .2s;display:flex}.hamburger-btn:hover{background:#ffffff1a}.app-branding{color:#fff;align-items:center;gap:clamp(4px,.8vw,6px);min-height:clamp(28px,4vw,32px);font-weight:700;text-decoration:none;display:flex}.app-logo{font-size:clamp(1.2em,2vw,1.4em)}.app-name{letter-spacing:.3px;font-size:clamp(.75em,1.2vw,.9em);font-weight:700}.header-center{text-align:center;flex:auto;order:3;justify-content:center;align-items:center;width:100%;min-width:0;display:flex}.page-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.2px;margin:0;font-size:clamp(1em,2.2vw,1.4em);font-weight:600;line-height:1;display:none;overflow:hidden}.header-right{z-index:1001;clip-path:none;flex:none;justify-content:flex-end;align-items:center;margin-left:auto;display:flex;position:relative;overflow:visible}.header-nav{flex-wrap:wrap;flex:auto;justify-content:flex-start;align-items:flex-start;width:100%;min-width:0;min-height:clamp(36px,4vw,44px);display:flex;position:relative;overflow:visible}.user-profile-dropdown{clip-path:none;z-index:10;position:relative;overflow:visible}.user-profile-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff26;border:1px solid #ffffff4d;border-radius:4px;align-items:center;gap:clamp(3px,.6vw,4px);min-height:clamp(28px,4vw,32px);padding:clamp(3px,.6vw,6px) clamp(6px,1vw,10px);font-size:clamp(.65em,.9vw,.8em);font-weight:600;transition:all .2s;display:flex}.user-profile-btn:hover{background:#ffffff40;border-color:#ffffff80}.user-avatar{background:#fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(20px,3vw,26px);height:clamp(20px,3vw,26px);font-size:clamp(.7em,1vw,.85em);font-weight:700;display:flex}.user-name-short{display:none}.dropdown-arrow{margin-left:4px;font-size:.6em;transition:transform .2s}.user-profile-btn:hover .dropdown-arrow{transform:translateY(2px)}.user-dropdown-menu{background:#fff;border:1px solid #e2e8f0;border-radius:6px;min-width:220px;min-height:auto;max-height:none;animation:.2s cubic-bezier(.4,0,.2,1) slideDown;position:absolute;top:calc(100% + 8px);right:0;z-index:999999!important;clip-path:none!important;visibility:visible!important;display:block!important;overflow:visible!important;box-shadow:0 10px 25px #0000001a,0 0 1px #0000000d!important}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{background:#f8fafc;border-bottom:1px solid #f1f5f9;padding:14px 16px}.dropdown-user-name{color:#1e293b;letter-spacing:-.3px;margin-bottom:4px;font-size:.95em;font-weight:700}.dropdown-user-roles{color:#64748b;text-transform:capitalize;margin-bottom:8px;font-size:.8em;font-weight:600}.dropdown-user-id{color:#94a3b8;margin-bottom:4px;font-family:monospace;font-size:.75em;display:none}.dropdown-last-login{color:#64748b;border-top:1px solid #f1f5f9;margin-top:6px;padding-top:6px;font-size:.75em;line-height:1.4}.dropdown-next-login{color:#64748b;margin-top:4px;font-size:.75em;line-height:1.4}.dropdown-divider{border:none;border-top:1px solid #f0f0f0;margin:0}.dropdown-logout-btn{text-align:left;color:#e11d48;cursor:pointer;letter-spacing:.3px;background:0 0;border:none;border-top:1px solid #f1f5f9;width:100%;padding:12px 16px;font-size:.9em;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1)}.dropdown-logout-btn:hover{color:#be123c;background:#fee2e2}.nav-items-container{box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:clamp(3px,.5vw,6px);width:100%;height:auto;padding:clamp(2px,.3vw,4px) 0;display:flex;overflow:visible}.nav-group{background:#ffffff08;border:1px solid #ffffff1f;border-radius:6px;width:100%;overflow:hidden}.nav-group-toggle{color:#fff;cursor:pointer;letter-spacing:.3px;background:#ffffff14;border:none;justify-content:space-between;align-items:center;width:100%;padding:clamp(6px,.8vw,10px) clamp(10px,1.1vw,14px);font-size:clamp(.72em,.9vw,.82em);font-weight:700;transition:background .2s;display:flex}.nav-group-toggle:hover{background:#ffffff21}.nav-group-toggle.active{background:#ffffff29}.nav-group-label{text-align:left}.nav-group-arrow{font-size:.9em;transition:transform .2s}.nav-group-arrow.open{transform:rotate(180deg)}.nav-submenu{opacity:0;max-height:0;transition:max-height .25s,opacity .2s;overflow:hidden}.nav-submenu.open{opacity:1;max-height:520px}.nav-subitem{text-align:left;border-bottom:1px solid #ffffff0f;border-radius:0;justify-content:flex-start;width:100%;padding-left:clamp(18px,2vw,22px)}.nav-submenu .nav-subitem:last-child{border-bottom:none}.nav-items-container::-webkit-scrollbar{display:none}.nav-items-container::-webkit-scrollbar-track{display:none}.nav-items-container::-webkit-scrollbar-thumb{display:none}.nav-items-container::-webkit-scrollbar-thumb:hover{display:none}.nav-item{color:#ffffffd9;cursor:pointer;white-space:nowrap;text-align:center;letter-spacing:.1px;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px;flex:none;min-width:fit-content;padding:clamp(4px,.5vw,5px) clamp(8px,.9vw,12px);font-size:clamp(.65em,.8vw,.78em);font-weight:500;line-height:1.2;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.nav-item:before{content:"";transform-origin:100%;background:#fff9;border-radius:2px;height:2px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item:hover:before{transform-origin:0;transform:scaleX(1)}.nav-item.active{color:#fff;background:#ffffff1f;border-bottom-color:#ffffffe6;font-weight:600}.nav-item.active:before{background:#ffffffe6;transform:scaleX(1)}.main-content{box-sizing:border-box;width:100%;margin-top:clamp(36px,4vw,44px);padding-top:clamp(8px,1.5vw,16px)}.main-content.with-top-space{box-sizing:border-box;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:clamp(2px,.3vw,4px);width:100%;height:auto;margin-top:clamp(36px,4vw,44px);padding:clamp(2px,.2vw,3px);overflow:visible;display:flex!important}.main-content.with-top-space .nav-item{color:#ffffffe6;cursor:pointer;white-space:nowrap;text-align:center;letter-spacing:.05px;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;flex:none;justify-content:center;align-items:center;min-width:fit-content;padding:clamp(4px,.3vw,6px) clamp(8px,.8vw,12px);font-size:clamp(.7em,.85vw,.8em);font-weight:550;line-height:1.1;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:inset 0 1px 2px #ffffff0d}.main-content.with-top-space .nav-item:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff80,#0000);border-radius:1px;height:1.5px;transition:all .25s;position:absolute;bottom:-2px;left:25%;right:25%}.main-content.with-top-space .nav-item:hover{color:#fff;background:linear-gradient(135deg,#ffffff1f 0%,#ffffff14 100%);border-color:#fff3;transform:translateY(-1px);box-shadow:0 4px 12px #00000026,inset 0 1px 2px #ffffff1a}.main-content.with-top-space .nav-item:hover:before{opacity:1;bottom:-2px}.main-content.with-top-space .nav-item.active{color:#fff;background:linear-gradient(135deg,#ffffff2e 0%,#ffffff1a 100%);border-color:#ffffff4d;font-weight:600;box-shadow:0 4px 12px #0000002e,inset 0 1px 2px #ffffff1f}.main-content.with-top-space .nav-item.active:before{opacity:1;background:linear-gradient(90deg,#0000,#fffc,#0000);height:2px;bottom:-2px;left:20%;right:20%}.main-content.with-top-space .header-center,.main-content.with-top-space .page-title{display:none!important}@media (width<=1024px){.hamburger-btn{flex-shrink:0;display:flex!important}.header-nav{z-index:999;background:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);border-bottom:1px solid #ffffff14;width:100%;max-height:0;transition:max-height .3s cubic-bezier(.4,0,.2,1);position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.header-nav.open{max-height:70vh;overflow-y:auto;box-shadow:inset 0 2px 4px #0000001a,0 4px 12px #00000026}.nav-items-container{box-sizing:border-box;flex-direction:column;gap:clamp(2px,.4vw,5px);width:100%;padding:clamp(8px,1.2vw,12px);overflow:visible;display:flex!important}.nav-group{border-radius:4px}.nav-group-toggle{padding:clamp(8px,1.1vw,12px) clamp(12px,2vw,18px)}.nav-item{color:#ffffffd9;text-align:left;letter-spacing:.3px;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px;flex:1;justify-content:flex-start;width:100%;padding:clamp(8px,1.2vw,12px) clamp(12px,2vw,18px);font-size:clamp(.75em,1vw,.9em);transition:all .25s cubic-bezier(.4,0,.2,1)}.nav-subitem{padding-left:clamp(20px,3vw,26px)}.nav-item:before{display:none}.nav-item:hover{color:#fff;background:#ffffff14;padding-left:clamp(16px,2.4vw,22px)}.nav-item.active{color:#fff;background:#ffffff1f;border-left:3px solid #ffffffe6;padding-left:clamp(12px,1.8vw,15px);font-weight:600}.main-content,.main-content.with-top-space{margin-top:clamp(36px,4vw,44px)}.user-name-short{display:none}.user-profile-btn{gap:clamp(2px,.4vw,3px);min-height:clamp(28px,4vw,32px);padding:clamp(3px,.6vw,5px) clamp(6px,1vw,8px)}.user-avatar{width:clamp(20px,3vw,24px);height:clamp(20px,3vw,24px);font-size:clamp(.65em,.9vw,.8em)}.user-name-short{font-size:.65em;line-height:1}.header-center,.page-title{display:none!important}.header-center .page-title{font-size:clamp(1em,1.8vw,1.3em);line-height:1}}@media (width<=768px){.top-header-bar{flex-wrap:nowrap;align-items:center;gap:clamp(3px,.6vw,6px);height:auto;min-height:clamp(36px,4vw,42px);padding:clamp(4px,.8vw,6px)}.hamburger-btn{flex-shrink:0;min-width:clamp(28px,4vw,32px);min-height:clamp(28px,4vw,32px);padding:clamp(4px,.8vw,6px);font-size:clamp(.9em,1.5vw,1em);display:flex!important}.app-name{display:none}.app-logo{font-size:clamp(1em,1.8vw,1.2em)}.header-nav{z-index:999;background:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);border-bottom:1px solid #ffffff14;width:100%;max-height:0;transition:max-height .3s cubic-bezier(.4,0,.2,1);position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.header-nav.open{max-height:70vh;overflow-y:auto;box-shadow:inset 0 2px 4px #0000001a,0 4px 12px #00000026}.nav-items-container{box-sizing:border-box;flex-direction:column;gap:clamp(2px,.4vw,4px);width:100%;padding:clamp(8px,1.2vw,10px);display:flex!important}.nav-group-toggle{padding:clamp(8px,1.2vw,10px) clamp(12px,1.8vw,16px)}.nav-item{color:#ffffffd9;text-align:left;letter-spacing:.3px;background:0 0;border:none;border-left:3px solid #0000;border-radius:4px;width:100%;padding:clamp(8px,1.2vw,10px) clamp(12px,1.8vw,16px);font-size:clamp(.75em,.95vw,.85em);transition:all .25s cubic-bezier(.4,0,.2,1)}.nav-subitem{padding-left:clamp(18px,2.4vw,24px)}.nav-item:before{display:none}.nav-item:hover{color:#fff;background:#ffffff14;padding-left:clamp(14px,1.6vw,18px)}.nav-item.active{color:#fff;background:#ffffff1f;border-left-color:#ffffffe6;padding-left:clamp(10px,1.4vw,14px);font-weight:600}.main-content,.main-content.with-top-space{margin-top:clamp(36px,4vw,42px)}}@media (width<=480px){.top-header-bar{flex-wrap:nowrap;align-items:center;gap:clamp(1px,.5vw,3px);height:auto;min-height:clamp(32px,3.5vw,38px);padding:clamp(3px,.6vw,5px)}.hamburger-btn{flex-shrink:0;min-width:clamp(24px,3.5vw,28px);min-height:clamp(24px,3.5vw,28px);padding:clamp(3px,.6vw,5px);font-size:clamp(.85em,1.2vw,.95em);display:flex!important}.app-branding{gap:clamp(2px,.5vw,4px)}.app-logo{font-size:clamp(.95em,1.5vw,1.1em)}.app-name{font-size:.65em;display:none}.header-nav{z-index:999;background:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);border-bottom:1px solid #ffffff14;width:100%;max-height:0;transition:max-height .3s cubic-bezier(.4,0,.2,1);position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.header-nav.open{max-height:70vh;overflow-y:auto;box-shadow:inset 0 2px 4px #0000001a,0 4px 12px #00000026}.nav-items-container{box-sizing:border-box;flex-direction:column;gap:clamp(2px,.3vw,3px);width:100%;padding:clamp(6px,1vw,8px);overflow:visible;display:flex!important}.nav-group-toggle{padding:clamp(6px,.9vw,8px) clamp(10px,1.6vw,12px);font-size:clamp(.72em,.9vw,.78em)}.nav-item{white-space:normal;color:#ffffffd9;text-align:left;letter-spacing:.3px;background:0 0;border:none;border-left:3px solid #0000;width:100%;min-width:auto;padding:clamp(6px,.9vw,8px) clamp(10px,1.6vw,12px);font-size:clamp(.7em,.85vw,.75em);transition:all .25s cubic-bezier(.4,0,.2,1)}.nav-subitem{padding-left:clamp(16px,2.2vw,20px)}.nav-item:before{display:none}.nav-item:hover{color:#fff;background:#ffffff14;padding-left:clamp(12px,1.4vw,14px)}.nav-item.active{color:#fff;background:#ffffff1f;border-left-color:#ffffffe6;padding-left:clamp(8px,1vw,10px);font-weight:600}.main-content,.main-content.with-top-space{margin-top:clamp(32px,3.5vw,38px)}}@media (width>=1025px){.top-header-bar{overflow:visible}.header-center{flex:auto;justify-content:center;align-items:center;position:relative;display:flex!important}.header-center .page-title{display:none!important}.header-nav{opacity:0;pointer-events:none;z-index:1002;background:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);border:1px solid #ffffff1f;border-radius:8px;width:min(540px,92vw);max-height:0;transition:max-height .25s,opacity .2s;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;transform:none;box-shadow:0 8px 24px #00000040}.header-nav.open{opacity:1;pointer-events:auto;max-height:72vh;overflow-y:auto}.header-nav .nav-items-container{flex-direction:column;gap:4px;padding:10px}.header-nav:not(.open) .nav-items-container{gap:0;padding-top:0;padding-bottom:0}.header-nav .nav-item{text-align:left;border-left:3px solid #0000;justify-content:flex-start;width:100%}}.mobile-nav-backdrop{z-index:998;background:0 0;position:fixed;inset:0}@media (width<=480px){body{font-size:14px}}@media (width>=1025px){.nav-items-container{box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:clamp(2px,.3vw,4px);width:100%;height:auto;padding:clamp(2px,.2vw,3px);display:flex;overflow:visible}.nav-group,.nav-group-toggle{width:100%}.nav-item{color:#ffffffe6;cursor:pointer;white-space:nowrap;text-align:left;letter-spacing:.05px;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;justify-content:flex-start;align-items:center;width:100%;min-width:0;padding:clamp(4px,.3vw,6px) clamp(8px,.8vw,12px);font-size:clamp(.7em,.85vw,.8em);font-weight:550;line-height:1.1;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:inset 0 1px 2px #ffffff0d}.nav-subitem{padding-left:clamp(16px,1.8vw,20px)}.nav-item:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff80,#0000);border-radius:1px;height:1.5px;transition:all .25s;position:absolute;bottom:-2px;left:25%;right:25%}.nav-item:hover{color:#fff;background:linear-gradient(135deg,#ffffff1f 0%,#ffffff14 100%);border-color:#fff3;transform:translateY(-1px);box-shadow:0 4px 12px #00000026,inset 0 1px 2px #ffffff1a}.nav-item:hover:before{opacity:1;bottom:-2px}.nav-item.active{color:#fff;background:linear-gradient(135deg,#ffffff2e 0%,#ffffff1a 100%);border-color:#ffffff4d;font-weight:600;box-shadow:0 4px 12px #0000002e,inset 0 1px 2px #ffffff1f}.nav-item.active:before{opacity:1;background:linear-gradient(90deg,#0000,#fffc,#0000);height:2px;bottom:-2px;left:20%;right:20%}.header-center{display:flex!important}.page-title{display:none!important}}@media (width<=1024px){.nav-group{width:100%}.nav-group-toggle{text-align:left;width:100%;padding:clamp(8px,1.2vw,12px) clamp(12px,2vw,18px)}.nav-subitem{padding-left:clamp(20px,2.8vw,24px)}.main-content,.main-content.with-top-space{margin-top:clamp(36px,4vw,44px)}.header-nav:not(.open){max-height:0!important;box-shadow:none!important;border-bottom:0!important;overflow:hidden!important}.header-nav:not(.open) .nav-items-container{gap:0!important;padding-top:0!important;padding-bottom:0!important}.hamburger-btn{flex-shrink:0;display:flex!important}.header-nav{z-index:999;background:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);border-bottom:1px solid #ffffff14;width:100%;max-height:0;transition:max-height .3s cubic-bezier(.4,0,.2,1);position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.header-nav.open{max-height:70vh;overflow-y:auto;box-shadow:inset 0 2px 4px #0000001a,0 4px 12px #00000026}.nav-items-container{box-sizing:border-box;flex-direction:column;gap:clamp(2px,.4vw,5px);width:100%;padding:clamp(8px,1.2vw,12px);display:flex;overflow:visible}.nav-item{color:#ffffffd9;text-align:left;letter-spacing:.3px;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px;flex:1;justify-content:flex-start;width:100%;padding:clamp(8px,1.2vw,12px) clamp(12px,2vw,18px);font-size:clamp(.75em,1vw,.9em);transition:all .25s cubic-bezier(.4,0,.2,1)}.nav-item:before{display:none}.nav-item:hover{color:#fff;background:#ffffff14;padding-left:clamp(16px,2.4vw,22px)}.nav-item.active{color:#fff;background:#ffffff1f;border-left:3px solid #ffffffe6;padding-left:clamp(12px,1.8vw,15px);font-weight:600}.main-content,.main-content.with-top-space{margin-top:clamp(36px,4vw,44px)}.user-name-short{display:none}.user-profile-btn{gap:clamp(2px,.4vw,3px);min-height:clamp(28px,4vw,32px);padding:clamp(3px,.6vw,5px) clamp(6px,1vw,8px)}.user-avatar{width:clamp(20px,3vw,24px);height:clamp(20px,3vw,24px);font-size:clamp(.65em,.9vw,.8em)}.user-name-short{font-size:.65em;line-height:1}.header-center{display:none!important}.header-right{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:clamp(4px,.8vw,6px);display:flex}.page-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;order:-1;max-width:120px;margin:0;font-size:clamp(.8em,2vw,.95em);font-weight:600;line-height:1.2;display:block;overflow:hidden}}@media (width<=768px){.top-header-bar{flex-wrap:nowrap;align-items:center;gap:clamp(3px,.6vw,6px);height:auto;min-height:clamp(36px,4vw,42px);padding:clamp(4px,.8vw,6px)}.hamburger-btn{flex-shrink:0;min-width:clamp(28px,4vw,32px);min-height:clamp(28px,4vw,32px);padding:clamp(4px,.8vw,6px);font-size:clamp(.9em,1.5vw,1em);display:flex!important}.app-name{display:none}.app-logo{font-size:clamp(1em,1.8vw,1.2em)}.header-nav{z-index:999;background:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);border-bottom:1px solid #ffffff14;width:100%;max-height:0;transition:max-height .3s cubic-bezier(.4,0,.2,1);position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.header-nav.open{max-height:70vh;overflow-y:auto;box-shadow:inset 0 2px 4px #0000001a,0 4px 12px #00000026}.header-center{position:relative}.nav-items-container{box-sizing:border-box;flex-direction:column;gap:clamp(2px,.4vw,4px);width:100%;padding:clamp(8px,1.2vw,10px);display:flex}.nav-item{color:#ffffffd9;text-align:left;letter-spacing:.3px;background:0 0;border:none;border-left:3px solid #0000;border-radius:4px;width:100%;padding:clamp(8px,1.2vw,10px) clamp(12px,1.8vw,16px);font-size:clamp(.75em,.95vw,.85em);transition:all .25s cubic-bezier(.4,0,.2,1)}.nav-item:before{display:none}.nav-item:hover{color:#fff;background:#ffffff14;padding-left:clamp(14px,1.6vw,18px)}.nav-item.active{color:#fff;background:#ffffff1f;border-left-color:#ffffffe6;padding-left:clamp(10px,1.4vw,14px);font-weight:600}.main-content,.main-content.with-top-space{margin-top:clamp(36px,4vw,42px)}.header-right{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:clamp(4px,.8vw,6px);display:flex}.page-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;order:-1;max-width:140px;margin:0;font-size:clamp(.8em,1.8vw,.95em);font-weight:600;line-height:1.2;display:block;overflow:hidden}}@media (width<=480px){.top-header-bar{flex-wrap:nowrap;align-items:center;gap:clamp(1px,.5vw,3px);height:auto;min-height:clamp(32px,3.5vw,38px);padding:clamp(3px,.6vw,5px)}.hamburger-btn{flex-shrink:0;min-width:clamp(24px,3.5vw,28px);min-height:clamp(24px,3.5vw,28px);padding:clamp(3px,.6vw,5px);font-size:clamp(.85em,1.2vw,.95em);display:flex!important}.app-branding{gap:clamp(2px,.5vw,4px)}.app-logo{font-size:clamp(.95em,1.5vw,1.1em)}.app-name{font-size:.65em;display:none}.header-nav{z-index:999;background:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);border-bottom:1px solid #ffffff14;width:100%;max-height:0;transition:max-height .3s cubic-bezier(.4,0,.2,1);position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.header-nav.open{max-height:70vh;overflow-y:auto;box-shadow:inset 0 2px 4px #0000001a,0 4px 12px #00000026}.header-right{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:clamp(2px,.4vw,4px);display:flex}.header-center{position:relative}.nav-items-container{box-sizing:border-box;flex-direction:column;gap:clamp(2px,.3vw,3px);width:100%;padding:clamp(6px,1vw,8px);display:flex;overflow:visible}.nav-item{white-space:normal;color:#ffffffd9;text-align:left;letter-spacing:.3px;background:0 0;border:none;border-left:3px solid #0000;width:100%;min-width:auto;padding:clamp(6px,.9vw,8px) clamp(10px,1.6vw,12px);font-size:clamp(.7em,.85vw,.75em);transition:all .25s cubic-bezier(.4,0,.2,1)}.nav-item:before{display:none}.nav-item:hover{color:#fff;background:#ffffff14;padding-left:clamp(12px,1.4vw,14px)}.nav-item.active{color:#fff;background:#ffffff1f;border-left-color:#ffffffe6;padding-left:clamp(8px,1vw,10px);font-weight:600}.main-content,.main-content.with-top-space{margin-top:clamp(32px,3.5vw,38px)}.page-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;order:-1;max-width:100px;margin:0;font-size:clamp(.75em,1.5vw,.85em);font-weight:600;line-height:1.2;display:block;overflow:hidden}}@media (width<=1024px){.top-header-bar{overflow:visible}.header-center{flex:auto;align-items:center;min-width:0;position:relative;display:flex!important}.header-center .page-title{display:block!important}}@media (width<=768px){.top-header-bar{gap:4px;min-height:34px;padding:2px 8px;position:relative}.hamburger-btn{min-width:26px;min-height:26px;padding:2px 4px;font-size:.9rem}.app-logo{font-size:.95rem}.user-profile-btn{gap:3px;min-height:26px;padding:2px 6px}.user-avatar{width:20px;height:20px;font-size:.7rem}.header-center .page-title{text-align:center;pointer-events:none;z-index:2;max-width:50vw;font-size:.82rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}@media (width<=480px){.top-header-bar{gap:3px;min-height:30px;padding:2px 6px;position:relative}.hamburger-btn{min-width:24px;min-height:24px;padding:1px 3px;font-size:.85rem}.user-profile-btn{min-height:24px;padding:1px 5px}.user-avatar{width:18px;height:18px;font-size:.65rem}.header-center .page-title{text-align:center;pointer-events:none;z-index:2;max-width:52vw;font-size:.75rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.searchable-dropdown-wrapper{touch-action:manipulation;width:100%;margin-bottom:1rem;position:relative}.dropdown-label{color:#333;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.searchable-dropdown{width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;position:relative}.searchable-dropdown.disabled{opacity:.6;pointer-events:none}.searchable-dropdown.error .dropdown-input-wrapper{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.dropdown-input-wrapper{cursor:pointer;touch-action:manipulation;background-color:#fff;border:1px solid #ddd;border-radius:6px;align-items:center;padding:.5rem;transition:all .2s;display:flex}.dropdown-input-wrapper:hover{border-color:#999}.searchable-dropdown.open .dropdown-input-wrapper{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.dropdown-input{color:#333;background:0 0;border:none;outline:none;flex:1;padding:.5rem;font-size:1rem}.dropdown-input::placeholder{color:#999}.dropdown-arrow{color:#666;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.75rem;transition:transform .2s;display:flex}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-error{color:#dc3545;margin-top:.25rem;font-size:.875rem}.dropdown-options{z-index:1000;touch-action:manipulation;background:#fff;border:1px solid #ddd;border-top:none;border-bottom-right-radius:6px;border-bottom-left-radius:6px;max-height:300px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.dropdown-option{cursor:pointer;color:#333;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;transition:background-color .15s;display:flex}.dropdown-option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dropdown-option-badge{text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:700;line-height:1.2}.dropdown-option-badge.default{color:#334155;background:#e2e8f0}.dropdown-option-badge.success{color:#166534;background:#dcfce7}.dropdown-option-badge.warning{color:#92400e;background:#fef3c7}.dropdown-option.paid-occupancy-option{background:#f0fdf4;border-left:3px solid #22c55e}.dropdown-option.paid-occupancy-option:hover{background:#dcfce7}.dropdown-option:last-child{border-bottom:none}.dropdown-option:hover{background-color:#f5f5f5}.dropdown-option.selected{color:#007bff;background-color:#e7f3ff;font-weight:500}.dropdown-option.selected.paid-occupancy-option{background-color:#dbeafe;border-left-color:#2563eb}.dropdown-option.selected:hover{background-color:#d0e8ff}.dropdown-empty,.dropdown-loading{text-align:center;color:#999;padding:1rem;font-style:italic}.dropdown-loading{color:#64748b;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;display:flex}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropdown-options::-webkit-scrollbar{width:6px}.dropdown-options::-webkit-scrollbar-track{background:0 0}.dropdown-options::-webkit-scrollbar-thumb{background:#bbb;border-radius:3px}.dropdown-options::-webkit-scrollbar-thumb:hover{background:#999}@media (width<=480px){.searchable-dropdown.open:before{content:"";z-index:99998;background:#0006;animation:.2s ease-out fadeIn;position:fixed;inset:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=1024px){.searchable-dropdown-wrapper{margin-bottom:1.2rem}.dropdown-label{font-size:.9rem}.dropdown-input{font-size:1rem}.dropdown-options{max-height:250px}}@media (width<=768px){.searchable-dropdown-wrapper{margin-bottom:1.5rem}.dropdown-label{margin-bottom:.6rem;font-size:.85rem}.dropdown-input-wrapper{border-radius:5px;padding:.6rem}.dropdown-input{padding:.6rem .8rem;font-size:16px}.dropdown-arrow{font-size:12px}.dropdown-options{border-radius:5px;max-height:220px;top:calc(100% + 4px);box-shadow:0 8px 16px #00000026}.dropdown-option{padding:.65rem .9rem;font-size:.9rem}.dropdown-error{margin-top:.4rem;font-size:.8rem}}@media (width<=480px){.searchable-dropdown-wrapper{margin-bottom:1.8rem}.dropdown-label{margin-bottom:.5rem;font-size:.8rem;font-weight:700}.dropdown-input-wrapper{border-radius:4px;min-height:44px;padding:.5rem}.dropdown-input{min-height:32px;padding:.5rem .6rem;font-size:16px;font-size:16px!important}.dropdown-arrow{align-items:center;min-height:44px;padding-right:.4rem;font-size:11px;display:flex}.dropdown-options{z-index:99999;will-change:transform;touch-action:auto;pointer-events:auto;border-radius:8px;width:90vw;max-height:60vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%)translateY(-50%);box-shadow:0 10px 40px #0003}.dropdown-option{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;align-items:center;min-height:44px;padding:.75rem .8rem;font-size:.88rem;display:flex}.dropdown-option:active{background-color:#d0e8ff}.dropdown-search{z-index:10001;position:sticky;top:0}.dropdown-empty,.dropdown-loading{padding:1.5rem .8rem;font-size:.85rem}.dropdown-error{margin-top:.3rem;font-size:.75rem}}.ls-overlay{-webkit-backdrop-filter:blur(2px);z-index:10000;background:#0f172a59;justify-content:center;align-items:center;animation:.2s ls-fade-in;display:flex;position:fixed;inset:0}@keyframes ls-fade-in{0%{opacity:0}to{opacity:1}}.ls-card{background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:1.25rem;padding:2.5rem 3rem;animation:.25s cubic-bezier(.34,1.56,.64,1) ls-scale-in;display:flex;box-shadow:0 20px 60px #0000002e,0 4px 16px #00000014}@keyframes ls-scale-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.ls-inline{flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;min-height:220px;padding:3rem 1rem;display:flex}.ls-ring{flex-shrink:0;position:relative}.ls-ring:before{content:"";border:4px solid #2563eb;border-color:#2563eb #2563eb #0000 #0000;border-radius:50%;animation:.85s cubic-bezier(.4,0,.2,1) infinite ls-spin;position:absolute;inset:0}.ls-ring:after{content:"";border:3px solid #0000;border-color:#0000 #0000 #93c5fd #93c5fd;border-radius:50%;animation:.65s cubic-bezier(.4,0,.2,1) infinite reverse ls-spin;position:absolute}@keyframes ls-spin{to{transform:rotate(360deg)}}.ls-ring[data-size=sm]{width:24px;height:24px}.ls-ring[data-size=sm]:before{border-width:2.5px}.ls-ring[data-size=sm]:after{border-width:2px;inset:5px}.ls-ring[data-size=md]{width:48px;height:48px}.ls-ring[data-size=md]:after{inset:9px}.ls-ring[data-size=lg]{width:64px;height:64px}.ls-ring[data-size=lg]:before{border-width:5px}.ls-ring[data-size=lg]:after{border-width:4px;inset:12px}.ls-text{color:#475569;letter-spacing:.015em;text-align:center;margin:0;font-size:.975rem;font-weight:500}.ls-text:after{content:"";width:1.4em;animation:1.4s steps(4,end) infinite ls-dots;display:inline-block}@keyframes ls-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.ls-button-spinner{align-items:center;gap:.5rem;display:inline-flex}.ls-button-spinner .ls-ring{width:16px;height:16px}.ls-button-spinner .ls-ring:before{border-width:2px;border-top-color:currentColor;border-right-color:currentColor}.ls-button-spinner .ls-ring:after{border-width:1.5px;border-bottom-color:#ffffff80;border-left-color:#ffffff80;inset:4px}.management-container{max-width:1400px;margin:0 auto;padding:clamp(15px,5vw,30px)}.management-container h1{color:#333;text-align:center;margin-bottom:25px;font-size:clamp(1.5em,5vw,2.5em)}.section-heading{color:#1e40af;border-bottom:2px solid #e2e8f0;margin:0 0 16px;padding-bottom:8px;font-size:1.1em;font-weight:600}.guest-checkin-container .section-heading,.daily-status-container .section-heading,.stock-container .section-heading,.transactions-container .section-heading,.users-container .section-heading,.roles-container .section-heading{color:#fff}.search-input,.sort-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:10px 15px;font-size:.95em;transition:all .2s;box-shadow:0 1px 3px #00000014}.consumer-title{color:#1e293b;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.15rem;font-weight:700;display:flex}.consumer-count{color:#64748b;background:#e2e8f0;border-radius:.375rem;margin-left:auto;padding:.25rem .75rem;font-size:.875rem;font-weight:600}.consumer-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.consumer-title{color:#1e293b;margin:0 0 .5rem;font-size:1.2rem;font-weight:700}.consumer-meta{color:#64748b;flex-wrap:wrap;gap:1.5rem;margin:0;padding:0;font-size:.9rem;display:flex}.consumer-no,.consumer-category,.consumer-load{background:#f1f5f9;border-radius:.375rem;align-items:center;padding:.25rem .75rem;font-weight:500;display:inline-flex}.consumer-no{color:#2563eb;background:#dbeafe}.consumer-category{color:#059669;background:#d1fae5}.consumer-load{color:#7c3aed;background:#ede9fe}.consumer-bill-amount{color:#dc2626;background:#fee2e2;font-weight:700}.consumer-payment-date{color:#2563eb;background:#dbeafe;font-weight:600}.type-section{background:#fff;border-left:4px solid #8b5cf6;border-radius:8px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 1px 3px #00000014}.type-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.type-title{color:#1e293b;margin:0;font-size:1.15rem;font-weight:700}.type-total{color:#16a34a;background:#dcfce7;border-radius:.375rem;padding:.5rem .75rem;font-size:.95rem;font-weight:700}.category-section{background:#fff;border-left:4px solid #06b6d4;border-radius:8px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 1px 3px #00000014}.category-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.category-title{color:#0c4a6e;margin:0;font-size:1.15rem;font-weight:700}.category-stats{flex-wrap:wrap;gap:1rem;display:flex}.stat-badge{color:#0c4a6e;background:#cffafe;border-radius:.375rem;padding:.5rem .75rem;font-size:.85rem;font-weight:600}.stat-badge.total{color:#166534;background:#dcfce7;padding:.7rem 1rem;font-size:1.05rem;font-weight:800}.stat-badge.total.income-total{color:#166534;background:#dcfce7}.stat-badge.total.expense-total{color:#b91c1c;background:#fee2e2}.transaction-tabs{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:.25rem;margin:0 0 1.25rem;padding:.3rem;display:flex;overflow-x:auto;box-shadow:0 1px 2px #0f172a0d}.transaction-tab{color:#1e293b;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;padding:.6rem 1rem;font-weight:600;line-height:1.25;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.transaction-tab:hover{color:#0f5f59;background:#e6fffb}.transaction-tab.active{color:#fff;background:#0f766e;border-color:#0f766e;box-shadow:0 2px 4px #0f766e40}.transaction-tab:focus-visible{outline-offset:2px;outline:2px solid #0f766e}.expense-report-page{min-height:60vh}.expense-report-content{flex-direction:column;gap:1rem;display:flex}.expense-category-year-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.expense-category-year-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem}.expense-category-year-header h4{color:#1e293b;margin:0;font-size:1rem}.expense-category-year-header p{color:#64748b;margin:.25rem 0 .65rem;font-size:.82rem}.expense-pie-section{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.expense-pie-wrap{background:#fff;border:1px solid #dbe3ec;border-radius:14px;padding:.75rem}.expense-pie-svg{width:100%;height:auto;display:block}.expense-pie-total-label{fill:#64748b;text-transform:uppercase;letter-spacing:.6px;font-size:12px;font-weight:700}.expense-pie-total-value{fill:#0f172a;font-size:14px;font-weight:700}.expense-pie-legend{flex-direction:column;gap:.45rem;max-height:260px;padding-right:.2rem;display:flex;overflow-y:auto}.expense-pie-legend-item-wrap{flex-direction:column;gap:.3rem;display:flex}.expense-pie-legend-item{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:12px minmax(70px,1fr) auto auto;align-items:center;gap:.45rem;padding:.35rem .45rem;font-size:.76rem;display:grid}.expense-pie-others-breakdown{border-left:2px solid #e2e8f0;flex-direction:column;gap:.2rem;margin-left:1.1rem;padding-left:.5rem;display:flex}.expense-pie-others-row{color:#475569;justify-content:space-between;gap:.5rem;font-size:.8rem;display:flex}.expense-pie-others-row span:last-child{color:#334155;white-space:nowrap;font-weight:700}.expense-pie-color-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.expense-pie-label{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.expense-pie-value{color:#0f766e;font-size:.9rem;font-weight:700}.expense-pie-share{color:#475569;font-size:.9rem;font-weight:700}.expense-report-table td{font-size:.98rem}.expense-report-table .text-right{font-size:1.02rem;font-weight:700}.net-balance-summary{background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border-left:5px solid #16a34a;border-radius:8px;margin-top:2rem;padding:1.5rem;box-shadow:0 4px 6px #16a34a1a}.net-balance-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;display:flex}.net-balance-label{color:#166534;text-transform:uppercase;letter-spacing:.5px;font-size:1.1rem;font-weight:700}.net-balance-value{color:#16a34a;text-align:right;background:#fff;border:2px solid #16a34a;border-radius:8px;min-width:200px;padding:.75rem 1.5rem;font-size:2rem;font-weight:800}.view-mode-toggle{gap:8px;display:flex}@media (width<=768px){.expense-pie-section{grid-template-columns:1fr}.expense-pie-wrap{max-width:280px}}.view-mode-toggle .btn{white-space:nowrap;min-height:40px;padding:8px 12px;font-size:.9rem}.date-filter-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px;display:flex}.date-input{background:#fff;border:2px solid #e2e8f0;border-radius:6px;padding:10px 12px;font-family:inherit;font-size:.95em;transition:all .2s}.date-filter-group label,.date-separator{color:#64748b;font-size:.9em;font-weight:600}.form-container input,.form-container select,.form-container textarea{color:#1e293b;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:12px;font-family:inherit;font-size:.95em;transition:all .2s}.form-container input:focus,.form-container select:focus,.form-container textarea:focus{background:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.table-responsive{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto;box-shadow:0 1px 4px #0000000f}.data-table th{text-align:left;color:#1e293b;padding:15px;font-size:.95em;font-weight:700}.data-table .amount{color:#28a745;font-weight:600}.data-table .actions{white-space:nowrap;gap:8px;display:flex}.data-table .billed-units{color:#7c3aed;font-weight:600}.data-table .no-payment{color:#94a3b8;font-size:.9em;font-style:italic}.item-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:clamp(15px,3vw,20px);transition:all .3s;box-shadow:0 2px 8px #0000000d}.item-header h4{color:#333;margin:0;font-size:1.1em}.guest-card-title-block{flex:1;min-width:0}.guest-card-summary{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.guest-card-summary span{color:#1d4ed8;background:#eff6ff;border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.item-actions{flex-direction:column;flex-shrink:0;justify-content:flex-start;align-items:flex-end;gap:8px;display:flex}.btn-collapse-icon{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px 6px;font-size:1rem;transition:background-color .2s;display:flex}.btn-collapse-icon:hover{color:#333;background-color:#e2e8f0}.btn-collapse-icon:disabled{cursor:not-allowed;opacity:.6}.guest-checkin-card.is-collapsed{padding-bottom:14px}.guest-card-content{border-top:1px solid #e2e8f0;padding-top:.75rem}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:220px;display:flex}.loading-spinner:before{content:"";border:4px solid #2563eb;border-color:#2563eb #2563eb #0000 #0000;border-radius:50%;width:48px;height:48px;animation:.85s cubic-bezier(.4,0,.2,1) infinite spin}.no-results-message{text-align:center;background:#fff;border:2px dashed #2563eb;border-radius:12px;margin:25px 0;padding:40px 25px;box-shadow:0 1px 3px #00000014}.no-results-message p{color:#64748b;margin:0;font-size:1.05em;font-weight:500}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.management-section{background:#fff;border-top:4px solid #6366f1;border-radius:12px;margin-bottom:3rem;padding:2rem;box-shadow:0 2px 8px #0000001a}.management-section h2{color:#1e293b;margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.user-roles-section{background:#f8fafc;border-left:3px solid #6366f1;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.user-roles-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.user-roles-header h3{color:#1e293b;margin:0;font-size:1.1rem;font-weight:600}.role-count{color:#64748b;background:#e2e8f0;border-radius:.375rem;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.roles-badges{flex-wrap:wrap;gap:.75rem;display:flex}.role-badge{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#7c3aed 100%);border-radius:.5rem;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex;box-shadow:0 2px 4px #6366f14d}.role-badge .role-name{flex-grow:1}.role-badge .btn-remove{color:#fff;cursor:pointer;background:#ffffff4d;border:none;border-radius:.25rem;padding:.25rem .5rem;font-size:1rem;line-height:1;transition:all .2s}.role-badge .btn-remove:hover{background:#ffffff80}.access-denied{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.access-denied-content{text-align:center;background:#fff;border-radius:12px;max-width:500px;padding:3rem 2rem;box-shadow:0 20px 60px #0000004d}.access-denied-content h2{color:#dc2626;margin:0 0 1rem;font-size:2rem}.access-denied-content p{color:#64748b;margin:.75rem 0;font-size:1.05rem;line-height:1.6}.access-denied-content .user-info{color:#475569;background:#f1f5f9;border-radius:8px;margin:1.5rem 0;padding:1rem;font-size:.95rem}.access-denied-content .required-roles{background:#fef2f2;border-left:4px solid #dc2626;border-radius:8px;padding:1rem}.access-denied-content strong{color:#1e293b;font-weight:600}.service-consumption-tabs{border-bottom:1px solid #cbd5e1;gap:8px;margin:0 0 24px;display:flex;overflow-x:auto}.service-consumption-tab{color:#475569;cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:10px 16px;font-weight:600}.service-consumption-tab:hover,.service-consumption-tab.active{color:#1d4ed8}.service-consumption-tab.active{border-bottom-color:#2563eb}@media (width<=768px){.management-container{padding:15px}.toolbar{flex-direction:column}.search-input{width:100%;min-width:unset}.sort-select{width:100%}.btn{justify-content:center;width:100%}.items-grid{grid-template-columns:1fr}.item-header{flex-direction:column}.item-actions{width:100%}.consumer-header{flex-direction:column;align-items:flex-start}.consumer-count{margin-top:.5rem;margin-left:0}.consumer-meta{gap:.75rem}.data-table{font-size:.85em}.data-table th,.data-table td{padding:10px}.modal-content{margin:20px}.user-roles-header{flex-direction:column;align-items:flex-start}.role-count{margin-left:auto}.roles-badges{width:100%}}.bill-summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin:25px 0;display:grid}.bill-card{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:10px;flex-direction:column;gap:8px;padding:20px;display:flex;box-shadow:0 4px 12px #667eea33}.bill-label{opacity:.9;font-size:.85em;font-weight:500}.bill-value{color:#fff;font-size:1.8em;font-weight:700}.filter-group{background:#f8fafc;border-left:4px solid #2563eb;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px;padding:15px;display:flex}.filter-item{flex-direction:column;flex:1;gap:6px;min-width:150px;display:flex}.filter-item label{color:#475569;font-size:.9em;font-weight:600}.filter-input{border:2px solid #e2e8f0;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:.9em;transition:all .2s}.filter-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.reset-btn{color:#fff;cursor:pointer;background:#6b7280;border:none;border-radius:6px;padding:8px 16px;font-size:.9em;font-weight:600;transition:all .2s}.reset-btn:hover{background:#4b5563;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.add-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:6px;padding:8px 16px;font-size:.9em;font-weight:600;transition:all .2s}.add-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 2px 8px #10b9814d}.consumption-form{background:#fff;border:2px solid #e2e8f0;border-radius:10px;margin-bottom:25px;padding:25px;box-shadow:0 2px 8px #00000014}.consumption-form h3{color:#1e293b;border-bottom:3px solid #2563eb;margin-bottom:20px;padding-bottom:10px;font-size:1.2em}.form-input{border:2px solid #e2e8f0;border-radius:6px;padding:10px 14px;font-family:inherit;font-size:.95em;transition:all .2s}.form-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.photo-upload-section{margin-bottom:25px}.photo-upload-section h4{color:#1e293b;margin-bottom:15px;font-size:1em}.photo-grid{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;padding:20px;display:grid}.photo-upload-box{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:15px;transition:all .2s;display:flex}.photo-upload-box:hover{background:#f0f4ff;border-color:#2563eb;box-shadow:0 2px 8px #2563eb26}.photo-label{color:#475569;font-size:.9em;font-weight:600}.photo-preview{object-fit:cover;border:2px solid #e2e8f0;border-radius:6px;width:100%;height:100px}.photo-input{cursor:pointer;width:100%;padding:8px 0;font-size:.8em}.photo-filename{color:#10b981;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.75em;font-weight:600;overflow:hidden}.submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#1e40af 100%);border:none;border-radius:8px;width:100%;padding:12px 20px;font-size:1em;font-weight:700;transition:all .2s}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.table-responsive{border-radius:8px;overflow-x:auto;box-shadow:0 2px 8px #00000014}.management-table{border-collapse:collapse;background:#fff;width:100%}.management-table thead{color:#fff;background:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);font-weight:700}.management-table th{text-align:left;border-bottom:3px solid #1e3a8a;padding:15px;font-size:.95em}.management-table td{border-bottom:1px solid #e2e8f0;padding:12px 15px;font-size:.9em}.management-table tbody tr{transition:all .2s}.management-table tbody tr:hover{background:#f8fafc}.units-cell{color:#10b981;font-weight:600}.amount-cell{color:#dc3545;font-weight:700}.photo-count{color:#fff;background:#fbbf24;border-radius:12px;padding:4px 10px;font-size:.85em;font-weight:600;display:inline-block}.action-btn{cursor:pointer;border:none;border-radius:4px;margin-right:6px;padding:6px 12px;font-size:.8em;font-weight:600;transition:all .2s}.edit-btn{color:#fff;background:#3b82f6}.edit-btn:hover{background:#2563eb}.delete-btn{color:#fff;background:#ef4444}.delete-btn:hover{background:#dc2626}.no-data{text-align:center;color:#94a3b8;font-style:italic;font-weight:500;padding:30px!important}.categorized-consumption-section{background:#f9fafb;border-left:4px solid #3b82f6;border-radius:8px;margin:30px 0;padding:20px}.categorized-consumption-section h3{color:#1f2937;margin:0 0 20px;font-size:1.2em}.consumer-categories{flex-direction:column;gap:20px;display:flex}.consumer-category-card{background:#fff;border-left:4px solid #3b82f6;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #00000014}.category-header{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:15px 20px;display:flex}.consumer-info{flex:1;align-items:center;gap:12px;min-width:250px;display:flex}.consumer-badge{white-space:nowrap;color:#0369a1;background:#f0f9ff;border-radius:6px;padding:8px 14px;font-family:monospace;font-size:.95em;font-weight:700}.consumer-details{flex-direction:column;gap:4px;display:flex}.consumer-name{color:#1e293b;font-size:1.05em;font-weight:600}.last-payment{opacity:1;white-space:nowrap;color:#64748b;font-size:.85em;font-weight:600}.category-stats{gap:20px;min-width:fit-content;display:flex}.stat{align-items:center;gap:8px;display:flex}.stat-label{opacity:.9;color:#64748b;font-size:.85em;font-weight:500}.stat-value{font-size:1.25em;font-weight:700}.stat-value.units{color:#0369a1;background:#fff3;border-radius:4px;padding:4px 10px}.stat-value.amount{color:#059669;background:#fff3;border-radius:4px;padding:4px 10px}.category-records{overflow-x:auto}.category-table{border-collapse:collapse;background:#fff;width:100%}.category-table thead{background:#f3f4f6;border-bottom:2px solid #e5e7eb}.category-table th{text-align:left;color:#374151;padding:12px 15px;font-size:.9em;font-weight:600}.category-table td{border-bottom:1px solid #e5e7eb;padding:10px 15px;font-size:.9em}.category-table tbody tr:hover{background:#f9fafb}.category-table tbody tr:last-child td{border-bottom:none}.error-message{color:#991b1b;background:#fee2e2;border-left:4px solid #dc2626;border-radius:6px;margin-bottom:15px;padding:12px 15px;font-weight:500}@media (width<=1024px){.bill-summary{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.management-table{font-size:.85em}.management-table th,.management-table td{padding:10px}.category-header{flex-direction:column;align-items:flex-start}.consumer-info{width:100%}.category-stats{justify-content:space-around;width:100%}}@media (width<=768px){.bill-summary{grid-template-columns:1fr}.filter-group{flex-direction:column}.filter-item,.add-btn,.reset-btn{width:100%}.photo-grid{grid-template-columns:1fr}.management-table{font-size:.8em}.management-table th,.management-table td{padding:8px}}.media-section{border-top:2px solid #e2e8f0;margin-top:20px;padding-top:15px}.media-section h5{color:#1e293b;margin:0 0 15px;font-size:.95em;font-weight:600}.media-type-group{margin-bottom:20px}.media-type-header{color:#475569;background:#f1f5f9;border-left:3px solid #2563eb;border-radius:6px;margin-bottom:10px;padding:8px 12px;font-size:.9em;font-weight:600}.media-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:12px;display:grid}.media-item{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;transition:all .2s;position:relative;overflow:hidden}.media-item:hover{border-color:#2563eb;box-shadow:0 2px 8px #2563eb1a}.media-thumbnail{object-fit:cover;width:100%;height:120px;display:block}.media-placeholder{color:#64748b;text-align:center;word-break:break-word;background:#f1f5f9;justify-content:center;align-items:center;width:100%;height:120px;padding:8px;font-size:.75em;display:flex}.media-item .btn{width:100%;margin:0;padding:6px 8px;font-size:.8em}.media-upload-form{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;margin-top:12px;padding:15px}.media-upload-form .form-group{margin-bottom:12px}.media-upload-form .form-group:last-child{margin-bottom:0}.media-upload-form label{color:#475569;font-size:.9em;font-weight:600}.media-upload-form select,.media-upload-form input[type=file]{cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:6px;width:100%;padding:8px 12px;font-size:.9em}.media-upload-form select:focus,.media-upload-form input[type=file]:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.media-upload-form .btn{margin-top:12px}.camera-toggle-row{margin-top:10px}.camera-capture-panel{background:#fff;border:1px solid #cbd5e1;border-radius:8px;margin-top:12px;padding:12px}.camera-capture-actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.camera-preview-wrap{background:#0f172a;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;min-height:180px;display:flex;overflow:hidden}.camera-preview-live,.camera-preview-captured{object-fit:cover;width:100%;max-height:260px;display:block}.camera-preview-live.hidden{display:none}.camera-error{color:#b91c1c;margin:0 0 10px;font-size:.85em;font-weight:600}.selected-files-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.selected-file-item{background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.selected-file-name{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;font-size:.85em;font-weight:500;overflow:hidden}.selected-file-remove{flex-shrink:0;margin-top:0!important}.progress-container{flex-direction:column;gap:8px;margin:12px 0;display:flex}.progress-bar{background:#e2e8f0;border:2px solid #cbd5e1;border-radius:12px;width:100%;height:24px;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.progress-fill{background:linear-gradient(90deg,#3b82f6 0%,#2563eb 50%,#1d4ed8 100%) 0 0/200% 100%;border-radius:10px;height:100%;transition:width .3s;animation:2s infinite progress-shimmer;box-shadow:0 0 10px #2563eb4d}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.progress-text{text-align:center;color:#2563eb;margin:0;font-size:.85em;font-weight:600}@media (width<=768px){.media-upload-form{padding:12px}.media-upload-form select,.media-upload-form input[type=file]{appearance:none;padding:10px 12px;font-size:1em}.media-upload-form .btn{min-height:44px;padding:10px 16px;font-size:.95em}.camera-capture-panel{padding:10px}.camera-capture-actions .btn{flex:1;min-width:130px}.selected-file-item{flex-direction:column;align-items:flex-start}.selected-file-remove{width:100%}.progress-bar{height:28px}.progress-text{font-size:.9em}}@media (width<=480px){.media-upload-form{margin-top:8px;padding:10px}.media-upload-form .form-group{margin-bottom:10px}.media-upload-form label{font-size:.85em}.media-upload-form select,.media-upload-form input[type=file]{border-radius:8px;padding:12px;font-size:1em}.media-upload-form .btn{width:100%;min-height:44px;margin-top:10px;padding:12px 16px;font-size:.9em}.camera-preview-wrap{min-height:150px}.camera-preview-live,.camera-preview-captured{max-height:220px}.progress-bar{border-radius:13px;height:26px}}@media (width<=768px){.media-gallery{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.media-thumbnail{height:100px}.media-placeholder{height:100px;font-size:.7em}.media-item:hover{border-color:#2563eb}}@media (width<=480px){.media-gallery{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.media-thumbnail{height:80px}.media-placeholder{height:80px;font-size:.65em}.media-item{border-width:1px}.media-item .btn{padding:5px 6px;font-size:.75em}}@media (width<=768px){.action-btn{margin-right:4px;padding:4px 8px;font-size:.75em}.consumption-form{padding:15px}.form-row{gap:15px}.category-table{font-size:.8em}.category-table th,.category-table td{padding:8px}.category-header{flex-direction:column;align-items:flex-start;gap:12px}.consumer-info{width:100%}.category-stats{gap:10px;width:100%}.consumer-badge{padding:6px 10px;font-size:.85em}}@media (width<=480px){.bill-card{padding:15px}.bill-label{font-size:.75em}.bill-value{font-size:1.4em}.filter-group{gap:8px;padding:10px}.management-table{font-size:.75em}.action-btn{width:100%;margin-bottom:4px;padding:6px;display:block}.photo-upload-box{padding:10px}.photo-preview{height:70px}.category-header{flex-direction:column;align-items:flex-start;gap:10px}.consumer-badge{padding:6px 10px;font-size:.8em}.consumer-name{font-size:.95em}.last-payment{font-size:.75em}.category-stats{flex-direction:column;gap:8px;width:100%}.stat{justify-content:space-between;width:100%}.category-table{font-size:.75em}.category-table th,.category-table td{padding:6px}}.fullscreen-overlay{z-index:10000;background:#000000f2;justify-content:center;align-items:center;width:100%;height:100%;margin:0;padding:0;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;top:0;left:0;overflow:hidden}.fullscreen-modal{width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:none;box-sizing:border-box;-webkit-overflow-scrolling:touch;background:#1a1a1a;border-radius:0;flex-direction:column;justify-content:center;align-items:center;padding:10px;animation:.3s ease-out slideIn;display:flex;position:relative;overflow:auto}.fullscreen-content{object-fit:contain;border-radius:4px;width:100%;max-width:calc(100vw - 20px);height:auto;max-height:calc(100vh - 80px);display:block}.fullscreen-close{color:#fff;cursor:pointer;z-index:10001;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;font-size:28px;line-height:1;transition:all .2s;display:flex;position:fixed;top:12px;right:12px}.fullscreen-close:hover{background:#ffffff4d;transform:scale(1.1)}.fullscreen-close:active{background:#fff6;transform:scale(.95)}.fullscreen-info{color:#e5e7eb;text-align:center;word-break:break-word;background:#00000080;border-radius:4px;max-width:calc(100vw - 20px);margin-top:auto;padding:12px 10px;font-size:.9em}.fullscreen-info p{opacity:.9;margin:0}@media (width>=769px){.fullscreen-modal{border-radius:8px;width:auto;max-width:90vw;height:auto;max-height:90vh;padding:0;box-shadow:0 10px 40px #00000080}.fullscreen-content{max-width:100%;max-height:80vh}.fullscreen-close{width:40px;height:40px;font-size:24px;position:absolute;top:15px;right:15px}.fullscreen-info{background:#1a1a1a;margin-top:0;padding:15px}}@media (width<=768px){.fullscreen-modal{padding:8px}.fullscreen-content{max-height:calc(100vh - 90px);margin:auto}.fullscreen-close{width:44px;height:44px;font-size:26px;top:10px;right:10px}.fullscreen-info{max-width:calc(100% - 16px);padding:12px 8px;font-size:.85em}}.fullscreen-main-container{flex:1;justify-content:center;align-items:center;width:100%;min-height:300px;display:flex;position:relative}.fullscreen-nav-prev,.fullscreen-nav-next{color:#fff;cursor:pointer;z-index:100;opacity:.7;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:28px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.fullscreen-nav-prev:hover,.fullscreen-nav-next:hover{opacity:1;background:#000c}.fullscreen-thumbnails{-webkit-overflow-scrolling:touch;background:#0009;border-radius:0 0 4px 4px;justify-content:flex-start;align-items:center;gap:8px;max-width:100%;padding:12px 10px;display:flex;overflow:auto hidden}.fullscreen-thumbnail{cursor:pointer;opacity:.7;background:#ffffff1a;border:3px solid #0000;border-radius:4px;flex-shrink:0;width:70px;height:70px;transition:all .2s;overflow:hidden}.fullscreen-thumbnail img,.fullscreen-thumbnail video{object-fit:cover;width:100%;height:100%;display:block}.fullscreen-thumbnail:hover{opacity:1;border-color:#ffffff80}.fullscreen-thumbnail.active{opacity:1;border-color:#2563eb;box-shadow:0 0 8px #2563eb99}@media (width>=769px){.fullscreen-modal{border-radius:8px;width:auto;max-width:90vw;height:auto;max-height:90vh;padding:0;box-shadow:0 10px 40px #00000080}.fullscreen-main-container{min-height:400px}.fullscreen-content{max-width:100%;max-height:70vh}.fullscreen-nav-prev,.fullscreen-nav-next{width:60px;height:60px;font-size:32px}.fullscreen-thumbnails{max-width:90vw}.fullscreen-thumbnail{width:80px;height:80px}}@media (width<=480px){.fullscreen-overlay{padding:0}.fullscreen-modal{padding:6px}.fullscreen-main-container{min-height:250px}.fullscreen-content{width:100%;max-height:calc(100vh - 140px)}.fullscreen-close{width:40px;height:40px;font-size:22px;top:8px;right:8px}.fullscreen-nav-prev,.fullscreen-nav-next{width:40px;height:40px;font-size:22px}.fullscreen-nav-prev{left:6px}.fullscreen-nav-next{right:6px}.fullscreen-thumbnails{gap:6px;padding:8px 6px}.fullscreen-thumbnail{border-width:2px;width:60px;height:60px}.fullscreen-info{max-width:calc(100% - 16px);padding:10px 8px;font-size:.8em}}.fullscreen-tabs{background:#0006;border-bottom:2px solid #fff3;gap:0;width:100%;display:flex}.fullscreen-tab{color:#ffffffb3;cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:12px 16px;font-size:.95rem;font-weight:600;transition:all .2s}.fullscreen-tab:hover{color:#fff;background:#ffffff1a}.fullscreen-tab.active{color:#fff;background:#2563eb1a;border-bottom-color:#2563eb}.fullscreen-counter{color:#fff;z-index:50;background:#0009;border-radius:20px;padding:8px 12px;font-size:.85rem;font-weight:600;position:absolute;top:12px;left:12px}@media (width>=769px){.fullscreen-counter{font-size:.9rem;top:15px;left:15px}}.edit-media-section{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:20px;padding:15px}.edit-media-section h4{color:#1e293b;margin:0 0 15px;font-size:1.1em}.edit-existing-media{flex-direction:column;gap:20px;margin-bottom:20px;display:flex}.edit-media-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.edit-media-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000001a}.edit-media-item:hover{box-shadow:0 2px 6px #00000026}.edit-media-thumbnail{object-fit:cover;background:#f1f5f9;width:100%;height:130px;display:block}.edit-media-actions{background:#f1f5f9;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:8px;display:flex}.edit-media-actions button{cursor:pointer;border:none;border-radius:4px;flex:1;min-width:70px;padding:6px 8px;font-size:.85em;font-weight:500;transition:all .2s}.edit-media-actions .btn-edit{color:#fff;background-color:#3b82f6}.edit-media-actions .btn-edit:hover{background-color:#2563eb}.edit-media-actions .btn-danger{color:#fff;background-color:#ef4444}.edit-media-actions .btn-danger:hover{background-color:#dc2626}.edit-media-actions .btn-danger:disabled{cursor:not-allowed;background-color:#cbd5e1}.edit-media-upload-item{flex-direction:column;flex:1;gap:8px;min-width:200px;display:flex}.edit-media-upload-btn-primary{color:#fff;cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;background-color:#2563eb;border:none;border-radius:6px;padding:10px 15px;font-size:.95em;font-weight:600;transition:all .2s;display:block}.edit-media-upload-btn-primary:hover{background-color:#1d4ed8;box-shadow:0 4px 12px #2563eb4d}.edit-media-upload-btn-primary:disabled{cursor:not-allowed;box-shadow:none;background-color:#cbd5e1}.edit-media-upload-btn-primary input[type=file]{display:none}.edit-add-media{border-top:1px solid #e2e8f0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:15px;padding-top:15px;display:grid}.edit-no-media{color:#94a3b8;text-align:center;padding:20px;font-size:.95em;font-style:italic}@media (width<=1024px){.edit-media-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.edit-media-thumbnail{height:110px}}@media (width<=768px){.edit-media-section{margin-top:15px;padding:12px}.edit-media-section h4{margin-bottom:12px;font-size:1em}.edit-media-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.edit-media-thumbnail{height:90px}.edit-media-actions{gap:4px;padding:6px}.edit-media-actions button{min-width:60px;padding:5px 6px;font-size:.75em}.edit-add-media{grid-template-columns:1fr;gap:8px;margin-top:12px;padding-top:12px}.edit-media-upload-btn-primary{padding:10px 12px;font-size:.9em}.edit-media-upload-item{min-width:auto}}@media (width<=480px){.edit-media-section{margin-top:12px;padding:10px}.edit-media-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:6px}.edit-media-thumbnail{height:75px}.edit-media-actions{gap:2px;padding:4px}.edit-media-actions button{min-width:50px;padding:4px;font-size:.7em}.edit-no-media{padding:15px;font-size:.9em}}.lazy-loading-sentinel{text-align:center;background:#2563eb05;border-top:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;min-height:60px;margin-top:30px;padding:40px 20px;display:flex}.lazy-loading-message{color:#666;margin:0;font-size:.95em;font-weight:500;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@media (width<=1024px){.management-container{padding:clamp(12px,4vw,25px)}.toolbar{gap:12px;margin-bottom:20px}.search-input{min-width:150px}.sort-select{min-width:120px}.data-table,.complaints-table{font-size:.9em}.data-table thead th,.complaints-table thead th,.data-table tbody td,.complaints-table tbody td{padding:10px 12px}.form-grid{grid-template-columns:1fr 1fr}.modal-content{width:90%;max-height:90vh}}@media (width<=768px){.management-container{padding:clamp(10px,3vw,20px)}.management-container h1,.management-container h2{margin-bottom:20px;font-size:clamp(1.3em,4vw,1.8em)}.toolbar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:18px}.search-input,.sort-select,.date-input{min-height:44px;font-size:16px}.search-input{min-width:unset;flex:1}.sort-select{min-width:unset;width:100%}.date-filter-group{flex-direction:column;width:100%}.date-filter-group label{font-size:.85rem}.table-responsive{-webkit-overflow-scrolling:touch;margin:-12px;padding:0 12px;overflow-x:auto}.data-table,.complaints-table{min-width:600px;font-size:.85em}.data-table thead th,.complaints-table thead th,.data-table tbody td,.complaints-table tbody td{padding:8px 10px;font-size:.8rem}.form-grid{grid-template-columns:1fr;gap:15px}.form-group{margin-bottom:12px}.form-group label{margin-bottom:.4rem;font-size:.9rem}.form-group input,.form-group textarea,.form-group select{padding:10px;font-size:16px}.form-buttons{flex-wrap:wrap;gap:10px}.form-buttons button{flex:1;min-width:120px;padding:10px}.consumer-section,.type-section,.user-roles-section{margin-bottom:1.5rem;padding:1rem}.consumer-header,.type-header{flex-direction:column;gap:10px}.consumer-meta,.type-meta{flex-wrap:wrap;font-size:.8rem}.stat-card,.summary-card{padding:15px;font-size:.9rem}.stat-value{font-size:1.5em}.roles-badges,.proof-icons{flex-wrap:wrap;gap:8px}.role-badge,.proof-link{padding:6px 12px;font-size:.85rem}.modal-overlay{padding:15px}.modal-content{border-radius:8px;width:95%;max-height:85vh}.modal-header h3{font-size:1.2rem}.modal-buttons{flex-direction:column;gap:10px}.modal-buttons button{width:100%}.btn{min-height:44px;padding:10px 12px;font-size:.9rem}.btn-sm{min-height:40px;padding:8px 10px;font-size:.8rem}.filters-grid{grid-template-columns:1fr;gap:12px}.error-message,.success-message{margin-bottom:15px;padding:12px;font-size:.9rem}.no-results-message,.no-data{padding:20px;font-size:.9rem}.net-balance-summary{margin-top:1.5rem;padding:1rem}.net-balance-content{flex-direction:column;align-items:stretch;gap:1rem}.net-balance-label{text-align:center;font-size:.95rem}.net-balance-value{min-width:auto;padding:.75rem;font-size:1.5rem}}@media (width<=480px){.management-container{padding:clamp(8px,2vw,15px)}.management-container h1,.management-container h2{margin-bottom:15px;font-size:clamp(1.1em,3vw,1.5em)}.management-container h3{font-size:1.1rem}.toolbar{flex-direction:column;gap:8px;margin-bottom:15px}.btn-primary,.btn-secondary{width:100%;min-height:44px;padding:12px;font-size:.9rem}.search-input,.sort-select,.date-input,input,textarea,select{border-radius:6px;width:100%;min-height:44px;padding:12px;font-size:16px}textarea{min-height:80px}.date-filter-group{flex-direction:column;gap:8px;width:100%;padding:8px}.date-filter-group label{margin-bottom:0;font-size:.8rem}.table-responsive{-webkit-overflow-scrolling:touch;border-radius:6px;margin-bottom:10px;overflow-x:auto}.data-table,.complaints-table{min-width:500px;font-size:.75em}.data-table thead th,.complaints-table thead th{padding:6px 8px;font-size:.7rem;font-weight:600}.data-table tbody td,.complaints-table tbody td{padding:6px 8px}.data-table thead th:nth-child(n+3),.data-table tbody td:nth-child(n+3){text-align:right}.form-grid{grid-template-columns:1fr;gap:12px}.form-group{margin-bottom:12px}.form-group label{margin-bottom:.3rem;font-size:.8rem;display:block}.form-buttons{flex-direction:column;gap:8px;display:flex}.form-buttons button{width:100%;min-height:44px;padding:12px;font-size:.85rem}.consumer-section,.type-section,.user-roles-section{margin-bottom:12px;padding:12px}.consumer-title,.type-title{margin-bottom:10px;font-size:1rem}.consumer-header,.type-header{flex-direction:column;gap:8px}.consumer-meta{font-size:.75rem}.consumer-count{margin-left:0;font-size:.7rem}.stat-card,.summary-card{padding:12px;font-size:.8rem}.stat-value{font-size:1.3em}.stat-label{font-size:.7rem}.role-badge,.status-badge{align-items:center;min-height:32px;padding:4px 8px;font-size:.7rem;display:flex}.proof-link{min-width:40px;min-height:40px;padding:8px;font-size:.8rem}.modal-overlay{padding:0}.modal-content{border-radius:0;width:100%;max-height:90vh;margin:auto}.modal-header{padding:12px}.modal-header h3{margin:0;font-size:1rem}.modal-close{width:32px;height:32px;font-size:20px}.modal-buttons{flex-direction:column;gap:8px}.modal-buttons button{width:100%;min-height:44px;padding:12px;font-size:.85rem}.filters-grid{grid-template-columns:1fr;gap:10px}.error-message,.success-message,.info-box{border-radius:4px;margin-bottom:12px;padding:10px;font-size:.8rem}.no-results-message{padding:15px;font-size:.85rem}.actions{flex-wrap:wrap;gap:4px;display:flex}.actions button{flex:1;min-width:35px;padding:6px;font-size:.7rem}.legend{padding:12px}.legend h4{margin-bottom:10px;font-size:.9rem}.legend-items{flex-wrap:wrap;gap:10px}.legend-item{flex:1;min-width:150px;font-size:.75rem}.searchable-dropdown-wrapper{margin-bottom:1.5rem}.results-count{font-size:.75rem}.net-balance-summary{border-radius:6px;margin-top:1rem;padding:1rem}.net-balance-label{font-size:.85rem}.net-balance-value{padding:.5rem .75rem;font-size:1.3rem}}@media (width<=768px){.guest-checkin-mobile-layout{flex-direction:column;gap:.75rem;display:flex}.guest-checkin-add-section{order:-4;margin-top:.25rem}.guest-checkin-toolbar{order:-3}.guest-checkin-filter-info{order:-2}.guest-checkin-stats-grid{order:-1}.guest-checkin-container .guest-phone-filter-group{width:100%}.guest-checkin-container .guest-phone-filter-input{min-width:100%}.guest-checkin-container .item-actions{align-items:stretch}.guest-checkin-container .item-actions .sort-select{width:100%;min-width:0!important}}@media (width<=480px){.guest-checkin-add-section{padding:12px}.guest-checkin-container .guest-card-summary{gap:6px}.guest-checkin-container .guest-card-summary span{font-size:.75rem}}.fullscreen-container{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172ab8;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.fullscreen-container .fullscreen-content{background:#f8fafc;border:1px solid #94a3b840;border-radius:24px;flex-direction:column;width:min(1200px,100%);height:min(1100px,100vh - 3rem);max-height:calc(100vh - 3rem);display:flex;overflow:hidden;box-shadow:0 30px 80px #0f172a66}.fullscreen-header{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 1.75rem 1rem;display:flex}.fullscreen-title-section{align-items:center;gap:1rem;min-width:0;display:flex}.fullscreen-main-photo{background:#ffffff14;border:3px solid #ffffff59;border-radius:20px;flex-shrink:0;width:76px;height:76px;overflow:hidden}.fullscreen-header-copy{min-width:0}.fullscreen-kicker{text-transform:uppercase;letter-spacing:.12em;opacity:.82;margin-bottom:.35rem;font-size:.72rem;display:inline-block}.fullscreen-header-copy h1{margin:0;font-size:clamp(1.6rem,2vw,2.2rem);line-height:1.2}.fullscreen-header-meta{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.detail-pill{background:#ffffff1f;border:1px solid #ffffff29;border-radius:999px;align-items:center;padding:.4rem .7rem;font-size:.82rem;font-weight:600;display:inline-flex}.fullscreen-close-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;transition:background .2s,transform .2s;display:inline-flex}.fullscreen-close-btn:hover{background:#ffffff29;transform:translateY(-1px)}.fullscreen-tabs{background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 1.5rem 0;display:flex}.fullscreen-tab{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #dfe7f5;border-radius:12px 12px 0 0;padding:.8rem 1.1rem;font-weight:700;transition:all .2s}.fullscreen-tab.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;box-shadow:inset 0 -2px #1d4ed8}.fullscreen-container .fullscreen-body{scrollbar-gutter:stable;background:#f8fafc;flex:auto;min-height:0;padding:1.5rem;overflow:hidden auto!important}.fullscreen-container .fullscreen-body::-webkit-scrollbar{width:10px}.fullscreen-container .fullscreen-body::-webkit-scrollbar-track{background:#e2e8f0}.fullscreen-container .fullscreen-body::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px}.fullscreen-container .fullscreen-body::-webkit-scrollbar-thumb:hover{background:#64748b}.tab-panel{flex-direction:column;gap:1.25rem;display:flex}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.fullscreen-section{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:1.25rem;box-shadow:0 10px 25px #0f172a08}.fullscreen-section h3{color:#0f172a;margin:0 0 1rem;font-size:1.1rem}.fullscreen-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.fullscreen-field.full-width{grid-column:1/-1}.fullscreen-field label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:.75rem;font-weight:700}.fullscreen-field p{color:#0f172a;overflow-wrap:anywhere;margin:0;font-size:.98rem}.overview-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.overview-stat-card{background:linear-gradient(135deg,#eff6ff 0%,#fff 100%);border:1px solid #dbeafe;border-radius:18px;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;display:flex}.overview-stat-label{text-transform:uppercase;letter-spacing:.07em;color:#475569;font-size:.72rem;font-weight:700}.overview-stat-card strong{color:#0f172a;font-size:1.05rem}.payment-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.summary-tile{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.summary-tile span{text-transform:uppercase;letter-spacing:.07em;color:#64748b;font-size:.72rem;font-weight:700}.summary-tile strong{color:#0f172a;font-size:1.1rem}.summary-received{background:#f0fdf4;border-color:#bbf7d0}.summary-pending{background:#fff7ed;border-color:#fed7aa}.summary-deposit{background:#eff6ff;border-color:#bfdbfe}.summary-date{background:#f8fafc;border-color:#e2e8f0}.occupancy-status-badge{border-radius:100px;align-items:center;padding:.42rem .8rem;font-size:.8rem;font-weight:700;display:inline-flex}.occupancy-status-badge.occupied{color:#166534;background:#dcfce7}.occupancy-status-badge.vacant{color:#334155;background:#e2e8f0}.history-section{position:relative}.history-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.history-note{color:#64748b;margin:.3rem 0 0;font-size:.9rem}.table-wrapper{overflow-x:auto}.occupancy-history-table,.payment-history-table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;min-width:760px;overflow:hidden}.occupancy-history-table th,.occupancy-history-table td,.payment-history-table th,.payment-history-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:.8rem .9rem}.occupancy-history-table th,.payment-history-table th{color:#334155;background:#f8fafc;font-weight:700}.occupancy-history-table tbody tr:hover,.payment-history-table tbody tr:hover{background:#f8fbff}.occupancy-history-table tbody tr.current-occupancy-row{background:#f0fdf4}.history-status-badge{border-radius:999px;align-items:center;padding:.3rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.history-status-badge.currently-checked-in{color:#166534;background:#dcfce7}.history-status-badge.checked-out{color:#475569;background:#f1f5f9}.payment-received{color:#166534;font-weight:700}.payment-pending{color:#c2410c;font-weight:700}.payment-cleared{color:#166534;font-weight:700}.fullscreen-photos-grid,.fullscreen-proofs-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.fullscreen-photos-grid img,.fullscreen-proofs-grid img{object-fit:cover;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;width:100%;height:180px}.proof-item{cursor:pointer;color:#0f172a;flex-direction:column;gap:.6rem;display:flex}.proof-item span{color:#334155;font-size:.82rem;font-weight:600}.empty-media-state{color:#64748b;margin:0}@media (width<=820px){.fullscreen-container{padding:.75rem}.fullscreen-content{border-radius:18px;max-height:calc(100vh - 1.5rem)}.fullscreen-header{padding:1rem}.fullscreen-title-section{flex-wrap:wrap}.overview-grid,.fullscreen-grid,.overview-stat-grid,.payment-summary-grid{grid-template-columns:1fr}.fullscreen-body{padding:1rem}.fullscreen-tabs{gap:.5rem;padding:.75rem .75rem 0}.fullscreen-tab{border-radius:10px;flex:calc(50% - .5rem);min-width:120px}}.payment-tracking-container{background:#f8fafc;width:100%;min-height:100vh;margin:0;padding:clamp(.875rem,2vw,1.5rem)}.payment-tracking-container h1{color:#1e293b;margin-bottom:clamp(1rem,5vw,2rem);font-size:clamp(1.5rem,5vw,2rem);font-weight:700}.month-selector-wrapper{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.month-selector{box-shadow:none;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1;min-width:250px;padding:.75rem 1rem}.payment-month-label{color:#333;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.payment-month-select{color:#333;width:100%;font:inherit;background:#fff;border:1px solid #ddd;border-radius:6px;padding:.75rem}.payment-month-select:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 .2rem #007bff40}.room-filter{box-shadow:none;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1;align-items:flex-end;gap:.75rem;min-width:250px;padding:.75rem 1rem;display:flex}.room-filter>div{flex:1}.clear-room-filter{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s}.clear-room-filter:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.load-latest-payments-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;border-radius:10px;justify-content:center;align-self:flex-end;align-items:center;width:48px;height:48px;padding:0;font-size:1.35rem;line-height:1;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 16px #2563eb38}.load-latest-payments-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px #2563eb47}.payment-date-filters{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin:0 0 1rem;display:grid}.date-filter-group{box-shadow:none;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem}.date-filter-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.date-filter-group h3{letter-spacing:.04em;text-transform:uppercase;color:#475569;margin:0;font-size:.9rem}.date-filter-clear{color:#334155;cursor:pointer;background:#e2e8f0;border:none;border-radius:999px;padding:.35rem .7rem;font-size:.75rem;font-weight:700}.date-filter-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.date-filter-row label{color:#334155;flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:600;display:flex}.date-filter-row input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:.6rem .7rem;font-size:.9rem}.month-selector label{color:#2d3748;margin-bottom:.75rem;font-size:.95rem;font-weight:600;display:block}.dropdown-container{position:relative}.dropdown-input{background:#fff;border:2px solid #e2e8f0;border-radius:6px;align-items:center;padding:0 .75rem;transition:border-color .2s,box-shadow .2s;display:flex}.dropdown-input:hover{border-color:#cbd5e0}.dropdown-input:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.dropdown-input input{color:#1a202c;border:none;outline:none;flex:1;padding:.75rem 0;font-size:1rem}.dropdown-input input::placeholder{color:#a0aec0}.dropdown-arrow{color:#718096;-webkit-user-select:none;user-select:none;margin-left:.5rem;padding:0 .25rem;font-size:.75rem}.dropdown-list{z-index:10;background:#fff;border:1px solid #e2e8f0;border-radius:6px;max-height:300px;margin-top:.25rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.dropdown-item{cursor:pointer;color:#2d3748;padding:.75rem 1rem;transition:background-color .2s}.dropdown-item:hover{background-color:#edf2f7}.dropdown-item.selected{color:#1e40af;background-color:#dbeafe;font-weight:600}.dropdown-empty{text-align:center;color:#718096;padding:1rem}.summary-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.summary-card{box-shadow:none;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem}.summary-label{color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.72rem;font-weight:700}.summary-value{color:#1a202c;font-size:1.25rem;font-weight:700}.summary-value.success{color:#22863a}.summary-value.pending{color:#cb2431}.status-badge{cursor:pointer;border:2px solid #0000;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-weight:600;transition:all .2s;display:flex}.status-badge:hover{box-shadow:0 1px 3px #0f172a1f}.error-state{color:#742a2a;background:#fed7d7;border:1px solid #fc8181;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.error-state p{margin:0}.empty-state{text-align:center;color:#718096;background:#fff;border-radius:8px;padding:3rem;font-size:1.1rem;box-shadow:0 2px 8px #0000001a}.empty-state p{margin-bottom:1.5rem}.btn-secondary:hover{background:#cbd5e0;transform:translateY(-1px)}.payment-table-wrapper{box-shadow:none;scrollbar-gutter:stable;scrollbar-color:#94a3b8 #e2e8f0;scrollbar-width:thin;background:#fff;border:1px solid #e2e8f0;border-radius:6px;overflow:scroll hidden}.payment-table-wrapper::-webkit-scrollbar{height:10px}.payment-table-wrapper::-webkit-scrollbar-track{background:#e2e8f0}.payment-table-wrapper::-webkit-scrollbar-thumb{background:#94a3b8;border:2px solid #e2e8f0;border-radius:999px}.payment-table-wrapper::-webkit-scrollbar-thumb:hover{background:#64748b}.payment-table-scrollbar{display:none}.payment-table{border-collapse:collapse;table-layout:fixed;background:#fff;width:100%;min-width:960px;font-size:.88rem}.payment-table thead{background:#1e293b;border-bottom:2px solid #334155;display:table-header-group}.payment-tracking-container .payment-table thead,.payment-tracking-container .payment-table thead th{color:#fff!important;background:#1e293b!important}.payment-table th{text-align:left;color:#fff;text-transform:uppercase;letter-spacing:.35px;white-space:nowrap;background:#1e293b;border-right:1px solid #334155;padding:.5rem .4rem;font-size:.72rem;font-weight:600}.payment-table th:last-child{border-right:none}.payment-table th:first-child{width:23%}.payment-table th:nth-child(2){text-align:center;width:5%}.payment-table th:nth-child(3),.payment-table th:nth-child(4),.payment-table th:nth-child(10){width:9%}.payment-table th:nth-child(3),.payment-table th:nth-child(4){width:8%}.payment-table th:nth-child(n+5):nth-child(-n+9){text-align:right;width:7.4%}.payment-table th:nth-child(10){width:10%}.payment-table th:nth-child(11){text-align:center;width:9%}.payment-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .15s;display:table-row}.payment-table tbody tr:nth-child(2n){background-color:#f8fafc}.payment-table tbody tr:hover{background-color:#eff6ff}.payment-table tbody{display:table-row-group}.payment-table td{color:#334155;white-space:nowrap;border-right:1px solid #f1f5f9;padding:.45rem .4rem}.payment-table td:last-child{border-right:none}.payment-table td:nth-child(2),.payment-table td:nth-child(11){text-align:center}.payment-table td:nth-child(n+5):nth-child(-n+9){text-align:right}.payment-table .tenant-name-cell{justify-content:flex-start;align-items:center;gap:.5rem;min-width:0;display:flex;position:relative}.payment-table .tenant-name-text{text-overflow:ellipsis;white-space:nowrap;color:#1e293b;flex:1;min-width:0;font-weight:600;overflow:hidden}.tenant-view-btn{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:.9rem;transition:transform .15s,background .15s;display:inline-flex}.tenant-view-btn:hover{background:#dbeafe;transform:translateY(-1px)}.tenant-quick-popup{z-index:50;background:#fff;border:1px solid #dbeafe;border-radius:10px;width:min(320px,72vw);padding:.75rem;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 24px #0f172a29}.tenant-quick-popup:before{content:"";background:#fff;border-top:1px solid #dbeafe;border-left:1px solid #dbeafe;width:12px;height:12px;position:absolute;top:-7px;right:10px;transform:rotate(45deg)}.tenant-quick-popup-close{color:#64748b;cursor:pointer;background:0 0;border:none;padding:.1rem;font-size:.85rem;line-height:1;position:absolute;top:.3rem;right:.35rem}.tenant-quick-popup-loading,.tenant-quick-popup-error{color:#475569;margin:0;padding-right:1rem;font-size:.8rem}.tenant-quick-popup-error{color:#b91c1c}.tenant-quick-popup-body{flex-direction:column;gap:.38rem;padding-right:1rem;display:flex}.tenant-quick-row{grid-template-columns:62px 1fr;align-items:start;gap:.35rem;display:grid}.tenant-quick-label{text-transform:uppercase;letter-spacing:.3px;color:#64748b;font-size:.72rem;font-weight:700}.tenant-quick-value{color:#0f172a;overflow-wrap:anywhere;font-size:.82rem}.tenant-quick-address-row .tenant-quick-value{line-height:1.35}.payment-table .amount{font-variant-numeric:tabular-nums;font-family:SF Mono,Fira Mono,Courier New,monospace;font-weight:500}.eb-charge-cell{min-width:150px}.payment-table .amount.success{color:#16a34a}.payment-table .amount.pending{color:#dc2626;font-weight:700}.payment-table .amount.maroon{color:maroon;font-weight:600}.eb-table-units,.eb-table-amount{color:#dc2626;font-weight:700}.badge{text-align:center;letter-spacing:.3px;text-transform:uppercase;border-radius:3px;min-width:60px;padding:.2rem .55rem;font-size:.68rem;font-weight:700;display:inline-block}.badge-paid{color:#22543d;background:#c6f6d5}.badge-partial{color:#7c2d12;background:#feebc8}.badge-pending{color:#742a2a;background:#fed7d7}.badge-merged{color:#1d4ed8;background:#dbeafe}@media (width<=1024px){.summary-cards{grid-template-columns:repeat(2,1fr)}.month-selector{flex-direction:column;align-items:flex-start}.dropdown-container{width:100%}.payment-table{font-size:.78rem}.payment-table th,.payment-table td{padding:.45rem .55rem}}@media (width<=768px){.payment-tracking-container{padding:clamp(.75rem,3vw,1rem)}.payment-tracking-container h1{margin-bottom:1rem;font-size:clamp(1.2rem,4vw,1.5rem)}.month-selector-wrapper{flex-direction:column;gap:1rem}.month-selector,.room-filter{width:100%;min-width:unset;flex:none}.room-filter{flex-direction:column;align-items:stretch}.room-filter>div,.clear-room-filter{width:100%}.summary-cards{grid-template-columns:1fr;gap:clamp(1rem,3vw,1.5rem)}.status-summary{flex-direction:column;gap:.75rem}.status-badge{justify-content:space-between;width:100%;padding:clamp(.75rem,2vw,1rem) clamp(1rem,3vw,1.5rem);font-size:.9rem}.payment-table{table-layout:fixed;font-size:.75rem}.payment-table th,.payment-table td{padding:.4rem .45rem}.badge{min-width:52px;padding:.15rem .4rem;font-size:.65rem}.dropdown-list{max-height:200px}.dropdown-container{width:100%}}@media (width<=640px){.payment-table-wrapper{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;background:#fff;border:1px solid #e2e8f0;width:100%;overflow:auto hidden}.payment-table-scrollbar{scrollbar-color:#64748b #e2e8f0;scrollbar-width:auto;width:100%;height:18px;margin-top:.35rem;display:block;overflow:scroll hidden}.payment-table-scrollbar-content{width:1080px;height:1px}.payment-table-scrollbar::-webkit-scrollbar{height:12px}.payment-table-scrollbar::-webkit-scrollbar-track{background:#e2e8f0;border-radius:999px}.payment-table-scrollbar::-webkit-scrollbar-thumb{background:#64748b;border:2px solid #e2e8f0;border-radius:999px}.payment-table{table-layout:fixed;background:#fff;width:100%;min-width:1080px;display:table}.payment-table thead{display:table-header-group}.payment-table tbody{display:table-row-group}.payment-table tbody tr{display:table-row}.payment-table tbody tr:hover{background-color:#eff6ff}.payment-table td{white-space:nowrap;border-right:1px solid #f1f5f9;padding:.45rem .55rem;display:table-cell}.payment-table td:last-child{border-right:none}.payment-table .tenant-name-cell{display:flex}.payment-table .eb-charge-content{justify-content:space-between}}@media (width<=480px){.payment-tracking-container{padding:.5rem}.payment-tracking-container h1{margin-bottom:.5rem;font-size:1.1rem}.summary-cards{gap:.5rem}.summary-label{font-size:.7rem}.summary-value{font-size:1rem}.status-badge{padding:.4rem .6rem;font-size:.75rem}.payment-table tbody tr{border-radius:5px;margin-bottom:.5rem;padding:.5rem}.payment-table td{padding:.35rem 0;font-size:.8rem}.payment-table td:before{min-width:85px;margin-right:.5rem;font-size:.7rem}.badge{padding:.2rem .3rem;font-size:.65rem}.month-selector{padding:1rem .5rem}.month-selector label{font-size:.8rem}.dropdown-container{width:100%}}.rental-collection-details{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);max-width:1400px;min-height:100vh;margin:0 auto;padding:24px}.rental-collection-tabs{border-bottom:1px solid #cbd5e1;gap:8px;margin:0 0 24px;display:flex}.rental-collection-tab{color:#475569;cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 16px;font-weight:600}.rental-collection-tab:hover,.rental-collection-tab.active{color:#1d4ed8}.rental-collection-tab.active{border-bottom-color:#2563eb}.error-alert{color:#c53030;background-color:#fed7d7;border-left:4px solid #c53030;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;display:flex}.error-alert button{cursor:pointer;color:#c53030;background:0 0;border:none;font-size:20px}.selector-card,.current-month-status-card{background:#fff;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 2px 8px #0000001a}.current-month-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.current-month-header h3{color:#1a202c;margin:0 0 6px;font-size:20px}.current-month-header p{color:#718096;margin:0;font-size:14px}.current-month-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.current-month-summary-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.current-month-summary-item span{color:#718096;text-transform:uppercase;font-size:12px;font-weight:600}.current-month-summary-item strong{color:#1a202c;font-size:22px}.current-month-summary-item.highlight-received{background:#f0fff4;border-color:#9ae6b4}.current-month-summary-item.highlight-received strong{color:#276749}.current-month-summary-item.highlight-charges{background:#fffbeb;border-color:#f6e05e}.current-month-summary-item.highlight-charges strong{color:#744210}.current-month-summary-item.highlight-pending-balance{background:#fff5f5;border-color:#feb2b2}.current-month-summary-item.highlight-pending-balance strong{color:#c53030}.rental-date-filter-bar{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;padding:12px 0 16px;display:flex}.rental-date-filter-group{flex-direction:column;gap:4px;display:flex}.rental-date-filter-group label{color:#718096;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.rental-date-filter-group input[type=month],.rental-date-filter-group select{color:#1a202c;background:#f7fafc;border:1px solid #cbd5e0;border-radius:6px;outline:none;padding:6px 10px;font-size:14px;transition:border-color .15s}.rental-date-filter-group input[type=month]:focus,.rental-date-filter-group select:focus{background:#fff;border-color:#4299e1}.rental-reset-filter-btn{color:#4a5568;cursor:pointer;white-space:nowrap;background:#edf2f7;border:1px solid #cbd5e0;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s}.rental-reset-filter-btn:hover{color:#1a202c;background:#e2e8f0}.current-month-error{color:#c53030;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;margin-bottom:12px;padding:10px 12px}.current-month-table-wrapper{scrollbar-gutter:stable;scrollbar-color:#94a3b8 #e2e8f0;scrollbar-width:thin;margin-top:8px;overflow:scroll hidden}.current-month-table-wrapper::-webkit-scrollbar{height:10px}.current-month-table-wrapper::-webkit-scrollbar-track{background:#e2e8f0}.current-month-table-wrapper::-webkit-scrollbar-thumb{background:#94a3b8;border:2px solid #e2e8f0;border-radius:999px}.current-month-table-wrapper::-webkit-scrollbar-thumb:hover{background:#64748b}.current-month-table.compact-grid{min-width:1040px;font-size:12.5px}.current-month-table thead{background:linear-gradient(135deg,#1e3a5f 0%,#284b74 100%)}.current-month-table.compact-grid th,.current-month-table.compact-grid td{white-space:nowrap;padding:7px 8px}.current-month-table.compact-grid th:first-child,.current-month-table.compact-grid td:first-child{text-overflow:ellipsis;width:30%;min-width:220px;max-width:420px;overflow:hidden}.current-month-table.compact-grid th{letter-spacing:.3px;text-transform:uppercase;color:#e2e8f0;border-bottom:none;font-size:11px}.current-month-table td{vertical-align:middle}.current-month-table.compact-grid td:nth-child(2){white-space:nowrap;text-overflow:ellipsis;width:64px;min-width:64px;max-width:80px;overflow:hidden}.current-month-table.compact-grid th:last-child,.current-month-table.compact-grid td:last-child{white-space:normal;width:116px;min-width:116px;max-width:116px;padding-left:4px;padding-right:4px}.view-income-transactions-btn,.income-transactions-close{color:currentColor;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.view-income-transactions-btn{border-radius:6px;width:30px;height:30px;margin-left:4px}.view-income-transactions-btn:hover,.view-income-transactions-btn:focus-visible{background:#dcfce7}.view-income-transactions-btn svg,.income-transactions-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}@media (width>=1280px){.current-month-table.compact-grid th:first-child,.current-month-table.compact-grid td:first-child{min-width:320px;max-width:560px}}.last-proof-link{cursor:pointer;background:#f8fafc;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:inline-flex;overflow:hidden}.last-proof-link:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea40}.last-proof-thumb{object-fit:cover;width:100%;height:100%;display:block}.payment-status-badge{text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.payment-status-badge.paid{color:#22543d;background:#c6f6d5}.payment-status-badge.partial{color:#744210;background:#fefcbf}.payment-status-badge.pending{color:#742a2a;background:#fed7d7}.payment-status-badge.merged{color:#1d4ed8;background:#dbeafe}.status-summary{flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;display:flex}.status-badge{cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #0000;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-weight:600;transition:all .2s;display:flex}.status-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.status-badge.paid{color:#22543d;background:#c6f6d5}.status-badge.paid.active{border-color:#22543d;box-shadow:0 0 0 4px #22543d1a}.status-badge.partial{color:#7c2d12;background:#feebc8}.status-badge.partial.active{border-color:#7c2d12;box-shadow:0 0 0 4px #7c2d121a}.status-badge.pending.active{border-color:#742a2a;box-shadow:0 0 0 4px #742a2a1a}.status-badge.merged{color:#1d4ed8;background:#dbeafe}.status-badge.merged.active{border-color:#1d4ed8;box-shadow:0 0 0 4px #1d4ed81a}.status-badge.approved{color:#166534;background:#ecfdf3}.status-badge.approved.active{border-color:#166534;box-shadow:0 0 0 4px #16653426}.status-badge.rejected{color:#b91c1c;background:#fef2f2}.status-badge.rejected.active{border-color:#b91c1c;box-shadow:0 0 0 4px #b91c1c26}.status-label{font-size:.95rem}.status-count{background:#fff9;border-radius:4px;padding:.25rem .75rem;font-size:1rem}.empty-state.compact{padding:16px 12px}.review-cell{vertical-align:top}.tenant-review-panel{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:1px solid #dbe5f0;border-radius:10px;flex-direction:column;gap:0;min-width:108px;padding:5px;display:flex;position:relative}.tenant-review-topline{justify-content:space-between;align-items:center;gap:4px;display:flex}.review-comment-eye-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.review-comment-eye-btn:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.review-eye-svg{width:17px;height:17px;display:block}.review-comment-popup{z-index:5;background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:min(250px,100vw - 36px);padding:8px;position:absolute;top:38px;right:6px;box-shadow:0 12px 28px #0f172a2e}.review-comment-popup-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.review-comment-popup-header span{color:#64748b;text-transform:uppercase;letter-spacing:.25px;font-size:10px;font-weight:700}.review-comment-popup-close{color:#334155;cursor:pointer;background:#f1f5f9;border:none;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;display:inline-flex}.review-comment-popup-close:hover{background:#e2e8f0}.review-comment-popup p{color:#334155;white-space:normal;overflow-wrap:anywhere;max-height:120px;margin:0;font-size:13px;line-height:1.4;overflow-y:auto}.review-panel-body{border-top:1px solid #dbe5f0;flex-direction:column;gap:6px;margin-top:6px;padding-top:6px;display:flex}.tenant-review-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.review-status-trigger{color:#334155;letter-spacing:.2px;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:4px;padding:3px 6px;font-size:10px;font-weight:700;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.review-status-trigger:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd;box-shadow:0 6px 14px #2563eb1f}.review-status-trigger:disabled,.review-icon-button:disabled,.review-comment-input:disabled{opacity:.65;cursor:not-allowed}.review-status-trigger.approved{color:#166534;background:#ecfdf3;border-color:#86efac}.review-status-trigger.rejected{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.review-status-trigger.unreviewed{color:#64748b}.review-icon-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:5px 4px;font-size:11px;font-weight:700;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s;display:inline-flex}.review-icon-button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.review-icon-button.approve.active{color:#166534;background:#ecfdf3;border-color:#86efac}.review-icon-button.reject.active{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.review-icon{border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:15px;font-weight:800;display:inline-flex}.review-icon-button.approve .review-icon{color:#15803d;background:#dcfce7}.review-icon-button.reject .review-icon{color:#dc2626;background:#fee2e2}.review-comment-label{letter-spacing:.25px;color:#64748b;text-transform:uppercase;font-size:10px;font-weight:700}.review-comment-summary{color:#475569;background:#ffffffe6;border:1px solid #e2e8f0;border-radius:8px;padding:6px 8px;font-size:12px;line-height:1.3}.review-comment-summary.collapsed{margin-top:6px}.review-comment-input{resize:vertical;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;min-height:56px;padding:7px 8px;font-family:inherit;font-size:12px;line-height:1.35;transition:border-color .15s,box-shadow .15s}.review-comment-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e51f}.review-comment-footer{color:#64748b;justify-content:flex-end;align-items:center;gap:6px;font-size:11px;display:flex}.review-meta-text{color:#475569;margin-right:auto}.review-status-text{align-items:center;gap:6px;font-weight:700;display:inline-flex}.review-status-caret{font-size:11px;line-height:1;transition:transform .15s}.review-status-caret.expanded{transform:rotate(180deg)}.review-status-icon{border:2px solid;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;font-weight:900;display:inline-flex;position:relative}.review-status-icon.approved{color:#15803d;background:#dcfce7;border-color:#16a34a}.review-status-icon.rejected{color:#dc2626;background:#fee2e2;border-color:#dc2626}.review-status-icon:before{content:"";background:currentColor;border-radius:999px;width:2px;height:6px;position:absolute;top:3px;left:7px}.review-status-icon:after{content:"";transform-origin:0;background:currentColor;border-radius:999px;width:5px;height:2px;position:absolute;top:8px;left:8px;transform:rotate(35deg)}.review-status-icon.approved:before,.review-status-icon.approved:after,.review-status-icon.rejected:before,.review-status-icon.rejected:after{content:none}.review-status-text.approved{color:#166534}.review-status-text.rejected{color:#b91c1c}.review-status-text.unreviewed{color:#64748b}.selector-wrapper{flex-direction:column;gap:8px;display:flex}.selector-label{color:#2d3748;font-size:14px;font-weight:600}.occupancy-info-card{background:#fff;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 2px 8px #0000001a}.info-header{border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.info-header h2{color:#1a202c;margin:0;font-size:22px;font-weight:700}.room-badge{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;padding:6px 14px;font-size:13px;font-weight:600}.info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.info-item{background:#f7fafc;border-left:4px solid #667eea;border-radius:8px;padding:12px}.info-item label{color:#718096;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.info-item p{color:#2d3748;margin:0;font-size:16px;font-weight:600}.info-item .amount{color:#2d3748;font-size:18px;font-weight:700}.summary-cards-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px;display:grid}.summary-card{background:#fff;border-top:4px solid #667eea;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.summary-card:nth-child(2){border-top-color:#f6ad55}.summary-card:nth-child(3){border-top-color:#fc8181}.card-label{color:#718096;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:600}.card-value{color:#1a202c;margin-bottom:6px;font-size:28px;font-weight:700}.card-value.received{color:#22863a}.card-value.charges{color:#f6ad55}.card-value.balance{color:#c53030}.card-subtext{color:#a0aec0;font-size:12px}.payment-form-card{background:#fff;border:2px solid #667eea;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 2px 8px #0000001a}.payment-form-card h3{color:#1a202c;margin:0 0 20px;font-size:18px;font-weight:700}.payment-form{flex-direction:column;gap:20px;display:flex}.form-group label{color:#2d3748;font-size:14px;font-weight:600}.file-input-wrapper{position:relative}.file-input-wrapper input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute}.file-label{cursor:pointer;background:#f7fafc;border:2px dashed #cbd5e0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:32px 16px;transition:all .2s;display:flex}.file-input-wrapper input[type=file]:hover+.file-label{background:#edf2f7;border-color:#667eea}.file-name{color:#22863a;margin-bottom:4px;font-weight:600}.file-label span:not(.upload-icon):not(.file-name){color:#4a5568;font-size:14px}.file-hint{color:#a0aec0;margin-top:4px;font-size:12px}.preview-container{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:16px;padding:12px;overflow:hidden}.preview-label{color:#718096;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:12px;font-weight:600}.preview-image{object-fit:cover;border:1px solid #cbd5e0;border-radius:4px;width:100%;max-width:100%;max-height:400px}.progress-section{margin-top:12px}.progress-bar{background:#e2e8f0;border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);height:100%;transition:width .3s}.progress-text{color:#718096;margin-top:6px;font-size:12px}.form-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;padding-top:12px;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #48bb7866}.payment-history-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.payment-history-section h3{color:#1a202c;margin:0 0 20px;font-size:18px;font-weight:700}.payment-records-container{grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:20px;display:grid}.payment-record-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px;transition:all .2s}.payment-record-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a}.payment-record-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:16px;padding-bottom:12px;display:flex}.payment-record-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.payment-record-edit-btn,.payment-record-delete-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex-shrink:0;align-items:center;gap:.3rem;min-height:36px;padding:.5rem .8rem;font-size:.85rem;font-weight:600;transition:all .3s;display:inline-flex}.payment-record-edit-btn{color:#fff;background:#667eea}.payment-record-edit-btn:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.payment-record-edit-btn:active{transform:translateY(0)}.payment-record-delete-btn{color:#fff;background:#e53e3e}.payment-record-delete-btn:hover{background:#c53030;transform:translateY(-2px);box-shadow:0 4px 12px #e53e3e59}.payment-record-delete-btn:active{transform:translateY(0)}.payment-date{flex-direction:column;gap:4px;display:flex}.payment-date .label{color:#718096;text-transform:uppercase;font-size:11px;font-weight:600}.payment-date .value{color:#2d3748;font-size:16px;font-weight:700}.payment-mode{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.payment-mode .label{color:#718096;text-transform:uppercase;font-size:11px;font-weight:600}.payment-record-details{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px;display:grid}.detail-item{background:#fff;border-left:3px solid #667eea;border-radius:6px;flex-direction:column;gap:4px;padding:10px;display:flex}.detail-item .label{color:#718096;text-transform:uppercase;font-size:11px;font-weight:600}.detail-item .value{color:#2d3748;font-size:16px;font-weight:700}.detail-item .value.received{color:#22863a}.detail-item .value.balance{color:#c53030}.payment-screenshot{border-top:1px solid #e2e8f0;padding-top:16px}.screenshot-label{color:#718096;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.screenshot-link{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0;transition:transform .2s,box-shadow .2s;display:inline-block;overflow:hidden}.screenshot-link:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.screenshot-thumbnail{cursor:pointer;border:2px solid #e2e8f0;border-radius:8px;max-width:100%;height:auto;max-height:250px;transition:border-color .2s;display:block}.screenshot-thumbnail:hover{border-color:#667eea}.proof-preview-overlay{z-index:10001;background:#0f172ab3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.proof-preview-modal{background:#fff;border-radius:14px;justify-content:center;align-items:center;width:min(420px,100%);max-height:80vh;padding:.75rem;display:flex;position:relative;box-shadow:0 24px 60px #0f172a4d}.proof-preview-close{color:#fff;cursor:pointer;background:#0f172ab3;border:none;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex;position:absolute;top:.5rem;right:.5rem}.proof-preview-image{object-fit:contain;border-radius:10px;width:100%;max-width:100%;max-height:calc(80vh - 1.5rem);display:block}.table-wrapper{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.payment-table{border-collapse:collapse;width:100%;font-size:14px}.payment-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.payment-table th{text-align:left;color:#2d3748;white-space:nowrap;padding:12px 16px;font-weight:700}.payment-table th.amount{text-align:right}.payment-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.payment-table tbody tr:hover{background:#f7fafc}.payment-table td{color:#4a5568;padding:14px 16px}.payment-table td.amount{text-align:right;color:#2d3748;font-weight:600}.payment-table td.amount.received{color:#22863a}.payment-table td.amount.balance{color:#c53030}.payment-table td.amount.balance.pending,.payment-table td.amount.pending{color:#dc2626;font-weight:700}.payment-table td.amount.balance.success,.payment-table td.amount.success{color:#16a34a;font-weight:600}.payment-table td.date{color:#2d3748;font-weight:600}.payment-table td.mode{text-align:center}.badge-mode{text-transform:capitalize;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.badge-mode.gray{color:#718096;background:#e2e8f0}.payment-table td.proof{text-align:center}.proof-cell-content{justify-content:center;align-items:center;gap:8px;min-height:44px;display:flex}.payment-mode-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:inline-flex;overflow:hidden}.payment-mode-icon img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.payment-mode-icon.money,.payment-mode-icon.gpay,.payment-mode-icon.checkout{box-shadow:none;background:0 0}.payment-mode-icon.money img,.payment-mode-icon.gpay img,.payment-mode-icon.checkout img{border-radius:50%}.payment-mode-icon.other{color:#4338ca;letter-spacing:.02em;background:#eef2ff;border-radius:999px;width:auto;min-width:26px;padding:0 8px;font-size:10px}.payment-mode-icon.placeholder{color:#64748b;background:#e2e8f0}.tenant-name-with-info{align-items:center;gap:6px;display:inline-flex}.tenant-info-button{color:#1d4ed8;cursor:pointer;background:#dbeafe;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:11px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 3px #3b82f633}.tenant-info-button:hover{background:#bfdbfe}.tenant-info-popover-overlay{z-index:2200;position:fixed;inset:0}.tenant-info-popover{background:#fff;border:1px solid #dbeafe;border-radius:12px;width:min(260px,100vw - 24px);position:fixed;overflow:hidden;box-shadow:0 18px 40px #0f172a2e}.tenant-info-popover-header{color:#1e3a8a;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-bottom:1px solid #bfdbfe;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.tenant-info-popover-close{color:#1d4ed8;cursor:pointer;background:#dbeafe;border:none;border-radius:50%;width:20px;height:20px;font-size:11px;line-height:1}.tenant-info-popover-body{gap:8px;padding:10px 12px 12px;display:grid}.tenant-info-row{justify-content:space-between;align-items:center;gap:10px;font-size:12px;line-height:1.4;display:flex}.tenant-info-label{color:#475569;font-weight:600}.tenant-info-value{color:#0f172a;text-align:right;word-break:break-word}.proof-link{color:#667eea;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.proof-link:hover{color:#764ba2;background:#edf2f7}.no-proof{color:#cbd5e0;font-weight:600}.loading-state{flex-direction:column;justify-content:center;align-items:center;padding:80px 24px;display:flex}.income-transactions-overlay{z-index:10001;background:#0f172aa6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.income-transactions-modal{background:#f8fafc;border-radius:8px;width:min(1400px,100%);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 24px 60px #0f172a59}.income-transactions-header{z-index:1;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.income-transactions-header h2{color:#1e293b;margin:0;font-size:1.1rem}.income-transactions-close{color:#475569;border-radius:6px;width:36px;height:36px}.income-transactions-close:hover,.income-transactions-close:focus-visible{background:#e2e8f0}.edit-payment-modal-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:flex-start;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.edit-payment-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:calc(100vh - 2rem);margin:auto;padding:2rem;animation:.3s ease-out modal-slide-in;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-close-btn{color:#2d3748;cursor:pointer;z-index:10;background:#e2e8f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;transition:all .3s;display:flex;position:absolute;top:1rem;right:1rem}.modal-close-btn:hover{background:#cbd5e0;transform:rotate(90deg)}.edit-payment-modal h2{color:#1a202c;margin:0 0 .5rem;padding-right:2rem;font-size:1.5rem}.edit-payment-modal .modal-subtitle{color:#718096;margin:0 0 1.5rem;font-size:.95rem}.edit-form-container{grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.edit-form-group{margin-bottom:1.5rem}.edit-form-group label{color:#2d3748;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.edit-form-group input,.edit-form-group select{box-sizing:border-box;color:#2d3748;border:2px solid #e2e8f0;border-radius:8px;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .3s}.edit-form-group input:focus,.edit-form-group select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.edit-form-group input:disabled{color:#718096;cursor:not-allowed;background-color:#f7fafc;border-color:#cbd5e0}.edit-form-group input:disabled:focus{box-shadow:none;border-color:#cbd5e0}.field-note{color:#718096;margin-top:.25rem;font-size:.875rem;display:block}.edit-form-group.full-width{grid-column:1/-1}.file-input-wrapper{margin-bottom:1rem;position:relative}.file-input-wrapper input[type=file]{opacity:0;cursor:pointer;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.file-label{cursor:pointer;text-align:center;background:#f7fafc;border:2px dashed #e2e8f0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:2rem 1.5rem;transition:all .3s;display:flex}.file-label span:first-child{color:#2d3748;font-size:1rem;font-weight:600;display:block}.file-label small{color:#a0aec0;margin-top:.5rem;font-size:.85rem;display:block}.file-input-wrapper:hover .file-label{color:#667eea;background:#f0f4ff;border-color:#667eea}.file-preview{text-align:center;width:100%;margin-top:1rem;display:inline-block;position:relative}.file-preview img{border-radius:8px;max-width:100%;max-height:300px;box-shadow:0 4px 12px #0000001a}.remove-preview-btn{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;transition:all .3s;display:flex;position:absolute;top:8px;right:8px}.remove-preview-btn:hover{background:#000c}.edit-modal-buttons{background:#fff;border-top:1px solid #e2e8f0;gap:1rem;margin:2rem -2rem -2rem;padding:1.5rem 2rem;display:flex;position:sticky;bottom:-2rem;left:-2rem;right:-2rem}.edit-save-btn,.edit-cancel-btn{cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.875rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s;display:flex}.edit-save-btn{color:#fff;background:#48bb78}.edit-save-btn:hover:not(:disabled){background:#38a169;transform:translateY(-2px);box-shadow:0 4px 12px #48bb7866}.edit-cancel-btn{color:#2d3748;background:#e2e8f0}.edit-cancel-btn:hover:not(:disabled){background:#cbd5e0;transform:translateY(-2px)}.edit-save-btn:active:not(:disabled),.edit-cancel-btn:active:not(:disabled){transform:translateY(0)}.edit-save-btn:disabled,.edit-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.current-image-section{text-align:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.current-image-section h3{color:#2d3748;text-transform:uppercase;letter-spacing:.5px;margin:0 0 1rem;font-size:1rem;font-weight:600}.current-image{border-radius:8px;max-width:100%;max-height:300px;margin-bottom:1rem;box-shadow:0 4px 12px #0000001a}.image-note{color:#718096;margin:0;font-size:.85rem;font-style:italic}@media (width<=768px){.edit-payment-modal{max-width:100%;max-height:calc(100vh - 2rem);margin:1rem auto;padding:1.5rem}.edit-payment-modal h2{font-size:1.25rem}.edit-form-container{gap:1rem}.edit-form-group input,.edit-form-group select{padding:.75rem .875rem;font-size:16px}.edit-modal-buttons{gap:.75rem;margin-bottom:-1.5rem;margin-left:-1.5rem;margin-right:-1.5rem;padding:1rem 1.5rem;bottom:-1.5rem;left:-1.5rem;right:-1.5rem}.edit-save-btn,.edit-cancel-btn{min-height:40px;padding:.75rem 1rem;font-size:.9rem}.current-image{max-height:250px}}@media (width<=480px){.edit-payment-modal-overlay{padding:.5rem}.edit-payment-modal{margin:.5rem auto;padding:1rem}.modal-close-btn{width:36px;height:36px;font-size:1.25rem}.edit-payment-modal h2{margin-top:.5rem;padding-right:2.5rem;font-size:1.1rem}.edit-form-container{gap:.75rem}.edit-form-group label{font-size:.9rem}.edit-form-group input,.edit-form-group select{padding:.625rem .75rem;font-size:16px}.edit-modal-buttons{flex-direction:column;gap:.5rem;margin:0;padding:1rem;bottom:-1rem;left:-1rem;right:-1rem}.edit-save-btn,.edit-cancel-btn{width:100%;padding:.75rem;font-size:.9rem}.file-label{padding:1.5rem 1rem}.current-image{max-height:200px}.file-preview{max-height:300px;overflow-y:auto}}.loading-state p{color:#718096;margin:0;font-size:14px}@media (width<=768px){.rental-collection-details{padding:16px}.current-month-header{flex-direction:column;align-items:stretch}.current-month-header .btn{width:100%}.current-month-table.compact-grid th,.current-month-table.compact-grid td{padding:7px 8px;font-size:12px}.current-month-table.compact-grid td:nth-child(2){min-width:220px;max-width:320px}.current-month-table.compact-grid th:last-child,.current-month-table.compact-grid td:last-child{min-width:180px}.tenant-review-panel{min-width:170px}.tenant-review-topline{align-items:flex-start}.last-proof-link{width:36px;height:36px}.proof-preview-modal{width:min(360px,100%)}.header-section h1{font-size:22px}.info-grid,.summary-cards-grid,.form-row{grid-template-columns:1fr}.info-header{flex-direction:column;align-items:flex-start;gap:12px}.payment-table{font-size:12px}.payment-table th,.payment-table td{padding:8px}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.payment-form-card{padding:16px}.card-value{font-size:20px}.payment-records-container,.payment-record-details{grid-template-columns:1fr}.screenshot-thumbnail{max-height:200px}}@media (width<=480px){.rental-collection-details{padding:12px}.header-section h1{font-size:18px}.summary-cards-grid{gap:12px}.summary-card{padding:16px}.card-value{font-size:18px}.payment-table th{padding:6px;font-size:11px}.payment-table td{padding:6px}.payment-table{font-size:10px}.tenant-review-actions{grid-template-columns:1fr}.review-comment-footer{flex-direction:column;align-items:flex-start}.current-month-table.compact-grid td:nth-child(2){min-width:180px;max-width:240px}.payment-records-container{grid-template-columns:1fr}.payment-record-header{flex-direction:column;align-items:flex-start;gap:8px}.payment-record-details{grid-template-columns:1fr}.screenshot-thumbnail{max-height:150px}.proof-preview-overlay{padding:.75rem}.proof-preview-modal{width:100%;padding:.5rem}.proof-preview-close{width:32px;height:32px;top:.35rem;right:.35rem}.detail-item{padding:8px}.detail-item .value{font-size:14px}}.current-month-summary-item.highlight-eb{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-left:4px solid #f59e0b}.current-month-summary-item.highlight-eb .card-value{color:#b45309}.shop-row{border-left:3px solid #f59e0b;background-color:#fef3c7!important}.shop-cell{color:#92400e;background-color:#fde68a;border-radius:4px}.eb-charge-content{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.eb-charge-icon{color:#1d4ed8;cursor:pointer;background:linear-gradient(135deg,#dbeafe 0%,#93c5fd 100%);border:none;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.9rem;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 8px #3b82f633}.eb-charge-icon:hover{transform:translateY(-1px)scale(1.04);box-shadow:0 6px 14px #3b82f640}.eb-charge-icon:active{transform:translateY(0)}.eb-details-overlay{z-index:2000;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.eb-details-popup{background:#fff;border:1px solid #dbeafe;border-radius:12px;width:min(440px,92vw);overflow:hidden;box-shadow:0 20px 40px #0f172a33}.eb-details-header{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-bottom:1px solid #bfdbfe;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.eb-details-header h3{color:#1e3a8a;margin:0;font-size:1rem}.eb-details-header p{color:#475569;margin:.2rem 0 0;font-size:.8rem}.eb-details-close{color:#1d4ed8;cursor:pointer;background:#dbeafe;border:none;border-radius:999px;width:28px;height:28px;font-size:1rem;line-height:1}.eb-details-loading,.eb-details-empty{color:#475569;padding:1.2rem;font-size:.9rem}.eb-details-table-wrap{max-height:420px;padding:.8rem;overflow:auto}.eb-details-table{border-collapse:collapse;background:#fff;width:100%;font-size:.8rem}.eb-details-table th,.eb-details-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e8f0;padding:.6rem .5rem}.eb-details-table th{color:#1d4ed8;z-index:1;background:#eff6ff;font-weight:700;position:sticky;top:0}.eb-table-service{color:#0f172a;font-weight:600}.eb-table-units,.eb-table-amount{color:#dc2626;font-weight:700}.eb-charges{color:#d97706;background-color:#fff7ed;font-weight:600}.current-month-table tbody tr:hover{background-color:#f9fafb}.shop-row:hover{background-color:#fed7aa!important}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:0;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{width:100%;height:100%;max-height:100vh;box-shadow:none;background:#fff;border-radius:0;animation:.3s ease-out slideUp;overflow-y:auto}.modal-large{width:100%;max-width:100%}.modal-header{z-index:10;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex;position:sticky;top:0}.modal-header h2{color:#1e293b;margin:0;font-size:1.5rem;font-weight:700}.btn-close{cursor:pointer;color:#a0aec0;background:0 0;border:none;padding:0;font-size:1.5rem;transition:color .2s}.btn-close:hover:not(:disabled){color:#4a5568}.btn-close:disabled{opacity:.5;cursor:not-allowed}.tenant-form{max-width:1000px;margin:0 auto;padding:1.5rem}.form-error{color:#742a2a;background:#fed7d7;border-left:4px solid #cb2431;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.existing-files-notice{color:#1e40af;background:#dbeafe;border-left:4px solid #3b82f6;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.existing-files-notice p{margin:0}.form-section{margin-bottom:2rem}.form-section h3{color:#2d3748;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0;margin-bottom:1.25rem;padding-bottom:.75rem;font-size:.95rem;font-weight:600}.photo-section{margin-bottom:2.5rem}.photo-section>label{color:#2d3748;margin-bottom:1rem;font-weight:600;display:block}.photo-upload-area{position:relative}.photo-placeholder{text-align:center;cursor:pointer;background:#f7fafc;border:2px dashed #cbd5e0;border-radius:8px;padding:2rem;transition:all .2s}.photo-placeholder:hover{background:#edf2f7;border-color:#4299e1}.photo-placeholder:focus{outline:none}.upload-icon{margin-bottom:.5rem;font-size:2.5rem}.photo-placeholder p{color:#2d3748;margin:.5rem 0;font-weight:600}.upload-hint{color:#718096;margin-top:.5rem;font-size:.85rem;display:block}.photo-input{display:none}.photo-preview{background:#e2e8f0;border-radius:8px;position:relative;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:auto;max-height:300px;display:block}.btn-remove-photo{color:#fff;cursor:pointer;background:#fc8181;border:none;border-top:1px solid #f56565;width:100%;padding:.75rem;font-weight:600;transition:all .2s}.btn-remove-photo:hover:not(:disabled){background:#f56565}.btn-remove-photo:disabled{opacity:.6;cursor:not-allowed}.form-group label{color:#2d3748;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.form-group input,.form-group textarea{background:#fff;border:2px solid #e2e8f0;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus{border-color:#4299e1;outline:none;box-shadow:0 0 0 3px #4299e11a}.form-group input:disabled,.form-group textarea:disabled{color:#a0aec0;cursor:not-allowed;background:#f7fafc}.field-hint{color:#718096;margin-top:.25rem;margin-bottom:0;font-size:.85rem;font-weight:400}.input-error{background:#fff5f5!important;border-color:#f56565!important}.input-error:focus{border-color:#f56565!important;box-shadow:0 0 0 3px #f565651a!important}.input-success{background:#f0fff4!important;border-color:#48bb78!important}.input-success:focus{border-color:#48bb78!important;box-shadow:0 0 0 3px #48bb781a!important}.validation-loading{color:#4299e1;margin-left:.5rem;font-size:1.1rem;animation:1s linear infinite spin;display:inline-block}.validation-success{color:#48bb78;margin-left:.5rem;font-weight:700}.validation-error-message{color:#f56565;align-items:center;margin-top:.375rem;font-size:.875rem;display:flex}.validation-checking-message{color:#4299e1;align-items:center;margin-top:.375rem;font-size:.875rem;display:flex}.validation-success-message{color:#48bb78;align-items:center;margin-top:.375rem;font-size:.875rem;display:flex}.city-autocomplete-container{position:relative}.city-suggestions{z-index:100;background:#fff;border:2px solid #4299e1;border-top:none;border-radius:0 0 6px 6px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.city-suggestion-item{cursor:pointer;border-bottom:1px solid #e2e8f0;padding:.75rem;transition:background-color .2s}.city-suggestion-item:last-child{border-bottom:none}.city-suggestion-item:hover{background-color:#edf2f7}.city-suggestion-item:active{background-color:#cbd5e0}.section-header h3{margin:0}.count-badge{color:#2d3748;background:#edf2f7;border-radius:20px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.file-upload-area{margin-bottom:1.5rem;position:relative}.upload-placeholder{cursor:pointer;text-align:center;background:#f7fafc;border:2px dashed #cbd5e0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:2rem;transition:all .2s;display:flex}.upload-placeholder:hover{background:#ebf8ff;border-color:#4299e1}.upload-placeholder:focus{outline:none}.file-input{display:none}.file-gallery{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.gallery-item{background:#fff;border:2px solid #e2e8f0;border-radius:8px;transition:all .2s;position:relative;overflow:hidden}.gallery-item:hover{border-color:#4299e1;box-shadow:0 2px 8px #4299e11a}.gallery-item img{object-fit:cover;width:100%;height:100px;display:block}.file-name{color:#718096;white-space:nowrap;text-overflow:ellipsis;background:#f7fafc;border-top:1px solid #e2e8f0;padding:.5rem;font-size:.75rem;overflow:hidden}.btn-remove-file{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1rem;transition:all .2s;display:none;position:absolute;top:4px;right:4px}.gallery-item:hover .btn-remove-file{display:flex}.upload-progress{z-index:8;background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 100%);border:2px solid #86efac;border-radius:8px;margin-bottom:2rem;padding:1.5rem;position:sticky;top:80px;box-shadow:0 4px 12px #22c55e26}.progress-bar{background:#dbeafe;border-radius:8px;width:100%;height:16px;margin-bottom:1rem;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.progress-fill{background:linear-gradient(90deg,#3b82f6 0%,#06b6d4 100%);border-radius:8px;height:100%;transition:width .3s;position:relative;overflow:hidden;box-shadow:0 0 8px #3b82f699}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);animation:2s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{color:#0369a1;justify-content:space-between;align-items:center;font-size:.95rem;font-weight:600;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-actions{z-index:9;background:#fff;border-top:1px solid #e2e8f0;gap:1rem;margin-top:2rem;padding:1.5rem;display:flex;position:sticky;bottom:0}.form-actions button{cursor:pointer;border:none;border-radius:6px;flex:1;padding:.75rem;font-size:1rem;font-weight:600;transition:all .2s}.form-actions .btn-primary{color:#fff;background:#4299e1;flex:1}.form-actions .btn-primary:hover:not(:disabled){background:#3182ce;transform:translateY(-2px);box-shadow:0 4px 12px #4299e166}.form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-actions .btn-secondary{color:#2d3748;background:#e2e8f0;flex:1}.form-actions .btn-secondary:hover:not(:disabled){background:#cbd5e0;transform:translateY(-2px)}.form-actions .btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.modal-overlay{padding:0}.modal-content{border-radius:0;width:100%;height:100%;max-height:100vh}.modal-header{padding:clamp(1rem,2vw,1.5rem)}.modal-header h2{font-size:clamp(1.2rem,3vw,1.5rem)}.tenant-form{padding:clamp(1rem,2vw,1.5rem)}.form-row{grid-template-columns:1fr;gap:clamp(.75rem,2vw,1rem)}.form-group input,.form-group textarea,.form-group select{padding:clamp(.6rem,2vw,.75rem);font-size:16px}.form-actions{flex-direction:column;gap:clamp(.5rem,1vw,1rem)}.form-actions button{min-height:44px;font-size:clamp(.85rem,2vw,1rem)}.photo-placeholder{padding:clamp(1rem,3vw,1.5rem)}.upload-icon{font-size:clamp(1.5rem,3vw,2rem)}.upload-progress{margin-bottom:clamp(1rem,2vw,2rem);padding:clamp(1rem,2vw,1.5rem);top:70px}.progress-bar{height:14px}.progress-text{font-size:clamp(.85rem,2vw,.95rem)}.photo-name{font-size:clamp(.85rem,1.5vw,1rem)}}@media (width<=600px){.modal-overlay{padding:clamp(.25rem,1vw,.5rem)}.modal-content{border-radius:12px 12px 0 0;max-width:100%;max-height:100vh}.modal-header{padding:clamp(.75rem,2vw,1rem)}.modal-header h2{font-size:clamp(1rem,2.5vw,1.25rem)}.btn-close{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.25rem;font-size:1.25rem;display:flex}.tenant-form{padding:clamp(.75rem,1.5vw,1rem)}.form-group{margin-bottom:clamp(1rem,2vw,1.5rem)}.form-group label{margin-bottom:clamp(.4rem,1vw,.75rem);font-size:clamp(.85rem,1.5vw,.95rem)}.form-group input,.form-group textarea,.form-group select{min-height:44px;padding:clamp(.5rem,1.5vw,.75rem);font-size:16px}.form-error-message{padding:clamp(.6rem,1vw,1rem);font-size:clamp(.75rem,1.5vw,.9rem)}.form-actions{gap:clamp(.5rem,1vw,.75rem);margin-top:clamp(1rem,2vw,2rem)}.form-actions button{min-height:44px;padding:clamp(.6rem,1.5vw,.75rem);font-size:clamp(.8rem,1.5vw,.95rem)}.photo-upload-container{flex-direction:column;gap:clamp(.75rem,2vw,1.5rem)}.photo-placeholder{min-height:120px;padding:clamp(1rem,2vw,1.5rem)}.upload-icon{font-size:clamp(1.5rem,2vw,2rem)}.photo-name{word-break:break-all;font-size:clamp(.75rem,1.5vw,.9rem)}.photo-actions{gap:clamp(.5rem,1vw,.75rem)}.upload-progress{margin-bottom:clamp(.75rem,1.5vw,1.5rem);padding:clamp(.75rem,1.5vw,1rem);top:60px}.progress-bar{height:12px;margin-bottom:.75rem}.progress-text{gap:.5rem;font-size:clamp(.75rem,1.5vw,.85rem)}}.edit-media-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem;box-shadow:0 1px 3px #0000000d}.edit-media-section h4{color:#2d3748;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0;margin:0 0 1rem;padding-bottom:.75rem;font-size:.95rem;font-weight:600}.edit-media-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1.25rem;padding:.5rem 0;display:grid}.edit-media-item{background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex-direction:column;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #00000014}.edit-media-item:hover{border-color:#4299e1;box-shadow:0 4px 12px #0000001a}.edit-media-thumbnail{aspect-ratio:1;object-fit:cover;background:linear-gradient(135deg,#f0f4f8 0%,#d9e2ec 100%);flex-shrink:0;width:100%;display:block}.replacement-preview{opacity:.7;filter:brightness(.9)}.replacement-badge{color:#fff;background:#48bb78;border-radius:4px;padding:.25rem .5rem;font-size:.7rem;font-weight:700;position:absolute;top:.5rem;right:.5rem}.edit-media-actions{background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:center;gap:.4rem;padding:.6rem;display:flex}.edit-media-actions button{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;min-width:65px;padding:.5rem .4rem;font-size:.7rem;font-weight:600;transition:all .2s;display:flex}.btn-info:disabled{opacity:.6;cursor:not-allowed}.file-gallery{border-top:2px solid #e2e8f0;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1.25rem;margin-top:1.5rem;padding:1.5rem 0 0;display:grid}.file-gallery h4{color:#2d3748;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0;grid-column:1/-1;margin:0 0 1rem;padding-bottom:.75rem;font-size:.95rem;font-weight:600}.gallery-item{background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex-direction:column;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #00000014}.gallery-item:hover{border-color:#4299e1;transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.gallery-item img{aspect-ratio:1;object-fit:cover;background:linear-gradient(135deg,#f0f4f8 0%,#d9e2ec 100%);flex-shrink:0;width:100%;display:block}.file-name{color:#4a5568;white-space:nowrap;text-overflow:ellipsis;background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:center;align-items:center;min-height:32px;padding:.6rem;font-size:.75rem;font-weight:500;display:flex;overflow:hidden}.btn-remove-file{color:#fff;cursor:pointer;opacity:0;background:#00000080;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1rem;transition:all .2s;display:flex;position:absolute;top:.25rem;right:.25rem}.gallery-item:hover .btn-remove-file{opacity:1}.btn-remove-file:hover:not(:disabled){background:#000000b3}.btn-remove-file:disabled{opacity:.4;cursor:not-allowed}@media (width<=1024px){.edit-media-grid,.file-gallery{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:1rem}.modal-large{max-width:85vw}}@media (width<=768px){.modal-header{padding:clamp(1rem,2vw,1.5rem)}.modal-header h2{font-size:clamp(1.2rem,3vw,1.5rem)}.tenant-form{padding:clamp(1rem,2vw,1.5rem)}.form-row{grid-template-columns:1fr;gap:clamp(.75rem,2vw,1rem)}.form-group input,.form-group textarea,.form-group select{padding:clamp(.6rem,2vw,.75rem);font-size:16px}.form-actions{flex-direction:column;gap:clamp(.5rem,1vw,1rem)}.form-actions button{min-height:44px;font-size:clamp(.85rem,2vw,1rem)}.photo-placeholder{padding:clamp(1rem,3vw,1.5rem)}.upload-icon{font-size:clamp(1.5rem,3vw,2rem)}.photo-name{font-size:clamp(.85rem,1.5vw,1rem)}.edit-media-grid,.file-gallery{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem}.section-header{flex-direction:column;align-items:flex-start;gap:.5rem}.count-badge{align-self:flex-end}.modal-large{max-width:95%}}@media (width<=600px){.modal-overlay{padding:clamp(.25rem,1vw,.5rem)}.modal-content{border-radius:12px 12px 0 0;max-width:100%;max-height:100vh}.modal-header{padding:clamp(.75rem,2vw,1rem)}.modal-header h2{font-size:clamp(1rem,2.5vw,1.25rem)}.btn-close{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.25rem;font-size:1.25rem;display:flex}.tenant-form{padding:clamp(.75rem,1.5vw,1rem)}.form-group{margin-bottom:clamp(1rem,2vw,1.5rem)}.form-group label{margin-bottom:clamp(.4rem,1vw,.75rem);font-size:clamp(.85rem,1.5vw,.95rem)}.form-group input,.form-group textarea,.form-group select{min-height:44px;padding:clamp(.5rem,1.5vw,.75rem);font-size:16px}.form-error-message{padding:clamp(.6rem,1vw,1rem);font-size:clamp(.75rem,1.5vw,.9rem)}.form-actions{gap:clamp(.5rem,1vw,.75rem);margin-top:clamp(1rem,2vw,2rem)}.form-actions button{min-height:44px;padding:clamp(.6rem,1.5vw,.75rem);font-size:clamp(.8rem,1.5vw,.95rem)}.photo-upload-container{flex-direction:column;gap:clamp(.75rem,2vw,1.5rem)}.photo-placeholder{min-height:120px;padding:clamp(1rem,2vw,1.5rem)}.upload-icon{font-size:clamp(1.5rem,2vw,2rem)}.photo-name{word-break:break-all;font-size:clamp(.75rem,1.5vw,.9rem)}.photo-actions{gap:clamp(.5rem,1vw,.75rem)}.edit-media-grid,.file-gallery{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem}.edit-media-section{padding:1rem}.edit-media-actions{gap:.3rem;padding:.5rem}.edit-media-actions button{min-width:60px;padding:.4rem .3rem;font-size:.65rem}.btn-remove-file{width:24px;height:24px;font-size:.85rem}.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.count-badge{align-self:flex-end}.form-section{margin-bottom:1.5rem}.form-section h3{margin-bottom:1rem;font-size:.85rem}.file-gallery h4,.edit-media-section h4{margin-bottom:.75rem;font-size:.85rem}}.checkout-full-page{z-index:999;background:#fff;flex-direction:column;width:100%;height:100%;display:flex}.checkout-header{z-index:10;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex;position:sticky;top:0}.checkout-header h1{color:#1e293b;text-align:center;flex:1;margin:0;font-size:1.5rem;font-weight:700}.btn-back{color:#4299e1;cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-size:1rem;font-weight:600;transition:color .2s}.btn-back:hover:not(:disabled){color:#3182ce}.btn-back:disabled{opacity:.5;cursor:not-allowed}.form-input-disabled{color:#a0aec0;cursor:not-allowed;background:#f7fafc;border:2px solid #e2e8f0;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem}.required-field{color:#e53e3e;margin-left:.25rem}.stay-duration-display{color:#22543d;text-align:center;background:#f0fff4;border:2px solid #9ae6b4;border-radius:6px;padding:1rem;font-size:1.1rem;font-weight:600}.form-error{color:#742a2a;background:#fed7d7;border-left:4px solid #cb2431;border-radius:6px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.form-error span{flex-shrink:0;font-size:1.1rem}.pro-rata-calculation-checkout{background:linear-gradient(135deg,#fef3c7 0%,#fcd34d 100%);border:2px solid #f59e0b;border-radius:.75rem;margin:1.5rem 0;padding:1.5rem}.pro-rata-calculation-checkout label{color:#92400e;margin-bottom:1rem;font-weight:600}.calculation-details-checkout{background:#fff;border:1px solid #fde68a;border-radius:.5rem;margin-bottom:1rem;padding:1.25rem}.calculation-details-checkout .calculation-row{border-bottom:1px solid #fef3c7;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.calculation-details-checkout .calculation-row:last-child{border-bottom:none}.calculation-details-checkout .label{color:#1e293b;min-width:50%;font-weight:500}.calculation-details-checkout .value{text-align:right;color:#334155;font-weight:500}.calculation-details-checkout .value.highlight{color:#d97706;font-weight:600}.calculation-details-checkout .calculation-row.pro-rata-result{background:#fef3c7;border:1px solid #fcd34d;border-radius:.375rem;margin-top:.5rem;padding:1rem}.calculation-details-checkout .calculation-row.pro-rata-result .value.highlight-large{color:#b45309;font-size:1.25rem}.checkin-form{width:100%}.room-details-display{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem}.room-details-display p{justify-content:space-between;margin:.5rem 0;display:flex}.room-details-display strong{color:#1e293b;min-width:120px}.form-select{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.75rem;font-size:1rem}.form-select:hover{border-color:#9ca3af}.form-select:focus{border-color:#4299e1;outline:none;box-shadow:0 0 0 3px #4299e11a}.form-select:disabled{cursor:not-allowed;opacity:.6;background:#f3f4f6}.pro-rata-calculation{background:linear-gradient(135deg,#f0f9ff 0%,#f7fedb 100%);border:2px solid #4299e1;border-radius:.75rem;margin:1.5rem 0;padding:1.5rem}.pro-rata-calculation h3{color:#1e40af;margin-top:0;margin-bottom:1.25rem;font-size:1.1rem}.calculation-details{background:#fff;border:1px solid #dbeafe;border-radius:.5rem;margin-bottom:1rem;padding:1.25rem}.calculation-row{border-bottom:1px solid #eff6ff;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.calculation-row:last-child{border-bottom:none}.calculation-row .label{color:#1e293b;min-width:50%;font-weight:500}.calculation-row .value{text-align:right;color:#334155;font-weight:500}.calculation-row .value.highlight{color:#0369a1;font-weight:600}.calculation-row.pro-rata-result{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.375rem;margin-top:.5rem;padding:1rem}.calculation-row.pro-rata-result .value.highlight-large{color:#1e40af;font-size:1.25rem}.calculation-note{color:#0369a1;margin:0;font-size:.875rem;font-style:italic}.occupancy-links-container{background:linear-gradient(135deg,#f8fafc 0%,#e0e7ff 100%);width:100%;min-height:100vh;margin:0;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.links-header{background:#fff;border-radius:12px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 6px #00000012}.links-header h1{color:#1e293b;margin:0 0 .5rem;font-size:2.5rem}.links-header p{color:#64748b;margin:0;font-size:1rem}.stats-grid{background:#fff;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin:.75rem 1.5rem 1.5rem;padding:1.5rem;display:grid;box-shadow:0 4px 6px #00000012}.stat-card.active{border-left-color:#48bb78}.stat-card.inactive{border-left-color:#ed8936}.filters-section{background:0 0;border-radius:0;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.filter-controls{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.sort-controls{align-items:center;gap:1rem;display:flex}.sort-controls label{color:#2d3748;font-size:.95rem;font-weight:600}.sort-select{cursor:pointer;color:#2d3748;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .3s}.filter-group{width:100%;margin-bottom:1.5rem}.filter-controls{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:2rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.sort-controls{align-items:center;gap:1rem;margin-left:auto;display:flex}.sort-controls label{color:#2d3748;white-space:nowrap;font-size:.95rem;font-weight:600}.sort-select{cursor:pointer;color:#2d3748;background:#fff;border:2px solid #e2e8f0;border-radius:8px;min-width:180px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .3s}.filter-dropdowns{flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;display:flex}.dropdown-container{flex-direction:column;flex:1;gap:.5rem;min-width:200px;display:flex}.dropdown-container label{color:#2d3748;font-size:.95rem;font-weight:600}.dropdown-container>div{align-items:center;gap:.5rem;display:flex}.filter-date-ranges{flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;display:flex}.date-range-container{flex-direction:column;flex:1;gap:.5rem;min-width:300px;display:flex}.date-range-container label{color:#2d3748;font-size:.95rem;font-weight:600}.date-inputs{align-items:center;gap:.5rem;display:flex}.date-input{color:#2d3748;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex:1;min-width:120px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .3s}.date-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.date-range-sep{color:#a0aec0;white-space:nowrap;padding:0 .25rem;font-weight:600}.clear-filter-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ef4444;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;height:fit-content;padding:.5rem .75rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.clear-filter-btn:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 8px #ef44444d}.clear-filter-btn:active{transform:translateY(0)}.occupancy-links-container .section-header{margin:.75rem 0 0}.occupancy-links-container .section-header h2{font-size:1.05rem}.occupancy-links-container .stats-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem;margin:.5rem 0 .75rem;padding:.75rem}.occupancy-links-container .stat-card{gap:.65rem;padding:.85rem}.occupancy-links-container .stat-icon{font-size:1.5rem}.occupancy-links-container .stat-content h3{margin-bottom:.2rem;font-size:.72rem}.occupancy-links-container .stat-value{font-size:1.3rem}.occupancy-links-container .filters-section{gap:.75rem;padding:.75rem}.occupancy-links-container .filter-controls{gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem}.occupancy-links-container .filter-buttons{gap:.5rem}.occupancy-links-container .filter-btn,.occupancy-links-container .sort-select,.occupancy-links-container .date-input{padding:.5rem .7rem;font-size:.85rem}.occupancy-links-container .filter-btn{border-width:1px}.occupancy-links-container .sort-controls{gap:.5rem}.occupancy-links-container .sort-controls label,.occupancy-links-container .dropdown-container label,.occupancy-links-container .date-range-container label{font-size:.82rem}.occupancy-links-container .sort-select{min-width:155px}.occupancy-links-container .filter-dropdowns,.occupancy-links-container .filter-date-ranges{gap:.75rem;margin-bottom:.75rem}.occupancy-links-container .dropdown-container,.occupancy-links-container .date-range-container{gap:.35rem}.occupancy-links-container .dropdown-container{min-width:170px}.occupancy-links-container .date-range-container{min-width:260px}.table-wrapper{background:#fff;border-radius:12px;margin-bottom:2rem;overflow:hidden;box-shadow:0 4px 6px #00000012}.occupancy-table{border-collapse:collapse;width:100%;font-size:.95rem}.occupancy-table thead{background:linear-gradient(135deg,#f5f7fa 0%,#e2e8f0 100%);border-bottom:2px solid #cbd5e0}.occupancy-table th{text-align:left;color:#2d3748;text-transform:uppercase;letter-spacing:.5px;padding:1.25rem 1rem;font-size:.85rem;font-weight:700}.occupancy-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.occupancy-table tbody tr:hover{background-color:#f7fafc}.occupancy-table td{color:#4a5568;padding:1rem}.status-thumb{object-fit:cover;vertical-align:middle;cursor:pointer;border-radius:6px;width:36px;height:36px;margin-right:.5rem;display:inline-block;box-shadow:0 2px 6px #00000014}.status-thumb.placeholder{color:#718096;background:#f1f5f9;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.room-cell small{color:#718096;margin-top:.25rem;font-size:.8rem;font-weight:400;display:block}.tenant-cell{color:#1a202c;font-weight:600}.tenant-cell small{color:#718096;margin-top:.25rem;font-size:.8rem;font-weight:400;display:block}.phone-cell{color:#667eea;font-family:Courier New,monospace}.currency-cell{text-align:right;color:#2d3748;font-weight:600}.currency-cell.collected{color:#48bb78}.currency-cell.pending{color:#ed8936}.actions-cell{text-align:center;padding:.5rem!important}.action-btn{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s}.checkout-btn{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.checkout-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.checkout-btn:active{transform:translateY(0)}.no-data{text-align:center;padding:3rem 1rem!important}.no-data p{color:#718096;margin:0;font-size:1rem}.relationship-info{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #00000012}.relationship-info h3{color:#1a202c;margin:0 0 1.5rem;font-size:1.25rem}.relationship-diagram{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:flex}.entity{text-align:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;min-width:150px;padding:1rem}.entity strong{color:#1a202c;margin-bottom:.5rem;font-size:.95rem;display:block}.entity small{color:#718096;font-size:.8rem;line-height:1.4}.room-entity{background:#ebf8ff;border-color:#4299e1}.occupancy-entity{background:#f0f4ff;border-color:#667eea}.tenant-entity{background:#f0fdf4;border-color:#48bb78}.connection{color:#a0aec0;font-size:1.5rem;font-weight:600}.relationship-desc{color:#718096;background:#f7fafc;border-left:4px solid #667eea;border-radius:4px;margin:1rem 0 0;padding:1rem;font-size:.95rem;line-height:1.6}@media (width<=1024px){.filter-controls{border-bottom:1px solid #e2e8f0;flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem}.filter-buttons{width:100%}.sort-controls{width:100%;margin-left:0}.sort-select{width:100%}.occupancy-links-container{padding:clamp(1rem,3vw,2rem)}.links-header h1{font-size:clamp(1.8rem,4vw,2.5rem)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:clamp(.75rem,2vw,1.5rem)}.filter-buttons{flex-wrap:wrap}.filter-btn{flex:1;min-width:100px}}@media (width<=768px){.occupancy-links-container{padding:0}.links-header{margin-bottom:clamp(1rem,3vw,2rem);padding:clamp(1rem,3vw,1.5rem)}.links-header h1{font-size:clamp(1.5rem,4vw,1.75rem)}.links-header p{font-size:clamp(.85rem,2vw,1rem)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:clamp(.75rem,2vw,1rem)}.stat-card{text-align:center;flex-direction:column;min-height:44px;padding:clamp(.75rem,2vw,1rem)}.stat-icon{font-size:clamp(1.5rem,3vw,2rem)}.stat-value{font-size:clamp(1.2rem,2.5vw,1.5rem)}.filter-controls{border-bottom:1px solid #e2e8f0;flex-direction:column;gap:clamp(.75rem,2vw,1rem);margin-bottom:1.5rem;padding-bottom:1.5rem}.filter-buttons{flex-wrap:wrap;gap:.5rem;width:100%;display:flex}.filter-btn{flex:1;min-width:70px;padding:.6rem .75rem}.sort-controls{width:100%;margin-left:0}.sort-select{width:100%}.filter-dropdowns{flex-direction:column}.dropdown-container{min-width:100%}.filter-date-ranges{flex-direction:column}.date-range-container{min-width:100%}.date-inputs{flex-wrap:wrap}.date-input{flex:1;min-width:100px}.filter-btn{width:100%;min-height:44px;font-size:clamp(.85rem,2vw,1rem)}.sort-controls{flex-direction:column;gap:.5rem;width:100%}.sort-select{width:100%;min-height:44px;font-size:clamp(.85rem,2vw,1rem)}.table-wrapper{border-radius:8px;overflow-x:auto}.occupancy-table{font-size:clamp(.75rem,1.5vw,.85rem)}.occupancy-table th,.occupancy-table td{word-break:break-word;padding:clamp(.5rem,1vw,.75rem)}.relationship-diagram{flex-direction:column;gap:clamp(.75rem,2vw,1rem)}.connection{transform:rotate(90deg)}.entity{min-width:120px;padding:clamp(.75rem,1.5vw,1rem)}.relationship-info{padding:clamp(1rem,2vw,1.5rem)}.relationship-info h3{font-size:clamp(1rem,2.5vw,1.25rem)}}@media (width<=480px){.occupancy-links-container{padding:0}.links-header{margin-bottom:1rem;padding:clamp(.75rem,2vw,1rem)}.links-header h1{font-size:clamp(1.2rem,3vw,1.5rem)}.links-header p{font-size:clamp(.8rem,1.5vw,.9rem)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:clamp(.5rem,1vw,.75rem)}.stat-card{padding:clamp(.6rem,1.5vw,.75rem)}.stat-icon{font-size:clamp(1.25rem,2vw,1.75rem)}.stat-value{font-size:clamp(1rem,2vw,1.25rem)}.filter-btn{padding:.6rem;font-size:.8rem}.sort-select{width:100%;padding:.6rem;font-size:.75rem}.sort-controls{flex-direction:row;gap:.5rem;width:100%;margin-left:0}.sort-controls label{white-space:nowrap;font-size:.8rem}.filter-dropdowns{flex-direction:column;gap:1rem}.dropdown-container{min-width:100%}.filter-date-ranges{flex-direction:column;gap:1rem}.date-range-container{min-width:100%}.date-inputs{flex-wrap:wrap;gap:.3rem}.date-input{flex:1;min-width:80px;padding:.6rem .5rem;font-size:.8rem}.date-range-sep{font-size:.8rem}.clear-filter-btn{padding:.4rem .8rem;font-size:.7rem}.occupancy-table{font-size:.7rem}.occupancy-table th,.occupancy-table td{padding:.4rem .25rem}.relationship-info{padding:clamp(.75rem,1.5vw,1rem)}.relationship-info h3{font-size:clamp(.9rem,2vw,1.1rem)}.entity{min-width:90px;padding:clamp(.5rem,1vw,.75rem)}.entity strong{font-size:clamp(.7rem,1.5vw,.85rem)}.entity small{font-size:clamp(.6rem,1vw,.7rem)}}.section-header{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;margin-top:2rem;margin-bottom:.75rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 4px 6px #00000012}.collapsible-content+.section-header{margin-top:2.5rem}.toggle-btn.expanded,.toggle-btn.collapsed{transform:none}.collapsible-content.closed{opacity:0;max-height:0;margin-bottom:0;display:none}.tenant-management-container{background:#f8fafc;width:100%;min-height:100vh;margin:0;padding:clamp(1rem,5vw,2rem)}.tenant-management-container h1{color:#1e293b;margin-bottom:clamp(1rem,5vw,2rem);font-size:clamp(1.5rem,5vw,2rem);font-weight:700}.tenant-management-tabs{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;gap:.25rem;margin:0 0 1.25rem;padding:.3rem;display:flex;overflow-x:auto;box-shadow:0 1px 2px #0f172a0d}.tenant-management-tab{color:#1e293b;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;padding:.6rem 1rem;font-weight:600;line-height:1.25}.tenant-management-tab:hover{color:#1d4ed8;background:#dbeafe}.tenant-management-tab.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 2px 4px #2563eb40}.tenant-management-tab:focus-visible{outline-offset:2px;outline:2px solid #1d4ed8}.tenant-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:clamp(1rem,3vw,2rem);margin-bottom:clamp(1rem,5vw,2rem);display:flex}.tenant-stats{flex:1;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:clamp(.75rem,2vw,1rem);width:100%;display:grid}.stat-card{background:#fff;border-left:4px solid #2563eb;border-radius:8px;padding:1.5rem;transition:all .2s;box-shadow:0 1px 4px #0000000f}.stat-card.active{font-weight:600;transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.stat-card.active.occupied{background:#f0fdf4;border-left-color:#22863a}.stat-card.active.vacant{background:#fef2f2;border-left-color:#cb2431}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:.85rem;font-weight:600}.stat-value{color:#1e293b;font-size:2rem;font-weight:700}.btn-primary{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:clamp(.6rem,2vw,.75rem) clamp(1rem,3vw,1.5rem);font-size:clamp(.85rem,2vw,1rem);font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:hover:not(:disabled){background:#1d4ed8;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#2d3748;cursor:pointer;background:#e2e8f0;border:none;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:clamp(.6rem,2vw,.75rem) clamp(1rem,3vw,1.5rem);font-size:clamp(.85rem,2vw,1rem);font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover:not(:disabled){background:#cbd5e0;transform:translateY(-2px)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{color:#fff;cursor:pointer;background:#fc8181;border:none;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:clamp(.6rem,2vw,.75rem) clamp(1rem,3vw,1.5rem);font-size:clamp(.85rem,2vw,1rem);font-weight:600;transition:all .2s;display:inline-flex}.btn-danger:hover:not(:disabled){background:#f56565;transform:translateY(-2px)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-create{align-self:center;padding:.75rem 2rem;font-size:1rem}.btn-clear{padding:.75rem 1.5rem}.success-message{color:#22543d;background:linear-gradient(135deg,#c6f6d5 0%,#a8e6c1 100%);border-left:5px solid #22863a;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;font-weight:500;line-height:1.5;animation:.3s ease-out slideDown,.5s ease-out successPulse;display:flex;box-shadow:0 4px 12px #22863a26}.success-message span{flex:1}.error-message{color:#742a2a;background:linear-gradient(135deg,#fed7d7 0%,#fc8181 100%);border-left:5px solid #cb2431;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;font-weight:500;line-height:1.5;animation:.3s ease-out slideDown;display:flex;box-shadow:0 4px 12px #ca243126}.error-message span{flex:1}.success-message button,.error-message button{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;flex-shrink:0;margin-left:1rem;padding:0;font-size:1.5rem;transition:opacity .2s}.success-message button:hover,.error-message button:hover{opacity:1}@keyframes successPulse{0%{box-shadow:0 4px 12px #22863a26}50%{box-shadow:0 6px 20px #22863a40}to{box-shadow:0 4px 12px #22863a26}}.search-container{flex:1;min-width:250px;position:relative}.search-input{background:#fff;border:2px solid #e2e8f0;border-radius:6px;width:100%;padding:.75rem 2.5rem .75rem 1rem;font-size:1rem;transition:all .2s}.search-icon{color:#a0aec0;font-size:1.2rem;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.filter-container{align-items:center;gap:.5rem;display:flex}.filter-container label{color:#2d3748;white-space:nowrap;font-weight:600}.search-field-select{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:6px;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.search-field-select:focus{border-color:#4299e1;outline:none;box-shadow:0 0 0 3px #4299e11a}.sort-container{align-items:center;gap:.5rem;display:flex}.sort-container label{color:#2d3748;white-space:nowrap;font-weight:600}.sort-select{cursor:pointer;color:#2d3748;background:#fff;border:2px solid #e2e8f0;border-radius:6px;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.sort-select:hover{background:#f7fafc;border-color:#cbd5e0}.sort-select:focus{border-color:#4299e1;outline:none;box-shadow:0 0 0 3px #4299e11a}.loading-state{z-index:10000;background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:3rem;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #00000026}.loading-state p{color:#718096;margin:0;font-size:1.1rem;font-weight:500}.empty-state{text-align:center;background:#fff;border-radius:8px;padding:3rem;box-shadow:0 2px 8px #0000001a}.empty-state p{color:#718096;margin-bottom:1.5rem;font-size:1.1rem}.loading-more-indicator{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100px;margin-top:2rem;padding:2rem 1rem;display:flex}.loading-more-indicator .loading-spinner{border-width:3px;width:40px;height:40px}.loading-more-indicator p{color:#718096;margin:0;font-size:.95rem;font-weight:500}.tenants-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.tenant-card{background:#fff;border-radius:8px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.tenant-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.tenant-card.no-payment-received{background:#fef2f2;border-left:5px solid #dc2626;box-shadow:0 2px 8px #dc262626}.tenant-card.no-payment-received:hover{box-shadow:0 8px 16px #dc262640}.tenant-image-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);width:100%;height:150px;position:relative;overflow:hidden}.tenant-image{object-fit:cover;width:100%;height:100%}.tenant-avatar{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:2.5rem;font-weight:700;display:flex}.occupancy-badge{color:#1a202c;background:#fff;border-radius:20px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;position:absolute;top:1rem;right:1rem}.tenant-view-more-btn{color:#fff;cursor:pointer;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2563ebe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;transition:all .3s;display:flex;position:absolute;bottom:1rem;right:1rem;box-shadow:0 4px 12px #0003}.tenant-view-more-btn:hover{background:#2563eb;transform:scale(1.1);box-shadow:0 6px 16px #2563eb66}.tenant-view-more-btn:active{transform:scale(.98)}.tenant-action-icons{z-index:10;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:1rem;right:1rem}.action-icon-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .3s;display:flex;box-shadow:0 4px 12px #0003}.action-view{background:#2563ebe6}.action-view:hover{background:#2563eb;transform:scale(1.1);box-shadow:0 6px 16px #2563eb66}.action-edit{background:#3b82f6e6}.action-edit:hover{background:#3b82f6;transform:scale(1.1);box-shadow:0 6px 16px #3b82f666}.action-history{background:#10b981e6}.action-history:hover{background:#10b981;transform:scale(1.1);box-shadow:0 6px 16px #10b98166}.action-delete{background:#ef4444e6}.action-delete:hover{background:#ef4444;transform:scale(1.1);box-shadow:0 6px 16px #ef444466}.action-icon-btn:active{transform:scale(.98)}.tenant-info{flex:1;padding:1rem}.tenant-detail{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.tenant-detail.added-date{background:#f0fdf4;border-left:3px solid #22863a;border-radius:4px;margin-bottom:.75rem;padding:.4rem .6rem;font-size:.85rem}.tenant-detail.added-date .detail-label{color:#22863a;font-weight:700}.tenant-detail.added-date .detail-value{color:#1b4620;font-size:.9rem;font-weight:600}.detail-label{color:#718096;text-transform:uppercase;min-width:50px;font-size:.75rem;font-weight:600}.detail-value{color:#2d3748;word-break:break-word}.room-details{background:#f7fafc;border-top:1px solid #e2e8f0;padding:1rem}.room-details h4{color:#1a202c;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;font-size:.85rem;font-weight:600}.room-info{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.room-item{flex-direction:column;display:flex}.room-label{color:#718096;text-transform:uppercase;margin-bottom:.15rem;font-size:.7rem;font-weight:600}.room-value{color:#1a202c;font-size:.9rem;font-weight:600}.payment-status{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.75rem}.payment-status h5{color:#2d3748;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;font-size:.75rem;font-weight:600}.payment-row{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.5rem;display:grid}.payment-item{text-align:center;border-radius:6px;flex-direction:column;gap:.3rem;padding:.6rem;display:flex}.payment-item.received{background:#c6f6d5;border:1px solid #9ae6b4}.payment-item.pending{background:#fed7d7;border:1px solid #fc8181}.payment-item.cleared{background:#c6f6d5;border:1px solid #9ae6b4}.payment-label{color:#2d3748;text-transform:uppercase;font-size:.7rem;font-weight:600}.payment-amount{color:#1a202c;font-family:Courier New,monospace;font-size:1rem;font-weight:700}.payment-item.pending .payment-label,.payment-item.pending .payment-amount{color:#742a2a}.last-payment{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.5rem;font-size:.75rem;display:flex}.payment-date{color:#2d3748;font-weight:600}.last-payment.outdated{background:#fffaf0;border-left:3px solid #d69e2e;border-radius:4px;flex-direction:column;gap:.25rem;margin-top:.75rem;padding:.75rem}.last-payment.outdated .payment-date{color:#c05621;font-weight:700}.last-payment.missing{background:#fef2f2;border-left:3px solid #e53e3e;border-radius:4px;flex-direction:column;gap:.25rem;margin-top:.75rem;padding:.75rem}.last-payment.missing .payment-date{color:#742a2a;font-weight:700}.payment-status.payment-pending{background:#fef2f2;border:2px solid #fc8181;box-shadow:0 0 0 3px #fc81811a}.tenant-documents{background:#f0f9ff;border-top:1px solid #e2e8f0;padding:1.5rem}.tenant-documents h4{color:#1a202c;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;font-size:.95rem;font-weight:600}.documents-gallery{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;display:grid}.document-item{flex-direction:column;align-items:center;gap:.5rem;display:flex}.document-image-wrapper{aspect-ratio:1;cursor:pointer;background:#fff;border:2px solid #cbd5e0;border-radius:6px;justify-content:center;align-items:center;width:100%;transition:all .2s;display:flex;overflow:hidden}.document-image-wrapper:hover{border-color:#2563eb;transform:scale(1.02);box-shadow:0 2px 8px #2563eb1a}.document-image{object-fit:cover;width:100%;height:100%}.document-label{color:#64748b;text-transform:uppercase;letter-spacing:.3px;text-align:center;width:100%;font-size:.75rem;font-weight:600}.tenant-photos-section{border-top:1px solid #e2e8f0;padding:1rem 1.5rem}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-title-row h4{color:#1a202c;text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.95rem;font-weight:600}.tenant-photos-section h4{color:#1a202c;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;font-size:.95rem;font-weight:600}.file-count-badge{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;padding:.35rem .65rem;font-size:.8rem;font-weight:700;display:inline-block;box-shadow:0 2px 4px #667eea4d}.photos-gallery{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;display:grid}.photo-item-with-label{flex-direction:column;align-items:center;gap:.5rem;display:flex}.photo-item-with-label img{aspect-ratio:1;cursor:pointer;object-fit:cover;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:100%;transition:all .2s;display:flex;overflow:hidden}.photo-item-with-label img:hover{border-color:#2563eb;transform:scale(1.05);box-shadow:0 4px 12px #2563eb26}.photo-label{color:#64748b;text-transform:uppercase;letter-spacing:.3px;text-align:center;width:100%;font-size:.75rem;font-weight:600}.photo-item{aspect-ratio:1;cursor:pointer;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex;overflow:hidden}.photo-item:hover{border-color:#2563eb;transform:scale(1.02);box-shadow:0 2px 8px #2563eb1a}.gallery-photo{object-fit:cover;width:100%;height:100%}.tenant-actions{background:#fff;border-top:1px solid #e2e8f0;gap:.75rem;padding:1rem 1.5rem;display:flex}.btn-edit,.btn-delete{cursor:pointer;border:none;border-radius:6px;flex:1;padding:.75rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.btn-edit{color:#2c5282;background:#bee3f8}.btn-delete{color:#fff;background:#fc8181}.delete-confirmation{text-align:center;background:#fed7d7;border-top:1px solid #fc8181;padding:1rem}.delete-confirmation p{color:#742a2a;margin-bottom:.75rem;font-weight:600}.confirmation-buttons{justify-content:center;gap:.5rem;display:flex}.btn-confirm{color:#fff;cursor:pointer;background:#cb2431;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:600;transition:all .2s}.btn-confirm:hover{background:#a21d1d;transform:translateY(-2px)}.btn-cancel{color:#742a2a;cursor:pointer;background:#fff;border:1px solid #fc8181;border-radius:4px;padding:.5rem 1rem;font-weight:600;transition:all .2s}.fullscreen-container{z-index:9999;background:#fff;flex-direction:column;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.fullscreen-content{width:100%;box-shadow:none;background:#fff;border-radius:0;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden auto}.fullscreen-close-btn{cursor:pointer;z-index:10001;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.8rem;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem;box-shadow:0 4px 12px #00000026}.fullscreen-close-btn:hover{color:#1e293b;background:#f8fafc;transform:scale(1.1);box-shadow:0 6px 16px #0003}.fullscreen-header{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:2px solid #e2e8f0;flex-shrink:0;padding:1.5rem 3rem}.fullscreen-title-section{flex-wrap:wrap;align-items:center;gap:3rem;display:flex}.fullscreen-header h1{color:#1a202c;flex:0 auto;margin:0;font-size:2rem;font-weight:700}.fullscreen-main-photo{border:3px solid #fff;border-radius:12px;flex-shrink:0;width:200px;height:200px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.fullscreen-main-photo img{object-fit:cover;width:100%;height:100%}.fullscreen-body{flex:1;min-height:0;padding:2.5rem 3rem;overflow:visible}.fullscreen-section{margin-bottom:3rem}.fullscreen-section:last-of-type{margin-bottom:0}.fullscreen-section h3{color:#1a202c;border-bottom:2px solid #e2e8f0;margin:0 0 1.5rem;padding-bottom:.75rem;font-size:1.5rem;font-weight:700}.fullscreen-status-section{justify-content:flex-start;margin-bottom:2rem;display:flex}.occupancy-status-badge{border-radius:24px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;display:inline-flex}.occupancy-status-badge.occupied{color:#166534;background:#dcfce7;border:2px solid #22c55e}.occupancy-status-badge.vacant{color:#991b1b;background:#fee2e2;border:2px solid #ef4444}.fullscreen-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2.5rem;display:grid}.fullscreen-field{flex-direction:column;gap:.75rem;display:flex}.fullscreen-field label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:.95rem;font-weight:700}.fullscreen-field p{color:#1a202c;background:#f8fafc;border-left:4px solid #2563eb;border-radius:8px;margin:0;padding:1.25rem;font-size:1.2rem;font-weight:500}.fullscreen-payment-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2.5rem;display:grid}.payment-received{font-size:1.2rem;font-weight:600;color:#166534!important;background:#dcfce7!important;border-left:4px solid #22c55e!important}.payment-pending{font-size:1.2rem;font-weight:600;color:#991b1b!important;background:#fee2e2!important;border-left:4px solid #ef4444!important}.payment-cleared{font-size:1.2rem;font-weight:600;color:#166534!important;background:#dcfce7!important;border-left:4px solid #22c55e!important}.fullscreen-photos-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;width:100%;margin-bottom:1rem;display:grid}.fullscreen-photos-grid img{aspect-ratio:1;object-fit:cover;cursor:pointer;border:2px solid #e2e8f0;border-radius:12px;width:100%;transition:all .3s;box-shadow:0 2px 8px #0000001a}.fullscreen-photos-grid img:hover{border-color:#2563eb;transform:scale(1.05);box-shadow:0 8px 20px #2563eb4d}.fullscreen-proofs-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2rem;width:100%;display:grid}.proof-item{flex-direction:column;align-items:center;gap:1rem;display:flex}.proof-item img{aspect-ratio:1;object-fit:cover;cursor:pointer;border:2px solid #e2e8f0;border-radius:12px;width:100%;transition:all .3s;box-shadow:0 2px 8px #0000001a}.proof-item img:hover{border-color:#2563eb;transform:scale(1.05);box-shadow:0 8px 20px #2563eb4d}.proof-item span{color:#64748b;text-transform:uppercase;text-align:center;letter-spacing:.3px;font-size:.9rem;font-weight:600}.fullscreen-overlay{z-index:9999;background:#00000080;width:100vw;height:100vh;margin:0;padding:0;display:flex;position:fixed;top:0;left:0;overflow:hidden}.fullscreen-modal{width:100%;height:100%;box-shadow:none;background:#fff;border-radius:0;flex-direction:column;display:flex;position:relative;overflow:hidden}.fullscreen-close{cursor:pointer;z-index:10001;color:#64748b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.fullscreen-close:hover{color:#1e293b;background:#fff;transform:scale(1.1)}.fullscreen-tabs{background:#f8fafc;border-bottom:2px solid #e2e8f0;flex-shrink:0;padding:0 1rem;display:flex}.fullscreen-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:1rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;position:relative}.fullscreen-tab:hover{color:#2563eb}.fullscreen-tab.active{color:#2563eb;border-bottom-color:#2563eb}.fullscreen-main-container{background:#1a202c;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.fullscreen-main-container img{object-fit:contain;max-width:100%;max-height:100%;display:block}.fullscreen-main-container img.fullscreen-content{width:auto;height:auto;max-height:100%}.fullscreen-counter{color:#fff;z-index:100;background:#0009;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.fullscreen-nav-prev,.fullscreen-nav-next{cursor:pointer;z-index:100;color:#1a202c;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;font-weight:700;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.fullscreen-nav-prev:hover,.fullscreen-nav-next:hover{background:#fff;transform:translateY(-50%)scale(1.1);box-shadow:0 4px 12px #0003}.fullscreen-nav-prev:active,.fullscreen-nav-next:active{transform:translateY(-50%)scale(.95)}.fullscreen-nav-prev{left:1rem}.fullscreen-nav-next{right:1rem}.fullscreen-thumbnails{background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:.5rem;padding:1rem;display:flex;overflow-x:auto}.fullscreen-thumbnail{cursor:pointer;border:3px solid #e2e8f0;border-radius:6px;flex-shrink:0;width:80px;height:80px;transition:all .2s;overflow:hidden}.fullscreen-thumbnail:hover{border-color:#2563eb;transform:scale(1.05);box-shadow:0 2px 8px #2563eb33}.fullscreen-thumbnail.active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb}.fullscreen-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.gallery-header{color:#fff;background:linear-gradient(135deg,#1e293b 0%,#334155 100%);border-bottom:3px solid #2563eb;flex-shrink:0;max-height:25vh;overflow-y:auto}.gallery-header-content{justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 2rem;display:flex}.gallery-tenant-name{color:#fff;letter-spacing:-.5px;margin:0 0 .25rem;font-size:1.8rem;font-weight:700}.gallery-header-subtitle{color:#cbd5e0;margin:0;font-size:.95rem;font-weight:500}.gallery-close-btn{color:#fff;cursor:pointer;background:#fff3;border:2px solid #fff6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;font-weight:700;transition:all .2s;display:flex;box-shadow:0 2px 8px #0003}.gallery-close-btn:hover{background:#ffffff59;border-color:#ffffffb3;transform:scale(1.15)rotate(90deg);box-shadow:0 4px 16px #0000004d}.gallery-close-btn svg{stroke-width:2px;width:24px;height:24px}.gallery-close-btn:active{transform:scale(.95)}.gallery-tabs{background:#f8fafc;border-top:1px solid #e2e8f0;gap:0;margin:0;padding:0;display:flex}.gallery-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.gallery-tab:hover{color:#1e293b;background:#fffbeb}.gallery-tab.active{color:#2563eb;background:#fff;border-bottom-color:#2563eb}.tab-icon{font-size:1.1rem}.tab-text{font-weight:600}.gallery-main-container{background:#1a202c;flex:1;justify-content:center;align-items:center;gap:2rem;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.gallery-main-image{object-fit:contain;cursor:zoom-in;max-width:90%;max-height:90%;transition:transform .2s ease-out;display:block;box-shadow:0 20px 60px #00000080}.gallery-main-image:active{cursor:zoom-out}.gallery-counter{color:#fff;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;border:1px solid #ffffff1a;border-radius:24px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;position:absolute;top:1.5rem;right:1.5rem}.gallery-zoom-controls{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;border:1px solid #ffffff1a;border-radius:24px;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.zoom-btn{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;font-weight:700;transition:all .2s;display:flex}.zoom-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.1)}.zoom-btn:active{transform:scale(.95)}.zoom-value{color:#fff;text-align:center;min-width:45px;padding:0 .5rem;font-size:.85rem;font-weight:600}.gallery-nav-btn{color:#fff;cursor:pointer;z-index:100;background:#ffffff26;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:2rem;font-weight:700;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav-btn:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-50%)scale(1.1);box-shadow:0 8px 24px #0006}.gallery-nav-btn:active{transform:translateY(-50%)scale(.95)}.gallery-thumbnails{background:#f8fafc;border-top:2px solid #e2e8f0;flex-shrink:0;height:auto;max-height:150px;padding:1rem;display:none;overflow:hidden}.thumbnails-scroll{scroll-behavior:smooth;gap:.75rem;padding:.5rem 0;display:none;overflow:auto hidden}.thumbnails-scroll::-webkit-scrollbar{height:6px}.thumbnails-scroll::-webkit-scrollbar-track{background:#e2e8f0;border-radius:3px}.thumbnails-scroll::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.thumbnails-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}.gallery-thumbnail{cursor:pointer;background:#fff;border:3px solid #cbd5e0;border-radius:8px;flex-shrink:0;width:100px;height:100px;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000000d}.gallery-thumbnail:hover{border-color:#64b5f6;transform:translateY(-2px)scale(1.05);box-shadow:0 4px 12px #2563eb33}.gallery-thumbnail.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb,0 4px 12px #2563eb4d}.gallery-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.thumbnail-number{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:700;position:absolute;bottom:4px;right:4px}.filter-toggle-btn{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s;display:flex}.filter-toggle-btn:hover{background-color:#1d4ed8;transform:translateY(-2px);box-shadow:0 4px 8px #2563eb4d}.filter-toggle-btn:active{transform:translateY(0)}.room-filter{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}@media (width<=1024px){.tenants-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.tenant-header{flex-direction:column;align-items:stretch}.tenant-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.btn-create{align-self:flex-start;width:100%}}@media (width<=768px){.tenant-management-container{padding:clamp(.75rem,3vw,1rem)}.filter-toggle-btn{padding:.65rem 1.25rem;font-size:.85rem}.room-filter{gap:.75rem}.tenant-management-container h1{margin-bottom:1rem;font-size:clamp(1.2rem,4vw,1.5rem)}.search-section{flex-direction:column;gap:.75rem}.search-container{width:100%;min-width:auto}.filter-container{width:100%}.filter-container label{margin-bottom:.5rem;display:block}.search-field-select{flex:1;width:100%;min-width:auto}.sort-container{width:100%}.sort-container label{margin-bottom:.5rem;display:block}.sort-select{width:100%}.tenants-grid{grid-template-columns:1fr}.tenant-image-container{height:120px}.room-info{grid-template-columns:1fr}.tenant-actions{flex-direction:column}.btn-edit,.btn-delete{width:100%;min-height:44px}.payment-row{grid-template-columns:1fr}.documents-gallery,.photos-gallery{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.btn-primary,.btn-secondary,.btn-danger{width:100%;font-size:.9rem}.modal-content{max-width:95%;margin:0 auto}.fullscreen-container{z-index:9999;width:100%;height:100%;position:fixed;top:0;left:0}.fullscreen-content{flex:1;width:100%}.fullscreen-title-section{text-align:center;flex-direction:column;align-items:center;gap:1.5rem}.fullscreen-header h1{font-size:1.5rem}.fullscreen-main-photo{width:150px;height:150px}.fullscreen-body{padding:1.5rem}.fullscreen-grid{grid-template-columns:1fr}.fullscreen-photos-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.fullscreen-proofs-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:1rem}.fullscreen-modal{width:100%;height:100vh}}.action-section{text-align:center;margin-bottom:24px}.btn-large{padding:12px 24px!important;font-size:16px!important;font-weight:600!important}.tenant-form-card{background:#fff;border:2px solid #667eea;border-radius:12px;max-width:100%;margin-bottom:24px;padding:24px;overflow-x:hidden;box-shadow:0 2px 8px #0000001a}.tenant-form-card h3{color:#1a202c;margin:0 0 20px;font-size:18px;font-weight:700}.tenant-form-card .tenant-form{flex-direction:column;gap:20px;display:flex}@media (width<=768px){.tenant-form-card{margin-bottom:16px;padding:16px}.tenant-form-card h3{margin-bottom:16px;font-size:16px}}.fullscreen-main-container{min-height:0}.fullscreen-nav-prev,.fullscreen-nav-next{width:40px;height:40px;font-size:1.2rem}.fullscreen-thumbnails{gap:.35rem;padding:.75rem}.fullscreen-thumbnail{width:60px;height:60px}.fullscreen-tabs{padding:0 .75rem}.fullscreen-tab{padding:.75rem 1rem;font-size:.85rem}.gallery-header{max-height:30vh}.gallery-header-content{text-align:left;flex-direction:row;justify-content:space-between;align-items:flex-start;padding:1rem 1.5rem}.gallery-tenant-name{margin-bottom:.5rem;font-size:1.3rem}.gallery-header-subtitle{margin:0}.gallery-close-btn{flex-shrink:0;width:44px;height:44px;position:static}.gallery-close-btn:hover{transform:scale(1.12)rotate(90deg)}.gallery-tabs{flex-direction:row;overflow-x:auto}.gallery-tab{border-bottom:3px solid #0000;border-left:none;flex:0 auto;justify-content:center;padding:.75rem 1.25rem}.gallery-tab.active{border-bottom-color:#2563eb;border-left-color:#0000}.gallery-main-container{padding:1rem}.gallery-nav-btn{width:48px;height:48px;font-size:1.5rem}.gallery-nav-prev{left:.75rem}.gallery-nav-next{right:.75rem}.gallery-zoom-controls{gap:.5rem;padding:.6rem 1rem}.zoom-btn{width:34px;height:34px;font-size:.95rem}.zoom-value{min-width:45px;font-size:.8rem}.gallery-counter{padding:.65rem 1.25rem;font-size:.9rem;top:1rem}.gallery-main-image{max-width:80%;max-height:80%}.gallery-thumbnail{width:90px;height:90px}.thumbnails-scroll{gap:.6rem}.gallery-thumbnails{min-height:110px;padding:.75rem}@media (width<=480px){.stat-value{font-size:clamp(1.2rem,3vw,1.5rem)}.filter-toggle-btn{margin-bottom:1.5rem;padding:.6rem 1rem;font-size:.8rem}.room-filter{flex-direction:column;gap:.5rem}.clear-room-filter{width:100%}.tenant-name{font-size:clamp(.9rem,2vw,1rem)}.detail-label{min-width:auto;margin-right:.25rem;font-size:.85rem}.search-section{gap:.5rem}.btn-create{padding:.6rem 1rem;font-size:.85rem}.fullscreen-container{z-index:9999;width:100%;height:100%;position:fixed;top:0;left:0}.fullscreen-content{border-radius:0;flex:1;width:100%}.fullscreen-header{padding:1.5rem 1rem}.fullscreen-title-section{flex-wrap:wrap;gap:1rem}.fullscreen-header h1{flex:0 100%;font-size:1.3rem}.fullscreen-main-photo{width:120px;height:120px}.fullscreen-body{padding:1.5rem 1rem}.fullscreen-section h3{margin-bottom:1.5rem;font-size:1.2rem}.fullscreen-grid{grid-template-columns:1fr;gap:1rem}.fullscreen-field{gap:.5rem}.fullscreen-field label{font-size:.8rem}.fullscreen-field p{padding:.75rem 1rem;font-size:1rem}.fullscreen-payment-grid{grid-template-columns:1fr;gap:1rem}.fullscreen-photos-grid{grid-template-columns:repeat(3,1fr);gap:1rem}.fullscreen-proofs-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.proof-item span{font-size:.75rem}.fullscreen-close-btn{width:40px;height:40px;font-size:1.5rem;top:1rem;right:1rem}.fullscreen-status-section{margin-bottom:1.5rem}.occupancy-status-badge{padding:.6rem 1.2rem;font-size:.9rem}.fullscreen-modal{border-radius:0;width:100%;height:100vh}.fullscreen-main-container{min-height:0}.fullscreen-nav-prev,.fullscreen-nav-next{width:40px;height:40px;font-size:1.2rem}.fullscreen-counter{font-size:.75rem}.fullscreen-thumbnails{gap:.35rem;max-height:none;padding:.75rem}.fullscreen-thumbnail{width:60px;min-width:60px;height:60px}.fullscreen-tabs{padding:0 .75rem}.fullscreen-tab{text-align:left;flex:0 auto;padding:.75rem 1rem;font-size:.85rem}.gallery-header{max-height:35vh;padding:0;overflow-y:auto}.gallery-header-content{flex-direction:row-reverse;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem 1rem}.gallery-tenant-name{margin-bottom:.25rem;font-size:1.1rem}.gallery-header-subtitle{font-size:.8rem}.gallery-close-btn{flex-shrink:0;width:38px;height:38px;position:static}.gallery-tabs{flex-direction:row;overflow-x:auto}.gallery-tab{border-bottom:2px solid #0000;border-left:none;flex:none;padding:.6rem .8rem;font-size:.75rem}.gallery-tab.active{border-bottom-color:#2563eb}.gallery-main-container{padding:0 .5rem}.gallery-main-image{max-width:95%;max-height:100%}.gallery-nav-btn{width:40px;height:40px;font-size:1.2rem}.gallery-nav-prev{left:.5rem}.gallery-nav-next{right:.5rem}.gallery-zoom-controls{gap:.2rem;padding:.4rem .6rem;bottom:.5rem}.zoom-btn{width:28px;height:28px;font-size:.85rem}.zoom-value{min-width:32px;font-size:.65rem}.gallery-counter{padding:.4rem .75rem;font-size:.75rem;top:2.5rem;right:.5rem}.gallery-thumbnail{width:70px;height:70px}.thumbnail-number{font-size:.6rem}.thumbnails-scroll{gap:.35rem}.gallery-thumbnails{height:auto;max-height:100px;padding:.75rem}}.last-checkout-date{color:#334155;vertical-align:middle;background:linear-gradient(135deg,#f8fafc 0%,#e0e7ff 100%);border:1px solid #e2e8f0;border-radius:6px;margin-left:1rem;padding:.25rem .75rem;font-size:.97rem;font-weight:500;transition:background .2s,color .2s;display:inline-block;box-shadow:0 1px 2px #00000008}.currently-vacant{background:#eff6ff;border-radius:10px;box-shadow:0 0 0 2px #93c5fd33;border:2px solid #2563eb!important}.occupancy-container{background:linear-gradient(135deg,#f8fafc 0%,#e0e7ff 100%);width:100%;min-height:100vh;margin:0;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.room-occupancy-tabs{border-bottom:1px solid #cbd5e1;gap:8px;margin:0 0 24px;display:flex;overflow-x:auto}.room-occupancy-tab{color:#475569;cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:10px 16px;font-weight:600}.room-occupancy-tab:hover,.room-occupancy-tab.active{color:#1d4ed8}.room-occupancy-tab.active{border-bottom-color:#2563eb}.occupancy-header{background:#fff;border-radius:12px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 6px #00000012}.occupancy-header h1{color:#1e293b;margin:0 0 .5rem;font-size:2.5rem}.occupancy-header p{color:#64748b;margin:0;font-size:1rem}.error-card{background:#fed7d7;border:1px solid #fc8181;border-radius:8px;gap:1rem;margin-bottom:2rem;padding:1.5rem;animation:.3s ease-out slideDown;display:flex}.error-card>div{flex:1}.error-card strong{color:#742a2a;margin-bottom:.25rem;font-size:1rem;display:block}.stat-card{background:#fff;border-left:4px solid #e2e8f0;border-radius:12px;align-items:center;gap:1rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 6px #00000012}.stat-card.total{border-left-color:#4299e1}.stat-card.occupied{border-left-color:#48bb78}.stat-card.vacant{border-left-color:#ed8936}.stat-card.revenue{border-left-color:#9f7aea}.stat-card.collected{border-left-color:#38b6ff}.stat-card.pending{border-left-color:#f6ad55}.stat-content{flex:1}.stat-percentage{color:#48bb78;margin-top:.25rem;font-size:.85rem;font-weight:600;display:block}.filters-section{background:#fff;border-radius:12px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 4px 6px #00000012}.filter-group{margin-bottom:1rem}.search-input{border:2px solid #e2e8f0;border-radius:8px;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .3s}.search-input::placeholder{color:#a0aec0}.filter-buttons{flex-wrap:wrap;gap:1rem;display:flex}.filter-btn{cursor:pointer;color:#4a5568;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s}.filter-btn:hover{background:#f7fafc;border-color:#cbd5e0}.filter-btn.active{color:#fff;background:#667eea;border-color:#667eea}.room-filter{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;display:flex}.clear-room-filter{color:#fff;cursor:pointer;background-color:#dc2626;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s}.clear-room-filter:hover{background-color:#991b1b;transform:translateY(-2px);box-shadow:0 4px 8px #dc26264d}.clear-room-filter:active{transform:translateY(0)}.rooms-grid{background:#fff;border-radius:0 0 12px 12px;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:grid;overflow:visible;box-shadow:0 4px 6px #00000012}.occupancy-room-card{cursor:pointer;z-index:1;outline:none;justify-self:center;width:78px;height:78px;transition:transform .2s,box-shadow .2s;position:relative;overflow:visible}.occupancy-room-card.expanded{z-index:50}.occupancy-room-circle{background:#fff;border:3px solid #e2e8f0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;width:78px;height:78px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;box-shadow:0 8px 18px #0f172a1f}.occupancy-room-card.occupied .occupancy-room-circle{background:linear-gradient(#f0fdf4 0%,#dcfce7 100%);border-color:#16a34a}.occupancy-room-card.vacant .occupancy-room-circle{background:linear-gradient(#fff7ed 0%,#fee2e2 100%);border-color:#dc2626}.occupancy-room-card:hover .occupancy-room-circle,.occupancy-room-card:focus-visible .occupancy-room-circle,.occupancy-room-card.expanded .occupancy-room-circle{transform:translateY(-2px);box-shadow:0 14px 26px #0f172a2e}.occupancy-room-card:focus-visible .occupancy-room-circle{outline-offset:3px;outline:3px solid #3b82f659}.room-status-dot{border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:7px;right:10px}.occupancy-room-card.occupied .room-status-dot{background:#16a34a}.occupancy-room-card.vacant .room-status-dot{background:#dc2626}.room-number-only{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;max-width:60px;font-size:1.05rem;font-weight:700;line-height:1;overflow:hidden}.room-status-label{color:#475569;text-transform:uppercase;white-space:nowrap;font-size:.62rem;font-weight:800;line-height:1}.room-grid-popup-item{grid-column:1/-1;justify-content:center;padding:.15rem 0 .35rem;display:flex}.room-details-popup{z-index:60;cursor:default;background:#fff;border:1px solid #dbe4f0;border-radius:10px;width:292px;max-width:min(292px,100vw - 2rem);padding:.7rem;position:relative;box-shadow:0 18px 30px #0f172a33}.room-details-popup:before{content:"";background:#fff;border-top:1px solid #dbe4f0;border-left:1px solid #dbe4f0;width:14px;height:14px;position:absolute;top:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.popup-room-meta{border-bottom:1px dashed #dbe4f0;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.5rem;padding:.2rem 1.6rem .45rem .15rem;display:flex}.popup-room-meta strong{color:#0f172a;margin-right:.2rem;font-size:.8rem}.popup-room-meta span{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:.12rem .42rem;font-size:.72rem}.popup-room-state.occupied{color:#14532d;letter-spacing:.2px;text-transform:uppercase;background:#bbf7d0;border-color:#22c55e;font-weight:800}.popup-room-state.vacant{color:#7f1d1d;letter-spacing:.2px;text-transform:uppercase;background:#fecaca;border-color:#ef4444;font-weight:800}.popup-vacancy-aging{color:#92400e;background:#fef3c7;border-color:#fde68a}.popup-close-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;width:24px;height:24px;font-size:.95rem;line-height:1;position:absolute;top:.4rem;right:.45rem}.popup-close-btn:hover{background:#f8fafc}.compact-popup-grid{grid-template-columns:1fr;gap:.6rem;padding:.2rem}.compact-popup-grid .tenant-section h4,.compact-popup-grid .payment-section h4{margin-bottom:.45rem;font-size:.73rem}.compact-popup-grid .tenant-section p,.compact-popup-grid .payment-section p,.compact-popup-grid .payment-row{margin:.2rem 0;font-size:.78rem}.compact-popup-grid .payment-section{padding:.6rem}.compact-popup-grid .aging-info,.compact-popup-grid .vacancy-aging,.compact-popup-grid .occupancy-status{padding:.36rem .5rem;font-size:.74rem}.compact-popup-grid .last-payment{margin-top:.45rem;padding-top:.45rem;font-size:.74rem}.compact-vacant-popup{padding:.9rem .55rem .45rem}.occupancy-badge{white-space:nowrap;border-radius:999px;align-self:start;padding:.38rem .7rem;font-size:.74rem;font-weight:600}.occupancy-badge.occupied{color:#22543d;background:#c6f6d5}.occupancy-badge.vacant{color:#742a2a;background:#fed7d7}.toggle-room-info-btn{color:#4f46e5;cursor:pointer;background-color:#fff;border:1px solid #c7d2fe;border-radius:999px;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;padding:0;font-size:.66rem;font-weight:700;line-height:1;transition:all .3s;display:flex}.toggle-room-info-btn:hover{background-color:#eef2ff;transform:translateY(-2px);box-shadow:0 4px 8px #4f46e540}.toggle-room-info-btn:active{transform:translateY(0)}.toggle-room-info-btn.open{color:#fff;background-color:#4f46e5;border-color:#4f46e5}.room-tenant-info{grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;display:grid}.tenant-section h4,.payment-section h4{color:#2d3748;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .7rem;font-size:.8rem;font-weight:600}.tenant-section p,.payment-section p{color:#4a5568;margin:.35rem 0;font-size:.84rem;line-height:1.45}.tenant-contact{color:#667eea}.check-in,.check-out{color:#718096}.aging-info{color:#2563eb;background:#dbeafe;border-radius:6px;margin-top:.4rem;padding:.4rem .65rem;font-size:.82rem;font-weight:600}.vacancy-aging{color:#2563eb;text-align:center;background:#dbeafe;border-radius:6px;margin-top:.4rem;padding:.4rem .65rem;font-size:.82rem;font-weight:600}.occupancy-status{text-align:center;border-radius:6px;margin-top:.75rem;padding:.55rem;font-size:.8rem;font-weight:600}.occupancy-status.active{color:#14532d;letter-spacing:.3px;text-transform:uppercase;background:#bbf7d0;border:1px solid #16a34a;font-weight:800}.occupancy-status.ended{color:#7f1d1d;letter-spacing:.3px;text-transform:uppercase;background:#fecaca;border:1px solid #dc2626;font-weight:800}.last-payment{color:#718096;border-top:1px solid #e2e8f0;margin-top:.75rem;padding-top:.75rem;font-size:.8rem}.payment-section{background:#f7fafc;border-radius:8px;padding:.85rem}.payment-row{color:#2d3748;justify-content:space-between;align-items:center;margin-bottom:.55rem;font-size:.82rem;display:flex}.payment-row:last-of-type{margin-bottom:0}.payment-row .amount{font-size:.9rem;font-weight:700}.payment-row .amount.received{color:#48bb78}.payment-row .amount.pending{color:#ed8936}.room-vacant-info{text-align:center;padding:1.75rem 1rem}.vacant-message{color:#a0aec0;margin:0 0 .35rem;font-size:.92rem}.vacant-action{color:#718096;margin:0;font-size:.82rem;font-style:italic}.no-results{text-align:center;background:#fff;border-radius:12px;grid-column:1/-1;padding:4rem 2rem;box-shadow:0 4px 6px #00000012}.no-results p{color:#718096;margin:.5rem 0;font-size:1.1rem}.no-results p:first-child{color:#4a5568;font-size:1.25rem;font-weight:600}@media (width<=1024px){.occupancy-header h1{font-size:clamp(1.8rem,4vw,2.5rem)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:clamp(.75rem,2vw,1.5rem)}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}}@media (width<=768px){.occupancy-container{padding:clamp(1rem,3vw,2rem)}.occupancy-header{margin-bottom:clamp(1rem,3vw,2rem);padding:clamp(1rem,3vw,1.5rem)}.occupancy-header h1{font-size:clamp(1.5rem,4vw,1.75rem)}.occupancy-header p{font-size:clamp(.85rem,2vw,1rem)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:clamp(.75rem,2vw,1rem)}.stat-card{text-align:center;flex-direction:column;min-height:44px;padding:clamp(.75rem,2vw,1rem)}.stat-icon{font-size:clamp(1.5rem,3vw,2rem)}.stat-value{font-size:clamp(1.2rem,2.5vw,1.5rem)}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.8rem;padding:1rem}.room-details-popup{padding:.6rem}.popup-room-meta{padding-right:1.45rem}.occupancy-room-card,.occupancy-room-circle{width:70px;height:70px}.room-tenant-info{grid-template-columns:1fr;gap:clamp(.75rem,2vw,1rem)}.filter-buttons{flex-direction:column;gap:.5rem}.filter-btn{width:100%;min-height:44px;font-size:clamp(.85rem,2vw,1rem)}.room-filter{gap:.75rem}.clear-room-filter{padding:.65rem 1.25rem;font-size:.85rem}}@media (width<=480px){.occupancy-container{padding:clamp(.75rem,2vw,1rem)}.occupancy-header{margin-bottom:1rem;padding:clamp(1rem,2vw,1rem)}.occupancy-header h1{font-size:clamp(1.2rem,3vw,1.5rem)}.occupancy-header p{font-size:clamp(.8rem,1.5vw,.9rem)}.stat-card{padding:clamp(.6rem,1.5vw,.75rem)}.stat-icon{font-size:clamp(1.25rem,2vw,1.75rem)}.stat-value{font-size:clamp(1rem,2vw,1.25rem)}.room-details-popup{padding:.55rem}.room-tenant-info{padding:clamp(.75rem,2vw,1rem)}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:.7rem;padding:.8rem}.occupancy-room-card,.occupancy-room-circle{width:66px;height:66px}.room-number-only{max-width:50px;font-size:.95rem}.room-status-label{font-size:.56rem}.filter-btn{padding:.6rem;font-size:.8rem}.room-filter{flex-direction:column;gap:.5rem}.clear-room-filter{width:100%;padding:.6rem 1rem;font-size:.8rem}}.toggle-btn.expanded,.toggle-btn.collapsed{transform:none}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.analytics-card{background:linear-gradient(155deg,#fff 0%,#f8fafc 52%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:16px;padding:1.25rem;box-shadow:0 10px 24px #0f172a14}.analytics-card-header h3{color:#0f172a;letter-spacing:.2px;margin:0;font-size:1.05rem}.analytics-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.fullscreen-btn{color:#1d4ed8;cursor:pointer;white-space:nowrap;background:#eff6ff;border:1px solid #1d4ed8;border-radius:8px;padding:.45rem .8rem;font-size:.78rem;font-weight:700;transition:all .2s}.fullscreen-btn:hover{background:#dbeafe;transform:translateY(-1px)}.revenue-year-selector{flex-direction:column;gap:.25rem;min-width:112px;display:flex}.revenue-year-selector label{color:#475569;text-transform:uppercase;letter-spacing:.5px;font-size:.72rem;font-weight:700}.revenue-year-selector select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem .55rem;font-size:.85rem;font-weight:600}.revenue-year-selector select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f62e}.chart-info-state{color:#1e3a8a;background:#f8fbff;border:1px solid #dbeafe;border-radius:10px;padding:1rem;font-size:.9rem;font-weight:600}.chart-info-state.error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.analytics-card-header p{color:#475569;margin:.4rem 0 1rem;font-size:.9rem}.revenue-chart-scroll{padding-bottom:.25rem;overflow-x:auto}.revenue-chart-canvas{flex-direction:column;gap:.9rem;min-width:420px;display:flex}.revenue-row{background:#ffffffe6;border:1px solid #e2e8f0;border-radius:12px;padding:.8rem}.revenue-room-meta{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.room-pill{color:#1e293b;background:#e2e8f0;border-radius:999px;padding:.25rem .6rem;font-size:.82rem;font-weight:700}.room-state{text-transform:uppercase;letter-spacing:.6px;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.room-state.occupied{color:#065f46;background:#d1fae5}.room-state.vacant{color:#9a3412;background:#ffedd5}.revenue-bars{gap:.5rem;display:grid}.bar-track{border-radius:999px;height:10px;position:relative;overflow:hidden}.expected-track{background:#dbeafe}.received-track{background:#d1fae5}.bar-fill{border-radius:inherit;height:100%;transition:width .5s}.expected-fill{background:linear-gradient(90deg,#2563eb,#60a5fa)}.received-fill{background:linear-gradient(90deg,#0f766e,#14b8a6)}.revenue-amounts{color:#334155;grid-template-columns:1fr 1fr;gap:.2rem .8rem;margin-top:.6rem;font-size:.78rem;display:grid}.pending-amount{color:#c2410c;font-weight:700}.clear-amount{color:#0f766e;font-weight:700}.collection-rate{color:#1e40af;justify-self:end;font-weight:700}.revenue-pie-section{border-top:1px solid #dbe3ec;margin-top:1rem;padding-top:.9rem}.revenue-pie-section h4{color:#1e293b;margin:0 0 .8rem;font-size:.92rem}.revenue-pie-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.revenue-pie-wrap{background:#fff;border:1px solid #dbe3ec;border-radius:14px;padding:.75rem;box-shadow:inset 0 0 0 1px #fffc}.revenue-pie-svg{width:100%;height:auto;display:block}.pie-total-label{fill:#64748b;text-transform:uppercase;letter-spacing:.6px;font-size:10px;font-weight:700}.pie-total-value{fill:#0f172a;font-size:10px;font-weight:700}.revenue-pie-legend{flex-direction:column;gap:.45rem;max-height:260px;padding-right:.2rem;display:flex;overflow-y:auto}.revenue-pie-legend-item{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:12px minmax(70px,1fr) auto auto;align-items:center;gap:.45rem;padding:.35rem .45rem;font-size:.76rem;display:grid}.pie-color-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.pie-room-label{color:#1e293b;font-weight:600}.pie-room-value{color:#0f766e;font-weight:700}.pie-room-share{color:#475569;font-weight:700}.vacancy-overview{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.vacancy-donut{border-radius:50%;flex-shrink:0;width:126px;height:126px;position:relative}.vacancy-donut:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:18px}.vacancy-donut-center{z-index:1;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vacancy-donut-center strong{color:#0f172a;font-size:1.2rem;line-height:1}.vacancy-donut-center span{color:#64748b;text-transform:uppercase;letter-spacing:.7px;margin-top:.3rem;font-size:.72rem}.vacancy-summary{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.vacancy-summary div{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.55rem}.vacancy-summary strong{color:#0f172a;font-size:1rem;display:block}.vacancy-summary span{color:#64748b;font-size:.73rem}.vacancy-list{flex-direction:column;gap:.55rem;max-height:none;padding-right:0;display:flex;overflow-y:visible}.vacancy-row{grid-template-columns:80px 1fr auto;align-items:center;gap:.65rem;display:grid}.vacancy-room{color:#334155;font-size:.78rem;font-weight:700}.vacancy-track{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.vacancy-fill{border-radius:inherit;height:100%;transition:width .5s}.vacancy-fill.occupied{background:linear-gradient(90deg,#0f766e,#2dd4bf)}.vacancy-fill.vacant{background:linear-gradient(90deg,#b45309,#fb923c)}.vacancy-value{color:#334155;white-space:nowrap;font-size:.75rem}.chart-legend{color:#475569;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.85rem;font-size:.74rem;display:flex}.chart-legend span{align-items:center;gap:.35rem;display:inline-flex}.fullscreen-overlay{z-index:10000;background:#0f172ab3;justify-content:center;align-items:stretch;padding:1rem;display:flex;position:fixed;inset:0}.fullscreen-content{background:linear-gradient(160deg,#fff 0%,#f8fafc 55%,#eef2ff 100%);border:1px solid #cbd5e1;border-radius:18px;flex-direction:column;width:min(1300px,100%);height:100%;display:flex;overflow:hidden;box-shadow:0 20px 40px #0f172a47}.fullscreen-header{background:#ffffffeb;border-bottom:1px solid #dbe2ea;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.fullscreen-header h2{color:#0f172a;margin:0;font-size:1.25rem}.fullscreen-header p{color:#475569;margin:.25rem 0 0;font-size:.85rem}.fullscreen-close-btn{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #334155;border-radius:8px;padding:.45rem .9rem;font-size:.8rem;font-weight:700;transition:all .2s}.fullscreen-close-btn:hover{background:#f1f5f9}.fullscreen-vacancy-body{padding:1rem 1.25rem 1.25rem;overflow:auto}.fullscreen-vacancy-body .vacancy-list{max-height:none}.legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.expected-dot{background:#3b82f6}.received-dot{background:#14b8a6}.occupied-dot{background:#0f766e}.vacant-dot{background:#ea580c}@media (width<=1200px){.analytics-grid{grid-template-columns:1fr}}@media (width<=768px){.analytics-card{padding:.95rem}.analytics-header-row{flex-direction:column}.fullscreen-btn,.revenue-year-selector{width:100%}.vacancy-overview{flex-direction:column;align-items:flex-start}.vacancy-summary{width:100%}.revenue-amounts{grid-template-columns:1fr}.collection-rate{justify-self:start}.revenue-pie-layout{grid-template-columns:1fr}.revenue-pie-wrap{max-width:280px}.vacancy-row{grid-template-columns:72px 1fr}.vacancy-value{grid-column:1/-1;padding-left:.1rem}.fullscreen-overlay{padding:.4rem}.fullscreen-content{border-radius:12px}.fullscreen-header{flex-direction:column;align-items:flex-start;padding:.9rem}.fullscreen-close-btn{width:100%}.fullscreen-vacancy-body{padding:.75rem .9rem .9rem}}.room-management-container{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);width:100%;max-width:1400px;min-height:100vh;margin:0 auto;padding:20px}.error-card,.success-card{border-radius:8px;align-items:flex-start;gap:15px;margin-bottom:20px;padding:16px;font-size:14px;display:flex}.error-card{color:#c33;background-color:#fee;border:1px solid #fcc}.error-card span,.success-card span{flex-shrink:0;font-size:20px}.error-card strong,.success-card strong{margin-bottom:4px;font-size:15px;display:block}.error-card p,.success-card p{color:inherit;margin:0}.success-card{color:#3c3;background-color:#efe;border:1px solid #cfc}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-header h2{color:#333;margin:0;font-size:15px}.toggle-btn{cursor:pointer;color:#666;background:0 0;border:none;padding:0;font-size:20px;transition:color .3s}.collapsible-content{max-height:1000px;margin-bottom:20px;transition:all .3s;overflow:hidden}.collapsible-content.closed{max-height:0;margin-bottom:0}.room-selector-panel,.tenant-selector-panel{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:8px;margin-bottom:20px;padding:18px;display:flex;box-shadow:0 6px 18px #0f172a0f}.tenant-selector-panel{margin-bottom:12px}.room-selector-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.selected-room-meta{color:#64748b;font-size:12px;font-weight:600}.room-select{color:#0f172a;background:#fff;border:2px solid #cbd5e1;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:15px}.room-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.selected-room-panel{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:18px;padding:20px;display:flex;box-shadow:0 10px 28px #0f172a0f}.selected-room-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.selected-room-kicker{letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin:0 0 6px;font-size:11px;font-weight:700}.selected-room-header h3{color:#0f172a;margin:0;font-size:28px}.selected-room-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.selected-room-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.selected-room-stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.selected-room-stat span{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.selected-room-stat strong{color:#0f172a;font-size:18px}.stat-card{background:#fff;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;transition:all .3s;display:flex;box-shadow:0 2px 8px #0000001a}.stat-icon{flex-shrink:0;font-size:20px}.stat-content h3{color:#666;margin:0;font-size:11px;font-weight:600}.stat-card.total .stat-value{color:#06c}.stat-card.occupied .stat-value{color:#28a745}.stat-card.vacant .stat-value{color:#dc3545}.stat-card.monthly-rent .stat-value{color:#ff9800}.stat-card.active-filter{background:#00000005;border:2px solid;box-shadow:0 0 0 3px #0000000d}.stat-card.occupied.active-filter{background:#28a7450d;border-color:#28a745;box-shadow:0 0 0 3px #28a7451a}.stat-card.vacant.active-filter{background:#dc35450d;border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.search-section{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:20px;display:flex}.search-inputs-container{flex:1;gap:15px;min-width:300px;display:flex}.search-input-group{flex-direction:column;flex:1;min-width:150px;display:flex}.search-label{color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:12px;font-weight:600}.search-input{border:2px solid #ddd;border-radius:6px;padding:10px 12px;font-size:14px;transition:border-color .3s}.expand-collapse-buttons{gap:8px;display:flex}.btn-expand-all,.btn-collapse-all{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:12px 16px;font-size:13px;font-weight:600;transition:all .3s}.btn-expand-all{color:#fff;background:#06c}.btn-expand-all:hover{background:#0052a3;transform:translateY(-1px);box-shadow:0 2px 8px #0066cc4d}.btn-collapse-all{color:#fff;background:#6c757d}.btn-collapse-all:hover{background:#5a6268;transform:translateY(-1px);box-shadow:0 2px 8px #6c757d4d}.rooms-list{flex-direction:column;gap:10px;display:flex}.room-number{color:#0f172a;white-space:nowrap;margin:0;font-size:13px;font-weight:700}.room-beds{color:#1976d2;white-space:nowrap;background:#e3f2fd;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:600;display:inline-block}.tenants-count{color:#7b1fa2;white-space:nowrap;background:#f3e5f5;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:600;display:inline-block}.vacancy-badge{color:#c62828;white-space:nowrap;background:#ffebee;border:1px solid #ef5350;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-block}.room-rent-section{flex:none;justify-content:flex-end;min-width:0;display:flex}.rent-display{align-items:center;gap:6px;display:flex}.rent-label{color:#64748b;font-size:10px;font-weight:500}.rent-amount{color:#ea580c;font-size:12px;font-weight:700}.btn-edit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600;transition:all .2s}.rent-edit-form{align-items:center;gap:8px;display:flex}.rent-input{border:2px solid #06c;border-radius:4px;width:120px;padding:8px 12px;font-size:14px;font-weight:600}.rent-input:focus{outline:none;box-shadow:0 0 0 3px #0066cc1a}.btn-save,.btn-cancel{cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .3s}.btn-save{color:#fff;background:#28a745}.btn-save:hover:not(:disabled){background:#218838}.btn-save:disabled{cursor:not-allowed;background:#ccc}.occupancy-status{flex:0}.badge{border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-block}.badge.active{color:#155724;background:#d4edda}.badge.inactive,.badge.vacant{color:#721c24;background:#f8d7da}.advance-total-badge{color:#9a3412;background:#fff4e5;border:1px solid #fed7aa;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600}.tenant-history{background:#fcfdff;border-top:1px solid #e5e7eb;padding:12px 14px 14px}.tenant-history h4{color:#334155;margin:0 0 10px;font-size:14px;font-weight:600}.no-history{text-align:center;color:#999;margin:10px 0}.history-table{border-collapse:collapse;width:100%;font-size:13px}.history-table thead{background:#f0f0f0;border-bottom:2px solid #ddd}.history-table th{text-align:left;color:#333;white-space:nowrap;padding:12px 8px;font-weight:600}.history-table td{border-bottom:1px solid #e0e0e0;padding:12px 8px}.history-table tbody tr{transition:background-color .2s}.history-table tbody tr:hover{background:#f9f9f9}.history-table tbody tr.active{background:#f0f8ff}.history-table tbody tr.inactive{opacity:.8}.status-cell{font-weight:600}.tenant-name{color:#333;font-weight:600}.phone,.city{color:#666}.phone-highlight{color:#ff6b35;background-color:#fff9e6;border-radius:3px;padding:2px 4px;font-weight:700}.date{color:#666;font-size:12px}.currency{text-align:right;font-family:Courier New,monospace;font-weight:500}.currency.collected{color:#28a745}.currency.pending{color:#dc3545}.tenant-view-btn{cursor:pointer;background:#fff;border:1px solid #d0d7de;border-radius:6px;padding:6px 8px;font-size:15px;line-height:1;transition:transform .2s,box-shadow .2s}.tenant-view-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.tenant-view-modal-overlay{z-index:1200;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.tenant-view-modal{background:#fff;border-radius:12px;width:100%;max-width:560px;overflow:hidden;box-shadow:0 18px 44px #0003}.tenant-view-modal-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.tenant-view-modal-header h3{margin:0;font-size:17px}.tenant-view-close{cursor:pointer;background:0 0;border:none;font-size:20px}.tenant-view-content{grid-template-columns:130px 1fr;gap:16px;padding:16px;display:grid}.tenant-view-photo-wrap{justify-content:center;display:flex}.tenant-view-photo,.tenant-view-photo-placeholder{object-fit:cover;border-radius:10px;width:110px;height:110px}.tenant-view-photo-placeholder{color:#274c77;background:#e8edf3;justify-content:center;align-items:center;font-size:42px;font-weight:700;display:flex}.tenant-view-fields p{color:#2f3640;margin:0 0 8px;font-size:14px}.tenant-view-loading,.tenant-view-error{margin:0;padding:18px 16px;font-size:14px}.tenant-view-error{color:#b42318}.tenant-detail-card{background:#f8fbff;border:1px solid #dbe4ef;border-radius:12px;margin-top:14px;overflow:hidden}.tenant-detail-header{background:linear-gradient(135deg,#eef6ff 0%,#f8fafc 100%);align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.tenant-detail-avatar-wrap{background:#edf2f7;border:2px solid #dfeaf7;border-radius:50%;flex-shrink:0;width:60px;height:60px;overflow:hidden}.tenant-detail-avatar,.tenant-detail-avatar-placeholder{object-fit:cover;width:100%;height:100%}.tenant-detail-avatar-placeholder{color:#3b82f6;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.tenant-detail-heading{flex-direction:column;gap:2px;display:flex}.tenant-detail-heading strong{color:#111827;font-size:16px}.tenant-detail-heading span{color:#64748b;font-size:12px}.tenant-detail-tabs{background:#f8fbff;border-bottom:1px solid #e5e7eb;gap:10px;padding:0 16px 12px;display:flex}.tenant-detail-tab{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:600}.tenant-detail-tab.active{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border-color:#1d4ed8}.tenant-detail-body{padding:16px}.tenant-overview-layout,.tenant-deposit-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:16px;display:grid}.tenant-overview-grid,.tenant-detail-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.tenant-overview-photo-wrap,.tenant-deposit-photo-wrap{justify-content:flex-end;display:flex}.tenant-overview-photo,.tenant-deposit-photo{object-fit:cover;background:#edf2f7;border:1px solid #dfeaf7;border-radius:12px;width:220px;height:220px;box-shadow:0 12px 24px #0f172a14}.tenant-deposit-photo{width:100%;max-width:320px;height:auto;max-height:340px}.tenant-detail-field{background:#fff;border:1px solid #edf2f7;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.tenant-detail-field span{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.tenant-detail-field strong{color:#0f172a;font-size:13px;line-height:1.4}.tenant-detail-list{flex-direction:column;gap:8px;display:flex}.tenant-detail-horizontal-list,.tenant-detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px;display:grid}.rental-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:14px;overflow-x:auto}.rental-table{border-collapse:collapse;width:100%;min-width:620px;font-size:13px}.rental-table th,.rental-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5e7eb;padding:10px 12px}.rental-table thead th{color:#475569;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;font-size:12px}.rental-table tbody tr:hover{background:#f8fbff}.eb-history-row.latest{background:linear-gradient(90deg,#3b82f614,#1d4ed805)}.eb-history-row.latest td{color:#1d4ed8;font-weight:700}.eb-history-month{color:#1d4ed8;font-weight:800}.eb-history-service{color:#1e3a8a;font-weight:700}.eb-history-units,.eb-history-amount{color:#dc2626;font-weight:800}.eb-history-rate{color:#b91c1c;font-weight:700}.rental-amount{color:#0f172a;font-weight:700}.rental-table-image{object-fit:cover;background:#f8fafc;border:1px solid #dfeaf7;border-radius:8px;width:72px;height:72px}.clickable-receipt-image{cursor:pointer;transition:transform .15s,box-shadow .15s}.clickable-receipt-image:hover,.clickable-receipt-image:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a1f}.receipt-image-modal-overlay{z-index:1300;background:#0f172ab3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.receipt-image-modal{background:#fff;border-radius:16px;max-width:min(90vw,720px);max-height:90vh;padding:14px;position:relative;box-shadow:0 25px 70px #0f172a47}.receipt-image-close{color:#fff;cursor:pointer;z-index:1;background:#0f172ab3;border:none;border-radius:50%;width:32px;height:32px;font-size:16px;line-height:1;position:absolute;top:12px;right:12px}.receipt-image-preview{object-fit:contain;background:#f8fafc;border-radius:10px;max-width:100%;max-height:85vh;display:block}.rental-no-image{color:#64748b;background:#f1f5f9;border-radius:6px;padding:6px 8px;font-size:11px;display:inline-block}.tenant-detail-card-item{background:#fff;border:1px solid #edf2f7;border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;box-shadow:0 1px 2px #0f172a0a}.tenant-detail-card-item-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.tenant-detail-card-item small,.tenant-detail-list-item span,.tenant-detail-list-item small{color:#475569}.tenant-detail-card-item strong,.tenant-detail-list-item strong{color:#0f172a}.tenant-detail-receipt-photo{object-fit:cover;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;width:100%;height:120px}.tenant-detail-receipt-photo.large{height:auto;max-height:260px}.rental-photo{object-fit:cover;height:160px}.tenant-detail-receipt-placeholder{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;justify-content:center;align-items:center;height:120px;font-size:12px;display:flex}.tenant-detail-receipt-wrap{margin-top:12px}.tenant-deposit-photo-wrap{justify-content:flex-end;align-self:flex-start}.tenant-deposit-placeholder{text-align:center;width:100%;height:auto;min-height:220px;padding:20px}.tenant-detail-empty,.tenant-detail-error{border-radius:8px;margin:0;padding:14px 12px;font-size:13px}.tenant-detail-empty{color:#64748b;background:#f8fafc}.tenant-detail-error{color:#b91c1c;background:#fef2f2}.tenant-detail-list-item.eb-item{background:linear-gradient(135deg,#f0fdf4 0%,#ecfeff 100%)}.no-results{text-align:center;color:#999;grid-column:1/-1;padding:40px 20px}.no-results p{margin:0;font-size:16px}@media (width<=1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.room-header{flex-wrap:wrap;gap:15px}.room-info{width:100%}.room-rent-section{justify-content:flex-start;width:100%}.occupancy-status{width:100%}}@media (width<=768px){.room-management-container{padding:10px}.stats-grid{grid-template-columns:1fr}.room-header{flex-direction:column;align-items:flex-start}.room-info,.room-rent-section,.occupancy-status{width:100%}.history-table{font-size:11px}.history-table th,.history-table td{padding:8px 4px}.rent-input{width:100px}.search-section{flex-direction:column}.search-inputs-container{width:100%;min-width:unset;flex-direction:column}.search-input-group{width:100%;min-width:unset}.expand-collapse-buttons{flex-direction:column;width:100%}.tenant-view-content{grid-template-columns:1fr}.tenant-view-photo-wrap{justify-content:flex-start}.btn-expand-all,.btn-collapse-all{width:100%}.category-heading{flex-direction:column;align-items:flex-start;gap:10px}.category-title{width:100%}.category-count{text-align:center;width:100%}}.complaints-container{background:#f8fafc;width:100%;min-height:100vh;margin:0;padding:clamp(1rem,5vw,20px)}.complaints-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:clamp(1rem,2vw,15px);margin-bottom:clamp(2rem,5vw,30px);display:grid}.stat-card{text-align:center;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;min-height:120px;padding:clamp(1rem,3vw,20px);transition:all .3s;display:flex;box-shadow:0 1px 4px #0000000f}.stat-value{color:#2563eb;margin-bottom:clamp(.5rem,1vw,8px);font-size:clamp(1.5em,3vw,2em);font-weight:700}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:clamp(.7em,1.5vw,.85em)}.stat-card.open .stat-value{color:#ff9800}.stat-card.in-progress .stat-value{color:#2196f3}.stat-card.closed .stat-value{color:#4caf50}.stat-card.charges .stat-value{color:#e91e63}.complaints-filters{background:#fff;border-radius:8px;margin-bottom:30px;padding:20px;box-shadow:0 2px 8px #0000001a}.filter-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.filter-header h3{color:#1e293b;margin:0;font-size:1.1em;font-weight:600}.clear-btn{color:#fff;cursor:pointer;background:#f44336;border:none;border-radius:4px;padding:8px 16px;font-weight:600;transition:all .2s}.clear-btn:hover{background:#d32f2f;box-shadow:0 2px 8px #f443364d}.search-bar{margin-bottom:20px}.search-input{border:1px solid #ddd;border-radius:6px;width:100%;padding:12px;font-size:1em;transition:all .2s}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px;display:grid}.searchable-dropdown-container{flex-direction:column;display:flex}.searchable-dropdown-container label{color:#1e293b;margin-bottom:8px;font-size:.9em;font-weight:600}.dropdown-wrapper{position:relative}.dropdown-trigger{cursor:pointer;text-align:left;background:#fff;border:1px solid #ddd;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;font-size:.95em;transition:all .2s;display:flex}.dropdown-trigger:hover{border-color:#667eea}.dropdown-trigger:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.dropdown-arrow{color:#999;font-size:.8em}.dropdown-content{z-index:100;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 6px 6px;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.dropdown-search{box-sizing:border-box;border:none;border-bottom:1px solid #eee;width:100%;padding:10px 12px;font-size:.9em}.dropdown-search:focus{background:#f5f5f5;outline:none}.dropdown-options{max-height:200px;overflow-y:auto}.dropdown-option{text-align:left;cursor:pointer;background:#fff;border:none;width:100%;padding:10px 12px;font-size:.9em;transition:all .2s}.dropdown-option:hover{background:#f5f5f5}.dropdown-option.selected{color:#fff;background:#667eea;font-weight:600}.no-options{text-align:center;color:#999;padding:15px 12px;font-size:.9em}.date-filter{flex-direction:column;display:flex}.date-filter label{color:#333;margin-bottom:8px;font-size:.9em;font-weight:600}.date-filter input{border:1px solid #ddd;border-radius:6px;padding:10px 12px;font-size:.95em;transition:all .2s}.date-filter input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.results-count{text-align:right;color:#666;margin-top:10px;font-size:.9em}.complaints-table-wrapper{background:#fff;border-radius:8px;margin-bottom:30px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.complaints-table{border-collapse:collapse;width:100%;font-size:.9em}.complaints-table thead{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);font-weight:600}.complaints-table th{text-align:left;border-bottom:2px solid #667eea;padding:15px 12px}.complaints-table tbody tr{border-bottom:1px solid #eee;transition:all .2s}.complaints-table tbody tr:hover{background:#f8f9fa}.complaints-table tbody td{padding:12px}.room-cell{color:#667eea;font-weight:600}.description-cell{color:#666;word-break:break-word}.charges-cell{color:#e91e63;font-weight:600}.details-cell{text-align:center}.proof-icons{justify-content:center;gap:8px;display:flex}.proof-icons span{cursor:pointer;font-size:1.2em;transition:all .2s}.proof-icons span:hover{transform:scale(1.2)}.status-badge.open{color:#856404;background:#fff3cd;border:1px solid #ffeaa7}.status-badge.in\ progress{color:#0c5460;background:#d1ecf1;border:1px solid #bee5eb}.status-badge.closed{color:#155724;background:#d4edda;border:1px solid #c3e6cb}.no-data{text-align:center;color:#999;font-size:1em;padding:40px!important}.legend{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.legend h4{color:#333;margin:0 0 15px;font-size:1em}.legend-items{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;display:grid}.legend-item{align-items:center;gap:12px;display:flex}.badge{white-space:nowrap;border-radius:12px;padding:6px 12px;font-size:.8em;font-weight:600}.open-badge{color:#856404;background:#fff3cd}.in-progress-badge{color:#0c5460;background:#d1ecf1}.closed-badge{color:#155724;background:#d4edda}.error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;margin:20px;padding:15px}.complaints-header{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;display:flex;box-shadow:0 2px 8px #0000001a}.complaints-header h2{color:#333;margin:0;font-size:1.8em}.btn-primary{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:10px 20px;font-size:1em;font-weight:600;transition:all .3s}.actions-cell{justify-content:center;gap:8px;display:flex}.btn-action{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 8px;font-size:1.2em;transition:all .2s}.btn-edit{color:#2196f3}.btn-edit:hover{background:#e3f2fd;transform:scale(1.15)}.btn-delete{color:#f44336}.btn-delete:hover{background:#ffebee;transform:scale(1.15)}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;animation:.3s ease-out slideUp;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-header h3{color:#333;margin:0;font-size:1.4em}.modal-close{cursor:pointer;color:#999;background:0 0;border:none;font-size:1.5em;transition:all .2s}.modal-close:hover{color:#333;transform:scale(1.2)}.complaint-form{padding:20px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;padding:10px;font-family:inherit;font-size:.95em;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:80px}.form-actions{border-top:1px solid #f0f0f0;gap:10px;margin-top:20px;padding-top:20px;display:flex}.btn-submit,.btn-cancel{cursor:pointer;border:none;border-radius:6px;flex:1;padding:12px;font-size:1em;font-weight:600;transition:all .3s}.btn-submit{color:#fff;background:#667eea}.btn-submit:hover{background:#5568d3;transform:translateY(-2px)}.btn-cancel{color:#333;background:#f0f0f0}.btn-cancel:hover{background:#e0e0e0}@media (width<=1024px){.complaints-stats{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.filters-grid{grid-template-columns:repeat(2,1fr);gap:clamp(.75rem,2vw,1rem)}.complaints-table{font-size:clamp(.8em,1.5vw,.95em)}.complaints-table th,.complaints-table td{padding:clamp(.6rem,1vw,10px)}}@media (width<=768px){.complaints-container{padding:clamp(1rem,3vw,15px)}.complaints-stats{grid-template-columns:repeat(2,1fr);gap:clamp(.75rem,2vw,10px)}.stat-value{font-size:clamp(1.2em,2.5vw,1.5em)}.stat-label{font-size:clamp(.65em,1.5vw,.85em)}.filters-grid{grid-template-columns:1fr;gap:clamp(.75rem,2vw,1rem)}.complaints-table-wrapper{border-radius:8px;overflow-x:auto}.complaints-table{font-size:clamp(.75em,1.5vw,.8em)}.complaints-table th,.complaints-table td{word-break:break-word;padding:clamp(.5rem,1vw,8px)}.description-cell{max-width:150px}.legend-items{grid-template-columns:1fr;gap:clamp(.75rem,2vw,1rem)}.complaints-header{flex-direction:column;gap:clamp(1rem,2vw,1.5rem)}.complaints-header h2{font-size:clamp(1.3em,3vw,1.6em)}.btn-primary{width:100%;min-height:44px;font-size:clamp(.9em,2vw,1em)}.clear-btn{width:100%;min-height:44px;font-size:clamp(.85em,2vw,1em)}.search-input{min-height:40px;font-size:16px}.modal-content{max-width:90%}.form-grid{grid-template-columns:1fr}.form-group input,.form-group select,.form-group textarea{min-height:44px;font-size:16px}}@media (width<=480px){.complaints-container{padding:clamp(.75rem,2vw,1rem)}.complaints-stats{grid-template-columns:1fr;gap:clamp(.75rem,2vw,1rem)}.stat-card{min-height:100px}.stat-value{font-size:clamp(1em,2vw,1.2em)}.stat-label{font-size:clamp(.6em,1.5vw,.75em)}.filter-header{flex-direction:column;align-items:flex-start;gap:clamp(.5rem,1vw,10px)}.clear-btn{width:100%;font-size:clamp(.8em,1.5vw,.9em)}.complaints-table{font-size:clamp(.65em,1vw,.75em)}.complaints-table th,.complaints-table td{padding:clamp(.4rem,.8vw,6px)}.description-cell{max-width:80px}.proof-icons{flex-direction:column;gap:clamp(.25rem,.5vw,4px);font-size:clamp(.9em,2vw,1em)}.btn-action{min-width:36px;min-height:36px;font-size:clamp(.9em,1.5vw,1.1em)}.modal-overlay{padding:clamp(.5rem,1vw,1rem)}.modal-content{width:95%;max-height:90vh;margin:0 auto}.modal-header{padding:clamp(1rem,2vw,1.5rem)}.modal-header h3{font-size:clamp(1.1em,2.5vw,1.4em)}.modal-close{justify-content:center;align-items:center;min-width:36px;min-height:36px;font-size:clamp(1.2em,2vw,1.5em);display:flex}.complaint-form{padding:clamp(1rem,2vw,1.5rem)}.form-grid{grid-template-columns:1fr;gap:clamp(.75rem,1.5vw,1rem)}.form-group label{margin-bottom:clamp(.4rem,1vw,.6rem);font-size:clamp(.85em,1.5vw,.95em)}.form-group input,.form-group select,.form-group textarea{min-height:44px;padding:clamp(.6rem,1vw,.75rem);font-size:16px}.form-actions{gap:clamp(.5rem,1vw,.75rem);margin-top:clamp(1rem,2vw,1.5rem)}.btn-submit,.btn-cancel{min-height:44px;padding:clamp(.6rem,1vw,.75rem);font-size:clamp(.85em,1.5vw,.95em)}.complaints-header{flex-direction:column;align-items:stretch;gap:clamp(.75rem,1.5vw,1rem)}.complaints-header h2{font-size:clamp(1.2em,2.5vw,1.4em)}.btn-primary{width:100%}.actions-cell{flex-direction:column;gap:clamp(.25rem,.5vw,.5rem)}.legend-items{grid-template-columns:1fr;gap:clamp(.5rem,1vw,.75rem)}.legend-item{font-size:clamp(.75em,1.5vw,.9em)}}.file-preview{background:#f0f0f0;border-radius:4px;flex-direction:column;align-items:center;gap:4px;margin-top:8px;padding:8px;display:flex}.file-preview img,.file-preview video{object-fit:cover;border-radius:4px;max-width:100px;max-height:100px}.proof-icons{flex-wrap:wrap;gap:8px;display:flex}.proof-link{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1.5em;transition:all .2s}.proof-link:hover{background-color:#e0e0e0;transform:scale(1.1)}.preview-modal{flex-direction:column;max-width:90vw;max-height:90vh;display:flex}.preview-container{background:#f5f5f5;border-radius:4px;flex:1;justify-content:center;align-items:center;padding:16px;display:flex;overflow:auto}.preview-container img,.preview-container video{object-fit:contain;max-width:100%;max-height:100%}.rolling-banner{z-index:1;width:100vw;height:100vh;margin:0;padding:0;position:fixed;top:0;left:0}.banner-container{width:100%;height:100%;box-shadow:none;background-color:#f0f0f0;border-radius:0;position:relative;overflow:hidden}.banner-slider{width:100%;height:100%;position:relative}.banner-slide{background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:flex-end;width:100%;height:100%;transition:opacity .8s ease-in-out;display:flex;position:absolute;top:0;left:0}.banner-slide.active{z-index:10}.banner-label{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center;background:#0009;border-radius:6px;max-width:90%;margin-bottom:16px;padding:12px 24px;font-size:16px;font-weight:500}.banner-btn{color:#333;cursor:pointer;z-index:20;background:#ffffffb3;border:none;border-radius:8px;justify-content:center;align-items:center;padding:20px 28px;font-size:48px;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.banner-btn:hover{background:#fffffff2;transform:translateY(-50%)scale(1.15);box-shadow:0 8px 24px #00000040}.banner-btn:active{transform:translateY(-50%)scale(.95)}.banner-btn-prev{left:40px}.banner-btn-next{right:40px}.banner-dots{z-index:20;gap:12px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.dot{cursor:pointer;background:#fff9;border:none;border-radius:50%;width:16px;height:16px;padding:0;transition:all .3s}.dot:hover{background:#ffffffe6;transform:scale(1.3)}.dot.active{background:#fff;border-radius:8px;width:40px}.banner-counter{color:#ffffffe6;z-index:25;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border-radius:6px;padding:8px 16px;font-size:16px;font-weight:600;position:absolute;top:20px;right:20px}.banner-placeholder{color:#999;width:100%;height:100%;box-shadow:none;background:linear-gradient(135deg,#f5f5f5 0%,#e0e0e0 100%);border-radius:0;justify-content:center;align-items:center;font-size:16px;display:flex}.banner-placeholder.error{color:#c33;background:linear-gradient(135deg,#ffe0e0 0%,#fcc 100%)}@media (width<=768px){.banner-container{border-radius:8px;max-width:100%;margin:0}.banner-btn{padding:8px 12px;font-size:24px}.banner-btn-prev{left:8px}.banner-btn-next{right:8px}.banner-label{margin-bottom:12px;padding:8px 16px;font-size:14px}.banner-dots{gap:8px;bottom:12px}.dot{width:10px;height:10px}.dot.active{width:24px}.banner-counter{margin-top:8px;font-size:12px}}@media (width<=480px){.banner-container{aspect-ratio:4/3}.banner-btn{padding:6px 10px;font-size:20px}.banner-label{margin-bottom:8px;padding:6px 12px;font-size:12px}.banner-dots{gap:6px;bottom:8px}.dot{width:8px;height:8px}.dot.active{width:20px}}.login-container{flex-direction:column;width:100%;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;display:flex;position:relative;overflow:hidden}.login-banner-wrapper{z-index:50;flex-shrink:0;width:100%;position:relative}.login-map-container{z-index:1;flex:1;width:100%;position:relative;top:0;left:0;overflow:hidden}.login-background{display:none}@keyframes gradientShift{0%,to{background:radial-gradient(circle at 20%,#2563eb1a 0%,#0000 50%),radial-gradient(circle at 80% 80%,#1e3a8a1a 0%,#0000 50%)}50%{background:radial-gradient(circle at 80%,#2563eb1a 0%,#0000 50%),radial-gradient(circle at 20% 80%,#1e3a8a1a 0%,#0000 50%)}}.background-blur{filter:blur(80px);background:#ffffff0d;border-radius:50%;width:500px;height:500px;animation:6s ease-in-out infinite float;position:absolute;top:-100px;right:-100px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(30px)}}.login-content{z-index:100;width:auto;max-width:360px;padding:0;position:fixed;bottom:24px;right:24px}.login-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border:1px solid #94a3b840;border-radius:16px;width:100%;padding:1.25rem 1.25rem 1rem;animation:.6s ease-out slideUp;box-shadow:0 18px 45px #0f172a40}.login-header{text-align:center;margin-bottom:1rem}.logo{margin-bottom:.5rem;font-size:2rem;animation:2s ease-in-out infinite bounce;display:inline-block}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-header h1{color:#1e293b;margin-bottom:.25rem;font-size:1.35rem;font-weight:700}.login-header p{color:#64748b;letter-spacing:.4px;font-size:.72rem;font-weight:500}.login-form{margin-bottom:.75rem}.error-message{background:#fed7d7;border:1px solid #fc8181;border-radius:8px;gap:1rem;margin-bottom:1.5rem;padding:1rem;animation:.3s ease-out slideDown;display:flex}.error-message span{flex-shrink:0;font-size:1.5rem}.error-message>div{flex:1}.error-title{color:#742a2a;margin:0 0 .25rem;font-size:.95rem;font-weight:600}.error-text{color:#742a2a;margin:0;font-size:.9rem;line-height:1.4}.form-error-message{color:#7c2d12;background:#feebc8;border:1px solid #fbd38d;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;animation:.3s ease-out slideDown;display:flex}.form-error-message span{flex-shrink:0;font-size:1.2rem}.form-group{margin-bottom:.9rem}.form-group label{color:#2d3748;align-items:center;gap:.5rem;margin-bottom:.45rem;font-size:.8rem;font-weight:600;display:flex}.label-icon{font-size:1.1rem}.form-group input{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;width:100%;padding:.7rem .8rem;font-family:inherit;font-size:.9rem;transition:all .3s}.form-group input:focus{background:#fff;border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{color:#a0aec0;cursor:not-allowed;background:#edf2f7}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{flex:1;padding-right:2.75rem}.toggle-password{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;font-size:1.2rem;transition:opacity .2s;display:flex;position:absolute;right:1rem}.toggle-password:hover:not(:disabled){opacity:.7}.toggle-password:disabled{opacity:.5;cursor:not-allowed}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.3rem;padding:.8rem;font-size:.92rem;font-weight:600;transition:all .3s;display:flex}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-button span:first-child{font-size:1.1rem}.login-footer{text-align:center;border-top:1px solid #e2e8f0;padding-top:1rem}.demo-hint{color:#2d3748;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .2rem;font-size:.8rem;font-weight:600}.demo-text{color:#718096;margin:0;font-size:.75rem}.login-info{display:none}@media (width>=1024px){.login-info{display:none}}@media (width<=1024px){.login-content{max-width:330px;bottom:18px;right:18px}.login-card{max-width:100%;padding:1.1rem}.login-info{display:none}}@media (width<=640px){.login-container{height:100vh}.login-content{max-width:none;bottom:10px;left:10px;right:10px}.login-card{max-width:100%;padding:1rem}.login-header h1{font-size:1.2rem}.login-header p{font-size:.7rem}.form-group label{font-size:.75rem}.form-group input{padding:.7rem;font-size:16px}.login-button{padding:.75rem;font-size:.85rem}.error-message{font-size:.8rem}.login-info{display:none}}.user-management-container{max-width:1400px;margin:0 auto;padding:clamp(15px,5vw,30px)}.user-management-container h1{color:#1e293b;text-align:center;margin-bottom:25px;font-size:clamp(1.5em,5vw,2.5em);font-weight:700}.tabs{border-bottom:2px solid #e2e8f0;flex-wrap:wrap;gap:10px;margin-bottom:25px;display:flex}.tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:12px 20px;font-size:.95em;font-weight:600;transition:all .3s}.tab-btn:hover{color:#2563eb}.tab-btn.active{color:#2563eb;border-bottom-color:#2563eb}.tab-content{animation:.3s ease-in fadeIn}.toolbar{flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:25px;display:flex}.search-input{background:#fff;border:2px solid #e2e8f0;border-radius:6px;flex:1;min-width:200px;padding:10px 15px;font-size:.95em;transition:all .2s}.form-container{background:#fff;border-left:4px solid #2563eb;border-radius:8px;margin-bottom:25px;padding:clamp(15px,3vw,25px);box-shadow:0 1px 4px #0000000f}.form-container h3{color:#1e293b;margin-top:0;margin-bottom:15px;font-weight:600}.form-container form{gap:15px;display:grid}.form-container input,.form-container select,.form-container textarea{border:1px solid #ddd;border-radius:6px;padding:12px;font-family:inherit;font-size:.95em}.form-container input:focus,.form-container select:focus,.form-container textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-buttons{flex-wrap:wrap;justify-content:flex-start;gap:10px;display:flex}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:.9em;font-weight:600;transition:all .2s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:#5568d3}.btn-success:hover:not(:disabled){background:#218838}.btn-danger{color:#fff;background:#dc3545}.btn-danger:hover:not(:disabled){background:#c82333}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-info{color:#fff;background:#17a2b8}.btn-info:hover:not(:disabled){background:#138496}.btn-sm{padding:6px 12px;font-size:.85em}.items-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:25px;display:grid}.item-card{shadow:0 2px 8px #0000000d;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:clamp(15px,3vw,20px);transition:all .3s}.item-card:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 24px #667eea26}.item-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:15px;display:flex}.item-header h4{color:#333;flex:1;margin:0;font-size:1.1em}.item-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.item-card p{color:#666;margin:8px 0;font-size:.9em;line-height:1.6}.item-card strong{color:#333}.table-responsive{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.95em}.data-table thead{background:#f5f5f5;border-bottom:2px solid #667eea}.data-table th{text-align:left;color:#333;padding:15px;font-weight:600}.data-table td{color:#666;border-bottom:1px solid #e2e8f0;padding:12px 15px}.data-table tbody tr:hover{background:#f9f9f9}.error-message{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;margin-bottom:20px;padding:15px;animation:.3s ease-in slideIn}.success-message{color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;margin-bottom:20px;padding:15px;animation:.3s ease-in slideIn}.modal-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:30px;animation:.3s ease-out slideUp;box-shadow:0 20px 60px #0000004d}.modal-content h3{color:#333;margin-top:0}.modal-content p{color:#666;margin:15px 0}.modal-buttons{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@media (width<=768px){.user-management-container{padding:15px}.tabs{gap:5px}.tab-btn{padding:10px 15px;font-size:.85em}.toolbar{flex-direction:column}.search-input{width:100%;min-width:unset}.btn{justify-content:center;width:100%}.items-grid{grid-template-columns:1fr}.item-header{flex-direction:column}.item-actions{width:100%}.modal-content{margin:20px}}.meter-reading-container{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);max-width:1400px;min-height:100vh;margin:0 auto;padding:clamp(12px,3vw,24px)}.meter-reading-toolbar{background:#fff;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:clamp(12px,2vw,16px);margin-bottom:24px;padding:20px;display:flex;box-shadow:0 2px 8px #0000000f}.toolbar-group{flex-direction:column;gap:6px;display:flex}.toolbar-group label{color:#34495e;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.toolbar-group input,.toolbar-group select{color:#2c3e50;background:#fff;border:2px solid #ecf0f1;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:13px;transition:all .3s}.toolbar-group input:focus,.toolbar-group select:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 3px #3498db1a}.toolbar-group button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);border:none;border-radius:8px;padding:10px 24px;font-size:13px;font-weight:600;transition:all .3s;box-shadow:0 2px 8px #3498db4d}.toolbar-group button:hover{transform:translateY(-2px);box-shadow:0 4px 16px #3498db66}.toolbar-group button:active{transform:translateY(0)}.ocr-camera-panel{background:#f8fbff;border:1px solid #dbeafe;border-radius:10px;margin-top:10px;padding:12px}.ocr-camera-preview-wrap{aspect-ratio:16/9;width:100%;max-width:420px;position:relative}.ocr-camera-preview{object-fit:cover;background:#0f172a;border:1px solid #cbd5e1;border-radius:10px;width:100%;height:100%;display:block}.ocr-focus-overlay{pointer-events:none;background:linear-gradient(#0f172a24,#0f172a24);border-radius:10px;position:absolute;inset:0}.ocr-focus-box{border:2px solid #f8fafc;border-radius:12px;width:64%;height:32%;position:absolute;top:34%;left:18%;box-shadow:0 0 0 1px #0f172a33,0 0 0 9999px #0f172a0f}.ocr-focus-box:before,.ocr-focus-box:after{content:"";background:#f8fafceb;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ocr-focus-box:before{width:52px;height:2px}.ocr-focus-box:after{width:2px;height:52px}.ocr-camera-preview-image{border:1px solid #cbd5e1;border-radius:10px;width:100%;max-width:320px;margin-top:10px}.ocr-camera-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.ocr-camera-actions button{cursor:pointer;border:none;border-radius:8px;padding:8px 12px;font-weight:600}.ocr-camera-actions .btn-ocr-start{color:#fff;background:#2563eb}.ocr-camera-actions .btn-ocr-capture{color:#fff;background:#0f766e}.ocr-camera-actions button:disabled{opacity:.7;cursor:not-allowed}.ocr-camera-error{color:#b91c1c;margin:8px 0 0;font-size:12px}.ocr-camera-help{color:#475569;margin:4px 0 0;font-size:12px}.ocr-camera-text{color:#0f766e;word-break:break-word;margin:8px 0 0;font-size:12px}.meter-photo-thumb-wrap{background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 100%);border:1px solid #dbeafe;border-radius:10px;flex-direction:column;gap:6px;margin-bottom:12px;padding:8px;display:flex}.meter-photo-label{letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8;font-size:10px;font-weight:700}.meter-photo-thumb{object-fit:cover;cursor:pointer;border:2px solid #bfdbfe;border-radius:8px;width:88px;height:66px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #2563eb2e}.meter-photo-thumb:hover{transform:translateY(-1px)scale(1.02);box-shadow:0 4px 12px #2563eb38}.meter-photo-modal-backdrop{z-index:1000;background:#0f172aad;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.meter-photo-modal{background:#fff;border-radius:16px;max-width:min(90vw,820px);max-height:90vh;padding:18px;position:relative;box-shadow:0 20px 40px #0f172a40}.meter-photo-modal-close{color:#0f172a;cursor:pointer;background:#0f172a14;border:none;border-radius:8px;padding:8px 12px;font-weight:700;position:absolute;top:12px;right:12px}.meter-photo-modal-image{object-fit:contain;border-radius:10px;width:auto;max-width:100%;height:auto;max-height:80vh;display:block}.allocations-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:clamp(16px,3vw,24px);margin-bottom:32px;display:grid}.allocation-card{cursor:pointer;background:#fff;border-left:5px solid #3498db;border-radius:12px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000f}.allocation-card:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(135deg,#3498db0d 0%,#0000 100%);transition:opacity .3s;position:absolute;inset:0}.allocation-card:hover{border-left-color:#2980b9;transform:translateY(-6px);box-shadow:0 12px 24px #0000001f}.allocation-card:hover:before{opacity:1}.allocation-card.selected{background:linear-gradient(135deg,#e8f4f8 0%,#f0f8fc 100%);border-left-color:#27ae60;box-shadow:0 4px 12px #27ae6033}.allocation-card.selected:after{content:"";color:#fff;background:#27ae60;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-weight:700;display:flex;position:absolute;top:12px;right:12px}.allocation-card.shop-category{background:linear-gradient(135deg,#fff8f0 0%,#fffaf5 100%);border-left-color:#f39c12}.allocation-card.shop-category:before{background:linear-gradient(135deg,#f39c1214 0%,#0000 100%)}.allocation-card.shop-category:hover{border-left-color:#d68910;box-shadow:0 12px 24px #f39c1226}.allocation-card.shop-category.selected{background:linear-gradient(135deg,#fef3e6 0%,#fef8f0 100%);border-left-color:#e67e22;box-shadow:0 4px 12px #e67e2240}.allocation-card.residential-category{background:linear-gradient(135deg,#e8f4f8 0%,#f0f8fc 100%);border-left-color:#3498db}.allocation-card.residential-category:before{background:linear-gradient(135deg,#3498db0d 0%,#0000 100%)}.allocation-card.residential-category:hover{border-left-color:#2980b9;box-shadow:0 12px 24px #3498db1f}.allocation-card.residential-category.selected{background:linear-gradient(135deg,#d6edf5 0%,#e6f5fb 100%);border-left-color:#27ae60;box-shadow:0 4px 12px #27ae6033}.shop-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:linear-gradient(135deg,#f39c12 0%,#e67e22 100%);border-radius:6px;margin-left:8px;padding:5px 12px;font-size:11px;font-weight:700;display:inline-block;box-shadow:0 2px 6px #f39c1259}.residential-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);border-radius:6px;margin-left:8px;padding:5px 12px;font-size:11px;font-weight:700;display:inline-block;box-shadow:0 2px 6px #3498db4d}.room-info-container{flex:1;align-items:center;gap:0;display:flex}.room-info-container h3{color:#2c3e50;margin:0;font-size:16px;font-weight:700}.card-header{justify-content:space-between;align-items:start;gap:8px;margin-bottom:12px;display:flex}.card-header h3{color:#2c3e50;flex:1;margin:0;font-size:16px;font-weight:700}.service-badge{color:#fff;text-transform:uppercase;white-space:nowrap;background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block;box-shadow:0 2px 4px #3498db4d}.card-body{margin-bottom:12px}.info-row{color:#7f8c8d;border-bottom:1px solid #ecf0f1;justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.info-row:last-child{border-bottom:none}.info-row label{color:#34495e;font-weight:600}.info-row span{color:#2c3e50;font-weight:500}.card-footer{border-top:1px solid #ecf0f1;gap:8px;padding-top:12px;display:flex}.selected-badge{color:#27ae60;text-transform:uppercase;text-align:center;background:#d5f4e6;border-radius:6px;width:100%;padding:6px 12px;font-size:12px;font-weight:600;display:inline-block}.meter-summary-panel{box-shadow:0 6px 20px #dc262614}.meter-summary-grid{margin-top:8px}.meter-summary-item{background:#ffffffb8;border:1px solid #dc262626;border-radius:8px;padding:10px 12px}.meter-summary-label{text-transform:uppercase;letter-spacing:.5px;color:#991b1b;margin-bottom:6px;font-size:11px;font-weight:700}.meter-summary-value{color:#dc2626;font-size:1.05rem;font-weight:800;line-height:1.3}.meter-summary-formula{font-size:12px}.meter-reading-form{background:#fff;border-top:5px solid #27ae60;border-radius:12px;margin-bottom:32px;padding:clamp(20px,4vw,32px);animation:.3s slideDown;box-shadow:0 4px 16px #00000014}.form-section-title{color:#2c3e50;border-bottom:2px solid #ecf0f1;margin:0 0 24px;padding-bottom:12px;font-size:18px;font-weight:700}.form-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(12px,2vw,20px);margin-bottom:20px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:#34495e;text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.form-group input,.form-group select{color:#2c3e50;background:#fff;border:2px solid #ecf0f1;border-radius:8px;padding:12px 14px;font-family:inherit;font-size:14px;transition:all .3s}.form-group input::placeholder{color:#bdc3c7}.qr-actions-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.btn-qr-scan{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);border:none;border-radius:8px;padding:10px 18px;font-weight:600}.btn-qr-scan:hover{filter:brightness(1.05)}.qr-scan-success{color:#166534;background:#dcfce7;border:1px solid #86efac;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:600}.qr-scanner-panel{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin-bottom:20px;padding:16px}.qr-scanner-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.qr-scanner-header h3{color:#1e3a8a;margin:0;font-size:16px}.btn-qr-close{color:#1d4ed8;cursor:pointer;background:#fff;border:1px solid #93c5fd;border-radius:6px;padding:6px 10px;font-weight:600}.qr-scanner-help{color:#334155;margin:10px 0 12px;font-size:13px}.qr-scanner-frame{background:#dbeafe;border:2px solid #93c5fd;border-radius:10px;max-width:420px;margin:0 auto;overflow:hidden}.qr-scanner-frame video,.qr-scanner-frame canvas{width:100%;display:block}.qr-scanner-error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:12px;font-weight:600}.qr-generator-panel{background:linear-gradient(135deg,#f0fdf4 0%,#ecfeff 100%);border:1px solid #d1fae5;border-radius:12px;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:20px;padding:16px;display:grid}.qr-generator-left h3{color:#065f46;margin:0 0 6px;font-size:16px}.qr-generator-left p{color:#374151;margin:0 0 10px;font-size:13px}.qr-generator-left label{color:#065f46;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.qr-generator-left input{border:2px solid #a7f3d0;border-radius:8px;width:100%;max-width:320px;padding:10px 12px;font-size:14px}.qr-generator-left small{color:#374151;word-break:break-all;margin-top:8px;font-size:11px;display:block}.btn-qr-print{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f766e 0%,#0d9488 100%);border:none;border-radius:8px;width:fit-content;margin-top:12px;padding:9px 14px;font-size:13px;font-weight:700}.btn-qr-print:disabled{opacity:.55;cursor:not-allowed}.qr-generator-preview{background:#fff;border:1px dashed #86efac;border-radius:10px;justify-content:center;align-items:center;min-height:220px;padding:10px;display:flex}.qr-generator-empty{color:#6b7280;text-align:center;padding:0 10px;font-size:13px}.form-actions{border-top:1px solid #ecf0f1;flex-wrap:wrap;gap:12px;margin-top:28px;padding-top:20px;display:flex}.btn-save{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#27ae60 0%,#229954 100%);border:none;border-radius:8px;padding:12px 32px;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 2px 8px #27ae604d}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 16px #27ae6066}.btn-save:active{transform:translateY(0)}.btn-cancel{color:#34495e;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:#ecf0f1;border:none;border-radius:8px;padding:12px 32px;font-size:14px;font-weight:600;transition:all .3s}.btn-cancel:hover{background:#d5d8dc;transform:translateY(-2px)}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.loading{text-align:center;color:#7f8c8d;padding:40px;font-size:14px}.empty-state{text-align:center;color:#7f8c8d;padding:60px 20px}.empty-state-icon{opacity:.5;margin-bottom:16px;font-size:48px}.empty-state p{margin:0;font-size:14px}.categories-container{flex-direction:column;gap:24px;margin-bottom:32px;display:flex}.category-section{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.category-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#f5f7fa 0%,#e8eef7 100%);border-bottom:2px solid #e0e7ff;align-items:center;gap:12px;padding:18px 24px;transition:all .3s;display:flex}.category-header:hover{background:linear-gradient(135deg,#eff2f9 0%,#e0e8f5 100%)}.category-toggle-icon{color:#34495e;font-size:14px;font-weight:700;transition:transform .3s;display:inline-block}.category-title{color:#2c3e50;flex:1;margin:0;font-size:16px;font-weight:700}.allocation-card.collapsed{border-left:5px solid #bdc3c7}.allocation-card.collapsed .card-header,.allocation-card.collapsed .card-body{display:none}.card-collapsed-header{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:14px 16px;display:flex}.collapsed-room-info{flex:1;align-items:center;gap:8px;display:flex}.collapsed-room-info h3{color:#2c3e50;margin:0;font-size:14px;font-weight:700}.collapsed-reading-info{background:#f9fafb;border-top:1px solid #ecf0f1;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.reading-item{gaps:4px;flex-direction:column;font-size:12px;display:flex}.reading-item label{color:#7f8c8d;text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:600}.reading-value{color:#2c3e50;font-size:13px;font-weight:700}.collapse-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);border:none;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #3498db33}.collapse-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #3498db4d}.collapse-btn:active{transform:translateY(0)}@media (width<=768px){.allocations-grid{grid-template-columns:1fr}.meter-reading-toolbar{flex-direction:column;align-items:stretch}.toolbar-group{width:100%}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-save,.btn-cancel{width:100%}.card-header{flex-direction:column}.card-header h3{margin-bottom:8px}.qr-generator-panel{grid-template-columns:1fr}.qr-generator-left input{max-width:100%}}.eb-report-section{background:#fff;border:1px solid #dbe2ea;border-radius:10px;margin-top:24px;padding:16px}.eb-report-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.eb-report-header h3{color:#1f2937;margin:0}.eb-report-filters{align-items:center;gap:8px;display:flex}.eb-report-filters select,.eb-report-filters button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 10px}.eb-report-filters button{color:#fff;cursor:pointer;background:#2563eb;border-color:#2563eb}.eb-report-loading,.eb-report-empty{color:#475569;padding:16px}.eb-report-list{flex-direction:column;gap:12px;display:flex}.eb-report-category-section{flex-direction:column;gap:10px;display:flex}.eb-report-category-header{text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:6px 12px;font-size:.82rem;font-weight:700;transition:filter .2s;display:inline-flex}.eb-report-category-header:hover{filter:brightness(.97)}.eb-report-category-header-shop{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.eb-report-category-header-residential{color:#1d4ed8;background:#dbeafe;border:1px solid #93c5fd}.eb-report-category-list{flex-direction:column;gap:12px;display:flex}.eb-report-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.eb-report-card-shop{background:linear-gradient(135deg,#fffaf0 0%,#fffdf7 100%);border-left:4px solid #f59e0b}.eb-report-card-residential{background:linear-gradient(135deg,#f3f8ff 0%,#f8fbff 100%);border-left:4px solid #2563eb}.eb-report-card-vacant{background:#fff1f2;border-color:#fca5a5}.eb-report-card-head{color:#0f172a;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px;display:flex}.eb-report-vacant-badge{text-transform:uppercase;letter-spacing:.02em;color:#9f1239;background:#ffe4e6;border:1px solid #fecdd3;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-block}.eb-report-active-tenant{color:#0369a1;margin-top:4px;font-size:.82rem;font-weight:600}.eb-report-active-tenant-vacant{color:#9f1239;background:#ffe4e6;border:1px solid #fecdd3;border-radius:999px;margin-top:6px;padding:2px 8px;display:inline-block}.eb-report-category-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;margin-left:8px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-block}.eb-report-category-shop{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.eb-report-category-residential{color:#1d4ed8;background:#dbeafe;border:1px solid #93c5fd}.eb-report-metrics{color:#1e293b;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:10px;font-size:.9rem;display:grid}.eb-report-metric{flex-wrap:wrap;align-items:center;gap:6px;line-height:1.4;display:flex}.eb-report-metric-label{color:#334155;font-weight:600}.eb-report-metric-value{color:#dc2626;font-size:1.02rem;font-weight:800}.eb-report-metric-plain{color:#1e293b}.eb-report-tenant-title{color:#334155;margin-bottom:6px;font-size:.9rem;font-weight:600}.eb-report-table-wrap{overflow-x:auto}.eb-report-table{border-collapse:collapse;background:#fff;width:100%}.eb-report-table th,.eb-report-table td{text-align:left;border:1px solid #e2e8f0;padding:8px;font-size:.85rem}.eb-report-table th{color:#1e3a8a;background:#eef2ff}.no-tenant-row{text-align:center;color:#64748b;background:#fff7ed;font-weight:600}@media (width<=768px){.eb-report-filters{width:100%}.eb-report-filters select,.eb-report-filters button{flex:1}}.service-container{background:linear-gradient(135deg,#f8fafc 0%,#e0e7ff 100%);width:100%;min-height:100vh;margin:0;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.service-header{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2rem;padding:2rem;display:flex;box-shadow:0 4px 6px #00000012}.service-header h1{color:#1e293b;margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.service-header p{color:#64748b;margin:0;font-size:1rem}.form-group.full-width{grid-column:1/-1}.services-list{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #00000012}.services-table{border-collapse:collapse;width:100%;font-size:.95rem}.services-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.services-table th{text-align:left;color:#2d3748;white-space:nowrap;padding:1rem;font-weight:600}.services-table td{color:#4a5568;border-bottom:1px solid #e2e8f0;padding:1rem}.services-table tr:hover{background:#f7fafc}.services-table .bold{color:#1a202c;font-weight:600}.badge{white-space:nowrap;border-radius:4px;padding:.35rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.badge-domestic{color:#22543d;background:#c6f6d5}.badge-commercial{color:#2c5aa0;background:#bee3f8}.badge-industrial{color:#7c2d12;background:#feebc8}.badge-agriculture{color:#276749;background:#c6f6d5}.badge-others{color:#2d3748;background:#e2e8f0}@media (width<=768px){.service-container{padding:1rem}.service-header{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.search-group{flex-direction:column}.search-input{min-width:100%}.services-table{font-size:.85rem}.services-table th,.services-table td{padding:.75rem .5rem}}.eb-container{background:linear-gradient(135deg,#f8fafc 0%,#e0e7ff 100%);width:100%;min-height:100vh;margin:0;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.eb-header{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2rem;padding:2rem;display:flex;box-shadow:0 4px 6px #00000012}.eb-header h1{color:#1e293b;margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.eb-header p{color:#64748b;margin:0;font-size:1rem}.error-card{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;align-items:flex-start;gap:1rem;margin-bottom:2rem;padding:1.5rem;display:flex}.error-card span{flex-shrink:0;font-size:1.5rem}.error-card strong{color:#742a2a;margin-bottom:.25rem;display:block}.error-card p{color:#975b5b;margin:0;font-size:.95rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background:#fff;border-radius:12px;align-items:center;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 4px 6px #00000012}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.stat-icon{font-size:2rem}.stat-content h3{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.stat-value{color:#1e293b;margin:0;font-size:1.75rem;font-weight:700}.form-card{background:#fff;border-radius:12px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 6px #00000012}.form-card h2{color:#1e293b;margin:0 0 1.5rem;font-size:1.5rem;font-weight:700}.form-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.form-group{flex-direction:column;display:flex}.form-group label{color:#1e293b;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.form-group input,.form-group select{border:2px solid #e2e8f0;border-radius:6px;padding:.75rem;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:focus,.form-group select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-actions{justify-content:flex-end;gap:1rem;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .3s}.btn-primary{color:#fff;background:#667eea}.btn-primary:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-success{color:#fff;background:#48bb78}.btn-success:hover{background:#38a169;transform:translateY(-2px);box-shadow:0 4px 12px #48bb7866}.btn-secondary{color:#2d3748;background:#e2e8f0}.btn-secondary:hover{background:#cbd5e0}.btn-icon{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem;font-size:1.2rem;transition:all .3s}.btn-icon:hover{transform:scale(1.2)}.btn-icon.edit{color:#667eea}.btn-icon.delete{color:#f56565}.search-section{background:#fff;border-radius:12px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 4px 6px #00000012}.search-group{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.search-field-selector{flex-direction:column;gap:.5rem;display:flex}.search-field-selector label{color:#2d3748;font-size:.9rem;font-weight:600}.search-field-select{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:6px;padding:.75rem;font-size:.95rem}.search-input{border:2px solid #e2e8f0;border-radius:6px;flex:1;min-width:250px;padding:.75rem 1rem;font-size:1rem;transition:all .3s}.search-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.search-results-info{color:#718096;margin-top:1rem;font-size:.9rem}.payments-list{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #00000012}.table-responsive{background:#fff;border-radius:8px;overflow-x:auto;box-shadow:0 1px 3px #00000014}.payments-table{border-collapse:collapse;width:100%;font-size:.95rem}.payments-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.payments-table th{text-align:left;color:#2d3748;white-space:nowrap;padding:1rem;font-weight:600}.payments-table td{color:#4a5568;border-bottom:1px solid #e2e8f0;padding:1rem}.payments-table tr:hover{background:#f7fafc}.payments-table .bold{color:#1a202c;font-weight:600}.payments-table .amount{color:#48bb78;font-weight:600}.actions-cell{white-space:nowrap;justify-content:center;gap:.5rem;display:flex}.service-number-cell{flex-direction:column;gap:.2rem;display:flex}.btn-link{color:#2563eb;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.btn-link:hover{color:#1e40af}.rooms-modal-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.rooms-modal-content{background:#fff;border-radius:10px;width:min(380px,100%);overflow:hidden;box-shadow:0 14px 30px #02061740}.rooms-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.7rem .9rem;display:flex}.rooms-modal-header h3{color:#1e293b;margin:0;font-size:.9rem;line-height:1.3}.rooms-modal-close{color:#64748b;cursor:pointer;background:0 0;border:none;font-size:1.2rem;line-height:1}.rooms-modal-close:hover{color:#1e293b}.rooms-list{gap:.35rem;margin:0;padding:.75rem .9rem .9rem;list-style:none;display:grid}.rooms-list li{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.45rem .6rem;font-size:.9rem;font-weight:500}.room-item-main{color:#1e293b;font-weight:600}.room-item-meta{color:#64748b;margin-top:.15rem;font-size:.78rem;line-height:1.25}.rooms-empty{color:#64748b;margin:0;padding:.9rem;font-size:.9rem}.no-results{text-align:center;color:#718096;padding:3rem 1.5rem}.no-results p:first-child{margin:0 0 .5rem;font-size:1.5rem}.no-results p:last-child{margin:0;font-size:1rem}@media (width<=768px){.eb-container{padding:1rem}.eb-header{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.search-group{flex-direction:column}.search-input{min-width:100%}.payments-table{font-size:.85rem}.payments-table th,.payments-table td{padding:.75rem .5rem}.rooms-modal-content{width:100%}.rooms-modal-header h3{font-size:.85rem}.stat-card{text-align:center;flex-direction:column}}.section-header{background:#fff;border-bottom:1px solid #e2e8f0;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;margin-top:2rem;margin-bottom:0;padding:1.25rem 1.5rem;display:flex;box-shadow:0 4px 6px #00000012}.section-header h2{color:#1a202c;margin:0;font-size:1.25rem;font-weight:700}.toggle-btn{cursor:pointer;color:#667eea;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;font-size:1.5rem;transition:transform .3s;display:flex}.toggle-btn:hover{color:#5568d3}.toggle-btn.expanded,.toggle-btn.collapsed{transform:none}.collapsible-content{margin-bottom:2rem;transition:max-height .3s,opacity .3s;overflow:hidden}.collapsible-content.open{opacity:1;max-height:10000px}.collapsible-content.closed{opacity:0;max-height:0;margin-bottom:0}.electricity-charges-container{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);max-width:1400px;min-height:100vh;margin:0 auto;padding:clamp(12px,3vw,24px)}.charges-filters{background:#fff;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:clamp(12px,2vw,16px);margin-bottom:24px;padding:20px;display:flex;box-shadow:0 2px 8px #0000000f}.filter-group{flex-direction:column;flex:1;gap:6px;min-width:200px;display:flex}.filter-group label{color:#34495e;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.filter-group input,.filter-group select{color:#2c3e50;background:#fff;border:2px solid #ecf0f1;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:13px;transition:all .3s}.filter-group input:focus,.filter-group select:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 3px #3498db1a}.filter-group button{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);border:none;border-radius:8px;padding:10px 24px;font-size:13px;font-weight:600;transition:all .3s;box-shadow:0 2px 8px #3498db4d}.filter-group button:hover{transform:translateY(-2px);box-shadow:0 4px 16px #3498db66}.filter-group button:active{transform:translateY(0)}.tab-navigation{background:#fff;border-radius:12px;gap:8px;margin-bottom:24px;padding:6px;display:flex;box-shadow:0 2px 8px #0000000f}.tab-button{cursor:pointer;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;background:0 0;border:none;border-radius:8px;padding:12px 24px;font-size:13px;font-weight:600;transition:all .3s;position:relative}.tab-button:hover{color:#2c3e50;background:#f0f0f0}.tab-button.active{color:#fff;background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);box-shadow:0 2px 8px #3498db4d}.tab-button.active:after{content:"";opacity:0;background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);border-radius:2px;height:3px;position:absolute;bottom:-6px;left:0;right:0}.charges-content{animation:.3s fadeIn}.charges-table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;animation:.3s fadeIn;overflow:hidden;box-shadow:0 2px 8px #0000000f}.charges-table thead{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#34495e 0%,#2c3e50 100%);font-size:12px;font-weight:700}.charges-table thead th{text-align:left;background:inherit;border:none;padding:16px}.charges-table tbody tr{border-bottom:1px solid #ecf0f1;transition:all .3s}.charges-table tbody tr:hover{background:#f8f9fa;box-shadow:inset 0 0 8px #00000008}.charges-table tbody tr:last-child{border-bottom:none}.charges-table tbody td{color:#2c3e50;padding:16px;font-size:13px}.charges-table tbody td strong{color:#34495e;font-weight:600}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-block}.status-badge.calculated{color:#27ae60;background:#d5f4e6}.status-badge.pending{color:#d68910;background:#fdeaa8}.status-badge.error{color:#c0392b;background:#fadbd8}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(12px,3vw,24px);margin-bottom:32px;display:grid}.summary-card{background:#fff;border-left:5px solid #3498db;border-radius:12px;padding:clamp(16px,3vw,24px);transition:all .3s;box-shadow:0 2px 8px #0000000f}.summary-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.summary-card.revenue{border-left-color:#27ae60}.summary-card.tenants{border-left-color:#3498db}.summary-card.average{border-left-color:#e74c3c}.summary-card.total{border-left-color:#9b59b6}.card-label{color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:600}.card-value{color:#2c3e50;margin:0;font-size:clamp(20px,5vw,32px);font-weight:700;line-height:1.2}.card-subtitle{color:#95a5a6;margin-top:6px;font-size:12px}.room-summary-container{background:#fff;border-radius:12px;padding:clamp(20px,4vw,32px);box-shadow:0 2px 8px #0000000f}.room-summary-title{color:#2c3e50;border-bottom:2px solid #ecf0f1;margin:0 0 24px;padding-bottom:12px;font-size:18px;font-weight:700}.room-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(12px,2vw,20px);display:grid}.room-card{background:linear-gradient(135deg,#f8f9fa 0%,#f0f1f2 100%);border:2px solid #ecf0f1;border-radius:10px;padding:20px;transition:all .3s;position:relative;overflow:hidden}.room-card:before{content:"";opacity:0;background:linear-gradient(90deg,#3498db,#2980b9);height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.room-card:hover{border-color:#3498db;box-shadow:0 4px 12px #3498db26}.room-card:hover:before{opacity:1}.room-number{color:#2c3e50;margin-bottom:12px;font-size:16px;font-weight:700}.room-details{flex-direction:column;gap:8px;font-size:13px;display:flex}.detail-row{color:#7f8c8d;justify-content:space-between;padding:6px 0;display:flex}.detail-row strong{color:#34495e;font-weight:600}.occupied-room-cell{color:#1f7a3f;background-color:#27ae601f;border-radius:6px;padding:4px 8px}.occupied-person-icon{vertical-align:middle;margin-left:4px;font-size:14px}.checkout-month-icon{color:#9a3412;vertical-align:middle;background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);border:1px solid #fdba74;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;margin-left:6px;display:inline-flex;box-shadow:0 1px 2px #9a34121f}.checkout-month-icon-svg{width:13px;height:13px}.guest-tenant-indicator{color:#dc2626;vertical-align:middle;background:#fef2f2;border:1px solid #fca5a5;border-radius:50%;align-items:center;margin-left:8px;padding:2px;display:inline-flex}.guest-tenant-icon-svg{width:12px;height:12px}.mobile-tooltip-wrapper{margin-left:6px;display:none;position:relative}.mobile-tooltip-trigger{color:#3498db;cursor:pointer;background:#fff;border:1px solid #3498db;border-radius:50%;width:18px;height:18px;padding:0;font-size:11px;font-weight:700;line-height:1}.mobile-tooltip-bubble{z-index:100;color:#fff;white-space:pre-line;background:#2c3e50;border-radius:8px;min-width:220px;max-width:min(320px,70vw);padding:8px 10px;font-size:12px;font-weight:500;line-height:1.4;position:absolute;top:24px;left:0;box-shadow:0 8px 18px #0003}@media (width<=768px){.mobile-tooltip-wrapper{align-items:center;display:inline-flex}}.tenant-charges-container{background:#fff;border-radius:12px;padding:clamp(20px,4vw,32px);box-shadow:0 2px 8px #0000000f}.tenant-charges-title{color:#2c3e50;border-bottom:2px solid #ecf0f1;margin:0 0 24px;padding-bottom:12px;font-size:18px;font-weight:700}.tenant-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(16px,2vw,24px);display:grid}.tenant-card{background:#fff;border:2px solid #ecf0f1;border-radius:12px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.tenant-card:hover{border-color:#3498db;transform:translateY(-4px);box-shadow:0 6px 16px #3498db26}.tenant-card-header{border-bottom:2px solid #ecf0f1;margin-bottom:16px;padding-bottom:12px}.tenant-name{color:#2c3e50;margin-bottom:6px;font-size:14px;font-weight:700}.tenant-room{color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.tenant-card-body{flex-direction:column;gap:10px;display:flex}.charge-row{color:#7f8c8d;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;display:flex}.charge-row.total{color:#2c3e50;background:#f8f9fa;border-top:2px solid #ecf0f1;border-bottom:2px solid #ecf0f1;margin:8px -8px;padding:12px 8px;font-weight:700}.charge-value{color:#27ae60;font-weight:600}.message{border-radius:8px;margin-bottom:20px;padding:14px 16px;font-size:13px;font-weight:500;animation:.3s slideInRight}.message.success{color:#27ae60;background:#d5f4e6;border-left:4px solid #27ae60}.loading{text-align:center;padding:60px 20px}.loading-text{color:#7f8c8d;margin:0;font-size:14px}.no-data{text-align:center;color:#7f8c8d;padding:60px 20px}.no-data-icon{opacity:.5;margin-bottom:16px;font-size:48px}.no-data-text{color:#7f8c8d;margin:0;font-size:14px}.pagination{border-top:1px solid #ecf0f1;justify-content:center;gap:4px;margin-top:24px;padding-top:20px;display:flex}.pagination button{cursor:pointer;color:#34495e;background:#fff;border:2px solid #ecf0f1;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .3s}.pagination button:hover{color:#3498db;background:#f8f9fa;border-color:#3498db}.pagination button.active{color:#fff;background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);border-color:#3498db}.pagination button:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.summary-grid{grid-template-columns:1fr}.charges-filters{flex-direction:column;align-items:stretch}.filter-group{width:100%}.charges-table{font-size:12px}.charges-table thead th,.charges-table tbody td{padding:12px 8px}.room-grid,.tenant-grid{grid-template-columns:1fr}.tab-navigation{flex-direction:column}.tab-button{text-align:left;width:100%}}.water-tank-monitor-container{max-width:1200px;margin:0 auto;padding:clamp(16px,3vw,26px)}.water-tank-monitor-panel{background:#fff;border-top:6px solid #2563eb;border-radius:18px;padding:26px;box-shadow:0 12px 28px #00000014}.water-tank-monitor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.water-tank-monitor-header h2{color:#1f3f72;margin:0;font-size:clamp(22px,2.2vw,28px)}.water-tank-monitor-header p{color:#475569;margin:6px 0 0;font-size:14px}.graph-refresh-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#60a5fa 100%);border:none;border-radius:10px;padding:12px 24px;font-weight:700;transition:transform .2s,box-shadow .2s}.graph-refresh-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #2563eb3d}.meter-graph-loading{color:#34495e;align-items:center;gap:12px;padding:18px 0;font-size:14px;display:flex}.meter-graph-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:22px;display:grid}.meter-graph-summary-card{background:#f5f9ff;border:1px solid #dbeafb;border-radius:16px;padding:22px}.summary-title{text-transform:uppercase;letter-spacing:.5px;color:#2563eb;margin-bottom:10px;font-size:11px;font-weight:800}.summary-value{color:#1f3f72;margin-bottom:10px;font-size:32px;font-weight:800}.summary-meta{color:#475569;font-size:13px}.meter-graph-bar-group{gap:14px;margin-bottom:22px;display:grid}.meter-graph-bar-row{grid-template-columns:70px 1fr 80px;align-items:center;gap:12px;display:grid}.meter-graph-bar-label{color:#1f3f72;font-size:13px;font-weight:700}.meter-graph-bar-track{background:#eef2ff;border-radius:999px;height:18px;overflow:hidden}.meter-graph-bar-fill{border-radius:999px;height:100%;transition:width .4s}.meter-graph-bar-fill.v4{background:linear-gradient(135deg,#2563eb 0%,#60a5fa 100%)}.meter-graph-bar-fill.v1{background:linear-gradient(135deg,#10b981 0%,#34d399 100%)}.meter-graph-bar-value{color:#1f3f72;font-size:14px;font-weight:700}.meter-graph-history{margin-top:6px}.history-header{color:#1f3f72;margin-bottom:14px;font-size:14px;font-weight:700}.meter-graph-history-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.meter-graph-history-item{background:#f8fbff;border:1px solid #d9e8ff;border-radius:14px;padding:16px}.history-label{color:#475569;margin-bottom:10px;font-size:12px;font-weight:700}.history-values{color:#1f2937;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:13px;display:flex}.history-ratio{color:#4b5563;font-size:12px}.message{border-radius:10px;margin-bottom:18px;padding:14px 16px;font-size:13px}.message.error{color:#c0392b;background:#fde2e2;border-left:4px solid #c0392b}.v4-gauge-panel{justify-content:center;margin:4px 0 22px;display:flex}.v4-gauge-card{background:radial-gradient(circle at 50% 0,#38bdf824,#0000 44%),linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #dbe7f5;border-radius:16px;justify-content:center;align-items:center;width:100%;max-width:390px;padding:18px 22px 14px;display:flex;box-shadow:0 16px 34px #0f172a14}.speedometer-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:22px;display:grid}.speedometer-card{background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #e2eaf4;border-radius:12px;justify-content:center;align-items:center;min-height:184px;padding:14px 10px 10px;display:flex;box-shadow:0 10px 22px #0f172a0d}.professional-speedometer{max-width:100%;height:auto;display:block;overflow:visible}@media (width<=640px){.v4-gauge-card{max-width:100%;padding:14px 10px 8px}.speedometer-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.speedometer-card{min-height:164px;padding:10px 6px 8px}}.main-tank-panel{background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #e6f0ff;border-radius:18px;margin:18px 0 26px;padding:24px;box-shadow:0 10px 24px #2563eb14}.main-tank-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.main-tank-title{color:#1f3f72;font-size:18px;font-weight:800}.main-tank-speedometer{justify-content:center;align-items:center;gap:18px;display:flex}.main-tank-meta{text-align:center;color:#475569}.misc-uploads{max-width:1180px}.misc-upload-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);align-items:start;gap:1rem;display:grid}.misc-panel{background:#fff;border:1px solid #d8dee8;border-radius:8px;padding:1rem;box-shadow:0 1px 3px #0f172a14}.misc-panel h3{color:#1f2937;margin:0 0 .85rem;font-size:1.05rem}.misc-field{flex-direction:column;gap:.35rem;margin-bottom:.85rem;display:flex}.misc-field label{color:#334155;font-size:.9rem;font-weight:700}.misc-field input,.misc-field select,.misc-field textarea{font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.65rem .75rem}.misc-field textarea{resize:vertical;min-height:76px}.misc-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.misc-camera{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}.misc-camera-preview{aspect-ratio:16/9;object-fit:cover;background:#101827;border-radius:8px;width:100%;margin-bottom:.75rem}.misc-recording-dot{background:#dc2626;border-radius:999px;width:.6rem;height:.6rem;margin-right:.35rem;display:inline-block}.misc-queue-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;display:flex}.misc-queue-header h3{margin:0}.misc-empty{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin:0;padding:1rem}.misc-file-list{gap:.75rem;display:grid}.misc-file-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:74px minmax(0,1fr);gap:.85rem;padding:.75rem;display:grid}.misc-preview{color:#475569;background:#f1f5f9;border:1px solid #dbe3ef;border-radius:6px;justify-content:center;align-items:center;width:74px;height:74px;font-size:.78rem;font-weight:800;display:flex;overflow:hidden}.misc-preview img,.misc-preview video{object-fit:cover;width:100%;height:100%}.misc-file-main{min-width:0}.misc-file-name{color:#111827;overflow-wrap:anywhere;margin:0 0 .25rem;font-weight:800}.misc-file-meta{color:#64748b;margin:0 0 .55rem;font-size:.85rem}.misc-progress-track{background:#e2e8f0;border-radius:999px;height:.55rem;margin:.4rem 0;overflow:hidden}.misc-progress-fill{background:#0f766e;height:100%;transition:width .2s}.misc-status-row{color:#475569;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-size:.86rem;display:flex}.misc-error{color:#b91c1c;margin-top:.35rem;font-size:.86rem}.misc-success-link{color:#047857;font-weight:700;text-decoration:none}.misc-success-link:hover{text-decoration:underline}.misc-calendar-panel{margin-top:1rem}.misc-calendar-toolbar,.misc-calendar-controls,.misc-calendar-date,.misc-calendar-file,.misc-calendar-file-actions{align-items:center;display:flex}.misc-calendar-toolbar{justify-content:space-between;gap:1rem;margin-bottom:.9rem}.misc-calendar-toolbar h3,.misc-calendar-toolbar p,.misc-unknown-date h4,.misc-calendar-note,.misc-calendar-empty-day{margin:0}.misc-calendar-toolbar p{color:#64748b;margin-top:.2rem;font-size:.88rem}.misc-calendar-controls{flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.misc-calendar-controls input{font:inherit;border:1px solid #cbd5e1;border-radius:6px;padding:.55rem .65rem}.misc-calendar-weekdays,.misc-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.misc-calendar-weekdays{color:#475569;text-transform:uppercase;gap:.5rem;margin-bottom:.5rem;font-size:.78rem;font-weight:800}.misc-calendar-weekdays span{padding:0 .35rem}.misc-calendar-grid{gap:.5rem}.misc-calendar-day{background:#fff;border:1px solid #dbe3ef;border-radius:8px;min-width:0;min-height:158px;padding:.55rem}.misc-calendar-day-empty{background:#f8fafc;border-style:dashed}.misc-calendar-date{justify-content:space-between;gap:.4rem;margin-bottom:.5rem}.misc-calendar-date span{color:#075985;background:#e0f2fe;border-radius:999px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-weight:800;display:inline-flex}.misc-calendar-date small,.misc-calendar-empty-day,.misc-calendar-note{color:#64748b;font-size:.78rem}.misc-calendar-files{gap:.45rem;display:grid}.misc-calendar-file{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:.5rem;min-width:0;padding:.5rem}.misc-calendar-file>div:first-child{min-width:0}.misc-calendar-file .misc-file-name{color:#111827;font-size:.86rem;text-decoration:none;display:block}.misc-calendar-file .misc-file-name:hover{text-decoration:underline}.misc-calendar-file .misc-file-meta{margin-bottom:0;font-size:.76rem}.misc-calendar-file-actions{flex-direction:column;flex:none;align-items:flex-end;gap:.35rem}.misc-calendar-note{overflow-wrap:anywhere;margin-top:.25rem}.misc-unknown-date{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}.misc-unknown-date h4{color:#334155;margin-bottom:.5rem}.misc-toggle-field{flex-direction:column;gap:.35rem;display:flex}.misc-toggle-label{justify-content:space-between;align-items:center;gap:.75rem;font-weight:700;display:flex}.misc-toggle{flex-shrink:0;width:48px;height:26px;display:inline-flex;position:relative}.misc-toggle input{opacity:0;cursor:pointer;z-index:2;margin:0;position:absolute;inset:0}.misc-slider{background:#cbd5e1;border-radius:999px;transition:background-color .2s;position:absolute;inset:0}.misc-slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.misc-toggle input:checked+.misc-slider{background:#2563eb}.misc-toggle input:checked+.misc-slider:before{transform:translate(22px)}.misc-toggle-hint{color:#64748b;font-size:.8rem}@media (width<=860px){.misc-upload-layout{grid-template-columns:1fr}.misc-calendar-weekdays{display:none}.misc-calendar-grid{grid-template-columns:1fr}.misc-calendar-day-empty{display:none}.misc-calendar-day{min-height:auto}}@media (width<=520px){.misc-file-item{grid-template-columns:56px minmax(0,1fr)}.misc-preview{width:56px;height:56px}.misc-calendar-toolbar{flex-direction:column;align-items:stretch}.misc-calendar-controls{justify-content:stretch}.misc-calendar-controls input,.misc-calendar-controls button{width:100%}.misc-calendar-file{flex-direction:column}.misc-calendar-file-actions{align-items:stretch;width:100%}}*{box-sizing:border-box}html,body{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;width:100%;height:100%;margin:0;padding:0}#root{background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 100%) fixed;width:100%;min-height:100vh;padding:0;display:block}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1e3a8a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:clamp(14px,2.5vw,16px)}:root{--responsive-page-max:1320px;--responsive-gap:clamp(.5rem, 1.8vw, 1rem)}html,body,#root{max-width:100%;overflow-x:hidden}img,video,canvas,svg{max-width:100%;height:auto}.container,.management-container,.tenant-management-container,.user-management-container,.service-container,.occupancy-container,.occupancy-links-container,.payment-tracking-container,.electricity-charges-container,.management-section,.meter-reading-container,.rental-collection-details,.complaints-container,.eb-container,.rental-container,.room-management-container{width:100%;max-width:none;margin-left:auto;margin-right:auto}.table-wrapper,.table-responsive,.payment-table-wrapper,.complaints-table-wrapper,.category-records{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.table-wrapper>table,.table-responsive>table,.payment-table-wrapper>table,.complaints-table-wrapper>table,.category-records>table{min-width:680px}@media (width<=1024px){.container,.management-container,.tenant-management-container,.user-management-container,.service-container,.occupancy-container,.occupancy-links-container,.payment-tracking-container,.complaints-container,.eb-container,.rental-container{padding-left:clamp(.75rem,2.2vw,1rem);padding-right:clamp(.75rem,2.2vw,1rem)}}@media (width<=768px){.top-header-bar{flex-wrap:wrap;align-items:flex-start;gap:.35rem;height:auto;min-height:44px;padding:.35rem .6rem}.page-title{text-align:left;order:3;width:100%;font-size:1rem;line-height:1.3}.back-home-btn{min-height:36px;padding:.3rem .55rem;font-size:.74rem}.page-with-header{padding-top:82px}.toolbar,.search-section,.filter-group,.date-filter-group,.form-buttons,.item-actions,.modal-buttons,.type-header,.user-roles-header,.tenant-header,.consumer-header,.category-header,.searchable-dropdown-header{align-items:stretch;gap:var(--responsive-gap);flex-direction:column}.search-container,.filter-container,.sort-container,.dropdown-container,.searchable-dropdown-container,.search-input,.sort-select,.search-field-select,.date-input,.filter-item,.form-group,.date-filter-group label{width:100%;min-width:0!important}.toolbar .btn,.form-buttons .btn,.modal-buttons .btn,.search-section .btn-primary,.search-section .btn-secondary,.search-section .btn-danger,.filter-group .add-btn,.filter-group .reset-btn{justify-content:center;width:100%}.stats-grid,.items-grid,.rooms-grid,.tenants-grid,.filters-grid,.form-grid,.form-row,.bill-summary,.photo-grid,.fullscreen-grid,.fullscreen-photos-grid,.fullscreen-proofs-grid{grid-template-columns:1fr!important}.occupancy-container .rooms-grid{grid-template-columns:repeat(auto-fill,minmax(66px,1fr))!important}.consumer-info,.category-stats,.roles-badges{width:100%;min-width:0!important}.category-stats{flex-wrap:wrap;gap:.5rem}.data-table,.management-table,.category-table,.occupancy-table,.payments-table,.complaints-table{font-size:.82rem}.data-table th,.data-table td,.management-table th,.management-table td,.category-table th,.category-table td{white-space:nowrap}}@media (width<=480px){.container,.management-container,.tenant-management-container,.user-management-container,.service-container,.occupancy-container,.occupancy-links-container,.payment-tracking-container,.complaints-container,.eb-container,.rental-container{padding-left:.65rem;padding-right:.65rem}.page-with-header{padding-top:88px}.data-table,.management-table,.category-table{font-size:.78rem}}
