:root{--a19-gap: 8px}.a19-page{display:grid;gap:var(--a19-gap)}.a19-actions{display:flex;gap:8px;align-items:center}.a19-status{color:var(--text-muted);font-size:12px}.a19-card{padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface)}.a19-card--no-left{padding:12px 12px 12px 0}.a19-h3{margin:0 0 8px}.a19-h3--padleft{padding-left:10px}.a19-table{width:100%;border-collapse:collapse;table-layout:fixed}.a19-th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-weight:700;vertical-align:middle}.a19-td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.a19-btn-primary{padding:8px 12px;border-radius:var(--radius-sm);border:none;background:var(--accent-carbon);color:#fff;cursor:pointer;font-weight:600}.a19-input{width:100%;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;color:var(--text-primary);height:32px}.a19-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800}.a19-badge--ok{background:#22c55e1f;border:1px solid var(--accent-carbon);color:#bff0c4}.a19-badge--warn{background:var(--accent-red-bg);border:1px solid var(--accent-red);color:#f0bfbf}.a19-chart-card{padding:6px 12px 12px 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface)}.a19-legend{display:flex;gap:16px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.a19-legend-dot{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:6px}.a19-legend-text{color:var(--text-secondary);font-size:12px;margin-right:6px}.a19-chart-svg-wrap{width:100%;overflow-x:auto}.a19-chart-svg{width:100%;height:auto;display:block;overflow:visible}.a19-chart-title{fill:var(--text-primary);font-weight:700}.a19-axis-label{fill:var(--text-secondary);font-size:14px;font-weight:700;letter-spacing:.2px;paint-order:stroke fill;stroke:#0000008c;stroke-width:2px}.a19-axis-tick,.a19-axis-x{fill:var(--text-muted);font-size:11px}.a19-grid{stroke:var(--border);stroke-dasharray:4 4}.a19-grid-autofit{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.a19-help{color:var(--text-muted)}.a19-kpis{display:grid;gap:8px}.a19-updated{color:var(--text-muted);font-size:12px;margin-top:8px}.a19-two-col{--charts-gap: 8px;--charts-bleed: 170px;display:grid;grid-template-columns:minmax(900px,1fr) 960px;column-gap:0;row-gap:var(--a19-gap);align-items:start;overflow:visible}.article19-table{margin-right:var(--charts-gap);font-size:12px;line-height:1.25}.a19-rightcol{margin-left:calc(-1 * var(--charts-bleed));justify-self:start;display:grid;gap:var(--a19-gap);overflow:visible}.a19-two-col--table-only,.a19-two-col--charts-only{grid-template-columns:1fr}.a19-two-col--charts-only .a19-rightcol{margin-left:0;max-width:100%}.a19-chart-card{padding-left:0}.article19-one-table-wrapper{position:static;left:0;width:100%;max-width:100%}.article19-card-touch-left{margin-left:0;padding-left:12px;width:100%}.article19-table th,.article19-table td{padding:6px 8px}.article19-table .a19-input{height:28px;font-size:12px;padding:4px 6px}@media (max-width: 1200px){.a19-two-col{grid-template-columns:1fr}}@media (min-width: 1400px){.a19-axis-label{font-size:15px;stroke-width:2.2px}}.a19-point-label{fill:var(--text-primary);font-size:12px;font-weight:700;paint-order:stroke fill;stroke:#000000a6;stroke-width:2px}:root{--bg-body: #0f1117;--bg-sidebar: #161822;--bg-topbar: #1a1d2b;--bg-surface: #1e2130;--bg-surface-2: #252839;--bg-hover: #2a2e42;--bg-active: #323754;--border: #2a2e42;--border-light: #363a50;--text-primary: #e8eaf0;--text-secondary:#9399b2;--text-muted: #6c7293;--text-inverse: #fff;--accent-energy: #f97316;--accent-energy-bg: rgba(249,115,22,.1);--accent-carbon: #22c55e;--accent-carbon-bg: rgba(34,197,94,.1);--accent-blue: #3b82f6;--accent-blue-bg: rgba(59,130,246,.1);--accent-red: #ef4444;--accent-red-bg: rgba(239,68,68,.08);--accent-esg: #8b5cf6;--accent-esg-bg: rgba(139,92,246,.1);--sidebar-width: 260px;--sidebar-collapsed-width: 52px;--topbar-height: 56px;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 3px rgba(0,0,0,.25);--shadow: 0 4px 12px rgba(0,0,0,.3);--shadow-lg: 0 8px 32px rgba(0,0,0,.4);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-body);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:var(--accent-blue);text-decoration:none;transition:color .15s}a:hover{color:#60a5fa}button{font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;border:none;border-radius:var(--radius-sm);padding:.5rem 1rem;transition:all .15s ease;line-height:1.4}:where(button){color:var(--text-inverse);background:var(--accent-energy)}:where(button:hover){filter:brightness(1.1)}:where(button:active){transform:scale(.98)}:where(input,select,textarea){font-family:inherit;font-size:.875rem;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;transition:border-color .15s,box-shadow .15s}:where(input:focus,select:focus,textarea:focus){outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-bg)}:where(select){color:var(--text-primary)}:where(select) option,:where(select) optgroup{color:#111;background-color:#fff}:where(select) option:hover,:where(select) option:checked{background-color:var(--accent-blue);color:#fff}:where(table){color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3a3e55;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#4a4e65}.app-shell{display:flex;height:100vh;overflow:hidden}.app-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100vh;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width .25s ease,min-width .25s ease;z-index:20}.app-sidebar.sidebar-closed{width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width)}.app-sidebar.sidebar-closed .sidebar-section-label,.app-sidebar.sidebar-closed .sidebar-link span{display:none}.app-sidebar.sidebar-closed .sidebar-link{justify-content:center;padding:10px;min-width:0}.app-sidebar.sidebar-closed .sidebar-footer{display:none}.app-sidebar.sidebar-closed .sidebar-logo{padding:12px 8px;border-bottom:1px solid var(--border)}.app-sidebar.sidebar-closed .sidebar-logo-inner{flex-direction:column;gap:4px}.app-sidebar.sidebar-closed .sidebar-logo img{width:36px;height:36px}.app-sidebar.sidebar-closed .sidebar-tagline{display:none}.app-sidebar.sidebar-closed .sidebar-nav{padding:8px 6px;align-items:center}.app-sidebar.sidebar-closed .carbon-sidebar-wrapper{display:none}.sidebar-logo{padding:20px 20px 18px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);background:var(--bg-sidebar)}.sidebar-logo-inner{display:flex;flex-direction:column;align-items:center;gap:8px}.sidebar-logo img{width:80px;height:80px;object-fit:contain;display:block}.sidebar-tagline{font-size:.65rem;color:var(--accent-energy);font-weight:600;letter-spacing:.8px;text-transform:uppercase;text-align:center;line-height:1.3;white-space:nowrap}.sidebar-nav{flex:1;padding:12px 10px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.sidebar-section-label{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);padding:16px 12px 6px;font-weight:600}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none;border:none;background:none;width:100%;text-align:left}.sidebar-link:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-link.active{background:var(--bg-active);color:var(--text-primary);font-weight:600}.sidebar-link.active.energy{background:var(--accent-energy-bg);color:var(--accent-energy)}.sidebar-link.active.carbon{background:var(--accent-carbon-bg);color:var(--accent-carbon)}.sidebar-link.active.esg{background:var(--accent-esg-bg);color:var(--accent-esg)}.sidebar-link svg{flex-shrink:0}.carbon-sidebar-wrapper{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:4px 0 12px}.carbon-sidebar-content{display:flex;flex-direction:column;gap:4px;padding:0 4px}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);font-size:.7rem;color:var(--text-muted);text-align:center;line-height:1.5}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.app-topbar{height:var(--topbar-height);min-height:var(--topbar-height);background:var(--bg-topbar);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:16px;z-index:10}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.topbar-breadcrumb{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary)}.topbar-breadcrumb .sep{color:var(--text-muted)}.topbar-breadcrumb .current{color:var(--text-primary);font-weight:600}.topbar-right{display:flex;align-items:center;gap:8px}.topbar-email{color:var(--text-secondary);font-size:.8rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);background:var(--bg-surface-2);color:var(--text-secondary);border:1px solid var(--border);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.topbar-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.topbar-btn.active{background:var(--accent-carbon, #22c55e);color:#fff;border-color:var(--accent-carbon, #22c55e)}.topbar-btn.danger{color:var(--accent-red);border-color:var(--accent-red-bg)}.topbar-btn.danger:hover{background:var(--accent-red-bg)}.app-content{flex:1;overflow-y:auto;padding:24px}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.card-sm{padding:16px}.tab-bar{display:flex;gap:4px;padding:4px;background:var(--bg-surface);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:20px;overflow-x:auto;flex-wrap:nowrap}.tab-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;border:none}.tab-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tab-btn.active{background:var(--accent-blue);color:#fff;font-weight:600}.tab-btn svg{flex-shrink:0}.project-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.project-list-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);transition:background .15s;cursor:pointer}.project-list-item:hover{background:var(--bg-hover)}.project-list-item.selected{background:var(--accent-energy-bg)}.project-list-item .name{flex:1;font-size:.85rem;color:var(--text-secondary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list-item.selected .name{color:var(--accent-energy);font-weight:600}.project-list-item .delete-btn{opacity:0;transition:opacity .15s;background:none;border:none;padding:4px;cursor:pointer;border-radius:4px;display:flex;align-items:center}.project-list-item:hover .delete-btn{opacity:1}.project-list-item .delete-btn:hover{background:var(--accent-red-bg)}.project-list-item.carbon.selected{background:var(--accent-carbon-bg)}.project-list-item.carbon.selected .name{color:var(--accent-carbon)}.carbon-tree-node:hover{background:var(--bg-hover)}.carbon-tree-node.sub:hover{background:var(--accent-carbon-bg);color:var(--text-primary)}.btn-primary{background:var(--accent-energy);color:#fff;font-weight:600;border:none;border-radius:var(--radius-sm);padding:8px 16px}.btn-primary:hover{filter:brightness(1.1)}.btn-primary-carbon{background:var(--accent-carbon);color:#fff;font-weight:600;border:none;border-radius:var(--radius-sm);padding:8px 16px}.btn-primary-carbon:hover{filter:brightness(1.1)}.btn-primary-esg{background:var(--accent-esg);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 16px}.btn-primary-esg:hover{filter:brightness(1.1)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px;font-weight:500}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.btn-danger{background:var(--accent-red-bg);color:var(--accent-red);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);padding:8px 14px;font-weight:500}.btn-danger:hover{background:#ef444426}.btn-icon{background:transparent;border:none;padding:4px;line-height:1;cursor:pointer;border-radius:4px;display:inline-flex;align-items:center}.btn-icon:hover{background:var(--bg-hover)}.measure-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.85rem;color:var(--text-primary)}.measure-table th,.measure-table td{border:1px solid var(--border);padding:6px 8px}.measure-table td{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.sectionRow th{text-align:left;font-weight:700;color:var(--text-primary);font-size:.95rem;border:none}.td-input{padding:0}.measure-table .cellfill{display:block;width:100%;height:32px;line-height:22px;padding:4px 6px;box-sizing:border-box;background:var(--bg-surface-2);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;text-align:center}.measure-table .cellfill:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px var(--accent-blue-bg)}.measure-table .cellfill::placeholder{color:var(--text-muted)}.measure-table th:nth-child(2),.measure-table th:nth-child(3),.measure-table th:nth-child(4),.measure-table th:nth-child(5),.measure-table th:nth-child(6),.measure-table td:nth-child(2){text-align:center}.measure-table td:nth-child(3),.measure-table td:nth-child(4),.measure-table td:nth-child(5),.measure-table td:nth-child(6){text-align:right}.col-resize-th{position:relative;overflow:hidden}.col-resize-handle{position:absolute;right:0;top:0;height:100%;width:5px;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:2;border-right:2px solid transparent;transition:border-color .15s}.col-resize-handle:hover,.col-resize-handle:active{border-right-color:var(--accent-blue, #3399ff)}.measures-edge-left{margin-left:-16px}.measures-edge-left,.measures-edge-left *{text-align:left}.measure-title{font-size:1.15rem;font-weight:600;line-height:1.35;min-height:52px;display:block;width:100%;max-width:72ch;color:var(--text-primary)}.measure-comments{font-size:.85rem;line-height:1.45;min-height:52px;display:block;width:100%;max-width:90ch;color:var(--text-secondary)}.article19-one-table-wrapper{position:static;left:0;width:100%}.article19-cards-wrapper{position:relative;left:0;padding-left:0;width:100%;max-width:700px;margin:0;overflow:visible}.group-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,box-shadow .2s}.group-card:hover{border-color:var(--border-light);box-shadow:var(--shadow)}.group-card .icon-circle{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.group-card .icon-circle.energy{background:var(--accent-energy-bg);color:var(--accent-energy)}.group-card .icon-circle.carbon{background:var(--accent-carbon-bg);color:var(--accent-carbon)}.group-card .icon-circle.esg{background:var(--accent-esg-bg);color:var(--accent-esg)}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.info-item{background:var(--bg-surface-2);border-radius:var(--radius-sm);padding:12px 16px}.info-item .label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.info-item .value{font-size:1rem;font-weight:600;color:var(--text-primary)}@media (max-width: 768px){.app-sidebar{position:fixed;left:-260px}.app-sidebar.open{left:0}:root{--sidebar-width: 0px}}
