body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.donut-chart-container{display:flex;flex-direction:column;flex-shrink:0;gap:0;max-height:100%;overflow:visible;padding:0;position:relative;width:100%;z-index:2}.donut-chart-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;flex-shrink:0;font-size:clamp(16px,2.5vw,32px);font-weight:700;line-height:1;margin:0;padding:clamp(3px,.4vh,6px) 0;text-align:center}.donut-chart-responsive{aspect-ratio:1;flex-shrink:1;margin:0 auto;max-height:clamp(200px,35vh,450px);max-width:100%;padding:0;position:relative;width:100%}.donut-chart-stats{display:flex;flex-shrink:0;font-size:clamp(12px,1.8vw,22px);font-weight:500;justify-content:space-around;margin:0}.donut-chart-stats-toggle{background:#fff;gap:clamp(8px,1.2vw,16px);justify-content:center;margin:0;padding:clamp(3px,.4vh,6px) 0;position:relative;z-index:3}.donut-chart-stats-toggle,.stat-item{align-items:center;display:flex;flex-shrink:0}.stat-item{background:#00000005;border-radius:8px;flex-direction:column;gap:clamp(2px,.2vh,4px);min-width:clamp(60px,8vw,90px);padding:clamp(4px,.6vw,8px);transition:all .2s ease}.stat-item:hover{background:#0000000a;transform:translateY(-2px)}.stat-label{font-size:clamp(11px,1.4vw,17px);font-weight:600;letter-spacing:.5px;line-height:1;opacity:.9;text-transform:uppercase}.stat-count{font-size:clamp(16px,2.2vw,28px);font-weight:800;line-height:1}.toggle-switch{flex-shrink:0;height:clamp(22px,2.8vw,28px);width:clamp(44px,5.5vw,54px)}.toggle-slider{border-radius:34px;box-shadow:inset 0 2px 4px #0000001a;transition:all .3s ease}.toggle-slider:hover{box-shadow:inset 0 2px 4px #00000026,0 0 8px #0000001a}.toggle-slider:before{box-shadow:0 2px 6px #0003;height:clamp(18px,2.3vw,24px);left:2px;transition:all .3s ease;width:clamp(18px,2.3vw,24px)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(clamp(20px,2.5vw,24px),-50%)}@media (max-width:968px){.donut-chart-responsive{aspect-ratio:1;max-height:150px}.donut-chart-container{gap:clamp(2px,.3vh,4px)}.donut-chart-title{font-size:clamp(14px,2vw,18px);padding:clamp(2px,.3vh,4px) 0}.stat-item{min-width:clamp(50px,7vw,70px);padding:clamp(2px,.4vw,6px)}.stat-label{font-size:clamp(9px,1.2vw,13px)}.stat-count{font-size:clamp(14px,1.8vw,20px)}.toggle-switch{height:clamp(20px,2.5vw,24px);width:clamp(38px,4.5vw,48px)}}.offline-devices-container{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:0;position:relative;text-align:center;z-index:1}.offline-devices-title{flex-shrink:0;font-size:clamp(14px,2vw,24px);font-weight:600;line-height:1.1;margin:0 0 clamp(2px,.3vh,5px);padding:clamp(2px,.3vw,5px)}.offline-devices-message{flex-shrink:0;font-size:clamp(12px,1.5vw,18px);margin:0}.offline-devices-table-wrapper{border:1px solid #ddd;border-radius:12px;box-shadow:0 4px 12px #0000000d;flex:1 1;margin:0 auto;min-height:0;overflow:auto;position:relative;width:95%;z-index:1}.offline-devices-table-wrapper::-webkit-scrollbar{height:8px;width:8px}.offline-devices-table-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.offline-devices-table-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.offline-devices-table-wrapper::-webkit-scrollbar-thumb:hover{background:#555}.offline-devices-table{border-collapse:initial;border-spacing:0;font-size:clamp(9px,1.1vw,16px);position:relative;width:100%}.offline-devices-table thead{background-color:#4f46e5;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.offline-devices-table td,.offline-devices-table th{border-bottom:1px solid #eee;font-size:clamp(9px,1.1vw,16px);min-width:80px;padding:clamp(3px,.4vw,10px) clamp(4px,.6vw,14px);white-space:nowrap}.offline-devices-table th{background-color:#4f46e5;color:#fff;font-size:clamp(9px,1.1vw,16px);font-weight:600;padding-bottom:clamp(3px,.4vh,6px);padding-top:clamp(2px,.3vh,5px)}.offline-devices-table thead tr:first-child th{background-color:#4f46e5;border-top:clamp(2px,.4vh,4px) solid #3d35c7;box-shadow:0 2px 4px #0000001a;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:12}.offline-devices-table tbody{background-color:#fafafa}.offline-devices-table tbody tr{border-bottom:1px solid #e0e0e0}.offline-devices-table tbody tr:hover{background-color:#f5f5f5}.offline-devices-table tbody tr:first-child td{padding-top:clamp(6px,.8vw,14px)}.offline-devices-table tbody tr:last-child td{padding-bottom:clamp(6px,.8vw,14px)}.search-row th{background-color:#5b4fe5;box-shadow:0 2px 4px #0000001a;padding:clamp(2px,.3vw,5px);position:-webkit-sticky;position:sticky;z-index:11}.search-input{font-size:clamp(8px,.9vw,14px);min-width:60px;padding:clamp(2px,.3vw,5px)}.search-input:focus{border-color:#4338ca;outline:none}.no-results{color:#999;font-size:clamp(9px,1.1vw,16px);font-style:italic;padding:clamp(8px,1.5vh,16px);text-align:center}.toggle-container{align-items:center;display:flex;flex-shrink:0;gap:clamp(5px,.8vw,10px);justify-content:center;margin-bottom:clamp(3px,.5vh,8px);padding:clamp(2px,.3vw,5px)}.toggle-container span{white-space:nowrap}.toggle-switch{display:inline-block;height:clamp(20px,2.5vw,24px);position:relative;width:clamp(40px,5vw,46px)}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background:#bbb;border-radius:24px;cursor:pointer;inset:0;position:absolute;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:#4caf50}.toggle-slider:before{background:#fff;border-radius:50%;content:"";height:clamp(16px,2vw,18px);left:3px;position:absolute;top:50%;transform:translateY(-50%);transition:.2s;width:clamp(16px,2vw,18px)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(clamp(18px,2.5vw,20px),-50%)}.no-devices-message{color:#666;font-size:clamp(10px,1.3vw,16px);margin:0;padding:clamp(8px,1.5vh,16px)}.devices-table-wrapper{border:1px solid #ddd;border-radius:12px;box-shadow:0 4px 12px #0000000d;flex:1 1;margin:0 auto;min-height:0;overflow:auto;position:relative;width:95%;z-index:1}.devices-table-wrapper::-webkit-scrollbar{height:8px;width:8px}.devices-table-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.devices-table-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.devices-table-wrapper::-webkit-scrollbar-thumb:hover{background:#555}.devices-table{border-collapse:initial;border-spacing:0;font-size:clamp(9px,1.1vw,16px);position:relative;width:100%}.devices-table thead{background-color:#4f46e5;position:-webkit-sticky;position:sticky;top:0;z-index:10}.devices-table td,.devices-table th{border-bottom:1px solid #eee;font-size:clamp(9px,1.1vw,16px);min-width:80px;padding:clamp(2px,.3vw,8px) clamp(4px,.6vw,14px);white-space:nowrap}.devices-table thead tr:first-child th{background-color:#4f46e5;border-top:clamp(1px,.2vh,2px) solid #3d35c7;box-shadow:0 2px 4px #0000001a;color:#fff;padding-bottom:clamp(2px,.3vw,8px);padding-top:clamp(2px,.3vw,8px);position:-webkit-sticky;position:sticky;top:0;z-index:12}.devices-table tbody{background-color:#fafafa}.devices-table tbody tr{border-bottom:1px solid #e0e0e0}.devices-table tbody tr:hover{background-color:#f5f5f5}.devices-table tbody tr:first-child td{padding-top:clamp(6px,.8vw,14px)}.devices-table tbody tr:last-child td{padding-bottom:clamp(6px,.8vw,14px)}.devices-table th{font-size:clamp(9px,1.1vw,16px);font-weight:600}.devices-table .sortable-header:hover{background-color:#4338ca}.devices-table .search-row th{top:calc(clamp(2px, .3vw, 8px)*2 + clamp(9px, 1.1vw, 16px) + 1px)}.devices-table .search-row th,.offline-devices-table .search-row th{background-color:#5b4fe5;box-shadow:0 2px 4px #0000001a;padding:clamp(2px,.3vw,5px);position:-webkit-sticky;position:sticky;z-index:11}.offline-devices-table .search-row th{top:calc(clamp(3px, .4vw, 10px)*2 + clamp(9px, 1.1vw, 16px) + 1px)}.devices-table .search-input{display:block}.status-on{color:green;font-weight:600}.status-off{color:red;font-weight:600}.status-indicator{background-color:currentColor;border-radius:50%;display:inline-block;height:clamp(8px,1vw,12px);width:clamp(8px,1vw,12px)}@media (max-width:968px){.devices-table thead tr:first-child th{padding-bottom:4px;padding-top:4px}.devices-table .search-row th{padding:2px;top:26px}.offline-devices-table thead tr:first-child th{padding-bottom:4px;padding-top:4px}.offline-devices-table .search-row th{padding:2px;top:26px}.devices-table tbody tr:first-child td{padding-top:12px}.devices-table tbody tr:last-child td{padding-bottom:12px}.offline-devices-table tbody tr:first-child td{padding-top:12px}.offline-devices-table tbody tr:last-child td{padding-bottom:12px}.offline-devices-table-wrapper{max-height:calc(clamp(2px, .4vh, 4px) + clamp(2px, .3vh, 5px) + clamp(9px, 1.1vw, 16px) + clamp(3px, .4vh, 6px) + clamp(3px, .4vw, 10px) + clamp(2px, .3vw, 5px)*2 + clamp(9px, 1.1vw, 16px) + clamp(3px, .4vw, 10px)*2*15 + clamp(9px, 1.1vw, 16px)*15 + 15px)}.devices-table-wrapper{max-height:calc(clamp(1px, .2vh, 2px) + clamp(1px, .2vh, 3px) + clamp(9px, 1.1vw, 16px) + clamp(2px, .3vh, 4px) + clamp(2px, .3vw, 8px) + clamp(1px, .15vw, 2px)*2 + clamp(9px, 1.1vw, 16px) + clamp(2px, .3vw, 8px)*2*15 + clamp(9px, 1.1vw, 16px)*15 + 15px)}}.header{background:#f2f2f2;box-shadow:0 2px 4px #0000001a;flex-wrap:nowrap;justify-content:space-between;min-height:0;padding:clamp(8px,1.5vh,15px) clamp(15px,2vw,30px)}.header,.header-left{align-items:center;display:flex;flex-shrink:0}.header-left{gap:clamp(8px,1.5vw,15px)}.header-logo{flex-shrink:0;height:clamp(40px,6vh,60px);object-fit:contain;width:clamp(35px,5vh,50px)}.header-title{color:#333;flex-shrink:0;font-size:clamp(14px,2.2vw,28px);font-weight:700;margin:0;white-space:nowrap}.header-nav{align-items:center;display:flex;flex-shrink:0;gap:clamp(8px,1.5vw,20px)}.nav-link{border-radius:6px;color:#333;flex-shrink:0;font-size:clamp(13px,1.6vw,18px);font-weight:500;padding:clamp(6px,1vh,10px) clamp(8px,1.2vw,16px);text-decoration:none;transition:all .2s ease;white-space:nowrap}.nav-link:hover{background:#2196f31a;color:#2196f3}.nav-link-active{background:#2196f326;color:#2196f3;font-weight:700}.logout-button{background:#d9534f;border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;flex-shrink:0;font-size:clamp(12px,1.5vw,16px);font-weight:600;padding:clamp(6px,1vh,10px) clamp(10px,1.5vw,18px);transition:all .2s ease;white-space:nowrap}.logout-button:hover{background:#c9302c;box-shadow:0 3px 6px #00000026;transform:translateY(-1px)}.logout-button:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.dashboard-container{background-color:#f5f5f5;display:flex;flex-direction:column;height:100vh;overflow:hidden}.dashboard-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:auto;padding:5px}.dashboard-grid{display:flex;flex:1 1;gap:clamp(5px,.8vw,12px);min-height:0;padding:clamp(5px,.8vw,12px)}.dashboard-card{grid-gap:clamp(3px,.5vh,8px);background:#fff;border-radius:6px;box-shadow:0 1px 4px #0000001a;display:grid;flex:1 1;gap:clamp(3px,.5vh,8px);grid-template-rows:auto 1fr;min-width:300px;overflow:hidden;padding:clamp(3px,.5vw,8px)}.dashboard-card>:first-child{display:flex;flex-direction:column;grid-row:1;min-height:0;overflow:visible;width:100%}.dashboard-card>:last-child{display:flex;flex-direction:column;grid-row:2;min-height:0;overflow:auto}@media (max-width:968px){.dashboard-content{-webkit-overflow-scrolling:touch;overflow:auto;padding:3px 3px 5px}.dashboard-grid{flex:none;flex-direction:column;gap:clamp(8px,1vh,12px);min-height:auto;padding:clamp(3px,.5vw,8px) clamp(3px,.5vw,8px) 5px}.dashboard-card{flex:none;height:auto;max-width:100%;min-width:100%}.dashboard-card:has(.donut-chart-container){grid-template-rows:auto auto auto;max-height:none;min-height:auto}.dashboard-card:has(.devices-table-wrapper),.dashboard-card:has(.offline-devices-table-wrapper){max-height:50vh;min-height:35vh}}:root{---background-color:#f5f7fa;---header-text-color:#cf2e2e;--normal-heading-color:#cf2e2e;---text-darker:#000;--subheading-text-color:#1d3c6e}.button{background-color:#cf2e2e;border:1px solid #a82626;border-radius:5px;color:#fff;cursor:pointer;display:block;font-size:1rem;font-weight:500;margin:.5rem 0;padding:.2rem .5rem;transition:#f5f7fa .2s ease,transform .1s ease;transition:var(---background-color) .2s ease,transform .1s ease}.button:hover{background-color:#a82626;transform:translateY(-1px)}.button:active{transform:translateY(1px)}.button:disabled{background-color:#94a3b8;cursor:not-allowed}.disp-transactions-btn-group{display:flex;gap:1rem;margin-bottom:1rem;margin-left:1rem}.date-picker-wrapper{align-items:center;display:flex;gap:.5rem}.date-picker{border:2px solid #cf2e2e;border-radius:8px;font-size:1rem;padding:.5rem .8rem}.date-arrow{background-color:#cf2e2e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:.4rem .6rem;transition:background .1s}.date-arrow:hover{background-color:#a82626}.dropdown{gap:.5rem;min-width:150px;width:100%}.dropdown label{color:#333;font-size:1rem;font-weight:600}.dropdown select{background-color:#fff;border:2px solid #cf2e2e;border-radius:7px;color:#333;cursor:pointer;font-size:1.1rem;font-weight:500;padding:.5rem .75rem}.dropdown select:focus{outline:none}.dropdown select:focus,.dropdown select:hover{background-color:#f5f7fa;border-color:#cf2e2e}.dropdown select:active{background-color:#f5f7fa;border-color:#a82626;transform:translateY(.5px)}.login-container{align-items:center;background-color:#7a7a7a;display:flex;height:100vh;justify-content:center}.login-box{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:2rem;text-align:center;width:320px}.login-logo{margin-bottom:1rem;width:200px}.login-title{margin-bottom:1.5rem}.form-group{margin-bottom:1rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem}.form-group input{border:1px solid #ccc;border-radius:6px;padding:.6rem;width:100%}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:clamp(5px,1vw,10px);position:fixed;right:0;top:0;z-index:1000}.modal-container{background-color:#fff;border:1px solid #e0e0e0;border-radius:clamp(6px,1vw,10px);box-shadow:0 8px 24px #00000026;display:flex;flex-direction:column;max-height:92vh;overflow:hidden;padding:0;width:clamp(300px,85vw,500px)}.modal-header{align-items:center;background:linear-gradient(135deg,#4f46e5,#5b4fe5);box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;gap:clamp(6px,1vw,10px);justify-content:space-between;padding:clamp(8px,1.2vw,12px) clamp(10px,1.5vw,14px);position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-title{color:#fff;flex:1 1;font-size:clamp(13px,1.6vw,16px);font-weight:600;margin:0}.modal-header-buttons{display:flex;flex-shrink:0;gap:clamp(4px,.6vw,6px)}.modal-message-container{background-color:#fff;border-bottom:2px solid #e0e0e0;box-shadow:0 3px 8px #0000001f;padding:clamp(8px,1vw,12px) clamp(10px,1.5vw,14px);position:-webkit-sticky;position:sticky;top:calc(clamp(8px, 1.2vw, 12px)*2 + clamp(13px, 1.6vw, 16px) + 1px);z-index:9}.modal-message{animation:slideDown .3s ease-out;border:3px solid;border-radius:clamp(5px,.7vw,7px);box-shadow:0 6px 16px #0003;font-size:clamp(13px,1.3vw,15px);font-weight:700;margin:0;padding:clamp(12px,1.4vw,16px);text-shadow:1px 1px 2px #fffc,-1px -1px 2px #fffc,1px -1px 2px #fffc,-1px 1px 2px #fffc}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-message.success{background:linear-gradient(135deg,#86efac,#4ade80);border-color:#16a34a;color:#15803d}.modal-message.error{background:linear-gradient(135deg,#fca5a5,#f87171);border-color:#dc2626;color:#b91c1c}.modal-form{background-color:#fafafa;display:flex;flex:1 1;flex-direction:column;gap:clamp(6px,.9vh,8px);overflow-y:auto;padding:clamp(8px,1.2vw,12px)}.modal-form::-webkit-scrollbar{width:5px}.modal-form::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.modal-form::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.modal-form::-webkit-scrollbar-thumb:hover{background:#555}.modal-field{background-color:#fff;border:1px solid #e0e0e0;border-radius:clamp(5px,.7vw,6px);box-shadow:0 1px 2px #00000005;display:flex;flex-direction:column;padding:clamp(6px,.9vw,9px)}.modal-label{color:#333;font-size:clamp(11px,1.1vw,12px);font-weight:600;margin-bottom:clamp(3px,.5vw,5px)}.modal-input,.modal-select,.modal-textarea{background-color:#fff;border:2px solid #e0e0e0;border-radius:clamp(4px,.6vw,5px);font-size:clamp(11px,1.1vw,12px);outline:none;padding:clamp(6px,.8vw,8px) clamp(8px,1.1vw,10px);transition:all .2s}.modal-input:focus,.modal-select:focus,.modal-textarea:focus{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51a}.modal-input:hover,.modal-select:hover,.modal-textarea:hover{border-color:#5b4fe5}.modal-textarea{min-height:clamp(50px,8vh,70px);resize:vertical}.modal-buttons{display:flex;gap:clamp(4px,.6vw,6px);justify-content:flex-end}.modal-cancel-btn{background-color:#fff3;border:2px solid #fff;border-radius:clamp(4px,.6vw,5px);color:#fff;cursor:pointer;font-size:clamp(11px,1.1vw,12px);font-weight:500;padding:clamp(5px,.7vw,8px) clamp(10px,1.3vw,14px);transition:all .2s;white-space:nowrap}.modal-cancel-btn:hover{background-color:#ffffff4d;border-color:#fff}.modal-submit-btn{background-color:#fff;border:2px solid #fff;border-radius:clamp(4px,.6vw,5px);color:#4f46e5;cursor:pointer;font-size:clamp(11px,1.1vw,12px);font-weight:600;padding:clamp(5px,.7vw,8px) clamp(10px,1.3vw,14px);transition:all .2s;white-space:nowrap}.modal-submit-btn:hover:not(:disabled){background-color:#f0f0f0;box-shadow:0 2px 5px #0000001a;transform:translateY(-1px)}.modal-submit-btn:disabled{cursor:not-allowed;opacity:.6}.modal-delete-btn{background-color:#e53935;border:2px solid #fff;border-radius:clamp(4px,.6vw,5px);color:#fff;cursor:pointer;font-size:clamp(11px,1.1vw,12px);font-weight:500;padding:clamp(5px,.7vw,8px) clamp(10px,1.3vw,14px);transition:all .2s;white-space:nowrap}.modal-delete-btn:hover:not(:disabled){background-color:#c62828;box-shadow:0 2px 5px #0000001a;transform:translateY(-1px)}.modal-delete-btn:disabled{cursor:not-allowed;opacity:.6}body,html{margin:0;padding:0}#root,body,html{height:100%;overflow:hidden}.tenant-form-container{box-sizing:border-box;display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:clamp(2px,.3vw,5px) clamp(2px,.3vw,5px) clamp(30px,10vh,10px)}.form-section{flex-shrink:0}.form-section,.toggle-form-btn{margin-bottom:clamp(3px,.5vh,5px)}.toggle-form-btn{background-color:#4f46e5;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:clamp(11px,1.2vw,14px);font-weight:500;padding:clamp(4px,.6vw,10px) clamp(8px,1vw,15px);transition:background .2s}.toggle-form-btn:hover{background-color:#4338ca}.tenant-form{background-color:#fefefe;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;gap:clamp(4px,.6vw,8px);max-height:40vh;overflow-y:auto;padding:clamp(8px,1vw,12px)}.form-message{font-size:clamp(11px,1.2vw,14px);font-weight:500;margin-bottom:clamp(2px,.3vw,4px)}.form-message.success{color:green}.form-message.error{color:red}.form-field{display:flex;flex-direction:column}.form-field label{font-weight:500;margin-bottom:clamp(2px,.3vw,4px)}.form-field label,.form-input{font-size:clamp(11px,1.2vw,14px)}.form-input{border:1px solid #ccc;border-radius:8px;outline:none;padding:clamp(4px,.6vw,8px) clamp(8px,1vw,12px);transition:border .2s}.form-input:focus{border-color:#4f46e5}.form-textarea{min-height:clamp(40px,6vh,60px);resize:vertical}.submit-btn{background-color:#4f46e5;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:clamp(11px,1.2vw,14px);font-weight:600;margin-top:clamp(2px,.3vw,4px);padding:clamp(4px,.6vw,8px) clamp(10px,1.2vw,16px);transition:background .2s}.submit-btn:hover:not(:disabled){background-color:#4338ca}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.table-wrapper{display:flex;flex:1 1;flex-direction:column;margin-bottom:clamp(20px,3vh,40px);min-height:0}.table-scroll-container{border-radius:12px;box-shadow:0 4px 12px #0000000d;flex:1 1;min-height:0;overflow:auto;padding-bottom:clamp(40px,6vh,60px);position:relative}.table-scroll-container::-webkit-scrollbar{height:8px;width:8px}.table-scroll-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.table-scroll-container::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.table-scroll-container::-webkit-scrollbar-thumb:hover{background:#555}.tenant-table{border-collapse:collapse;font-size:clamp(9px,1.1vw,16px);table-layout:fixed;width:100%}.tenant-table td:last-child,.tenant-table th:last-child{width:clamp(80px,10vw,120px)}.table-header{background-color:#4f46e5;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.sortable-header{cursor:pointer;font-size:clamp(10px,1.2vw,14px);overflow:hidden;padding:clamp(4px,.5vw,8px);text-align:left;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.sortable-header:hover{background-color:#4338ca}.table-header th{overflow:hidden;padding:clamp(4px,.5vw,8px);text-overflow:ellipsis}.search-row{background-color:#5b4fe5;position:-webkit-sticky;position:sticky;top:calc(clamp(4px, .5vw, 8px)*2 + clamp(10px, 1.2vw, 14px));z-index:9}.search-row th{padding:clamp(2px,.3vw,4px);vertical-align:middle}.search-input{border:2px solid #4f46e5;border-radius:4px;box-sizing:border-box;font-size:clamp(9px,1vw,12px);padding:clamp(2px,.3vw,4px);width:100%}.table-body{background-color:#fafafa}.table-body tr:last-child td{padding-bottom:clamp(20px,3vh,30px)}.table-row{border-bottom:1px solid #e0e0e0}.table-row:hover{background-color:#f5f5f5}.table-row td{font-size:clamp(10px,1.2vw,14px);overflow:hidden;padding:clamp(4px,.5vw,8px);text-overflow:ellipsis;white-space:nowrap}.action-buttons{align-items:center;display:flex;gap:clamp(3px,.5vw,6px);height:100%;justify-content:center}.edit-btn{background-color:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:clamp(10px,1.1vw,13px);min-width:0;padding:clamp(4px,.5vw,6px) clamp(8px,1vw,12px);transition:background .2s;white-space:nowrap}.edit-btn:hover{background-color:#4338ca}.delete-btn{background-color:#e53935;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:clamp(10px,1.1vw,13px);min-width:0;padding:clamp(4px,.5vw,6px) clamp(8px,1vw,12px);transition:background .2s;white-space:nowrap}.delete-btn:hover{background-color:#c62828}.loading-message,.no-data-message{color:#666;font-size:clamp(12px,1.5vw,18px);padding:clamp(12px,2vh,24px);text-align:center}@media (max-width:968px){.table-header th{padding-bottom:4px;padding-top:4px}.search-row{top:26px}.search-row th{padding:2px}}.general-container{box-sizing:border-box;height:100vh;margin:0 auto;max-width:1200px;overflow-y:auto;padding:clamp(12px,2vw,24px)}.general-section{margin-bottom:clamp(20px,3vh,30px)}.general-toggle-btn{background-color:#4f46e5;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:clamp(12px,1.3vw,15px);font-weight:500;margin-bottom:clamp(8px,1vh,12px);padding:clamp(6px,.8vw,10px) clamp(12px,1.5vw,20px);transition:background .2s}.general-toggle-btn:hover{background-color:#4338ca}.general-form{background-color:#fefefe;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;gap:clamp(10px,1.5vh,15px);margin-bottom:clamp(15px,2vh,20px);padding:clamp(15px,2vw,25px)}.general-form-message{border-radius:6px;font-size:clamp(12px,1.3vw,15px);font-weight:500;padding:clamp(6px,.8vw,10px)}.general-form-message.success{background-color:#f0fdf4;color:green}.general-form-message.error{background-color:#fef2f2;color:red}.general-form-field{display:flex;flex-direction:column}.general-form-field label{font-size:clamp(12px,1.3vw,15px);font-weight:500;margin-bottom:clamp(4px,.6vw,8px)}.general-form-input{border:1px solid #ccc;border-radius:8px;font-size:clamp(12px,1.3vw,15px);outline:none;padding:clamp(8px,1vw,12px) clamp(10px,1.3vw,16px);transition:border .2s}.general-form-input:focus{border-color:#4f46e5}.general-submit-btn{background-color:#4f46e5;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:clamp(12px,1.3vw,15px);font-weight:600;margin-top:clamp(6px,.8vh,10px);padding:clamp(8px,1vw,12px) clamp(12px,1.5vw,20px);transition:background .2s}.general-submit-btn:hover:not(:disabled){background-color:#4338ca}.general-submit-btn:disabled{cursor:not-allowed;opacity:.6}.general-table-wrapper{margin-bottom:clamp(25px,4vh,40px)}.general-table-title{font-size:clamp(16px,2vw,20px);font-weight:600;margin-bottom:clamp(8px,1vh,12px)}.general-table-scroll{border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow-x:auto}.general-table-scroll::-webkit-scrollbar{height:8px;width:8px}.general-table-scroll::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.general-table-scroll::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.general-table-scroll::-webkit-scrollbar-thumb:hover{background:#555}.general-table{border-collapse:collapse;border-radius:12px;font-size:clamp(11px,1.2vw,14px);overflow:hidden;table-layout:fixed;width:100%}.general-table td:last-child,.general-table th:last-child{width:clamp(80px,10vw,120px)}.general-table thead{background-color:#4f46e5;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.general-table th{font-size:clamp(11px,1.2vw,14px);font-weight:500;overflow:hidden;padding:clamp(8px,1vw,12px) clamp(10px,1.3vw,16px);text-align:left;text-overflow:ellipsis;white-space:nowrap}.general-table tbody{background-color:#fafafa}.general-table tbody tr{border-bottom:1px solid #e0e0e0}.general-table tbody tr:hover{background-color:#f5f5f5}.general-table td{font-size:clamp(11px,1.2vw,14px);overflow:hidden;padding:clamp(8px,1vw,12px) clamp(10px,1.3vw,16px);text-overflow:ellipsis;white-space:nowrap}.general-action-buttons{align-items:center;display:flex;gap:clamp(3px,.5vw,6px);height:100%;justify-content:center}.general-edit-btn{background-color:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:clamp(10px,1.1vw,13px);min-width:0;padding:clamp(4px,.5vw,6px) clamp(8px,1vw,12px);transition:background .2s;white-space:nowrap}.general-edit-btn:hover{background-color:#4338ca}.general-delete-btn{background-color:#e53935;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:clamp(10px,1.1vw,13px);min-width:0;padding:clamp(4px,.5vw,6px) clamp(8px,1vw,12px);transition:background .2s;white-space:nowrap}.general-delete-btn:hover{background-color:#c62828}@media (max-width:768px){.general-container{padding:12px}.general-table-scroll{max-width:100%}}.tabs-container{border-bottom:1px solid #ccc;display:flex;margin:2px 0}.tab-button{background-color:#fff;border:1px solid #ccc;border-radius:5px 5px 0 0;cursor:pointer;font-weight:400;margin-right:2px;outline:none;padding:10px;transition:all .2s}.tab-button.active{background-color:#f3f4f6;border-bottom:3px solid #4f46e5;font-weight:700}.tab-button:hover{background-color:#f9fafb}.tab-content{padding:2px 0}
/*# sourceMappingURL=main.6bba94f0.css.map*/