:root{--brand-primary: rgb(70, 37, 100);--brand-secondary: rgb(149, 193, 35);--brand-primary-pastel: #9e8dad;--dark-blue: #333645;--light-grey: #e1e8ed;--lighter-gray: #fafbfd;--white: #ffffff;--black: #000000;--darker-grey: #636c72;--bg: #e1e8ed;--danger: #e74c3c;--success: #27ae60;--warning: #f39c12}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:Nunito Sans,sans-serif;height:100%;position:relative;letter-spacing:1px;color:var(--dark-blue);background:var(--bg)}#root{position:relative;height:100%;overflow:hidden;display:flex}#sidebar{background-color:var(--lighter-gray);position:fixed;top:0;left:0;width:300px;bottom:0;height:100%;overflow:hidden;z-index:100}#sidebar .sidebar-inner{width:calc(100% + 17px);height:100%;overflow-y:scroll}#sidebar .sidebar-top{display:table;width:100%;height:105px;background:var(--white);padding:25px}#sidebar .sidebar-top .sidebar-top-inner{display:table-cell;vertical-align:middle;text-align:center}#sidebar .sidebar-top img{max-width:100%;height:auto}#sidebar .sidebar-hr{background:var(--brand-secondary);height:2px;padding:0;margin:0;border:none}#sidebar .group ul{list-style:none;padding:0;margin:0}#sidebar .group+.group{border-top:1px solid rgba(0,0,0,.3)}#sidebar .group ul li a{padding:15px 25px;line-height:18px;display:flex;align-items:center;text-decoration:none;color:var(--dark-blue);transition:border-left .3s,background-color .2s;font-size:14px;font-weight:600;letter-spacing:.5px}#sidebar .group ul li a i.material-icons{font-size:1.5rem;position:relative;top:1px;padding-right:10px;color:var(--darker-grey);transition:color .2s}#sidebar .group ul li:hover a{background-color:#0000000d}#sidebar .group ul li:hover a i.material-icons{color:var(--brand-secondary)}#sidebar .group ul li.active>a i.material-icons{color:var(--brand-secondary)}#sidebar .group ul li.active>a{background-color:#0000000a}#sidebar .group ul li .nav-badge{margin-left:auto;border:3px solid var(--white);background-color:var(--brand-primary);color:var(--white);display:block;border-radius:50%;font-size:10px;width:25px;text-align:center;height:25px;line-height:19px;letter-spacing:0;padding:0}.sidebar-section-label{padding:20px 25px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--darker-grey)}#app-container{position:absolute;top:0;left:300px;right:0;bottom:0;transition:left .3s,right .3s;background-color:var(--bg);box-shadow:0 0 20px #0003;overflow-y:auto;z-index:2}header .top{min-height:70px;background-color:var(--white);color:var(--brand-primary);display:flex;flex-direction:row;align-items:center}header .top .profile-group{margin-left:auto;display:flex;flex-direction:row;align-items:center}header .top .profile-group .site-dropdown{padding:18px 10px 18px 30px;font-size:24px;display:flex;align-items:center;cursor:pointer;color:var(--brand-primary);text-decoration:none;position:relative}header .top .profile-group .site-dropdown i.material-icons{font-size:24px}header .top .profile-group .site-dropdown .current-site{font-size:18px;display:inline;font-weight:600;letter-spacing:.5px}header .top .profile-group .site-dropdown select{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}header .top .profile-group .notification-bell{padding:0 8px}header .top .profile-group .notification-bell a{display:block;color:var(--darker-grey);position:relative;text-decoration:none}header .top .profile-group .notification-bell i{font-size:24px;height:70px;line-height:70px}header .top .profile-group .profile-avatar{padding:15px 30px}header .top .profile-group .profile-avatar img{width:40px;height:40px;overflow:hidden;border-radius:50%;display:block}header .top .hamburger-placeholder{padding:24px 30px 16px;display:flex;flex-direction:column;gap:5px;cursor:pointer}header .top .hamburger-placeholder span{display:block;width:36px;height:2px;background:var(--darker-grey);border-radius:2px}.app-breadcrumbs{background-color:var(--brand-primary-pastel);color:var(--white);padding:10px 30px;font-size:13px;letter-spacing:.5px}.app-breadcrumbs ol{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.app-breadcrumbs ol li{display:flex;align-items:center}.app-breadcrumbs ol li+li:before{content:"/";padding:0 8px;opacity:.6}.app-breadcrumbs ol li a{color:var(--white);text-decoration:none;opacity:.8}.app-breadcrumbs ol li a:hover{opacity:1;text-decoration:underline}.app-breadcrumbs ol li.active{opacity:1;font-weight:600}.app-content{padding:0 30px 30px}.page-title-bar{display:flex;align-items:center;justify-content:space-between;padding:20px 0 15px}.page-title-bar h1{font-size:20px;font-weight:700;color:var(--dark-blue);text-transform:uppercase;letter-spacing:1px}.page-title-bar .actions{display:flex;gap:8px}.dashboard-group{padding:0;min-height:133px;display:block;margin:0 -5px;font-size:0;letter-spacing:0}.dashboard-group>*{display:inline-block;float:none;vertical-align:top;font-size:12px}.dashboard-group .col-item{width:33.333%;padding:0 5px;display:inline-block;margin-bottom:35px}@media(max-width:1200px){.dashboard-group .col-item{width:50%}}@media(max-width:768px){.dashboard-group .col-item{width:100%}}.dashboard-item{min-width:250px;letter-spacing:.5px;background-color:var(--white);display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-radius:10px;font-size:14.5px;text-align:center;font-weight:700;text-decoration:none;box-shadow:0 2px 15px #00000012;color:var(--dark-blue);height:150px;padding:0;overflow:hidden;cursor:pointer;transition:box-shadow .2s;margin-right:5px}.dashboard-item:hover{box-shadow:0 2px 15px #0003}.dashboard-item:hover .dashboard-icon{color:var(--brand-secondary)}.dashboard-icon{font-size:100px;height:150px;line-height:150px;display:block;color:var(--darker-grey);padding-left:5px;transition:color .2s}.dashboard-icon-angled{transform:rotate(10deg)}.dashboard-item .name{margin:20px;font-size:20px;line-height:25px;color:var(--dark-blue)}.report-filters{background:var(--white);border-radius:8px;margin-bottom:15px;padding:15px;box-shadow:0 2px 15px #00000012}.filter-group{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.filter-group label{font-weight:600;color:var(--dark-blue);margin-bottom:10px;display:block;font-size:12px;text-transform:uppercase;letter-spacing:0px;line-height:1}.filter-group .form-group{flex:1;min-width:200px;margin:0}.filter-group .form-group.btns{flex:0;min-width:auto}.form-control{width:100%;padding:8px 12px;border:1px solid var(--light-grey);border-radius:5px;font-family:Nunito Sans,sans-serif;font-size:13px;color:var(--dark-blue);background:var(--white);min-height:40px;letter-spacing:.5px}.form-control:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px #4625641a}.btn-group{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:5px;font-family:Nunito Sans,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;text-decoration:none;min-height:40px;line-height:1;letter-spacing:.5px}.btn .material-icons{font-size:18px}.btn-primary{background:var(--brand-primary);color:var(--white)}.btn-primary:hover{background:#371d50}.btn-secondary{background:var(--light-grey);color:var(--dark-blue)}.btn-secondary:hover{background:#cdd5db}.btn-success{background:var(--brand-secondary);color:var(--white)}.btn-success:hover{background:#82aa19}.btn-sm{padding:6px 12px;font-size:12px;min-height:32px}.btn-outline{background:transparent;border:1px solid var(--light-grey);color:var(--dark-blue)}.btn-outline:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.btn-outline.active{background:var(--brand-primary);color:var(--white);border-color:var(--brand-primary)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:15px}.summary-card{background:var(--white);border-radius:8px;padding:15px;box-shadow:0 2px 15px #00000012;transition:box-shadow .2s}.summary-card:hover{box-shadow:0 2px 15px #0003}.summary-card h3{margin:0 0 6px;font-size:12px;color:var(--dark-blue);text-transform:uppercase;letter-spacing:0px;font-weight:600;display:flex;align-items:center;gap:.5rem;line-height:1}.summary-card .value{font-size:22px;font-weight:800;color:var(--brand-primary);line-height:1;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-card .change{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;margin-top:8px}.summary-card .change.up{color:var(--success)}.summary-card .change.down{color:var(--danger)}.summary-card .change .material-icons{font-size:16px}.summary-card.highlight{background:linear-gradient(#462564d9,#462564d9)}.summary-card.highlight h3,.summary-card.highlight .value{color:var(--white)}.summary-card.highlight .change.up{color:var(--brand-secondary)}.summary-card.highlight .change.down{color:#ff8a80}.chart-container{background:var(--white);border-radius:8px;padding:15px;margin-top:15px;box-shadow:0 2px 15px #00000012}.chart-container h2{color:var(--dark-blue);margin-bottom:15px;font-weight:600;font-size:16px}.chart-controls{display:flex;flex-wrap:wrap;gap:10px;position:relative;margin:0 0 15px;padding-bottom:15px}.chart-controls:after{content:"";position:absolute;left:-15px;width:calc(100% + 30px);height:1px;background:var(--light-grey);bottom:0}.chart-toggle{display:flex;align-items:center;gap:.5rem;padding:12px 14px;background:#e1e8ed91;border:0;border-radius:5px;cursor:pointer;transition:all .2s;font-weight:800;color:var(--dark-blue);font-size:12px;letter-spacing:-.02em;line-height:1;font-family:Nunito Sans,sans-serif;box-shadow:none}.chart-toggle:hover{background:#e1e8ed}.chart-toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid #c1cfda;background-color:#fff;border-radius:3px;background-repeat:no-repeat;background-position:center;background-size:8px}.chart-toggle input[type=checkbox]:checked{border:1px solid #39444d;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M493 88.9l-18.8 25.9-256 352-22 30.3c-.7-.7-52.2-52.2-154.5-154.5L19 320 64.3 274.7c1.9 1.9 43.3 43.3 124.1 124.1l234-321.7 18.8-25.9 51.8 37.6z"/></svg>');background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:8px}.color-swatch{width:20px;height:3px;display:inline-block;border-radius:1px}.table-panel{background:var(--white);border-radius:8px;box-shadow:0 2px 15px #00000012;margin-top:15px;overflow:hidden}.table-responsive{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;margin:0}.data-table th{background:var(--brand-primary);color:var(--white);padding:10px 13px;text-align:left;font-weight:800;border:0;font-size:10px;text-transform:uppercase;letter-spacing:-.02em;line-height:1;vertical-align:middle;white-space:nowrap}.data-table th:first-child{border-top-left-radius:8px}.data-table th:last-child{border-top-right-radius:8px}.data-table td{padding:10px 13px;border-bottom:1px solid var(--light-grey);color:var(--dark-blue);font-size:12px;line-height:1.4;letter-spacing:-.005em}.data-table tbody tr{transition:background-color .15s}.data-table tbody tr:hover{background:#4625640d}.data-table tbody tr:last-child td{border-bottom:0}.data-table .text-right{text-align:right}.data-table .text-center{text-align:center}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover{background:#46256414}.badge{font-size:10px;line-height:1;border-radius:3px;padding:8px 10px;font-weight:800;display:inline-block}.badge-success{background:#27ae601a;color:var(--success)}.badge-danger{background:#e74c3c1a;color:var(--danger)}.badge-warning{background:#f39c121a;color:var(--warning)}.badge-info{background:#4625641a;color:var(--brand-primary)}.metric-tooltip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#4625641a;color:var(--brand-primary);font-size:10px;font-weight:700;cursor:help;transition:all .2s;margin-left:5px;margin-top:-1px;flex-shrink:0}.metric-tooltip:hover{background:var(--brand-primary);color:var(--white)}.metric-tooltip:hover .tooltip-content{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.metric-tooltip-light{background:#fff3;color:var(--white)}.metric-tooltip-light:hover{background:#ffffff4d;color:var(--white)}.tooltip-content{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(5px);background:var(--dark-blue);color:var(--white);padding:.75rem 1rem;border-radius:6px;font-size:.75rem;font-weight:400;white-space:normal;min-width:200px;max-width:300px;box-shadow:0 4px 12px #0003;z-index:1000;opacity:0;visibility:hidden;transition:all .2s;text-transform:none;line-height:1.5;letter-spacing:normal;text-align:left;pointer-events:none}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--dark-blue)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-top:1px solid var(--light-grey);font-size:13px}.pagination-info{color:var(--darker-grey)}.pagination-controls{display:flex;gap:4px}.pagination-controls button{padding:6px 10px;border:1px solid var(--light-grey);background:var(--white);border-radius:4px;cursor:pointer;font-family:inherit;font-size:12px;color:var(--dark-blue);transition:all .15s}.pagination-controls button:hover:not(:disabled){border-color:var(--brand-primary);color:var(--brand-primary)}.pagination-controls button.active{background:var(--brand-primary);color:var(--white);border-color:var(--brand-primary)}.pagination-controls button:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--white);border-radius:10px;padding:25px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal h2{font-size:18px;font-weight:700;margin-bottom:15px;color:var(--dark-blue)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.drill-down-panel{background:var(--white);border-radius:8px;padding:20px;margin-top:15px;box-shadow:0 2px 15px #00000012;border-left:4px solid var(--brand-primary)}.drill-down-panel h3{font-size:16px;font-weight:700;margin-bottom:15px;color:var(--dark-blue);display:flex;align-items:center;gap:10px}.drill-down-panel .close-btn{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--darker-grey);font-size:20px}.drill-down-panel .close-btn:hover{color:var(--danger)}.invoice-link{color:var(--brand-primary);text-decoration:none;font-weight:600;cursor:pointer}.invoice-link:hover{text-decoration:underline;color:var(--brand-secondary)}.period-selector{display:flex;gap:6px;margin-bottom:15px}.occupancy-input{width:70px;padding:4px 8px;border:1px solid var(--light-grey);border-radius:4px;font-family:inherit;font-size:12px;text-align:center}.occupancy-input:focus{outline:none;border-color:var(--brand-primary)}.schedule-card{background:var(--white);border-radius:8px;padding:15px 20px;box-shadow:0 2px 15px #00000012;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}.schedule-card .schedule-info{display:flex;flex-direction:column;gap:4px}.schedule-card .schedule-name{font-weight:700;font-size:14px}.schedule-card .schedule-detail{font-size:12px;color:var(--darker-grey)}.schedule-card .schedule-actions{display:flex;gap:8px;align-items:center}.toggle-switch{position:relative;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:24px;transition:.2s}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background-color:var(--brand-secondary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.comparison-arrow{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:700}.comparison-arrow.up{color:var(--success)}.comparison-arrow.down{color:var(--danger)}.comparison-arrow .material-icons{font-size:16px}.empty-state{text-align:center;padding:40px 20px;color:var(--darker-grey)}.empty-state .material-icons{font-size:48px;margin-bottom:10px;color:var(--light-grey)}.empty-state p{font-size:14px}.info-banner{background:#4625640f;border:1px solid rgba(70,37,100,.15);border-radius:8px;padding:10px 15px;margin-bottom:15px;font-size:12px;display:flex;align-items:center;gap:8px;letter-spacing:0}.info-banner .material-icons{font-size:18px;color:var(--brand-primary)}.info-banner.success{background:#95c1231a;border-color:#95c1234d}.info-banner.success .material-icons{color:var(--brand-secondary)}
