:root{--color-ink: #102D37;--color-paper: #F4F6F1;--color-surface: #E8EFED;--color-white: #FFFFFF;--color-blue: #17647A;--color-cyan: #27A9BF;--color-muted: #5F747B;--color-line: #B9C8C8;--color-coral: #E85D5D;--color-amber: #E0A030;--color-lime: #6AAF28;--color-border: #B9C8C8;--color-text: #102D37;--color-text-muted: #5F747B;--color-teal: #27A9BF;--color-bg: #F4F6F1}.nodo-app{display:flex;flex-direction:row;height:100dvh;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--color-ink);background:var(--color-paper);overflow:hidden}.nodo-sidebar{width:240px;flex-shrink:0;background:var(--color-white);border-right:1px solid var(--color-line);display:flex;flex-direction:column;overflow-y:auto}.nodo-sidebar-logo{padding:24px 20px;font-size:18px;font-weight:700;color:var(--color-blue);border-bottom:1px solid var(--color-line);letter-spacing:-.3px}.nodo-sidebar-nav{flex:1;padding:8px 0}.nodo-sidebar-item{padding:10px 20px;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--color-muted);border:none;border-left:3px solid transparent;background:none;width:100%;text-align:left;font-family:inherit;transition:background .15s,color .15s,border-color .15s;user-select:none}.nodo-sidebar-item:hover{background:var(--color-surface);color:var(--color-ink)}.nodo-sidebar-item.active{color:var(--color-blue);font-weight:600;border-left-color:var(--color-blue);background:#17647a0f}.nodo-sidebar-item:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.nodo-sidebar-item-icon{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nodo-sidebar-item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nodo-sidebar-back{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;margin-top:auto;border-top:1px solid var(--color-line);color:var(--color-muted);text-decoration:none;font-size:.8125rem;transition:color .2s,background .15s;cursor:pointer}.nodo-sidebar-back:hover{color:var(--color-ink);background:var(--color-surface)}.nodo-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.nodo-header{height:56px;flex-shrink:0;background:var(--color-white);border-bottom:1px solid var(--color-line);display:flex;align-items:center;padding:0 24px;gap:16px}.nodo-header-title{font-size:15px;font-weight:600}.nodo-header-spacer{flex:1}.nodo-content{flex:1;overflow-y:auto;padding:24px}.nodo-filter-group{display:flex;gap:8px;align-items:center}.nodo-filter-select{appearance:none;background:var(--color-white);border:1px solid var(--color-line);border-radius:6px;padding:6px 32px 6px 12px;font-size:13px;color:var(--color-ink);cursor:pointer;font-family:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%235F747B'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.nodo-filter-select:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.nodo-period-btn{padding:6px 14px;border-radius:6px;border:1px solid var(--color-line);background:var(--color-white);cursor:pointer;font-size:13px;font-family:inherit;color:var(--color-muted);transition:background .15s,color .15s,border-color .15s}.nodo-period-btn:hover{background:var(--color-surface);color:var(--color-ink)}.nodo-period-btn.active{background:var(--color-blue);color:var(--color-white);border-color:var(--color-blue)}.nodo-period-btn:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.nodo-lang-switcher{display:flex;gap:2px;margin-left:8px;background:var(--color-surface);border-radius:6px;padding:2px}.nodo-lang-btn{padding:4px 10px;border-radius:4px;border:none;background:transparent;cursor:pointer;font-size:11px;font-weight:700;font-family:inherit;color:var(--color-muted);letter-spacing:.5px;transition:all .15s}.nodo-lang-btn:hover{color:var(--color-ink);background:var(--color-white)}.nodo-lang-btn.active{background:var(--color-white);color:var(--color-blue);box-shadow:0 1px 3px #0000001a}.nodo-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.nodo-kpi-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:20px}.nodo-kpi-card-label{font-size:12px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.nodo-kpi-card-value{font-size:28px;font-weight:700;line-height:1.2}.nodo-kpi-card--coral .nodo-kpi-card-value{color:var(--color-coral)}.nodo-kpi-card--amber .nodo-kpi-card-value{color:var(--color-amber)}.nodo-kpi-card--teal .nodo-kpi-card-value{color:var(--color-cyan)}.nodo-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.nodo-metric-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:16px}.nodo-metric-card-value{font-size:20px;font-weight:700}.nodo-metric-card-label{font-size:12px;color:var(--color-muted);margin-top:2px}.nodo-section-title{font-size:16px;font-weight:600;margin-bottom:16px}.nodo-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.nodo-table{width:100%;border-collapse:collapse;font-size:13px}.nodo-table th{text-align:left;padding:10px 12px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:var(--color-muted);border-bottom:2px solid var(--color-line)}.nodo-table td{padding:10px 12px;border-bottom:1px solid var(--color-line);vertical-align:middle}.nodo-table tr:hover td{background:var(--color-surface)}.nodo-table tr.overdue td{background:#e85d5d0f}.nodo-table-row--clickable{cursor:pointer}.nodo-table-row--clickable:focus-visible td{outline:2px solid var(--color-blue);outline-offset:-2px}.nodo-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.nodo-badge--new{background:#e0f0ff;color:#1a6fb5}.nodo-badge--in_progress{background:#fff3d6;color:#946b00}.nodo-badge--waiting{background:#f0e8ff;color:#6b3fa0}.nodo-badge--resolved{background:#d9f5e3;color:#1a7a3a}.nodo-badge--closed{background:var(--color-surface);color:var(--color-muted)}.nodo-badge--critical{background:#fdd;color:#b91c1c}.nodo-badge--high{background:#ffe8cc;color:#b45309}.nodo-badge--medium{background:#fff3d6;color:#946b00}.nodo-badge--low{background:var(--color-surface);color:var(--color-muted)}.nodo-badge--todo{background:#e0f0ff;color:#1a6fb5}.nodo-badge--done{background:#d9f5e3;color:#1a7a3a}.nodo-badge--overdue{background:#fdd;color:#b91c1c}.nodo-badge--active{background:#d9f5e3;color:#1a7a3a}.nodo-badge--planned{background:#e0f0ff;color:#1a6fb5}.nodo-badge--completed{background:var(--color-surface);color:var(--color-muted)}.nodo-badge--running{background:#fff3d6;color:#946b00}.nodo-badge--stopped{background:#fdd;color:#b91c1c}.nodo-badge--go{background:#d9f5e3;color:#1a7a3a}.nodo-badge--kill{background:#fdd;color:#b91c1c}.nodo-badge--hold{background:#fff3d6;color:#946b00}.nodo-badge--rework{background:#f0e8ff;color:#6b3fa0}.nodo-priority-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px;flex-shrink:0}.nodo-priority-dot--critical{background:#b91c1c}.nodo-priority-dot--high{background:#d97706}.nodo-priority-dot--medium{background:#946b00}.nodo-priority-dot--low{background:var(--color-muted)}.nodo-detail-overlay{position:fixed;inset:0;background:#102d374d;z-index:100;display:flex;justify-content:flex-end}.nodo-detail-panel{width:480px;max-width:100%;background:var(--color-white);height:100%;overflow-y:auto;padding:24px;box-shadow:-4px 0 24px #0000001a;animation:slideInRight .2s ease}.nodo-detail-close{background:none;border:none;cursor:pointer;color:var(--color-muted);float:right;padding:4px;line-height:1;display:flex;align-items:center;justify-content:center}.nodo-detail-close:hover{color:var(--color-ink)}.nodo-detail-close:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.nodo-detail-title{font-size:18px;font-weight:600;margin-bottom:16px;padding-right:32px}.nodo-detail-field{margin-bottom:12px}.nodo-detail-field-label{font-size:11px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.nodo-detail-field-value{font-size:14px}.nodo-detail-actions{display:flex;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--color-line)}.nodo-btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--color-line);background:var(--color-white);color:var(--color-ink);transition:background .15s,color .15s;font-family:inherit}.nodo-btn:hover{background:var(--color-surface)}.nodo-btn:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.nodo-btn--primary{background:var(--color-blue);color:var(--color-white);border-color:var(--color-blue)}.nodo-btn--primary:hover{background:#125564}.nodo-btn--sm{padding:4px 12px;font-size:12px}.nodo-btn--accept{background:#d9f5e3;color:#1a7a3a;border-color:#1a7a3a}.nodo-btn--accept:hover{background:#c2ebd1}.nodo-btn--reject{background:#fdd;color:#b91c1c;border-color:#b91c1c}.nodo-btn--reject:hover{background:#ffcbcb}.nodo-btn--defer{background:#fff3d6;color:#946b00;border-color:#946b00}.nodo-btn--defer:hover{background:#ffe9b8}.nodo-btn--accepted{background:#1a7a3a;color:var(--color-white);border-color:#1a7a3a;cursor:default}.nodo-btn--rejected{background:#b91c1c;color:var(--color-white);border-color:#b91c1c;cursor:default}.nodo-btn--deferred{background:#946b00;color:var(--color-white);border-color:#946b00;cursor:default}.nodo-btn:disabled{opacity:.8;cursor:default}.nodo-tabs{display:flex;border-bottom:2px solid var(--color-line);margin-bottom:20px;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.nodo-tab{padding:10px 20px;font-size:13px;font-weight:500;color:var(--color-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;white-space:nowrap;background:none;border-top:none;border-left:none;border-right:none;font-family:inherit}.nodo-tab:hover{color:var(--color-ink)}.nodo-tab.active{color:var(--color-blue);border-bottom-color:var(--color-blue);font-weight:600}.nodo-tab:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.nodo-kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.nodo-kanban-col{flex:0 0 200px;background:var(--color-surface);border-radius:8px;padding:12px}.nodo-kanban-col-header{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-muted);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.nodo-kanban-col-count{background:var(--color-blue);color:var(--color-white);border-radius:10px;padding:0 8px;font-size:11px;line-height:20px}.nodo-kanban-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:6px;padding:10px 12px;margin-bottom:8px;font-size:13px}.nodo-kanban-card:last-child{margin-bottom:0}.nodo-kanban-card-client{font-weight:600;margin-bottom:4px}.nodo-kanban-card-summary{color:var(--color-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodo-calendar{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;overflow:hidden}.nodo-calendar-nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.75rem}.nodo-calendar-nav-btn{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:1rem;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.nodo-calendar-nav-btn:hover{background:var(--color-surface)}.nodo-calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-surface)}.nodo-calendar-header-cell{padding:8px;text-align:center;font-size:11px;font-weight:600;color:var(--color-muted);text-transform:uppercase}.nodo-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.nodo-calendar-cell{min-height:80px;border:1px solid var(--color-line);padding:4px 6px;font-size:12px}.nodo-calendar-cell--today{background:#27a9bf14}.nodo-calendar-cell--other{color:var(--color-muted);opacity:.5}.nodo-calendar-day{font-weight:600;margin-bottom:2px}.nodo-calendar-event{font-size:10px;padding:2px 4px;border-radius:3px;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodo-calendar-event--meeting{background:#e0f0ff;color:#1a6fb5}.nodo-calendar-event--follow_up{background:#fff3d6;color:#946b00}.nodo-calendar-event--deadline{background:#fdd;color:#b91c1c}.nodo-integrations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.nodo-connector-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:20px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.nodo-connector-card:hover{border-color:var(--color-blue);box-shadow:0 2px 8px #17647a1a}.nodo-connector-card:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.nodo-connector-icon{margin-bottom:12px;color:var(--color-blue)}.nodo-connector-name{font-size:14px;font-weight:600;margin-bottom:4px}.nodo-connector-status{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.nodo-connector-status--demo{color:var(--color-muted)}.nodo-connector-status--demo_active{color:#b45309}.nodo-connector-status--ready{color:var(--color-blue)}.nodo-connector-status--connected{color:#1a7a3a}.nodo-connector-status--not_connected{color:#6b7280}.nodo-connector-status--planned{color:#6d28d9}.nodo-connector-status--error{color:#b91c1c}.nodo-demo-banner{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fef3c7;border:1px solid #F59E0B;border-radius:8px;font-size:12px;color:#92400e;margin:0 0 12px}.nodo-demo-banner svg{flex-shrink:0}.nodo-connector-desc{font-size:12px;color:var(--color-muted);margin-top:8px;line-height:1.4}.nodo-rec-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.nodo-rec-item{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:14px 16px}.nodo-rec-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.nodo-rec-item-title{font-size:14px;font-weight:500}.nodo-rec-item-impact{font-size:12px;color:var(--color-cyan);font-weight:600;white-space:nowrap;margin-left:12px}.nodo-rec-item-reason{font-size:12px;color:var(--color-muted);margin-bottom:8px}.nodo-rec-item-reason-toggle{background:none;border:none;font-size:12px;color:var(--color-muted);cursor:pointer;padding:0;font-family:inherit}.nodo-rec-item-reason-toggle:hover{color:var(--color-ink)}.nodo-rec-item-reason-toggle:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.nodo-rec-item-reason-text{margin-top:4px;line-height:1.5}.nodo-rec-item-actions{display:flex;gap:8px}.nodo-log-list{font-size:13px}.nodo-log-item{padding:8px 0;border-bottom:1px solid var(--color-line);display:flex;gap:12px}.nodo-log-item:last-child{border-bottom:none}.nodo-log-time{color:var(--color-muted);font-size:12px;white-space:nowrap;min-width:130px;flex-shrink:0}.nodo-log-text{flex:1;min-width:0}.nodo-log-user{font-weight:600}.nodo-inbox-list{display:flex;flex-direction:column;gap:4px}.nodo-inbox-item{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:14px 16px;cursor:pointer;display:flex;gap:12px;align-items:flex-start;transition:border-color .15s}.nodo-inbox-item:hover{border-color:var(--color-blue)}.nodo-inbox-priority{margin-top:4px}.nodo-inbox-channel{flex-shrink:0;color:var(--color-muted);display:flex;align-items:center}.nodo-inbox-body{flex:1;min-width:0}.nodo-inbox-client{font-weight:600;font-size:14px;margin-bottom:2px}.nodo-inbox-summary{font-size:13px;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodo-inbox-time{font-size:12px;color:var(--color-muted);white-space:nowrap;flex-shrink:0}.nodo-inbox-section{display:flex;flex-direction:column;gap:12px}.nodo-inbox-tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-line);padding-bottom:0}.nodo-inbox-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;color:var(--color-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.nodo-inbox-tab:hover{color:var(--color-text)}.nodo-inbox-tab--active{color:var(--color-blue);border-bottom-color:var(--color-blue)}.nodo-inbox-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--color-muted);color:var(--color-white);font-size:11px;font-weight:600;line-height:1}.nodo-inbox-badge--web{background:var(--color-blue)}.nodo-weblead-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:border-color .15s,box-shadow .15s}.nodo-weblead-card:hover{border-color:var(--color-blue);box-shadow:0 2px 8px #0000000a}.nodo-weblead-header{display:flex;align-items:flex-start;gap:10px}.nodo-weblead-channel{flex-shrink:0;color:var(--color-blue);margin-top:2px}.nodo-weblead-meta{flex:1;min-width:0}.nodo-weblead-name{font-weight:600;font-size:14px;color:var(--color-text)}.nodo-weblead-email{font-size:12px;color:var(--color-muted)}.nodo-weblead-time{font-size:12px;color:var(--color-muted);white-space:nowrap;flex-shrink:0}.nodo-weblead-body{display:flex;flex-direction:column;gap:6px}.nodo-weblead-form-tag{display:inline-flex;align-self:flex-start;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;color:var(--color-blue);background:#3b82f614;text-transform:uppercase;letter-spacing:.3px}.nodo-weblead-message{font-size:13px;color:var(--color-text);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.nodo-weblead-footer{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--color-line)}.nodo-weblead-create-btn{padding:6px 16px;font-size:13px;font-weight:500;color:var(--color-white);background:var(--color-blue);border:none;border-radius:6px;cursor:pointer;transition:background .15s,transform .1s}.nodo-weblead-create-btn:hover{filter:brightness(1.1)}.nodo-weblead-create-btn:active{transform:scale(.97)}.nodo-weblead-created{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nodo-weblead-audit-badge{display:inline-flex;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;font-family:monospace;color:#16a34a;background:#16a34a14;letter-spacing:-.2px}.nodo-weblead-case-id{font-size:11px;font-family:monospace;color:var(--color-muted)}.nodo-weblead-status{font-size:12px;color:#16a34a;font-weight:500}.nodo-comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.nodo-comparison-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:20px}.nodo-comparison-card-title{font-size:14px;font-weight:600;margin-bottom:12px}.nodo-comparison-item{font-size:13px;padding:6px 0;border-bottom:1px solid var(--color-line)}.nodo-comparison-item:last-child{border-bottom:none}.nodo-bar-chart{display:flex;flex-direction:column;gap:8px}.nodo-bar-row{display:flex;align-items:center;gap:12px}.nodo-bar-label{font-size:12px;width:120px;text-align:right;color:var(--color-muted);flex-shrink:0}.nodo-bar-track{flex:1;height:24px;background:var(--color-surface);border-radius:4px;overflow:hidden}.nodo-bar{height:24px;border-radius:4px;background:var(--color-coral);position:relative;transition:width .3s}.nodo-bar-value{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--color-white);font-weight:600;white-space:nowrap}.nodo-slider-group{display:flex;flex-direction:column;gap:16px;max-width:500px}.nodo-slider-item{display:flex;flex-direction:column;gap:4px}.nodo-slider-label{display:flex;justify-content:space-between;font-size:13px}.nodo-slider-input{width:100%;accent-color:var(--color-blue)}.nodo-scenario-result{background:var(--color-surface);border-radius:8px;padding:20px;margin-top:20px}.nodo-scenario-result-label{font-size:13px;color:var(--color-muted);margin-bottom:4px}.nodo-scenario-result-value{font-size:28px;font-weight:700;color:var(--color-cyan)}.nodo-goal-item{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:14px 16px;margin-bottom:8px}.nodo-goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.nodo-goal-title{font-weight:600;font-size:14px}.nodo-goal-pct{font-size:13px;color:var(--color-muted)}.nodo-goal-progress{height:6px;background:var(--color-surface);border-radius:3px;overflow:hidden}.nodo-goal-progress-fill{height:100%;border-radius:3px;background:var(--color-cyan);transition:width .3s}.nodo-goal-progress-fill--at_risk{background:var(--color-amber)}.nodo-goal-progress-fill--behind{background:var(--color-coral)}.nodo-kpi-tree{padding-left:0}.nodo-kpi-tree-item{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:12px 16px;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}.nodo-kpi-tree-item--child{margin-left:24px}.nodo-kpi-tree-label{font-size:14px;font-weight:500}.nodo-kpi-tree-value{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.nodo-kpi-tree-trend{font-size:16px}.nodo-kpi-tree-trend--up{color:#1a7a3a}.nodo-kpi-tree-trend--down{color:var(--color-coral)}.nodo-kpi-tree-trend--flat{color:var(--color-muted)}.nodo-risk-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:14px 16px;margin-bottom:8px}.nodo-risk-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.nodo-risk-title{font-weight:600;font-size:14px}.nodo-risk-badges{display:flex;gap:6px}.nodo-risk-mitigation{font-size:13px;color:var(--color-muted)}.nodo-scenario-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:16px;margin-bottom:8px}.nodo-scenario-name{font-weight:600;font-size:14px;margin-bottom:4px}.nodo-scenario-desc{font-size:13px;color:var(--color-muted);margin-bottom:8px}.nodo-scenario-savings{font-size:16px;font-weight:700;color:var(--color-cyan)}.nodo-constraint-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.nodo-constraint-row{display:flex;align-items:center;gap:12px}.nodo-constraint-label{width:130px;font-size:13px;flex-shrink:0}.nodo-constraint-bar-wrap{flex:1;height:20px;background:var(--color-surface);border-radius:4px;overflow:hidden}.nodo-constraint-bar{height:100%;border-radius:4px;background:var(--color-blue);transition:width .3s}.nodo-constraint-bar--primary{background:var(--color-coral)}.nodo-constraint-score{width:36px;font-size:13px;font-weight:600;text-align:right}.nodo-primary-card{background:var(--color-white);border:2px solid var(--color-coral);border-radius:8px;padding:20px}.nodo-primary-card-title{font-weight:600;font-size:15px;color:var(--color-coral);margin-bottom:12px}.nodo-primary-card-row{margin-bottom:8px}.nodo-primary-card-row-label{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--color-muted);margin-bottom:2px}.nodo-primary-card-row-value{font-size:14px}.nodo-onepage-grid{display:grid;gap:16px}.nodo-onepage-field{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:14px 16px}.nodo-onepage-field-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-muted);margin-bottom:4px}.nodo-onepage-field-value{font-size:14px}.nodo-onepage-list{list-style:none;padding:0;margin:0}.nodo-onepage-list li{padding:3px 0;font-size:13px}.nodo-onepage-list li:before{content:"•";color:var(--color-blue);margin-right:8px}.nodo-confidence-chart{display:flex;align-items:flex-end;gap:4px;height:80px;padding:0;margin-bottom:12px}.nodo-confidence-bar{flex:1;background:var(--color-blue);border-radius:3px 3px 0 0;min-width:20px;transition:height .3s;position:relative}.nodo-confidence-bar-label{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:10px;color:var(--color-muted);white-space:nowrap}.nodo-experiment-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:16px;margin-bottom:10px}.nodo-experiment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:12px}.nodo-experiment-title{font-size:14px;font-weight:500;flex:1}.nodo-experiment-badges{display:flex;gap:6px;flex-shrink:0}.nodo-experiment-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;font-size:12px}.nodo-experiment-detail-label{color:var(--color-muted);font-size:10px;text-transform:uppercase;letter-spacing:.3px}.nodo-experiment-detail-value{font-weight:600}.nodo-review-block{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:16px;margin-bottom:10px}.nodo-review-block-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--color-blue);margin-bottom:6px}.nodo-review-block-content{font-size:13px;line-height:1.5;color:var(--color-ink)}.nodo-review-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.nodo-review-action-item{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.nodo-review-action-title{font-size:14px;font-weight:500;flex:1}.nodo-review-action-btns{display:flex;gap:6px;flex-shrink:0}.nodo-settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:700px){.nodo-settings-grid{grid-template-columns:1fr}}.nodo-settings-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:14px}.nodo-settings-card-header{display:flex;gap:12px;align-items:flex-start}.nodo-settings-card-icon{font-size:22px;line-height:1;flex-shrink:0}.nodo-settings-card-title{font-weight:600;font-size:14px;color:var(--color-text)}.nodo-settings-card-desc{font-size:12px;color:var(--color-muted);margin-top:2px}.nodo-settings-select{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:13px;font-family:inherit;cursor:pointer}.nodo-settings-select:focus{outline:2px solid var(--color-teal);outline-offset:-1px}.nodo-settings-toggle-group{display:flex;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.nodo-settings-toggle{flex:1;padding:8px 0;border:none;background:var(--color-bg);color:var(--color-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.nodo-settings-toggle+.nodo-settings-toggle{border-left:1px solid var(--color-border)}.nodo-settings-toggle.active{background:var(--color-teal);color:#fff}.nodo-settings-demo-note{margin-top:20px;padding:12px 16px;background:#6aaf2814;border:1px solid rgba(106,175,40,.2);border-radius:8px;font-size:12px;color:var(--color-muted);display:flex;gap:8px;align-items:center}.nodo-demo-switcher{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid var(--color-line)}.nodo-demo-switcher-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--color-muted);width:100%;margin-bottom:4px}.nodo-status-select{appearance:none;border:1px solid var(--color-line);border-radius:6px;padding:6px 28px 6px 10px;font-size:12px;cursor:pointer;font-family:inherit;background:var(--color-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%235F747B'/%3E%3C/svg%3E") no-repeat right 8px center}.nodo-status-select:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.nodo-knowledge-item{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:16px;margin-bottom:8px}.nodo-knowledge-title{font-weight:600;font-size:14px;margin-bottom:4px}.nodo-knowledge-excerpt{font-size:13px;color:var(--color-muted);margin-bottom:6px;line-height:1.4}.nodo-knowledge-meta{font-size:12px;color:var(--color-muted);display:flex;gap:16px}.nodo-checkbox{accent-color:var(--color-blue);width:16px;height:16px;cursor:pointer}.nodo-empty-state{text-align:center;padding:48px 20px;color:var(--color-muted);font-size:14px}.nodo-empty-icon{margin-bottom:12px;color:var(--color-line)}.state-loading{display:flex;flex-direction:column;gap:16px}.state-loading-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:20px;overflow:hidden;position:relative}.state-loading-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(185,200,200,.3) 50%,transparent 100%);animation:shimmer 1.5s infinite}.state-loading-line{height:14px;background:var(--color-surface);border-radius:4px;margin-bottom:8px}.state-loading-line:last-child{margin-bottom:0}.state-loading-line--short{width:60%}.state-loading-line--medium{width:80%}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.state-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 20px;text-align:center;color:var(--color-muted)}.state-empty-icon{color:var(--color-line);margin-bottom:16px}.state-empty-title{font-size:16px;font-weight:600;margin-bottom:4px}.state-empty-message{font-size:14px;max-width:300px;line-height:1.5}.state-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;text-align:center}.state-error-card{background:var(--color-white);border:2px solid var(--color-coral);border-radius:8px;padding:24px 32px;max-width:400px}.state-error-icon{color:var(--color-coral);margin-bottom:12px}.state-error-title{font-size:16px;font-weight:600;color:var(--color-coral);margin-bottom:4px}.state-error-message{font-size:14px;color:var(--color-muted);margin-bottom:16px;line-height:1.5}.state-success{position:fixed;top:20px;right:20px;background:#d9f5e3;border:1px solid #1A7A3A;border-radius:8px;padding:12px 20px;color:#1a7a3a;font-weight:600;font-size:14px;z-index:200;animation:flashIn .3s ease,flashOut .3s ease 2s forwards}@keyframes flashIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes flashOut{0%{opacity:1}to{opacity:0}}.nodo-bottom-nav,.nodo-bottom-drawer-backdrop,.nodo-bottom-drawer{display:none}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(max-width:767px){.nodo-app{flex-direction:column}.nodo-sidebar{display:none}.nodo-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:56px;background:var(--color-white);border-top:1px solid var(--color-line);z-index:50;align-items:stretch}.nodo-bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:44px;min-height:44px;background:none;border:none;color:var(--color-muted);font-size:11px;font-family:inherit;cursor:pointer;padding:4px 2px;position:relative}.nodo-bottom-nav-item:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.nodo-bottom-nav-item.active{color:var(--color-blue)}.nodo-bottom-nav-item.active:before{content:"";position:absolute;top:0;left:25%;right:25%;height:2px;background:var(--color-blue);border-radius:0 0 2px 2px}.nodo-bottom-nav-item-label{font-size:11px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.nodo-bottom-drawer-backdrop{display:block;position:fixed;inset:0;background:#102d3766;z-index:60}.nodo-bottom-drawer-backdrop[hidden]{display:none}.nodo-bottom-drawer{display:flex;flex-direction:column;position:fixed;bottom:0;left:0;right:0;max-height:60vh;background:var(--color-white);border-radius:16px 16px 0 0;z-index:70;animation:slideUp .25s ease;padding-bottom:env(safe-area-inset-bottom,0)}.nodo-bottom-drawer[hidden]{display:none}.nodo-bottom-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 8px;border-bottom:1px solid var(--color-line)}.nodo-bottom-drawer-title{font-size:15px;font-weight:600}.nodo-bottom-drawer-close{background:none;border:none;color:var(--color-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.nodo-bottom-drawer-close:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.nodo-bottom-drawer-items{overflow-y:auto;padding:8px 0}.nodo-bottom-drawer-item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 20px;background:none;border:none;font-size:14px;font-family:inherit;color:var(--color-muted);cursor:pointer;text-align:left}.nodo-bottom-drawer-item:hover{background:var(--color-surface);color:var(--color-ink)}.nodo-bottom-drawer-item.active{color:var(--color-blue);font-weight:600}.nodo-bottom-drawer-item:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.nodo-bottom-drawer-item-icon{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nodo-main{padding-bottom:56px;height:calc(100dvh - 56px)}.nodo-content{padding:16px}.nodo-header{padding:8px 12px;gap:8px;flex-wrap:wrap;height:auto;min-height:48px}.nodo-detail-panel{width:100%}.nodo-comparison-grid{grid-template-columns:1fr}.nodo-kanban{flex-wrap:nowrap}.nodo-kanban-col{flex:0 0 170px}.nodo-filter-group{flex-wrap:wrap}.nodo-log-item{flex-direction:column;gap:2px}.nodo-log-time{min-width:auto}.nodo-tabs{scrollbar-width:thin}.nodo-tabs::-webkit-scrollbar{height:3px}.nodo-tabs::-webkit-scrollbar-thumb{background:var(--color-line);border-radius:3px}.nodo-risk-header{flex-direction:column;align-items:flex-start;gap:6px}.nodo-experiment-header{flex-direction:column}.nodo-experiment-details{grid-template-columns:1fr 1fr}.nodo-constraint-label{width:90px;font-size:12px}.nodo-review-action-item{flex-direction:column;align-items:flex-start;gap:8px}}@media(max-width:389px){.nodo-kpi-grid,.nodo-metric-grid{grid-template-columns:1fr}.nodo-kpi-card-value{font-size:22px}.nodo-experiment-details{grid-template-columns:1fr}}@media(min-width:390px)and (max-width:767px){.nodo-kpi-grid,.nodo-metric-grid{grid-template-columns:1fr 1fr}}@media print{.nodo-sidebar,.nodo-bottom-nav,.nodo-header{display:none}.nodo-content{overflow:visible;padding:0}.nodo-app{display:block;height:auto;overflow:visible}.nodo-detail-overlay{display:none}}.nodo-detail-close,.nodo-bottom-drawer-close,.nodo-calendar-nav-btn,.nodo-lang-btn,.nodo-period-btn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.nodo-agent-chat{display:flex;flex-direction:column;height:calc(100dvh - 72px);max-height:calc(100dvh - 72px);background:var(--color-white);border-radius:10px;border:1px solid var(--color-line);overflow:hidden}.nodo-agent-chat-header{padding:14px 20px;border-bottom:1px solid var(--color-line);font-size:15px;font-weight:600;color:var(--color-blue)}.nodo-agent-chat-header-case{font-weight:400;color:var(--color-muted)}.nodo-agent-chat-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.nodo-chat-message{max-width:85%;border-radius:10px;padding:10px 14px;font-size:14px;line-height:1.5}.nodo-chat-message--user{align-self:flex-end;background:var(--color-blue);color:var(--color-white)}.nodo-chat-message--ai{align-self:flex-start;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-line)}.nodo-chat-message--system{align-self:center;max-width:100%;padding:0}.nodo-chat-message-system{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-muted);padding:6px 12px;background:var(--color-paper);border-radius:20px;border:1px solid var(--color-line)}.nodo-chat-message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.nodo-chat-message-sender{font-weight:600;font-size:12px}.nodo-chat-message--user .nodo-chat-message-sender{color:#fffc}.nodo-chat-message--ai .nodo-chat-message-sender{color:var(--color-blue)}.nodo-chat-message-time{font-size:11px;opacity:.6}.nodo-chat-message-body{word-break:break-word}.nodo-suggested-action{margin-top:10px;padding:10px 12px;border-radius:8px;border:1.5px solid var(--color-cyan);background:var(--color-white)}.nodo-suggested-action--approved{border-color:var(--color-lime);background:#6aaf280f}.nodo-suggested-action--rejected{border-color:var(--color-coral);background:#e85d5d0f;opacity:.75}.nodo-suggested-action-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-cyan);margin-bottom:4px}.nodo-suggested-action--approved .nodo-suggested-action-label{color:var(--color-lime)}.nodo-suggested-action--rejected .nodo-suggested-action-label{color:var(--color-coral)}.nodo-suggested-action-text{font-size:13px;color:var(--color-ink);margin-bottom:8px}.nodo-suggested-action-buttons{display:flex;gap:6px;flex-wrap:wrap}.nodo-suggested-action-decided{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.nodo-suggested-action--approved .nodo-suggested-action-decided{color:var(--color-lime)}.nodo-suggested-action--rejected .nodo-suggested-action-decided{color:var(--color-coral)}.nodo-btn--outline{background:transparent;color:var(--color-blue);border:1px solid var(--color-line)}.nodo-btn--outline:hover{background:var(--color-surface)}.nodo-chat-composer{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--color-line);background:var(--color-white)}.nodo-chat-composer-input{flex:1;border:1px solid var(--color-line);border-radius:8px;padding:10px 14px;font-size:14px;font-family:inherit;background:var(--color-paper);color:var(--color-ink);outline:none;transition:border-color .15s}.nodo-chat-composer-input:focus{border-color:var(--color-blue)}.nodo-chat-composer-attach,.nodo-chat-composer-send{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;border:none;cursor:pointer;background:transparent;color:var(--color-muted);transition:background .15s,color .15s}.nodo-chat-composer-send{background:var(--color-blue);color:var(--color-white)}.nodo-chat-composer-send:disabled{opacity:.4;cursor:default}.nodo-chat-composer-attach:hover{background:var(--color-surface);color:var(--color-ink)}.nodo-chat-composer-send:not(:disabled):hover{background:var(--color-cyan)}.nodo-quick-actions{margin-bottom:20px}.nodo-qa-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.nodo-qa-item{position:relative}.nodo-qa-item--expanded{grid-column:1 / -1}.nodo-qa-button{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:10px;border:1px solid var(--color-line);background:var(--color-white);cursor:pointer;font-family:inherit;font-size:12px;color:var(--color-ink);transition:border-color .15s,background .15s,box-shadow .15s}.nodo-qa-button:hover{border-color:var(--color-blue);background:var(--color-surface)}.nodo-qa-item--expanded .nodo-qa-button{flex-direction:row;justify-content:center;border-color:var(--color-blue);background:var(--color-surface)}.nodo-qa-button-emoji{font-size:20px}.nodo-qa-button-label{font-weight:500;text-align:center;line-height:1.3}.nodo-qa-expand{padding:12px 16px;background:var(--color-white);border:1px solid var(--color-line);border-top:none;border-radius:0 0 10px 10px}.nodo-qa-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nodo-qa-form-label{font-size:13px;font-weight:500;color:var(--color-muted)}.nodo-qa-form-input{flex:1;min-width:140px;border:1px solid var(--color-line);border-radius:6px;padding:8px 12px;font-size:13px;font-family:inherit;background:var(--color-paper);color:var(--color-ink);outline:none}.nodo-qa-form-input:focus{border-color:var(--color-blue)}.nodo-qa-cancel{display:block;margin-top:8px;background:none;border:none;font-size:12px;color:var(--color-muted);cursor:pointer;font-family:inherit;text-decoration:underline}.nodo-qa-done{font-size:13px;font-weight:500;color:var(--color-lime);padding:4px 0}.nodo-agent-selector{position:relative;margin-left:12px}.nodo-agent-selector-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;border:1px solid var(--color-line);background:var(--color-white);font-family:inherit;font-size:13px;font-weight:500;color:var(--color-ink);cursor:pointer;transition:border-color .15s,background .15s;white-space:nowrap}.nodo-agent-selector-trigger:hover{border-color:var(--color-blue);background:var(--color-surface)}.nodo-agent-selector-emoji{font-size:15px}.nodo-agent-selector-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.nodo-agent-selector-caret{font-size:10px;color:var(--color-muted)}.nodo-agent-selector-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:200;min-width:180px;background:var(--color-white);border:1px solid var(--color-line);border-radius:10px;box-shadow:0 4px 16px #102d371f;padding:4px;animation:nodo-dropdown-in .15s ease}@keyframes nodo-dropdown-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.nodo-agent-selector-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;font-family:inherit;font-size:13px;color:var(--color-ink);cursor:pointer;border-radius:6px;transition:background .12s}.nodo-agent-selector-option:hover{background:var(--color-surface)}.nodo-agent-selector-option.active{background:var(--color-surface);font-weight:600;color:var(--color-blue)}.nodo-detail-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-line);margin-bottom:16px;overflow-x:auto}.nodo-detail-tab{flex-shrink:0;padding:8px 14px;font-size:13px;font-family:inherit;color:var(--color-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .12s,border-color .12s;white-space:nowrap}.nodo-detail-tab:hover{color:var(--color-ink)}.nodo-detail-tab.active{color:var(--color-blue);border-bottom-color:var(--color-blue);font-weight:600}.nodo-detail-tab-content{flex:1;overflow-y:auto}.nodo-detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 20px;color:var(--color-muted);font-size:14px;text-align:center}.nodo-detail-timeline{padding:8px 0}.nodo-detail-timeline-item{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:13px}.nodo-detail-timeline-time{width:48px;flex-shrink:0;font-weight:600;color:var(--color-blue);font-size:12px}.nodo-detail-timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--color-cyan);flex-shrink:0;position:relative}.nodo-detail-timeline-item:not(:last-child) .nodo-detail-timeline-dot:after{content:"";position:absolute;top:10px;left:3px;width:2px;height:20px;background:var(--color-line)}.nodo-detail-timeline-text{color:var(--color-ink)}@media(min-width:1280px){.nodo-detail-panel--enhanced{width:360px;position:fixed;top:0;right:0;bottom:0;border-radius:0;border-left:1px solid var(--color-line);animation:nodo-detail-slide-in .2s ease}@keyframes nodo-detail-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.nodo-detail-overlay:has(.nodo-detail-panel--enhanced){background:#102d3714}}@media(max-width:767px){.nodo-qa-grid{grid-template-columns:repeat(3,1fr)}.nodo-agent-chat{height:calc(100dvh - 130px);max-height:calc(100dvh - 130px);border-radius:0;border:none}.nodo-agent-selector-label{display:none}.nodo-agent-selector-trigger{padding:6px 8px}}@media(max-width:480px){.nodo-qa-grid{grid-template-columns:repeat(2,1fr)}.nodo-qa-button{padding:10px 6px;font-size:11px}.nodo-chat-message{max-width:92%}}.dh-hub{max-width:960px;margin:0 auto}.dh-header{margin-bottom:2rem}.dh-title{font-size:1.5rem;font-weight:700;color:var(--color-ink, #102D37);margin:0 0 .5rem}.dh-subtitle{color:var(--color-muted, #5F747B);font-size:.9rem;line-height:1.5;margin:0 0 1rem}.dh-count-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--color-muted, #5F747B);background:var(--color-surface, #E8EFED);padding:.35rem .8rem;border-radius:20px}.dh-count-num{font-weight:800;color:var(--color-blue, #17647A);font-size:1rem}.dh-sectors{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem;padding:.3rem;background:var(--color-surface, #E8EFED);border-radius:10px}.dh-sector-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border:none;border-radius:7px;background:transparent;font-size:.78rem;font-weight:600;font-family:inherit;color:var(--color-muted, #5F747B);cursor:pointer;transition:all .15s;white-space:nowrap}.dh-sector-btn:hover{background:#fff9;color:var(--color-ink, #102D37)}.dh-sector-btn--active{background:var(--color-white, #FFFFFF);color:var(--color-blue, #17647A);box-shadow:0 1px 4px #00000014}.dh-sector-icon{font-size:1rem}.dh-sector-count{font-size:.62rem;font-weight:800;background:#17647a1a;color:var(--color-blue, #17647A);padding:.1rem .35rem;border-radius:8px;min-width:16px;text-align:center}.dh-card--custom{border-style:dashed;border-color:var(--color-cyan, #27A9BF);background:#27a9bf08}.dh-card--custom:hover{border-color:var(--color-blue, #17647A);background:#27a9bf0f}.dh-card-custom-sectors{font-size:.72rem;color:var(--color-muted, #5F747B);line-height:1.5;padding:.5rem 0;font-style:italic}.dh-card-btn--custom{display:block;background:var(--color-cyan, #27A9BF);text-decoration:none}.dh-card-btn--custom:hover{background:#1e8a9d}.dh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.dh-card{background:var(--color-white, #FFFFFF);border:1px solid var(--color-line, #B9C8C8);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .2s,box-shadow .2s,transform .2s;animation:dhCardIn .4s ease both}@keyframes dhCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dh-card:hover{border-color:var(--color-blue, #17647A);box-shadow:0 4px 20px #17647a1a;transform:translateY(-2px)}.dh-card-top{display:flex;justify-content:space-between;align-items:center}.dh-card-icon{font-size:1.6rem}.dh-card-num{font-family:var(--font-mono, monospace);font-size:.7rem;font-weight:800;color:var(--color-blue, #17647A);background:#17647a14;padding:.2rem .5rem;border-radius:4px;letter-spacing:.06em}.dh-card-sector{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-cyan, #27A9BF)}.dh-card-title{font-size:1rem;font-weight:700;color:var(--color-ink, #102D37);margin:0;line-height:1.3}.dh-card-desc{font-size:.8rem;color:var(--color-muted, #5F747B);line-height:1.45;margin:0;flex:1}.dh-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.75rem 0;border-top:1px solid var(--color-line, #B9C8C8);border-bottom:1px solid var(--color-line, #B9C8C8)}.dh-card-metric{text-align:center}.dh-card-metric-val{display:block;font-size:.95rem;font-weight:700;color:var(--color-blue, #17647A)}.dh-card-metric-lbl{display:block;font-size:.62rem;color:var(--color-muted, #5F747B);text-transform:uppercase;letter-spacing:.04em;margin-top:.1rem}.dh-card-tags{display:flex;flex-wrap:wrap;gap:.35rem}.dh-card-tag{font-size:.62rem;font-weight:600;padding:.15rem .5rem;border-radius:10px;background:var(--color-surface, #E8EFED);color:var(--color-muted, #5F747B);letter-spacing:.02em}.dh-card-btn{margin-top:auto;padding:.6rem 1rem;border:none;border-radius:8px;background:var(--color-blue, #17647A);color:#fff;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,transform .1s;text-align:center}.dh-card-btn:hover{background:#125564;transform:scale(1.01)}.dh-card-btn:active{transform:scale(.98)}.dh-expand-note{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;background:#27a9bf0f;border:1px dashed var(--color-cyan, #27A9BF);border-radius:8px;font-size:.78rem;color:var(--color-muted, #5F747B);line-height:1.4}.dh-expand-icon{font-size:1.1rem;flex-shrink:0}.dh-active{max-width:720px;margin:0 auto}.dh-back-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:1px solid var(--color-line, #B9C8C8);border-radius:6px;background:var(--color-white, #FFFFFF);color:var(--color-muted, #5F747B);font-size:.82rem;font-family:inherit;cursor:pointer;margin-bottom:1.5rem;transition:color .15s,border-color .15s}.dh-back-btn:hover{color:var(--color-ink, #102D37);border-color:var(--color-ink, #102D37)}.dh-active-header{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.dh-active-icon{font-size:2rem;flex-shrink:0}.dh-active-title{font-size:1.3rem;font-weight:700;color:var(--color-ink, #102D37);margin:0 0 .4rem}.dh-active-desc{font-size:.85rem;color:var(--color-muted, #5F747B);line-height:1.5;margin:0}.dh-active-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.dh-metric{background:var(--color-white, #FFFFFF);border:1px solid var(--color-line, #B9C8C8);border-radius:8px;padding:1rem;text-align:center}.dh-metric-value{font-size:1.4rem;font-weight:700;color:var(--color-blue, #17647A)}.dh-metric-label{font-size:.7rem;color:var(--color-muted, #5F747B);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.dh-active-demo{border:1px solid var(--color-line, #B9C8C8);border-radius:12px;overflow:hidden}@media(max-width:640px){.dh-grid{grid-template-columns:1fr}.dh-active-header{flex-direction:column}.dh-active-metrics{grid-template-columns:1fr}.dh-card-metrics{grid-template-columns:1fr;gap:.3rem}.dh-sectors{gap:.25rem}.dh-sector-btn{padding:.4rem .6rem;font-size:.7rem}}
