:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,sans-serif}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}*{box-sizing:border-box}h1,h2,h3,h4,p{margin:0}.bs-modal-overlay{z-index:9999;background-color:#21252980;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.bs-modal-dialog{background-color:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:450px;animation:.2s ease-out slideDown;display:flex;box-shadow:0 10px 30px #0003}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.bs-modal-header{border-bottom:1px solid #dee2e6;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.bs-modal-title{color:#212529;margin:0;font-size:1.1rem;font-weight:700}.bs-modal-close{color:#000;opacity:.5;cursor:pointer;background:0 0;border:none;font-size:1.25rem}.bs-modal-close:hover{opacity:.75}.bs-modal-body{color:#212529;padding:20px;font-size:1rem;line-height:1.5}.bs-modal-body p{margin:0}.bs-modal-footer{background-color:#f8f9fa;border-top:1px solid #dee2e6;border-bottom-right-radius:8px;border-bottom-left-radius:8px;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.bs-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:8px 16px;font-size:1rem;font-weight:500;transition:all .15s ease-in-out}.bs-btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.bs-btn-primary:hover{background-color:#0b5ed7;border-color:#0a58ca}.bs-btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.bs-btn-secondary:hover{background-color:#5c636a;border-color:#565e64}html,body{background-color:#f0f2f5;width:100%;height:100%;margin:0!important;padding:0!important}.login-wrapper{justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;display:flex}.login-wrapper *{box-sizing:border-box!important}.login-card{background-color:#fff;border-radius:1rem;width:100%;max-width:420px;padding:3rem 2.5rem;box-shadow:0 10px 25px #0000000d,0 4px 10px #00000008}.login-header{text-align:center;margin-bottom:2.5rem}.logo-container{color:#0d6efd;background-color:#0d6efd1a;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.25rem;display:inline-flex}.login-header h2{color:#212529;letter-spacing:-.5px;margin:0;font-size:1.5rem;font-weight:700}.input-group{width:100%;margin-bottom:1.25rem}.input-group label{color:#495057;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.input-group input{color:#212529!important;background-color:#fff!important;border:1px solid #ced4da!important;border-radius:.5rem!important;width:100%!important;height:calc(3.2rem + 2px)!important;padding:.75rem 1rem!important;font-size:1rem!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out!important;display:block!important}.input-group input:focus{border-color:#86b7fe!important;outline:none!important;box-shadow:0 0 0 .25rem #0d6efd40!important}.input-group input::placeholder{color:#adb5bd!important}.form-actions{justify-content:space-between;align-items:center;margin-top:.5rem;margin-bottom:2rem;display:flex}.form-actions a{color:#0d6efd;font-size:.85rem;font-weight:500;text-decoration:none}.form-actions a:hover{color:#0a58ca;text-decoration:underline}.btn-login{color:#fff!important;cursor:pointer!important;background-color:#0d6efd!important;border:none!important;border-radius:.5rem!important;width:100%!important;height:3.2rem!important;font-size:1.05rem!important;font-weight:600!important;transition:all .2s ease-in-out!important;display:block!important}.btn-login:hover:not(:disabled){background-color:#0b5ed7!important}.btn-login:disabled{cursor:not-allowed!important;background-color:#6ea8fe!important}.building-container{align-items:flex-start;gap:20px;width:100%;display:flex}.card-shadow{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;box-shadow:0 2px 10px #0000000d}.grid-view{scrollbar-width:thin;flex:1;overflow-x:auto}.grid-header{border-bottom:2px solid #f8f9fa;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.grid-header h2{color:#212529;margin:0;font-size:1.15rem;font-weight:700}.legend{color:#6c757d;gap:12px;font-size:.8rem;display:flex}.legend-item{align-items:center;gap:4px;display:flex}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.matrix-container{flex-direction:column;gap:4px;display:flex}.floor-row{align-items:stretch;gap:8px;display:flex}.floor-label{color:#868e96;background-color:#f8f9fa;border-radius:4px;justify-content:center;align-items:center;width:35px;font-size:.75rem;font-weight:700;display:flex}.units-container{flex:1;gap:4px;display:grid}.unit-cell{cursor:pointer;border:1px solid #0000;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;height:38px;padding:2px 4px;transition:all .15s;display:flex;position:relative}.unit-type{color:#adb5bd;font-size:.55rem;position:absolute;top:2px;left:4px}.unit-num{color:#343a40;margin-top:4px;font-size:.9rem;font-weight:700}.empty-cell{background-color:#0000}.status-Available{background-color:#fff;border:2px solid #bacbe6;box-shadow:0 2px 4px #0d6efd0d}.status-Available .unit-num{color:#0d6efd;font-weight:900}.status-Available:hover{z-index:2;background-color:#f0f6ff;border-color:#0d6efd;transform:translateY(-2px);box-shadow:0 4px 10px #0d6efd33}.dot.status-Available{background-color:#0d6efd}.status-Holding{background-color:#fff9db;border:2px solid #fcc419}.status-Holding:hover{filter:brightness(.95)}.dot.status-Holding{background-color:#fcc419}.unit-cell.status-Contracted{cursor:pointer;opacity:1!important;filter:none!important;color:#fff!important;background:repeating-linear-gradient(45deg,#9775fa,#9775fa 10px,#845ef7 10px 20px)!important;border:1px solid #7048e8!important}.unit-cell.status-Contracted:hover{background:repeating-linear-gradient(45deg,#845ef7,#845ef7 10px,#7048e8 10px 20px)!important}.unit-cell.status-Contracted .unit-num,.unit-cell.status-Contracted .unit-type{color:#fff!important;text-decoration:none!important}.dot.status-Contracted{background:repeating-linear-gradient(45deg,#9775fa,#9775fa 4px,#845ef7 4px 8px)!important;border:1px solid #7048e8!important}.refuge-cell{cursor:default;background:repeating-linear-gradient(45deg,#f8f9fa,#f8f9fa 5px,#e9ecef 5px 10px);border:1px solid #ced4da;justify-content:center;align-items:center;display:flex}.refuge-text{color:#495057;background-color:#ffffffe6;border-radius:4px;padding:2px 8px;font-size:.8rem;font-weight:700}.side-panel{width:320px;animation:.2s ease-out fadeIn;position:sticky;top:20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.panel-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.panel-header h3{margin:0;font-size:1.25rem;font-weight:800}.status-badge{border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:700}.badge-Available{color:#0d6efd;background-color:#e7f1ff}.badge-Holding{color:#856404;background-color:#fff3cd}.badge-Contracted{color:#842029;background-color:#f8d7da}.info-list{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.info-item{border-bottom:1px solid #f1f3f5;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.info-label{color:#868e96;font-size:.85rem;font-weight:600}.info-value{color:#212529;font-size:.95rem;font-weight:600}.price-text{color:#e03131;font-size:1.1rem}.highlight-item{background-color:#fff9db;border:1px solid #fcc419;border-radius:6px;padding:12px}.action-buttons{flex-direction:column;gap:8px;display:flex}.btn-hold{color:#fff;cursor:pointer;background-color:#0d6efd;border:none;border-radius:6px;padding:12px;font-weight:700}.btn-close{color:#495057;cursor:pointer;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:10px;font-weight:600}.unit-type{color:#fff;z-index:1;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:800;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000026}.status-Contracted .unit-type{color:#fff;opacity:.8}.modal-overlay{z-index:2000;background-color:#0006;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:#fff;border-radius:12px;flex-direction:column;width:400px;max-height:80vh;padding:24px;animation:.3s ease-out slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-header h3{color:#212529;margin:0;font-size:1.25rem;font-weight:800}.modal-close-btn{cursor:pointer;color:#adb5bd;background:0 0;border:none;padding:4px;font-size:1.25rem}.modal-close-btn:hover{color:#495057}.modal-desc{color:#6c757d;margin-bottom:20px;font-size:.9rem}.staff-list{flex-direction:column;gap:8px;padding-right:4px;display:flex;overflow-y:auto}.staff-item-btn{cursor:pointer;text-align:left;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.staff-item-btn:hover{background-color:#e7f1ff;border-color:#0d6efd;box-shadow:0 2px 6px #0d6efd1a}.staff-avatar{color:#fff;background-color:#0d6efd;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-weight:800;display:flex}.staff-info{flex-direction:column;display:flex}.staff-name{color:#343a40;font-size:1rem;font-weight:700}.staff-role{color:#868e96;font-size:.75rem}.team-section{margin-bottom:16px}.team-header{color:#495057;z-index:10;background-color:#f1f3f5;border-left:4px solid #0d6efd;border-radius:4px;margin-bottom:8px;padding:6px 12px;font-size:.85rem;font-weight:800;position:sticky;top:0}.modal-content.org-modal{width:90vw;max-width:1200px;max-height:85vh;padding:32px}.org-chart-container{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;padding-bottom:20px;padding-right:8px;display:grid;overflow-y:auto}.team-section{background-color:#fff;border:1px solid #dee2e6;border-radius:12px;margin-bottom:0;padding:20px}.card-shadow-sm{box-shadow:0 4px 12px #0000000d}.team-header{color:#212529;background-color:#0000;border-bottom:2px solid #e9ecef;border-left:none;margin-bottom:16px;padding-bottom:12px;font-size:1.1rem;font-weight:800}.team-members{flex-direction:column;gap:10px;display:flex}.staff-item-btn{background-color:#f8f9fa;border:1px solid #f1f3f5}.staff-item-btn:hover{background-color:#fff;border-color:#0d6efd;transform:translateY(-2px);box-shadow:0 4px 10px #0d6efd26}.unit-cell.status-Contracted{color:#fff;background-color:#fa5252;border:1px solid #e03131}.unit-cell.status-Contracted:hover{background-color:#e03131}.unit-cell.empty-data-cell{color:#adb5bd;cursor:not-allowed;pointer-events:none;background-color:#f8f9fa;border:1px dashed #ced4da}.agent-page-container{max-width:1400px;margin:0 auto;padding:24px}.page-title{color:#212529;margin-bottom:24px;font-size:1.5rem;font-weight:800}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card{background-color:#fff;border-left:5px solid #dee2e6;border-radius:12px;align-items:center;gap:20px;padding:24px;display:flex}.stat-card.holding-card{border-left-color:#fcc419}.stat-card.contracted-card{border-left-color:#20c997}.stat-card.sales-card{border-left-color:#0d6efd}.stat-icon{background-color:#f8f9fa;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;font-size:2.5rem;display:flex}.stat-info{flex-direction:column;display:flex}.stat-label{color:#868e96;margin-bottom:4px;font-size:.95rem;font-weight:600}.stat-value{color:#343a40;font-size:1.8rem;font-weight:800}.stat-value span{color:#495057;margin-left:4px;font-size:1rem}.recent-activity,.table-container{background-color:#fff;border-radius:12px;padding:24px}.recent-activity h3{margin-top:0;margin-bottom:16px;font-size:1.1rem;font-weight:700}.activity-list{margin:0;padding:0;list-style:none}.activity-item{border-bottom:1px solid #f1f3f5;align-items:center;gap:12px;padding:12px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-unit{color:#212529;font-size:1rem;font-weight:700}.activity-time{color:#adb5bd;margin-left:auto;font-size:.85rem}.empty-msg{text-align:center;color:#adb5bd;padding:30px 0}.agent-table{border-collapse:collapse;width:100%}.agent-table th{color:#495057;text-align:left;background-color:#f8f9fa;border-bottom:2px solid #dee2e6;padding:14px;font-weight:700}.agent-table td{vertical-align:middle;border-bottom:1px solid #e9ecef;padding:14px}.action-flex{gap:8px;display:flex}.btn-sm{cursor:pointer;border-radius:4px;padding:6px 12px;font-size:.85rem;font-weight:600;transition:all .2s}.btn-outline{color:#495057;background-color:#0000;border:1px solid #ced4da}.btn-outline:hover{background-color:#f1f3f5}.flex-layout{align-items:flex-start;display:flex}.active-row{background-color:#e7f1ff}.btn-outline-primary{color:#0d6efd;background-color:#fff;border:1px solid #0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd}.modal-content.history-modal{width:90%;max-width:550px;padding:0;overflow:hidden}.history-modal .modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:20px;display:flex}.history-modal .history-list::-webkit-scrollbar{width:8px}.history-modal .history-list::-webkit-scrollbar-track{background:#f1f3f5}.history-modal .history-list::-webkit-scrollbar-thumb{background:#ced4da;border-radius:4px}.history-modal .history-list::-webkit-scrollbar-thumb:hover{background:#adb5bd}.layout-wrapper{background-color:#f8f9fa;width:100vw;height:100vh;font-family:system-ui,-apple-system,sans-serif;display:flex;overflow:hidden}.sidebar{color:#fff;z-index:10;background-color:#212529;flex-direction:column;width:260px;display:flex;box-shadow:2px 0 10px #0000001a}.sidebar-header{color:#fff;letter-spacing:-.5px;border-bottom:1px solid #343a40;align-items:center;height:70px;padding:0 24px;font-size:1.25rem;font-weight:700;display:flex}.sidebar-menu{flex-direction:column;gap:4px;padding:20px 0;display:flex;overflow-y:auto}.menu-item{color:#adb5bd;cursor:pointer;align-items:center;gap:12px;padding:14px 24px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.menu-item:hover{color:#fff;background-color:#343a40}.menu-item.active{color:#fff;background-color:#0d6efd;border-left:4px solid #86b7fe}.content-wrapper{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{z-index:5;background-color:#fff;border-bottom:1px solid #dee2e6;justify-content:flex-end;align-items:center;height:70px;padding:0 32px;display:flex;box-shadow:0 2px 4px #00000005}.user-profile-container{position:relative}.user-profile{cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:8px;transition:background-color .2s;display:flex}.user-profile:hover{background-color:#f8f9fa}.user-avatar{color:#0d6efd;background-color:#e9ecef;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:700;display:flex}.user-info{text-align:right;flex-direction:column;display:flex}.user-name{color:#212529;font-size:.95rem;font-weight:600}.user-role{color:#6c757d;font-size:.75rem}.dropdown-menu{z-index:1000;background-color:#fff;border:1px solid #dee2e6;border-radius:8px;width:220px;padding:8px 0;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 25px #0000001a}.dropdown-item{color:#212529;cursor:pointer;padding:10px 20px;font-size:.9rem;transition:background-color .2s;display:block}.dropdown-item:hover{color:#0d6efd;background-color:#f8f9fa}.dropdown-divider{background-color:#dee2e6;height:1px;margin:8px 0}.page-content{flex:1;padding:32px;overflow-y:auto}.building-tabs{border-bottom:2px solid #dee2e6;flex-wrap:wrap;gap:10px;margin-bottom:25px;padding-bottom:10px;display:flex}.tab-button{color:#495057;cursor:pointer;background-color:#0000;border:1px solid #ced4da;border-radius:8px;padding:10px 24px;font-size:1rem;font-weight:600;transition:all .2s}.tab-button:hover{color:#0d6efd;background-color:#f8f9fa;border-color:#0d6efd}.tab-button.active{color:#fff;background-color:#0d6efd;border-color:#0d6efd;box-shadow:0 4px 6px #0d6efd33}.active-grid-container{width:100%;animation:.3s ease-in-out fadeIn}
