:root{--blue-dark: #1F4E79;--blue-mid: #2E75B6;--blue-light: #D6E4F0;--green-dark: #1E6635;--green-light: #E2EFDA;--red-dark: #C00000;--red-light: #FCE4D6;--orange: #E26B0A;--yellow-bg: #FFF2CC;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-400: #94A3B8;--gray-600: #475569;--gray-800: #1E293B;--white: #FFFFFF;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px rgba(0,0,0,.08), 0 4px 6px rgba(0,0,0,.05);--radius: 10px;--radius-sm: 6px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--gray-50);color:var(--gray-800);line-height:1.5;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;z-index:100;background:var(--blue-dark);color:#fff;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:56px;box-shadow:0 2px 8px #00000040}.topbar-title{font-size:15px;font-weight:700;letter-spacing:-.3px}.topbar-sub{font-size:11px;opacity:.7;margin-top:1px}.nav{background:var(--white);border-bottom:1px solid var(--gray-200);padding:0 24px;display:flex;gap:4px;overflow-x:auto}.nav-btn{padding:12px 16px;font-size:13px;font-weight:500;color:var(--gray-600);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all .15s}.nav-btn:hover{color:var(--blue-dark)}.nav-btn.active{color:var(--blue-dark);border-bottom-color:var(--blue-mid);font-weight:600}.main{flex:1;padding:24px;max-width:1280px;margin:0 auto;width:100%}.section-title{font-size:18px;font-weight:700;color:var(--blue-dark);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--blue-light)}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px;border:1px solid var(--gray-200)}.card-title{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--gray-400);margin-bottom:6px}.card-value{font-size:26px;font-weight:700;letter-spacing:-.5px;line-height:1.1}.card-note{font-size:11px;color:var(--gray-400);margin-top:4px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.c-blue{color:var(--blue-dark)}.c-green{color:var(--green-dark)}.c-red{color:var(--red-dark)}.c-orange{color:var(--orange)}.bg-green-light{background:var(--green-light);border-color:#b7d9a0}.bg-red-light{background:var(--red-light);border-color:#f5b8a5}.bg-yellow{background:var(--yellow-bg);border-color:#ffd966}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:24px}.chart-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);padding:20px;margin-bottom:24px}.chart-card h3{font-size:14px;font-weight:600;color:var(--gray-800);margin-bottom:16px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{background:var(--blue-dark);color:#fff;padding:9px 12px;text-align:left;font-weight:600;font-size:11px;letter-spacing:.4px;white-space:nowrap}th.right,td.right{text-align:right}td{padding:8px 12px;border-bottom:1px solid var(--gray-100);white-space:nowrap}tr:last-child td{border-bottom:none}tr:hover td{background:var(--gray-50)}tr.subtotal td{background:var(--blue-light);font-weight:600;color:var(--blue-dark)}tr.total-row td{background:var(--blue-dark);color:#fff;font-weight:700}tr.net-row td{background:var(--green-dark);color:#fff;font-weight:700}tr.alert-row td{background:var(--red-light);color:var(--red-dark);font-weight:600}tr.good-row td{background:var(--green-light);color:var(--green-dark)}.nw-section{margin-bottom:20px}.nw-row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--gray-100);font-size:14px}.nw-row:last-child{border-bottom:none}.nw-row .nw-label{color:var(--gray-600)}.nw-row .nw-value{font-weight:600;font-size:15px}.nw-row .nw-note{font-size:11px;color:var(--gray-400);margin-top:2px}.nw-total{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:var(--radius-sm);font-weight:700;font-size:17px;margin-top:8px}.alerts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.alert-card{border-radius:var(--radius);padding:16px;border-left:4px solid}.alert-card h4{font-size:13px;font-weight:700;margin-bottom:6px}.alert-card p{font-size:12px;line-height:1.5}.alert-red{background:var(--red-light);border-color:var(--red-dark)}.alert-red h4{color:var(--red-dark)}.alert-orange{background:var(--yellow-bg);border-color:var(--orange)}.alert-orange h4{color:var(--orange)}.alert-green{background:var(--green-light);border-color:var(--green-dark)}.alert-green h4{color:var(--green-dark)}.tag{display:inline-block;padding:2px 7px;border-radius:99px;font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.tag-tech{background:#eef2ff;color:#4338ca}.tag-gym{background:#fef3c7;color:#92400e}.tag-ins{background:#f0fdf4;color:#166534}.tag-leisure{background:#fff1f2;color:#9f1239}.prop-input-row{display:flex;align-items:center;gap:12px;margin-top:8px;padding:12px 16px;background:var(--yellow-bg);border:1px solid #ffd966;border-radius:var(--radius-sm)}.prop-input-row label{font-size:13px;font-weight:500;color:var(--orange);white-space:nowrap}.prop-input-row input{flex:1;padding:7px 10px;border:1px solid #ffd966;border-radius:var(--radius-sm);font-size:14px;font-weight:600;font-family:inherit;color:var(--orange);background:#fff;max-width:180px}.prop-input-row input:focus{outline:2px solid var(--orange)}.footer{text-align:center;padding:16px;font-size:11px;color:var(--gray-400);border-top:1px solid var(--gray-200);background:var(--white)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:3px}@media (max-width: 768px){.main{padding:16px}.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.alerts-grid{grid-template-columns:1fr}.topbar-title{font-size:13px}}
