:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f5f7fa;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #e5e9f0;flex-direction:column;gap:22px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;padding:0 6px;display:flex}.brand.large{padding:0}.brand-mark{color:#fff;background:#1455d9;border-radius:10px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.brand strong{font-size:15px;display:block}.brand span{color:#647084;margin-top:2px;font-size:12px;display:block}.sidebar nav{gap:4px;display:grid}.sidebar nav button,.ghost,.icon-button{background:0 0;border:0}.sidebar nav button{color:#4c596d;text-align:left;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#1455d9;background:#eef5ff}.sidebar-footer{color:#4c596d;background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:10px;font-size:13px;display:flex}.ghost,.icon-button{color:#647084}.main{min-width:0;padding:22px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.topbar h1{letter-spacing:0;margin:0;font-size:25px;line-height:1.15}.topbar p{color:#647084;margin:6px 0 0;font-size:14px}.top-actions{gap:8px;display:flex}.icon-button{background:#fff;border:1px solid #d9e0ea;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.filters{grid-template-columns:repeat(9,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:16px;display:grid}.report-filters{grid-template-columns:repeat(2,minmax(180px,220px)) auto minmax(0,1fr);align-items:end;gap:12px;display:grid}.governance-filters{grid-template-columns:repeat(6,minmax(145px,1fr)) auto;align-items:end;gap:12px;display:grid}.filter-long-row{grid-column:1/-1;grid-template-columns:repeat(3,minmax(260px,1fr));align-items:start;gap:12px;display:grid}.report-actions{justify-content:flex-start;align-items:end;gap:8px;display:flex}label{color:#5d687a;gap:6px;font-size:12px;font-weight:650;display:grid}input,select{color:#172033;background:#fff;border:1px solid #d9e0ea;border-radius:8px;outline:none;width:100%;min-height:36px;padding:7px 10px;font-size:13px}input:focus,select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.multi-field,.single-field{color:#5d687a;gap:6px;min-width:0;font-size:12px;font-weight:650;display:grid;position:relative}.multi-control{background:#fff;border:1px solid #d9e0ea;border-radius:8px;flex-wrap:wrap;align-items:center;gap:5px;width:100%;min-height:36px;padding:4px 6px;display:flex}.single-control{background:#fff;border:1px solid #d9e0ea;border-radius:8px;align-items:center;width:100%;min-height:36px;padding:4px 6px;display:flex}.multi-control.focused,.single-control.focused{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.multi-control input{min-width:70px;min-height:26px;box-shadow:none;border:0;flex:70px;padding:2px 4px}.single-control input{width:100%;min-height:26px;box-shadow:none;border:0;padding:2px 4px}.multi-control input:focus,.single-control input:focus{box-shadow:none}.multi-chip{color:#1455d9;background:#eef5ff;border:1px solid #cfe0ff;border-radius:999px;align-items:center;gap:5px;max-width:100%;min-height:24px;padding:2px 7px;font-size:12px;font-weight:750;display:inline-flex}.multi-chip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.multi-chip strong{font-size:14px;line-height:1}.multi-menu,.single-menu{z-index:20;background:#fff;border:1px solid #d9e0ea;border-radius:8px;max-height:260px;padding:5px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 16px 40px #0f172a29}.multi-menu button{color:#172033;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:8px;display:grid}.single-menu button{color:#172033;text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:8px}.multi-menu button:hover,.single-menu button:hover{background:#eef5ff}.multi-menu span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.multi-menu em,.multi-menu p,.single-menu p{color:#647084;margin:0;font-size:11px;font-style:normal}.revenue-switch-label{grid-column:span 2;min-width:0}.movement-toggle-label{color:#5d687a;grid-column:span 2;gap:6px;min-width:0;font-size:12px;font-weight:650;display:grid}.revenue-switch{background:#fff;border:1px solid #d9e0ea;border-radius:8px;grid-template-columns:1fr 1fr;gap:3px;min-height:36px;padding:3px;display:grid}.revenue-switch button{color:#5d687a;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:0 8px;font-size:12px;font-weight:750}.revenue-switch button.selected{color:#fff;background:#1455d9}.movement-switch{color:#fff;cursor:pointer;border:2px solid #0000;border-radius:999px;width:78px;height:36px;padding:0;font-size:12px;font-weight:850;transition:background .18s,border-color .18s,box-shadow .18s;position:relative;box-shadow:inset 0 1px 2px #0f172a2e}.movement-switch.is-on{background:#48b36a;border-color:#3ba75d}.movement-switch.is-off{color:#fff;background:#a8a8a8;border-color:#8f8f8f}.movement-switch:focus-visible{outline-offset:3px;outline:3px solid #1455d938}.movement-switch-text{line-height:1;transition:left .18s,right .18s;position:absolute;top:50%;transform:translateY(-50%)}.movement-switch.is-on .movement-switch-text{left:13px}.movement-switch.is-off .movement-switch-text{right:13px}.movement-switch-knob{background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #0f172a3d}.movement-switch.is-on .movement-switch-knob{transform:translate(40px)}.dashboard-stack{gap:16px;display:grid}.contract-filters{grid-template-columns:minmax(280px,1fr) auto;align-items:end;gap:12px;display:grid}.contract-heading{background:#fff;border:1px solid #e5e9f0;border-radius:8px;padding:16px;box-shadow:0 12px 34px #0f172a0a}.contract-heading span{color:#1455d9;font-size:12px;font-weight:850}.contract-heading h2{margin:4px 0;font-size:18px;line-height:1.25}.contract-heading p{color:#647084;margin:0;font-size:13px}.kpis{grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:10px;display:grid}.kpi,.panel,.login-card{background:#fff;border:1px solid #e5e9f0;border-radius:8px;box-shadow:0 12px 34px #0f172a0a}.kpi{gap:7px;padding:14px;display:grid}.kpi-action{appearance:none;text-align:left;cursor:pointer;border:1px solid #d7e2f2}.kpi-action:hover{background:#f8fbff;border-color:#93b4e8}.kpi-action:focus-visible{outline-offset:2px;outline:3px solid #2563eb38}.kpi svg{color:#2563eb}.kpi span{color:#647084;font-size:12px;font-weight:650}.kpi strong{letter-spacing:0;font-size:22px;line-height:1.1}.performance-kpi{border-color:#d7e2f2}.performance-kpi.green{background:#ecfdf5;border-color:#a7f3d0}.performance-kpi.green svg,.performance-kpi.green strong{color:#047857}.performance-kpi.yellow{background:#fffbeb;border-color:#fde68a}.performance-kpi.yellow svg,.performance-kpi.yellow strong{color:#b45309}.performance-kpi.red{background:#fff1f2;border-color:#fecdd3}.performance-kpi.red svg,.performance-kpi.red strong{color:#be123c}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.dashboard-grid{grid-template-columns:.7fr 1fr 1fr}.panel{min-width:0;padding:16px}.panel-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.panel h2{margin:0;font-size:15px;line-height:1.2}.panel-toggle-button{color:#1455d9;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d9e0ea;border-radius:999px;min-height:30px;padding:0 12px;font-size:12px;font-weight:850}.panel-toggle-button:hover{background:#eef5ff;border-color:#b7c8ee}.result-card-list,.type-card-grid{gap:10px;display:grid}.type-card-grid{grid-template-columns:repeat(auto-fit,minmax(680px,1fr))}.result-card{background:#fff;border:1px solid #e5e9f0;border-radius:8px;gap:12px;padding:14px;display:grid}.type-card{box-shadow:0 12px 34px #0f172a0a}.result-card-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.result-card-header h3{color:#172033;margin:0;font-size:14px;line-height:1.25}.result-card-header p{color:#647084;margin:3px 0 0;font-size:12px}.result-card-header>strong{white-space:nowrap;font-size:14px}.rank-chip{border-radius:7px;place-items:center;min-width:34px;height:28px;font-size:12px;font-weight:850;display:inline-grid}.rank-chip.positive{color:#047857;background:#d1fae5}.rank-chip.negative{color:#b91c1c;background:#fee2e2}.money-positive{color:#047857}.money-negative{color:#b91c1c}.result-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.result-metrics div{background:#f8fafc;border-radius:7px;padding:8px}.result-metrics dt{color:#647084;font-size:11px;font-weight:700}.result-metrics dd{color:#172033;margin:3px 0 0;font-size:13px;font-weight:800}.diagnostic-matrix-wrap{grid-template-columns:24px minmax(0,1fr);align-items:stretch;gap:8px 12px;display:grid}.diagnostic-axis{color:#4c596d;text-transform:uppercase;letter-spacing:0;font-size:12px;font-weight:850}.diagnostic-axis.y-axis{writing-mode:vertical-rl;text-align:center;transform:rotate(180deg)}.diagnostic-axis.x-axis{text-align:center;grid-column:2}.diagnostic-matrix{background:#fff;border:1px solid #d9e0ea;border-radius:8px;grid-template-rows:repeat(2,minmax(150px,1fr));grid-template-columns:repeat(2,minmax(0,1fr));min-height:360px;display:grid;position:relative;overflow:hidden}.diagnostic-matrix:before,.diagnostic-matrix:after{content:"";z-index:1;background:#ffffffeb;position:absolute}.diagnostic-matrix:before{width:2px;height:100%;top:0;left:50%}.diagnostic-matrix:after{width:100%;height:2px;top:50%;left:0}.matrix-quadrant{align-content:start;gap:8px;padding:18px;display:grid}.matrix-quadrant strong{color:#fff;overflow-wrap:anywhere;border-radius:6px;width:fit-content;max-width:100%;padding:7px 10px;font-size:13px;line-height:1.2}.matrix-quadrant span{color:#172033;font-size:14px;font-weight:750;line-height:1.35}.matrix-quadrant.critical{background:#f3b6b3}.matrix-quadrant.critical strong,.matrix-marker.red{background:#b91c1c}.matrix-quadrant.acceleration{background:#c8ddf0}.matrix-quadrant.acceleration strong,.matrix-marker.blue{background:#1d4f86}.matrix-quadrant.alert{background:#f5d291}.matrix-quadrant.alert strong,.matrix-marker.yellow{background:#b7791f}.matrix-quadrant.ideal{background:#bfdfb7}.matrix-quadrant.ideal strong,.matrix-marker.green{background:#2f7d32}.matrix-marker{z-index:3;color:#fff;border-radius:8px;gap:3px;max-width:min(240px,42%);padding:9px 10px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 12px 30px #0f172a3d}.matrix-marker strong,.matrix-marker span{color:#fff;overflow-wrap:anywhere}.matrix-marker strong{font-size:12px}.matrix-marker span{font-size:11px}.diagnostic-summary{background:#f8fafc;border-left:4px solid #647084;border-radius:8px;grid-column:2;gap:4px;padding:12px;display:grid}.diagnostic-summary.red{border-left-color:#b91c1c}.diagnostic-summary.yellow{border-left-color:#b7791f}.diagnostic-summary.green{border-left-color:#2f7d32}.diagnostic-summary.blue{border-left-color:#1d4f86}.diagnostic-summary strong{font-size:14px}.diagnostic-summary span,.diagnostic-summary em{color:#4c596d;font-size:12px;font-style:normal;line-height:1.35}.mini-list{gap:6px;display:grid}.mini-list>span{color:#4c596d;font-size:12px;font-weight:800}.mini-list p{color:#647084;margin:0;font-size:12px}.mini-row{border-top:1px solid #edf1f6;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0;display:grid}.mini-row strong{color:#263244;overflow-wrap:anywhere;min-width:0;font-size:12px;line-height:1.25}.mini-row em{white-space:nowrap;font-size:12px;font-style:normal;font-weight:850}.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.compact-empty{margin-top:10px;padding:12px}.pie-wrap{align-items:center;display:grid}.legend{color:#4c596d;flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:50%;width:9px;height:9px}.ranking,.alerts{gap:8px;display:grid}.alert-groups{gap:10px;display:grid}.alert-group{background:#fff;border:1px solid #e5e9f0;border-radius:8px;overflow:hidden}.alert-group-header{color:#172033;text-align:left;cursor:pointer;background:#f8fafc;border:0;grid-template-columns:24px minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;padding:11px 12px;display:grid}.alert-group-header span{color:#1455d9;background:#eef5ff;border-radius:6px;place-items:center;width:22px;height:22px;font-weight:850;display:grid}.alert-group-header strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.alert-group-header em,.alert-group-header i{color:#647084;font-size:12px;font-style:normal;font-weight:700}.alert-group-header i{color:#dc2626}.alert-group .alerts{border-top:1px solid #e5e9f0;padding:10px}.rank-row{border-bottom:1px solid #edf1f6;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;display:grid}.rank-row span{color:#1455d9;background:#eef5ff;border-radius:7px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:750;display:grid}.rank-row strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;overflow:hidden}.rank-row em{font-size:13px;font-style:normal;font-weight:750}.alert{background:#fffbeb;border-left:3px solid #d97706;border-radius:7px;padding:10px 11px}.alert.critical{background:#fff1f2;border-left-color:#dc2626}.alert strong,.alert span{display:block}.alert strong{font-size:13px}.alert span{color:#5d687a;margin-top:4px;font-size:12px;line-height:1.35}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:900px;font-size:13px}.invoice-table{min-width:1200px}.contract-table{min-width:920px}.governance-table{min-width:2250px}.governance-table .needs-attention td,.contract-table .needs-attention td{background:#fffaf0}.table-link{color:#1455d9;text-align:left;background:0 0;border:0;padding:0;font-weight:850}.analyze-button{color:#1455d9;white-space:nowrap;background:#eef5ff;border:1px solid #b7c8ee;border-radius:999px;min-height:30px;padding:0 12px;font-size:12px;font-weight:850}.analyze-button:hover{background:#dbeafe}.progress-cell{grid-template-columns:minmax(70px,1fr) 48px;align-items:center;gap:8px;min-width:150px;display:grid}.progress-track{background:#e5e9f0;border-radius:999px;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:#0f766e;height:100%;display:block}.progress-cell strong{color:#263244;font-size:12px}.governance-detail{background:#fff;border:1px solid #d9e0ea;border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) auto;align-items:start;gap:16px;padding:16px;display:grid;box-shadow:0 12px 34px #0f172a0a}.governance-detail span{color:#647084;font-size:12px;font-weight:800}.governance-detail h2{margin:4px 0;font-size:17px}.governance-detail p{color:#4c596d;margin:0;font-size:13px}.governance-detail dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.governance-detail dt{color:#647084;font-size:11px;font-weight:800}.governance-detail dd{color:#172033;margin:3px 0 0;font-size:13px;font-weight:750}.analysis-modal-backdrop{z-index:30;background:#0f172a61;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.analysis-modal{background:#fff;border:1px solid #d9e0ea;border-radius:8px;width:min(920px,100%);max-height:min(860px,100vh - 44px);overflow:auto;box-shadow:0 28px 70px #0f172a3d}.compact-modal{width:min(680px,100%)}.analysis-modal-header{border-bottom:1px solid #e5e9f0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:18px;display:grid}.analysis-modal-header span{color:#1455d9;font-size:12px;font-weight:850}.analysis-modal-header h2{margin:4px 0;font-size:18px;line-height:1.25}.analysis-modal-header p{color:#647084;margin:0;font-size:13px;line-height:1.35}.analysis-content{gap:14px;padding:18px;display:grid}.analysis-summary,.analysis-section{background:#fbfcff;border:1px solid #e5e9f0;border-radius:8px;padding:14px}.admin-cost-list{gap:8px;display:grid}.admin-cost-list div{border-bottom:1px solid #edf1f6;grid-template-columns:minmax(80px,1fr) auto auto;align-items:center;gap:12px;padding:9px 0;display:grid}.admin-cost-list div:last-child{border-bottom:0}.admin-cost-list span,.admin-cost-list em{color:#647084;font-size:12px;font-style:normal}.admin-cost-list strong{font-size:13px}.analysis-summary h3,.analysis-section h3{color:#172033;margin:0 0 8px;font-size:14px}.analysis-summary p,.analysis-section p{color:#3f4b5f;margin:0;line-height:1.55}.analysis-section ul{color:#3f4b5f;margin:0;padding-left:18px;line-height:1.5}.analysis-section li+li{margin-top:5px}.analysis-footer{color:#647084;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.detail-close{justify-self:end}th{color:#4c596d;text-transform:uppercase;letter-spacing:0;text-align:left;background:#f8fafc;border-bottom:1px solid #e5e9f0;padding:10px;font-size:11px}td{color:#263244;vertical-align:middle;border-bottom:1px solid #edf1f6;padding:10px}td:first-child{color:#172033;font-weight:700}.score{color:#1455d9;background:#eef5ff;border-radius:7px;justify-content:center;min-width:42px;padding:4px 8px;font-weight:800;display:inline-flex}.risk{border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-flex}.risk.saudavel{color:#047857;background:#d1fae5}.risk.atencao{color:#92400e;background:#fef3c7}.risk.critico{color:#b91c1c;background:#fee2e2}.login-screen{background:#f5f7fa;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{gap:16px;width:min(430px,100%);padding:28px;display:grid}.login-card h1{margin:10px 0 0;font-size:25px}.login-card p{color:#647084;margin:0;font-size:14px;line-height:1.5}.login-card .login-footnote{color:#8a95a6;text-align:center;font-size:12px;line-height:1.45}.login-meta{color:#647084;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.link-button{color:#1455d9;background:0 0;border:0;min-height:0;padding:0;font-weight:800}.link-button:disabled{opacity:.55}.ghost.center{justify-content:center;width:100%}.primary{color:#fff;background:#1455d9;border:0;border-radius:8px;min-height:40px;padding:0 16px;font-weight:800}.primary:disabled{opacity:.65}.error{color:#b91c1c;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;margin-bottom:12px;padding:11px 12px;font-size:13px}.error.compact{margin-bottom:0}.loading,.empty{color:#647084;background:#fff;border:1px solid #e5e9f0;border-radius:8px;padding:18px}.settings-actions{color:#047857;justify-content:flex-end;align-items:center;gap:12px;font-size:13px;display:flex}.settings-actions .primary{min-width:190px}.onepage-filters{grid-template-columns:160px 160px minmax(280px,1fr) auto;align-items:end;gap:12px;display:grid}.onepage-heading{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.onepage-heading span,.project-meta-grid span,.financial-summary-grid span,.resource-plan-card span{color:#64748b;text-transform:uppercase;font-size:12px;font-weight:700}.onepage-heading h2{margin:5px 0;font-size:22px}.onepage-heading p,.muted-note{color:#475569;margin:0}.onepage-panel-note{margin-bottom:14px}.onepage-kpis{grid-template-columns:repeat(5,minmax(150px,1fr))}.project-meta-grid,.financial-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.project-meta-grid div,.financial-summary-grid div{gap:4px;min-width:0;display:grid}.project-meta-grid strong,.financial-summary-grid strong{overflow-wrap:anywhere}.finance-note{margin-top:14px}.warning-note{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-top:14px;padding:10px 12px}.inline-analysis{gap:14px;display:grid}.analysis-status{color:#475569;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;display:flex}.analysis-status strong{color:#1455d9}.resource-plan-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;display:grid}.resource-plan-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:14px;min-width:0;padding:14px;display:grid}.resource-plan-card header,.resource-plan-card dl{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.resource-plan-card h3{margin:4px 0 0;font-size:16px}.resource-plan-card dl{margin:0}.resource-plan-card dt{color:#64748b;font-size:12px}.resource-plan-card dd{margin:2px 0 0;font-weight:800}.appointments-tree{gap:6px;display:grid}.appointment-tree-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;display:grid}.appointment-tree-row.level-0{background:#f8fafc;border-color:#dbe3ef}.appointment-tree-row.level-1,.appointment-tree-row.level-2,.appointment-tree-row.level-3{border-color:#edf2f7}.tree-toggle{color:#1455d9;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:24px;height:24px;font-weight:900;line-height:1}.tree-toggle.empty-toggle{background:0 0;border-color:#0000}.tree-label{min-width:0}.tree-label strong,.tree-label span{display:block}.tree-label strong{overflow-wrap:anywhere}.tree-label span{color:#64748b;margin-top:2px;font-size:12px}.tree-hours{white-space:nowrap;padding-right:12px}.appointment-day-notes{gap:6px;margin-top:6px;margin-bottom:8px;display:grid}.appointment-day-note{color:#475569;background:#f8fafc;border-left:3px solid #cbd5e1;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 10px;font-size:12px;display:grid}.appointment-day-note span{overflow-wrap:anywhere}.appointment-day-note strong{white-space:nowrap}.negative{color:#dc2626}.positive{color:#16a34a}@media (width<=1180px){.app-shell{grid-template-columns:80px minmax(0,1fr)}.sidebar{padding:16px 10px}.brand span,.brand strong,.sidebar nav button span,.sidebar-footer span{display:none}.sidebar nav button{justify-content:center}.filters,.report-filters,.governance-filters,.onepage-filters,.kpis,.grid.two,.dashboard-grid,.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters .revenue-switch-label,.filters .movement-toggle-label{grid-column:span 2}.report-actions{grid-column:auto}.filter-long-row{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-filters{grid-template-columns:minmax(0,1fr) auto}}@media (width<=760px){.app-shell{display:block}.sidebar{z-index:30;border-bottom:1px solid #e5e9f0;border-right:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;height:auto;padding:10px 12px;display:grid;position:sticky;top:0;overflow:visible;box-shadow:0 10px 28px #0f172a0f}.sidebar nav{scrollbar-width:thin;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.sidebar nav button{flex:none;justify-content:center;width:40px;height:40px;padding:0}.sidebar-footer{background:0 0;margin-top:0;padding:0}.sidebar-footer .ghost{background:#fff;border:1px solid #d9e0ea;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.main{padding:14px}.topbar{gap:12px;margin-bottom:12px;display:grid}.topbar h1{font-size:21px}.topbar p{font-size:13px;line-height:1.35}.top-actions{justify-content:flex-start}.filters,.report-filters,.governance-filters,.kpis,.grid.two,.dashboard-grid,.type-card-grid,.impact-grid{grid-template-columns:1fr}.filters .revenue-switch-label,.filters .movement-toggle-label{grid-column:auto}.filter-long-row,.contract-filters{grid-template-columns:1fr}.filters,.report-filters,.governance-filters,.onepage-filters{grid-template-columns:1fr;gap:10px;margin-bottom:14px}input,select,.movement-switch,.revenue-switch,.multi-control,.single-control{min-height:40px}.movement-switch{height:40px}.movement-switch-knob{width:30px;height:30px}.movement-switch.is-on .movement-switch-knob{transform:translate(36px)}.revenue-switch-label,.movement-toggle-label{min-width:0}.multi-chip{max-width:100%}.multi-chip span{white-space:normal}.multi-menu{max-width:calc(100vw - 28px);max-height:min(320px,55vh)}.single-menu{max-height:min(320px,55vh)}.kpis{gap:8px}.kpi,.panel,.result-card{border-radius:8px}.kpi{padding:12px}.kpi strong{font-size:19px}.panel{padding:13px}.panel-header{flex-direction:column;align-items:stretch;gap:10px}.panel-toggle-button{width:100%}.result-card-header{grid-template-columns:auto minmax(0,1fr)}.result-card-header>strong{grid-column:2}.result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostic-matrix-wrap{grid-template-columns:1fr}.diagnostic-axis.y-axis{writing-mode:horizontal-tb;text-align:left;transform:none}.diagnostic-axis.x-axis,.diagnostic-summary{grid-column:auto}.diagnostic-matrix{grid-template-rows:repeat(2,minmax(190px,1fr));min-height:420px}.matrix-quadrant{padding:12px}.matrix-quadrant strong{font-size:11px}.matrix-quadrant span{font-size:12px}.matrix-marker{border:3px solid #fff;border-radius:50%;width:18px;min-width:18px;max-width:none;height:18px;padding:0;overflow:hidden}.matrix-marker strong,.matrix-marker span{display:none}.mini-row{grid-template-columns:1fr;gap:4px}.mini-row em{white-space:normal}.rank-row{grid-template-columns:28px minmax(0,1fr)}.rank-row em{grid-column:2}.table-wrap{margin-inline:-13px;padding-inline:13px}table{min-width:760px;font-size:12px}.invoice-table{min-width:980px}.contract-table{min-width:760px}.governance-table{min-width:1840px}.analysis-modal-backdrop{align-items:stretch;padding:12px}.analysis-modal{max-height:calc(100vh - 24px)}.analysis-modal-header,.analysis-footer{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.analysis-footer .panel-toggle-button{width:100%}th,td{padding:8px}.governance-detail,.governance-detail dl{grid-template-columns:1fr}.governance-detail{padding:13px}.settings-actions{justify-content:stretch;display:grid}.settings-actions .primary{width:100%;min-width:0}}@media (width<=420px){.brand{gap:0;padding:0}.brand-mark{border-radius:8px;width:34px;height:34px}.sidebar{grid-template-columns:auto minmax(0,1fr) auto;padding:8px 10px}.sidebar nav button,.sidebar-footer .ghost{width:36px;height:36px}.main{padding:12px}.result-metrics{grid-template-columns:1fr}.table-wrap{margin-inline:-12px;padding-inline:12px}}
