.sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;background:#1a1a1a;color:#fff;display:flex;flex-direction:column;z-index:100;overflow-y:auto}.sidebar .sidebar-header{display:flex;align-items:center;gap:10px;padding:20px}.sidebar .sidebar-header .logo-mark{width:32px;height:32px;background:#b00038;border-radius:8px;display:flex;align-items:center;justify-content:center}.sidebar .sidebar-header .logo-text{font-size:16px;font-weight:600;letter-spacing:-.3px}.sidebar .sidebar-header .logo-text span{color:#b00038}.sidebar .sidebar-nav{flex:1;padding:0 12px;overflow-y:auto}.sidebar .sidebar-nav .nav-section{margin-bottom:8px}.sidebar .sidebar-nav .nav-section .nav-section-label{padding:8px 8px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#ffffff59}.sidebar .sidebar-nav .nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:13px;color:#ffffffa6;cursor:pointer;transition:all .15s;margin-bottom:1px}.sidebar .sidebar-nav .nav-item:hover{background:#ffffff14;color:#fff}.sidebar .sidebar-nav .nav-item.active{background:#b00038;color:#fff}.sidebar .sidebar-nav .nav-item span{flex:1}.sidebar .sidebar-nav .nav-item .nav-badge{font-size:10px;padding:1px 7px;border-radius:10px;background:#ffffff26;color:#fffc}.active .sidebar .sidebar-nav .nav-item .nav-badge{background:#ffffff40}.sidebar .sidebar-footer{display:flex;align-items:center;gap:10px;padding:16px 20px;border-top:1px solid rgba(255,255,255,.1)}.sidebar .sidebar-footer .user-avatar{width:30px;height:30px;border-radius:50%;background:#b00038;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.sidebar .sidebar-footer .user-info{flex:1;min-width:0}.sidebar .sidebar-footer .user-info .user-name{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .sidebar-footer .user-info .user-role{font-size:10px;color:#ffffff80}.sidebar .sidebar-footer .logout-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:#ffffff73;cursor:pointer;flex-shrink:0;transition:all .15s}.sidebar .sidebar-footer .logout-btn:hover{background:#ffffff1a;color:#b00038}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:translate(0)}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#fafafa}.login-wrap{width:380px}.login-wrap .login-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px}.login-wrap .login-logo .logo-mark{width:32px;height:32px;background:#b00038;border-radius:8px;display:flex;align-items:center;justify-content:center}.login-wrap .login-logo .logo-text{font-size:18px;font-weight:600}.login-wrap .login-logo .logo-text span{color:#b00038}.login-wrap .login-card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:32px}.login-wrap .login-header{margin-bottom:24px}.login-wrap .login-header .brand-strip{width:36px;height:3px;background:#b00038;border-radius:2px;margin-bottom:12px}.login-wrap .login-header .login-title{font-size:22px;font-weight:700;letter-spacing:-.4px}.login-wrap .login-header .login-sub{font-size:13px;color:#737373;margin-top:6px}.login-wrap .login-error{padding:8px 12px;background:#fde8ef;color:#b00038;border-radius:8px;font-size:12px;margin-bottom:14px}.login-wrap .login-btn{width:100%;justify-content:center;padding:11px;font-size:14px;margin-top:6px}.login-wrap .login-footer{text-align:center;margin-top:20px;font-size:12px;color:#a3a3a3}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#fff;border-bottom:1px solid #e8e8e8}.topbar .topbar-left{display:flex;align-items:center;gap:14px}.topbar .topbar-left .menu-toggle{display:none;padding:8px;border:1px solid #e8e8e8;border-radius:8px;background:#fff;cursor:pointer}.topbar .topbar-left .menu-toggle:hover{background:#f5f5f5}@media (max-width: 768px){.topbar .topbar-left .menu-toggle{display:flex}}.topbar .topbar-left .topbar-title{font-size:16px;font-weight:700;letter-spacing:-.3px}.topbar .topbar-left .topbar-subtitle{font-size:12px;color:#737373;margin-top:1px}.topbar .topbar-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:2px;font-size:12px}.topbar .topbar-breadcrumbs .breadcrumb-sep{color:#d4d4d4;-webkit-user-select:none;user-select:none}.topbar .topbar-breadcrumbs .breadcrumb-link{color:#737373;cursor:pointer;transition:color .15s}.topbar .topbar-breadcrumbs .breadcrumb-link:hover{color:#b00038;text-decoration:underline}.topbar .topbar-breadcrumbs .breadcrumb-current{color:#1a1a1a;font-weight:600;cursor:default}.topbar .topbar-actions{display:flex;align-items:center;gap:8px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:16px}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.dashboard-grid>.card:last-child:nth-child(odd){grid-column:1/-1}@media (max-width: 900px){.dashboard-grid{grid-template-columns:1fr}}.site-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e8e8e8;cursor:pointer}.site-row:last-child{border-bottom:none}.site-row:hover{background:#fafafa;margin:0 -20px;padding:10px 20px}.site-row .site-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.site-row .site-info{flex:1}.site-row .site-info .site-name{font-size:13px;font-weight:500}.site-row .site-info .site-detail{font-size:11px;color:#737373;margin-top:2px}.collection-row{margin-bottom:14px}.collection-row:last-child{margin-bottom:0}.collection-row .collection-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px}.collection-row .collection-label .collection-pct{color:#737373;font-weight:500}.collection-row .progress-bar{height:6px;background:#e8e8e8;border-radius:3px;overflow:hidden}.collection-row .progress-bar .progress-fill{height:100%;background:#b00038;border-radius:3px;transition:width .3s}.overdue-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e8e8e8}.overdue-row:last-child{border-bottom:none}.overdue-row .overdue-info{flex:1}.overdue-row .overdue-info .overdue-bill{font-size:13px;font-weight:500}.overdue-row .overdue-info .overdue-site{font-size:11px;color:#737373;margin-top:2px}.overdue-row .overdue-amount{font-size:13px;font-weight:600;color:#b00038;white-space:nowrap}.payment-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e8e8e8}.payment-row:last-child{border-bottom:none}.payment-row .payment-info .payment-site{font-size:13px;font-weight:500}.payment-row .payment-info .payment-detail{font-size:11px;color:#737373;margin-top:2px}.payment-row .payment-amount{font-size:13px;font-weight:600;white-space:nowrap}.empty-widget{padding:20px 0;text-align:center;font-size:12px;color:#a3a3a3}.custom-select{position:relative;width:100%;outline:none}.custom-select.disabled{opacity:.5;pointer-events:none}.custom-select .select-trigger{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid #e8e8e8;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;min-height:38px}.custom-select .select-trigger:hover{border-color:#d4d4d4}.custom-select.open .select-trigger,.custom-select:focus .select-trigger{border-color:#b00038;box-shadow:0 0 0 3px #b0003814}.custom-select.error .select-trigger{border-color:#b00038}.custom-select .select-value{font-size:13px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-select .select-value.placeholder{color:#d4d4d4}.custom-select .select-arrow{flex-shrink:0;color:#a3a3a3;transition:transform .2s ease;margin-left:8px}.custom-select .select-arrow.rotated{transform:rotate(180deg)}.select-dropdown-portal{background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 4px 12px #00000014;overflow:hidden;animation:selectSlideDown .15s ease}.select-dropdown-portal.flip-up{animation:selectSlideUp .15s ease}.select-dropdown-portal .select-search{padding:8px 8px 4px}.select-dropdown-portal .select-search input{width:100%;padding:7px 10px;border:1px solid #e8e8e8;border-radius:6px;font-size:12px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:#1a1a1a;background:#fafafa;outline:none;transition:border-color .15s}.select-dropdown-portal .select-search input:focus{border-color:#b00038;background:#fff}.select-dropdown-portal .select-search input::placeholder{color:#a3a3a3}.select-dropdown-portal .select-options{max-height:200px;overflow-y:auto;padding:4px}.select-dropdown-portal .select-option{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;font-size:13px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:#1a1a1a;border-radius:6px;cursor:pointer;transition:background .1s}.select-dropdown-portal .select-option.highlighted{background:#fafafa}.select-dropdown-portal .select-option.selected{color:#b00038;font-weight:500}.select-dropdown-portal .select-option:active{background:#fde8ef}.select-dropdown-portal .select-check{color:#b00038;flex-shrink:0}.select-dropdown-portal .select-empty{padding:12px 10px;font-size:12px;color:#a3a3a3;text-align:center}@keyframes selectSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes selectSlideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.user-name-cell{display:flex;align-items:center;gap:12px}.user-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.user-name-info{display:flex;flex-direction:column;gap:1px;min-width:0}.user-name-info .user-name{font-size:13px;font-weight:600;color:#1a1a1a}.user-email{font-size:11px;color:#a3a3a3}.user-site-all{font-size:12px;color:#a3a3a3}.user-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.user-actions .user-action-delete{color:#b00038}.user-actions .user-action-delete:hover{background:#fde8ef}tr:hover .user-actions{opacity:1}.custom-datepicker{position:relative;width:100%}.custom-datepicker.disabled{opacity:.5;pointer-events:none}.custom-datepicker .dp-trigger{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid #e8e8e8;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;min-height:38px}.custom-datepicker .dp-trigger:hover{border-color:#d4d4d4}.custom-datepicker.open .dp-trigger{border-color:#b00038;box-shadow:0 0 0 3px #b0003814}.custom-datepicker.error .dp-trigger{border-color:#b00038}.custom-datepicker .dp-value{font-size:13px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:#1a1a1a}.custom-datepicker .dp-value.placeholder{color:#d4d4d4}.custom-datepicker .dp-icon{flex-shrink:0;color:#a3a3a3;margin-left:8px}.dp-dropdown.dp-portal{width:280px;background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 4px 12px #00000014;padding:12px;animation:dpSlideDown .15s ease}.dp-dropdown .dp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dp-dropdown .dp-title{font-size:13px;font-weight:600;color:#1a1a1a}.dp-dropdown .dp-nav{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;border-radius:6px;cursor:pointer;color:#737373;transition:background .1s,color .1s}.dp-dropdown .dp-nav:hover{background:#f5f5f5;color:#1a1a1a}.dp-dropdown .dp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.dp-dropdown .dp-weekday{font-size:11px;font-weight:600;color:#a3a3a3;text-align:center;padding:4px 0}.dp-dropdown .dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-dropdown .dp-day{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:none;background:none;border-radius:8px;font-size:12px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:#1a1a1a;cursor:pointer;transition:background .1s,color .1s}.dp-dropdown .dp-day:hover:not(:disabled):not(.selected){background:#f5f5f5}.dp-dropdown .dp-day.other-month{color:#d4d4d4;cursor:default}.dp-dropdown .dp-day.today:not(.selected){font-weight:700;color:#b00038}.dp-dropdown .dp-day.selected{background:#b00038;color:#fff;font-weight:600}.dp-dropdown .dp-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid #e8e8e8}.dp-dropdown .dp-action{border:none;background:none;font-size:12px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:500;color:#737373;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .1s,color .1s}.dp-dropdown .dp-action:hover{background:#f5f5f5;color:#1a1a1a}.dp-dropdown .dp-action.today-btn{color:#b00038}.dp-dropdown .dp-action.today-btn:hover{background:#fde8ef}@keyframes dpSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes dpSlideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.site-card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:18px;cursor:pointer;transition:box-shadow .15s,border-color .15s;min-height:200px;display:flex;flex-direction:column}.site-card:hover{box-shadow:0 4px 12px #00000014;border-color:#d4d4d4}.site-card:hover .site-card-actions{opacity:1}.site-card .site-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.site-card .site-card-header .site-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center}.site-card .site-card-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s ease-in-out}.site-card .site-card-body{margin-bottom:14px;flex:1}.site-card .site-card-body .site-card-name{font-size:15px;font-weight:600}.site-card .site-card-body .site-card-location{font-size:12px;color:#737373;margin-top:5px}.site-card .site-card-body .site-card-detail{font-size:12px;color:#a3a3a3;margin-top:4px}.site-card .site-card-body .badge{margin-top:10px}.site-card .site-card-footer{display:flex;justify-content:space-between;font-size:12px;color:#737373;padding:12px 14px;margin:0 -18px -18px;background:#fafafa;border-top:1px solid #e8e8e8;border-radius:0 0 16px 16px}.site-card .site-card-footer .site-card-stat{display:flex;flex-direction:column;gap:2px}.site-card .site-card-footer .site-card-stat-right{text-align:right}.site-card .site-card-footer .site-card-stat-label{font-size:11px;color:#a3a3a3;text-transform:uppercase;letter-spacing:.3px}.site-card .site-card-footer .site-card-stat-value{font-size:13px;font-weight:600;color:#1a1a1a}.site-card .site-card-actions .MuiIconButton-root{padding:4px}.site-card.site-card-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed #e8e8e8;background:transparent;color:#a3a3a3;font-size:13px;min-height:200px;opacity:.6;transition:opacity .2s,border-color .2s,color .2s}.site-card.site-card-add:hover{opacity:1;border-color:#d4d4d4;color:#737373;box-shadow:none}.view-detail .view-section .view-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#a3a3a3;padding-bottom:8px;border-bottom:1px solid #e8e8e8;margin-bottom:12px}.view-detail .view-section .view-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.view-detail .view-section .view-field{display:flex;flex-direction:column;gap:3px}.view-detail .view-section .view-field.view-field-full{grid-column:1/-1}.view-detail .view-section .view-field span:first-child{font-size:10px;color:#a3a3a3;text-transform:uppercase;letter-spacing:.3px}.view-detail .view-section .view-field span:last-child{font-size:13px;color:#1a1a1a;font-weight:500}.unit-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.unit-actions .unit-action-delete{color:#b00038}.unit-actions .unit-action-delete:hover{background:#fde8ef}tr:hover .unit-actions{opacity:1}.MuiTableBody-root .MuiTableRow-root{position:relative}.MuiTableBody-root .MuiTableRow-root:hover td:first-child:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:0 3px 3px 0;background:#b00038}.meas-total-bar{display:flex;align-items:center;justify-content:space-between;background:#fde8ef;border-radius:8px;padding:12px 20px;font-size:13px;color:#b00038;margin-top:14px}.meas-total-bar strong{font-size:15px}.floor-tabs{display:flex;gap:8px;margin-bottom:16px}.floor-tabs .floor-tab{padding:10px 20px;border-radius:8px;border:1px solid #e8e8e8;background:#fff;font-size:13px;font-weight:500;cursor:pointer;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:#737373}.floor-tabs .floor-tab.active{background:#b00038;color:#fff;border-color:#b00038}.meas-tbl{width:100%;border-collapse:collapse;table-layout:fixed}.meas-tbl .col-desc{width:26%}.meas-tbl .col-num{width:10%}.meas-tbl .col-area{width:12%}.meas-tbl .col-action{width:40px}.meas-tbl thead th{padding:14px;font-size:11px;font-weight:600;color:#a3a3a3;text-transform:uppercase;letter-spacing:.5px;background:#fafafa;border-bottom:1px solid #e8e8e8;text-align:left}.meas-tbl tbody td{padding:10px;border-bottom:1px solid #e8e8e8;vertical-align:middle}.meas-tbl .form-input{width:100%;padding:10px 12px;font-size:14px}.meas-tbl .deduction-row{background:#fde8ef}.meas-tbl .area-output{background:#fafafa}.meas-subtotal{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#fafafa;border-top:1px solid #e8e8e8;font-size:13px;font-weight:500}.meas-subtotal .subtotal-value{color:#b00038;font-weight:700;font-size:15px}.meas-bottom-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #e8e8e8}.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.company-card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:20px;transition:box-shadow .15s,border-color .15s}.company-card:hover{box-shadow:0 4px 12px #00000014;border-color:#d4d4d4}.company-card:hover .company-card-actions{opacity:1}.company-card .company-card-header{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid #e8e8e8;margin-bottom:16px}.company-card .company-card-header .company-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.company-card .company-card-header .company-title{flex:1;min-width:0}.company-card .company-card-header .company-title .company-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-card .company-card-header .company-title .company-type{font-size:11px;color:#737373;margin-top:1px}.company-card .company-card-header .company-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.company-card .company-card-header .company-header-right .company-site-count{font-size:11px;color:#a3a3a3;background:#f5f5f5;padding:2px 8px;border-radius:10px}.company-card .company-card-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.company-card .company-card-actions .company-action-delete{color:#b00038}.company-card .company-card-actions .company-action-delete:hover{background:#fde8ef}.company-card .company-card-body{display:flex;flex-direction:column;gap:14px}.company-card .company-section .company-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#a3a3a3;margin-bottom:8px}.company-card .company-section .company-section-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.company-card .company-detail{display:flex;flex-direction:column;gap:3px}.company-card .company-detail.company-detail-full{margin-top:6px}.company-card .company-detail span:first-child{font-size:10px;color:#a3a3a3;text-transform:uppercase;letter-spacing:.3px}.company-card .company-detail span:last-child{font-size:13px;color:#1a1a1a}.company-card .company-detail .mono{font-family:SF Mono,Fira Code,monospace;font-size:12px;letter-spacing:.3px}.company-card.company-card-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed #e8e8e8;background:transparent;color:#a3a3a3;font-size:13px;min-height:200px;cursor:pointer;opacity:.6;transition:opacity .2s,border-color .2s,color .2s}.company-card.company-card-add:hover{opacity:1;border-color:#d4d4d4;color:#737373;box-shadow:none}.view-detail{display:flex;flex-direction:column;gap:20px}.view-section .view-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#a3a3a3;padding-bottom:8px;border-bottom:1px solid #e8e8e8;margin-bottom:12px}.view-section .view-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.view-section .view-field{display:flex;flex-direction:column;gap:3px}.view-section .view-field.view-field-full{grid-column:1/-1}.view-section .view-field span:first-child{font-size:10px;color:#a3a3a3;text-transform:uppercase;letter-spacing:.3px}.view-section .view-field span:last-child{font-size:13px;color:#1a1a1a;font-weight:500}.view-section .view-field .mono{font-family:SF Mono,Fira Code,monospace;font-size:12px;letter-spacing:.3px}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.category-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #e8e8e8}.category-row:last-child{border-bottom:none}.category-row .category-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.category-row .category-name{flex:1;font-size:13px;font-weight:500}.category-row .category-count{font-size:12px;color:#a3a3a3}.category-row .btn-icon-sm{width:22px;height:22px;border-radius:4px;border:1px solid #e8e8e8;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#a3a3a3}.category-row .btn-icon-sm:hover{background:#f5f5f5;color:#b00038}.reports-list{display:flex;flex-direction:column;gap:10px}.report-card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;transition:box-shadow .15s,border-color .15s}.report-card.active{border-color:#d4d4d4;box-shadow:0 1px 3px #00000014}.report-card .report-card-header{display:flex;align-items:center;gap:16px;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none}.report-card .report-card-header:hover{background:#fafafa;border-radius:16px}.report-card .report-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.report-card .report-info{flex:1}.report-card .report-info .report-title{font-size:13px;font-weight:600;color:#1a1a1a}.report-card .report-info .report-desc{font-size:12px;color:#737373;margin-top:2px}.report-card .report-chevron{transition:transform .2s}.report-card .report-chevron.open{transform:rotate(180deg)}.report-panel{padding:16px 20px 20px;border-top:1px solid #e8e8e8;margin:0 16px}.report-filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.report-filters .filter-group{display:flex;flex-direction:column;gap:4px}.report-filters .filter-group label{font-size:11px;font-weight:600;color:#a3a3a3;text-transform:uppercase;letter-spacing:.3px}.report-preview{margin-bottom:16px}.preview-header{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.preview-header .preview-title{font-size:15px;font-weight:600;color:#1a1a1a}.preview-header .preview-subtitle{font-size:12px;color:#a3a3a3}.preview-table-wrap,.measurement-table-wrap{max-height:500px;overflow:auto;border:1px solid #e8e8e8;border-radius:8px}.preview-table,.measurement-table{width:100%;border-collapse:collapse;font-size:12px}.preview-table th,.preview-table td,.measurement-table th,.measurement-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #f5f5f5;white-space:nowrap}.preview-table th,.measurement-table th{font-size:11px;font-weight:600;color:#a3a3a3;text-transform:uppercase;letter-spacing:.3px;background:#fafafa;position:sticky;top:0;z-index:1}.preview-table .r,.measurement-table .r{text-align:right}.preview-table .green,.measurement-table .green{color:#2d7a2d}.preview-table .red,.measurement-table .red{color:#b00038}.preview-table .mono,.measurement-table .mono{font-family:SF Mono,Fira Code,monospace;font-size:11px}.preview-table .total-row,.measurement-table .total-row{background:#fafafa}.preview-table .total-row td,.measurement-table .total-row td{border-top:2px solid #e8e8e8}.preview-table tbody tr:hover,.measurement-table tbody tr:hover{background:#fafafa}.measurement-table .floor-header td{background:#fde8ef;font-weight:700;font-size:12px;color:#b00038;padding:10px 12px}.measurement-table .unit-header td{background:#fafafa;font-weight:600;font-size:12px;padding:8px 12px}.measurement-table .subtotal-row td{font-weight:600;font-size:11px;background:#fafafa;border-top:1px dashed #e8e8e8}.measurement-table .floor-total-row td{font-weight:700;font-size:12px;background:#fafafa;border-top:2px solid #e8e8e8}.measurement-table .grand-total-row td{font-weight:700;font-size:13px;color:#b00038;background:#fde8ef;border-top:2px solid #b00038}.measurement-table .deduction td{color:#b00038}.invoice-preview{border:1px solid #e8e8e8;border-radius:16px;padding:24px;background:#fff}.invoice-preview .invoice-header{text-align:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #b00038}.invoice-preview .invoice-header h2{font-size:22px;color:#b00038;margin:0;letter-spacing:2px}.invoice-preview .invoice-header .invoice-billno{font-size:13px;color:#a3a3a3;font-family:SF Mono,monospace}.invoice-preview .invoice-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:24px}.invoice-preview .invoice-col{font-size:13px}.invoice-preview .invoice-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:#a3a3a3;margin-bottom:4px}.invoice-preview .invoice-bold{font-weight:600}.invoice-preview .invoice-sub{font-size:12px;color:#737373}.invoice-preview .invoice-table{width:100%;border-collapse:collapse;margin-bottom:20px}.invoice-preview .invoice-table th,.invoice-preview .invoice-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e8e8e8;font-size:13px}.invoice-preview .invoice-table th{font-size:11px;font-weight:600;color:#a3a3a3;text-transform:uppercase;background:#fafafa}.invoice-preview .invoice-table .r{text-align:right}.invoice-preview .invoice-totals{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-bottom:24px}.invoice-preview .invoice-totals .invoice-total-row{display:flex;gap:32px;font-size:13px}.invoice-preview .invoice-totals .invoice-total-row span:first-child{min-width:100px;text-align:right;color:#737373}.invoice-preview .invoice-totals .invoice-total-row span:last-child{min-width:120px;text-align:right;font-weight:500}.invoice-preview .invoice-totals .invoice-total-row.paid span:last-child{color:#2d7a2d}.invoice-preview .invoice-totals .invoice-total-row.outstanding{padding-top:6px;border-top:2px solid #e8e8e8}.invoice-preview .invoice-totals .invoice-total-row.outstanding span{font-size:15px;font-weight:700;color:#b00038}.invoice-preview .invoice-bank{padding-top:16px;border-top:1px solid #e8e8e8}.invoice-preview .invoice-bank .invoice-bank-grid{display:flex;gap:24px;font-size:12px;color:#737373;margin-top:6px}.overdue-site-group{margin-bottom:16px}.overdue-site-group .overdue-site-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px}.overdue-site-group .overdue-site-name{font-size:14px;font-weight:600}.overdue-site-group .overdue-site-total{font-size:14px;font-weight:700;color:#b00038}.report-stats-row{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.report-stats-row .stat-card{flex:1;min-width:140px}.summary-section{margin-bottom:20px}.summary-section h4{font-size:13px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.summary-financials{display:flex;justify-content:flex-end;gap:24px;padding:16px 0;border-top:2px solid #e8e8e8;margin-top:8px}.summary-financials .financial-item{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.summary-financials .financial-item span:first-child{font-size:11px;color:#a3a3a3;text-transform:uppercase;letter-spacing:.3px}.summary-financials .financial-item span:last-child{font-size:18px;font-weight:700}.summary-financials .financial-item.green span:last-child{color:#2d7a2d}.summary-financials .financial-item.red span:last-child{color:#b00038}.report-export-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:12px;border-top:1px solid #f5f5f5}.no-data{text-align:center;color:#a3a3a3;font-size:13px;padding:32px 0}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;color:#1a1a1a;background:#fafafa;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a3a3a3}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:240px;transition:margin-left .2s ease}.main-content.collapsed{margin-left:64px}.page-content{padding:24px}.card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:20px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-header h3{font-size:14px;font-weight:600}.stat-card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:18px 20px;border-left:3px solid transparent}.stat-card .stat-label{font-size:12px;color:#737373;font-weight:500;margin-bottom:6px}.stat-card .stat-value{font-size:22px;font-weight:700;letter-spacing:-.5px}.stat-card.stat-primary{border-left-color:#b00038}.stat-card.stat-primary .stat-value{color:#b00038}.stat-card.stat-amber{border-left-color:#b45309}.stat-card.stat-amber .stat-value{color:#b45309}.stat-card.stat-red{border-left-color:#b00038}.stat-card.stat-red .stat-value{color:#b00038}.stat-card.stat-green{border-left-color:#2d7a2d}.stat-card.stat-green .stat-value{color:#2d7a2d}.stat-card.stat-gray{border-left-color:#a3a3a3}.stat-card.stat-gray .stat-value{color:#737373}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:500;line-height:1.4}.badge.badge-green{background:#e7f5e7;color:#2d7a2d}.badge.badge-amber{background:#fef3e2;color:#b45309}.badge.badge-red{background:#fde8ef;color:#b00038}.badge.badge-blue{background:#e8f0fb;color:#1a56db}.badge.badge-purple{background:#f3e8ff;color:#7c3aed}.badge.badge-gray{background:#f5f5f5;color:#737373}.data-table{width:100%;border-collapse:collapse}.data-table thead th{padding:9px 16px;font-size:11px;font-weight:600;color:#a3a3a3;text-transform:uppercase;letter-spacing:.5px;background:#fafafa;border-bottom:1px solid #e8e8e8;text-align:left;white-space:nowrap}.data-table tbody tr{border-bottom:1px solid #e8e8e8;transition:background .1s}.data-table tbody tr:hover{background:#fafafa;cursor:pointer}.data-table td{padding:11px 16px;font-size:13px;color:#1a1a1a}.data-table td.muted{color:#a3a3a3}.data-table td.mono{font-family:SF Mono,monospace;font-size:12px}.data-table td.bold{font-weight:600}.form-group{margin-bottom:14px}.form-label{display:block;font-size:12px;font-weight:500;color:#4e4e4d;margin-bottom:5px}.form-input,.form-select{width:100%;padding:9px 12px;border:1px solid #e8e8e8;border-radius:8px;font-size:13px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:#1a1a1a;background:#fff;transition:border-color .15s}.form-input:focus,.form-select:focus{outline:none;border-color:#b00038}.form-input::placeholder,.form-select::placeholder{color:#d4d4d4}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23737373'%3E%3Cpath d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:30px}.form-input-error{border-color:#b00038!important}.form-error{display:block;font-size:11px;color:#b00038;margin-top:4px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;border:none;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#b00038;color:#fff}.btn-primary:hover{background:#8a002b}.btn-ghost{background:transparent;color:#737373;border:1px solid #e8e8e8}.btn-ghost:hover{background:#f5f5f5;color:#1a1a1a}.btn-sm{padding:5px 10px;font-size:12px}.btn-icon{padding:8px;border-radius:8px;background:#fff;border:1px solid #e8e8e8;cursor:pointer}.btn-icon:hover{background:#f5f5f5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .2s}.modal-backdrop.open{opacity:1;visibility:visible}.modal-box{background:#fff;border-radius:16px;width:520px;max-height:88vh;overflow-y:auto;transform:translateY(10px);transition:transform .2s}.open .modal-box{transform:translateY(0)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid #e8e8e8}.modal-head h3{font-size:15px;font-weight:600}.modal-body{padding:20px 22px}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid #e8e8e8}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 0 14px}.table-toolbar .table-toolbar-title{font-size:14px;font-weight:600}.search-box{display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #e8e8e8;border-radius:8px;background:#fff;transition:border-color .15s}.search-box:focus-within{border-color:#b00038}.search-box svg{flex-shrink:0}.search-box input{border:none;outline:none;font-size:13px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:#1a1a1a;background:transparent;width:160px}.search-box input::placeholder{color:#d4d4d4}.search-box .search-clear{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;border:none;border-radius:50%;background:#e8e8e8;color:#737373;cursor:pointer;padding:0}.search-box .search-clear:hover{background:#d4d4d4;color:#1a1a1a}.info-box{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#e8f0fb;border-radius:8px;font-size:12px;color:#1a56db;margin-bottom:14px}@media (max-width: 768px){.main-content{margin-left:0}.form-grid-2{grid-template-columns:1fr}.modal-box{width:calc(100% - 32px)}}
