.cytoscape-navigator{position:fixed;border:1px solid #000;background:#fff;z-index:99999;width:400px;height:400px;bottom:0;right:0;overflow:hidden}.cytoscape-navigator>img{max-width:100%;max-height:100%}.cytoscape-navigator>canvas{position:absolute;top:0;left:0;z-index:101}.cytoscape-navigatorView{position:absolute;top:0;left:0;cursor:move;background:#b7e1ed;-moz-opacity:.5;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=50);z-index:102}.cytoscape-navigatorOverlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:103}.pilotage-stat-row{display:flex;justify-content:space-between;align-items:center;padding:4px 10px;font-size:12px;color:var(--sm-text-primary, #1A1A1A)}.pilotage-stat-label{color:var(--sm-text-secondary, #5F5E5A)}.pilotage-stat-value{font-weight:600;color:var(--sm-text-primary, #1A1A1A);font-variant-numeric:tabular-nums}.pilotage-stat-value--accent{color:var(--sm-primary, #10B981)}.pilotage-filter-label{display:block;font-size:11px;color:var(--sm-text-secondary, #5F5E5A);margin:6px 10px 2px}.pilotage-filter-select{width:calc(100% - 20px);margin:0 10px 4px}.pilotage-filter-reset{display:inline-flex;align-items:center;gap:4px;margin:8px 10px 0;padding:4px 6px;background:transparent;border:none;border-radius:6px;font-size:11px;font-weight:500;color:var(--sm-text-secondary, #5F5E5A);cursor:pointer;transition:background .12s ease,color .12s ease}.pilotage-filter-reset:hover{background:var(--sm-bg-hover, #F3F4F6);color:var(--sm-text-primary, #1A1A1A)}:root[data-theme=dark] .pilotage-filter-reset{color:#c0c0c8}:root[data-theme=dark] .pilotage-filter-reset:hover{background:#2a2a2a;color:#fff}.pilotage-page__header{display:flex;justify-content:space-between;align-items:center;gap:16px}.pilotage-page__title-block{flex:1;min-width:0}.pilotage-page__header .btn{flex-shrink:0}.pilotage-main{flex:1;overflow-y:auto;padding:16px 24px 24px;background:#fafbfc}.pilotage-empty{text-align:center;padding:48px 20px;color:var(--sm-text-secondary, #5F5E5A);font-size:14px}.sm-empty-filter{text-align:center;padding:48px 20px;display:flex;flex-direction:column;align-items:center;gap:8px}.sm-empty-filter__msg{margin:0;font-size:14px;color:var(--sm-text-secondary, #5F5E5A)}.sm-empty-filter__reset{background:transparent;border:none;color:var(--sm-primary, #10B981);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;text-decoration:underline;text-underline-offset:3px;font-family:inherit;transition:color .12s ease}.sm-empty-filter__reset:hover{color:var(--sm-primary-hover, #059669)}.pilotage-group{margin-bottom:24px}.pilotage-group__header{display:flex;align-items:center;gap:8px;background:transparent;border:none;padding:6px 4px;cursor:pointer;width:100%;text-align:left;border-bottom:1px solid #E5E5E0;margin-bottom:12px}.pilotage-group__title{font-size:12px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);text-transform:uppercase;letter-spacing:.04em}.pilotage-group__count{font-size:11px;color:var(--sm-text-secondary, #5F5E5A);background:#f3f4f6;padding:2px 8px;border-radius:999px;margin-left:auto}.pilotage-group__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.initiative-card{position:relative;background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease;box-shadow:0 1px 2px #00000008}.initiative-card:hover{border-color:var(--sm-primary, #10B981);box-shadow:0 2px 8px #10b98114;transform:translateY(-1px)}.initiative-card{position:relative}.initiative-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}.initiative-card__title{margin:0;padding-right:32px;font-size:14px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);line-height:1.3}.initiative-card__state-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0 10px}.initiative-card__status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.initiative-card__status-badge--not_started{background:#f3f4f6;color:#6b7280}.initiative-card__status-badge--in_progress{background:#dbeafe;color:#1e40af}.initiative-card__status-badge--paused{background:#fef3c7;color:#92400e}.initiative-card__status-badge--done{background:#d1fae5;color:#065f46}.initiative-card__status-badge--abandoned{background:#fee2e2;color:#dc2626}:root[data-theme=dark] .initiative-card__status-badge--not_started{background:#9ca3af2e;color:#d1d5db}:root[data-theme=dark] .initiative-card__status-badge--in_progress{background:#2563eb2e;color:#93c5fd}:root[data-theme=dark] .initiative-card__status-badge--paused{background:#d977062e;color:#fcd34d}:root[data-theme=dark] .initiative-card__status-badge--done{background:#10b9812e;color:#6ee7b7}:root[data-theme=dark] .initiative-card__status-badge--abandoned{background:#dc26262e;color:#fca5a5}.initiative-card__priority{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.initiative-card__ai-badge{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#f3e8ff;color:#7c3aed;border-radius:999px;cursor:help;z-index:2}:root[data-theme=dark] .initiative-card__ai-badge{background:#7c3aed2e;color:#c4b5fd}.initiative-card__meta-row{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 10px;font-size:12px;color:var(--sm-text-secondary, #5F5E5A)}.initiative-card__meta{display:inline-flex;align-items:center;gap:4px}.initiative-card__map-source{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:11px;color:var(--sm-text-secondary, #5F5E5A)}.initiative-card__map-source-label{flex-shrink:0;font-weight:500}.initiative-card__map-source-badges{display:inline-flex;flex-wrap:wrap;gap:4px;min-width:0}.initiative-card__progress{display:flex;align-items:center;gap:8px;margin-bottom:8px}.initiative-card__progress-bar{flex:1;height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden}.initiative-card__progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);transition:width .2s ease}.initiative-card__progress-label{font-size:11px;font-weight:600;color:var(--sm-text-secondary, #5F5E5A);font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.initiative-card__links{display:flex;flex-wrap:wrap;gap:6px}.initiative-card__link-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:#f3f4f6;border-radius:999px;font-size:10px;color:var(--sm-text-secondary, #5F5E5A);font-weight:500}.process-view:has(>.pilotage-edit-drawer){position:relative}.pilotage-edit-drawer{top:24px;z-index:50}.pilotage-audit-line{margin:16px 0 0;font-size:11px;color:var(--sm-text-secondary, #888780);font-style:italic;line-height:1.5}.sm-nav__divider{width:1px;background:#d3d1c7;height:20px;align-self:center;margin:0 12px}.sm-card__initiative-badge{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--sm-primary, #10B981);border:2px solid white;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:transform .15s ease;box-shadow:0 2px 4px #10b98133}.sm-card__initiative-badge:hover{transform:scale(1.15)}.initiatives-tooltip{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;padding:10px 12px;box-shadow:0 4px 16px #0000001a;z-index:50;min-width:240px;max-width:320px}.initiatives-tooltip__title{font-size:11px;font-weight:600;color:var(--sm-text-secondary, #5F5E5A);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.initiatives-tooltip__item{display:flex;justify-content:space-between;gap:8px;padding:4px 0;font-size:12px;color:var(--sm-text-primary, #1A1A1A);border-bottom:1px solid #F3F4F6}.initiatives-tooltip__item:last-child{border-bottom:none}.initiatives-tooltip__progress{font-size:11px;color:var(--sm-text-secondary, #5F5E5A);font-variant-numeric:tabular-nums}.initiatives-tooltip__more{margin-top:6px;font-size:11px;color:var(--sm-primary, #10B981);font-weight:500;font-style:italic}.linked-initiatives-section{margin-top:16px}.linked-initiative-mini{display:block;padding:8px 10px;margin-bottom:6px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;cursor:pointer;transition:border-color .12s ease}.linked-initiative-mini:hover{border-color:var(--sm-primary, #10B981)}.linked-initiative-mini__title-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.linked-initiative-mini__title{font-size:13px;font-weight:500;color:var(--sm-text-primary, #1A1A1A)}.linked-initiative-mini__meta{font-size:11px;color:var(--sm-text-secondary, #5F5E5A);margin-bottom:4px}.linked-initiative-mini__progress-bar{height:4px;background:#f3f4f6;border-radius:2px;overflow:hidden}.linked-initiative-mini__progress-fill{height:100%;background:var(--sm-primary, #10B981)}.linked-initiatives-empty{font-size:12px;color:var(--sm-text-secondary, #888780);font-style:italic;margin:6px 0}:root[data-theme=dark] .pilotage-main{background:#1a1a1a}:root[data-theme=dark] .initiative-card{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .initiative-card:hover{background:#2d2d2d}:root[data-theme=dark] .pilotage-group__header{background:transparent}:root[data-theme=dark] .pilotage-group__count{background:#2d2d2d;color:#a0a0a0}:root[data-theme=dark] .pilotage-edit-drawer,:root[data-theme=dark] .pilotage-page__header{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .sm-nav__divider{background:#3a3a3a}:root[data-theme=dark] .pilotage-progress-bar{background:#2d2d2d}:root[data-theme=dark] .pilotage-stat-row{background:transparent}:root[data-theme=dark] .sm-empty-filter{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .initiatives-tooltip{background:#2a2a2a;border-color:#3a3a3a;box-shadow:0 4px 16px #0006}:root[data-theme=dark] .initiatives-tooltip__item{border-bottom-color:#3a3a3a}:root[data-theme=dark] .linked-initiative-mini{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .linked-initiative-mini:hover{border-color:#34d399}.pilotage-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.pilotage-kpi-row .kpi-card{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);padding:12px}.pilotage-kpi-label-with-badge{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;width:100%}.pilotage-kpi-label-text{flex:1;min-width:0}.pilotage-kpi-row .kpi-icon-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.pilotage-kpi-row .kpi-icon-label-text{flex:1;min-width:0}.pilotage-kpi-row .kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.pilotage-kpi-row .kpi-icon--portfolio{background:#f5f3ff;color:#8b5cf6}.pilotage-kpi-row .kpi-icon--overdue{background:#fffbeb;color:#f59e0b}.pilotage-kpi-row .kpi-icon--progress{background:#f0fdf4;color:#10b981}.pilotage-kpi-row .kpi-icon--priority{background:#fffbeb;color:#f59e0b}.pilotage-kpi-row .kpi-icon--due{background:#eff6ff;color:#3b82f6}.pilotage-kpi-badge{font-size:9px;font-weight:600;letter-spacing:.06em;padding:2px 8px;border-radius:999px;white-space:nowrap;flex-shrink:0}.pilotage-kpi-badge--ok{background:var(--tint-success-bg);color:var(--tint-success-fg)}.pilotage-kpi-badge--warn{background:var(--tint-warning-bg);color:var(--tint-warning-fg)}.pilotage-kpi-badge--crit{background:var(--tint-danger-bg);color:var(--tint-danger-fg)}@media (max-width: 1200px){.pilotage-kpi-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 760px){.pilotage-kpi-row{grid-template-columns:repeat(2,1fr)}}.pilotage-kpi-pills{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:2px}.pilotage-kpi-pill{font-size:var(--text-2xs, 10px);color:var(--color-text-secondary, #6B6B68);white-space:nowrap}.pilotage-kpi-progress{display:block;width:100%;height:4px;background:var(--color-bg-hover, #F3F4F6);border-radius:999px;margin:4px 0;overflow:hidden}.pilotage-kpi-progress-fill{display:block;height:100%;background:linear-gradient(90deg,#a7f3d0,#10b981);background-color:#10b981;border-radius:999px;transition:width .24s ease}.pilotage-kpi-list{display:flex;flex-direction:column;gap:1px;margin-top:2px}.pilotage-kpi-list-item{font-size:var(--text-2xs, 10px);color:var(--color-text-secondary, #6B6B68);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pilotage-kpi-list-more{font-size:var(--text-2xs, 10px);color:var(--color-text-tertiary, #9C9B96);font-style:italic}:root[data-theme=dark] .pilotage-kpi-progress{background:#ffffff1f}.pilotage-timeline{background:var(--color-bg-card, #FFFFFF);border:1px solid var(--color-border-subtle, #E5E5E0);border-radius:var(--radius-lg, 8px);padding:12px 14px;margin-bottom:20px}.pilotage-timeline__header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pilotage-timeline__title-block{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0}.pilotage-timeline__title{font-size:var(--text-md, 14px);font-weight:600;margin:0;color:var(--color-text-primary, #1A1A1A);text-transform:uppercase;letter-spacing:.04em}.pilotage-timeline__count{font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #6B6B68)}.pilotage-timeline__range{display:inline-flex;border:1px solid var(--color-border-subtle, #E5E5E0);border-radius:var(--radius-md, 4px);overflow:hidden;background:var(--color-bg-card, #FFFFFF)}.pilotage-timeline__range-btn{padding:4px 10px;font-size:var(--text-xs, 11px);background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary, #6B6B68);border-right:1px solid var(--color-border-subtle, #E5E5E0);font-family:inherit;transition:background .12s ease,color .12s ease}.pilotage-timeline__range-btn:last-child{border-right:none}.pilotage-timeline__range-btn:hover{background:var(--color-bg-card-subtle, #F1EFE8)}.pilotage-timeline__range-btn--active{background:var(--sm-primary, #10B981);color:#fff}.pilotage-timeline__range-btn--active:hover{background:var(--sm-primary-hover, #059669);color:#fff}.pilotage-timeline__toggle{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:var(--text-xs, 11px);background:transparent;border:1px solid var(--color-border-subtle, #E5E5E0);border-radius:var(--radius-md, 4px);cursor:pointer;color:var(--color-text-secondary, #6B6B68);font-family:inherit;transition:background .12s ease}.pilotage-timeline__toggle:hover{background:var(--color-bg-card-subtle, #F1EFE8)}.pilotage-timeline__hide-completed{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #6B6B68);cursor:pointer;-webkit-user-select:none;user-select:none}.pilotage-timeline__hide-completed input[type=checkbox]{margin:0;cursor:pointer}.pilotage-timeline__body{margin-top:12px}.pilotage-timeline__empty{text-align:center;padding:24px 12px;color:var(--color-text-secondary, #6B6B68);font-size:var(--text-xs, 11px);font-style:italic}.pilotage-timeline__axis-row{display:grid;grid-template-columns:200px 1fr 50px;gap:12px;border-bottom:1px solid var(--color-border-subtle, #E5E5E0);margin-bottom:6px;padding-bottom:4px}.pilotage-timeline__axis{position:relative;height:16px}.pilotage-timeline__axis-tick{position:absolute;font-size:var(--text-2xs, 10px);color:var(--color-text-tertiary, #9C9B96);white-space:nowrap;transform:translate(-50%);-webkit-user-select:none;user-select:none}.pilotage-timeline__rows{position:relative;display:flex;flex-direction:column;gap:0px}.pilotage-timeline__show-more{align-self:flex-start;margin-top:8px;background:transparent;border:1px solid var(--sm-border);border-radius:var(--sm-radius-md);padding:6px 12px;font-size:12px;font-weight:500;color:var(--sm-text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.pilotage-timeline__show-more:hover{background:var(--sm-bg-subtle);color:var(--sm-text-primary)}.pilotage-timeline__row{display:grid;grid-template-columns:200px 1fr 50px;gap:12px;align-items:center;height:25px;flex-shrink:0;position:relative}.pilotage-timeline__row-label-col{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.pilotage-timeline__row-label{flex:1;min-width:0;font-size:var(--text-xs, 11px);color:var(--color-text-primary, #1A1A1A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pilotage-timeline__status-badge{flex-shrink:0;font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:999px;white-space:nowrap}.pilotage-timeline__status-badge--in_progress{background:#b5d4f4;color:#0c447c}.pilotage-timeline__status-badge--not_started,.pilotage-timeline__status-badge--paused{background:#d3d1c7;color:#2c2c2a}.pilotage-timeline__status-badge--done{background:#c0dd97;color:#27500a}.pilotage-timeline__status-badge--abandoned{background:#fee2e2;color:#dc2626}:root[data-theme=dark] .pilotage-timeline__status-badge--abandoned{background:#dc26262e;color:#fca5a5}.pilotage-timeline__status-badge--unscheduled{background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-secondary, #6B6B68)}.pilotage-timeline__progress-pct{font-size:var(--text-xs, 11px);font-weight:500;text-align:right;color:var(--color-text-secondary, #6B6B68);font-variant-numeric:tabular-nums}.pilotage-timeline__progress-pct--none{color:var(--color-text-tertiary, #9C9B96);font-style:italic}.pilotage-timeline__track{position:relative;height:12px;background:var(--color-bg-hover, #F3F4F6);border-radius:999px}.pilotage-timeline__bar{position:absolute;top:0;bottom:0;border-radius:999px;border:none;cursor:pointer;font-size:var(--text-2xs, 10px);font-weight:500;padding:0 8px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-align:left;font-family:inherit;transition:filter .12s ease,transform .12s ease;min-width:4px;box-sizing:border-box}.pilotage-timeline__bar--in_progress{background:#b5d4f4;color:#0c447c;border:.5px solid #378ADD}.pilotage-timeline__bar--not_started{background:#f1efe8;color:#2c2c2a;border:.5px solid #B4B2A9}.pilotage-timeline__bar--paused{background:#f1efe8;color:#2c2c2a;border:.5px solid #B4B2A9;opacity:.7}.pilotage-timeline__bar--done{background:#c0dd97;color:#27500a;border:.5px solid #639922}.pilotage-timeline__bar--abandoned{background:#f1efe8;color:var(--color-text-tertiary, #9C9B96);border:.5px solid #B4B2A9;opacity:.5}.pilotage-timeline__bar--unscheduled{background:transparent;border:1px dashed #B4B2A9;left:0;width:100%;color:var(--color-text-tertiary, #9C9B96)}.pilotage-timeline__bar:hover{filter:brightness(.96);transform:translateY(-1px)}.pilotage-timeline__bar:focus-visible{outline:2px solid var(--sm-primary, #10B981);outline-offset:1px}.pilotage-timeline__bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.pilotage-timeline__overlay{position:absolute;left:212px;right:62px;top:0;bottom:0;pointer-events:none}.pilotage-timeline__today{position:absolute;top:0;bottom:0;width:2px;background:var(--sm-primary, #10B981);border-radius:1px;pointer-events:auto;cursor:help}:root[data-theme=dark] .pilotage-timeline{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .pilotage-timeline__title{color:#f0f0f0}:root[data-theme=dark] .pilotage-timeline__count,:root[data-theme=dark] .pilotage-timeline__axis-tick{color:#9c9b96}:root[data-theme=dark] .pilotage-timeline__range,:root[data-theme=dark] .pilotage-timeline__toggle{background:#2d2d2d;border-color:#3a3a3a}:root[data-theme=dark] .pilotage-timeline__range-btn{border-right-color:#3a3a3a;color:#b0b0b0}:root[data-theme=dark] .pilotage-timeline__range-btn:hover,:root[data-theme=dark] .pilotage-timeline__toggle:hover{background:#353535}:root[data-theme=dark] .pilotage-timeline__axis-row{border-bottom-color:#3a3a3a}:root[data-theme=dark] .pilotage-timeline__row-label{color:#e5e5e5}:root[data-theme=dark] .pilotage-timeline__track{background:#ffffff0f}:root[data-theme=dark] .pilotage-timeline__progress-pct{color:#9c9b96}:root[data-theme=dark] .pilotage-timeline__empty{color:#9c9b96}@media (max-width: 900px){.pilotage-timeline__axis-row,.pilotage-timeline__row{grid-template-columns:140px 1fr 40px;gap:8px}.pilotage-timeline__overlay{left:148px;right:48px}}.import-from-map-modal{max-width:560px}.import-selection{margin:12px 0 4px;display:flex;flex-direction:column;gap:8px}.import-selection-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.import-selection-search{flex:1 1 200px;min-width:0;padding:6px 10px;font-size:13px;color:var(--sm-text-primary, #1A1A1A);background:var(--sm-bg-default, #FFFFFF);border:1px solid var(--sm-border, #E5E7EB);border-radius:6px;font-family:inherit}.import-selection-search:focus{outline:none;border-color:var(--brand-green, #06A85F)}.import-selection-search:disabled{opacity:.55;cursor:not-allowed}.import-selection-link{padding:4px 8px;font-size:12px;font-weight:500;color:var(--brand-green, #06A85F);background:transparent;border:none;cursor:pointer;font-family:inherit;border-radius:4px}.import-selection-link:hover:not(:disabled){background:var(--sm-bg-hover, #F4F4F5)}.import-selection-link:disabled{opacity:.45;cursor:not-allowed}.import-selection-count{font-size:12.5px;color:var(--sm-text-secondary, #6B7280);padding:2px}.import-selection-excluded{color:#b45309;font-weight:500}:root[data-theme=dark] .import-selection-excluded{color:#fcd34d}.import-selection-list{list-style:none;margin:0;padding:4px 0;max-height:240px;overflow-y:auto;background:var(--sm-bg-subtle, #F9FAFB);border:1px solid var(--sm-border, #E5E7EB);border-radius:6px}.import-selection-list li{margin:0}.import-selection-row{display:flex;align-items:center;gap:10px;padding:6px 12px;font-size:13px;color:var(--sm-text-primary, #1A1A1A);cursor:pointer}.import-selection-row:hover{background:var(--sm-bg-hover, #F4F4F5)}.import-selection-row input[type=checkbox]{margin:0;flex-shrink:0;cursor:pointer}.import-selection-row input[type=checkbox]:disabled{cursor:not-allowed}.import-selection-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-selection-empty{padding:16px 12px;text-align:center;font-size:12.5px;color:var(--sm-text-muted, #9CA3AF)}.import-selection-note{margin-top:6px;padding:8px 10px;font-size:11.5px;line-height:1.4;color:var(--sm-text-secondary, #6B7280);background:var(--sm-bg-subtle, #F9FAFB);border-left:2px solid var(--sm-border, #E5E7EB);border-radius:0 4px 4px 0}:root[data-theme=dark] .import-selection-list,:root[data-theme=dark] .import-selection-note{background:#ffffff08}:root[data-theme=dark] .import-selection-search{background:#ffffff0f;color:var(--sm-text-primary, #FFFFFF)}.mii-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:10005;animation:miiFadeIn .15s ease-out both}@keyframes miiFadeIn{0%{opacity:0}to{opacity:1}}.mii-modal{background:var(--sm-bg-card, #FFFFFF);border-radius:12px;width:720px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #0f172a40;font-family:var(--font, "Inter", system-ui, sans-serif);color:var(--sm-text-primary, #1A1A1A);overflow:hidden}:root[data-theme=dark] .mii-modal{background:#1f1f23;color:#e5e5e5}.mii-header{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--sm-border, #E5E7EB)}:root[data-theme=dark] .mii-header{border-bottom-color:#3a3a3a}.mii-header-icon{width:32px;height:32px;border-radius:8px;background:#10b9811f;color:#10b981;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mii-titles{flex:1;min-width:0}.mii-title{margin:0;font-size:17px;font-weight:600;line-height:1.2}.mii-subtitle{margin:4px 0 0;font-size:13px;color:var(--sm-text-muted, #6B7280);line-height:1.4}:root[data-theme=dark] .mii-subtitle{color:#a0a0a0}.mii-close{background:transparent;border:none;cursor:pointer;color:var(--sm-text-muted, #6B7280);padding:4px;border-radius:6px}.mii-close:hover:not(:disabled){background:#0000000d}.mii-close:disabled{opacity:.4;cursor:not-allowed}.mii-body{padding:18px 20px;overflow-y:auto;flex:1}.mii-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--sm-border, #E5E7EB);background:var(--sm-bg-subtle, #FAFAFA)}:root[data-theme=dark] .mii-footer{background:#1a1a1f;border-top-color:#3a3a3a}.mii-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;border-radius:6px;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:background .12s ease,color .12s ease}.mii-btn:disabled{cursor:not-allowed;opacity:.5}.mii-btn--primary{background:#10b981;color:#fff;border-color:#10b981}.mii-btn--primary:hover:not(:disabled){background:#059669;border-color:#059669}.mii-btn--ghost{background:transparent;color:var(--sm-text-primary, #1A1A1A);border-color:var(--sm-border, #E5E7EB)}.mii-btn--ghost:hover:not(:disabled){background:#0000000a}:root[data-theme=dark] .mii-btn--ghost{color:#e5e5e5;border-color:#3a3a3a}:root[data-theme=dark] .mii-btn--ghost:hover:not(:disabled){background:#ffffff0d}.mii-dropzone{border:2px dashed var(--sm-border, #D1D5DB);border-radius:12px;padding:36px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;cursor:pointer;color:var(--sm-text-muted, #6B7280);transition:border-color .12s ease,background .12s ease}.mii-dropzone:hover,.mii-dropzone:focus-visible{border-color:#10b981;background:#10b9810a;color:var(--sm-text-primary, #1A1A1A);outline:none}:root[data-theme=dark] .mii-dropzone{border-color:#3a3a3a}:root[data-theme=dark] .mii-dropzone:hover,:root[data-theme=dark] .mii-dropzone:focus-visible{color:#e5e5e5}.mii-dropzone-text{margin:4px 0 0;font-size:14px}.mii-dropzone-link{color:#10b981;font-weight:600}.mii-dropzone-formats{margin:4px 0 0;font-size:12px;color:var(--sm-text-muted, #9CA3AF)}.mii-description-field{display:flex;flex-direction:column;gap:6px}.mii-description-field label{font-size:13px;font-weight:600;color:var(--sm-text-primary, #1A1A1A)}.mii-description-textarea{width:100%;resize:vertical;min-height:160px;padding:10px 12px;border:1px solid var(--sm-border, #E5E7EB);border-radius:8px;font-size:14px;font-family:inherit;line-height:1.5;background:var(--sm-bg, #FFFFFF);color:var(--sm-text-primary, #1A1A1A)}.mii-description-textarea:focus-visible{outline:2px solid #10B981;outline-offset:1px;border-color:transparent}.mii-description-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--sm-text-secondary, #6B7280)}.mii-description-hint{flex:1 1 auto;font-style:italic}.mii-description-count{flex-shrink:0;font-variant-numeric:tabular-nums}:root[data-theme=dark] .mii-description-textarea{background:#1a1a1a;border-color:#3a3a3a;color:#e5e5e5}.mii-file-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--sm-border, #E5E7EB);border-radius:10px;background:var(--sm-bg-subtle, #FAFAFA)}:root[data-theme=dark] .mii-file-card{border-color:#3a3a3a;background:#1a1a1f}.mii-file-thumb{width:64px;height:64px;object-fit:cover;border-radius:6px;background:#00000008;flex-shrink:0}.mii-file-meta{flex:1;min-width:0;font-size:13px}.mii-file-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mii-file-size{color:var(--sm-text-muted, #6B7280);font-size:12px;margin-top:2px}.mii-file-compressing{color:#6b7280;font-size:12px;margin-top:4px;display:inline-flex;align-items:center;gap:4px}.mii-file-remove{background:transparent;border:none;color:var(--sm-text-muted, #6B7280);cursor:pointer;padding:6px;border-radius:6px}.mii-file-remove:hover:not(:disabled){background:#0000000d}.mii-file-remove:disabled{opacity:.4;cursor:not-allowed}.mii-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:36px 20px;text-align:center}.mii-spin{animation:miiSpin 1s linear infinite}@keyframes miiSpin{to{transform:rotate(360deg)}}.mii-loader-elapsed{font-size:12px;color:var(--sm-text-muted, #9CA3AF);margin-top:4px}.mii-loader-note{font-size:12px;color:var(--sm-text-muted, #6B7280);max-width:480px;line-height:1.45;margin:12px 0 0}.mii-map-name-field{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.mii-map-name-field label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--sm-text-muted, #6B7280)}.mii-map-name-field input{width:100%;padding:8px 12px;font-size:14px;font-family:inherit;color:var(--sm-text-primary, #1A1A1A);background:var(--sm-bg-card, #FFFFFF);border:1px solid var(--sm-border, #E5E7EB);border-radius:8px;outline:none;transition:border-color .12s ease}.mii-map-name-field input:focus{border-color:#10b981}:root[data-theme=dark] .mii-map-name-field input{background:#2a2a2a;border-color:#3a3a3a;color:#e5e5e5}:root[data-theme=dark] .mii-map-name-field input:focus{border-color:#10b981}.mii-map-name-hint{margin:0;font-size:12px;color:#b91c1c}:root[data-theme=dark] .mii-map-name-hint{color:#fca5a5}.mii-uncertainties{border:1px solid #F59E0B;background:#fef3c7;color:#7c2d12;border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:13px}:root[data-theme=dark] .mii-uncertainties{background:#f59e0b1f;color:#fbbf24;border-color:#f59e0b66}.mii-uncertainties-head{display:flex;align-items:center;gap:6px;font-weight:600;margin-bottom:6px}.mii-uncertainties-list{margin:0;padding-left:22px}.mii-uncertainties-list li{margin:2px 0}.mii-uncertainty-ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:#0000000f;padding:1px 4px;border-radius:3px}.mii-uncertainties-more{margin-top:6px;background:transparent;border:none;color:inherit;text-decoration:underline;cursor:pointer;padding:0;font-size:12px}.mii-summary{font-size:13px;font-weight:500;color:var(--sm-text-muted, #6B7280);margin-bottom:14px}.mii-section{margin-bottom:18px}.mii-section-title{margin:0 0 6px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--sm-text-muted, #6B7280)}.mii-empty{margin:0;font-size:12px;color:var(--sm-text-muted, #9CA3AF);font-style:italic}.mii-table-wrap{overflow-x:auto}.mii-table{width:100%;border-collapse:collapse;font-size:13px}.mii-table th{text-align:left;padding:6px 8px;font-weight:600;font-size:12px;color:var(--sm-text-muted, #6B7280);border-bottom:1px solid var(--sm-border, #E5E7EB)}.mii-table td{padding:6px 8px;border-bottom:1px solid var(--sm-border-soft, #F3F4F6)}:root[data-theme=dark] .mii-table th,:root[data-theme=dark] .mii-table td{border-bottom-color:#2a2a2a}.mii-zone-list{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.mii-zone-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--sm-bg-subtle, #F3F4F6);font-size:12px}:root[data-theme=dark] .mii-zone-pill{background:#2a2a2a}.mii-zone-dot{width:8px;height:8px;border-radius:999px;background:#94a3b8;flex-shrink:0}.mii-zone-dot--rose{background:#ec4899}.mii-zone-dot--bleu{background:#3b82f6}.mii-zone-dot--vert{background:#22c55e}.mii-zone-dot--orange{background:#f97316}.mii-zone-dot--violet{background:#8b5cf6}.mii-zone-dot--jaune{background:#eab308}.mii-zone-dot--turquoise{background:#06b6d4}.mii-zone-dot--gris{background:#6b7280}.mii-zone-dot--corail{background:#f7c1c1}.mii-zone-dot--ciel{background:#b5d4f4}.mii-zone-dot--pomme{background:#c0dd97}.mii-zone-dot--miel{background:#fac775}.mii-zone-dot--lavande{background:#cecbf6}.mii-zone-dot--menthe{background:#9fe1cb}.mii-zone-dot--poudre{background:#f4c0d1}.mii-zone-dot--sable{background:#d3d1c7}.mii-annotation-list{padding-left:22px;margin:0;font-size:13px}.mii-annotation-list li{margin:2px 0}.mii-annotation-type{font-weight:600;color:#10b981}.mii-col-actions{width:28px;text-align:right}.mii-row-delete{background:transparent;border:none;color:var(--sm-text-muted, #9CA3AF);cursor:pointer;padding:3px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;opacity:.55;transition:opacity .12s ease,background .12s ease,color .12s ease}.mii-row-delete:hover,.mii-row-delete:focus-visible{opacity:1;color:#dc2626;background:#dc262614;outline:none}:root[data-theme=dark] .mii-row-delete{color:#9ca3af}:root[data-theme=dark] .mii-row-delete:hover,:root[data-theme=dark] .mii-row-delete:focus-visible{color:#fca5a5;background:#dc262626}.mii-row-delete--inline{margin-left:6px;vertical-align:middle}.mii-crit{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap}.mii-crit--low{color:#166534;background:#dcfce7;border:1px solid #86EFAC}.mii-crit--medium{color:#92400e;background:#fef3c7;border:1px solid #FCD34D}.mii-crit--high{color:#991b1b;background:#fee2e2;border:1px solid #FCA5A5}.mii-crit-none{color:var(--sm-text-muted, #9CA3AF)}:root[data-theme=dark] .mii-crit--low{color:#86efac;background:#22c55e26;border-color:#22c55e59}:root[data-theme=dark] .mii-crit--medium{color:#fcd34d;background:#f59e0b26;border-color:#f59e0b59}:root[data-theme=dark] .mii-crit--high{color:#fca5a5;background:#dc262626;border-color:#dc262659}.mii-pill-delete{background:transparent;border:none;color:var(--sm-text-muted, #6B7280);cursor:pointer;padding:1px;margin-left:4px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .12s ease,color .12s ease,background .12s ease}.mii-pill-delete:hover,.mii-pill-delete:focus-visible{opacity:1;color:#dc2626;background:#dc26261a;outline:none}:root[data-theme=dark] .mii-pill-delete{color:#a0a0a0}:root[data-theme=dark] .mii-pill-delete:hover,:root[data-theme=dark] .mii-pill-delete:focus-visible{color:#fca5a5;background:#dc26262e}.mii-annotation-row{display:flex;align-items:center;gap:4px}.mii-annotation-row>.mii-name-editable{flex:1}.mii-name-editable{cursor:text;border-radius:3px;padding:1px 2px;border-bottom:1px dashed transparent;transition:background .12s ease,border-color .12s ease}.mii-name-editable:hover,.mii-name-editable:focus-visible{background:#10b98112;border-bottom-color:#10b98180;outline:none}:root[data-theme=dark] .mii-name-editable:hover,:root[data-theme=dark] .mii-name-editable:focus-visible{background:#10b9811f;border-bottom-color:#10b98199}.mii-name-input{width:100%;max-width:240px;padding:2px 6px;font-size:inherit;font-family:inherit;color:var(--sm-text-primary, #1A1A1A);background:var(--sm-bg-card, #FFFFFF);border:1px solid #10B981;border-radius:4px;outline:none}:root[data-theme=dark] .mii-name-input{background:#2a2a2a;color:#e5e5e5;border-color:#10b981}.mii-error{display:flex;align-items:center;gap:6px;margin-top:12px;padding:8px 10px;border-radius:8px;background:#dc262614;color:#b91c1c;font-size:13px}:root[data-theme=dark] .mii-error{background:#dc262626;color:#fca5a5}.mii-toast{margin-top:12px;padding:8px 10px;border-radius:8px;font-size:12px;text-align:center}.mii-toast--success{background:#10b9811f;color:#065f46}.mii-toast--error{background:#dc262614;color:#b91c1c}:root[data-theme=dark] .mii-toast--success{background:#10b98129;color:#6ee7b7}.export-png-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.export-png-modal{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:0 8px 24px #0000001f;width:100%;max-width:440px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.export-png-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--card-modern-border)}.export-png-modal-title-block{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.export-png-modal-title{margin:0;font-size:var(--text-lg, 16px);font-weight:500;color:var(--color-text-primary);line-height:1.3;display:inline-flex;align-items:center;gap:8px}.export-png-modal-subtitle{display:block;font-size:var(--text-xs, 12px);color:var(--color-text-secondary);line-height:1.4}.export-png-modal-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:999px;cursor:pointer;color:var(--color-text-secondary);transition:background .12s ease,color .12s ease}.export-png-modal-close:hover{background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-primary)}.export-png-modal-body{padding:20px;overflow-y:auto}.export-png-modal-options{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.export-png-modal-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--card-modern-border);border-radius:8px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.export-png-modal-option:hover{background:var(--color-bg-hover, #F3F4F6)}.export-png-modal-option--selected{border-color:#10b981;background:#ecfdf5}.export-png-modal-option input[type=radio]{margin:0;accent-color:#10B981}.export-png-modal-option-label{font-size:var(--text-sm, 13px);color:var(--color-text-primary)}.export-png-modal-custom{margin-top:12px;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f9fafb;border-radius:8px;font-size:var(--text-sm, 13px)}.export-png-modal-custom label{color:var(--color-text-secondary);flex:1}.export-png-modal-custom input[type=number]{width:72px;padding:4px 8px;border:1px solid var(--card-modern-border);border-radius:6px;font-size:var(--text-sm, 13px);font-variant-numeric:tabular-nums}.export-png-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--card-modern-border);background:#fafafa}.export-png-modal-btn{padding:8px 16px;border-radius:6px;font-size:var(--text-sm, 13px);font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease;border:1px solid transparent}.export-png-modal-btn--secondary{background:transparent;border-color:var(--card-modern-border);color:var(--color-text-secondary)}.export-png-modal-btn--secondary:hover{background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-primary)}.export-png-modal-btn--primary{background:#10b981;color:#fff}.export-png-modal-btn--primary:hover{background:#059669}:root[data-theme=dark] .export-png-modal{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .export-png-modal-option{border-color:#3a3a3a}:root[data-theme=dark] .export-png-modal-option:hover{background:#333}:root[data-theme=dark] .export-png-modal-option--selected{background:#10b9811f}:root[data-theme=dark] .export-png-modal-custom{background:#1f1f1f}:root[data-theme=dark] .export-png-modal-footer{background:#1f1f1f;border-top-color:#3a3a3a}.export-btn-container{position:relative;display:inline-block;z-index:100}.export-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;box-shadow:0 1px 2px #0000000a;-webkit-user-select:none;user-select:none}.export-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.export-btn:active:not(:disabled){background:#f3f4f6}.export-btn:focus-visible{outline:2px solid #1A1A1A;outline-offset:2px}.export-btn:disabled{opacity:.6;cursor:not-allowed}.export-btn-icon{flex-shrink:0;color:#4b5563}.export-btn-icon.spin{animation:export-spin .8s linear infinite}@keyframes export-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.export-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;padding:4px;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;z-index:10000;animation:export-menu-in .12s ease-out}@keyframes export-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.export-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:6px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:500;color:#1a1a1a;text-align:left;cursor:pointer;transition:background-color .1s ease}.export-menu-item:hover{background:#f3f4f6}.export-menu-item:active{background:#e5e7eb}.export-menu-item:focus-visible{outline:2px solid #1A1A1A;outline-offset:-2px}.export-menu-icon{flex-shrink:0;color:#6b7280}.import-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999;animation:import-modal-overlay-in .15s ease-out;padding:16px}@keyframes import-modal-overlay-in{0%{opacity:0}to{opacity:1}}.import-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001f,0 4px 12px #0000000f;width:480px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;animation:import-modal-in .18s ease-out}@keyframes import-modal-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.import-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid #F3F4F6}.import-modal-title{font-size:16px;font-weight:600;color:#1a1a1a;margin:0}.import-modal-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:#6b7280;cursor:pointer;transition:background-color .1s ease,color .1s ease}.import-modal-close:hover:not(:disabled){background:#f3f4f6;color:#1a1a1a}.import-modal-close:disabled{opacity:.4;cursor:not-allowed}.import-modal-close:focus-visible{outline:2px solid #1A1A1A;outline-offset:2px}.import-modal-body{padding:18px 20px;overflow-y:auto;flex:1}.import-modal-intro{margin:0 0 20px;font-size:13px;line-height:1.55;color:#4b5563}.import-step{display:flex;gap:14px;padding:14px;background:#fafafa;border:1px solid #F3F4F6;border-radius:8px;margin-bottom:12px;transition:border-color .15s ease}.import-step:last-child{margin-bottom:0}.import-step-disabled{opacity:.55}.import-step-number{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:#1a1a1a;color:#fff;border-radius:50%;font-size:12px;font-weight:600;line-height:1}.import-step-disabled .import-step-number{background:#9ca3af}.import-step-content{flex:1;min-width:0}.import-step-title{margin:0 0 4px;font-size:13px;font-weight:600;color:#1a1a1a}.import-step-description{margin:0 0 12px;font-size:12px;line-height:1.5;color:#6b7280}.import-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#1a1a1a;color:#fff;border:none;border-radius:7px;font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:background-color .15s ease,transform .05s ease}.import-btn-primary:hover:not(:disabled){background:#2d2d2d}.import-btn-primary:active:not(:disabled){transform:scale(.98)}.import-btn-primary:disabled{opacity:.5;cursor:not-allowed}.import-btn-primary:focus-visible{outline:2px solid #1A1A1A;outline-offset:2px}.import-placeholder{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px dashed #D1D5DB;border-radius:7px;font-size:12px;color:#9ca3af}.import-modal-footer{display:flex;justify-content:flex-end;padding:14px 20px;border-top:1px solid #F3F4F6;background:#fafafa}.import-btn-secondary{display:inline-flex;align-items:center;padding:8px 16px;background:#fff;color:#1a1a1a;border:1px solid #E5E7EB;border-radius:7px;font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:background-color .1s ease,border-color .1s ease}.import-btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.import-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.import-btn-secondary:focus-visible{outline:2px solid #1A1A1A;outline-offset:2px}.import-modal-wide{width:800px;max-width:96vw}.import-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 16px;background:#fafafa;border:2px dashed #D1D5DB;border-radius:10px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease;outline:none}.import-dropzone:hover{background:#f3f4f6;border-color:#9ca3af}.import-dropzone:focus-visible{border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.import-dropzone-active{background:#eff6ff;border-color:#3b82f6;border-style:solid}.import-dropzone-busy{opacity:.6;cursor:progress;pointer-events:none}.import-dropzone-icon{color:#6b7280}.import-dropzone-active .import-dropzone-icon{color:#3b82f6}.import-dropzone-text{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.import-dropzone-primary{font-size:13px;font-weight:500;color:#1a1a1a}.import-dropzone-secondary{font-size:11.5px;color:#6b7280}.import-parse-error{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 12px;background:#fef2f2;border:1px solid #FEE2E2;border-radius:7px;font-size:12px;color:#991b1b}.import-parse-error svg{flex-shrink:0;margin-top:1px}:root[data-theme=dark] [class*=import-section],:root[data-theme=dark] [class*=import-block],:root[data-theme=dark] [class*=import-dropzone],:root[data-theme=dark] [class*=import-preview]{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .import-dropzone{background:#ffffff0a;border-color:#ffffff40}:root[data-theme=dark] .import-dropzone:hover{background:#ffffff14;border-color:#fff6}:root[data-theme=dark] .import-dropzone:focus-visible{border-color:#93c5fd;box-shadow:0 0 0 3px #93c5fd33}:root[data-theme=dark] .import-dropzone-active{background:#3b82f61f;border-color:#60a5fa}:root[data-theme=dark] .import-dropzone-active .import-dropzone-icon{color:#93c5fd}:root[data-theme=dark] .import-dropzone-primary{color:#f3f4f6}:root[data-theme=dark] .import-dropzone-secondary{color:#9ca3af}:root[data-theme=dark] .import-dropzone-icon{color:#9ca3af}:root[data-theme=dark] .import-modal{background:#1f1f1f}:root[data-theme=dark] .import-modal-header{border-bottom-color:#3a3a3a}:root[data-theme=dark] .import-modal-title{color:#f3f4f6}:root[data-theme=dark] .import-modal-close{color:#9ca3af}:root[data-theme=dark] .import-modal-close:hover:not(:disabled){background:#3a3a3a;color:#f3f4f6}:root[data-theme=dark] .import-modal-body{color:#f3f4f6}:root[data-theme=dark] .import-modal-intro{color:#9ca3af}:root[data-theme=dark] .import-modal-footer{background:#2a2a2a;border-top-color:#3a3a3a}:root[data-theme=dark] .import-step{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .import-step-number{background:#4a4a4a;color:#f3f4f6}:root[data-theme=dark] .import-step-disabled .import-step-number{background:#3a3a3a}:root[data-theme=dark] .import-step-title{color:#f3f4f6}:root[data-theme=dark] .import-step-description{color:#9ca3af}:root[data-theme=dark] .import-btn-secondary{background:#2a2a2a;color:#f3f4f6;border-color:#3a3a3a}:root[data-theme=dark] .import-btn-secondary:hover:not(:disabled){background:#3a3a3a;border-color:#4a4a4a}.import-preview{display:flex;flex-direction:column;gap:14px;min-height:400px}.import-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f9fafb;border:1px solid #F3F4F6;border-radius:8px}.import-preview-filename{font-size:12.5px;font-weight:500;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-preview-reset{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:transparent;border:1px solid #E5E7EB;border-radius:6px;font-family:inherit;font-size:11.5px;color:#4b5563;cursor:pointer;transition:background-color .1s ease,border-color .1s ease;white-space:nowrap;flex-shrink:0}.import-preview-reset:hover{background:#fff;border-color:#d1d5db;color:#1a1a1a}.import-preview-counters{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.import-counter{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:7px;font-size:12px;border:1px solid transparent}.import-counter-create{background:#f0fdf4;border-color:#d1fae5;color:#065f46}.import-counter-update{background:#eff6ff;border-color:#dbeafe;color:#1e40af}.import-counter-warning{background:#fffbeb;border-color:#fef3c7;color:#92400e}.import-counter-error{background:#fef2f2;border-color:#fee2e2;color:#991b1b}.import-counter-value{font-size:15px;font-weight:700;line-height:1}.import-counter-label{font-size:11.5px;opacity:.85}.import-preview-tabs{display:flex;gap:2px;border-bottom:1px solid #E5E7EB}.import-preview-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:none;border-bottom:2px solid transparent;font-family:inherit;font-size:12.5px;font-weight:500;color:#6b7280;cursor:pointer;transition:color .1s ease,border-color .1s ease;margin-bottom:-1px}.import-preview-tab:hover{color:#1a1a1a}.import-preview-tab.active{color:#1a1a1a;border-bottom-color:#1a1a1a}.import-preview-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;background:#f3f4f6;border-radius:10px;font-size:10.5px;font-weight:600;color:#4b5563}.import-preview-tab.active .import-preview-tab-count{background:#1a1a1a;color:#fff}.import-preview-table-wrapper{flex:1;max-height:360px;overflow-y:auto;border:1px solid #F3F4F6;border-radius:8px}.import-preview-empty{padding:32px 16px;text-align:center;color:#9ca3af;font-size:12.5px}.import-preview-table{width:100%;border-collapse:collapse;font-size:12px}.import-preview-table thead th{position:sticky;top:0;background:#f9fafb;padding:8px 10px;text-align:left;font-weight:600;font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #E5E7EB;z-index:1}.import-preview-table tbody td{padding:8px 10px;border-bottom:1px solid #F3F4F6;vertical-align:top}.import-preview-row:last-child td{border-bottom:none}.import-preview-row-num{color:#9ca3af;font-variant-numeric:tabular-nums;font-size:11.5px}.import-preview-row-create{background:#f0fdf466}.import-preview-row-update{background:#eff6ff66}.import-preview-row-error{background:#fef2f280}.import-preview-name{font-weight:500;color:#1a1a1a}.import-preview-error-text{color:#991b1b;font-weight:400}.import-preview-details{color:#4b5563}.import-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:11px;font-size:10.5px;font-weight:600;letter-spacing:.01em}.import-badge-create{background:#d1fae5;color:#065f46}.import-badge-update{background:#dbeafe;color:#1e40af}.import-badge-error{background:#fee2e2;color:#991b1b}.import-preview-chip{display:inline-block;padding:1px 7px;margin:0 4px 3px 0;background:#f3f4f6;border-radius:4px;font-size:11px;color:#4b5563}.import-warnings{list-style:none;padding:0;margin:6px 0 0}.import-warning-item{display:flex;align-items:flex-start;gap:5px;padding:2px 0;font-size:11px;color:#92400e}.import-warning-item svg{flex-shrink:0;margin-top:1px}.import-warning-item strong{font-weight:600}.import-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid #F3F4F6;margin-top:4px}.import-preview-footer-info{font-size:11.5px;color:#6b7280;flex:1;min-width:0}.import-preview-footer-warning{display:inline-flex;align-items:center;gap:5px;color:#991b1b;font-weight:500}.import-preview-footer-actions{display:flex;gap:8px;flex-shrink:0}.import-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;box-shadow:0 1px 2px #0000000a;-webkit-user-select:none;user-select:none}.import-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.import-btn:active:not(:disabled){background:#f3f4f6}.import-btn:focus-visible{outline:2px solid #1A1A1A;outline-offset:2px}.import-btn:disabled{opacity:.6;cursor:not-allowed}.import-btn-icon{flex-shrink:0;color:#4b5563}.map-selector{position:relative;display:inline-flex;align-items:center}.map-selector-button{display:inline-flex;align-items:center;gap:12px;font-family:inherit;padding:4px;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;text-align:left;border-radius:10px;transition:background .12s ease}.map-selector-button:hover:not(:disabled){background:var(--color-bg-hover, #F3F4F6)}.map-selector-button:disabled{cursor:default;opacity:.7}.map-selector-icon-container{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.map-selector-text{display:inline-flex;flex-direction:column;gap:2px;min-width:0}.map-selector-title{display:inline-flex;align-items:center;gap:6px;font-size:18px;font-weight:500;color:var(--color-text-primary);line-height:1.2}.map-selector-title-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-selector-chevron{color:var(--color-text-secondary);flex-shrink:0}.map-selector-sub{font-size:12px;color:var(--color-text-secondary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-selector-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:280px;max-width:360px;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000014;padding:4px;z-index:100}.map-selector-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;font-family:inherit;font-size:var(--text-base);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer}.map-selector-item:hover{background:var(--color-bg-hover, #F3F4F6)}.map-selector-item.active{background:var(--color-bg-hover, #F3F4F6);font-weight:500}.map-selector-item-icon{width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.map-selector-item-label{flex:1;min-width:0;overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word;line-height:1.3}.map-selector-item-check{color:var(--color-text-primary);flex-shrink:0}.map-selector--light .map-selector-icon-container{width:36px;height:36px;border-radius:9px}.map-selector--light .map-selector-title{font-size:16px}.map-selector--compact{display:flex;width:100%;min-width:0;flex:1 1 auto}.map-selector--compact .map-selector{width:100%;min-width:0}.map-selector--compact .map-selector-button{width:100%;padding:4px 6px;gap:6px;border-radius:6px}.map-selector--compact .map-selector-icon-container{display:none}.map-selector--compact .map-selector-text{flex:1 1 auto;min-width:0;width:100%}.map-selector--compact .map-selector-title{font-size:16px;font-weight:500;gap:4px}.map-selector--compact .map-selector-title-label{flex:1 1 auto;min-width:0}.map-selector--compact .map-selector-chevron{width:14px;height:14px}.map-selector--compact .map-selector-dropdown{min-width:240px;left:0;right:auto}.map-status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease}.map-status-pill[disabled],.map-status-pill:disabled{cursor:default;opacity:.7}.map-status-pill-chevron{margin-left:2px}.map-status-pill--brouillon{background:#f3f4f6;color:#6b7280}.map-status-pill--brouillon:hover:not(:disabled){background:#e5e7eb}:root[data-theme=dark] .map-status-pill--brouillon{background:#9ca3af2e;color:#d1d5db}:root[data-theme=dark] .map-status-pill--brouillon:hover:not(:disabled){background:#9ca3af47}.map-status-pill--valide{background:#ccfbf1;color:#115e59}.map-status-pill--valide:hover:not(:disabled){background:#99f6e4}:root[data-theme=dark] .map-status-pill--valide{background:#14b8a62e;color:#5eead4}:root[data-theme=dark] .map-status-pill--valide:hover:not(:disabled){background:#14b8a647}.map-status-pill--a_reviser{background:#fce7f3;color:#9d174d}.map-status-pill--a_reviser:hover:not(:disabled){background:#fbcfe8}:root[data-theme=dark] .map-status-pill--a_reviser{background:#ec48992e;color:#f9a8d4}:root[data-theme=dark] .map-status-pill--a_reviser:hover:not(:disabled){background:#ec489947}.map-status-pill--archive{background:#e2e8f0;color:#475569}.map-status-pill--archive:hover:not(:disabled){background:#cbd5e1}:root[data-theme=dark] .map-status-pill--archive{background:#64748b2e;color:#cbd5e1}:root[data-theme=dark] .map-status-pill--archive:hover:not(:disabled){background:#64748b47}.map-status-icon--brouillon{background:#f3f4f6;color:#6b7280}:root[data-theme=dark] .map-status-icon--brouillon{background:#9ca3af2e;color:#d1d5db}.map-status-icon--valide{background:#ccfbf1;color:#115e59}:root[data-theme=dark] .map-status-icon--valide{background:#14b8a62e;color:#5eead4}.map-status-icon--a_reviser{background:#fce7f3;color:#9d174d}:root[data-theme=dark] .map-status-icon--a_reviser{background:#ec48992e;color:#f9a8d4}.map-status-icon--archive{background:#e2e8f0;color:#475569}:root[data-theme=dark] .map-status-icon--archive{background:#64748b2e;color:#cbd5e1}.map-status-dot{display:inline-block;width:8px;height:8px;border-radius:999px;flex-shrink:0}.map-status-dot--brouillon{background:#9ca3af}.map-status-dot--valide{background:#14b8a6}.map-status-dot--a_reviser{background:#ec4899}.map-status-dot--archive{background:#64748b}.map-status-control{position:relative;display:inline-flex}.map-status-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:180px;padding:4px;border-radius:8px;background:var(--bg, #FFFFFF);border:1px solid var(--border, #E5E7EB);box-shadow:var(--shadow-md, 0 4px 16px rgba(0,0,0,.1))}:root[data-theme=dark] .map-status-menu{background:#1e1e1e;border-color:#3a3a3a}.map-status-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border:0;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:var(--text, #1A1A1A);cursor:pointer;text-align:left}.map-status-menu-item:hover{background:var(--color-bg-hover, #F3F4F6)}:root[data-theme=dark] .map-status-menu-item{color:#e5e7eb}:root[data-theme=dark] .map-status-menu-item:hover{background:#2a2a2a}.map-status-menu-item-label{flex:1 1 auto}.map-status-menu-item-check{color:var(--text-secondary, #6B7280)}:root[data-theme=dark] .map-status-menu-item-check{color:#9ca3af}.map-selector-item-status{margin-left:auto;padding-right:6px;font-size:11px;font-weight:500;color:var(--text-secondary, #6B7280);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}:root[data-theme=dark] .map-selector-item-status{color:#9ca3af}.canvas-header-light{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:.5px solid var(--color-border-default);background:var(--color-bg-card);z-index:18}.canvas-header-light-left{display:flex;align-items:center;min-width:0;flex:1}.canvas-header-light-right{display:flex;align-items:center;gap:8px;flex-shrink:0}:root[data-theme=dark] .canvas-header-light{background:#2a2a2a;border-bottom-color:#3a3a3a}.canvas-header-light.canvas-header-light--no-selector{background:transparent;border-bottom:none;padding:8px 12px;justify-content:flex-end;pointer-events:none}.canvas-header-light.canvas-header-light--no-selector .canvas-header-light-right{pointer-events:auto}:root[data-theme=dark] .canvas-header-light.canvas-header-light--no-selector{background:transparent;border-bottom:none}.map-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;gap:14px;color:var(--sm-text-secondary, #6B7280);width:100%;height:100%}.map-empty-icon{width:64px;height:64px;border-radius:50%;background:#eeebfe;color:#5b4fe8;display:flex;align-items:center;justify-content:center}:root[data-theme=dark] .map-empty-icon{background:#2d2a4f;color:#9089f0}.map-empty-title{font-size:18px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);margin:0}:root[data-theme=dark] .map-empty-title{color:#fff}.map-empty-desc{font-size:13.5px;line-height:1.55;max-width:460px;margin:0}.map-empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}.map-empty-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .12s ease}.map-empty-btn--primary{background:#5b4fe8;color:#fff;border-color:#5b4fe8}.map-empty-btn--primary:hover:not(:disabled){background:#4a40d1}.map-empty-btn--secondary{background:linear-gradient(135deg,#eeebfe,#fff);border-color:#c7c0f9;color:#5b4fe8}.map-empty-btn--secondary:hover{background:#eeebfe}:root[data-theme=dark] .map-empty-btn--secondary{background:linear-gradient(135deg,#2d2a4f,#1e1e1e);border-color:#4a4480;color:#9089f0}:root[data-theme=dark] .map-empty-btn--secondary:hover{background:#2d2a4f}.map-empty-btn--ghost{background:transparent;color:var(--sm-text-secondary, #6B7280);border-color:var(--color-border-default, #E5E7EB)}.map-empty-btn--ghost:hover{background:var(--sm-bg-hover, #F4F4F5)}:root[data-theme=dark] .map-empty-btn--ghost{border-color:#3a3a3a}:root[data-theme=dark] .map-empty-btn--ghost:hover{background:#2a2a2a}.map-trajectory-editor{display:flex;flex-direction:column;gap:6px}.sm-section-label.map-trajectory-section-label{display:inline-flex;align-items:center;gap:6px;color:#7c3aed}:root[data-theme=dark] .sm-section-label.map-trajectory-section-label{color:#a78bfa}.map-trajectory-empty{margin:4px 0}.map-trajectory-empty-cta{width:100%;padding:10px 12px;background:transparent;border:1px dashed rgba(124,58,237,.45);border-radius:6px;font-size:12px;color:#7c3aed;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease;text-align:left;font-family:inherit}.map-trajectory-empty-cta:hover{border-color:#7c3aed;color:#6d28d9;background:#7c3aed0f}:root[data-theme=dark] .map-trajectory-empty-cta{border-color:#a78bfa80;color:#a78bfa}:root[data-theme=dark] .map-trajectory-empty-cta:hover{border-color:#a78bfa;color:#c4b5fd;background:#a78bfa14}.map-trajectory-empty-readonly{margin:4px 0 0;padding:8px 10px;font-size:12px;font-style:italic;color:var(--sm-text-muted, #9CA3AF);border:1px dashed var(--sm-border, #E5E7EB);border-radius:6px}.map-trajectory-read{display:flex;flex-direction:column;gap:6px}.map-trajectory-content{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;background:var(--sm-bg-soft, rgba(0, 0, 0, .02));border:1px solid rgba(124,58,237,.25);border-radius:6px}:root[data-theme=dark] .map-trajectory-content{border-color:#a78bfa4d}.map-trajectory-text{flex:1;margin:0;font-size:12px;line-height:1.45;color:var(--sm-text-primary, #1A1A1A);white-space:pre-wrap;word-break:break-word}.map-trajectory-text--clipped{position:relative;max-height:5em;overflow:hidden}.map-trajectory-text--with-fade:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.8em;background:linear-gradient(to bottom,#fafafb00,#fafafbfa);pointer-events:none}:root[data-theme=dark] .map-trajectory-text--with-fade:after{background:linear-gradient(to bottom,#1a1a1a00,#1a1a1afa)}.map-trajectory-toggle{align-self:flex-start;margin-top:2px;padding:2px 6px;background:transparent;border:0;border-radius:4px;color:var(--sm-text-secondary, #6B7280);font-size:11px;font-weight:500;cursor:pointer;transition:background .1s ease,color .1s ease}.map-trajectory-toggle:hover{background:var(--sm-bg-hover, #F3F4F6);color:var(--sm-text-primary, #1A1A1A)}.map-trajectory-toggle:focus-visible{outline:2px solid rgba(124,58,237,.5);outline-offset:1px}.map-trajectory-edit-btn{flex-shrink:0;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:0;border-radius:4px;color:var(--sm-text-muted, #6B7280);cursor:pointer;transition:background .1s ease,color .1s ease}.map-trajectory-edit-btn:hover{background:var(--sm-bg-hover, #F3F4F6);color:var(--sm-text-primary, #1A1A1A)}.map-trajectory-ai-hint{display:inline-flex;align-items:center;gap:6px;padding:2px 4px;font-size:10.5px;font-weight:500;color:#7c3aed}:root[data-theme=dark] .map-trajectory-ai-hint{color:#a78bfa}.map-trajectory-edit{display:flex;flex-direction:column;gap:4px}.map-trajectory-textarea{width:100%;min-height:80px;padding:8px 10px;border:1px solid var(--sm-border, #E5E7EB);border-radius:6px;font-family:inherit;font-size:12px;line-height:1.45;resize:vertical;background:var(--sm-bg-default, #FFFFFF);color:var(--sm-text-primary, #1A1A1A);box-sizing:border-box}.map-trajectory-textarea:focus{outline:none;border-color:var(--sm-primary, #10B981);box-shadow:0 0 0 2px #10b98133}.map-trajectory-counter{align-self:flex-end;font-size:10.5px;color:var(--sm-text-muted, #9CA3AF);font-variant-numeric:tabular-nums}.map-trajectory-error{padding:6px 8px;font-size:11.5px;color:#dc2626;background:#fef2f2;border:1px solid #FECACA;border-radius:4px}:root[data-theme=dark] .map-trajectory-error{color:#f87171;background:#dc26261f;border-color:#dc26264d}.map-trajectory-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:2px}.map-trajectory-btn{font-size:12px;padding:5px 12px}.map-trajectory-loading{min-height:32px}.hub-vision-wrapper{padding:16px 24px 0;max-width:1320px;margin:0 auto;width:100%;box-sizing:border-box}.hub-vision-card{margin:0 0 16px;padding:14px 16px;background:var(--sm-bg-default, #FFFFFF);border:1px solid rgba(124,58,237,.25);border-radius:8px;box-shadow:var(--sm-shadow-sm, 0 1px 2px rgba(0, 0, 0, .04))}:root[data-theme=dark] .hub-vision-card{border-color:#a78bfa4d}.hub-vision-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.hub-vision-title{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#7c3aed}:root[data-theme=dark] .hub-vision-title{color:#a78bfa}.hub-vision-edit-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:1px solid var(--sm-border, #E5E7EB);border-radius:4px;font-size:11.5px;color:var(--sm-text-muted, #6B7280);cursor:pointer;font-family:inherit;transition:background .1s ease,color .1s ease,border-color .1s ease}.hub-vision-edit-btn:hover{background:var(--sm-bg-hover, #F3F4F6);color:var(--sm-text-primary, #1A1A1A);border-color:var(--sm-border-strong, #D1D5DB)}.hub-vision-text{margin:0;font-size:13.5px;line-height:1.5;color:var(--sm-text-primary, #1A1A1A);white-space:pre-wrap;word-break:break-word}.hub-vision-empty-cta{width:100%;padding:14px 16px;background:transparent;border:1px dashed rgba(124,58,237,.45);border-radius:6px;font-size:13px;color:#7c3aed;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .12s ease,color .12s ease,background .12s ease}.hub-vision-empty-cta:hover{border-color:#7c3aed;color:#6d28d9;background:#7c3aed0f}:root[data-theme=dark] .hub-vision-empty-cta{border-color:#a78bfa80;color:#a78bfa}:root[data-theme=dark] .hub-vision-empty-cta:hover{border-color:#a78bfa;color:#c4b5fd;background:#a78bfa14}.hub-vision-empty-readonly{margin:0;padding:12px 14px;font-size:12.5px;font-style:italic;color:var(--sm-text-muted, #9CA3AF);border:1px dashed var(--sm-border, #E5E7EB);border-radius:6px}.hub-vision-edit{display:flex;flex-direction:column;gap:6px}.hub-vision-textarea{width:100%;min-height:120px;padding:10px 12px;border:1px solid var(--sm-border, #E5E7EB);border-radius:6px;font-family:inherit;font-size:13px;line-height:1.5;resize:vertical;background:var(--sm-bg-default, #FFFFFF);color:var(--sm-text-primary, #1A1A1A);box-sizing:border-box}.hub-vision-textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed33}.hub-vision-counter{align-self:flex-end;font-size:11px;color:var(--sm-text-muted, #9CA3AF);font-variant-numeric:tabular-nums}.hub-vision-error{padding:6px 8px;font-size:12px;color:#dc2626;background:#fef2f2;border:1px solid #FECACA;border-radius:4px}:root[data-theme=dark] .hub-vision-error{color:#f87171;background:#dc26261f;border-color:#dc26264d}.hub-vision-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.hub-vision-btn{font-size:12.5px;padding:6px 14px}.canvas-scrollbar{position:absolute;background:transparent;z-index:7}.canvas-scrollbar--horizontal{bottom:4px;left:4px;right:12px;height:8px}.canvas-scrollbar--vertical{right:4px;top:4px;bottom:12px;width:8px}.canvas-scrollbar-thumb{position:absolute;background:#b4b2a9;border-radius:999px;cursor:grab;transition:background .12s ease;-webkit-user-select:none;user-select:none}.canvas-scrollbar--horizontal .canvas-scrollbar-thumb{top:0;bottom:0}.canvas-scrollbar--vertical .canvas-scrollbar-thumb{left:0;right:0}.canvas-scrollbar-thumb:hover{background:#888780}.canvas-scrollbar-thumb--dragging,.canvas-scrollbar-thumb:active{background:#5f5e5a;cursor:grabbing}:root[data-theme=dark] .canvas-scrollbar-thumb{background:#fff3}:root[data-theme=dark] .canvas-scrollbar-thumb:hover{background:#ffffff59}:root[data-theme=dark] .canvas-scrollbar-thumb--dragging,:root[data-theme=dark] .canvas-scrollbar-thumb:active{background:#ffffff80}.zone-chevrons-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6}.zone-chevron{position:absolute;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid #888780;background:#fffffff2;color:#444441;border-radius:6px;cursor:pointer;pointer-events:auto;box-shadow:0 1px 3px #00000014;opacity:.6;transition:background .12s ease,color .12s ease,transform .12s ease,border-color .12s ease,opacity .12s ease;transform:translate(-50%)}.zone-chevron:hover{background:#f1efe8;border-color:#5f5e5a;color:#444441;opacity:1;transform:translate(-50%) scale(1.06)}.zone-chevron:focus-visible{outline:2px solid #5F5E5A;outline-offset:2px;opacity:1}:root[data-theme=dark] .zone-chevron{background:#1e293bf2;color:#d3d1c7;border-color:#b4b2a973;box-shadow:0 1px 3px #0006}:root[data-theme=dark] .zone-chevron:hover{background:#444441;color:#fff}.canvas-search-bar{position:absolute;top:76px;right:16px;z-index:6;display:flex;align-items:center;gap:6px;padding:6px 8px 6px 10px;background:var(--color-bg-card, #fff);border:.5px solid var(--color-border-default, #E5E7EB);border-radius:8px;box-shadow:0 2px 6px #0000000f;width:220px;transition:width .2s ease,box-shadow .12s ease}.canvas-search-bar:focus-within{width:280px;box-shadow:0 2px 10px #0000001a}.canvas-search-bar-icon{color:var(--color-text-secondary, #6B7280);flex-shrink:0}.canvas-search-bar-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:13px;color:var(--color-text-primary, #1A1A1A)}.canvas-search-bar-input::placeholder{color:var(--color-text-tertiary, #9C9B96)}.canvas-search-bar-clear{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6B7280);flex-shrink:0}.canvas-search-bar-clear:hover{background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-primary)}.canvas-search-bar-count{font-size:11px;color:var(--color-text-secondary, #6B7280);flex-shrink:0;font-variant-numeric:tabular-nums}:root[data-theme=dark] .canvas-search-bar{background:#2a2a2a;border-color:#3a3a3a}.report-export-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.report-export-modal{background:var(--bg, #FFFFFF);color:var(--text, #1F2937);border-radius:12px;box-shadow:0 20px 50px #00000040;width:min(720px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column}.report-export-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, #E5E7EB)}.report-export-modal__title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}.report-export-modal__close{background:transparent;border:0;padding:6px;border-radius:6px;cursor:pointer;color:var(--text-tertiary, #6B7280);display:inline-flex;align-items:center;justify-content:center}.report-export-modal__close:hover:not(:disabled){background:var(--bg-hover, #F3F4F6);color:var(--text, #1F2937)}.report-export-modal__close:disabled{opacity:.4;cursor:not-allowed}.report-export-modal__error{margin:12px 20px 0;padding:10px 12px;background:#fef2f2;border:1px solid #FCA5A5;border-radius:8px;color:#991b1b;font-size:13px}.report-export-modal__body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.report-export-modal__section{display:flex;flex-direction:column;gap:10px}.report-export-modal__section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary, #6B7280);margin:0;padding:0}.report-export-modal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-export-modal__card{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--bg, #FFFFFF);border:1px solid var(--border, #E5E7EB);border-radius:10px;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .05s;color:inherit;font:inherit}.report-export-modal__card:hover:not(:disabled){border-color:var(--accent, #6366F1);box-shadow:0 2px 8px #6366f11a}.report-export-modal__card:active:not(:disabled){transform:translateY(1px)}.report-export-modal__card:disabled{opacity:.6;cursor:not-allowed}.report-export-modal__card-title{font-size:14px;font-weight:600;color:var(--text, #1F2937)}.report-export-modal__card-description{font-size:12px;color:var(--text-secondary, #4B5563);line-height:1.4}.report-export-modal__card-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-tertiary, #6B7280)}.report-export-modal__card-action{margin-top:8px;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:var(--accent, #6366F1);color:#fff;border-radius:6px;font-size:13px;font-weight:500;align-self:flex-start}.report-export-modal__card:disabled .report-export-modal__card-action{background:var(--text-tertiary, #9CA3AF)}.report-export-modal__card--snapshot{flex-direction:row;align-items:center;gap:16px;padding:18px;background:linear-gradient(135deg,#f0f9ff,#fff);border-color:#bfdbfe}.report-export-modal__card--snapshot:hover:not(:disabled){border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61f}.report-export-modal__snapshot-icon{flex-shrink:0;width:56px;height:56px;border-radius:12px;background:#dbeafe;color:#1e40af;display:inline-flex;align-items:center;justify-content:center}.report-export-modal__snapshot-body{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;min-width:0}.report-export-modal__card-action--secondary{background:#1e40af;flex-shrink:0;margin-top:0;align-self:center}.report-export-modal__card--snapshot:disabled .report-export-modal__card-action--secondary{background:var(--text-tertiary, #9CA3AF)}.report-export-modal__spinner{animation:report-export-modal-spin .9s linear infinite}@keyframes report-export-modal-spin{to{transform:rotate(360deg)}}@media (max-width: 600px){.report-export-modal__grid{grid-template-columns:1fr}.report-export-modal__card--snapshot{flex-direction:column;align-items:stretch}.report-export-modal__card-action--secondary{align-self:flex-start}}@media print{.report-export-modal-backdrop,.report-export-modal{display:none!important}}.info-tooltip-wrapper{position:relative;display:inline-flex;align-items:center;vertical-align:middle;margin-left:4px;line-height:0}.info-tooltip-trigger{background:transparent;border:none;padding:2px;margin:0;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-tertiary, #9CA3AF);cursor:help;border-radius:999px;transition:color .12s ease,background .12s ease}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus-visible{color:var(--color-text-secondary, #4B5563);background:var(--color-bg-hover, #F3F4F6);outline:none}.info-tooltip-trigger:focus-visible{box-shadow:0 0 0 2px #3b82f666}.info-tooltip-popover{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:1000;min-width:240px;max-width:320px;padding:10px 12px;background:#1f2937;color:#f9fafb;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;gap:6px;font-size:var(--text-xs, 12px);line-height:1.45;text-transform:none;letter-spacing:normal;font-weight:400;pointer-events:auto;animation:info-tooltip-fade-in .12s ease-out}.info-tooltip-popover:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1f2937}.info-tooltip-title{font-weight:600;font-size:var(--text-sm, 13px);color:#f9fafb}.info-tooltip-description{color:#e5e7eb}.info-tooltip-meta{font-size:11px;color:#9ca3af;padding-top:4px;border-top:1px solid rgba(255,255,255,.1)}.info-tooltip-meta--mono{font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,Consolas,monospace;font-size:10.5px;color:#d1d5db}.info-tooltip-note{font-style:italic;font-size:10.5px;color:#9ca3af;padding-top:4px;border-top:1px solid rgba(255,255,255,.1)}@keyframes info-tooltip-fade-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.info-tooltip-popover[data-align=right]{left:auto;right:0;transform:translate(0)}.info-tooltip-popover[data-align=right]:after{left:auto;right:12px;transform:translate(0)}.score-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:24px;background:#f3f4f6;border-radius:12px;margin-top:12px}.score-breakdown-dimension{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:8px;background:#fff;border:1px solid #E5E7EB;box-shadow:0 1px 2px #0000000a;transition:opacity .15s ease,box-shadow .15s ease,transform .15s ease}.score-breakdown-dimension--clickable{cursor:pointer}.score-breakdown-dimension--clickable:hover{opacity:.92;box-shadow:0 1px 4px #0000000f;transform:translateY(-1px)}.score-breakdown-dimension--clickable:focus-visible{outline:2px solid var(--color-text-primary, #1a1a1a);outline-offset:2px}.score-breakdown-dimension-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:18px}.score-breakdown-dimension-label{font-size:var(--text-xs, 11px);font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary, #666666);line-height:1.2}.score-breakdown-dimension-badge{font-size:10px;font-weight:600;color:#c0392b;background:#c0392b14;padding:2px 6px;border-radius:3px;white-space:nowrap}.score-breakdown-dimension-value{font-size:24px;font-weight:600;color:inherit;line-height:1;letter-spacing:-.01em}.score-breakdown-bar{margin-top:4px;height:6px;background:var(--color-bg-hover, #F3F4F6);border-radius:999px;overflow:hidden}.score-breakdown-bar-fill{display:block;height:100%;border-radius:999px;transition:width .24s ease}.score-breakdown-bar--success{color:#10b981}.score-breakdown-bar--warning{color:#d97706}.score-breakdown-bar--danger{color:#dc2626}.score-breakdown-bar--success .score-breakdown-bar-fill{background:linear-gradient(90deg,#ecfdf5,#10b981);background-color:#10b981}.score-breakdown-bar--warning .score-breakdown-bar-fill{background:linear-gradient(90deg,#fffbeb,#f59e0b);background-color:#f59e0b}.score-breakdown-bar--danger .score-breakdown-bar-fill{background:linear-gradient(90deg,#fef2f2,#ef4444);background-color:#ef4444}.score-breakdown-dimension-weight{font-size:10px;color:var(--color-text-tertiary, #999999);margin-top:2px;letter-spacing:.02em}@media (max-width: 768px){.score-breakdown{grid-template-columns:repeat(2,1fr)}}:root[data-theme=dark] .score-breakdown{background:#1a1a1a}:root[data-theme=dark] .score-breakdown-dimension{background:#2a2a2a;border-color:#3a3a3a}.score-breakdown-dimension-label-with-icon{display:inline-flex;align-items:center;gap:8px;min-width:0}.score-breakdown-dimension-tooltip{display:inline-flex;cursor:default}.score-breakdown .kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.score-breakdown .kpi-icon--cost{background:#f5f3ff;color:#8b5cf6}.score-breakdown .kpi-icon--resilience{background:#eff6ff;color:#3b82f6}.score-breakdown .kpi-icon--compliance{background:#f0fdf4;color:#10b981}.score-breakdown .kpi-icon--security{background:#fffbeb;color:#f59e0b}.kpi-card{border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:4px;background:var(--color-bg-card-subtle)}.kpi-card--default,.kpi-card--ok{background:var(--color-bg-card-subtle)}.kpi-card--warn{background:var(--color-warn-bg)}.kpi-card--crit{background:var(--color-crit-bg)}.kpi-card-label{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.04em;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.kpi-card-value{font-size:var(--text-4xl);font-weight:500;color:var(--color-text-primary);line-height:1.1;font-variant-numeric:tabular-nums}.kpi-card-sublabel{font-size:var(--text-xs);color:var(--color-text-secondary)}.kpi-card--warn .kpi-card-label,.kpi-card--warn .kpi-card-value{color:var(--color-warn-text)}.kpi-card--crit .kpi-card-label,.kpi-card--crit .kpi-card-value{color:var(--color-crit-accent)}.matrix-quadrant-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.matrix-quadrant-modal{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:0 8px 24px #0000001f;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.matrix-quadrant-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--card-modern-border)}.matrix-quadrant-modal-title-block{flex:1;min-width:0}.matrix-quadrant-modal-title{margin:0 0 4px;font-size:var(--text-lg, 16px);font-weight:500;color:var(--color-text-primary);line-height:1.3}.matrix-quadrant-modal-subtitle{font-size:var(--text-xs, 12px);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.matrix-quadrant-modal-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:999px;cursor:pointer;color:var(--color-text-secondary);transition:background .12s ease,color .12s ease}.matrix-quadrant-modal-close:hover{background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-primary)}.matrix-quadrant-modal-close:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}.matrix-quadrant-modal-body{flex:1;overflow-y:auto;padding:8px 20px}.matrix-quadrant-modal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.matrix-quadrant-modal-app{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 4px;border-bottom:1px solid var(--card-modern-border);font-size:var(--text-sm, 13px)}.matrix-quadrant-modal-app:last-child{border-bottom:none}.matrix-quadrant-modal-app-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--color-text-primary)}.matrix-quadrant-modal-app-cost{flex-shrink:0;font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.matrix-quadrant-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 20px;border-top:1px solid var(--card-modern-border)}.matrix-quadrant-modal-cta{display:inline-flex;align-items:center;gap:4px;padding:5px 14px;font-size:12px;font-weight:500;color:var(--color-text-primary);background:transparent;border:.5px solid var(--color-border-secondary, var(--card-modern-border));border-radius:var(--card-modern-radius);cursor:pointer;transition:background .15s ease;font-family:inherit}.matrix-quadrant-modal-cta:hover{background:var(--color-bg-hover, #F3F4F6)}.matrix-quadrant-modal-cta:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}.finances-contracts-preview{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:20px;display:flex;flex-direction:column;gap:14px}.finances-contracts-preview[aria-busy=true]{opacity:.6;pointer-events:none}.finances-contracts-preview-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.finances-contracts-preview-title{margin:0;font-size:var(--text-base, 14px);font-weight:500;color:var(--color-text-primary)}.finances-contracts-preview-empty{margin:0;font-size:var(--text-sm, 13px);color:var(--color-text-secondary);font-style:italic}.finances-contracts-preview-cta{display:inline-flex;align-items:center;gap:4px;background:transparent;border:.5px solid var(--color-border-secondary, var(--card-modern-border));border-radius:var(--card-modern-radius);padding:5px 12px;font-size:12px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:background var(--transition, .15s ease)}.finances-contracts-preview-cta:hover{background:var(--color-bg-hover, #F3F4F6)}.finances-contracts-preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.finances-contracts-kpi-mini{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow)}.finances-contracts-kpi-mini-label{font-size:var(--text-xs, 12px);color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.finances-contracts-kpi-mini-value{font-size:var(--text-2xl, 24px);font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums;line-height:1.1}.finances-contracts-kpi-mini-value--warn{color:var(--color-warn-text)}.finances-contracts-kpi-mini-unit{font-size:var(--text-xs, 12px);color:var(--color-text-secondary);font-weight:400;margin-left:2px}.finances-contracts-preview-at-risk{display:flex;flex-direction:column;gap:8px}.finances-contracts-preview-at-risk-title{margin:0;display:flex;align-items:center;gap:6px;font-size:var(--text-sm, 13px);font-weight:500;color:var(--color-warn-text)}.finances-contracts-preview-at-risk-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.finances-contracts-preview-at-risk-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--color-border-subtle, var(--color-border-default));font-size:var(--text-sm, 13px)}.finances-contracts-preview-at-risk-item:last-child{border-bottom:none}.finances-contracts-app-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);font-weight:500}.finances-contracts-app-date{flex:0 0 auto;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.finances-contracts-app-days{flex:0 0 auto;font-weight:500;font-variant-numeric:tabular-nums;min-width:80px;text-align:right}.finances-contracts-app-days--warn{color:var(--color-warn-text)}.finances-contracts-app-days--crit{color:var(--color-crit-accent)}.finances-hidden-costs{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:20px;display:flex;flex-direction:column;gap:14px}.finances-hidden-costs[aria-busy=true]{opacity:.6;pointer-events:none}.finances-hidden-costs-title{margin:0;font-size:var(--text-base, 14px);font-weight:500;color:var(--color-text-primary)}.finances-hidden-costs-empty,.finances-hidden-costs-incomplete{margin:0;font-size:var(--text-sm, 13px);color:var(--color-text-secondary);font-style:italic}.finances-hidden-costs-bar{display:flex;width:100%;height:28px;border-radius:var(--sm-radius-pill);overflow:hidden;background:var(--color-bg-card-subtle)}.finances-hidden-costs-bar-segment{height:100%;transition:opacity var(--transition, .15s ease)}.finances-hidden-costs-bar-segment:hover{opacity:.85}.finances-hidden-costs-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px}.finances-hidden-costs-legend-item{display:flex;align-items:center;gap:8px;font-size:var(--text-sm, 13px)}.finances-hidden-costs-legend-color{display:inline-block;width:10px;height:10px;border-radius:2px;flex:0 0 auto}.finances-hidden-costs-legend-label{color:var(--color-text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finances-hidden-costs-legend-value{color:var(--color-text-primary);font-weight:500;font-variant-numeric:tabular-nums}.finances-hidden-costs-legend-pct{color:var(--color-text-secondary);font-size:var(--text-xs, 12px);font-variant-numeric:tabular-nums}.conformite-apps-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.conformite-apps-modal{display:flex;flex-direction:column;width:100%;max-width:520px;max-height:80vh;background:#fff;border:1px solid #E5E7EB;border-radius:10px;box-shadow:0 10px 40px #0000002e;overflow:hidden}.conformite-apps-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #E5E7EB}.conformite-apps-modal__titles{display:flex;flex-direction:column;gap:2px;min-width:0}.conformite-apps-modal__title{margin:0;font-size:15px;font-weight:600;color:var(--color-text-primary, #1A1A1A);line-height:1.3}.conformite-apps-modal__subtitle{margin:0;font-size:12px;color:var(--color-text-secondary, #6B7280);font-weight:500}.conformite-apps-modal__close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--color-text-secondary, #6B7280);cursor:pointer;flex-shrink:0;transition:background .12s ease,color .12s ease}.conformite-apps-modal__close:hover{background:#f3f4f6;color:var(--color-text-primary, #1A1A1A)}.conformite-apps-modal__body{flex:1;overflow-y:auto;padding:12px 20px 20px}.conformite-apps-modal__truncation{margin:0 0 12px;padding:8px 10px;background:#fff7ed;border:1px solid #FED7AA;border-radius:6px;font-size:12px;color:#9a3412;font-style:italic}.conformite-apps-modal__state{margin:12px 0;text-align:center;color:var(--color-text-tertiary, #9CA3AF);font-size:13px}.conformite-apps-modal__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.conformite-apps-modal__row{padding:8px 10px;border-radius:6px;background:transparent;transition:background .1s ease}.conformite-apps-modal__row:hover{background:#f3f4f6}.conformite-apps-modal__row-name{font-size:13px;color:var(--color-text-primary, #1A1A1A);font-weight:500}.conformite-apps-modal__row--clickable{padding:0}.conformite-apps-modal__row-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:6px;cursor:pointer;text-align:left;color:inherit;font:inherit;transition:background .1s ease}.conformite-apps-modal__row-btn:hover{background:#eff6ff}.conformite-apps-modal__row-btn:hover .conformite-apps-modal__row-name{color:#2563eb;text-decoration:underline;text-underline-offset:2px}.conformite-apps-modal__row-btn:focus-visible{outline:2px solid #2563EB;outline-offset:1px}.conformite-apps-modal__row-icon{color:var(--color-text-tertiary, #9CA3AF);flex-shrink:0;opacity:.75;transition:opacity .12s ease,transform .12s ease,color .12s ease}.conformite-apps-modal__row-btn:hover .conformite-apps-modal__row-icon{color:#2563eb;opacity:1;transform:translate(2px)}:root[data-theme=dark] .conformite-apps-modal{background:#1f1f1f;border-color:#3a3a3a;box-shadow:0 10px 40px #00000080}:root[data-theme=dark] .conformite-apps-modal__header{border-bottom-color:#3a3a3a}:root[data-theme=dark] .conformite-apps-modal__title{color:#e5e7eb}:root[data-theme=dark] .conformite-apps-modal__subtitle{color:#9ca3af}:root[data-theme=dark] .conformite-apps-modal__close{color:#9ca3af}:root[data-theme=dark] .conformite-apps-modal__close:hover{background:#2a2a2a;color:#e5e7eb}:root[data-theme=dark] .conformite-apps-modal__truncation{background:#3f1f0a;border-color:#7c2d12;color:#fed7aa}:root[data-theme=dark] .conformite-apps-modal__row-name{color:#e5e7eb}:root[data-theme=dark] .conformite-apps-modal__row:hover{background:#2a2a2a}:root[data-theme=dark] .conformite-apps-modal__row-btn:hover{background:#1e3a8a}:root[data-theme=dark] .conformite-apps-modal__row-btn:hover .conformite-apps-modal__row-name{color:#93c5fd}:root[data-theme=dark] .conformite-apps-modal__row-btn:hover .conformite-apps-modal__row-icon{color:#93c5fd}:root[data-theme=dark] .conformite-apps-modal__row-btn:focus-visible{outline-color:#93c5fd}.conformite-view{display:flex;flex-direction:column;gap:24px;padding:16px 0}.conformite-loading,.conformite-error{padding:32px;text-align:center;color:var(--color-text-secondary, #6B7280)}.conformite-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.conformite-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--text-lg, 16px);font-weight:600;color:var(--color-text-primary, #1A1A1A)}.conformite-scores{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;padding:24px;background:#f3f4f6;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 1px 2px #0000000a}@media (max-width: 768px){.conformite-scores{grid-template-columns:1fr}}.conformite-score-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.conformite-gauge{display:flex;align-items:baseline;gap:4px}.conformite-gauge .gauge-value{font-size:56px;font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.conformite-gauge .gauge-label{font-size:22px;color:var(--color-text-secondary, #6B7280);font-weight:500}.conformite-score-caption{margin:4px 0 0;text-align:center;font-size:13px;color:var(--color-text-secondary, #6B7280);font-weight:500}.conformite-score-summary{margin:0;text-align:center;font-size:12px;color:var(--color-text-tertiary, #9CA3AF);font-style:italic}.conformite-subscores{display:grid;grid-template-columns:1fr 1fr;gap:12px}.conformite-subscore{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;border-left:3px solid #6B7280}.conformite-subscore--ok{border-left-color:#10b981}.conformite-subscore--warn{border-left-color:#d97706}.conformite-subscore--crit{border-left-color:#dc2626}.conformite-subscore-header{display:inline-flex;align-items:center;gap:6px;justify-content:center}.conformite-subscore-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;flex-shrink:0}.conformite-subscore-icon--nis2{background:#f0fdf4;color:#10b981}.conformite-subscore-icon--gdpr{background:#f5f3ff;color:#8b5cf6}.conformite-subscore-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary, #6B7280)}.conformite-subscore-value{font-size:32px;font-weight:600;color:var(--color-text-primary, #1A1A1A);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.conformite-subscore-unit{font-size:14px;color:var(--color-text-tertiary, #9CA3AF);font-weight:400;margin-left:2px}.conformite-rules-title{margin:0 0 12px;font-size:var(--text-base, 14px);font-weight:600;color:var(--color-text-primary, #1A1A1A)}.conformite-rules-list{display:flex;flex-direction:column;gap:10px}.conformite-rule{padding:14px 16px;background:#f3f4f6;border:1px solid #E5E7EB;border-left:3px solid #10B981;border-radius:8px;box-shadow:0 1px 2px #0000000a;transition:background .15s ease}.conformite-rule:hover{background:#e5e7eb}.conformite-rule--triggered{border-left-color:#d97706}.conformite-rule-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.conformite-rule-framework{display:inline-flex;align-items:center;padding:2px 10px;font-size:10px;font-weight:500;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}.conformite-rule-framework--nis2{background:#f0fdf4;color:#10b981}.conformite-rule-framework--rgpd{background:#f5f3ff;color:#8b5cf6}.conformite-rule-framework--nist_csf{background:#eff6ff;color:#2563eb}.conformite-rule-framework--iso_27001{background:#f1f5f9;color:#475569}.conformite-rule-info-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;border-radius:999px;color:var(--color-text-tertiary, #9C9B96);cursor:pointer;transition:background .12s ease,color .12s ease}.conformite-rule-info-btn:hover,.conformite-rule-info-btn--active{background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-primary, #1A1A1A)}.conformite-rule-info-panel{margin-top:8px;padding:10px 12px;background:var(--color-bg-hover, #F3F4F6);border-radius:6px;font-size:11px}.conformite-rule-info-list{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0}.conformite-rule-info-list dt{color:var(--color-text-secondary, #6B7280);font-weight:500}.conformite-rule-info-list dd{margin:0;color:var(--color-text-primary, #1A1A1A);font-variant-numeric:tabular-nums}.conformite-rule-info-list code{background:var(--card-modern-bg, #FFFFFF);padding:1px 6px;border-radius:3px;font-family:ui-monospace,monospace;font-size:10px}.conformite-rule-source-link{color:#2563eb;text-decoration:underline;text-underline-offset:2px}.conformite-rule-source-link:hover{color:#1d4ed8}.conformite-rule-source-plain{color:var(--color-text-primary, #1A1A1A)}.conformite-rule-source-sep{color:var(--color-text-tertiary, #9CA3AF)}.conformite-disclaimer{display:flex;align-items:flex-start;gap:6px;margin:12px 0 0;padding:8px 10px;font-size:11px;line-height:1.45;color:var(--color-text-tertiary, #9CA3AF);font-style:italic}.conformite-disclaimer>svg{flex-shrink:0;margin-top:2px}.conformite-rule-title{font-size:13px;font-weight:600;color:var(--color-text-primary, #1A1A1A);flex:1}.conformite-rule-heuristic{display:inline-flex;align-items:center;color:var(--color-text-tertiary, #9CA3AF);cursor:help}.conformite-rule-description{margin:0 0 8px;font-size:12px;line-height:1.4;color:var(--color-text-secondary, #6B7280)}.conformite-rule-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px}.conformite-rule-status{display:inline-flex;align-items:center;gap:4px;font-weight:500}.conformite-rule-status--triggered{color:#d97706}.conformite-rule-status--ok{color:#059669}.conformite-rule-status--clickable{padding:0;background:transparent;border:none;font:inherit;cursor:pointer;border-radius:4px;transition:background .12s ease}.conformite-rule-status--clickable .conformite-rule-status-text{text-decoration:underline;text-decoration-color:#d9770666;text-underline-offset:3px;transition:text-decoration-color .12s ease}.conformite-rule-status--clickable:hover .conformite-rule-status-text{text-decoration-color:#d97706}.conformite-rule-status-chevron{opacity:.7;transition:transform .12s ease,opacity .12s ease}.conformite-rule-status--clickable:hover .conformite-rule-status-chevron{opacity:1;transform:translate(2px)}.conformite-rule-status--clickable:focus-visible{outline:2px solid #D97706;outline-offset:2px}.conformite-rule-gain{display:inline-flex;align-items:center;padding:2px 8px;background:#ecfdf5;color:#059669;border:1px solid #A7F3D0;border-radius:4px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}:root[data-theme=dark] .conformite-subscore{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .conformite-scores{background:#1a1a1a;border-color:#3a3a3a}:root[data-theme=dark] .conformite-rule{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .conformite-rule-framework--nis2{background:#1e3a8a;color:#93c5fd;border-color:#1e40af}:root[data-theme=dark] .conformite-rule-framework--rgpd{background:#7f1d1d;color:#fca5a5;border-color:#b91c1c}:root[data-theme=dark] .conformite-rule-framework--nist_csf{background:#1e3a8a;color:#93c5fd;border-color:#1e40af}:root[data-theme=dark] .conformite-rule-framework--iso_27001{background:#334155;color:#cbd5e1;border-color:#475569}:root[data-theme=dark] .conformite-rule-source-link{color:#93c5fd}:root[data-theme=dark] .conformite-rule-source-link:hover{color:#bfdbfe}:root[data-theme=dark] .conformite-rule-source-plain{color:#e5e7eb}.securite-view{display:flex;flex-direction:column;gap:24px;padding:16px 0}.securite-loading,.securite-error{padding:32px;text-align:center;color:var(--color-text-secondary, #6B7280)}.securite-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.securite-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--text-lg, 16px);font-weight:600;color:var(--color-text-primary, #1A1A1A)}.securite-scores{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;padding:24px;background:#f3f4f6;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 1px 2px #0000000a}@media (max-width: 768px){.securite-scores{grid-template-columns:1fr}}.securite-score-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.securite-gauge{display:flex;align-items:baseline;gap:4px}.securite-gauge .gauge-value{font-size:56px;font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.gauge-value--success{color:#10b981}.gauge-value--warning{color:#d97706}.gauge-value--danger{color:#dc2626}.securite-gauge .gauge-label{font-size:22px;color:var(--color-text-secondary, #6B7280);font-weight:500}.securite-score-caption{margin:4px 0 0;text-align:center;font-size:13px;color:var(--color-text-secondary, #6B7280);font-weight:500}.securite-score-summary{margin:0;text-align:center;font-size:12px;color:var(--color-text-tertiary, #9CA3AF);font-style:italic}.securite-subscores{display:grid;grid-template-columns:1fr 1fr;gap:12px}.securite-subscore{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;border-left:3px solid #6B7280}.securite-subscore--ok{border-left-color:#10b981}.securite-subscore--warn{border-left-color:#d97706}.securite-subscore--crit{border-left-color:#dc2626}.securite-subscore-header{display:inline-flex;align-items:center;gap:6px;justify-content:center}.securite-subscore-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;flex-shrink:0}.securite-subscore-icon--security{background:#fffbeb;color:#f59e0b}.securite-subscore-icon--performance{background:#eff6ff;color:#3b82f6}.securite-subscore-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary, #6B7280)}.securite-subscore-value{font-size:32px;font-weight:600;color:var(--color-text-primary, #1A1A1A);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.securite-subscore-unit{font-size:14px;color:var(--color-text-tertiary, #9CA3AF);font-weight:400;margin-left:2px}.securite-rules-title{margin:0 0 12px;font-size:var(--text-base, 14px);font-weight:600;color:var(--color-text-primary, #1A1A1A)}.securite-rules-list{display:flex;flex-direction:column;gap:10px}.securite-rule{padding:14px 16px;background:#f3f4f6;border:1px solid #E5E7EB;border-left:3px solid #10B981;border-radius:8px;box-shadow:0 1px 2px #0000000a;transition:background .15s ease}.securite-rule:hover{background:#e5e7eb}.securite-rule--triggered{border-left-color:#d97706}.securite-rule-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.securite-rule-facette{display:inline-flex;align-items:center;padding:2px 10px;font-size:10px;font-weight:500;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}.securite-rule-facette--securite{background:#fffbeb;color:#f59e0b}.securite-rule-facette--performance{background:#eff6ff;color:#3b82f6}.securite-rule-info-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;border-radius:999px;color:var(--color-text-tertiary, #9C9B96);cursor:pointer;transition:background .12s ease,color .12s ease}.securite-rule-info-btn:hover,.securite-rule-info-btn--active{background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-primary, #1A1A1A)}.securite-rule-info-panel{margin-top:8px;padding:10px 12px;background:var(--color-bg-hover, #F3F4F6);border-radius:6px;font-size:11px}.securite-rule-info-list{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0}.securite-rule-info-list dt{color:var(--color-text-secondary, #6B7280);font-weight:500}.securite-rule-info-list dd{margin:0;color:var(--color-text-primary, #1A1A1A);font-variant-numeric:tabular-nums}.securite-rule-info-list code{background:var(--card-modern-bg, #FFFFFF);padding:1px 6px;border-radius:3px;font-family:ui-monospace,monospace;font-size:10px}.securite-rule-title{font-size:13px;font-weight:600;color:var(--color-text-primary, #1A1A1A);flex:1}.securite-rule-heuristic{display:inline-flex;align-items:center;color:var(--color-text-tertiary, #9CA3AF);cursor:help}.securite-rule-description{margin:0 0 8px;font-size:12px;line-height:1.4;color:var(--color-text-secondary, #6B7280)}.securite-rule-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px}.securite-rule-status{display:inline-flex;align-items:center;gap:4px;font-weight:500}.securite-rule-status--triggered{color:#d97706}.securite-rule-status--ok{color:#059669}.securite-rule-gain{display:inline-flex;align-items:center;padding:2px 8px;background:#ecfdf5;color:#059669;border:1px solid #A7F3D0;border-radius:4px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}:root[data-theme=dark] .securite-subscore{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .securite-scores{background:#1a1a1a;border-color:#3a3a3a}:root[data-theme=dark] .securite-rule{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .securite-rule-facette--securite{background:#7f1d1d;color:#fca5a5;border-color:#b91c1c}:root[data-theme=dark] .securite-rule-facette--performance{background:#1e3a8a;color:#93c5fd;border-color:#1e40af}.reports-view{display:flex;flex-direction:column;gap:24px;padding:16px 0}.reports-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.reports-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--text-lg, 16px);font-weight:600;color:var(--color-text-primary, #1A1A1A)}.reports-error{padding:12px 16px;background:#fef3f2;color:#b91c1c;border:1px solid #FECACA;border-radius:8px;font-size:13px}.reports-templates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 768px){.reports-templates-grid{grid-template-columns:1fr}}.reports-template-card{display:flex;flex-direction:column;padding:20px;background:#f3f4f6;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 1px 2px #0000000a;transition:box-shadow .15s ease,background .15s ease}.reports-template-card:not(.reports-template-card--disabled):hover{box-shadow:0 4px 8px #0000000f;background:#ecfdf5}.reports-template-card--disabled{opacity:.55}.reports-template-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;color:#10b981;margin-bottom:12px}.reports-template-title{font-size:14px;font-weight:600;color:var(--color-text-primary, #1A1A1A);margin:0 0 6px}.reports-template-description{font-size:12px;color:var(--color-text-secondary, #6B7280);margin:0 0 12px;line-height:1.5;flex:1}.reports-template-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-tertiary, #9CA3AF);margin-bottom:16px;flex-wrap:wrap}.reports-template-separator{opacity:.6}.reports-template-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background .15s ease;align-self:flex-start}.reports-template-button--primary{background:#10b981;color:#fff}.reports-template-button--primary:hover:not(:disabled){background:#059669}.reports-template-button:disabled{opacity:.7;cursor:not-allowed}.reports-template-soon{display:inline-block;padding:8px 0 0;font-size:12px;color:var(--color-text-tertiary, #9CA3AF);font-style:italic}.reports-loader-icon{animation:reports-spin 1s linear infinite}@keyframes reports-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reports-history-section-title{font-size:var(--text-base, 14px);font-weight:600;color:var(--color-text-primary, #1A1A1A);margin:0 0 12px}.reports-history-loading,.reports-history-empty{padding:24px;text-align:center;color:var(--color-text-secondary, #6B7280);font-size:13px;background:#f9fafb;border:1px dashed #E5E7EB;border-radius:8px}.reports-history-list{display:flex;flex-direction:column;gap:6px}.reports-history-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;transition:background .15s ease}.reports-history-row:hover{background:#f9fafb}.reports-history-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f3f4f6;border-radius:6px;color:var(--color-text-secondary, #6B7280);flex-shrink:0}.reports-history-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.reports-history-title{font-size:13px;font-weight:500;color:var(--color-text-primary, #1A1A1A)}.reports-history-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-secondary, #6B7280);flex-wrap:wrap}.reports-history-separator{opacity:.5}.reports-history-llm{color:#10b981;font-weight:500}.reports-history-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.reports-history-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid #E5E7EB;border-radius:6px;color:var(--color-text-secondary, #6B7280);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.reports-history-button:hover{background:#f3f4f6;color:var(--color-text-primary, #1A1A1A)}.reports-history-button--danger:hover{background:#fef3f2;color:#dc2626;border-color:#fecaca}:root[data-theme=dark] .reports-template-icon{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .reports-template-card{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .reports-history-empty{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .reports-history-row{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .reports-history-row:hover{background:#2d2d2d}:root[data-theme=dark] .reports-history-icon{background:#3a3a3a}:root[data-theme=dark] .reports-history-button:hover{background:#2d2d2d}.filters-bar{background:var(--sm-bg-default);border-bottom:1px solid var(--sm-border);padding:12px 0}.filters-bar[data-loading=true]{opacity:.6;pointer-events:none}.filters-bar-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;min-height:56px}.filters-bar .multiselect-pill{max-width:160px}.filters-bar .multiselect-pills{overflow:hidden}.filters-bar-field{display:flex;flex-direction:column;gap:4px;flex:1 1 180px;min-width:0}.filters-bar-field-label{font-size:12px;font-weight:500;color:var(--sm-text-secondary);text-transform:uppercase;letter-spacing:.4px}.filters-bar-count{display:inline-flex;align-items:center;padding:4px 10px;background:#ecfdf5;color:#059669;font-size:12px;font-weight:600;border-radius:12px;margin-right:8px;letter-spacing:.02em}.filters-bar-reset{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1px solid var(--sm-border);border-radius:var(--sm-radius-md);color:var(--sm-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--transition, .15s ease),color var(--transition, .15s ease)}.filters-bar-reset:hover{background:var(--sm-bg-subtle);color:var(--sm-text-primary)}.filters-bar-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.filters-bar-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;background:var(--sm-primary-bg);border:1px solid var(--sm-primary-border);border-radius:var(--sm-radius-pill);color:var(--sm-primary-hover);font-size:12px;font-weight:500;cursor:pointer;transition:background var(--transition, .15s ease)}.filters-bar-chip:hover{background:var(--sm-bg-hover)}.filters-bar-chip-field{font-weight:600;opacity:.7}.filters-bar-chip-field:after{content:" :"}.filters-bar-chip-value{font-weight:500}.apps-list-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.apps-list-modal{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:0 8px 24px #0000001f;width:100%;max-width:560px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.apps-list-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--card-modern-border)}.apps-list-modal-title-block{flex:1;min-width:0}.apps-list-modal-title{margin:0 0 4px;font-size:var(--text-lg, 16px);font-weight:500;color:var(--color-text-primary);line-height:1.3}.apps-list-modal-subtitle{font-size:var(--text-xs, 12px);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.apps-list-modal-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:999px;cursor:pointer;color:var(--color-text-secondary);transition:background .12s ease,color .12s ease}.apps-list-modal-close:hover{background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-primary)}.apps-list-modal-close:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}.apps-list-modal-body{flex:1;overflow-y:auto;padding:8px 20px}.apps-list-modal-empty{text-align:center;font-size:var(--text-sm, 13px);color:var(--color-text-tertiary, #9CA3AF);padding:24px 0;margin:0}.apps-list-modal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.apps-list-modal-app{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 4px;border-bottom:1px solid var(--card-modern-border);font-size:var(--text-sm, 13px)}.apps-list-modal-app:last-child{border-bottom:none}.apps-list-modal-app--clickable{cursor:pointer;border-radius:6px;transition:background .12s ease}.apps-list-modal-app--clickable:hover{background:var(--color-bg-hover, #F3F4F6)}.apps-list-modal-app-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--color-text-primary)}.apps-list-modal-app-meta{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.apps-list-modal-app-domain{font-size:var(--text-xs, 12px);color:var(--color-text-secondary)}.apps-list-modal-crit{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;text-transform:capitalize}.apps-list-modal-crit--high,.apps-list-modal-crit--critical{background:#fee2e2;color:#dc2626}.apps-list-modal-crit--medium{background:#fef3c7;color:#d97706}.apps-list-modal-crit--low{background:#d1fae5;color:#10b981}.apps-list-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 20px;border-top:1px solid var(--card-modern-border)}.apps-list-modal-cta{display:inline-flex;align-items:center;gap:4px;padding:5px 14px;font-size:12px;font-weight:500;color:var(--color-text-primary);background:transparent;border:.5px solid var(--color-border-secondary, var(--card-modern-border));border-radius:var(--card-modern-radius);cursor:pointer;transition:background .15s ease;font-family:inherit}.apps-list-modal-cta:hover{background:var(--color-bg-hover, #F3F4F6)}.apps-list-modal-cta:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}:root[data-theme=dark] .apps-list-modal-crit--high,:root[data-theme=dark] .apps-list-modal-crit--critical{background:#dc26262e;color:#fca5a5}:root[data-theme=dark] .apps-list-modal-crit--medium{background:#d977062e;color:#fcd34d}:root[data-theme=dark] .apps-list-modal-crit--low{background:#10b9812e;color:#6ee7b7}.kpis-summary{display:flex;flex-direction:column;gap:12px}.kpis-summary[aria-busy=true]{opacity:.6;pointer-events:none}.kpis-summary-header{display:flex;align-items:baseline;gap:10px}.kpis-summary-title{margin:0;font-size:var(--text-lg, 16px);font-weight:500;color:var(--color-text-primary)}.kpis-summary-non-filtered{font-size:var(--text-xs, 12px);color:var(--color-text-secondary);font-style:italic;cursor:help}.kpis-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 900px){.kpis-summary-grid{grid-template-columns:repeat(2,1fr)}}.kpis-summary-capex-extra{color:var(--color-text-tertiary, #6B7280);font-weight:500}.kpis-summary .kpi-card{background:#f3f4f6;border:1px solid #E5E7EB;border-left:3px solid #6B7280;box-shadow:0 1px 2px #0000000a}.kpis-summary .kpi-card--ok{border-left-color:#10b981}.kpis-summary .kpi-card--warn{background:#f3f4f6;border-left-color:#d97706}.kpis-summary .kpi-card--crit{background:#f3f4f6;border-left-color:#dc2626}.kpis-summary .kpi-card--warn .kpi-card-label,.kpis-summary .kpi-card--warn .kpi-card-value,.kpis-summary .kpi-card--crit .kpi-card-label,.kpis-summary .kpi-card--crit .kpi-card-value{color:inherit}.kpis-summary .kpi-card-label{color:var(--color-text-secondary)}.kpis-summary .kpi-card-value{color:var(--color-text-primary)}:root[data-theme=dark] .kpis-summary .kpi-card,:root[data-theme=dark] .kpis-summary .kpi-card--warn,:root[data-theme=dark] .kpis-summary .kpi-card--crit{background:#2a2a2a;border-top-color:#3a3a3a;border-right-color:#3a3a3a;border-bottom-color:#3a3a3a}.kpis-summary .kpi-icon-label{display:inline-flex;align-items:center;gap:8px}.kpis-summary .kpi-icon-label-text{flex:1;min-width:0}.kpis-summary .kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.kpis-summary .kpi-card-value{margin-top:6px}.kpis-summary .kpi-icon--apps{background:#eff6ff;color:#3b82f6}.kpis-summary .kpi-icon--wallet{background:#f5f3ff;color:#8b5cf6}.kpis-summary .kpi-icon--risks{background:#fffbeb;color:#f59e0b}.kpis-summary .kpi-icon--completeness{background:#f0fdf4;color:#10b981}.kpis-summary .kpis-summary-sublabel-with-action{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%}.kpis-summary .view-all-apps-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--color-bg-card-subtle, #F3F4F6);border:1px solid var(--card-modern-border, #E5E7EB);color:var(--color-text-secondary, #6B7280);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease;font-family:inherit;font-variant-numeric:tabular-nums;white-space:nowrap}.kpis-summary .view-all-apps-badge:hover{background:var(--color-bg-hover, #E5E7EB);color:var(--color-text-primary, #1A1A1A);border-color:var(--color-border-secondary, #D1D5DB)}.kpis-summary .view-all-apps-badge:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}:root[data-theme=dark] .kpis-summary .view-all-apps-badge{background:#ffffff0f;border-color:#ffffff1a;color:#fff9}:root[data-theme=dark] .kpis-summary .view-all-apps-badge:hover{background:#ffffff1f;color:#f9fafb;border-color:#fff3}.capabilities-impacted{border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:20px;display:flex;flex-direction:column;gap:12px}.capabilities-impacted[aria-busy=true]{opacity:.6;pointer-events:none}.capabilities-impacted-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.capabilities-impacted-title{margin:0;font-size:var(--text-lg, 16px);font-weight:500;color:var(--color-text-primary)}.capabilities-impacted-count{font-size:var(--text-xs, 12px);color:var(--color-text-secondary)}.capabilities-impacted-warning,.capabilities-impacted-uncategorized{margin:0;font-size:var(--text-sm, 13px);color:var(--color-text-secondary);font-style:italic}.capabilities-impacted-empty{margin:0;padding:20px 0;text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm, 13px)}.capabilities-impacted-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.capabilities-impacted-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-border-subtle, var(--color-border-default))}.capabilities-impacted-item:last-child{border-bottom:none}.capabilities-impacted-item-name{font-size:var(--text-sm, 13px);font-weight:500;color:var(--color-text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.capabilities-impacted-item-stats{display:flex;align-items:center;gap:16px;font-variant-numeric:tabular-nums}.capabilities-impacted-item-count{font-size:var(--text-xs, 12px);color:var(--color-text-secondary);min-width:60px;text-align:right}.capabilities-impacted-pills{display:inline-flex;gap:4px;min-width:70px;justify-content:flex-end}.capabilities-impacted-pill{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--sm-radius-pill);font-size:11px;font-weight:600;line-height:1}.capabilities-impacted-pill--high{background:var(--color-crit-bg);color:var(--color-crit-accent)}.capabilities-impacted-pill--medium{background:var(--color-warn-bg);color:var(--color-warn-text)}.capabilities-impacted-pill--low{background:var(--sm-primary-bg);color:var(--sm-primary-hover)}.capabilities-impacted-toggle{align-self:flex-start;background:transparent;border:1px solid var(--sm-border);border-radius:var(--sm-radius-md);padding:6px 12px;font-size:var(--text-xs, 12px);font-weight:500;color:var(--sm-text-secondary);cursor:pointer;transition:background var(--transition, .15s ease)}.capabilities-impacted-toggle:hover{background:var(--sm-bg-subtle);color:var(--sm-text-primary)}.insights-row{margin-top:8px}.insights-row-header{margin-bottom:8px}.insights-row-title{margin:0;font-size:var(--text-sm, 14px);font-weight:600;color:var(--color-text-primary, #1A1A1A)}.insights-row-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 768px){.insights-row-grid{grid-template-columns:repeat(1,1fr)}}.insights-mini-bar{display:flex;height:6px;background:var(--color-bg-hover, #F3F4F6);border-radius:999px;overflow:hidden;margin:6px 0}.insights-mini-bar-seg{display:block;height:100%;transition:width .24s ease}.insights-mini-bar-seg--auto{background:#10b981}.insights-mini-bar-seg--manuel{background:#f59e0b}.insights-mini-bar-seg--inconnu{background:#9ca3af}.insights-mini-bar-seg--cloud{background:#8b5cf6}.insights-mini-bar-seg--hybrid{background:#f59e0b}.insights-mini-bar-seg--onprem{background:#475569}.insights-sublabel{display:block;font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #6B7280)}.insights-legend{display:inline-flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.insights-legend-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.insights-legend-dot{display:inline-block;width:7px;height:7px;border-radius:999px;flex-shrink:0}.insights-legend-dot--auto{background:#10b981}.insights-legend-dot--manuel{background:#f59e0b}.insights-legend-dot--inconnu{background:#9ca3af}.insights-legend-dot--cloud{background:#8b5cf6}.insights-legend-dot--hybrid{background:#f59e0b}.insights-legend-dot--onprem{background:#475569}.insights-row .kpi-icon-label{display:inline-flex;align-items:center;gap:8px}.insights-row .kpi-icon-label-text{flex:1;min-width:0}.insights-row .kpi-card-value{margin-top:6px}.insights-row .kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.insights-row .kpi-icon--renewal{background:#ecfdf5;color:#10b981}.insights-row .kpi-icon--coverage{background:#f0f9ff;color:#0284c7}.insights-row .kpi-icon--cloud{background:#f5f3ff;color:#8b5cf6}:root[data-theme=dark] .insights-mini-bar{background:#ffffff1f}.tco-by-capability{margin-top:8px;padding:16px 20px;border:1px solid var(--color-border-subtle, #E5E7EB);border-radius:8px}.tco-by-capability-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.tco-by-capability .kpi-icon-label{display:inline-flex;align-items:center;gap:8px}.tco-by-capability-title{margin:0;font-size:var(--text-sm, 14px);font-weight:600;color:var(--color-text-primary, #1A1A1A)}.tco-by-capability-subtitle{font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #6B7280)}.tco-by-capability .kpi-icon--tco{background:#fffbeb;color:#d97706}.tco-by-capability-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.tco-by-capability-row{display:flex;flex-direction:column;gap:4px}.tco-by-capability-row-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tco-by-capability-name{font-size:var(--text-sm, 13px);font-weight:500;color:var(--color-text-primary, #1A1A1A);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.tco-by-capability-meta{display:inline-flex;align-items:center;gap:10px;font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #6B7280);flex-shrink:0}.tco-by-capability-cost{font-weight:600;color:var(--color-text-primary, #1A1A1A)}.tco-by-capability-pct{color:var(--color-text-secondary, #6B7280);min-width:32px;text-align:right}.tco-by-capability-count{color:var(--color-text-tertiary, #9CA3AF)}.tco-by-capability-bar{height:6px;background:var(--color-bg-hover, #F3F4F6);border-radius:999px;overflow:hidden}.tco-by-capability-bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#fef3c7,#d97706);background-color:#d97706;transition:width .24s ease}.tco-by-capability-footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--color-border-subtle, #E5E7EB);font-size:var(--text-xs, 12px);color:var(--color-text-secondary, #6B7280);text-align:right}:root[data-theme=dark] .tco-by-capability{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .tco-by-capability-footer{border-top-color:#3a3a3a}:root[data-theme=dark] .tco-by-capability-bar{background:#ffffff1f}.market-benchmarks{margin-top:8px;padding:16px 20px;border:1px solid var(--color-border-subtle, #E5E7EB);border-radius:8px}.market-benchmarks-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.market-benchmarks .kpi-icon-label{display:inline-flex;align-items:center;gap:8px}.market-benchmarks-title{margin:0;font-size:var(--text-sm, 14px);font-weight:600;color:var(--color-text-primary, #1A1A1A)}.market-benchmarks .kpi-icon--bench{background:#fdf4ff;color:#a21caf}.market-benchmarks-tier-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px;background:linear-gradient(90deg,#fdf4ff,#fae8ff);color:#a21caf;border:1px solid #F0ABFC;flex-shrink:0}.market-benchmarks-subtitle{margin:0 0 12px;font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #6B7280)}.market-benchmarks-uncovered{margin:0 0 12px;font-size:var(--text-xs, 11px);color:var(--color-warning-text, #B45309)}.market-benchmarks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.market-benchmarks-row{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--color-bg-card-subtle, #F9FAFB);border-radius:6px;border:1px solid var(--color-border-subtle, #E5E7EB)}.market-benchmarks-row-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.market-benchmarks-type-block{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.market-benchmarks-app-names{font-size:11px;color:var(--color-text-secondary, #6B7280);font-weight:400;line-height:1.4;word-break:break-word}.market-benchmarks-app-dormant{color:var(--color-warning-text, #B45309);font-weight:500}:root[data-theme=dark] .market-benchmarks-app-dormant{color:#fbbf24}.market-benchmarks-type{font-size:var(--text-sm, 13px);font-weight:600;color:var(--color-text-primary, #1A1A1A);text-transform:uppercase;letter-spacing:.02em}.market-benchmarks-type-count{font-size:var(--text-xs, 11px);color:var(--color-text-tertiary, #9CA3AF)}.market-benchmarks-row-body{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.market-benchmarks-actual,.market-benchmarks-market{display:flex;flex-direction:column;gap:2px;min-width:0}.market-benchmarks-label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary, #9CA3AF);font-weight:500}.market-benchmarks-actual-value{font-size:var(--text-sm, 13px);font-weight:600;color:var(--color-text-primary, #1A1A1A)}.market-benchmarks-unit{font-weight:400;font-size:10px;color:var(--color-text-secondary, #6B7280);margin-left:4px}.market-benchmarks-per-user{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:11px;font-weight:600;color:var(--color-text-primary, #1A1A1A);flex-wrap:wrap}.market-benchmarks-per-user--partial,.market-benchmarks-per-user--missing{color:var(--color-text-secondary, #6B7280);font-weight:500}.market-benchmarks-coverage-meta{font-size:10px;font-weight:400;color:var(--color-text-tertiary, #9CA3AF);font-style:italic}.market-benchmarks-pastille{flex-shrink:0}.market-benchmarks-dormant{margin-top:6px;padding-top:6px;border-top:1px dashed var(--color-border-subtle, #E5E7EB);font-size:11px;font-weight:600;color:var(--color-warning-text, #B45309)}.market-benchmarks-dormant-cost{font-weight:500;color:var(--color-text-secondary, #6B7280)}.market-benchmarks-vs{font-size:10px;color:var(--color-text-tertiary, #9CA3AF);text-transform:uppercase;letter-spacing:.04em;padding:0 4px}.market-benchmarks-market-value{font-size:var(--text-sm, 13px);font-weight:500;color:#a21caf}.market-benchmarks-disclaimer{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--color-border-subtle, #E5E7EB);font-size:10px;color:var(--color-text-tertiary, #9CA3AF);font-style:italic}@media (max-width: 640px){.market-benchmarks-row-body{grid-template-columns:1fr;text-align:left}.market-benchmarks-vs{display:none}}:root[data-theme=dark] .market-benchmarks{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .market-benchmarks-row{background:#1f1f1f;border-color:#3a3a3a}:root[data-theme=dark] .market-benchmarks-disclaimer{border-top-color:#3a3a3a}:root[data-theme=dark] .market-benchmarks-dormant{border-top-color:#3a3a3a;color:#fbbf24}:root[data-theme=dark] .market-benchmarks-uncovered{color:#fbbf24}.contract-value-at-risk{margin-top:8px;padding:16px 20px;background:var(--color-bg-card, #FFFFFF);border:1px solid var(--color-border-subtle, #E5E7EB);border-radius:8px;box-shadow:0 1px 2px #0000000a}.contract-value-at-risk-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.contract-value-at-risk .kpi-icon-label{display:inline-flex;align-items:center;gap:8px}.contract-value-at-risk .kpi-icon--var{background:#fef3c7;color:#b45309}.contract-value-at-risk-title{margin:0;font-size:var(--text-sm, 14px);font-weight:600;color:var(--color-text-primary, #1A1A1A)}.contract-value-at-risk-horizon{font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #6B7280);padding:2px 8px;background:var(--color-bg-card-subtle, #F9FAFB);border:1px solid var(--color-border-subtle, #E5E7EB);border-radius:999px}.contract-value-at-risk-figure{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--color-border-subtle, #E5E7EB)}.contract-value-at-risk-amount{font-size:28px;font-weight:600;color:#b45309;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.contract-value-at-risk-meta{font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #6B7280)}.contract-value-at-risk-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.contract-var-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:6px 10px;border-radius:6px;border-left:3px solid transparent;background:var(--color-bg-card-subtle, #F9FAFB)}.contract-var-row--expired{border-left-color:#dc2626;background:#fef2f2}.contract-var-row--urgent{border-left-color:#f59e0b;background:#fffbeb}.contract-var-row--warn{border-left-color:#3b82f6;background:#eff6ff}.contract-var-row--normal{border-left-color:#9ca3af}.contract-var-name{font-size:var(--text-sm, 13px);font-weight:500;color:var(--color-text-primary, #1A1A1A);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.contract-var-amount{font-size:var(--text-xs, 12px);font-weight:600;color:var(--color-text-primary, #1A1A1A);font-variant-numeric:tabular-nums}.contract-var-days{font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #6B7280);font-variant-numeric:tabular-nums;white-space:nowrap}.contract-var-row--expired .contract-var-days{color:#b91c1c;font-weight:600}.contract-var-row--urgent .contract-var-days{color:#b45309;font-weight:600}:root[data-theme=dark] .contract-value-at-risk{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .contract-value-at-risk-figure{border-bottom-color:#3a3a3a}:root[data-theme=dark] .contract-var-row{background:#1f1f1f}:root[data-theme=dark] .contract-var-row--expired{background:#dc262626}:root[data-theme=dark] .contract-var-row--urgent{background:#f59e0b26}:root[data-theme=dark] .contract-var-row--warn{background:#3b82f626}.vendor-concentration{margin-top:8px;padding:16px 20px;background:var(--color-bg-card, #FFFFFF);border:1px solid var(--color-border-subtle, #E5E7EB);border-radius:8px;box-shadow:0 1px 2px #0000000a}.vendor-concentration-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.vendor-concentration .kpi-icon-label{display:inline-flex;align-items:center;gap:8px}.vendor-concentration .kpi-icon--vendor{background:#eff6ff;color:#1d4ed8}.vendor-concentration-title{margin:0;font-size:var(--text-sm, 14px);font-weight:600;color:var(--color-text-primary, #1A1A1A)}.vendor-concentration-risk{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;border-radius:999px;border:1px solid;white-space:nowrap}.vendor-concentration-risk--high{background:#fef2f2;color:#b91c1c;border-color:#fca5a5}.vendor-concentration-risk--medium{background:#fffbeb;color:#b45309;border-color:#fcd34d}.vendor-concentration-risk--low{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.vendor-concentration-figure{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--color-border-subtle, #E5E7EB)}.vendor-concentration-pct{font-size:28px;font-weight:600;color:#1d4ed8;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.vendor-concentration-meta{font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #6B7280)}.vendor-concentration-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.vendor-row{display:flex;flex-direction:column;gap:4px}.vendor-row-header{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:baseline}.vendor-name{font-size:var(--text-sm, 13px);font-weight:500;color:var(--color-text-primary, #1A1A1A);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.vendor-amount{font-size:var(--text-xs, 12px);font-weight:600;color:var(--color-text-primary, #1A1A1A);font-variant-numeric:tabular-nums}.vendor-pct{font-size:var(--text-xs, 11px);color:var(--color-text-secondary, #6B7280);font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.vendor-bar{height:6px;background:var(--color-bg-hover, #F3F4F6);border-radius:999px;overflow:hidden}.vendor-bar-fill{display:block;height:100%;border-radius:999px;transition:width .24s ease}.vendor-bar-fill--high{background:linear-gradient(90deg,#fecaca,#dc2626)}.vendor-bar-fill--medium{background:linear-gradient(90deg,#fed7aa,#f59e0b)}.vendor-bar-fill--low{background:linear-gradient(90deg,#bbf7d0,#10b981)}:root[data-theme=dark] .vendor-concentration{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .vendor-concentration-figure{border-bottom-color:#3a3a3a}:root[data-theme=dark] .vendor-bar{background:#ffffff1f}.priorities-and-actions{display:flex;flex-direction:column;gap:12px}.priorities-and-actions-header{display:flex;align-items:baseline;gap:10px}.priorities-and-actions-title{margin:0;font-size:var(--text-lg, 16px);font-weight:500;color:var(--color-text-primary)}.priorities-and-actions-subtitle{font-size:var(--text-xs, 12px);color:var(--color-text-secondary);font-style:italic}.priorities-and-actions-empty{margin:0;padding:16px 20px;font-size:var(--text-sm, 13px);color:var(--color-text-secondary, #666);background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius)}.priorities-and-actions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.priorities-and-actions-item{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-left:3px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);transition:box-shadow .15s ease,transform .15s ease}.priorities-and-actions-item:hover{box-shadow:0 2px 6px #0000000f;transform:translateY(-1px)}.priorities-and-actions-item--critical{border-left-color:var(--tint-danger-border)}.priorities-and-actions-item--high{border-left-color:var(--tint-warning-border)}.priorities-and-actions-item--medium{border-left-color:var(--card-modern-border)}.priorities-and-actions-rank{flex-shrink:0;border-radius:999px;padding:4px 10px;font-weight:600;font-size:12px;min-width:28px;text-align:center;font-variant-numeric:tabular-nums}.priorities-and-actions-rank--1{background:#fcebeb;color:#791f1f}.priorities-and-actions-rank--2{background:#faeeda;color:#633806}.priorities-and-actions-rank--3{background:#e6f1fb;color:#0c447c}.priorities-and-actions-rank--other{background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-secondary)}.priorities-and-actions-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.priorities-and-actions-label{font-size:var(--text-sm, 13px);font-weight:500;color:var(--color-text-primary, #1a1a1a);line-height:1.3}.priorities-and-actions-meta{display:flex;gap:8px;align-items:center}.priorities-and-actions-gain{background:var(--tint-success-bg);color:var(--tint-success-fg);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}.priorities-and-actions-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:500;color:var(--color-text-primary);background:transparent;border:.5px solid var(--color-border-secondary, var(--card-modern-border));border-radius:var(--card-modern-radius);cursor:pointer;transition:background .15s ease}.priorities-and-actions-cta:hover{background:var(--color-bg-hover, #F3F4F6)}.priorities-and-actions-cta:focus-visible{outline:2px solid var(--color-text-primary, #1a1a1a);outline-offset:2px}@media (max-width: 768px){.priorities-and-actions-item{flex-wrap:wrap}.priorities-and-actions-cta{margin-left:auto}}:root[data-theme=dark] .costs-synthese .kpi-card{background:#2a2a2a;border-top-color:#3a3a3a;border-right-color:#3a3a3a;border-bottom-color:#3a3a3a}.costs-synthese{display:flex;flex-direction:column;gap:12px}.costs-synthese-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.costs-synthese-title{margin:0;font-size:var(--text-lg, 16px);font-weight:500;color:var(--color-text-primary)}.costs-synthese-cta{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;font-size:var(--text-xs, 12px);font-weight:500;color:var(--color-text-secondary, #666);background:transparent;border:1px solid var(--color-border-subtle, #e0e0e0);border-radius:6px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.costs-synthese-cta:hover{background:var(--color-bg-card, #fff);color:var(--color-text-primary, #1a1a1a);border-color:var(--color-border-hover, #c0c0c0)}.costs-synthese-cta:focus-visible{outline:2px solid var(--color-text-primary, #1a1a1a);outline-offset:2px}.costs-synthese-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 900px){.costs-synthese-grid{grid-template-columns:repeat(2,1fr)}}.costs-synthese .kpi-card{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);padding:var(--card-modern-padding);border-left:3px solid #6B7280}.costs-synthese .kpi-card--ok{border-left-color:var(--tint-success-border)}.costs-synthese .kpi-card--warn{border-left-color:var(--tint-warning-border);background:var(--card-modern-bg)}.costs-synthese .kpi-card--crit{border-left-color:var(--tint-danger-border);background:var(--card-modern-bg)}.costs-synthese .kpi-card--warn .kpi-card-label,.costs-synthese .kpi-card--warn .kpi-card-value,.costs-synthese .kpi-card--crit .kpi-card-label,.costs-synthese .kpi-card--crit .kpi-card-value{color:inherit}.costs-synthese .kpi-card-label{color:var(--color-text-secondary)}.costs-synthese .kpi-card-value{color:var(--color-text-primary)}.costs-synthese-capex-extra{color:var(--color-text-tertiary, #6B7280);font-weight:500}.costs-synthese .kpi-icon-label{display:inline-flex;align-items:center;gap:8px}.costs-synthese .kpi-icon-label-text{flex:1;min-width:0}.costs-synthese .kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.costs-synthese .kpi-card-value{margin-top:6px}.costs-synthese .kpi-icon--wallet{background:#f5f3ff;color:#8b5cf6}.costs-synthese .kpi-icon--completeness{background:#f0fdf4;color:#10b981}.costs-synthese .kpi-icon--contracts{background:#eff6ff;color:#3b82f6}.costs-synthese .kpi-icon--renewal{background:#fffbeb;color:#f59e0b}.group-items-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.group-items-modal{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:0 10px 40px #00000026;width:100%;max-width:720px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.group-items-modal__header{padding:16px 20px;border-bottom:1px solid var(--card-modern-border);display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-shrink:0}.group-items-modal__title{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary)}.group-items-modal__subtitle{margin:4px 0 0;font-size:12px;color:var(--color-text-secondary)}.group-items-modal__close{background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.group-items-modal__close:hover{background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-primary)}.group-items-modal__body{padding:16px 20px 20px;overflow-y:auto;flex-grow:1}.group-items-modal__state{margin:24px 0;text-align:center;font-style:italic;color:var(--color-text-secondary)}.group-items-modal__error{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--tint-danger-bg, #FEF2F2);border:1px solid var(--tint-danger-border, #EF4444);color:var(--tint-danger-fg, #B91C1C);border-radius:6px;font-size:13px}.group-items-modal__groups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.group-items-modal__group{display:flex;flex-direction:column;gap:6px}.group-items-modal__group-title{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);display:flex;align-items:baseline;gap:8px}.group-items-modal__group-count{font-size:11px;font-weight:500;color:var(--color-text-tertiary, #9C9B96);letter-spacing:0;text-transform:none}.group-items-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.group-items-row{display:grid;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:var(--color-bg-card-subtle, #F3F4F6);font-size:13px;color:var(--color-text-primary)}.group-items-list--apps .group-items-row{grid-template-columns:1fr auto auto auto}.group-items-list--integrations .group-items-row{grid-template-columns:1fr auto auto}.group-items-list--alerts .group-items-row{grid-template-columns:1fr auto}.group-items-row__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.group-items-row__arrow{color:var(--color-text-tertiary, #9C9B96);font-weight:400}.group-items-row__editor,.group-items-row__protocol,.group-items-row__cost{font-size:12px;color:var(--color-text-secondary);white-space:nowrap}.group-items-row__cost{font-variant-numeric:tabular-nums;min-width:80px;text-align:right}.group-items-pill{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums}.group-items-pill--good{background:#ecfdf5;color:#047857}.group-items-pill--warn{background:var(--tint-warning-bg, #FFFBEB);color:var(--tint-warning-fg, #92400E)}.group-items-pill--crit{background:var(--tint-danger-bg, #FEF2F2);color:var(--tint-danger-fg, #B91C1C)}.group-items-pill--neutral{background:var(--color-bg-card-subtle, #F3F4F6);color:var(--color-text-secondary, #6B7280)}.group-items-more-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--color-bg-card-subtle, #F3F4F6);border:1px solid var(--card-modern-border, #E5E7EB);color:var(--color-text-secondary, #6B7280);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease;font-family:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:6px;align-self:flex-start}.group-items-more-badge:hover{background:var(--color-bg-hover, #E5E7EB);color:var(--color-text-primary, #1A1A1A);border-color:var(--color-border-hover, #c0c0c0)}.group-items-more-badge:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}:root[data-theme=dark] .group-items-modal{background:var(--card-modern-bg);border-color:var(--card-modern-border)}:root[data-theme=dark] .group-items-modal__title{color:#f3f4f6}:root[data-theme=dark] .group-items-row{background:#1f1f1f;color:#e5e7eb}:root[data-theme=dark] .group-items-pill--good{background:#10b98126;color:#6ee7b7}:root[data-theme=dark] .group-items-pill--neutral{background:#ffffff0f;color:#9ca3af}:root[data-theme=dark] .group-items-more-badge{background:#ffffff0f;border-color:#ffffff1a;color:#fff9}:root[data-theme=dark] .group-items-more-badge:hover{background:#ffffff1f;color:#f9fafb;border-color:#fff3}.group-view{padding:24px 28px;display:flex;flex-direction:column;gap:20px;max-width:1280px;margin:0 auto}.group-view--embedded{padding:0;margin:0;max-width:none}.group-header__title{display:flex;align-items:center;gap:10px}.group-header__title h1{margin:0;font-size:22px;font-weight:600}.group-header__subtitle{margin:4px 0 0;font-size:13px;color:var(--color-text-muted, #6B7280)}.group-selection{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);padding:12px 14px}.group-selection__chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.group-selection__placeholder{font-size:13px;color:var(--color-text-muted, #9CA3AF);font-style:italic}.group-chip{display:inline-flex;align-items:center;gap:6px;background:var(--color-bg-card-subtle, #F3F4F6);border:1px solid var(--card-modern-border, #E5E7EB);color:var(--color-text-secondary, #6B7280);padding:4px 4px 4px 10px;border-radius:14px;font-size:12px;font-weight:500;max-width:220px}.group-chip__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-chip__remove{background:transparent;border:none;cursor:pointer;color:inherit;padding:2px;border-radius:50%;display:flex;align-items:center;justify-content:center}.group-chip__remove:hover{background:#0000001a}.group-selection__add{position:relative}.group-add-btn{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:5px 10px;border:1px dashed var(--color-border, #D1D5DB);background:transparent;border-radius:14px;cursor:pointer;color:var(--color-text-secondary, #4B5563)}.group-add-btn:hover:not(:disabled){border-color:var(--color-border-hover, #c0c0c0);color:var(--color-text-primary)}.group-add-btn:disabled{opacity:.5;cursor:not-allowed}.group-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:20;margin:0;padding:0;min-width:280px;max-height:360px;display:flex;flex-direction:column;background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:8px;box-shadow:0 4px 12px #00000014}.group-picker__header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--color-border, #E5E7EB)}.group-picker__title{font-size:12px;font-weight:600;color:var(--color-text-muted, #6B7280);text-transform:uppercase;letter-spacing:.5px}.group-picker__close{background:transparent;border:none;cursor:pointer;font-size:11px;color:var(--color-text-secondary, #6B7280);padding:2px 6px;border-radius:4px}.group-picker__close:hover{background:var(--color-bg-hover, #F3F4F6)}.group-picker__list{list-style:none;margin:0;padding:4px;overflow-y:auto;flex-grow:1}.group-picker__item{width:100%;background:transparent;border:none;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:8px;color:var(--color-text, #111827)}.group-picker__item:hover{background:var(--color-bg-hover, #F3F4F6)}.group-picker__item input[type=checkbox]{flex-shrink:0;cursor:pointer;accent-color:var(--color-text-primary)}.group-picker__name{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-picker__count{font-size:11px;color:var(--color-text-muted, #6B7280);flex-shrink:0}.group-picker__empty{padding:12px;text-align:center;font-size:12px;color:var(--color-text-muted, #6B7280);font-style:italic;margin:0}.group-picker__masked-note{padding:8px 10px;margin:0;border-top:1px solid var(--color-border, #E5E7EB);font-size:11px;color:var(--color-text-muted, #6B7280);font-style:italic;line-height:1.4}.group-scope-toggle{display:inline-flex;border:1px solid var(--color-border, #E5E7EB);border-radius:8px;padding:2px;background:var(--color-bg-card, #FFFFFF);align-self:flex-start}.group-scope-toggle__btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary, #4B5563);cursor:pointer;transition:background .12s ease,color .12s ease}.group-scope-toggle__btn:hover:not(.group-scope-toggle__btn--active){background:var(--color-bg-hover, #F3F4F6)}.group-scope-toggle__btn--active{background:var(--color-text-primary);color:var(--card-modern-bg, #FFFFFF)}.group-selection__error{margin:8px 0 0;font-size:12px;color:#b91c1c}.group-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 20px;text-align:center;color:var(--color-text-muted, #6B7280)}.group-empty h2{margin:8px 0 0;font-size:18px;font-weight:600;color:var(--color-text, #111827)}.group-empty p{margin:0;max-width:420px;font-size:14px}.group-empty--soft{padding:24px;border:1px dashed var(--color-border, #E5E7EB);border-radius:10px}.group-loading{padding:40px;text-align:center;color:var(--color-text-muted, #6B7280)}.group-error{display:flex;align-items:center;gap:8px;background:#fef2f2;border:1px solid #FECACA;color:#991b1b;padding:10px 12px;border-radius:8px}.group-phrase{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);padding:14px 16px;display:flex;flex-direction:column;gap:6px}.group-phrase__text{font-size:14px;line-height:1.5}.group-phrase__text warn{color:#b45309;font-weight:600}.group-phrase__text crit{color:#b91c1c;font-weight:600}.group-phrase__source{font-size:11px;font-style:italic;color:var(--color-text-muted, #6B7280)}.group-kpis-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 768px){.group-kpis-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 420px){.group-kpis-row{grid-template-columns:1fr}}.group-gauge{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:130px}.group-gauge__label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted, #6B7280)}.group-gauge__value{font-size:42px;font-weight:700;line-height:1}.group-gauge__suffix{font-size:18px;font-weight:500;color:var(--color-text-muted, #6B7280);margin-left:2px}.group-gauge--good .group-gauge__value{color:#047857}.group-gauge--warn .group-gauge__value{color:#b45309}.group-gauge--crit .group-gauge__value{color:#b91c1c}.group-gauge--neutral .group-gauge__value{color:var(--color-text-muted, #6B7280)}.group-dimensions{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);padding:16px}.group-dimensions h3{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted, #6B7280);font-weight:600}.group-dimensions ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.group-dim{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--color-bg-card-subtle, #F3F4F6);border-radius:6px}.group-dim__label{font-size:12px}.group-dim__value{font-weight:700;font-size:15px}.group-dim--good .group-dim__value{color:#047857}.group-dim--warn .group-dim__value{color:#b45309}.group-dim--crit .group-dim__value{color:#b91c1c}.group-dim--neutral .group-dim__value{color:var(--color-text-muted, #6B7280)}.group-kpi{display:flex;align-items:flex-start;gap:10px;background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);padding:14px 16px}.group-kpi__icon{margin-top:3px;flex-shrink:0;border-radius:6px;color:var(--color-text-secondary, #6B7280)}.group-kpi__icon--cost,.group-kpi__icon--entities,.group-kpi__icon--maps{background:var(--color-bg-card-subtle, #F3F4F6);color:var(--color-text-secondary, #6B7280)}.group-kpi__icon--alerts{background:var(--tint-warning-bg, #FFFBEB);color:var(--tint-warning-fg, #92400E)}.group-kpi__icon--critical-apps,.group-kpi__icon--critical-integrations{background:var(--tint-danger-bg, #FEF2F2);color:var(--tint-danger-fg, #B91C1C)}.group-kpi__body{display:flex;flex-direction:column;gap:2px}.group-kpi__label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted, #6B7280)}.group-kpi__value{font-size:22px;font-weight:700;color:var(--color-text, #111827)}.group-kpi__sub{font-size:11px;color:var(--color-text-muted, #6B7280)}.group-breakdown{display:flex;flex-direction:column;gap:10px}.group-breakdown h2{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted, #6B7280);font-weight:600}.group-breakdown__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.group-breakdown__card{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);padding:14px}.group-breakdown__card header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.group-breakdown__card h3{margin:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1}.group-breakdown__score{font-weight:700;font-size:14px;padding:2px 8px;border-radius:12px;background:var(--color-bg-soft, #F3F4F6);flex-shrink:0}.group-breakdown__score--good{color:#047857;background:#ecfdf5}.group-breakdown__score--warn{color:#b45309;background:#fffbeb}.group-breakdown__score--crit{color:#b91c1c;background:#fef2f2}.group-breakdown__score--neutral{color:var(--color-text-muted, #6B7280)}.group-breakdown__card dl{margin:0;display:grid;grid-template-columns:1fr;gap:4px}.group-breakdown__card dl>div{display:flex;justify-content:space-between;font-size:12px}.group-breakdown__card dt{color:var(--color-text-muted, #6B7280)}.group-breakdown__card dd{margin:0;font-weight:500;color:var(--color-text, #111827)}.group-breakdown__basis{font-size:10px;color:var(--color-text-muted, #9CA3AF);font-style:italic}.group-breakdown__err{margin:8px 0 0;font-size:12px;color:#b91c1c}:root[data-theme=dark] .group-selection,:root[data-theme=dark] .group-phrase,:root[data-theme=dark] .group-gauge,:root[data-theme=dark] .group-dimensions,:root[data-theme=dark] .group-kpi,:root[data-theme=dark] .group-breakdown__card,:root[data-theme=dark] .group-picker{background:var(--card-modern-bg);border-color:var(--card-modern-border);color:#e5e7eb}:root[data-theme=dark] .group-dim{background:#1f1f1f}:root[data-theme=dark] .group-empty h2,:root[data-theme=dark] .group-breakdown__card h3,:root[data-theme=dark] .group-kpi__value,:root[data-theme=dark] .group-breakdown__card dd{color:#f3f4f6}:root[data-theme=dark] .group-picker__item{color:#f3f4f6}:root[data-theme=dark] .group-picker__item:hover{background:#374151}:root[data-theme=dark] .group-error{background:#3f1d1d;border-color:#7f1d1d;color:#fca5a5}.group-phrase__placeholder{margin:0;font-size:13px;font-style:italic;color:var(--color-text-muted, #6B7280)}.group-phrase__error{display:flex;align-items:center;gap:8px;background:#fef2f2;border:1px solid #FECACA;color:#991b1b;padding:8px 10px;border-radius:6px;font-size:13px}:root[data-theme=dark] .group-phrase__error{background:#3f1d1d;border-color:#7f1d1d;color:#fca5a5}.group-breakdown__empty{margin:0;padding:24px;text-align:center;font-size:13px;font-style:italic;color:var(--color-text-muted, #6B7280);border:1px dashed var(--color-border, #E5E7EB);border-radius:8px}.group-kpi__value--muted{font-size:16px;font-weight:500;color:var(--color-text-muted, #6B7280);font-style:italic;cursor:help}.group-cost-info-icon{display:inline-block;vertical-align:middle;margin-left:4px;color:var(--color-text-secondary, #6B7280);cursor:help;flex-shrink:0}.group-cost-info-icon:hover{color:var(--color-text-primary, #1A1A1A)}.analyse-page{background:var(--color-bg-page);min-height:100vh;padding:var(--layout-padding);font-family:var(--font-family);font-size:var(--text-base);line-height:var(--line-height-base);color:var(--color-text-primary)}.analyse-page-inner{max-width:var(--layout-max-width);margin:0 auto;display:flex;flex-direction:column;gap:16px}.analyse-empty-state{padding:64px 24px;text-align:center;color:var(--color-text-secondary);font-size:var(--text-md)}.analyse-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px;position:sticky;top:var(--app-header-height, 88px);z-index:10;background:var(--color-bg-page)}.analyse-sticky-zone{position:sticky;top:var(--app-header-height, 88px);z-index:10;background:var(--color-bg-page);padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--color-border-subtle, #E5E5E0)}.analyse-sticky-zone .analyse-header{position:static;margin-bottom:0;background:transparent}.analyse-sticky-zone .analyse-filters-sticky{position:static;padding-bottom:0;margin-bottom:0;border-bottom:none;background:transparent}.analyse-filters-sticky{position:sticky;top:calc(var(--app-header-height, 88px) + 64px);z-index:9;background:var(--color-bg-page);padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--color-border-subtle, #E5E5E0)}:root[data-theme=dark] .analyse-sticky-zone{background:#1a1a1a;border-bottom-color:#3a3a3a}:root[data-theme=dark] .analyse-filters-sticky{background:#1a1a1a;border-bottom-color:#3a3a3a}.analyse-header-left{display:flex;align-items:center;min-width:0;flex:1}.analyse-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.analyse-btn{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:var(--text-base);padding:6px 12px;background:transparent;border:.5px solid var(--color-border-button);border-radius:var(--radius-lg);color:var(--color-text-primary);cursor:pointer;transition:background-color .1s ease}.analyse-btn:hover{background:var(--color-bg-card-subtle)}.analyse-btn-primary{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:var(--text-base);padding:6px 12px;background:var(--color-action-primary);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer}.analyse-btn-primary:hover{filter:brightness(.95)}.analyse-btn-tertiary{font-family:inherit;font-size:var(--text-xs);padding:4px 10px;color:var(--color-text-secondary);border:none;background:transparent;cursor:pointer}.analyse-btn-tertiary:hover{color:var(--color-text-primary)}.scores-section{display:flex;flex-direction:column;gap:16px}.scores-section-head{display:flex;align-items:center;gap:12px}.scores-section-title{margin:0;font-size:var(--text-md);font-weight:600;color:var(--color-text-secondary);letter-spacing:.02em;text-transform:uppercase}.scores-section-collapse-btn{margin-left:auto}.scores-section-body{display:flex;flex-direction:column;gap:16px}.score-block{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:24px}.score-block-left{display:flex;flex-direction:column;align-items:center;gap:10px}.score-ring-container{position:relative;width:120px;height:120px}.score-ring-svg{width:120px;height:120px;transform:rotate(-90deg)}.score-ring-track{fill:none;stroke:var(--color-border-subtle);stroke-width:8}.score-ring-progress{fill:none;stroke:var(--color-score-good);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.score-ring-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-5xl);font-weight:500;color:var(--color-text-primary)}.score-delta-badge{display:inline-flex;align-items:center;padding:2px 10px;background:var(--color-success-bg);color:var(--color-success-text);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:500}.score-block-right{display:flex;flex-direction:column;gap:10px}.score-analyse-label{font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.score-phrase{font-size:var(--text-lg);color:var(--color-text-primary);line-height:var(--line-height-base)}.score-phrase-loading{color:var(--color-text-tertiary);font-style:italic}.score-ring-value-loading{color:var(--color-text-tertiary)}.score-mock-notice{margin-top:4px;color:var(--color-text-tertiary);font-size:var(--text-xs)}.score-mock-notice-soft{opacity:.7}.score-actions-row{display:flex;align-items:center;gap:4px}.score-block-recalculate{display:inline-flex;align-items:center;gap:6px;background:#10b981;color:#fff;border:none;border-radius:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .15s ease;box-shadow:0 1px 2px #10b98126}.score-block-recalculate:hover:not(:disabled){background:#059669;box-shadow:0 2px 4px #10b98140;transform:translateY(-1px)}.score-block-recalculate:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #10b98126}.score-block-recalculate:disabled,.score-block-recalculate--loading{background:#6ee7b7;cursor:wait;opacity:.85}.score-block-recalculate:focus-visible{outline:2px solid #059669;outline-offset:2px}.score-block-recalculate-icon{flex-shrink:0}.score-block-recalculate-icon--spinning{animation:score-block-spin 1s linear infinite}@keyframes score-block-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.score-block-recalculate-feedback{display:inline-flex;align-items:center;gap:4px;margin-left:4px;color:#059669;font-size:12px;font-weight:500;animation:score-block-feedback-fade .3s ease}@keyframes score-block-feedback-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.highlight-warn{background:var(--color-warn-bg);padding:0 4px;border-radius:var(--radius-sm)}.highlight-crit{background:var(--color-crit-bg);padding:0 4px;border-radius:var(--radius-sm)}.focus-block{display:flex;flex-direction:column;gap:10px;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:20px}.focus-block-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.focus-label-group{display:flex;align-items:center;gap:8px}.focus-accent-vertical{display:inline-block;width:6px;height:18px;background:var(--color-action-primary);border-radius:var(--radius-xs)}.focus-label{font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.focus-title{font-size:var(--text-2xl);font-weight:500;color:var(--color-text-primary);margin:0}.focus-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--line-height-base)}.focus-progress-row{display:flex;align-items:center;gap:12px}.focus-progress-bar{flex:1;height:6px;background:var(--color-bg-card-subtle);border-radius:var(--radius-sm);overflow:hidden}.focus-progress-fill{height:100%;background:var(--color-action-primary);transition:width .3s ease}.focus-progress-text{font-size:var(--text-xs);color:var(--color-text-secondary);flex-shrink:0}.focus-cta-row{display:flex;justify-content:flex-start;margin-top:4px}.focus-loading,.focus-empty{padding:32px 20px;text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm)}.focus-change-wrapper{position:relative}.focus-change-btn{color:var(--color-action-soft-text)}.focus-progress-row-ungrouped{justify-content:flex-start}.focus-change-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:320px;max-width:420px;max-height:320px;overflow-y:auto;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000014;padding:4px;z-index:100}.focus-change-menu-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 4px;border-bottom:.5px solid var(--color-border-default)}.focus-change-menu-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);font-weight:500}.focus-change-menu-close{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer}.focus-change-menu-close:hover{background:var(--color-bg-card-subtle);color:var(--color-text-primary)}.focus-change-menu-list{list-style:none;padding:4px 0;margin:0}.focus-change-menu-item{width:100%;display:block;text-align:left;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;font-family:inherit}.focus-change-menu-item:hover{background:var(--color-bg-card-subtle)}.focus-change-menu-item.active{background:var(--color-action-soft-bg)}.focus-change-menu-item-title{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500;margin-bottom:4px}.focus-change-menu-item-meta{display:flex;align-items:center;gap:8px;font-size:var(--text-xs)}.focus-change-menu-severity{display:inline-block;padding:2px 8px;border-radius:var(--radius-md);font-weight:500}.focus-change-menu-severity-critique{background:var(--color-crit-bg);color:var(--color-crit-accent)}.focus-change-menu-severity-elevee{background:var(--color-bg-info-soft);color:var(--color-text-info-dark)}.focus-change-menu-severity-moyenne{background:var(--color-warn-bg);color:var(--color-warn-text)}.focus-change-menu-severity-faible{background:var(--color-bg-card-subtle);color:var(--color-text-secondary)}.focus-change-menu-points{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.evolution-block{display:flex;flex-direction:column;gap:12px;border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:20px}.evolution-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.evolution-title{margin:0 0 4px;font-size:var(--text-xl);font-weight:500;color:var(--color-text-primary)}.evolution-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary)}.evolution-period-selector{display:inline-flex;gap:2px;background:var(--color-bg-hover, #F3F4F6);border-radius:999px;padding:3px}.evolution-period-btn{font-family:inherit;font-size:var(--text-xs);padding:4px 10px;background:transparent;border:1px solid transparent;border-radius:999px;color:var(--color-text-secondary);cursor:pointer}.evolution-period-btn.active{background:var(--card-modern-bg);border-color:var(--card-modern-border);color:var(--color-text-primary);font-weight:500}.evolution-chart-wrapper{position:relative;padding:8px 0}.evolution-chart-svg{width:100%;height:140px;display:block}.evolution-point-label{font-size:10px;font-weight:600;fill:var(--tint-success-border, #10B981);font-variant-numeric:tabular-nums}.evolution-grid-line{stroke:var(--color-border-subtle);stroke-width:1;stroke-dasharray:3 3}.evolution-curve{fill:none;stroke:var(--tint-success-border, #10B981);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.evolution-curve-fill{fill:var(--tint-success-bg, #ECFDF5);opacity:1}.evolution-point{fill:var(--tint-success-border, #10B981)}.evolution-month-labels{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;font-size:var(--text-2xs);color:var(--color-text-secondary);text-align:center}.evolution-cta-row{display:flex;justify-content:center}.evolution-block .analyse-btn-tertiary{color:var(--tint-info-fg, #1E40AF);font-weight:500}.evolution-block .analyse-btn-tertiary:hover{color:var(--tint-info-border, #3B82F6)}.domain-tabs-bar{display:flex;gap:0;background:#f9fafb;padding:12px 16px 0;border-bottom:1px solid #E5E7EB;margin-top:8px}.domain-tab{position:relative;font-family:inherit;font-size:15px;font-weight:500;padding:6px 16px 10px;background:transparent;border:none;color:#6b7280;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .15s ease}.domain-tab:hover:not(.disabled):not(.active){color:#1a1a1a}.domain-tab:hover:not(.disabled):not(.active):after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:#e5e7eb}.domain-tab.active{color:#10b981;font-weight:600;font-size:15px}.domain-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#10b981;transition:background .2s ease}.domain-tab.disabled{color:#9ca3af;cursor:default}.domain-tab-coming-soon{font-style:italic;font-weight:400;margin-left:4px}.domain-tab-ent-badge{background:#ede9fe;color:#7c3aed;border:1px solid #DDD6FE;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;letter-spacing:.04em;text-transform:uppercase}.tab-placeholder{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:48px 24px;text-align:center;color:var(--color-text-secondary);font-size:var(--text-md);margin-top:12px}.actions-list{display:flex;flex-direction:column;gap:10px;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:20px;margin-top:16px}.actions-list-empty,.actions-list-loading{padding:32px 20px;text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm)}.actions-list-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.actions-list-title{margin:0;font-size:var(--text-xl);font-weight:500;color:var(--color-text-primary)}.actions-list-count{font-size:var(--text-xs);color:var(--color-text-secondary)}.actions-list-items{display:flex;flex-direction:column;gap:8px}.actions-list-expand{align-self:center;display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:transparent;border:none;font-family:inherit;font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer}.actions-list-expand:hover{color:var(--color-text-primary)}.actions-list-chevron{transition:transform .15s ease}.actions-list-chevron.rotated{transform:rotate(180deg)}.resolved-actions-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-success-bg);color:var(--color-success-text);border-radius:var(--radius-lg);font-size:var(--text-xs)}.resolved-actions-check{font-weight:600}.action-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;background:var(--color-bg-page);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg)}.action-card-content{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.action-card-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.action-card-title{margin:0;font-size:var(--text-md);font-weight:500;color:var(--color-text-primary)}.action-card-description{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--line-height-base)}.action-card-detail-btn{flex-shrink:0;font-family:inherit;font-size:var(--text-xs);padding:6px 10px;background:transparent;border:.5px solid var(--color-border-button);border-radius:var(--radius-lg);color:var(--color-text-primary);cursor:pointer}.action-card-detail-btn:hover:not(:disabled){background:var(--color-bg-card-subtle)}.action-card-detail-btn:disabled{opacity:.5;cursor:not-allowed}.action-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500;letter-spacing:.01em}.action-badge-type-quick-win{background:var(--color-success-bg);color:var(--color-success-text)}.action-badge-type-action-longue{background:var(--color-bg-card-subtle);color:var(--color-text-on-card-subtle)}.action-badge-type-investigation{background:var(--color-action-soft-bg);color:var(--color-action-soft-text)}.action-badge-impact-fort{background:var(--color-bg-info-soft);color:var(--color-text-info-dark)}.action-badge-impact-moyen{background:var(--color-warn-bg);color:var(--color-warn-text)}.action-badge-impact-faible{background:var(--color-bg-card-subtle);color:var(--color-text-secondary)}.finances-view{display:flex;flex-direction:column;gap:16px;margin-top:12px}.finances-loading,.finances-error,.finances-empty{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:48px 24px;text-align:center;color:var(--color-text-secondary);font-size:var(--text-md)}.finances-section-title{margin:0 0 12px;font-size:var(--text-xl);font-weight:500;color:var(--color-text-primary)}.finances-chart-title{margin:0 0 12px;font-size:var(--text-md);font-weight:500;color:var(--color-text-primary)}.finances-empty-message{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0;padding:12px 0}.finances-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.finances-kpi-row .kpi-card{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);padding:var(--card-modern-padding)}.finances-kpi-row .finances-kpi-label-with-icon{display:flex;align-items:center;gap:8px}.finances-kpi-row .finances-kpi-label-text{flex:1;min-width:0}.finances-kpi-row .finances-kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.finances-kpi-row .kpi-card-value{margin-top:6px}.finances-kpi-icon--wallet{background:#f5f3ff;color:#8b5cf6}.finances-kpi-icon--check{background:#f0fdf4;color:#10b981}.finances-kpi-icon--calc{background:#f3f4f6;color:#6b7280}.finances-kpi-icon--trending{background:#f5f3ff;color:#8b5cf6}.finances-kpi-value--success{color:#3b6d11}.finances-top-apps{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:20px}.finances-top-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.finances-top-item{display:grid;grid-template-columns:30px 1fr 130px;gap:12px;align-items:center}.finances-top-rank{font-size:var(--text-sm);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-weight:500}.finances-top-info{display:flex;flex-direction:column;gap:4px;min-width:0}.finances-top-info-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.finances-top-name{font-size:var(--text-base);font-weight:500;color:var(--color-text-primary)}.finances-top-editor{font-size:var(--text-xs);color:var(--color-text-secondary)}.finances-top-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500}.finances-top-badge-crit-high{background:var(--color-bg-info-soft);color:var(--color-text-info-dark)}.finances-top-badge-crit-medium{background:var(--color-warn-bg);color:var(--color-warn-text)}.finances-top-badge-crit-low{background:var(--color-bg-card-subtle);color:var(--color-text-secondary)}.finances-top-bar-container{flex:1;height:6px;background:var(--color-bg-card-subtle);border-radius:var(--radius-sm);overflow:hidden}.finances-top-bar{height:100%;background:var(--color-chart-blue);transition:width .3s ease}.finances-top-cost{font-size:var(--text-base);font-weight:500;color:var(--color-text-primary);text-align:right;font-variant-numeric:tabular-nums}.finances-top-costs{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.finances-top-cost-row{display:flex;align-items:baseline;gap:6px}.finances-top-cost-tag{font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;color:var(--color-text-tertiary);text-transform:uppercase}.finances-top-cost-tag--secondary{opacity:.85}.finances-top-cost-capex{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;text-align:right}.finances-top-toggle{margin-top:14px;background:transparent;border:1px solid var(--color-border-default);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;padding:6px 14px;border-radius:var(--radius-md);align-self:flex-start;transition:background .15s,color .15s,border-color .15s}.finances-top-toggle:hover{background:var(--color-bg-card-subtle);color:var(--color-text-primary)}.finances-charts-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.finances-repartition-chart,.finances-top-editors,.finances-crit-matrix{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:16px}.finances-repartition-bar{display:flex;width:100%;height:12px;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg-card-subtle)}.finances-repartition-seg{height:100%}.finances-repartition-seg-capex{background:var(--color-chart-blue)}.finances-repartition-seg-opex{background:var(--color-action-primary)}.finances-repartition-seg-tma{background:var(--color-chart-green)}.finances-repartition-seg-resources{background:var(--color-chart-neutral)}.finances-repartition-seg-custom{background:var(--color-success-secondary)}.finances-repartition-seg-autres{background:var(--color-text-tertiary)}.finances-repartition-legend{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:4px}.finances-repartition-legend-item{display:flex;align-items:center;gap:8px;font-size:var(--text-xs)}.finances-repartition-legend-dot{display:inline-block;width:10px;height:10px;border-radius:var(--radius-xs);flex-shrink:0}.finances-repartition-legend-label{color:var(--color-text-primary);font-weight:500;min-width:75px}.finances-repartition-legend-value{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.finances-editors-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.finances-editor-item{display:flex;flex-direction:column;gap:4px}.finances-editor-header{display:flex;align-items:baseline;justify-content:space-between}.finances-editor-name{font-size:var(--text-base);font-weight:500;color:var(--color-text-primary)}.finances-editor-share{font-size:var(--text-sm);color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-weight:500}.finances-editor-bar-container{height:6px;background:var(--color-bg-card-subtle);border-radius:var(--radius-sm);overflow:hidden}.finances-editor-bar{height:100%;background:var(--color-chart-blue)}.finances-editor-details{display:flex;gap:4px;font-size:var(--text-xs);color:var(--color-text-secondary)}.finances-editor-count{color:var(--color-text-tertiary)}.finances-matrix-grid{display:grid;grid-template-columns:auto 1fr 1fr;gap:4px}.finances-matrix-col-header,.finances-matrix-row-header{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;font-weight:500;display:flex;align-items:center}.finances-matrix-row-header{writing-mode:horizontal-tb;justify-content:flex-end}.finances-matrix-cell{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-top:3px solid var(--card-modern-border);border-radius:var(--card-modern-radius);padding:14px 16px;text-align:left;display:flex;flex-direction:column;align-items:stretch;gap:8px;box-shadow:var(--card-modern-shadow)}.finances-matrix-cell-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.cell-cout_eleve_crit_forte{border-top-color:var(--tint-danger-border)}.cell-cout_eleve_crit_faible{border-top-color:var(--tint-warning-border)}.cell-cout_faible_crit_forte{border-top-color:var(--tint-info-border)}.cell-cout_faible_crit_faible{border-top-color:var(--card-modern-border)}.finances-matrix-count{font-size:18px;font-weight:500;line-height:1.2;padding:4px 12px;border-radius:var(--card-modern-radius);background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0}.cell-cout_eleve_crit_forte .finances-matrix-count{background:var(--tint-danger-bg);color:var(--tint-danger-fg)}.cell-cout_eleve_crit_faible .finances-matrix-count{background:var(--tint-warning-bg);color:var(--tint-warning-fg)}.cell-cout_faible_crit_forte .finances-matrix-count{background:var(--tint-info-bg);color:var(--tint-info-fg)}.finances-matrix-hint{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.4}.finances-matrix-apps{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;width:100%}.finances-matrix-app{display:flex;justify-content:space-between;gap:8px;font-size:var(--text-xs);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.finances-matrix-app-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finances-matrix-app-cost{flex:0 0 auto;color:var(--color-text-secondary);font-weight:500}.finances-matrix-toggle{margin-top:6px;background:transparent;border:1px solid var(--sm-border, var(--color-border-default));border-radius:var(--sm-radius-md);padding:4px 10px;font-size:11px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition, .15s ease);align-self:flex-start}.finances-matrix-toggle:hover{background:var(--color-bg-card-subtle);color:var(--color-text-primary)}.finances-matrix-footer{margin:12px 0 0;font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--line-height-base)}.finances-matrix-footer code{background:var(--color-bg-card-subtle);padding:1px 4px;border-radius:var(--radius-xs);font-family:inherit;font-size:inherit}@media (max-width: 900px){.finances-kpi-row{grid-template-columns:repeat(2,1fr)}.finances-charts-row{grid-template-columns:1fr}.finances-top-item{grid-template-columns:24px 1fr}.finances-top-cost{grid-column:2;text-align:left}.finances-top-costs{grid-column:2;align-items:flex-start}}.risks-structured-view{display:flex;flex-direction:column;gap:16px;margin-top:12px}.risks-loading,.risks-error{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:48px 24px;text-align:center;color:var(--color-text-secondary);font-size:var(--text-md)}.risks-header-stats{background:var(--color-bg-card-subtle);border-radius:var(--radius-lg);padding:16px 20px;display:flex;align-items:center}.risks-header-stats.has-alerts{background:var(--color-warn-bg)}.risks-header-summary{display:flex;align-items:center;gap:16px}.risks-header-big{font-size:var(--text-5xl);font-weight:500;line-height:1;color:var(--color-text-primary)}.risks-header-stats.has-alerts .risks-header-big{color:var(--color-warn-text)}.risks-header-label{display:flex;flex-direction:column;gap:2px}.risks-header-main{font-size:var(--text-md);color:var(--color-text-primary);font-weight:500}.risks-header-stats.has-alerts .risks-header-main{color:var(--color-warn-text)}.risks-header-sub{font-size:var(--text-xs);color:var(--color-text-secondary)}.risks-category{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:16px 20px}.risks-category-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.risks-category-title{margin:0;font-size:var(--text-xl);font-weight:500;color:var(--color-text-primary)}.risks-category-aggregate{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500}.risks-category-aggregate.has-alert{color:var(--color-warn-text)}.risks-category-rules{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.risk-rule-row{display:grid;grid-template-columns:30px 1fr 30px;gap:12px;align-items:flex-start;padding:12px;background:var(--color-bg-page);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg)}.risk-rule-row.triggered{background:var(--color-warn-bg);border-color:var(--color-warn-accent)}.risk-rule-row.ok{background:var(--color-bg-page)}.risk-rule-icon{display:flex;align-items:center;justify-content:center;padding-top:2px}.risk-rule-icon-alert{color:var(--color-warn-accent)}.risk-rule-icon-ok{color:var(--color-score-good)}.risk-rule-content{display:flex;flex-direction:column;gap:4px;min-width:0}.risk-rule-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.risk-rule-id{font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--color-text-tertiary);letter-spacing:.04em;font-weight:500}.risk-rule-severity{display:inline-block;padding:2px 8px;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500}.risk-rule-severity-critique{background:var(--color-crit-bg);color:var(--color-crit-accent)}.risk-rule-severity-elevee{background:var(--color-bg-info-soft);color:var(--color-text-info-dark)}.risk-rule-severity-moyenne{background:var(--color-warn-bg);color:var(--color-warn-text)}.risk-rule-severity-faible{background:var(--color-bg-card-subtle);color:var(--color-text-secondary)}.risk-rule-dimension{display:inline-block;padding:2px 8px;border-radius:var(--radius-md, 6px);font-size:var(--text-xs, 11px);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.risk-rule-dimension-architecture,.risk-rule-dimension-contrats{background:#eff6ff;color:#1d4ed8}.risk-rule-dimension-finances{background:#fffbeb;color:#b45309}:root[data-theme=dark] .risk-rule-dimension-architecture,:root[data-theme=dark] .risk-rule-dimension-contrats{background:#3b82f626;color:#93c5fd}:root[data-theme=dark] .risk-rule-dimension-finances{background:#f59e0b26;color:#fcd34d}.risks-dimension-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin-bottom:12px;background:#eff6ff;border:1px solid #BFDBFE;border-radius:8px}.risks-dimension-banner-label{font-size:var(--text-sm, 13px);color:#1e40af;font-weight:500}.risks-dimension-banner-reset{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:transparent;border:1px solid #BFDBFE;border-radius:6px;color:#1e40af;font-size:12px;font-weight:500;cursor:pointer;transition:background .12s ease}.risks-dimension-banner-reset:hover{background:#3b82f614}:root[data-theme=dark] .risks-dimension-banner{background:#3b82f61f;border-color:#3b82f64d}:root[data-theme=dark] .risks-dimension-banner-label{color:#93c5fd}:root[data-theme=dark] .risks-dimension-banner-reset{border-color:#3b82f64d;color:#93c5fd}.risk-rule-status-ok-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500;background:var(--color-success-bg);color:var(--color-success-text)}.risk-rule-title{margin:0;font-size:var(--text-md);font-weight:500;color:var(--color-text-primary)}.risk-rule-description{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--line-height-base)}.risk-rule-metrics{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.risk-rule-metric{font-size:var(--text-xs);color:var(--color-text-secondary)}.risk-rule-metric strong{color:var(--color-text-primary);font-weight:500}.risk-rule-metric-progress{color:var(--color-success-text);font-weight:500}.risk-rule-items-wrapper{margin-top:6px}.risk-rule-items-toggle{background:transparent;border:none;padding:0;font-family:inherit;font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.risk-rule-items-toggle:hover{color:var(--color-text-primary)}.risk-rule-items-list{list-style:disc;padding-left:20px;margin:6px 0 0;display:flex;flex-direction:column;gap:2px}.risk-rule-item{font-size:var(--text-xs);color:var(--color-text-primary)}.risk-rule-item-more{font-size:var(--text-xs);color:var(--color-text-tertiary);font-style:italic;list-style:none;margin-left:-20px}.risk-rule-detail-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-tertiary);cursor:pointer}.risk-rule-detail-btn:hover:not(:disabled){background:var(--color-bg-card-subtle);color:var(--color-text-primary)}.risk-rule-detail-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 900px){.risk-rule-row{grid-template-columns:24px 1fr 24px}}.contrats-view{display:flex;flex-direction:column;gap:16px;margin-top:12px}.contrats-loading,.contrats-error,.contrats-empty{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:48px 24px;text-align:center;color:var(--color-text-secondary);font-size:var(--text-md)}.contrats-empty-title{font-size:var(--text-2xl);color:var(--color-text-primary);font-weight:500;margin:0 0 12px}.contrats-empty-hint{font-size:var(--text-sm);line-height:var(--line-height-base);margin:0 0 12px}.contrats-empty-stats{margin-top:16px;font-size:var(--text-xs);color:var(--color-text-tertiary)}.contrats-section-title,.contrats-timeline-title{margin:0 0 12px;font-size:var(--text-xl);font-weight:500;color:var(--color-text-primary)}.contrats-empty-message{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0;padding:12px 0}.contrats-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1100px){.contrats-kpi-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 700px){.contrats-kpi-row{grid-template-columns:repeat(2,1fr)}}.contrats-kpi-row .kpi-icon-label{display:inline-flex;align-items:center;gap:8px}.contrats-kpi-row .kpi-icon-label-text{flex:1;min-width:0}.contrats-kpi-row .kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.contrats-kpi-row .kpi-card-value{margin-top:6px}.contrats-kpi-row .kpi-icon--total{background:#f5f3ff;color:#8b5cf6}.contrats-kpi-row .kpi-icon--completeness{background:#f0fdf4;color:#10b981}.contrats-kpi-row .kpi-icon--critical{background:#fffbeb;color:#f59e0b}.contrats-kpi-row .kpi-icon--watch{background:#eff6ff;color:#3b82f6}.contrats-kpi-row .kpi-icon--unowned{background:#f3f4f6;color:#6b7280}.contrats-kpi-row .kpi-card{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);padding:var(--card-modern-padding)}.contrats-kpi-row .kpi-card--warn,.contrats-kpi-row .kpi-card--crit{background:var(--card-modern-bg)}.contrats-kpi-row .kpi-card--warn .kpi-card-label,.contrats-kpi-row .kpi-card--warn .kpi-card-value,.contrats-kpi-row .kpi-card--crit .kpi-card-label,.contrats-kpi-row .kpi-card--crit .kpi-card-value{color:inherit}.contrats-kpi-row .kpi-card-label{color:var(--color-text-secondary)}.contrats-kpi-row .kpi-card-value{color:var(--color-text-primary)}.contrats-timeline{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:20px}.contrats-timeline-empty{padding:20px}.contrats-timeline-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.contrats-timeline-header-right{display:inline-flex;align-items:center;gap:14px}.contrats-timeline-range-toggle{display:inline-flex;background:var(--color-bg-hover, #F3F4F6);border-radius:999px;padding:2px;gap:0}.contrats-timeline-range-btn{padding:3px 10px;font-size:11px;font-weight:500;background:transparent;border:1px solid transparent;border-radius:999px;color:var(--color-text-secondary);cursor:pointer;font-family:inherit}.contrats-timeline-range-btn--active{background:var(--card-modern-bg);border-color:var(--card-modern-border);color:var(--color-text-primary)}.contrats-timeline-legend{display:inline-flex;align-items:center;gap:14px;font-size:11px;color:var(--color-text-secondary)}.contrats-timeline-legend-item{display:inline-flex;align-items:center;gap:4px}.contrats-timeline-legend-swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.contrats-timeline-svg{width:100%;height:200px;display:block}.contrats-timeline-bar{transition:opacity .12s ease}.contrats-timeline-bar:hover{opacity:.85}.contrats-timeline-bar--highlight{stroke:#1a1a1a;stroke-width:1}.contrats-timeline-drilldown{margin-top:12px;padding:12px 14px;background:var(--color-bg-hover, #F3F4F6);border-radius:var(--card-modern-radius);border:.5px solid var(--card-modern-border)}.contrats-timeline-drilldown-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.contrats-timeline-drilldown-title{font-size:13px;font-weight:500;color:var(--color-text-primary)}.contrats-timeline-drilldown-close{background:transparent;border:none;font-size:18px;line-height:1;cursor:pointer;color:var(--color-text-secondary);padding:0 6px}.contrats-timeline-drilldown-close:hover{color:var(--color-text-primary)}.contrats-timeline-drilldown-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;max-height:240px;overflow-y:auto}.contrats-timeline-drilldown-item{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:6px 4px;border-bottom:1px solid var(--card-modern-border);font-size:12px}.contrats-timeline-drilldown-item:last-child{border-bottom:none}.contrats-timeline-drilldown-name{color:var(--color-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contrats-timeline-drilldown-amount{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-weight:500}.contrats-timeline-drilldown-date{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:11px}:root[data-theme=dark] .contrats-timeline-drilldown{background:#ffffff0a}.contrats-timeline-wrapper{position:relative;padding:20px 10px 10px}.contrats-timeline-axis{position:relative;height:18px;margin-bottom:10px;border-bottom:.5px solid var(--color-border-subtle)}.contrats-timeline-month{position:absolute;transform:translate(-50%);font-size:var(--text-2xs);color:var(--color-text-tertiary);letter-spacing:.04em;white-space:nowrap}.contrats-timeline-track{position:relative;height:28px}.contrats-timeline-point{position:absolute;top:50%;width:10px;height:10px;background:var(--color-chart-blue);border-radius:var(--radius-pill);transform:translate(-50%,-50%);cursor:default;border:2px solid var(--color-bg-card)}.contrats-timeline-point:hover{filter:brightness(.85)}.contrats-timeline-point.cluster{width:22px;height:22px;background:var(--color-chart-blue);color:var(--color-bg-card);font-size:var(--text-2xs);font-weight:600;display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;border:2px solid var(--color-bg-card)}.contrats-table-section{background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-xl);padding:20px;display:flex;flex-direction:column;gap:12px}.contrats-table-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.contrats-table-header .contrats-section-title{margin:0}.contrats-filters{display:inline-flex;gap:2px;background:var(--color-bg-card-subtle);border-radius:var(--radius-lg);padding:2px}.contrats-filter-btn{font-family:inherit;font-size:var(--text-xs);padding:4px 10px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-weight:500}.contrats-filter-btn:hover:not(.active){color:var(--color-text-primary)}.contrats-filter-btn.active{background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:0 1px 2px #0000000a}.contrats-table-empty{padding:24px 12px;text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm)}.contrats-table-wrapper{overflow-x:auto}.contrats-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.contrats-table thead th{padding:8px 10px;text-align:left;font-weight:500;font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:.5px solid var(--color-border-default);white-space:nowrap}.contrats-table tbody td{padding:10px;border-bottom:.5px solid var(--color-border-subtle);vertical-align:middle}.contrats-row:last-child td{border-bottom:none}.contrats-row-expired,.contrats-row-critical{background:var(--color-crit-bg)}.contrats-row-warning{background:var(--color-warn-bg)}.contrats-row-unknown{background:var(--color-bg-card-subtle)}.contrats-td-name{font-weight:500;color:var(--color-text-primary)}.contrats-td-date{white-space:nowrap;font-variant-numeric:tabular-nums}.contrats-empty-cell{color:var(--color-text-tertiary)}.contrats-crit-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500}.contrats-crit-badge-high{background:var(--color-bg-info-soft);color:var(--color-text-info-dark)}.contrats-crit-badge-medium{background:var(--color-warn-bg);color:var(--color-warn-text)}.contrats-crit-badge-low{background:var(--color-bg-card-subtle);color:var(--color-text-secondary)}.contrats-load-more-btn{align-self:center;font-family:inherit;font-size:var(--text-sm);padding:8px 14px;background:transparent;border:.5px solid var(--color-border-button);border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:not-allowed;opacity:.5}@media (max-width: 900px){.contrats-kpi-row{grid-template-columns:repeat(2,1fr)}.contrats-table-header{flex-direction:column;align-items:stretch}.contrats-filters{align-self:flex-start}}.slide-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1000;display:flex;justify-content:flex-end;animation:slide-panel-fade-in .18s ease-out}@keyframes slide-panel-fade-in{0%{opacity:0}to{opacity:1}}.slide-panel{background:var(--color-bg-card);width:440px;max-width:92vw;height:100%;box-shadow:-8px 0 24px #00000014;display:flex;flex-direction:column;outline:none;animation:slide-panel-slide-in .24s ease-out}@keyframes slide-panel-slide-in{0%{transform:translate(16px)}to{transform:translate(0)}}.slide-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:.5px solid var(--color-border-default)}.slide-panel-title{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);line-height:1.35}.slide-panel-close-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-tertiary);cursor:pointer;flex-shrink:0}.slide-panel-close-btn:hover{background:var(--color-bg-card-subtle);color:var(--color-text-primary)}.slide-panel-body{flex:1;overflow-y:auto;padding:16px 20px 24px}.risk-detail-loading,.risk-detail-error,.risk-detail-items-empty{color:var(--color-text-secondary);font-size:var(--text-base);padding:16px 0}.risk-detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.risk-detail-severity{font-size:var(--text-2xs);font-weight:600;padding:3px 8px;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.3px}.risk-detail-severity-critique{background:var(--color-crit-bg);color:var(--color-crit-accent)}.risk-detail-severity-elevee{background:var(--color-warn-bg);color:var(--color-warn-text)}.risk-detail-severity-moyenne{background:var(--color-bg-info-soft);color:var(--color-text-info-dark)}.risk-detail-severity-faible{background:var(--color-bg-card-subtle);color:var(--color-text-secondary)}.risk-detail-category{font-size:var(--text-xs);color:var(--color-text-secondary);padding:3px 8px;border-radius:var(--radius-pill);background:var(--color-bg-card-subtle)}.risk-detail-status{font-size:var(--text-2xs);font-weight:600;padding:3px 8px;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.3px}.risk-detail-status-triggered{background:var(--color-warn-bg);color:var(--color-warn-text)}.risk-detail-status-ok{background:var(--color-success-bg);color:var(--color-success-text)}.risk-detail-description{margin:0 0 20px;font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.55}.risk-detail-section-title{margin:20px 0 10px;font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.4px}.risk-detail-items{margin-bottom:8px}.risk-detail-items-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.risk-detail-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--color-bg-card-subtle);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text-primary)}.risk-detail-item-bullet{color:var(--color-text-tertiary);font-size:var(--text-lg);line-height:1}.risk-detail-item-name{flex:1}.risk-detail-evolution-section{margin-top:20px;padding-top:16px;border-top:.5px solid var(--color-border-default)}.risk-evolution-empty{padding:16px;background:var(--color-bg-card-subtle);border-radius:var(--radius-md);text-align:center}.risk-evolution-empty-title{margin:0 0 4px;font-size:var(--text-base);font-weight:500;color:var(--color-text-primary)}.risk-evolution-empty-hint{margin:0;font-size:var(--text-xs);color:var(--color-text-secondary)}.risk-evolution-chart{padding:12px;background:var(--color-bg-card-subtle);border-radius:var(--radius-md)}.risk-evolution-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.risk-evolution-chart-label{font-size:var(--text-xs);color:var(--color-text-secondary)}.risk-evolution-trend{font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-pill)}.risk-evolution-trend-down{background:var(--color-success-bg);color:var(--color-success-text)}.risk-evolution-trend-up{background:var(--color-warn-bg);color:var(--color-warn-text)}.risk-evolution-trend-flat{background:var(--color-bg-card);color:var(--color-text-secondary)}.risk-evolution-svg{width:100%;height:auto;display:block}.risk-evolution-axis{stroke:var(--color-border-subtle);stroke-width:1}.risk-evolution-grid{stroke:var(--color-border-subtle);stroke-width:.5;stroke-dasharray:2 3}.risk-evolution-tick{fill:var(--color-text-tertiary);font-size:var(--text-2xs);font-family:var(--font-family)}.risk-evolution-line{fill:none;stroke:var(--color-chart-blue);stroke-width:1.5}.risk-evolution-dot{fill:var(--color-chart-blue);stroke:var(--color-bg-card);stroke-width:1.5}.risk-evolution-caption{margin:8px 0 0;font-size:var(--text-2xs);color:var(--color-text-tertiary);line-height:1.4}.risk-evolution-caption-gap{color:var(--color-text-secondary)}@media (max-width: 900px){.slide-panel{width:100%}}.action-detail-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.action-detail-badge{font-size:var(--text-2xs);font-weight:600;padding:3px 8px;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.3px}.action-detail-badge-type-quick-win{background:var(--color-success-bg);color:var(--color-success-text)}.action-detail-badge-type-investigation{background:var(--color-bg-info-soft);color:var(--color-text-info-dark)}.action-detail-badge-type-action-longue{background:var(--color-action-soft-bg);color:var(--color-action-soft-text)}.action-detail-badge-impact-fort{background:var(--color-crit-bg);color:var(--color-crit-accent)}.action-detail-badge-impact-moyen{background:var(--color-warn-bg);color:var(--color-warn-text)}.action-detail-badge-impact-faible{background:var(--color-bg-card-subtle);color:var(--color-text-secondary)}.action-detail-title{margin:0 0 8px;font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);line-height:1.35}.action-detail-description{margin:0 0 20px;font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.55}.action-detail-metrics{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--color-bg-card-subtle);border-radius:var(--radius-md);margin-bottom:16px}.action-detail-metric{display:flex;justify-content:space-between;align-items:center;gap:8px}.action-detail-metric-label{font-size:var(--text-xs);color:var(--color-text-secondary)}.action-detail-metric-value{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.action-detail-metric-positive{color:var(--color-success-text)}.action-detail-rule-box{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);margin-bottom:16px}.action-detail-rule-label{font-size:var(--text-xs);color:var(--color-text-secondary)}.action-detail-rule-id{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);letter-spacing:.3px}.action-detail-footer-hint{margin:16px 0 0;font-size:var(--text-xs);color:var(--color-text-tertiary);font-style:italic;line-height:1.4}.focus-plan-header{margin-bottom:16px}.focus-plan-category{display:inline-block;font-size:var(--text-2xs);font-weight:600;padding:3px 8px;border-radius:var(--radius-pill);background:var(--color-action-soft-bg);color:var(--color-action-soft-text);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.focus-plan-title{margin:0 0 8px;font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);line-height:1.35}.focus-plan-description{margin:0;font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.55}.focus-plan-stats{display:flex;gap:8px;margin:16px 0 20px;flex-wrap:wrap}.focus-plan-stat{flex:1;min-width:100px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:var(--color-bg-card-subtle);border-radius:var(--radius-md);text-align:center}.focus-plan-stat-value{font-size:var(--text-xl);font-weight:700;color:var(--color-text-primary);line-height:1.1}.focus-plan-stat-positive{color:var(--color-success-text)}.focus-plan-stat-label{font-size:var(--text-2xs);color:var(--color-text-secondary);line-height:1.3}.focus-plan-section-title{margin:20px 0 12px;font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.4px}.focus-plan-steps-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.focus-plan-step{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;background:var(--color-bg-card-subtle);border-radius:var(--radius-md)}.focus-plan-step-number{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:var(--radius-pill);background:var(--color-action-primary);color:var(--color-bg-card);font-size:var(--text-xs);font-weight:700}.focus-plan-step-text{font-size:var(--text-base);color:var(--color-text-primary);line-height:1.5}.focus-plan-footer-hint{margin:16px 0 0;font-size:var(--text-xs);color:var(--color-text-tertiary);font-style:italic;line-height:1.4}:root[data-theme=dark] .domain-tabs-bar{background:#1a1a1a;border-bottom-color:#3a3a3a}:root[data-theme=dark] .domain-tab{color:#fff;opacity:.7}:root[data-theme=dark] .domain-tab.active{opacity:1}:root[data-theme=dark] .domain-tab:hover:not(.disabled):not(.active){opacity:1;color:#fff}:root[data-theme=dark] .domain-tab:hover:not(.disabled):not(.active):after{background:#3a3a3a}:root[data-theme=dark] .domain-tab.disabled{color:#6b7280;opacity:.6}.focus-plan-loading{display:flex;align-items:center;gap:10px;padding:16px;background:var(--color-action-soft-bg, #EEF2FF);border-radius:var(--radius-md, 8px);color:var(--color-text-secondary);font-size:var(--text-sm);margin:12px 0}.focus-plan-loading-icon{color:var(--sm-primary, #10B981);animation:focus-plan-pulse 1.6s ease-in-out infinite}@keyframes focus-plan-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.focus-plan-error{padding:16px;border:1px dashed var(--color-danger, #DC2626);border-radius:var(--radius-md, 8px);background:#dc26260d;font-size:var(--text-sm);margin:12px 0}.focus-plan-error p{margin:0 0 8px;color:var(--color-text-primary)}.focus-plan-retry-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;transition:background .12s}.focus-plan-retry-btn:hover{background:var(--color-bg-hover, #F3F4F6)}.focus-plan-intro{padding:12px 14px;background:var(--color-bg-soft, #FAFBFC);border-left:3px solid var(--sm-primary, #10B981);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:12px 0 16px;font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.55}.focus-plan-intro p{margin:0}.focus-plan-steps-count{font-weight:400;color:var(--color-text-muted, #9CA3AF);font-size:var(--text-sm)}.focus-plan-step--rich{display:flex;gap:12px;align-items:flex-start}.focus-plan-step-body{flex:1;min-width:0}.focus-plan-step-title{font-weight:600;font-size:var(--text-base);color:var(--color-text-primary);margin-bottom:4px}.focus-plan-step-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.focus-plan-step-pill{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill, 999px);background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-secondary);font-size:11px;font-weight:500;white-space:nowrap}.focus-plan-step-import-btn{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:5px 10px;background:transparent;border:1px solid #BFDBFE;border-radius:6px;color:#1e40af;font-size:11.5px;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease}.focus-plan-step-import-btn:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.focus-plan-step-import-btn:disabled{cursor:default;opacity:.75}.focus-plan-step-import-btn--done{background:#ecfdf5;border-color:#a7f3d0;color:#047857}:root[data-theme=dark] .focus-plan-step-import-btn{border-color:#3b82f64d;color:#93c5fd}:root[data-theme=dark] .focus-plan-step-import-btn:hover:not(:disabled){background:#3b82f61f}:root[data-theme=dark] .focus-plan-step-import-btn--done{background:#10b98126;border-color:#10b9814d;color:#6ee7b7}.focus-plan-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;padding-bottom:12px;border-bottom:1px solid var(--color-border);flex-wrap:wrap}.focus-plan-regenerate-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;transition:background .12s}.focus-plan-regenerate-btn:hover:not(:disabled){background:var(--color-bg-hover, #F3F4F6)}.focus-plan-regenerate-btn:disabled{opacity:.6;cursor:not-allowed}.focus-plan-regenerate-icon--spinning{animation:focus-plan-spin 1s linear infinite}@keyframes focus-plan-spin{to{transform:rotate(360deg)}}.focus-plan-generated-at{font-size:11px;color:var(--color-text-muted, #9CA3AF);font-style:italic}@media print{html,body,#root,.app{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}.app{display:block!important}.analyse-page,.analyse-page-inner{height:auto!important;max-height:none!important;overflow:visible!important}html,body{background:#fff!important;color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.app>.header,.app .tabs,.app .sm-nav__divider,.app .header-left,.app .header-right{display:none!important}.analyse-header-right{display:none!important}.analyse-sticky-zone,.analyse-filters-sticky{position:static!important;top:auto!important}.analyse-filters-sticky button,.analyse-filters-sticky select,.analyse-filters-sticky input{pointer-events:none!important}.score-block-recalculate,.score-block-view-details,.focus-cta-row,.focus-change-wrapper,.focus-change-btn,.focus-change-menu,.focus-plan-regenerate-btn{display:none!important}.analyse-page,.analyse-page-inner{padding:0!important;margin:0!important;max-width:100%!important;background:#fff!important}.analyse-kpi-card,.analyse-card,.score-block,.score-breakdown,.focus-block,.focus-plan,.score-evolution-block,.market-benchmarks,.kpis-summary,.capabilities-impacted,.insights-row,.tco-by-capability,.contract-value-at-risk,.vendor-concentration,.priorities-and-actions,.costs-synthese,.domain-tabs,.actions-list{break-inside:avoid!important;page-break-inside:avoid!important}@page{size:A4 portrait;margin:1.5cm 1.2cm}.hover-popover,[role=tooltip]{display:none!important}}:root[data-theme=dark] .evolution-period-btn{color:#ffffffb3}:root[data-theme=dark] .evolution-period-btn:hover{color:#fff}:root[data-theme=dark] .evolution-period-btn.active{color:#fff}:root[data-theme=dark] .focus-plan-intro{background:#2d2d2d;border-left-color:#34d399;color:var(--color-text-primary)}.contrats-timeline-amount-label{fill:var(--color-text-primary)}.contrats-timeline-month-label{fill:var(--color-text-secondary)}:root[data-theme=dark] .contrats-timeline-range-btn{color:#ffffffb3}:root[data-theme=dark] .contrats-timeline-range-btn:hover{color:#fff}:root[data-theme=dark] .contrats-timeline-range-btn--active{color:#fff}.market-benchmarks .kpi-icon,.contract-value-at-risk .kpi-icon,.vendor-concentration .kpi-icon,.tco-by-capability .kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.analyse-mode-toggle{display:inline-flex;border:1px solid var(--color-border, #E5E7EB);border-radius:8px;padding:2px;background:var(--color-bg-card, #FFFFFF);align-self:flex-start;margin-bottom:16px}.analyse-mode-toggle__btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary, #4B5563);cursor:pointer;transition:background .12s ease,color .12s ease;font-family:inherit}.analyse-mode-toggle__btn:hover:not(.analyse-mode-toggle__btn--active){background:var(--color-bg-hover, #F3F4F6)}.analyse-mode-toggle__btn--active{background:var(--chat-accent, #4F46E5);color:#fff}.header-hub-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:.5px solid var(--color-border-default, rgba(0, 0, 0, .12));border-radius:4px;color:var(--color-text-primary, var(--sm-text-primary, #1A1A1A));font-family:var(--font);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.header-hub-btn:hover{background:var(--color-bg-card-subtle, #F1EFE8)}.header-hub-btn:focus-visible{outline:2px solid var(--sm-primary-hover, #059669);outline-offset:1px}.header-hub-btn[aria-pressed=true]{background:var(--sm-primary-bg, #ECFDF5);border-color:var(--sm-primary-border, #A7F3D0);color:var(--sm-primary-hover, #059669)}:root[data-theme=dark] .header-hub-btn[aria-pressed=true]{background:#10b9811a;border-color:#10b98166;color:#34d399}.header-hub-btn-label{letter-spacing:.02em}.hub-shell{display:flex;flex-direction:column}.hub-entity-tabs{display:flex;align-items:center;gap:8px;padding:16px 24px 0;max-width:1320px;margin:0 auto;width:100%;box-sizing:border-box;flex-wrap:wrap}.hub-entity-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:.5px solid var(--color-border-default, rgba(0, 0, 0, .12));border-radius:4px;color:var(--sm-text-secondary, var(--color-text-secondary, #6B6B72));font-family:var(--font);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.hub-entity-tab svg{flex-shrink:0}.hub-entity-tab:hover{background:var(--color-bg-card-subtle, #F1EFE8);color:var(--sm-text-primary, var(--color-text-primary, #1A1A1A))}.hub-entity-tab:focus-visible{outline:2px solid var(--sm-primary-hover, #059669);outline-offset:1px}.hub-entity-tab--active{background:var(--sm-primary-bg, #ECFDF5);border-color:var(--sm-primary-border, #A7F3D0);color:var(--sm-primary-hover, #059669)}:root[data-theme=dark] .hub-entity-tab--active{background:#10b9811a;border-color:#10b98166;color:#34d399}.hub-view{display:flex;flex-direction:column;gap:16px;padding:20px 24px 32px;max-width:1320px;margin:0 auto;width:100%;box-sizing:border-box}.hub-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.hub-header-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.hub-export-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:.5px solid var(--color-border-default, rgba(0, 0, 0, .12));border-radius:4px;color:var(--color-text-primary, var(--sm-text-primary, #1A1A1A));font-family:var(--font);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.hub-export-btn svg{color:var(--sm-text-secondary, var(--color-text-secondary));flex-shrink:0}.hub-export-btn:hover:not(:disabled){background:var(--color-bg-card-subtle, #F1EFE8)}.hub-export-btn:focus-visible{outline:2px solid var(--sm-primary-hover, #059669);outline-offset:1px}.hub-export-btn:disabled{opacity:.45;cursor:not-allowed}.hub-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:19px;font-weight:500;color:var(--sm-text-primary, var(--color-text-primary, #1A1A1A));letter-spacing:-.01em}.hub-title svg{color:var(--sm-text-secondary, var(--color-text-secondary));flex-shrink:0}.hub-search{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:.5px solid var(--color-border-default, rgba(0, 0, 0, .12));border-radius:4px;min-width:280px;transition:border-color .15s ease,box-shadow .15s ease}.hub-search svg{color:var(--sm-text-secondary, var(--color-text-secondary));flex-shrink:0}.hub-search input{flex:1;background:transparent;border:none;outline:none;padding:0;font-family:var(--font);font-size:12px;font-weight:500;color:var(--sm-text-primary, var(--color-text-primary, #1A1A1A));min-width:0}.hub-search input::placeholder{color:var(--sm-text-muted, var(--color-text-tertiary, #94A3B8));font-weight:400}.hub-search:focus-within{border-color:var(--sm-primary-hover, #059669);box-shadow:0 0 0 1px var(--sm-primary-hover, #059669)}.hub-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.hub-kpi-row .kpi-card{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);padding:12px}.hub-kpi-row .kpi-icon-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.hub-kpi-row .kpi-icon-label-text{flex:1;min-width:0}.hub-kpi-row .kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.hub-kpi-row .kpi-icon--total{background:#f5f3ff;color:#8b5cf6}.hub-kpi-row .kpi-icon--critical,.hub-kpi-row .kpi-icon--orphan{background:#fffbeb;color:#f59e0b}.hub-kpi-row .kpi-icon--cost{background:#f5f3ff;color:#8b5cf6}.hub-kpi-row .kpi-icon--unused{background:#eff6ff;color:#3b82f6}@media (max-width: 1200px){.hub-kpi-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 760px){.hub-kpi-row{grid-template-columns:repeat(2,1fr)}}.hub-state-message{background:var(--card-modern-bg, #FFFFFF);border:.5px solid var(--card-modern-border, var(--color-border-default, #E5E7EB));border-radius:var(--card-modern-radius, 12px);padding:32px 20px;text-align:center;color:var(--sm-text-secondary, var(--color-text-secondary));font-size:var(--text-sm, 13px);box-shadow:var(--card-modern-shadow, 0 1px 2px rgba(0, 0, 0, .04))}.hub-state-error{color:var(--tint-danger-fg, #B91C1C);background:var(--tint-danger-bg, #FEF2F2);border-color:var(--tint-danger-border, #EF4444)}.hub-table-wrapper{background:var(--card-modern-bg, #FFFFFF);border:.5px solid var(--card-modern-border, var(--color-border-default, #E5E7EB));border-radius:var(--card-modern-radius, 12px);box-shadow:var(--card-modern-shadow, 0 1px 2px rgba(0, 0, 0, .04));overflow-x:auto}.hub-table{width:100%;border-collapse:collapse;font-size:var(--text-sm, 13px)}.hub-table thead th{padding:12px 14px;text-align:left;font-weight:500;font-size:var(--text-xs, 11px);color:var(--color-text-secondary, var(--sm-text-secondary));text-transform:uppercase;letter-spacing:.04em;border-bottom:.5px solid var(--color-border-default, var(--sm-border));white-space:nowrap;background:transparent;-webkit-user-select:none;user-select:none}.hub-table thead th.hub-th-sortable{cursor:pointer;transition:color .15s ease}.hub-table thead th.hub-th-sortable:hover{color:var(--sm-text-primary, var(--color-text-primary))}.hub-table thead th .hub-sort-icon{display:inline-flex;align-items:center;vertical-align:middle;margin-left:4px;color:var(--sm-primary, #10B981)}.hub-table tbody td{padding:12px 14px;border-bottom:.5px solid var(--color-border-subtle, var(--sm-border));vertical-align:middle;color:var(--sm-text-primary, var(--color-text-primary))}.hub-table tbody td.hub-td-num{color:var(--sm-text-secondary, var(--color-text-secondary));font-variant-numeric:tabular-nums}.hub-row{cursor:pointer;transition:background .12s ease}.hub-row:hover{background:var(--color-bg-card-subtle, var(--sm-bg-subtle, #F1EFE8))}.hub-row:last-child td{border-bottom:none}.hub-row strong{font-weight:600;color:var(--sm-text-primary, var(--color-text-primary))}.hub-row-secondary{color:var(--sm-text-secondary, var(--color-text-secondary));font-weight:400}.hub-table th.hub-col-emphasis{font-weight:600;color:var(--sm-text-primary, var(--color-text-primary))}.hub-table .hub-maps-cell{display:inline-flex;align-items:center;flex-wrap:nowrap;vertical-align:middle}.hub-table .hub-maps-empty{color:var(--sm-text-muted, var(--color-text-tertiary, #94A3B8));font-variant-numeric:tabular-nums}.hub-table .hub-chip-more{background:var(--color-bg-card-subtle, var(--sm-bg-subtle, #F1EFE8));color:var(--sm-text-muted, var(--color-text-tertiary, #6B6B72));max-width:none;font-variant-numeric:tabular-nums}:root[data-theme=dark] .hub-table .hub-chip-more{background:#ffffff0f;color:var(--sm-text-muted, #94A3B8)}.twin-impact-chips{display:flex;flex-wrap:wrap;gap:6px}.hub-table .hub-chip-btn{display:inline-flex;align-items:center;padding:0;margin:0;background:transparent;border:none;font:inherit;color:inherit;cursor:pointer;border-radius:10px;transition:transform .12s ease;vertical-align:middle}.hub-table .hub-chip-btn:hover{transform:translateY(-1px)}.hub-table .hub-chip-btn:focus-visible{outline:2px solid var(--sm-primary-hover, #059669);outline-offset:1px}.hub-table .hub-process-cell .map-badge{background:var(--tint-success-bg);color:var(--tint-success-fg)}.hub-table .hub-process-cell .hub-chip-more{background:var(--color-bg-card-subtle, var(--sm-bg-subtle, #F1EFE8));color:var(--sm-text-muted, var(--color-text-tertiary, #6B6B72))}:root[data-theme=dark] .hub-table .hub-process-cell .hub-chip-more{background:#ffffff0f;color:var(--sm-text-muted, #94A3B8)}.hub-table .hub-initiative-cell .map-badge{background:var(--tint-warning-bg);color:var(--tint-warning-fg)}.hub-table .hub-initiative-cell .hub-chip-more{background:var(--color-bg-card-subtle, var(--sm-bg-subtle, #F1EFE8));color:var(--sm-text-muted, var(--color-text-tertiary, #6B6B72))}:root[data-theme=dark] .hub-table .hub-initiative-cell .hub-chip-more{background:#ffffff0f;color:var(--sm-text-muted, #94A3B8)}.hub-detail-back{padding:20px 24px 0;max-width:1320px;margin:0 auto;width:100%;box-sizing:border-box}.hub-back-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:.5px solid var(--color-border-default, rgba(0, 0, 0, .12));border-radius:4px;color:var(--sm-text-primary, var(--color-text-primary, #1A1A1A));font-family:var(--font);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.hub-back-btn:hover{background:var(--color-bg-card-subtle, #F1EFE8)}.hub-back-btn:focus-visible{outline:2px solid var(--sm-primary-hover, #059669);outline-offset:1px}@media (max-width: 720px){.hub-view{padding:16px 16px 24px}.hub-header{flex-direction:column;align-items:stretch}.hub-search{min-width:0}}.rip{display:flex;flex-direction:column;gap:14px}.rip-notice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:7px;background:#fffbeb;border:1px solid #FDE68A;border-left:3px solid #F59E0B}.rip-notice-icon{color:#b45309;flex-shrink:0;margin-top:1px}.rip-notice-body{display:flex;flex-direction:column;gap:2px;min-width:0}.rip-notice-title{font-size:12.5px;font-weight:600;color:#92400e}.rip-notice-detail{font-size:11.5px;line-height:1.45;color:#b45309}:root[data-theme=dark] .rip-notice{background:#f59e0b1a;border-color:#f59e0b59;border-left-color:#f59e0b}:root[data-theme=dark] .rip-notice-title{color:#fcd34d}:root[data-theme=dark] .rip-notice-detail{color:#fbbf24}:root[data-theme=dark] .rip-notice-icon{color:#fbbf24}.rip-section{display:flex;flex-direction:column;gap:8px}.rip-section-title{display:flex;align-items:baseline;gap:8px;margin:0;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--sm-text-secondary, var(--color-text-secondary, #6B7280))}.rip-section-sub{font-size:11px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--sm-text-muted, var(--color-text-tertiary, #94A3B8))}.rip-entity-list,.rip-change-list,.rip-flat-list{list-style:none;margin:0;padding:0}.rip-entity-list{display:flex;flex-direction:column;gap:8px}.rip-entity{border:1px solid var(--color-border-default, rgba(0, 0, 0, .1));border-radius:7px;padding:10px 12px;background:var(--color-bg-card, transparent)}.rip-entity-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.rip-entity-name{font-size:13px;font-weight:600;color:var(--sm-text-primary, var(--color-text-primary, #1A1A1A))}.rip-entity-row{font-size:11px;font-family:var(--sm-font-mono, monospace);color:var(--sm-text-muted, var(--color-text-tertiary, #94A3B8))}.rip-change-list{display:flex;flex-direction:column;gap:5px}.rip-change{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:12px;line-height:1.5}.rip-change-field{flex:0 0 auto;min-width:140px;font-weight:500;color:var(--sm-text-secondary, var(--color-text-secondary, #6B7280))}.rip-change-values{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}.rip-value{padding:1px 6px;border-radius:4px;word-break:break-word}.rip-value-before{background:var(--color-bg-card-subtle, #F3F4F6);color:var(--sm-text-muted, var(--color-text-tertiary, #94A3B8));text-decoration:line-through;text-decoration-thickness:1px}.rip-value-after{background:#ecfdf5;color:#065f46;font-weight:600}.rip-value-empty{font-style:italic;text-decoration:none;opacity:.75}.rip-arrow{flex-shrink:0;color:var(--sm-text-muted, var(--color-text-tertiary, #94A3B8))}:root[data-theme=dark] .rip-value-before{background:#ffffff0f;color:var(--sm-text-muted, #94A3B8)}:root[data-theme=dark] .rip-value-after{background:#10b98124;color:#34d399}.rip-flat-list{display:flex;flex-direction:column;gap:4px}.rip-flat-item{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:6px 10px;border-radius:6px;font-size:12px;background:var(--color-bg-card-subtle, #F9FAFB)}.rip-flat-item--skipped{background:#fffbeb;color:#92400e}.rip-flat-item--error{background:#fef2f2;color:#991b1b}:root[data-theme=dark] .rip-flat-item{background:#ffffff0a}:root[data-theme=dark] .rip-flat-item--skipped{background:#f59e0b1a;color:#fcd34d}:root[data-theme=dark] .rip-flat-item--error{background:#ef44441a;color:#fca5a5}.rip-flat-message{flex:1 1 auto;min-width:0}.rip-toggle{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 8px;background:transparent;border:.5px solid var(--color-border-default, rgba(0, 0, 0, .12));border-radius:4px;font-family:var(--font);font-size:11.5px;font-weight:500;color:var(--sm-text-secondary, var(--color-text-secondary, #6B7280));cursor:pointer}.rip-toggle:hover{background:var(--color-bg-card-subtle, #F1EFE8)}.rip-toggle:focus-visible{outline:2px solid var(--sm-primary-hover, #059669);outline-offset:1px}@media (max-width: 640px){.rip-change-field{min-width:0;flex-basis:100%}}.rim-success{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;text-align:center}.rim-success-icon{color:var(--sm-primary-hover, #059669)}.rim-success-title{font-size:15px;font-weight:600;color:var(--sm-text-primary, var(--color-text-primary, #1A1A1A))}.rim-success-detail{font-size:12px;color:var(--sm-text-secondary, var(--color-text-secondary, #6B7280))}:root[data-theme=dark] .rim-success-icon{color:#34d399}.twin-view{display:flex;flex-direction:column;gap:16px;padding:20px 24px 32px;max-width:1320px;margin:0 auto;width:100%;box-sizing:border-box}.twin-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:48px 24px;background:var(--card-modern-bg, #FFFFFF);border:.5px solid var(--card-modern-border, var(--color-border-default, #E5E7EB));border-radius:var(--card-modern-radius, 12px);color:var(--sm-text-secondary, var(--color-text-secondary));font-size:var(--text-sm, 13px);box-shadow:var(--card-modern-shadow, 0 1px 2px rgba(0, 0, 0, .04))}.twin-state-error{color:var(--tint-danger-fg, #B91C1C);background:var(--tint-danger-bg, #FEF2F2);border-color:var(--tint-danger-border, #EF4444)}@keyframes twin-spin-kf{to{transform:rotate(360deg)}}.twin-spin{animation:twin-spin-kf 1s linear infinite}.twin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:.5px solid var(--color-border-subtle, var(--sm-border))}.twin-header-titles{display:flex;flex-direction:column;gap:4px;min-width:0}.twin-title{margin:0;font-size:28px;font-weight:500;line-height:1.15;letter-spacing:-.02em;color:var(--sm-text-primary, var(--color-text-primary, #1A1A1A));font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.twin-subtitle{font-size:var(--text-sm, 13px);color:var(--sm-text-secondary, var(--color-text-secondary))}.twin-modify-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:.5px solid var(--color-border-default, rgba(0, 0, 0, .12));border-radius:4px;color:var(--sm-text-primary, var(--color-text-primary, #1A1A1A));font-family:var(--font);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease;flex-shrink:0}.twin-modify-btn:hover:not(:disabled){background:var(--color-bg-card-subtle, #F1EFE8)}.twin-modify-btn:focus-visible{outline:2px solid var(--sm-primary-hover, #059669);outline-offset:1px}.twin-modify-btn:disabled{opacity:.5;cursor:not-allowed}.twin-section{background:var(--card-modern-bg, #FFFFFF);border:.5px solid var(--card-modern-border, var(--color-border-default, #E5E7EB));border-radius:var(--card-modern-radius, 12px);padding:var(--card-modern-padding, 20px);box-shadow:var(--card-modern-shadow, 0 1px 2px rgba(0, 0, 0, .04))}.twin-section-title{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font-size:var(--text-sm, 13px);font-weight:600;color:var(--sm-text-primary, var(--color-text-primary));letter-spacing:.01em}.twin-section-title svg{color:var(--sm-text-secondary, var(--color-text-secondary));flex-shrink:0}.twin-section-body{display:block}.twin-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.twin-kpi-row .kpi-card{background:var(--card-modern-bg);border:1px solid var(--card-modern-border);border-radius:var(--card-modern-radius);box-shadow:var(--card-modern-shadow);padding:12px}.twin-kpi-row .kpi-icon-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.twin-kpi-row .kpi-icon-label-text{flex:1;min-width:0}.twin-kpi-row .kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.twin-kpi-row .kpi-icon--criticality{background:#fffbeb;color:#f59e0b}.twin-kpi-row .kpi-icon--maps{background:#eff6ff;color:#3b82f6}.twin-kpi-row .kpi-icon--processes{background:#f0fdf4;color:#10b981}.twin-kpi-row .kpi-icon--initiatives,.twin-kpi-row .kpi-icon--cost{background:#f5f3ff;color:#8b5cf6}.twin-kpi-clickable{display:block;width:100%;padding:0;margin:0;background:transparent;border:none;border-radius:var(--card-modern-radius, 12px);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:transform .12s ease}.twin-kpi-clickable:hover{transform:translateY(-1px)}.twin-kpi-clickable:focus-visible{outline:2px solid var(--sm-primary-hover, #059669);outline-offset:2px}@media (max-width: 1200px){.twin-kpi-row{grid-template-columns:repeat(3,1fr)}}@media (max-width: 760px){.twin-kpi-row{grid-template-columns:repeat(2,1fr)}}.twin-fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));column-gap:24px;row-gap:0}.twin-identity-row{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:.5px solid var(--color-border-subtle, var(--sm-border));min-width:0}.twin-identity-row:last-child{border-bottom:none}.twin-field-label{font-size:var(--text-xs, 11px);font-weight:500;color:var(--color-text-secondary, var(--sm-text-secondary));text-transform:uppercase;letter-spacing:.04em}.twin-field-value{font-size:14px;color:var(--sm-text-primary, var(--color-text-primary, #1A1A1A));overflow-wrap:anywhere}.twin-field-value-muted{color:var(--sm-text-muted, var(--color-text-tertiary, #94A3B8))}.twin-subsection-title{display:flex;align-items:center;gap:6px;margin:18px 0 8px;font-size:var(--text-xs, 11px);font-weight:500;color:var(--color-text-secondary, var(--sm-text-secondary));text-transform:uppercase;letter-spacing:.04em}.twin-subsection-title:first-child{margin-top:0}.twin-subsection-title svg{color:var(--sm-text-muted, var(--color-text-tertiary));flex-shrink:0}.twin-relations-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.twin-relation-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:.5px solid var(--color-border-subtle, var(--sm-border));font-size:var(--text-sm, 13px);flex-wrap:wrap}.twin-relation-row:last-child{border-bottom:none}.twin-relation-row>svg{color:var(--sm-text-secondary, var(--color-text-secondary));flex-shrink:0}.twin-relation-label{color:var(--sm-text-secondary, var(--color-text-secondary));font-size:var(--text-xs, 11px);text-transform:uppercase;letter-spacing:.04em}.twin-relation-target{color:var(--sm-text-primary, var(--color-text-primary));font-weight:500;overflow-wrap:anywhere}.twin-relation-meta{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--sm-text-secondary, var(--color-text-secondary));font-size:var(--text-xs, 11px);flex-shrink:0}.twin-empty{color:var(--sm-text-secondary, var(--color-text-secondary));font-size:var(--text-sm, 13px);padding:8px 0}.twin-ids-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.twin-ids-item code{font-family:var(--sm-font-mono);font-size:var(--text-xs, 11px);background:var(--color-bg-card-subtle, var(--sm-bg-subtle, #F1EFE8));color:var(--sm-text-secondary, var(--color-text-secondary));padding:3px 8px;border-radius:var(--sm-radius-sm, 6px);border:.5px solid var(--color-border-subtle, var(--sm-border))}.twin-presence-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.twin-presence-row{display:inline-flex}.twin-presence-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#eef2f6;color:#475569;border:.5px solid transparent;border-radius:12px;font-family:var(--font);font-size:11px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.twin-presence-btn:hover{background:#dbe3ec;border-color:#47556940}.twin-presence-btn:focus-visible{outline:2px solid var(--sm-primary-hover, #059669);outline-offset:1px}.twin-presence-btn svg{color:inherit;flex-shrink:0}:root[data-theme=dark] .twin-presence-btn{background:#60a5fa26;color:#93c5fd}:root[data-theme=dark] .twin-presence-btn:hover{background:#60a5fa40;border-color:#60a5fa66}@media (max-width: 720px){.twin-view{padding:16px 16px 24px}.twin-header{flex-direction:column;align-items:stretch}.twin-relation-meta{margin-left:0}}.ego-graph{margin:0 0 24px;padding:12px 12px 20px;background:var(--card-modern-bg, var(--color-bg-surface, #FFFFFF));border:.5px solid var(--card-modern-border, var(--color-border-default, #E5E7EB));border-radius:var(--card-modern-radius, 12px)}.ego-graph-title{font-size:var(--text-xs, 11px);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--sm-text-secondary, var(--color-text-secondary, #6B7280));margin-bottom:8px}.ego-node--clickable{cursor:pointer}.ego-node--clickable:hover rect{filter:brightness(.97);stroke-width:2}.ego-node--clickable:focus-visible{outline:none}.ego-node--clickable:focus-visible rect{stroke-width:2.5}.hub-filters-bar{max-width:1320px;margin:0 auto;padding:8px 24px 0;width:100%;box-sizing:border-box}.hub-filters-bar-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;min-height:56px}.hub-filters-bar .multiselect-pill{max-width:160px}.hub-filters-bar .multiselect-pills{overflow:hidden}.hub-filters-bar-field{display:flex;flex-direction:column;gap:4px;flex:1 1 180px;min-width:0}.hub-filters-bar-field-label{font-size:11px;font-weight:500;color:var(--sm-text-secondary, var(--color-text-secondary));text-transform:uppercase;letter-spacing:.04em}.hub-filters-bar-active{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.hub-filters-bar-count{display:inline-flex;align-items:center;padding:4px 10px;background:var(--sm-primary-bg, #ECFDF5);color:var(--sm-primary-hover, #059669);font-size:12px;font-weight:600;border-radius:12px;letter-spacing:.02em}.hub-filters-bar-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1}.hub-filters-bar-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 10px;background:var(--sm-primary-bg, #ECFDF5);border:1px solid var(--sm-primary-border, #A7F3D0);border-radius:var(--sm-radius-pill, 999px);color:var(--sm-primary-hover, #059669);font-size:11px;font-weight:500;cursor:pointer;font-family:var(--font);transition:background .15s ease}.hub-filters-bar-chip:hover{background:var(--sm-bg-hover, var(--color-bg-card-subtle, #F1EFE8))}.hub-filters-bar-chip-field{font-weight:600;opacity:.7}.hub-filters-bar-chip-field:after{content:" :"}.hub-filters-bar-chip-value{font-weight:500}.hub-filters-bar-reset{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:.5px solid var(--color-border-default, rgba(0, 0, 0, .12));border-radius:4px;color:var(--sm-text-secondary, var(--color-text-secondary));font-family:var(--font);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.hub-filters-bar-reset:hover{background:var(--color-bg-card-subtle, #F1EFE8);color:var(--sm-text-primary, var(--color-text-primary))}.hub-filters-bar-reset:focus-visible{outline:2px solid var(--sm-primary-hover, #059669);outline-offset:1px}@media (max-width: 720px){.hub-filters-bar{padding:8px 16px 0}}.bug-report-modal{width:460px;max-width:calc(100vw - 32px);text-align:left}.bug-report-textarea{width:100%;box-sizing:border-box;margin:4px 0 12px;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.5;color:var(--color-text-primary, #1a1a1a);background:var(--color-bg-input, #ffffff);border:1px solid var(--color-border, #d1d5db);border-radius:8px;resize:vertical;min-height:96px}.bug-report-textarea:focus{outline:none;border-color:var(--color-accent, #6366f1)}.bug-report-textarea::placeholder{color:var(--color-text-tertiary, #9ca3af)}.bug-report-levels{display:flex;gap:8px;margin-bottom:14px}.bug-report-level{flex:1;padding:7px 10px;font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-soft, #f3f4f6);border:1px solid var(--color-border-subtle, #e5e7eb);border-radius:8px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.bug-report-level:hover:not(:disabled){border-color:var(--color-border, #d1d5db)}.bug-report-level.active{color:#fff;background:var(--color-accent, #6366f1);border-color:var(--color-accent, #6366f1)}.bug-report-level:disabled{opacity:.6;cursor:default}.bug-report-context{margin-bottom:16px;padding:10px 12px;background:var(--color-bg-soft, #f9fafb);border:1px solid var(--color-border-subtle, #e5e7eb);border-radius:8px}.bug-report-context-note{display:block;margin-bottom:6px;font-size:11px;font-weight:600;color:var(--color-text-secondary, #6b7280)}.bug-report-context-list{margin:0;padding-left:16px;list-style:disc}.bug-report-context-list li{font-size:11px;color:var(--color-text-tertiary, #9ca3af);word-break:break-all;line-height:1.5}.bug-report-attach{margin-bottom:16px}.bug-report-attach-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-soft, #f3f4f6);border:1px dashed var(--color-border, #d1d5db);border-radius:8px;cursor:pointer;transition:border-color .12s,color .12s}.bug-report-attach-btn:hover{border-color:var(--color-accent, #6366f1);color:var(--color-text-primary, #1a1a1a)}.bug-report-attach-preview{display:flex;align-items:center;gap:10px;padding:6px;background:var(--color-bg-soft, #f3f4f6);border:1px solid var(--color-border-subtle, #e5e7eb);border-radius:8px}.bug-report-thumb{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid var(--color-border-subtle, #e5e7eb);flex-shrink:0}.bug-report-attach-name{flex:1;min-width:0;font-size:12px;color:var(--color-text-secondary, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bug-report-attach-remove{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:var(--color-text-tertiary, #9ca3af);background:transparent;border:none;border-radius:6px;cursor:pointer}.bug-report-attach-remove:hover:not(:disabled){color:var(--color-danger, #ef4444);background:var(--color-bg-hover, #ececec)}.bug-report-attach-error{margin-top:6px;font-size:11px;color:var(--color-danger, #ef4444)}:root[data-theme=dark] .bug-report-attach-btn{color:#9ca3af;background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .bug-report-attach-preview{background:#1f1f1f;border-color:#3a3a3a}:root[data-theme=dark] .bug-report-thumb{border-color:#3a3a3a}:root[data-theme=dark] .bug-report-textarea{color:#e5e7eb;background:#1f1f1f;border-color:#3a3a3a}:root[data-theme=dark] .bug-report-level{color:#9ca3af;background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .bug-report-level.active{color:#fff;background:var(--color-accent, #6366f1);border-color:var(--color-accent, #6366f1)}:root[data-theme=dark] .bug-report-context{background:#1f1f1f;border-color:#3a3a3a}.process-canvas-wrapper{flex:1;display:flex;flex-direction:column;min-width:0;background:#fff;position:relative}.process-canvas{flex:1;width:100%;height:100%;background-color:#fbfcff;background-image:radial-gradient(circle,#E5E7EB 1px,transparent 1px);background-size:24px 24px;outline:none}:root[data-theme=dark] .process-canvas-wrapper{background:#2a2a2a}:root[data-theme=dark] .process-canvas{background-color:#2a2a2a;background-image:radial-gradient(circle,#3A3A3A 1px,transparent 1px)}.process-canvas-toolbar{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:25}.hover-popover-wrapper{position:relative;display:inline-flex;align-items:stretch}.hover-popover-panel{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:1000;min-width:180px;max-width:320px;padding:8px 12px;background:#1f2937;color:#f9fafb;border-radius:8px;box-shadow:0 4px 12px #0000002e;display:flex;flex-direction:column;gap:4px;font-size:var(--text-xs, 12px);line-height:1.4;text-transform:none;letter-spacing:normal;font-weight:400;pointer-events:none;white-space:normal;word-break:break-word;animation:hover-popover-fade-in .12s ease-out}.hover-popover-panel:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1f2937}.hover-popover-title{font-weight:600;font-size:var(--text-sm, 13px);color:#f9fafb}.hover-popover-description{color:#d1d5db}@keyframes hover-popover-fade-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.synthesis-panel{padding:24px 28px;overflow-y:auto;background:#fafbfc;flex:1}.synthesis-panel__header{margin-bottom:24px}.synthesis-panel__header h3{margin:0 0 4px;font-size:20px;font-weight:600;color:#1a1a1a}.synthesis-panel__header-meta{font-size:13px;color:#6b7280}.synthesis-panel__loading,.synthesis-panel__error,.synthesis-panel__empty{text-align:center;padding:60px 20px;color:#6b7280;font-size:14px}.synthesis-panel__error{color:#b91c1c}.synthesis-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.synthesis-kpi-card{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:16px 18px;box-shadow:0 1px 2px #0000000a}.synthesis-kpi-card__label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;display:inline-flex;align-items:center;gap:8px}.synthesis-kpi-card__label-text{flex:1;min-width:0}.synthesis-kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.synthesis-kpi-icon--time{background:#fef3c7;color:#d97706}.synthesis-kpi-icon--money{background:#ede9fe;color:#7c3aed}.synthesis-kpi-icon--count{background:#dbeafe;color:#2563eb}.synthesis-kpi-icon--alert{background:#fee2e2;color:#dc2626}:root[data-theme=dark] .synthesis-kpi-icon--time{background:#d977062e;color:#fcd34d}:root[data-theme=dark] .synthesis-kpi-icon--money{background:#7c3aed2e;color:#c4b5fd}:root[data-theme=dark] .synthesis-kpi-icon--count{background:#2563eb2e;color:#93c5fd}:root[data-theme=dark] .synthesis-kpi-icon--alert{background:#dc26262e;color:#fca5a5}.synthesis-kpi-card__value{font-size:24px;font-weight:600;color:#1a1a1a;line-height:1.1}.synthesis-kpi-card__value--muted{color:#9ca3af;font-style:italic;font-size:16px;font-weight:500}.synthesis-kpi-card__value--accent{color:#1e40af}.synthesis-kpi-card__value--alert{color:#b91c1c}.synthesis-kpi-card__hint{margin-top:4px;font-size:11px;color:#9ca3af}.synthesis-bottleneck{background:#fef3c7;border:1px solid #FCD34D;border-radius:12px;padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:16px}.synthesis-bottleneck__icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:#f59e0b;color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600}.synthesis-bottleneck__body{flex:1}.synthesis-bottleneck__label{font-size:11px;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.synthesis-bottleneck__name{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:2px}.synthesis-bottleneck__duration{font-size:13px;color:#6b7280}.synthesis-section{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:18px 20px;margin-bottom:24px}.synthesis-section__title{margin:0 0 14px;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.synthesis-breakdown-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.synthesis-breakdown-row:last-child{margin-bottom:0}.synthesis-breakdown-row__name{flex:0 0 140px;font-size:13px;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.synthesis-breakdown-row__bar-wrap{flex:1;height:12px;background:#f3f4f6;border-radius:6px;overflow:hidden}.synthesis-breakdown-row__bar{height:100%;background:linear-gradient(90deg,#3b82f6,#1e40af);border-radius:6px;transition:width .2s ease}.synthesis-breakdown-row__pct{flex:0 0 90px;text-align:right;font-size:12px;font-weight:500;color:#6b7280;font-variant-numeric:tabular-nums}.synthesis-tasks-table{width:100%;border-collapse:collapse}.synthesis-tasks-table thead th{text-align:left;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid #E5E7EB}.synthesis-tasks-table thead th.numeric{text-align:right}.synthesis-tasks-table tbody td{padding:10px;font-size:13px;color:#1a1a1a;border-bottom:1px solid #F3F4F6;vertical-align:middle}.synthesis-tasks-table tbody td.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.synthesis-tasks-table tbody tr:last-child td{border-bottom:none}.synthesis-task-name{display:flex;align-items:center;gap:8px;font-weight:500}.synthesis-task-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:#9ca3af}.synthesis-task-meta{font-size:11px;color:#6b7280;margin-top:2px}.synthesis-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500}.synthesis-pill--low{background:#d1fae5;color:#065f46}.synthesis-pill--medium{background:#fef3c7;color:#92400e}.synthesis-pill--high{background:#fee2e2;color:#991b1b}.synthesis-muted{color:#9ca3af;font-style:italic}.synthesis-non-additive-note{display:flex;align-items:flex-start;gap:6px;margin:0 0 14px;padding:8px 10px;background:#fef3c7;border:1px solid #FCD34D;border-radius:8px;font-size:12px;color:#78350f;line-height:1.4}.synthesis-non-additive-note svg{flex-shrink:0;margin-top:2px}.synthesis-resource-list{margin-bottom:12px;display:flex;flex-direction:column}.synthesis-resource-list:last-child{margin-bottom:0}.synthesis-resource-list__label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.synthesis-resource-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #F3F4F6;font-size:13px}.synthesis-resource-row:last-child{border-bottom:none}.synthesis-resource-row__name{flex:1;color:#1a1a1a;font-weight:500}.synthesis-resource-row__meta{color:#6b7280;font-size:12px}.synthesis-resource-row__cost{color:#1a1a1a;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.synthesis-resource-item{padding:8px 0;border-bottom:1px solid #E5E7EB}.synthesis-resource-item:last-child{border-bottom:none}.synthesis-resource-item__main{display:flex;justify-content:space-between;align-items:center;gap:12px}.synthesis-resource-item__name{font-size:13px;font-weight:500;color:#1a1a1a;flex:1}.synthesis-resource-item__cost{font-size:13px;font-weight:500;color:#1a1a1a;font-variant-numeric:tabular-nums;white-space:nowrap}.synthesis-resource-item__meta{font-size:11px;color:#888780;margin-top:2px}.synthesis-resource-item__tasks{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.synthesis-task-pill{display:inline-block;background:#d1fae5;color:#065f46;font-size:12px;font-weight:500;padding:4px 12px;border-radius:999px}:root[data-theme=dark] .synthesis-panel{background:#1a1a1a}:root[data-theme=dark] .synthesis-panel__header h3{color:#fff}:root[data-theme=dark] .synthesis-panel__header-meta,:root[data-theme=dark] .synthesis-panel__loading,:root[data-theme=dark] .synthesis-panel__empty{color:#a0a0a0}:root[data-theme=dark] .synthesis-panel__error{color:#f87171}:root[data-theme=dark] .synthesis-kpi-card{background:#2a2a2a;border-color:#3a3a3a;box-shadow:0 1px 2px #0000004d}:root[data-theme=dark] .synthesis-kpi-card__label{color:#a0a0a0}:root[data-theme=dark] .synthesis-kpi-card__value{color:#fff}:root[data-theme=dark] .synthesis-kpi-card__value--muted{color:#6b7280}:root[data-theme=dark] .synthesis-kpi-card__value--accent{color:#60a5fa}:root[data-theme=dark] .synthesis-kpi-card__value--alert{color:#f87171}:root[data-theme=dark] .synthesis-kpi-card__hint{color:#6b7280}:root[data-theme=dark] .synthesis-bottleneck{background:#78350f;border-color:#b45309}:root[data-theme=dark] .synthesis-bottleneck__label{color:#fbbf24}:root[data-theme=dark] .synthesis-bottleneck__name{color:#fff}:root[data-theme=dark] .synthesis-bottleneck__duration{color:#fcd34d}:root[data-theme=dark] .synthesis-section{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .synthesis-section__title{color:#a0a0a0}:root[data-theme=dark] .synthesis-breakdown-row__name{color:#fff}:root[data-theme=dark] .synthesis-breakdown-row__bar-wrap{background:#1a1a1a}:root[data-theme=dark] .synthesis-breakdown-row__bar{background:linear-gradient(90deg,#60a5fa,#3b82f6)}:root[data-theme=dark] .synthesis-breakdown-row__pct{color:#a0a0a0}:root[data-theme=dark] .synthesis-tasks-table thead th{color:#a0a0a0;border-bottom-color:#3a3a3a}:root[data-theme=dark] .synthesis-tasks-table tbody td{color:#fff;border-bottom-color:#3a3a3a}:root[data-theme=dark] .synthesis-task-meta{color:#a0a0a0}:root[data-theme=dark] .synthesis-pill--low{background:#14532d;color:#86efac}:root[data-theme=dark] .synthesis-pill--medium{background:#78350f;color:#fcd34d}:root[data-theme=dark] .synthesis-pill--high{background:#7f1d1d;color:#fca5a5}:root[data-theme=dark] .synthesis-muted{color:#6b7280}:root[data-theme=dark] .synthesis-non-additive-note{background:#78350f;border-color:#b45309;color:#fcd34d}:root[data-theme=dark] .synthesis-resource-list__label{color:#a0a0a0}:root[data-theme=dark] .synthesis-resource-row{border-bottom-color:#3a3a3a}:root[data-theme=dark] .synthesis-resource-row__name{color:#fff}:root[data-theme=dark] .synthesis-resource-row__meta{color:#a0a0a0}:root[data-theme=dark] .synthesis-resource-row__cost{color:#fff}:root[data-theme=dark] .synthesis-resource-item{border-bottom-color:#3a3a3a}:root[data-theme=dark] .synthesis-resource-item__name{color:#fff}:root[data-theme=dark] .synthesis-resource-item__cost{color:#fff}:root[data-theme=dark] .synthesis-resource-item__meta{color:#a0a0a0}:root[data-theme=dark] .synthesis-task-pill{background:#10b9812e;color:#6ee7b7}.process-edit-drawer{width:380px;display:flex;flex-direction:column}.edit-panel-section-title{margin:16px 0 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6B7280);padding-top:12px;border-top:1px solid #F3F4F6}.edit-panel-section-title:first-child{margin-top:0;padding-top:0;border-top:none}.edit-panel-field{margin-bottom:10px}.edit-panel-chips{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.edit-panel-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;background:#ecfdf5;color:#059669;border:1px solid #A7F3D0;border-radius:12px;font-size:11px;font-weight:500}.edit-panel-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:transparent;border:none;border-radius:50%;color:#059669;cursor:pointer;padding:0}.edit-panel-chip-remove:hover{background:#dc26261a;color:#dc2626}.edit-panel-autocomplete{position:relative}.edit-panel-autocomplete input{width:100%;padding:6px 10px;font-size:12px;border:1px solid #E5E7EB;border-radius:6px}.edit-panel-autocomplete input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811f}.edit-panel-autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #E5E7EB;border-radius:6px;box-shadow:0 6px 14px #00000014;max-height:180px;overflow-y:auto;z-index:30}.edit-panel-autocomplete-item{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;cursor:pointer;color:var(--color-text-primary, #1A1A1A)}.edit-panel-autocomplete-item>span:first-child{flex:1}.edit-panel-autocomplete-item:hover{background:#ecfdf5;color:#059669}.edit-panel-footer{display:flex;gap:6px;padding:12px 20px;border-top:1px solid #F3F4F6;background:#f9fafb;flex-shrink:0}.edit-panel-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:7px 12px;font-size:12px;font-weight:600;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:background .12s ease}.edit-panel-btn--primary{background:#10b981;color:#fff;border-color:#10b981;flex:1}.edit-panel-btn--primary:hover{background:#059669}.edit-panel-btn--secondary{background:#fff;color:var(--color-text-secondary, #6B7280);border-color:#e5e7eb}.edit-panel-btn--secondary:hover{background:#f3f4f6}.edit-panel-btn--danger{background:#fff;color:#dc2626;border-color:#fecaca}.edit-panel-btn--danger:hover{background:#fef3f2;border-color:#fca5a5}.edit-panel-hint{margin:-4px 0 8px;font-size:11px;color:var(--sm-text-muted);font-style:italic}.edit-panel-checkbox-row{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:13px;color:var(--sm-text-primary, #1A1A1A);cursor:pointer;-webkit-user-select:none;user-select:none}.edit-panel-checkbox-row input[type=checkbox]{flex-shrink:0;margin:0;width:14px;height:14px;cursor:pointer}.edit-panel-checkbox-row span{flex:1;line-height:1.3}:root[data-theme=dark] .edit-panel-autocomplete-dropdown{background:#2a2a2a;border-color:#3a3a3a;box-shadow:0 6px 14px #0006}:root[data-theme=dark] .edit-panel-autocomplete-item{color:#fff}:root[data-theme=dark] .edit-panel-autocomplete-item:hover{background:#2d2d2d;color:#34d399}:root[data-theme=dark] .edit-panel-autocomplete input{background:#1a1a1a;color:#fff;border-color:#3a3a3a}:root[data-theme=dark] .edit-panel-chip{background:#14532d;color:#86efac;border-color:#166534}:root[data-theme=dark] .edit-panel-chip-remove{color:#86efac}:root[data-theme=dark] .edit-panel-chip-remove:hover{background:#f8717126;color:#f87171}:root[data-theme=dark] .edit-panel-footer{background:#1a1a1a;border-top-color:#3a3a3a}:root[data-theme=dark] .edit-panel-btn--secondary{background:#2a2a2a;color:#fff;border-color:#3a3a3a}:root[data-theme=dark] .edit-panel-btn--secondary:hover{background:#2d2d2d}:root[data-theme=dark] .edit-panel-btn--danger{background:#2a2a2a;color:#f87171;border-color:#7f1d1d}:root[data-theme=dark] .edit-panel-btn--danger:hover{background:#2d2d2d;border-color:#b91c1c}.elements-panel{width:320px;flex-shrink:0;display:flex;flex-direction:column;background:#fff;border-right:1px solid #E5E7EB;overflow:hidden}.elements-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #F3F4F6}.elements-panel__title{display:inline-flex;align-items:center;gap:8px}.elements-panel__title h2{margin:0;font-size:13px;font-weight:600;color:var(--color-text-primary, #1A1A1A);text-transform:uppercase;letter-spacing:.05em}.elements-panel__close{background:transparent;border:1px solid transparent;border-radius:4px;padding:3px;color:var(--color-text-secondary, #6B7280);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.elements-panel__close:hover{background:#f3f4f6;color:var(--color-text-primary, #1A1A1A)}.elements-panel .sm-drilldown-cta{margin:12px 14px 4px;width:calc(100% - 28px)}.elements-panel__content{display:flex;flex-direction:column;flex:1;min-height:0}.elements-panel .sm-drilldown-form{margin:8px 14px}.elements-panel .sm-drilldown-form-fields{display:flex;flex-direction:column;gap:6px}.elements-panel .sm-drilldown-form-fields input,.elements-panel .sm-drilldown-form-fields select{width:100%;padding:6px 10px;font-size:12px;border:1px solid #E5E7EB;border-radius:6px;background:#fff}.elements-panel .sm-drilldown-form-fields input:focus,.elements-panel .sm-drilldown-form-fields select:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811f}.elements-panel .sm-drilldown-form-actions{display:flex;gap:6px;margin-top:8px}.elements-panel .sm-drilldown-form-actions .sm-btn-primary,.elements-panel .sm-drilldown-form-actions .sm-btn-secondary{flex:1}.elements-panel__readonly-hint{margin:0 14px 8px;padding:8px 10px;background:#f3f4f6;border:1px dashed #E5E7EB;border-radius:6px;font-size:11px;color:var(--color-text-secondary, #6B7280);font-style:italic;line-height:1.4}.elements-panel__list{flex:1;overflow-y:auto;padding:0 10px 14px;display:flex;flex-direction:column;gap:4px}.elements-panel__empty{padding:20px 12px;text-align:center;color:var(--color-text-tertiary, #9CA3AF);font-size:12px;font-style:italic}.elements-panel__item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#fff;border:1px solid #E5E7EB;border-radius:6px;transition:background .12s ease}.elements-panel__item:hover{background:#f9fafb}.elements-panel__item--readonly{cursor:pointer}.elements-panel__item--readonly:hover{background:#ecfdf5;border-color:#a7f3d0}.elements-panel__item-content{flex:1;min-width:0}.elements-panel__item-name{font-size:12px;font-weight:500;color:var(--color-text-primary, #1A1A1A);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elements-panel__item-subtitle{font-size:10px;color:var(--color-text-secondary, #6B7280)}.elements-panel__item-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.elements-panel__action-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--color-text-secondary, #6B7280);cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease}.elements-panel__action-btn:hover{background:#f3f4f6;border-color:#e5e7eb;color:var(--color-text-primary, #1A1A1A)}.elements-panel__action-btn--danger:hover{background:#fef3f2;border-color:#fecaca;color:#dc2626}:root[data-theme=dark] .elements-panel{background:#2a2a2a;border-right-color:#3a3a3a}:root[data-theme=dark] .elements-panel__header{border-bottom-color:#3a3a3a}:root[data-theme=dark] .elements-panel__title h2{color:#fff}:root[data-theme=dark] .elements-panel__close{color:#a0a0a0}:root[data-theme=dark] .elements-panel__close:hover{background:#2d2d2d;color:#fff}:root[data-theme=dark] .elements-panel .sm-drilldown-form-fields input,:root[data-theme=dark] .elements-panel .sm-drilldown-form-fields select{background:#1a1a1a;border-color:#3a3a3a;color:#fff}:root[data-theme=dark] .elements-panel__readonly-hint{background:#1a1a1a;border-color:#3a3a3a;color:#a0a0a0}:root[data-theme=dark] .elements-panel__empty{color:#6b6b72}:root[data-theme=dark] .elements-panel__item{background:#1a1a1a;border-color:#3a3a3a}:root[data-theme=dark] .elements-panel__item:hover{background:#2d2d2d}:root[data-theme=dark] .elements-panel__item--readonly:hover{background:#1b2d24;border-color:#0e5a3d}:root[data-theme=dark] .elements-panel__item-name{color:#fff}:root[data-theme=dark] .elements-panel__item-subtitle{color:#a0a0a0}:root[data-theme=dark] .elements-panel__action-btn{color:#a0a0a0}:root[data-theme=dark] .elements-panel__action-btn:hover{background:#2d2d2d;border-color:#3a3a3a;color:#fff}:root[data-theme=dark] .elements-panel__action-btn--danger:hover{background:#3a1a1a;border-color:#7f1d1d;color:#f87171}.sm-save-hint{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--color-text-tertiary, #9CA3AF);margin-left:8px}.sm-save-hint--ok{color:#059669}.sm-save-hint--err{color:#dc2626}.sm-rename-row{display:flex;align-items:center;gap:4px;padding:4px 6px}.sm-rename-input{flex:1;min-width:0;padding:4px 6px;font-size:12px;border:1px solid #10B981;border-radius:4px;outline:none}.sm-rename-input:focus{box-shadow:0 0 0 2px #10b98133}.sm-rename-btn{padding:4px 8px;font-size:11px;background:#fff;border:1px solid #E5E7EB;border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6B7280)}.sm-rename-btn:hover{background:#f3f4f6}.sm-rename-btn--ok{background:#10b981;color:#fff;border-color:#10b981;font-weight:600}.sm-rename-btn--ok:hover{background:#059669}.sm-export-submenu{display:flex;flex-direction:column;gap:2px;padding:4px 6px 4px 28px}.sm-export-submenu-item{padding:4px 8px;background:transparent;border:1px solid transparent;border-radius:4px;font-size:11px;color:var(--color-text-secondary, #6B7280);cursor:pointer;text-align:left}.sm-export-submenu-item:hover{background:#ecfdf5;color:#059669}.sm-sidebar-hint{display:inline-flex;align-items:flex-start;gap:6px;font-size:11px;color:var(--color-text-tertiary, #9CA3AF);font-style:italic;line-height:1.4;margin:4px 0 0;padding:0 4px}.sm-process-sub-info{font-size:11px;font-style:italic;margin-top:2px;margin-bottom:4px}.sm-sidebar-group+.sm-sidebar-group{margin-top:8px}.sm-sidebar-group-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--sm-text-muted);margin:6px 0 4px 4px}.process-search-wrapper{position:relative;display:flex;align-items:center}.process-search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.process-search-input{width:100%;padding:6px 26px 6px 28px;border:1px solid #E5E7EB;border-radius:6px;font-size:13px;font-family:var(--font);color:#1a1a1a;background:#fff;outline:none;transition:border-color .15s ease}.process-search-input:focus{border-color:#10b981}.process-search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer}.process-search-clear:hover{background:#f3f4f6;color:#1a1a1a}.process-search-count{margin-top:6px;font-size:11px;color:#6b7280}.process-search-results{list-style:none;padding:0;margin:8px 0 0;max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.process-search-result-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .12s ease;outline:none}.process-search-result-item:hover,.process-search-result-item:focus-visible{background:#f3f4f6}.process-search-result-icon{flex-shrink:0;color:#6b7280}.process-search-result-body{min-width:0;flex:1}.process-search-result-name{font-size:13px;font-weight:500;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.process-search-result-type{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quality-section .quality-status,.quality-section .quality-badge{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.3}.quality-section--ok .quality-status{color:#059669}:root[data-theme=dark] .quality-section--ok .quality-status{color:#34d399}.quality-section--ok .quality-status-icon{flex-shrink:0;color:#10b981}.quality-section .quality-badge{padding:6px 8px;border-radius:6px;cursor:pointer;transition:background .15s ease;-webkit-user-select:none;user-select:none}.quality-section .quality-badge:hover{background:#f3f4f6}:root[data-theme=dark] .quality-section .quality-badge:hover{background:#2d2d2d}.quality-section .quality-badge:focus-visible{outline:2px solid var(--sm-primary-hover, #0A6B57);outline-offset:1px}.quality-badge-icon{flex-shrink:0}.quality-badge-count{font-weight:600;font-size:13px}.quality-badge-text{color:var(--sm-text-primary, #1A1A1A)}:root[data-theme=dark] .quality-badge-text{color:var(--sm-text-primary, #FFFFFF)}.quality-section--warning .quality-badge-icon,.quality-section--warning .quality-badge-count{color:#d97706}:root[data-theme=dark] .quality-section--warning .quality-badge-icon,:root[data-theme=dark] .quality-section--warning .quality-badge-count{color:#f59e0b}.quality-section--critical .quality-badge-icon,.quality-section--critical .quality-badge-count{color:#dc2626}:root[data-theme=dark] .quality-section--critical .quality-badge-icon,:root[data-theme=dark] .quality-section--critical .quality-badge-count{color:#f87171}.quality-breakdown{margin-top:4px;padding-left:8px;font-size:11px;color:var(--sm-text-muted, #9CA3AF)}.genproc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;animation:genproc-fade-in .18s ease-out}@keyframes genproc-fade-in{0%{opacity:0}to{opacity:1}}.genproc-modal{background:var(--color-bg-card, #FFFFFF);width:100%;max-width:640px;max-height:90vh;border-radius:12px;box-shadow:0 24px 64px #0000002e;display:flex;flex-direction:column;outline:none;animation:genproc-pop-in .22s ease-out}:root[data-theme=dark] .genproc-modal{background:#1e1e1e}@keyframes genproc-pop-in{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.genproc-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:.5px solid var(--color-border-default, #E5E7EB)}.genproc-header-icon{width:36px;height:36px;border-radius:50%;background:#eeebfe;color:#5b4fe8;display:flex;align-items:center;justify-content:center;flex-shrink:0}:root[data-theme=dark] .genproc-header-icon{background:#2d2a4f;color:#9089f0}.genproc-titles{flex:1;min-width:0}.genproc-title{margin:0;font-size:16px;font-weight:600;color:var(--sm-text-primary, #1A1A1A)}.genproc-subtitle{margin:2px 0 0;font-size:12.5px;color:var(--sm-text-secondary, #6B7280)}.genproc-close{background:transparent;border:none;cursor:pointer;padding:6px;border-radius:6px;color:var(--sm-text-secondary, #6B7280);display:flex}.genproc-close:hover{background:var(--sm-bg-hover, #F4F4F5)}.genproc-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.genproc-field-label{font-size:12.5px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);margin:0 0 4px}.genproc-field-hint{font-size:11.5px;color:var(--sm-text-secondary, #6B7280);margin:0 0 8px}:root[data-theme=dark] .genproc-field-label{color:#fff}.genproc-textarea{width:100%;min-height:110px;resize:vertical;font-family:inherit;font-size:13.5px;line-height:1.5;padding:10px 12px;border:1px solid var(--color-border-default, #E5E7EB);border-radius:8px;background:var(--color-bg-card, #FFFFFF);color:var(--sm-text-primary, #1A1A1A);box-sizing:border-box}.genproc-textarea:focus{outline:none;border-color:#5b4fe8;box-shadow:0 0 0 3px #eeebfe}:root[data-theme=dark] .genproc-textarea{background:#2a2a2a;color:#e5e5e5;border-color:#3a3a3a}.genproc-apps-list{border:1px solid var(--color-border-default, #E5E7EB);border-radius:8px;max-height:180px;overflow-y:auto;background:var(--color-bg-card, #FFFFFF)}:root[data-theme=dark] .genproc-apps-list{background:#2a2a2a;border-color:#3a3a3a}.genproc-app-row{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;font-size:13px;color:var(--sm-text-primary, #1A1A1A);border-bottom:.5px solid var(--color-border-default, #E5E7EB)}.genproc-app-row:last-child{border-bottom:none}.genproc-app-row:hover{background:var(--sm-bg-hover, #F4F4F5)}:root[data-theme=dark] .genproc-app-row{color:#e5e5e5;border-bottom-color:#3a3a3a}:root[data-theme=dark] .genproc-app-row:hover{background:#333}.genproc-app-row input[type=checkbox]{margin:0;flex-shrink:0;accent-color:#5B4FE8}.genproc-app-type{font-size:11px;color:var(--sm-text-muted, #9CA3AF);margin-left:auto}.genproc-empty-apps{padding:14px;text-align:center;font-size:12px;color:var(--sm-text-secondary, #6B7280);font-style:italic}.genproc-loader{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;color:var(--sm-text-secondary, #6B7280);font-size:13.5px}.genproc-loader-spinner{animation:genproc-spin .9s linear infinite;color:#5b4fe8}@keyframes genproc-spin{to{transform:rotate(360deg)}}.genproc-error{background:#fef2f2;border:1px solid #FECACA;color:#991b1b;padding:10px 12px;border-radius:8px;font-size:12.5px}:root[data-theme=dark] .genproc-error{background:#3a1f1f;color:#fca5a5;border-color:#5a2a2a}.genproc-preview-section{display:flex;flex-direction:column;gap:6px}.genproc-preview-section-title{font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sm-text-muted, #9CA3AF);margin:4px 0 2px}.genproc-preview-process-name{font-size:15px;font-weight:700;color:var(--sm-text-primary, #1A1A1A);margin:0}:root[data-theme=dark] .genproc-preview-process-name{color:#fff}.genproc-preview-process-desc{font-size:12.5px;color:var(--sm-text-secondary, #6B7280);margin:2px 0 0;line-height:1.4}.genproc-task-row{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--color-border-default, #E5E7EB);border-radius:8px;background:var(--color-bg-card, #FFFFFF)}:root[data-theme=dark] .genproc-task-row{background:#2a2a2a;border-color:#3a3a3a}.genproc-task-name{font-size:13px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);margin:0}:root[data-theme=dark] .genproc-task-name{color:#fff}.genproc-task-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11.5px;color:var(--sm-text-secondary, #6B7280)}.genproc-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.genproc-pill--crit-high{background:#fee2e2;color:#991b1b}.genproc-pill--crit-medium{background:#fef3c7;color:#92400e}.genproc-pill--crit-low{background:#d1fae5;color:#047857}.genproc-pill--app{background:#eeebfe;color:#5b4fe8}.genproc-other-list{display:flex;flex-wrap:wrap;gap:6px}.genproc-other-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:6px;font-size:11.5px;border:1px solid var(--color-border-default, #E5E7EB);background:var(--color-bg-card, #FFFFFF);color:var(--sm-text-secondary, #6B7280)}:root[data-theme=dark] .genproc-other-pill{background:#2a2a2a;border-color:#3a3a3a;color:#c0c0c8}.genproc-task-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.genproc-task-header>.genproc-task-name{flex:1;min-width:0;margin:0}.genproc-row-delete{background:transparent;border:none;color:var(--sm-text-muted, #9CA3AF);cursor:pointer;padding:3px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;opacity:.55;transition:opacity .12s ease,background .12s ease,color .12s ease}.genproc-row-delete:hover,.genproc-row-delete:focus-visible{opacity:1;color:#dc2626;background:#dc262614;outline:none}:root[data-theme=dark] .genproc-row-delete{color:#9ca3af}:root[data-theme=dark] .genproc-row-delete:hover,:root[data-theme=dark] .genproc-row-delete:focus-visible{color:#fca5a5;background:#dc262626}.genproc-pill-delete{background:transparent;border:none;color:var(--sm-text-muted, #6B7280);cursor:pointer;padding:1px;margin-left:6px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;opacity:.55;transition:opacity .12s ease,background .12s ease,color .12s ease}.genproc-pill-delete:hover:not(:disabled),.genproc-pill-delete:focus-visible:not(:disabled){opacity:1;color:#dc2626;background:#dc26261a;outline:none}.genproc-pill-delete:disabled{opacity:.25;cursor:not-allowed}:root[data-theme=dark] .genproc-pill-delete{color:#a0a0a0}:root[data-theme=dark] .genproc-pill-delete:hover:not(:disabled),:root[data-theme=dark] .genproc-pill-delete:focus-visible:not(:disabled){color:#fca5a5;background:#dc26262e}.genproc-name-editable{cursor:text;border-radius:3px;padding:1px 3px;border-bottom:1px dashed transparent;transition:background .12s ease,border-color .12s ease}.genproc-name-editable:hover,.genproc-name-editable:focus-visible{background:#5b4fe812;border-bottom-color:#5b4fe880;outline:none}:root[data-theme=dark] .genproc-name-editable:hover,:root[data-theme=dark] .genproc-name-editable:focus-visible{background:#9089f01f;border-bottom-color:#9089f099}.genproc-name-input{width:100%;max-width:320px;padding:2px 6px;font-size:inherit;font-family:inherit;font-weight:inherit;color:var(--sm-text-primary, #1A1A1A);background:var(--color-bg-card, #FFFFFF);border:1px solid #5B4FE8;border-radius:4px;outline:none;box-sizing:border-box}:root[data-theme=dark] .genproc-name-input{background:#2a2a2a;color:#e5e5e5;border-color:#9089f0}.genproc-toast{margin-top:4px;padding:8px 10px;border-radius:8px;font-size:12px;text-align:center}.genproc-toast--success{background:#5b4fe81a;color:#4a40d1}:root[data-theme=dark] .genproc-toast--success{background:#9089f029;color:#c7c0f9}.genproc-refine-section{padding:12px;border:1px solid var(--color-border-default, #E5E7EB);border-radius:10px;background:#5b4fe80a}:root[data-theme=dark] .genproc-refine-section{background:#9089f014;border-color:#3a3a3a}.genproc-refine-hint{font-size:11.5px;color:var(--sm-text-secondary, #6B7280);margin:0 0 8px;line-height:1.45}.genproc-refine-textarea{width:100%;min-height:70px;resize:vertical;font-family:inherit;font-size:13px;line-height:1.45;padding:8px 10px;border:1px solid var(--color-border-default, #E5E7EB);border-radius:8px;background:var(--color-bg-card, #FFFFFF);color:var(--sm-text-primary, #1A1A1A);box-sizing:border-box;margin-bottom:8px}.genproc-refine-textarea:focus{outline:none;border-color:#5b4fe8;box-shadow:0 0 0 3px #5b4fe826}:root[data-theme=dark] .genproc-refine-textarea{background:#2a2a2a;color:#e5e5e5;border-color:#3a3a3a}.genproc-btn--ai-secondary{background:linear-gradient(135deg,#eeebfe,#fff);color:#5b4fe8;border:1px solid #C7C0F9}.genproc-btn--ai-secondary:hover:not(:disabled){background:#eeebfe}.genproc-btn--ai-secondary:disabled{opacity:.45;cursor:not-allowed;background:var(--color-bg-card, #FFFFFF);color:var(--sm-text-muted, #9CA3AF);border-color:var(--color-border-default, #E5E7EB)}:root[data-theme=dark] .genproc-btn--ai-secondary{background:linear-gradient(135deg,#2d2a4f,#1e1e1e);border-color:#4a4480;color:#9089f0}:root[data-theme=dark] .genproc-btn--ai-secondary:hover:not(:disabled){background:#2d2a4f}:root[data-theme=dark] .genproc-btn--ai-secondary:disabled{background:#1f1f23;color:#6b7280;border-color:#3a3a3a}.genproc-footer{border-top:.5px solid var(--color-border-default, #E5E7EB);padding:12px 16px;display:flex;justify-content:flex-end;gap:8px;background:var(--color-bg-card, #FFFFFF)}:root[data-theme=dark] .genproc-footer{background:#1e1e1e}.genproc-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .12s ease}.genproc-btn--ghost{background:transparent;color:var(--sm-text-secondary, #6B7280);border-color:var(--color-border-default, #E5E7EB)}.genproc-btn--ghost:hover{background:var(--sm-bg-hover, #F4F4F5)}:root[data-theme=dark] .genproc-btn--ghost{border-color:#3a3a3a}:root[data-theme=dark] .genproc-btn--ghost:hover{background:#2a2a2a}.genproc-btn--primary{background:#5b4fe8;color:#fff;border-color:#5b4fe8}.genproc-btn--primary:hover:not(:disabled){background:#4a40d1}.genproc-btn--primary:disabled{opacity:.5;cursor:not-allowed}.sm-btn--ai{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 12px;margin-top:8px;border-radius:8px;border:1px solid #C7C0F9;background:linear-gradient(135deg,#eeebfe,#fff);color:#5b4fe8;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease}.sm-btn--ai:hover{background:#eeebfe}:root[data-theme=dark] .sm-btn--ai{background:linear-gradient(135deg,#2d2a4f,#1e1e1e);border-color:#4a4480;color:#9089f0}:root[data-theme=dark] .sm-btn--ai:hover{background:#2d2a4f}.genproc-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;gap:14px;color:var(--sm-text-secondary, #6B7280)}.genproc-hero-icon{width:64px;height:64px;border-radius:50%;background:#eeebfe;color:#5b4fe8;display:flex;align-items:center;justify-content:center}:root[data-theme=dark] .genproc-hero-icon{background:#2d2a4f;color:#9089f0}.genproc-hero-title{font-size:18px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);margin:0}:root[data-theme=dark] .genproc-hero-title{color:#fff}.genproc-hero-desc{font-size:13.5px;line-height:1.55;max-width:460px;margin:0}.genproc-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}.quality-drawer-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000;z-index:9}.quality-detail-drawer{width:400px;display:flex;flex-direction:column;z-index:10}.quality-drawer-header h3{text-transform:uppercase}.quality-drawer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 20px;border-bottom:1px solid var(--separator, var(--sm-border, #E5E7EB));flex-shrink:0}.quality-drawer-refresh{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;font-family:var(--font);color:var(--sm-text-primary, #1A1A1A);background:var(--sm-bg-default, #FFFFFF);border:1px solid var(--sm-border, #E5E7EB);border-radius:6px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.quality-drawer-refresh:hover:not(:disabled){background:#f3f4f6;border-color:var(--sm-primary-hover, #0A6B57)}:root[data-theme=dark] .quality-drawer-refresh:hover:not(:disabled){background:#2d2d2d}.quality-drawer-refresh:disabled{opacity:.5;cursor:not-allowed}.quality-drawer-refresh--spinning{animation:quality-spin .8s linear infinite}@keyframes quality-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.quality-drawer-summary{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.quality-summary-chip{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;border-radius:9999px;white-space:nowrap}.quality-summary-chip--critical{background:#fee2e2;color:#dc2626}:root[data-theme=dark] .quality-summary-chip--critical{background:#dc26262e;color:#f87171}.quality-summary-chip--warning{background:#fef3c7;color:#b45309}:root[data-theme=dark] .quality-summary-chip--warning{background:#f59e0b2e;color:#fbbf24}.quality-drawer-body{padding:12px 16px}.quality-drawer-empty{text-align:center;font-size:13px;color:var(--sm-text-muted, #6B7280);padding:24px 8px;line-height:1.5}.quality-drawer-empty--ok{color:#059669}:root[data-theme=dark] .quality-drawer-empty--ok{color:#34d399}.quality-drawer-empty-icon{display:block;margin:0 auto 8px;color:#10b981}:root[data-theme=dark] .quality-drawer-empty-icon{color:#34d399}.quality-category{margin-bottom:8px}.quality-category-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 4px;font-family:var(--font);font-size:12px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);background:transparent;border:none;border-bottom:1px solid var(--sm-border, #E5E7EB);cursor:pointer;text-align:left}.quality-category-header:hover{background:#f9fafb}:root[data-theme=dark] .quality-category-header:hover{background:#2d2d2d}.quality-category-chevron{flex-shrink:0;transition:transform .15s ease;color:var(--sm-text-muted, #9CA3AF)}.quality-category-chevron--collapsed{transform:rotate(-90deg)}.quality-category-title{flex:1;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.quality-category-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:1px 6px;font-size:11px;font-weight:600;border-radius:9999px}.quality-category-count--critical{background:#fee2e2;color:#dc2626}:root[data-theme=dark] .quality-category-count--critical{background:#dc26262e;color:#f87171}.quality-category-count--warning{background:#fef3c7;color:#b45309}:root[data-theme=dark] .quality-category-count--warning{background:#f59e0b2e;color:#fbbf24}.quality-items{list-style:none;margin:0;padding:4px 0 0}.quality-item{display:flex;gap:8px;padding:8px 4px;border-bottom:1px solid var(--sm-border, #E5E7EB)}.quality-item:last-child{border-bottom:none}.quality-item-icon{flex-shrink:0;padding-top:2px}.quality-item--critical .quality-item-icon{color:#dc2626}:root[data-theme=dark] .quality-item--critical .quality-item-icon{color:#f87171}.quality-item--warning .quality-item-icon{color:#d97706}:root[data-theme=dark] .quality-item--warning .quality-item-icon{color:#f59e0b}.quality-item-content{flex:1;min-width:0}.quality-item-message{margin:0;font-size:13px;line-height:1.4;color:var(--sm-text-primary, #1A1A1A);word-break:break-word}.quality-item-navigate{display:inline-flex;align-items:center;margin-top:4px;padding:2px 0;font-size:12px;font-weight:500;font-family:var(--font);color:var(--sm-primary-hover, #0A6B57);background:transparent;border:none;cursor:pointer}.quality-item-navigate:hover{text-decoration:underline}.quality-item-navigate:focus-visible{outline:2px solid var(--sm-primary-hover, #0A6B57);outline-offset:2px;border-radius:2px}.process-quality-badge{position:absolute;top:150px;right:16px;z-index:15;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-family:var(--font);font-size:13px;font-weight:600;line-height:1;border:none;border-radius:9999px;box-shadow:0 2px 8px #00000014;transition:transform .15s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none}.process-quality-badge--ok{background:#d1fae5;color:#065f46;cursor:default}:root[data-theme=dark] .process-quality-badge--ok{background:#10b9812e;color:#34d399}.process-quality-badge--warning{background:#fef3c7;color:#92400e;cursor:pointer}:root[data-theme=dark] .process-quality-badge--warning{background:#f59e0b2e;color:#fbbf24}.process-quality-badge--critical{background:#fee2e2;color:#991b1b;cursor:pointer;animation:process-quality-pulse 2s ease-in-out infinite}:root[data-theme=dark] .process-quality-badge--critical{background:#dc26262e;color:#f87171;animation:process-quality-pulse-dark 2s ease-in-out infinite}@keyframes process-quality-pulse{0%,to{box-shadow:0 2px 8px #dc262633}50%{box-shadow:0 2px 18px #dc262673}}@keyframes process-quality-pulse-dark{0%,to{box-shadow:0 2px 8px #f8717133}50%{box-shadow:0 2px 18px #f8717180}}.process-quality-badge--warning:hover,.process-quality-badge--critical:hover{transform:translateY(-1px);box-shadow:0 4px 14px #00000024}.process-quality-badge--critical:hover{animation-play-state:paused}.process-quality-badge:focus-visible{outline:2px solid var(--sm-primary-hover, #0A6B57);outline-offset:2px}.process-quality-badge__count{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){.process-quality-badge--critical,:root[data-theme=dark] .process-quality-badge--critical{animation:none}}.process-canvas-search{position:absolute;top:104px;right:16px;z-index:17;display:flex;flex-direction:column;gap:6px;width:220px;transition:width .2s ease}.process-canvas-search:focus-within{width:280px}.process-canvas-search__input-row{position:relative;display:flex;align-items:center;background:var(--color-bg-card, #fff);border:.5px solid var(--color-border-default, #E5E7EB);border-radius:8px;box-shadow:0 2px 6px #0000000f;padding:0 8px 0 10px;transition:box-shadow .12s ease}.process-canvas-search:focus-within .process-canvas-search__input-row{box-shadow:0 2px 10px #0000001a}.process-canvas-search__icon{color:var(--color-text-secondary, #6B7280);flex-shrink:0}.process-canvas-search__input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:13px;padding:8px 6px;color:var(--color-text-primary, #1A1A1A)}.process-canvas-search__input::placeholder{color:var(--color-text-tertiary, #9C9B96)}.process-canvas-search__clear{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--color-text-secondary, #6B7280);flex-shrink:0}.process-canvas-search__clear:hover{background:var(--color-bg-hover, #F3F4F6);color:var(--color-text-primary, #1A1A1A)}.process-canvas-search__dropdown{background:var(--color-bg-card, #fff);border:.5px solid var(--color-border-default, #E5E7EB);border-radius:8px;box-shadow:0 4px 12px #00000014;padding:8px;max-height:360px;overflow-y:auto}.process-canvas-search__count{font-size:11px;color:var(--color-text-secondary, #6B7280);margin-bottom:6px;font-variant-numeric:tabular-nums}.process-canvas-search__results{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.process-canvas-search__result{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .12s ease;outline:none}.process-canvas-search__result:hover,.process-canvas-search__result:focus-visible{background:var(--color-bg-hover, #F3F4F6)}.process-canvas-search__result-icon{flex-shrink:0;color:var(--color-text-secondary, #6B7280)}.process-canvas-search__result-body{min-width:0;flex:1}.process-canvas-search__result-name{font-size:13px;font-weight:500;color:var(--color-text-primary, #1A1A1A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.process-canvas-search__result-type{font-size:12px;color:var(--color-text-secondary, #6B7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root[data-theme=dark] .process-canvas-search__input-row,:root[data-theme=dark] .process-canvas-search__dropdown{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .process-canvas-search__input{color:#e5e5e5}:root[data-theme=dark] .process-canvas-search__result:hover,:root[data-theme=dark] .process-canvas-search__result:focus-visible{background:#333}:root[data-theme=dark] .process-canvas-search__result-name{color:#fff}.process-view{display:flex;align-items:stretch;height:100%;min-height:600px;overflow:hidden;padding:8px;gap:8px;background:var(--sm-bg-subtle)}.process-view--loading,.process-view--error{flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;color:var(--color-text-secondary, #6B7280);gap:12px}.process-view__canvas-area{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--sm-bg-default);border:1px solid var(--sm-border);border-radius:var(--sm-radius-md);box-shadow:var(--sm-shadow-sm);overflow:hidden}.process-view__header{padding:12px 20px;border-bottom:1px solid #E5E7EB;background:#fff}.process-view__title{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary, #1A1A1A)}.process-view__description{margin:4px 0 0;font-size:12px;color:var(--color-text-secondary, #6B7280)}.process-view__tabs{display:flex;gap:32px;margin-top:10px;border-bottom:1px solid #E5E5E0;margin-bottom:-13px;padding-left:8px}.process-view__tab{background:transparent;border:none;padding:12px 0;font-size:14px;font-weight:500;color:#888780;cursor:pointer;position:relative;transition:color .15s ease;font-family:inherit}.process-view__tab:hover{color:#5f5e5a}.process-view__tab:hover:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#d3d1c7}.process-view__tab--active{color:#1a1a1a}.process-view__tab--active:after,.process-view__tab--active:hover:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:#10b981;border-radius:2px 2px 0 0}.process-view__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;color:var(--color-text-secondary, #6B7280)}.process-view__empty h2{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--color-text-primary, #1A1A1A)}.process-view__empty p{margin:0;font-size:13px;max-width:400px;line-height:1.5}:root[data-theme=dark] .process-view__canvas-area{background:#2a2a2a;border-color:#3a3a3a}:root[data-theme=dark] .process-view__header{background:#2a2a2a;border-bottom-color:#3a3a3a}:root[data-theme=dark] .process-view__tabs{border-bottom-color:#3a3a3a}:root[data-theme=dark] .process-view__tab{color:#a0a0a0}:root[data-theme=dark] .process-view__tab:hover{color:#fff}:root[data-theme=dark] .process-view__tab:hover:after{background:#3a3a3a}:root[data-theme=dark] .process-view__tab--active{color:#fff}.process-view__canvas-area{position:relative}.process-view__canvas-area .draw-hint{display:inline-flex;align-items:center;gap:10px}.chat-changeset{margin-top:8px;padding:12px 14px;background:var(--color-bg-card, #FFFFFF);border:1px solid var(--chat-accent-border, #C7C0F9);border-left:3px solid var(--chat-accent, #5B4FE8);border-radius:10px;display:flex;flex-direction:column;gap:8px;max-width:100%}:root[data-theme=dark] .chat-changeset{background:#232233;border-color:var(--chat-accent-border, #4A4480)}.chat-changeset--dismissed{opacity:.55}.chat-changeset-header{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--chat-accent, #5B4FE8)}.chat-changeset-title{margin:0;font-size:14px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);line-height:1.3}:root[data-theme=dark] .chat-changeset-title{color:#fff}.chat-changeset-diff{width:100%;border-collapse:collapse;font-size:12.5px;color:var(--sm-text-secondary, #6B7280)}:root[data-theme=dark] .chat-changeset-diff{color:#c0c0c8}.chat-changeset-diff-row+.chat-changeset-diff-row{border-top:1px dashed var(--color-border-default, #E5E7EB)}:root[data-theme=dark] .chat-changeset-diff-row+.chat-changeset-diff-row{border-top-color:#3a3a3a}.chat-changeset-diff-field{padding:5px 8px 5px 0;text-align:left;font-weight:600;white-space:nowrap;vertical-align:top;color:var(--sm-text-primary, #1A1A1A)}:root[data-theme=dark] .chat-changeset-diff-field{color:#e5e7eb}.chat-changeset-diff-from{padding:5px 6px;vertical-align:top;color:var(--sm-text-secondary, #6B7280);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--sm-text-secondary, #6B7280)}:root[data-theme=dark] .chat-changeset-diff-from{color:#9ca3af}.chat-changeset-diff-arrow{padding:5px 4px;vertical-align:top;color:var(--chat-accent, #5B4FE8);font-weight:700;width:1em;text-align:center}.chat-changeset-diff-to{padding:5px 0 5px 6px;vertical-align:top;color:var(--sm-text-primary, #1A1A1A);font-weight:600}:root[data-theme=dark] .chat-changeset-diff-to{color:#fff}.chat-changeset-diff--create .chat-changeset-diff-from,.chat-changeset-diff--create .chat-changeset-diff-arrow{display:none}.chat-changeset-relation{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0 2px;font-size:14px;font-weight:600;color:var(--sm-text-primary, #1A1A1A)}:root[data-theme=dark] .chat-changeset-relation{color:#fff}.chat-changeset-relation-from,.chat-changeset-relation-to{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-changeset-relation-arrow{flex-shrink:0;color:var(--chat-accent, #5B4FE8);font-weight:700;font-size:16px}.chat-changeset-relation--unlink .chat-changeset-relation-from,.chat-changeset-relation--unlink .chat-changeset-relation-to{color:var(--sm-text-secondary, #6B7280);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--sm-text-secondary, #6B7280)}:root[data-theme=dark] .chat-changeset-relation--unlink .chat-changeset-relation-from,:root[data-theme=dark] .chat-changeset-relation--unlink .chat-changeset-relation-to{color:#9ca3af}.chat-changeset-relation--unlink .chat-changeset-relation-arrow{color:#dc2626}.chat-changeset-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.chat-changeset-cta{display:inline-flex;align-items:center;gap:6px;background:var(--chat-accent, #5B4FE8);color:var(--chat-text-on-accent, #FFFFFF);border:none;border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s ease}.chat-changeset-cta:hover:not(:disabled){background:var(--chat-accent-hover, #4A40D1)}.chat-changeset-cta:disabled{cursor:not-allowed;opacity:.95}.chat-changeset-cta--applied{background:#10b981}.chat-changeset-cta--applied:disabled{background:#10b981;opacity:1}.chat-changeset-cta--dismissed{background:#dc2626}.chat-changeset-cta--dismissed:disabled{background:#dc2626;opacity:1}.chat-changeset-cta--error{background:#dc2626}.chat-changeset-cta--error:hover:not(:disabled){background:#b91c1c}.chat-changeset-cta-spin{animation:chat-changeset-spin .8s linear infinite}@keyframes chat-changeset-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-changeset-dismiss{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--sm-text-secondary, #6B7280);border:1px solid var(--color-border-default, #E5E7EB);border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:500;cursor:pointer;transition:background .12s ease}.chat-changeset-dismiss:hover:not(:disabled){background:var(--color-bg-hover, #F3F4F6)}.chat-changeset-dismiss:disabled{cursor:not-allowed;opacity:.6}:root[data-theme=dark] .chat-changeset-dismiss{border-color:#3a3a3a;color:#c0c0c8}:root[data-theme=dark] .chat-changeset-dismiss:hover:not(:disabled){background:#2a2a2a}.chat-compare-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:#7c3aed1a;border-top:.5px solid rgba(124,58,237,.25);border-bottom:.5px solid rgba(124,58,237,.18);position:relative;color:#534ab7}:root[data-theme=dark] .chat-compare-bar{color:#c4b5fd;background:#7c3aed1f;border-top-color:#a78bfa4d;border-bottom-color:#a78bfa38}.chat-compare-bar.is-disabled{background:#7c3aed0d;color:var(--sm-text-muted)}:root[data-theme=dark] .chat-compare-bar.is-disabled{background:#7c3aed0f;color:var(--sm-text-muted)}.chat-compare-bar-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;line-height:1.2;min-width:0}.chat-compare-bar-label-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-compare-bar-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11.5px;font-weight:500;color:#fff;background:#534ab7;border:1px solid #534AB7;border-radius:6px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.chat-compare-bar-cta:hover{background:#443c9f;border-color:#443c9f}:root[data-theme=dark] .chat-compare-bar-cta{background:#7c3aed;border-color:#7c3aed;color:#fff}:root[data-theme=dark] .chat-compare-bar-cta:hover{background:#8b4ff0;border-color:#8b4ff0}.chat-compare-bar-clear{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:1px solid transparent;border-radius:50%;color:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.chat-compare-bar-clear:hover{background:#7c3aed1f;border-color:#7c3aed33}:root[data-theme=dark] .chat-compare-bar-clear:hover{background:#a78bfa2e;border-color:#a78bfa4d}.chat-compare-dropdown{position:absolute;top:calc(100% + 4px);right:12px;z-index:100;min-width:240px;max-height:280px;overflow-y:auto;background:var(--sm-bg-default);border:1px solid var(--sm-border);border-radius:8px;box-shadow:var(--shadow-md);padding:4px}.chat-compare-dropdown-item{display:block;width:100%;text-align:left;padding:6px 10px;font-size:12px;color:var(--sm-text-primary);background:transparent;border:none;border-radius:4px;cursor:pointer}.chat-compare-dropdown-item:hover{background:var(--sm-bg-hover)}.chat-compare-dropdown-empty,.chat-compare-dropdown-loading{padding:8px 12px;font-size:11px;color:var(--sm-text-muted)}:root{--chat-accent: #5B4FE8;--chat-accent-hover: #4A40D1;--chat-accent-soft: #EEEBFE;--chat-accent-border: #C7C0F9;--chat-bg-bubble-user: #EEEBFE;--chat-bg-bubble-assistant: #F4F4F5;--chat-text-on-accent: #FFFFFF}:root[data-theme=dark]{--chat-accent: #7C72ED;--chat-accent-hover: #9089F0;--chat-accent-soft: #2D2A4F;--chat-accent-border: #4A4480;--chat-bg-bubble-user: #2D2A4F;--chat-bg-bubble-assistant: #2F2F2F}.chat-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--chat-accent);color:var(--chat-text-on-accent);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #5b4fe859,0 2px 4px #00000014;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;z-index:100;animation:chat-fab-pulse 2.4s ease-out 1}.chat-fab:hover{background:var(--chat-accent-hover);transform:translateY(-2px);box-shadow:0 10px 22px #5b4fe873,0 4px 8px #0000001a}.chat-fab:active{transform:translateY(0)}.chat-fab:focus-visible{outline:3px solid var(--chat-accent-border);outline-offset:2px}@keyframes chat-fab-pulse{0%{transform:scale(.92);opacity:.6}50%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}.chat-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1100;display:flex;justify-content:flex-end;animation:chat-fade-in .18s ease-out}@keyframes chat-fade-in{0%{opacity:0}to{opacity:1}}.chat-drawer{background:var(--color-bg-card, #FFFFFF);width:420px;max-width:94vw;height:100%;display:flex;flex-direction:column;outline:none;box-shadow:-10px 0 28px #0000001a;animation:chat-slide-in .24s ease-out;position:relative}:root[data-theme=dark] .chat-drawer{background:#1e1e1e}@keyframes chat-slide-in{0%{transform:translate(28px);opacity:0}to{transform:translate(0);opacity:1}}.chat-drawer-header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:.5px solid var(--color-border-default, #E5E7EB)}.chat-drawer-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--chat-accent-soft);color:var(--chat-accent);flex-shrink:0}.chat-drawer-titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-drawer-title{font-size:15px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);margin:0;line-height:1.2}.chat-drawer-subtitle{font-size:12px;color:var(--sm-text-secondary, #6B7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-drawer-close{background:transparent;border:none;cursor:pointer;padding:6px;border-radius:6px;color:var(--sm-text-secondary, #6B7280);display:flex;align-items:center;justify-content:center}.chat-drawer-close:hover{background:var(--sm-bg-hover, #F4F4F5);color:var(--sm-text-primary, #1A1A1A)}.chat-drawer-new{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:500;line-height:1.2;cursor:pointer;color:#534ab7;background:#7c3aed1a;border:.5px solid rgba(124,58,237,.45);border-radius:6px;transition:background .12s ease,color .12s ease,border-color .12s ease;flex-shrink:0}.chat-drawer-new:hover:not(:disabled){color:#6d28d9;background:#7c3aed2e;border-color:#7c3aed8c}.chat-drawer-new:disabled{opacity:.45;cursor:not-allowed}.chat-drawer-new.is-confirming,.chat-drawer-new.is-confirming:hover{background:#dc26261a;border-color:#dc262673;color:#dc2626}:root[data-theme=dark] .chat-drawer-new{color:#a78bfa;background:#7c3aed2e;border-color:#a78bfa66}:root[data-theme=dark] .chat-drawer-new:hover:not(:disabled){color:#c4b5fd;background:#7c3aed47;border-color:#a78bfa8c}.chat-drawer-new-label{white-space:nowrap}.chat-drawer-header-sep{display:inline-block;width:.5px;height:20px;background:var(--color-border-default, #E5E7EB);flex-shrink:0}:root[data-theme=dark] .chat-drawer-header-sep{background:var(--sm-border, #3A3A3A)}.chat-drawer-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-empty{text-align:center;padding:24px 8px 8px;color:var(--sm-text-secondary, #6B7280)}.chat-empty-heading{font-size:15px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);margin:0 0 6px}.chat-empty-hint{font-size:13px;margin:0}.chat-suggestions{display:flex;flex-direction:column;gap:8px;padding:12px 4px 4px}.chat-suggestions-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sm-text-muted, #9CA3AF);margin:0 0 2px}.chat-suggestion-chip{text-align:left;background:var(--color-bg-card, #FFFFFF);border:1px solid var(--color-border-default, #E5E7EB);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--sm-text-primary, #1A1A1A);cursor:pointer;transition:background .12s ease,border-color .12s ease;line-height:1.35}.chat-suggestion-chip:hover{background:var(--chat-accent-soft);border-color:var(--chat-accent-border)}:root[data-theme=dark] .chat-suggestion-chip{background:#2a2a2a;color:#e5e5e5;border-color:#3a3a3a}.chat-message{display:flex;flex-direction:column;max-width:88%;word-wrap:break-word}.chat-message--user{align-self:flex-end;align-items:flex-end}.chat-message--assistant,.chat-message--error{align-self:flex-start;align-items:flex-start}.chat-bubble{padding:10px 12px;border-radius:12px;font-size:13.5px;line-height:1.45;color:var(--sm-text-primary, #1A1A1A)}.chat-message--user .chat-bubble,.chat-message--error .chat-bubble{white-space:pre-wrap}.chat-message--user .chat-bubble{background:var(--chat-bg-bubble-user);border-bottom-right-radius:4px}.chat-message--assistant .chat-bubble{background:var(--chat-bg-bubble-assistant);border-bottom-left-radius:4px}.chat-message--error .chat-bubble{background:#fef2f2;color:#991b1b;border:1px solid #FECACA;border-bottom-left-radius:4px}:root[data-theme=dark] .chat-bubble{color:#e5e5e5}:root[data-theme=dark] .chat-message--error .chat-bubble{background:#3a1f1f;color:#fca5a5;border-color:#5a2a2a}.chat-message--assistant .chat-bubble p{margin:0 0 8px}.chat-message--assistant .chat-bubble p:last-child{margin-bottom:0}.chat-message--assistant .chat-bubble strong{font-weight:700;color:var(--sm-text-primary, #1A1A1A)}:root[data-theme=dark] .chat-message--assistant .chat-bubble strong{color:#fff}.chat-message--assistant .chat-bubble em{font-style:italic}.chat-message--assistant .chat-bubble ul,.chat-message--assistant .chat-bubble ol{margin:6px 0 8px;padding-left:22px}.chat-message--assistant .chat-bubble ul:last-child,.chat-message--assistant .chat-bubble ol:last-child{margin-bottom:0}.chat-message--assistant .chat-bubble li{margin-bottom:3px}.chat-message--assistant .chat-bubble li:last-child{margin-bottom:0}.chat-message--assistant .chat-bubble a{color:var(--chat-accent);text-decoration:underline;text-underline-offset:2px}.chat-message--assistant .chat-bubble a:hover{color:var(--chat-accent-hover)}.chat-message--assistant .chat-bubble code{background:#0000000f;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;padding:1px 5px;border-radius:4px}:root[data-theme=dark] .chat-message--assistant .chat-bubble code{background:#ffffff1a}.chat-message--assistant .chat-bubble pre{background:#0000000f;padding:8px 10px;border-radius:8px;overflow-x:auto;margin:6px 0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:1.4}.chat-message--assistant .chat-bubble pre code{background:transparent;padding:0;font-size:inherit}:root[data-theme=dark] .chat-message--assistant .chat-bubble pre{background:#ffffff0f}.chat-message--assistant .chat-bubble{overflow-x:auto}.chat-message--assistant .chat-bubble table{border-collapse:collapse;margin:8px 0;font-size:12.5px;width:100%;min-width:max-content}.chat-message--assistant .chat-bubble thead{background:var(--chat-accent-soft)}.chat-message--assistant .chat-bubble th,.chat-message--assistant .chat-bubble td{border:1px solid var(--color-border-default, #E5E7EB);padding:6px 10px;text-align:left;vertical-align:top}.chat-message--assistant .chat-bubble th{font-weight:600;color:var(--chat-accent);white-space:nowrap}:root[data-theme=dark] .chat-message--assistant .chat-bubble th,:root[data-theme=dark] .chat-message--assistant .chat-bubble td{border-color:#3a3a3a}:root[data-theme=dark] .chat-message--assistant .chat-bubble thead{background:#7c72ed2e}:root[data-theme=dark] .chat-message--assistant .chat-bubble th{color:var(--chat-accent)}.chat-message--assistant .chat-bubble blockquote{margin:6px 0;padding:4px 10px;border-left:3px solid var(--chat-accent-border);color:var(--sm-text-secondary, #6B7280)}.chat-message--assistant .chat-bubble hr{border:none;border-top:1px solid var(--color-border-default, #E5E7EB);margin:10px 0}.chat-proposal{margin-top:8px;padding:12px 14px;background:var(--color-bg-card, #FFFFFF);border:1px solid var(--chat-accent-border);border-left:3px solid var(--chat-accent);border-radius:10px;display:flex;flex-direction:column;gap:8px;max-width:100%}:root[data-theme=dark] .chat-proposal{background:#232233;border-color:var(--chat-accent-border)}.chat-proposal-header{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--chat-accent)}.chat-proposal-title{margin:0;font-size:14px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);line-height:1.3}:root[data-theme=dark] .chat-proposal-title{color:#fff}.chat-proposal-description{margin:0;font-size:12.5px;line-height:1.4;color:var(--sm-text-secondary, #6B7280)}:root[data-theme=dark] .chat-proposal-description{color:#c0c0c8}.chat-proposal-meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:11.5px;color:var(--sm-text-secondary, #6B7280)}.chat-proposal-priority{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;font-weight:600;font-size:11px}.chat-proposal-impact,.chat-proposal-budget{display:inline-flex;align-items:center}.chat-proposal-budget strong{color:var(--sm-text-primary, #1A1A1A)}:root[data-theme=dark] .chat-proposal-budget strong{color:#fff}.chat-proposal-cta{margin-top:2px;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:var(--chat-accent);color:var(--chat-text-on-accent);border:none;border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s ease}.chat-proposal-cta:hover:not(:disabled){background:var(--chat-accent-hover)}.chat-proposal-cta:disabled{cursor:not-allowed;opacity:.95}.chat-proposal-cta--created{background:#10b981}.chat-proposal-cta--created:disabled{background:#10b981;opacity:1}.chat-proposal-cta--error{background:#dc2626}.chat-proposal-cta--error:hover:not(:disabled){background:#b91c1c}.chat-proposal-cta-spin{animation:chat-proposal-spin .8s linear infinite}@keyframes chat-proposal-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-tool-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;padding-left:4px}.chat-tool-badge{display:inline-flex;align-items:center;gap:4px;background:var(--chat-accent-soft);color:var(--chat-accent);border:1px solid var(--chat-accent-border);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:500}.chat-loader{display:flex;align-items:center;gap:8px;align-self:flex-start;background:var(--chat-bg-bubble-assistant);padding:10px 12px;border-radius:12px 12px 12px 4px;color:var(--sm-text-secondary, #6B7280);font-size:13px;font-style:italic}.chat-loader-dots{display:inline-flex;gap:3px}.chat-loader-dots span{width:5px;height:5px;border-radius:50%;background:var(--chat-accent);animation:chat-loader-dot 1s infinite ease-in-out}.chat-loader-dots span:nth-child(2){animation-delay:.15s}.chat-loader-dots span:nth-child(3){animation-delay:.3s}@keyframes chat-loader-dot{0%,80%,to{transform:scale(.7);opacity:.5}40%{transform:scale(1);opacity:1}}.chat-drawer-footer{border-top:.5px solid var(--color-border-default, #E5E7EB);padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:var(--color-bg-card, #FFFFFF)}:root[data-theme=dark] .chat-drawer-footer{background:#1e1e1e}.chat-input-row{display:flex;align-items:flex-end;gap:8px}.chat-input{flex:1;resize:none;border:1px solid var(--color-border-default, #E5E7EB);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13.5px;line-height:1.4;color:var(--sm-text-primary, #1A1A1A);background:var(--color-bg-card, #FFFFFF);min-height:40px;max-height:140px}.chat-input:focus{outline:none;border-color:var(--chat-accent);box-shadow:0 0 0 3px var(--chat-accent-soft)}:root[data-theme=dark] .chat-input{background:#2a2a2a;color:#e5e5e5;border-color:#3a3a3a}.chat-send-btn{background:var(--chat-accent);color:var(--chat-text-on-accent);border:none;border-radius:10px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease}.chat-send-btn:hover:not(:disabled){background:var(--chat-accent-hover)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-send-btn--stop{cursor:pointer}.chat-send-btn--stop:hover{background:var(--chat-accent-hover)}.chat-msg-interrupted{font-size:11px;font-style:italic;color:var(--chat-text-muted, #6B7280);margin-top:4px;padding:0 4px;align-self:flex-start}:root[data-theme=dark] .chat-msg-interrupted{color:#9ca3af}.chat-error-banner{background:#fef2f2;border:1px solid #FECACA;color:#991b1b;padding:8px 10px;border-radius:8px;font-size:12.5px;margin-bottom:8px}:root[data-theme=dark] .chat-error-banner{background:#3a1f1f;color:#fca5a5;border-color:#5a2a2a}:root{--notif-accent: #F59E0B;--notif-accent-soft: #FEF3C7;--notif-accent-border: #FCD34D;--notif-badge-bg: #DC2626;--notif-badge-color: #FFFFFF;--notif-sev-critical-bg: #FEE2E2;--notif-sev-critical-color: #991B1B;--notif-sev-warning-bg: #FEF3C7;--notif-sev-warning-color: #92400E;--notif-sev-info-bg: #DBEAFE;--notif-sev-info-color: #1E40AF}:root[data-theme=dark]{--notif-accent: #FBBF24;--notif-accent-soft: #3F2E0F;--notif-accent-border: #5A4519;--notif-sev-critical-bg: #3A1F1F;--notif-sev-critical-color: #FCA5A5;--notif-sev-warning-bg: #3F2E0F;--notif-sev-warning-color: #FCD34D;--notif-sev-info-bg: #1E2A4F;--notif-sev-info-color: #93C5FD}.notif-bell{position:relative;background:transparent;border:none;cursor:pointer;padding:6px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--sm-text-secondary, #6B7280);transition:background .12s ease,color .12s ease}.notif-bell:hover{background:var(--sm-bg-hover, #F4F4F5);color:var(--sm-text-primary, #1A1A1A)}:root[data-theme=dark] .notif-bell:hover{background:#2a2a2a;color:#fff}.notif-bell:focus-visible{outline:2px solid var(--notif-accent);outline-offset:2px}.notif-bell-badge{position:absolute;top:1px;right:1px;min-width:16px;height:16px;padding:0 4px;background:var(--notif-badge-bg);color:var(--notif-badge-color);border-radius:999px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 0 2px var(--color-bg-card, #FFFFFF)}:root[data-theme=dark] .notif-bell-badge{box-shadow:0 0 0 2px #1e1e1e}.notif-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1100;display:flex;justify-content:flex-end;animation:notif-fade-in .18s ease-out}@keyframes notif-fade-in{0%{opacity:0}to{opacity:1}}.notif-drawer{background:var(--color-bg-card, #FFFFFF);width:420px;max-width:94vw;height:100%;display:flex;flex-direction:column;outline:none;box-shadow:-10px 0 28px #0000001a;animation:notif-slide-in .24s ease-out}:root[data-theme=dark] .notif-drawer{background:#1e1e1e}@keyframes notif-slide-in{0%{transform:translate(28px);opacity:0}to{transform:translate(0);opacity:1}}.notif-drawer-header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:.5px solid var(--color-border-default, #E5E7EB)}.notif-drawer-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--notif-accent-soft);color:var(--notif-accent);flex-shrink:0}.notif-drawer-titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-drawer-title{font-size:15px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);margin:0;line-height:1.2}.notif-drawer-subtitle{font-size:12px;color:var(--sm-text-secondary, #6B7280)}.notif-drawer-close{background:transparent;border:none;cursor:pointer;padding:6px;border-radius:6px;color:var(--sm-text-secondary, #6B7280);display:flex;align-items:center;justify-content:center}.notif-drawer-close:hover{background:var(--sm-bg-hover, #F4F4F5);color:var(--sm-text-primary, #1A1A1A)}.notif-actions-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;border-bottom:.5px solid var(--color-border-default, #E5E7EB)}.notif-action-btn{background:transparent;border:1px solid var(--color-border-default, #E5E7EB);border-radius:6px;padding:5px 10px;font-size:12px;font-weight:500;color:var(--sm-text-secondary, #6B7280);cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:background .12s ease,color .12s ease}.notif-action-btn:hover:not(:disabled){background:var(--sm-bg-hover, #F4F4F5);color:var(--sm-text-primary, #1A1A1A)}.notif-action-btn:disabled{opacity:.5;cursor:not-allowed}:root[data-theme=dark] .notif-action-btn{border-color:#3a3a3a}:root[data-theme=dark] .notif-action-btn:hover:not(:disabled){background:#2a2a2a;color:#fff}.notif-drawer-body{flex:1;overflow-y:auto;padding:8px}.notif-empty{text-align:center;padding:32px 16px;color:var(--sm-text-secondary, #6B7280)}.notif-empty-heading{font-size:14px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);margin:8px 0 6px}.notif-empty-hint{font-size:12.5px;margin:0;line-height:1.5}.notif-item{display:flex;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;margin-bottom:4px;background:transparent;border:1px solid transparent;text-align:left;width:100%;transition:background .12s ease,border-color .12s ease}.notif-item:hover{background:var(--sm-bg-hover, #F4F4F5);border-color:var(--color-border-default, #E5E7EB)}:root[data-theme=dark] .notif-item:hover{background:#2a2a2a;border-color:#3a3a3a}.notif-item--unread{background:var(--notif-accent-soft)}.notif-item--unread:hover{background:var(--notif-accent-soft);border-color:var(--notif-accent-border)}:root[data-theme=dark] .notif-item--unread{background:#f59e0b1f}.notif-sev-icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.notif-sev-icon--critical{background:var(--notif-sev-critical-bg);color:var(--notif-sev-critical-color)}.notif-sev-icon--warning{background:var(--notif-sev-warning-bg);color:var(--notif-sev-warning-color)}.notif-sev-icon--info{background:var(--notif-sev-info-bg);color:var(--notif-sev-info-color)}.notif-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.notif-item-title{font-size:13px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);margin:0;line-height:1.3}:root[data-theme=dark] .notif-item-title{color:#fff}.notif-item-message{font-size:12px;color:var(--sm-text-secondary, #6B7280);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-item-meta{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:11px;color:var(--sm-text-muted, #9CA3AF)}.notif-item-time{display:inline-flex;align-items:center;gap:3px}.notif-item-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--notif-badge-bg);flex-shrink:0;align-self:flex-start;margin-top:8px}.notif-error-banner{background:#fef2f2;border:1px solid #FECACA;color:#991b1b;padding:8px 10px;border-radius:8px;font-size:12.5px;margin:8px}:root[data-theme=dark] .notif-error-banner{background:#3a1f1f;color:#fca5a5;border-color:#5a2a2a}.notif-settings-back-btn{background:transparent;border:none;cursor:pointer;padding:6px;border-radius:6px;color:var(--sm-text-secondary, #6B7280);display:flex;align-items:center;justify-content:center;margin-right:4px}.notif-settings-back-btn:hover{background:var(--sm-bg-hover, #F4F4F5);color:var(--sm-text-primary, #1A1A1A)}.notif-settings-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1}.notif-settings-intro{font-size:12.5px;color:var(--sm-text-secondary, #6B7280);line-height:1.5;margin:0 0 4px}.notif-settings-row{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--color-border-default, #E5E7EB);border-radius:10px;background:var(--color-bg-card, #FFFFFF)}:root[data-theme=dark] .notif-settings-row{background:#2a2a2a;border-color:#3a3a3a}.notif-settings-row-body{flex:1;min-width:0}.notif-settings-row-label{font-size:13px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);margin:0 0 4px}:root[data-theme=dark] .notif-settings-row-label{color:#fff}.notif-settings-row-desc{font-size:12px;color:var(--sm-text-secondary, #6B7280);line-height:1.4;margin:0}.notif-toggle{position:relative;width:36px;height:20px;flex-shrink:0;background:var(--sm-text-muted, #9CA3AF);border:none;border-radius:999px;cursor:pointer;padding:0;transition:background .18s ease;align-self:center}.notif-toggle:disabled{opacity:.5;cursor:wait}.notif-toggle--on{background:var(--notif-accent)}.notif-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000002e;transition:transform .18s ease}.notif-toggle--on:after{transform:translate(16px)}.notif-toggle:focus-visible{outline:2px solid var(--notif-accent);outline-offset:2px}.platform-page{max-width:1200px;margin:0 auto;padding:24px 32px 48px;color:var(--sm-text-primary, #1A1A1A);background:var(--sm-bg-default, #FFFFFF);min-height:100vh;font-family:inherit}.platform-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--sm-border, #E5E7EB)}.platform-header-left{display:flex;align-items:center;gap:16px}.platform-back{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;color:var(--sm-text-secondary, #6B7280);background:transparent;border:1px solid var(--sm-border, #E5E7EB);border-radius:6px;cursor:pointer;font-family:inherit}.platform-back:hover{background:var(--sm-bg-hover, #F4F4F5);color:var(--sm-text-primary, #1A1A1A)}.platform-title{display:inline-flex;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:600;color:var(--sm-text-primary, #1A1A1A)}.platform-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.platform-link{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12.5px;font-weight:500;color:var(--sm-text-secondary, #6B7280);text-decoration:none;border-radius:6px}.platform-link:hover{background:var(--sm-bg-hover, #F4F4F5);color:var(--brand-green, #06A85F)}.platform-section{margin-bottom:40px}.platform-section-title{display:flex;align-items:baseline;gap:8px;margin:0 0 16px;font-size:15px;font-weight:600;color:var(--sm-text-primary, #1A1A1A)}.platform-section-count{font-size:13px;font-weight:400;color:var(--sm-text-muted, #9CA3AF)}.platform-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.platform-card{background:var(--card-bg, #FFFFFF);border:1px solid var(--card-border, #F0F0F0);border-radius:var(--card-radius, 12px);box-shadow:var(--card-shadow, 0 1px 3px rgba(0,0,0,.04));padding:16px 18px;display:flex;flex-direction:column}.platform-card-title{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sm-text-muted, #9CA3AF);margin-bottom:12px}.platform-card-body{display:flex;flex-direction:column;gap:6px;flex:1}.platform-stat-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 0}.platform-stat-label{font-size:13px;color:var(--sm-text-secondary, #6B7280)}.platform-stat-value{font-size:15px;font-weight:600;color:var(--sm-text-primary, #1A1A1A);font-variant-numeric:tabular-nums}.platform-stat-sep{height:1px;background:var(--sm-border, #E5E7EB);margin:8px 0 4px}.platform-stat-sublabel{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sm-text-muted, #9CA3AF);margin-top:6px}.platform-stat-empty{font-size:13px;color:var(--sm-text-muted, #9CA3AF)}.platform-breakdown{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.platform-breakdown li{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px;padding:2px 0}.platform-breakdown-key{color:var(--sm-text-secondary, #6B7280)}.platform-breakdown-value{color:var(--sm-text-primary, #1A1A1A);font-weight:600;font-variant-numeric:tabular-nums}@keyframes platform-pulse{0%,to{opacity:.55}50%{opacity:.95}}.platform-card--pulse{min-height:180px}.platform-pulse-bar{height:10px;background:var(--sm-bg-hover, #F4F4F5);border-radius:4px;margin:6px 0;animation:platform-pulse 1.4s ease-in-out infinite}.platform-pulse-bar--title{width:40%;height:12px;margin-bottom:16px}.platform-pulse-bar--short{width:60%}.platform-table-pulse{background:var(--card-bg, #FFFFFF);border:1px solid var(--card-border, #F0F0F0);border-radius:var(--card-radius, 12px);padding:16px}.platform-table-pulse .platform-pulse-bar{height:14px}.platform-error{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding:12px 16px;background:#fef2f2;border:1px solid #FCA5A5;border-radius:8px;color:#991b1b;font-size:13.5px}.platform-error-msg{flex:1;line-height:1.4}.platform-error-retry{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;color:#fff;background:#dc2626;border:none;border-radius:6px;cursor:pointer;font-family:inherit;flex-shrink:0}.platform-error-retry:hover{background:#b91c1c}.platform-empty{padding:24px;text-align:center;color:var(--sm-text-muted, #9CA3AF);font-size:14px;background:var(--card-bg, #FFFFFF);border:1px solid var(--card-border, #F0F0F0);border-radius:var(--card-radius, 12px)}.platform-table-wrap{overflow-x:auto;background:var(--card-bg, #FFFFFF);border:1px solid var(--card-border, #F0F0F0);border-radius:var(--card-radius, 12px);box-shadow:var(--card-shadow, 0 1px 3px rgba(0,0,0,.04))}.platform-table{width:100%;border-collapse:collapse;font-size:13px}.platform-table thead th{position:sticky;top:0;background:var(--sm-bg-subtle, #F9FAFB);border-bottom:1px solid var(--sm-border, #E5E7EB);padding:10px 14px;text-align:left;font-weight:600;font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--sm-text-secondary, #6B7280);white-space:nowrap}.platform-table tbody td{padding:12px 14px;border-bottom:1px solid var(--sm-border, #E5E7EB);color:var(--sm-text-primary, #1A1A1A);vertical-align:middle}.platform-table tbody tr:last-child td{border-bottom:none}.platform-table tbody tr:hover{background:var(--sm-bg-subtle, #F9FAFB)}.platform-table-num{text-align:right;font-variant-numeric:tabular-nums}.platform-table-name{display:flex;flex-direction:column;gap:2px;min-width:140px}.platform-table-name>span:first-child{font-weight:500}.platform-table-id{font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--sm-text-muted, #9CA3AF);letter-spacing:.02em}:root[data-theme=dark] .platform-page{color:var(--sm-text-primary, #FFFFFF);background:var(--sm-bg-default, #1A1A1A)}:root[data-theme=dark] .platform-error{background:#dc262626;border-color:#dc262673;color:#fca5a5}:root[data-theme=dark] .platform-error-retry{background:#dc2626}@media (max-width: 640px){.platform-page{padding:16px}.platform-header{flex-direction:column;align-items:flex-start}.platform-links{width:100%}}:root{--bg: #FFFFFF;--bg-sidebar: #F8F9FA;--bg-hover: #F3F4F6;--bg-segmented: #F3F4F6;--color-bg-hover: #F3F4F6;--text: #1A1A1A;--text-secondary: #6B7280;--text-muted: #9CA3AF;--border: #E5E7EB;--separator: #F0F0F0;--primary: #1A1A1A;--primary-hover: #333333;--danger: #dc2626;--success: #059669;--warning-bg: #fef3c7;--warning-text: #92400e;--radius-sm: 8px;--radius-pill: 24px;--radius-tab: 20px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 10px 40px rgba(0,0,0,.18);--transition: .15s ease;--card-bg: #FFFFFF;--card-border: #F0F0F0;--card-shadow: 0 1px 3px rgba(0,0,0,.04);--card-radius: 12px;--brand-green: #06A85F;--brand-green-hover: #048647;--sm-primary: #10B981;--sm-primary-hover: #059669;--sm-primary-bg: #ECFDF5;--sm-primary-border: #A7F3D0;--sm-on-primary: #FFFFFF;--sm-text-primary: #1A1A1A;--sm-text-secondary: #6B7280;--sm-text-muted: #9CA3AF;--sm-border: #E5E7EB;--sm-bg-default: #FFFFFF;--sm-bg-subtle: #F9FAFB;--sm-bg-hover: #F4F4F5;--sm-danger: #EF4444;--sm-danger-hover: #DC2626;--sm-danger-bg: #FEF2F2;--btn-danger-bg: #DC2626;--btn-danger-bg-hover: #B91C1C;--btn-danger-fg: #FFFFFF;--tint-success-bg: #ECFDF5;--tint-success-border: #10B981;--tint-success-fg: #047857;--tint-danger-bg: #FEF2F2;--tint-danger-border: #EF4444;--tint-danger-fg: #B91C1C;--tint-warning-bg: #FFFBEB;--tint-warning-border: #F59E0B;--tint-warning-fg: #92400E;--tint-info-bg: #F0F9FF;--tint-info-border: #3B82F6;--tint-info-fg: #1E40AF;--card-modern-bg: #FFFFFF;--card-modern-border: #E5E7EB;--card-modern-shadow: 0 1px 2px rgba(0, 0, 0, .04);--card-modern-radius: 12px;--card-modern-padding: 20px;--sm-radius-sm: 6px;--sm-radius-md: 8px;--sm-radius-lg: 12px;--sm-radius-pill: 999px;--sm-shadow-sm: 0 1px 2px rgba(0,0,0,.05);--sm-shadow-md: 0 4px 6px rgba(0,0,0,.07);--sm-shadow-lg: 0 10px 15px rgba(0,0,0,.1);--sm-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}:root[data-theme=dark]{--bg: #1A1A1A;--bg-sidebar: #1A1A1A;--bg-hover: #2D2D2D;--bg-segmented: #2A2A2A;--color-bg-hover: #2D2D2D;--text: #FFFFFF;--text-secondary: #A0A0A0;--text-muted: #6B6B72;--border: #3A3A3A;--separator: #2A2A2A;--primary: #FFFFFF;--primary-hover: #C0C0C8;--danger: #ef4444;--success: #10b981;--warning-bg: #2a1f10;--warning-text: #fcd34d;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 16px rgba(0,0,0,.5);--shadow-lg: 0 10px 40px rgba(0,0,0,.6);--card-bg: #2A2A2A;--card-border: #3A3A3A;--card-shadow: 0 1px 3px rgba(0,0,0,.4);--brand-green: #06A85F;--brand-green-hover: #04934E;--sm-text-primary: #FFFFFF;--sm-text-secondary: #A0A0A0;--sm-text-muted: #6B6B72;--sm-border: #3A3A3A;--sm-bg-default: #2A2A2A;--sm-bg-subtle: #1A1A1A;--sm-bg-hover: #2D2D2D;--sm-bg-sidebar: #161616;--sm-bg-canvas: #222222;--btn-danger-bg: #EF4444;--btn-danger-bg-hover: #DC2626;--tint-success-bg: rgba(16, 185, 129, .1);--tint-success-border: #10B981;--tint-success-fg: #34D399;--tint-danger-bg: rgba(239, 68, 68, .1);--tint-danger-border: #EF4444;--tint-danger-fg: #F87171;--tint-warning-bg: rgba(245, 158, 11, .1);--tint-warning-border: #F59E0B;--tint-warning-fg: #FBBF24;--tint-info-bg: rgba(59, 130, 246, .1);--tint-info-border: #3B82F6;--tint-info-fg: #60A5FA;--card-modern-bg: #2A2A2A;--card-modern-border: #3A3A3A;--card-modern-shadow: none}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app{display:grid;grid-template-rows:auto 1fr;height:100vh;overflow-y:auto;--app-header-height: 88px}.view{display:grid;grid-template-columns:var(--sidebar-width, 380px) var(--drilldown-width, 0px) 1fr;background:var(--sm-bg-subtle);padding:8px;gap:8px;min-height:0}.header{grid-column:1 / -1;background:var(--bg);color:var(--text);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 24px;border-bottom:1px solid var(--separator);position:sticky;top:0;z-index:20}.header-left{display:flex;align-items:center}.header-right{display:flex;align-items:center;justify-content:flex-end;gap:8px}.app-logo{height:45px;width:auto;display:block;margin-right:32px}.tabs{display:inline-flex;background:var(--bg-segmented);border-radius:var(--radius-pill);padding:4px;gap:2px}.tab{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text-secondary);border:1px solid transparent;padding:8px 16px;border-radius:var(--radius-tab);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);transition:background var(--transition),color var(--transition),border-color var(--transition);white-space:nowrap}.tab:hover:not(.active){background:var(--sm-bg-hover, rgba(0,0,0,.04));color:var(--text)}.tab.active{background:var(--sm-primary-bg);color:var(--sm-primary-hover);border:1px solid var(--sm-primary-border);font-weight:600;box-shadow:none}.tab svg{width:15px;height:15px;flex-shrink:0}.sidebar{background:var(--sm-bg-sidebar, var(--sm-bg-default));overflow-y:auto;padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.sidebar-wrapper{position:relative;display:flex;min-width:0;transition:width .2s ease-out;overflow:hidden;background:var(--sm-bg-default);border:1px solid var(--sm-border);border-radius:var(--sm-radius-md);box-shadow:var(--sm-shadow-sm)}.sidebar-wrapper.collapsed{width:0!important}.sidebar-wrapper>.sidebar{flex:1;min-width:0}.sidebar-resizer{position:absolute;top:0;right:-3px;width:8px;height:100%;cursor:col-resize;z-index:30;display:flex;align-items:center;justify-content:center}.sidebar-resizer:after{content:"";position:absolute;right:3px;top:0;width:1.5px;height:100%;background:var(--text-muted);opacity:.55;transition:width var(--transition),background var(--transition),opacity var(--transition)}.sidebar-resizer:hover:after{width:2.5px;background:var(--primary);opacity:1}.sidebar-resizer:active:after{width:3px;background:var(--primary);opacity:1}.sidebar-resizer--left{right:auto;left:-3px}.sidebar-resizer--left:after{right:auto;left:3px}.sidebar-resizer-grip{position:relative;z-index:1;color:var(--text-muted);opacity:.5;transition:opacity var(--transition);background:var(--bg);border-radius:4px;padding:4px 0;display:flex}.sidebar-resizer:hover .sidebar-resizer-grip,.sidebar-resizer:active .sidebar-resizer-grip{opacity:1}.sidebar-collapse-btn{position:absolute;right:-12px;top:12px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--border);border-radius:50%;box-shadow:var(--card-shadow);cursor:pointer;color:var(--text);z-index:31;padding:0;transition:background var(--transition)}.sidebar-collapse-btn:hover{background:var(--bg-hover)}.sidebar-expand-btn{position:absolute;left:12px;top:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--card-shadow);cursor:pointer;color:var(--text);z-index:20;padding:0;transition:background var(--transition)}.sidebar-expand-btn:hover{background:var(--bg-hover)}.sidebar-card{background:var(--card-bg);border:1px solid var(--card-border);border-left:3px solid var(--primary);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:10px 14px 10px 12px;display:flex;flex-direction:column;gap:8px;transition:box-shadow var(--transition)}.sidebar-card h2{font-size:11px;font-weight:600;margin:0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.sidebar-card-scroll{max-height:280px;overflow-y:auto}.sidebar-card-scroll::-webkit-scrollbar{width:6px}.sidebar-card-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-card-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.panel{margin-bottom:20px}.panel:last-child{margin-bottom:0}.panel h2{font-size:11px;font-weight:600;margin:0 0 12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.panel h3{font-size:14px;font-weight:600;margin:0 0 8px;display:flex;justify-content:space-between;align-items:center}.panel-separator{height:1px;background:var(--separator);margin:20px 0}.sidebar-card select,.sidebar-card input,.sidebar-card textarea,.panel select,.panel input,.panel textarea{width:100%;margin-top:4px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font);color:var(--text);background:var(--bg);transition:border-color var(--transition);outline:none}.panel select:focus,.panel input:focus,.panel textarea:focus{border-color:var(--primary)}.panel input::placeholder,.panel textarea::placeholder{color:var(--text-muted)}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--primary);color:var(--sm-bg-default);border:none;padding:10px 20px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;font-family:var(--font);transition:background var(--transition),opacity var(--transition);white-space:nowrap}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn.secondary:hover{background:var(--bg-hover)}.btn.danger{background:var(--danger)}.btn.success{background:var(--success)}.sidebar-card button.btn,.panel button.btn{width:100%;margin-top:0}.save-btn-wrapper{position:relative;display:block}.unsaved-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:#ef4444}.sidebar-btn-secondary{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;margin-top:6px;background:transparent;border:1px solid var(--primary);color:var(--primary);border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;transition:background var(--transition)}.sidebar-btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.sidebar-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.sidebar-btn-create-map{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;margin-top:8px;background:transparent;border:.5px solid var(--border);color:var(--text);border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;transition:background var(--transition)}.sidebar-btn-create-map:hover{background:var(--bg-hover)}.sidebar-btn-create-map-plus{color:var(--brand-green);font-weight:600}.sidebar-btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.sidebar-btn-grid .sidebar-btn-secondary{margin-top:0}.sidebar-section-separator{border:none;border-top:.5px solid var(--separator);margin:16px 0 12px}.sidebar-section-title{font-size:11px;font-weight:600;margin:0 0 8px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.map-stats{font-size:12px;color:var(--text-secondary);margin:4px 0 8px}@keyframes saveAsIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.save-as-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:10003;animation:saveAsIn .15s ease-out both}.save-as-modal{background:var(--bg);padding:24px;border-radius:var(--card-radius);width:480px;max-width:90vw;box-shadow:var(--shadow-lg);font-family:var(--font)}.save-as-title{margin:0;font-size:18px;font-weight:600;color:var(--text)}.save-as-subtitle{margin:4px 0 16px;font-size:13px;color:var(--text-secondary)}.save-as-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.save-as-modal input:not([type=checkbox]):not([type=radio]){width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font);color:var(--text);outline:none}.save-as-modal input:not([type=checkbox]):not([type=radio]):focus{border-color:var(--primary)}.save-as-modal select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font);color:var(--text);background:var(--bg);outline:none}.save-as-modal select:focus{border-color:var(--primary)}.save-as-check-group{display:flex;flex-direction:column;gap:8px;margin:12px 0}.save-as-check-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer}.save-as-check-row input[type=checkbox]{width:auto;padding:0;border:0;margin:0;flex-shrink:0;accent-color:var(--primary)}.save-as-error{color:#dc2626;font-size:12px;margin-top:6px}.save-as-context-hint{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;color:var(--text-secondary, #5F5E5A)}.save-as-context-hint--warn{color:#d97706}.save-as-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.sidebar-card button.remove,.panel button.remove{width:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:color var(--transition),background var(--transition);font-size:14px}.panel button.remove:hover{color:var(--danger);background:#dc262614}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:background var(--transition),color var(--transition);flex-shrink:0}.btn-icon:hover{background:var(--bg-hover);color:var(--text)}.item-list{list-style:none;padding:0;margin:8px 0 0;font-size:13px}.item-list li{padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:3px;display:flex;justify-content:space-between;align-items:center;gap:6px;transition:background var(--transition)}.item-list li:hover{background:var(--bg-hover)}.item-list li.selected{background:var(--bg-hover);border-color:var(--primary)}.sidebar-item-row{cursor:pointer}.item-list small{color:var(--text-secondary)}.item-list .remove{color:var(--text-muted);cursor:pointer;font-size:14px;background:none;border:none;padding:4px;border-radius:4px;transition:color var(--transition)}.item-list .remove:hover{color:var(--danger)}.map-input{width:100%;margin-bottom:6px;padding:8px 10px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font);color:var(--text);background:var(--bg);outline:none;transition:border-color var(--transition)}.map-input:focus{border-color:var(--primary)}.map-input::placeholder{color:var(--text-muted)}.map-status{padding:6px 10px;background:var(--bg-hover);border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary);margin-bottom:6px}.map-select-row{display:flex;gap:4px;align-items:center;margin-bottom:6px}.map-select-row select{flex:1;margin-top:0}.cost-row{display:flex;gap:10px}.cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:20px}.cost-row label,.cost-grid label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.cost-row label{flex:1;margin-bottom:6px}.cost-row input,.cost-grid input{margin-top:4px}.cost-sublabel{display:block;font-size:10px;font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:normal;margin-top:2px}.cost-summary-cards{display:flex;flex-direction:column;gap:8px;margin-top:12px;margin-bottom:8px}.cost-card{padding:12px;background:var(--sm-bg-subtle);border:1px solid var(--sm-border);border-radius:6px}.cost-card-label{font-size:12px;color:var(--sm-text-muted);text-transform:uppercase;letter-spacing:.5px}.cost-card-value{font-size:18px;font-weight:600;margin-top:4px}.custom-costs-section{margin-top:8px}.custom-costs-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:11px;font-weight:500;color:var(--text-secondary);padding:4px 0;border:none;background:none;width:100%;font-family:var(--font);text-transform:uppercase;letter-spacing:.03em}.custom-cost-row{display:flex;gap:6px;align-items:flex-end;margin-top:6px}.custom-cost-row input:first-child{flex:2}.custom-cost-row input:nth-child(2){flex:1}.custom-cost-row .remove{flex-shrink:0}.custom-cost-add{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;font-family:var(--font);padding:4px 0;margin-top:4px;display:flex;align-items:center;gap:4px}.custom-cost-add:hover{color:var(--text)}.sidebar-card form>.btn[type=submit]{padding-top:12px;padding-bottom:12px}.edit-form{width:100%;display:flex;flex-direction:column;gap:6px}.edit-form input,.edit-form select{margin-top:0}.edit-actions{display:flex;gap:6px;margin-top:4px}.edit-actions .btn{flex:1;padding:8px 12px;font-size:13px}.section-label{font-size:11px;font-weight:500;color:var(--text-secondary);margin-bottom:4px;display:block}.graph-area{position:relative;background:#fbfcff;border:1px solid var(--sm-border);border-radius:var(--sm-radius-md);box-shadow:var(--sm-shadow-sm);overflow:hidden;background-image:radial-gradient(circle,#E5E7EB 1px,transparent 1px);background-size:24px 24px;grid-column:-2 / -1}.legend{position:absolute;bottom:12px;left:12px;right:12px;background:#fffffff7;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--text-secondary);z-index:15}.legend-item{display:flex;align-items:center;gap:6px}.legend-swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.legend-sep{width:1px;background:var(--border);align-self:stretch}.canvas-toolbar{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:6px;background:#1a1a1a;border:1px solid #2D2D2D;border-radius:12px;box-shadow:0 4px 12px #0000002e;z-index:20}.canvas-toolbar-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:0;transition:background var(--transition)}.canvas-toolbar-btn:hover{background:#ffffff1a}.canvas-toolbar-btn.active{background:#ffffff2e}.canvas-toolbar-separator{display:inline-block;width:1px;height:18px;background:#ffffff2e;margin:0 4px;align-self:center;flex-shrink:0}.canvas-legend-overlay{position:absolute;bottom:80px;left:50%;transform:translate(-50%);z-index:19}.canvas-legend-overlay .legend{position:static;bottom:auto;left:auto;right:auto;box-shadow:0 4px 12px #00000014}.info-panel{position:absolute;bottom:12px;left:12px;right:12px;background:#fffffffa;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;display:flex;align-items:flex-start;gap:20px;font-size:12px;color:var(--text);z-index:15;min-height:110px;max-height:260px;overflow-y:auto}.info-panel-head{display:flex;align-items:center;gap:10px;min-width:0;flex-shrink:0;max-width:32%}.info-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-icon-zone{border:2px solid}.info-head-text{display:flex;flex-direction:column;gap:3px;min-width:0}.info-name{font-weight:600;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-edge-path{display:flex;align-items:center;gap:6px}.info-arrow{color:var(--text-muted)}.info-panel-badges{display:flex;gap:4px;flex-wrap:wrap}.info-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:500;line-height:1.5;white-space:nowrap}.info-badge.outlined{background:transparent;border:1px solid}.info-panel-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:20px 24px;flex:1;min-width:0;align-items:start}.info-stat{display:flex;flex-direction:column;gap:2px;min-width:0}.info-stat-label{font-size:10px;font-weight:500;letter-spacing:.3px;color:var(--text-muted)}.info-stat-value{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-stat-value.emphasize{font-weight:600}.info-stat-integrations .info-integrations-line,.info-stat-contract .info-contract-line{font-size:12px;line-height:1.35}.info-contract-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:baseline;flex-shrink:0}.info-panel-edit{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);color:var(--text);font-size:12px;font-family:var(--font);cursor:pointer;flex-shrink:0;transition:background var(--transition),border-color var(--transition)}.info-panel-edit:hover{background:var(--bg-hover);border-color:var(--text-muted)}:root[data-theme=dark] .info-panel{background:#2a2a2afa;border-color:#3a3a3a}.info-panel--collapsed{min-height:unset;max-height:none;height:auto;overflow:visible}.info-panel--collapsed .info-panel-head{max-width:none;flex:1}.info-panel-collapse-btn{margin-left:auto;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;border:none;background:var(--color-bg-info-soft, #E6F1FB);color:var(--color-text-info-dark, #0C447C);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;flex-shrink:0;transition:filter var(--transition),background var(--transition)}.info-panel-collapse-btn:hover{filter:brightness(.95)}.info-panel-collapse-btn:focus-visible{outline:2px solid var(--color-text-info-dark, #0C447C);outline-offset:2px}:root[data-theme=dark] .info-panel-collapse-btn{background:#3b82f62e;color:#93c5fd}:root[data-theme=dark] .info-panel-collapse-btn:hover{filter:brightness(1.1)}.draw-hint{position:absolute;top:12px;left:12px;background:var(--primary);color:var(--sm-bg-default);padding:10px 16px;border-radius:var(--radius-pill);font-size:13px;font-weight:500;z-index:20;box-shadow:var(--shadow-md)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:30}.modal{background:var(--bg);padding:24px;border-radius:12px;width:340px;box-shadow:var(--shadow-lg)}.modal h3{margin:0 0 16px;font-weight:600}.modal label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-top:12px;text-transform:uppercase;letter-spacing:.03em}.modal select,.modal input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:4px;font-size:14px;font-family:var(--font);color:var(--text);background:var(--bg);outline:none}.modal select:focus,.modal input:focus{border-color:var(--primary)}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.score-big{font-size:42px;font-weight:700;text-align:center;margin:10px 0}.score-pill{color:#fff;border-radius:var(--radius-pill);padding:2px 10px;font-weight:600;font-size:12px}.step-list{padding-left:20px;font-size:13px}.step-list li{margin-bottom:6px;position:relative}.step-list .small{color:var(--text-secondary);font-size:11px}.analysis-box{position:absolute;right:16px;top:16px;width:380px;max-height:70vh;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);padding:20px;z-index:10}.analysis-box h3{margin-top:0;color:var(--text);font-weight:600}.analysis-box pre{white-space:pre-wrap;word-wrap:break-word;font-family:var(--font);font-size:13px;line-height:1.6;margin:0}.close-btn{float:right;background:none;border:none;cursor:pointer;font-size:18px;color:var(--text-muted);padding:4px;border-radius:4px;transition:color var(--transition)}.close-btn:hover{color:var(--text)}.loading{padding:12px;background:var(--warning-bg);border-radius:var(--radius-sm);color:var(--warning-text);font-size:13px;margin-bottom:12px}.bpmn-wrapper{display:flex;flex-direction:column;width:100%;height:100%}.bpmn-toolbar{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--separator);background:var(--sm-bg-sidebar, var(--bg-sidebar))}.bpmn-toolbar .spacer{flex:1}.bpmn-canvas{flex:1;min-height:0;background:var(--bg)}.bjs-powered-by{display:none!important}.status-badge{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:10px;margin-left:6px;white-space:nowrap;vertical-align:middle}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px;padding:20px;text-align:center}.collapsible-card{gap:0}.collapsible-header{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;cursor:pointer;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-family:var(--font);border-radius:4px;transition:background var(--transition)}.collapsible-header:hover{background:var(--bg-hover);margin:-4px -6px;padding:4px 6px}.collapsible-chevron,.collapsible-plus{color:var(--text-muted);transition:transform .2s ease;flex-shrink:0}.collapsible-header.open .collapsible-chevron{transform:rotate(180deg)}.collapsible-header.open .collapsible-plus{transform:rotate(45deg)}.collapsible-body{overflow:hidden;transition:max-height .2s ease-out,opacity .2s ease-out;opacity:1}.collapsible-body[style*="max-height: 0px"]{opacity:0;transition:max-height .15s ease-in,opacity .15s ease-in}.collapsible-body>form,.collapsible-body>div{padding-top:8px}@keyframes editPanelIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes editPanelOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}.edit-panel{position:absolute;top:16px;right:16px;bottom:16px;width:360px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:0 4px 12px #00000014;z-index:25;display:flex;flex-direction:column;animation:editPanelIn .2s ease-out both;font-family:var(--font)}.edit-panel.closing{animation:editPanelOut .15s ease-in both}.edit-panel-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--separator);flex-shrink:0}.edit-panel-header h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin:0;color:var(--sm-text-secondary, var(--text-secondary))}.edit-panel-subtitle{font-size:12px;color:var(--text-secondary);margin-top:2px;display:block}.edit-panel-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;transition:background var(--transition),color var(--transition);flex-shrink:0}.edit-panel-close:hover{background:var(--bg-hover);color:var(--text)}.edit-panel-body{flex:1;overflow-y:auto;padding:16px 20px}.edit-panel-body input,.edit-panel-body select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font);color:var(--text);background:var(--bg);outline:none;margin-bottom:4px;transition:border-color var(--transition)}.edit-panel-body input:focus,.edit-panel-body select:focus{border-color:var(--primary)}.edit-panel-body input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-hover)}.edit-panel-label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:8px;margin-bottom:4px}.edit-panel-label:first-child{margin-top:0}.edit-panel-label--with-action{display:flex;align-items:center;justify-content:space-between;gap:8px}.edit-panel-inline-link{background:none;border:none;padding:0;font-family:inherit;font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--primary);cursor:pointer}.edit-panel-inline-link:hover{text-decoration:underline}.sm-edit-panel-section-title{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--sm-text-muted);padding-bottom:8px;border-bottom:1px solid var(--sm-border);margin:0 0 12px}.sm-edit-panel-section-title:not(:first-child){margin-top:24px}.edit-panel-costs{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:20px}.edit-panel-costs .edit-panel-label{margin-top:0}.edit-panel-slider-row{display:flex;align-items:center;gap:12px}.edit-panel-slider-row input[type=range]{flex:1;margin:0}.edit-panel-slider-value{font-size:12px;color:var(--text-secondary);min-width:36px;text-align:right;font-variant-numeric:tabular-nums}.edge-turn-handle{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--sm-bg-default);border:2px solid var(--sm-text-primary);cursor:grab;z-index:18;box-shadow:0 1px 4px #00000026;transition:transform 80ms ease}.edge-turn-handle:hover{transform:scale(1.2)}.edge-turn-handle.dragging{cursor:grabbing;transform:scale(1.15)}.canvas-toolbar-anchor{position:relative;display:flex;align-items:center}.canvas-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.layout-menu{position:absolute;bottom:calc(100% + 8px);right:0;min-width:260px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:6px;z-index:25;display:flex;flex-direction:column;gap:2px}.layout-menu-item{background:transparent;border:none;text-align:left;padding:10px 12px;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px;font-family:var(--font);color:var(--text);transition:background var(--transition)}.layout-menu-item:hover{background:var(--bg-hover)}.layout-menu-label{font-size:13px;font-weight:500;color:var(--text)}.layout-menu-hint{font-size:11px;color:var(--text-secondary)}@keyframes layoutToastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.layout-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--primary);color:var(--sm-bg-default);padding:10px 16px;border-radius:10px;font-family:var(--font);font-size:13px;box-shadow:0 8px 24px #0000002e;display:flex;align-items:center;gap:14px;z-index:10002;animation:layoutToastIn .18s ease-out both}.layout-toast-msg{white-space:nowrap}.layout-toast-action{background:none;border:none;color:var(--sm-bg-default);text-decoration:underline;font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;padding:0}.layout-toast-confirm{background:#059669}.layout-toast-warn{background:#92400e}.save-as-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--primary);color:var(--sm-bg-default);padding:10px 12px 10px 16px;border-radius:10px;font-family:var(--font);font-size:13px;box-shadow:0 8px 24px #0000002e;display:flex;align-items:center;gap:14px;z-index:10002;animation:layoutToastIn .18s ease-out both}.save-as-toast-msg{white-space:nowrap}.save-as-toast-action{background:none;border:none;color:var(--sm-bg-default);text-decoration:underline;font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;padding:0}.save-as-toast-dismiss{background:none;border:none;color:#ffffffb3;font-size:18px;line-height:1;cursor:pointer;padding:0 4px;margin-left:4px}.save-as-toast-dismiss:hover{color:var(--sm-bg-default)}.edit-panel-footer{padding:16px 20px;border-top:1px solid var(--separator);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.edit-panel-footer .btn,.edit-panel-footer .sm-btn-primary,.edit-panel-footer .sm-btn-secondary,.edit-panel-footer .sm-btn-danger{width:100%}.edit-panel-delete{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:none;border:none;color:var(--danger);cursor:pointer;font-size:13px;font-family:var(--font);padding:8px;border-radius:var(--radius-sm);transition:background var(--transition)}.edit-panel-delete:hover{background:#dc26260f}.sidebar-separator{border:none;border-top:1px solid var(--separator);margin:16px 0 6px}.sidebar-family-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px;padding-left:2px}.sidebar-card h2,.collapsible-header{display:flex;align-items:center;gap:8px}.sidebar-card h2 svg,.collapsible-header svg:first-child{width:14px;height:14px;flex-shrink:0;color:var(--text-secondary)}.zone-color-picker{display:flex;gap:6px;margin:6px 0}.zone-color-swatch{width:28px;height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:transform var(--transition),border-color var(--transition);padding:0}.zone-color-swatch:hover{transform:scale(1.1)}.zone-color-swatch.active{border-width:3px}.edit-panel-body input[type=range]{width:100%;margin:4px 0 8px;accent-color:var(--primary)}.zone-size-row{display:flex;gap:8px;margin-top:2px}.zone-size-input{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.zone-size-field{position:relative}.zone-size-field input[type=number]{padding-right:26px}.zone-size-unit{position:absolute;right:10px;top:50%;transform:translateY(calc(-50% - 2px));font-size:11px;color:var(--text-muted);pointer-events:none}.zone-size-sublabel{font-size:11px;color:var(--text-muted)}.zone-size-hint{display:block;font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.4}.zone-color-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.color-picker{display:flex;flex-direction:column;gap:6px;margin:6px 0 8px}.color-picker-label{font-size:11px;color:var(--sm-text-muted);margin-top:2px}.color-picker-row{display:flex;gap:6px;flex-wrap:wrap}.color-swatch{width:24px;height:24px;border-radius:6px;border:2px solid transparent;cursor:pointer;padding:0;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.color-swatch:hover{transform:scale(1.05);box-shadow:0 1px 4px #00000014}.color-swatch.selected{border-color:var(--sm-text-primary)}.custom-color-btn{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:13px;font-family:var(--font);cursor:pointer;transition:background var(--transition),border-color var(--transition);margin-top:4px}.custom-color-btn:hover{background:var(--bg-hover)}.custom-color-btn.selected{border-color:var(--sm-text-primary)}.custom-color-btn span:nth-of-type(1){flex:1;text-align:left}.custom-color-preview{width:20px;height:20px;border-radius:4px;border:1px solid var(--border);flex-shrink:0}.custom-color-preview.rainbow{background:conic-gradient(from 0deg,#ef4444,#f59e0b,#eab308,#22c55e,#06b6d4,#3b82f6,#8b5cf6,#ec4899,#ef4444)}.color-picker-popover{z-index:10005;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #00000026;padding:12px;display:flex;flex-direction:column;gap:10px;width:220px}.color-picker-popover .react-colorful{width:100%;height:160px}.color-picker-popover__hex-row{display:flex;align-items:center;gap:8px}.color-picker-popover__hex-label{font-size:11px;font-weight:600;color:var(--sm-text-muted, var(--text-muted))}.color-picker-popover__hex-input{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;font-family:inherit;color:var(--text);background:var(--bg);text-transform:uppercase}.color-picker-popover__hex-input:focus{outline:none;border-color:var(--primary)}:root[data-theme=dark] .color-picker-popover{box-shadow:0 8px 24px #0006}.color-picker-popover__eyedropper{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.color-picker-popover__eyedropper:hover,.color-picker-popover__eyedropper:focus-visible{border-color:var(--primary);background:var(--card-bg);outline:none}.combobox{position:relative;width:100%;margin-top:6px}.combobox-input-wrap{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:text;transition:border-color var(--transition)}.combobox-input-wrap.open,.combobox-input-wrap:focus-within{border-color:var(--primary)}.combobox-input{flex:1;border:none;outline:none;padding:8px 12px;font-size:14px;font-family:var(--font);color:var(--text);background:transparent;width:0;margin:0!important;border-radius:0!important}.combobox-input::placeholder{color:var(--text-muted)}.combobox-chevron{color:var(--text-muted);margin-right:10px;flex-shrink:0;transition:transform .2s ease}.combobox-chevron.open{transform:rotate(180deg)}.combobox-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000014;max-height:240px;overflow-y:auto;z-index:100;padding:4px}.combobox-option{padding:8px 12px;border-radius:4px;cursor:pointer;font-size:14px;color:var(--text);transition:background .1s}.combobox-option:hover,.combobox-option.highlighted{background:var(--bg-hover)}.combobox-option.selected{background:var(--bg-hover);font-weight:500}.combobox-create{display:flex;align-items:center;gap:6px;font-weight:500}.combobox-empty{padding:8px 12px;color:var(--text-muted);font-size:13px}.tags-input{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%;margin-top:6px;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:text;transition:border-color var(--transition)}.tags-input:focus-within{border-color:var(--primary)}.tags-input-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;background:var(--bg-hover);border:1px solid var(--border);border-radius:12px;font-size:13px;color:var(--text);max-width:100%}.tags-input-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tags-input-chip-remove{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:50%;flex-shrink:0}.tags-input-chip-remove:hover{color:var(--text);background:var(--border)}.tags-input-field{flex:1;min-width:80px;border:none;outline:none;padding:4px 2px;font-size:14px;font-family:var(--font);color:var(--text);background:transparent}.tags-input-field::placeholder{color:var(--text-muted)}.creatable-multiselect{position:relative;width:100%;margin-top:6px}.creatable-ms-control{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:text;transition:border-color var(--transition)}.creatable-ms-control.open,.creatable-ms-control:focus-within{border-color:var(--primary)}.creatable-ms-chips{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 8px}.creatable-ms-input{flex:1;min-width:80px;border:none;outline:none;padding:4px 2px;font-size:14px;font-family:var(--font);color:var(--text);background:transparent}.creatable-ms-input::placeholder{color:var(--text-muted)}.contract-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--sm-border, #E5E7EB)}.contract-section-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:11px;font-weight:600;color:var(--text-muted, #6B7280);text-transform:uppercase;letter-spacing:.08em}.contract-section-optional{font-size:10px;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--text-tertiary, #9CA3AF);font-style:italic}.contract-details{margin-top:8px;border:none}.contract-details summary{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:8px 0;cursor:pointer;list-style:none;transition:color var(--transition)}.contract-details summary:hover{color:var(--text-secondary)}.contract-details summary::-webkit-details-marker{display:none}.contract-details summary::marker{display:none;content:""}.contract-details .contract-chevron{transition:transform .2s ease;color:var(--text-muted);flex-shrink:0}.contract-details[open] .contract-chevron{transform:rotate(90deg)}.contract-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.contract-grid label{font-size:11px;font-weight:500;color:var(--text-secondary)}.contract-grid input,.contract-grid select{margin-top:4px}.contract-summary{font-size:12px;color:var(--text-secondary);background:var(--bg-hover);border-radius:6px;padding:8px 10px;margin-bottom:10px;line-height:1.5}.contract-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0}.contract-badge.red{background:#fee2e2;color:#991b1b}.contract-badge.orange{background:#fed7aa;color:#9a3412}.contract-badge.yellow{background:#fef3c7;color:#a16207}.unsaved-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10002}.unsaved-modal{background:var(--card-bg);border-radius:12px;width:420px;padding:24px;box-shadow:0 10px 40px #00000026}.unsaved-modal h3{font-size:18px;font-weight:600;margin:0 0 8px;color:var(--text)}.unsaved-modal p{font-size:14px;color:#4b5563;margin:0 0 20px;line-height:1.5}:root[data-theme=dark] .unsaved-modal p{color:#c4c4ce}.unsaved-actions{display:flex;gap:8px;justify-content:flex-end}.unsaved-btn{padding:8px 16px;border-radius:var(--radius-pill);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;border:none;transition:background var(--transition)}.unsaved-btn.primary{background:var(--primary);color:var(--sm-bg-default)}.unsaved-btn.primary:hover{background:var(--primary-hover)}.unsaved-btn.secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.unsaved-btn.secondary:hover{background:var(--bg-hover)}.unsaved-btn.tertiary{background:none;color:var(--text-secondary)}.unsaved-btn.tertiary:hover{color:var(--text)}.unsaved-btn.danger{background:var(--btn-danger-bg);color:var(--btn-danger-fg)}.unsaved-btn.danger:hover{background:var(--btn-danger-bg-hover)}.global-search-trigger{background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:background var(--transition),color var(--transition);display:flex;align-items:center}.global-search-trigger:hover{background:var(--bg-hover);color:var(--text)}.global-search{position:relative;z-index:100}.global-search-input-wrap{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;width:400px}.global-search-input-wrap:focus-within{border-color:var(--primary)}.global-search-icon{color:var(--text-muted);flex-shrink:0}.global-search-input{flex:1;border:none;outline:none;font-family:var(--font);font-size:14px;color:var(--text);background:transparent;padding:2px 0}.global-search-input::placeholder{color:var(--text-muted)}.global-search-shortcut{font-size:11px;color:var(--text-muted);background:var(--bg-hover);padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.global-search-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;display:flex;border-radius:4px}.global-search-close:hover{color:var(--text)}.global-search-results{position:absolute;top:calc(100% + 4px);right:0;width:400px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000014;max-height:500px;overflow-y:auto;z-index:101}.global-search-cat{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:10px 14px 4px}.global-search-item{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;transition:background .1s;font-size:13px}.global-search-item:hover,.global-search-item.active{background:var(--bg-hover)}.global-search-item.active{border-left:2px solid var(--primary);padding-left:12px}.global-search-item svg{color:var(--text-secondary);flex-shrink:0}.global-search-name{font-weight:500;color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-meta{font-size:12px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.global-search-empty{padding:20px 14px;color:var(--text-muted);font-size:14px;text-align:center}.global-search-toast{position:fixed;bottom:24px;right:24px;background:var(--primary);color:var(--sm-bg-default);padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);box-shadow:0 8px 24px #00000026;z-index:10001;animation:toastIn .2s ease-out both}.welcome-screen{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;background:var(--bg);animation:fadeIn .2s ease-out both}.welcome-screen.fading{animation:fadeOut .2s ease-in both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.welcome-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:400px;background:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--shadow-sm);padding:48px;gap:12px}.welcome-card h2{font-size:20px;font-weight:700;color:var(--text);margin:8px 0 0}.welcome-card p{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0}.welcome-card .btn{margin-top:8px}.welcome-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.map-badge{display:inline-block;background:#eef2f6;color:#475569;font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;line-height:1.4;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;margin-left:4px}:root[data-theme=dark] .map-badge{background:#60a5fa26;color:#93c5fd}.cost-badge{display:inline-block;background:var(--bg-hover);color:#374151;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;line-height:1.4;white-space:nowrap;flex-shrink:0}.notes-textarea{width:100%;min-height:72px;max-height:240px;resize:vertical;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;line-height:1.5;color:var(--text);background:var(--bg);outline:none;margin-top:4px;transition:border-color var(--transition)}.notes-textarea:focus{border-color:var(--primary)}.notes-textarea::placeholder{color:var(--text-muted)}.notes-indicator{color:var(--text-muted);flex-shrink:0;margin-right:4px}@keyframes toastIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}.toast{position:fixed;bottom:20px;right:20px;background:var(--primary);color:var(--sm-bg-default);border-radius:var(--radius-sm);padding:12px 16px;box-shadow:0 8px 24px #00000026;display:flex;align-items:center;gap:10px;font-size:14px;font-family:var(--font);z-index:10001;animation:toastIn .2s ease-out both}.toast.toast-out{animation:toastOut .2s ease-in both}.toast-msg{flex:1}.toast-action{background:none;border:none;color:var(--sm-bg-default);text-decoration:underline;cursor:pointer;font-weight:500;font-size:14px;font-family:var(--font);padding:0;white-space:nowrap}.used-by-section{margin-top:16px}.used-by-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.used-by-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);cursor:pointer;transition:background var(--transition),border-color var(--transition)}.used-by-item:hover{background:var(--bg-hover);border-color:#d1d5db}.used-by-item svg{color:var(--text-secondary);flex-shrink:0}.used-by-name{font-weight:500;color:var(--text);flex:1}.used-by-meta{font-size:12px;color:var(--text-secondary);margin-left:2px}.used-by-count{font-size:11px;color:var(--text-secondary);background:var(--bg-hover);padding:2px 8px;border-radius:999px;white-space:nowrap}.used-by-empty{margin:6px 0 0;font-size:12px;color:var(--text-secondary);font-style:italic}.multiselect{position:relative;width:100%;margin-top:6px}.multiselect-wrap{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:text;min-height:38px;transition:border-color var(--transition)}.multiselect-wrap.open,.multiselect-wrap:focus-within{border-color:var(--primary)}.multiselect-pills{flex:1;display:flex;flex-wrap:wrap;gap:4px;padding:4px 8px;align-items:center}.multiselect-pill{display:inline-flex;align-items:center;gap:4px;background:var(--bg-hover);border-radius:12px;padding:2px 8px;font-size:12px;color:var(--text);white-space:nowrap;max-width:220px}.multiselect-pill>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}.multiselect-pill button{background:none;border:none;padding:0;cursor:pointer;color:var(--text-muted);display:flex;transition:color var(--transition)}.multiselect-pill button:hover{color:var(--danger)}.multiselect-pill--orphan{background:transparent;border:1px dashed var(--border);color:var(--text-muted);font-style:italic}.multiselect-pill-link{cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color var(--transition)}.multiselect-pill-link:hover{text-decoration-color:var(--text)}.multiselect-input{flex:1;min-width:60px;border:none;outline:none;font-size:14px;font-family:var(--font);color:var(--text);background:transparent;padding:4px 0;margin:0!important;border-radius:0!important;width:0!important}.multiselect-input::placeholder{color:var(--text-muted)}.multiselect-chevron{color:var(--text-muted);margin-right:10px;flex-shrink:0;transition:transform .2s ease}.multiselect-chevron.open{transform:rotate(180deg)}.multiselect-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000014;max-height:200px;overflow-y:auto;z-index:100;padding:4px}.multiselect-option{padding:8px 12px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .1s}.multiselect-option:hover{background:var(--bg-hover)}.multiselect-option-text{display:flex;flex-direction:column}.multiselect-option-text small{color:var(--text-muted);font-size:11px}.multiselect-empty{padding:8px 12px;color:var(--text-muted);font-size:13px}.hosted-badge{display:inline-flex;align-items:center;gap:3px;background:var(--bg-hover);border-radius:10px;padding:2px 6px;font-size:11px;color:var(--text-secondary);flex-shrink:0}.canvas-controls{position:absolute;bottom:80px;right:20px;display:flex;flex-direction:column;gap:6px;z-index:20}.canvas-controls button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--card-shadow);color:var(--text);cursor:pointer;padding:0;transition:background var(--transition)}.canvas-controls button:hover{background:var(--bg-hover)}@keyframes ctxIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ctx-menu{position:fixed;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000001f;padding:6px;min-width:200px;z-index:10000;font-family:var(--font);animation:ctxIn .12s ease-out both}.ctx-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;border-radius:6px;background:none;color:var(--text);font-size:14px;font-family:var(--font);cursor:pointer;transition:background .1s;text-align:left}.ctx-item:hover{background:var(--bg-hover)}.ctx-item.danger{color:var(--danger)}.ctx-item.danger:hover{background:#fee2e2}.ctx-sep{height:1px;background:var(--separator);margin:4px 0}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-page, #F7F6F3);padding:24px;font-family:var(--font-family, "Inter", sans-serif)}.auth-card{background:var(--color-bg-card, var(--sm-bg-default));border:.5px solid var(--color-border-default, rgba(0, 0, 0, .12));border-radius:8px;padding:32px;max-width:420px;width:100%;box-shadow:0 8px 24px #00000014}.auth-title{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--color-text-primary, var(--sm-text-primary))}.auth-subtitle{margin:0 0 24px;font-size:13px;color:var(--color-text-secondary, #6B6B68);line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--color-text-primary, var(--sm-text-primary));text-transform:uppercase;letter-spacing:.3px}.auth-input{padding:10px 12px;font-size:14px;border:.5px solid var(--color-border-default, rgba(0, 0, 0, .2));border-radius:4px;background:var(--color-bg-card, var(--sm-bg-default));color:var(--color-text-primary, var(--sm-text-primary));font-family:inherit}.auth-input:focus{outline:none;border-color:var(--color-action-primary, #7F77DD);box-shadow:0 0 0 3px #7f77dd26}.auth-input:disabled{background:var(--color-bg-card-subtle, #F1EFE8);color:var(--color-text-tertiary, #9C9B96)}.auth-btn-primary{padding:12px 20px;font-size:14px;font-weight:600;background:var(--color-action-primary, #7F77DD);color:var(--color-bg-card, var(--sm-bg-default));border:none;border-radius:4px;cursor:pointer;margin-top:4px;font-family:inherit}.auth-btn-primary:hover:not(:disabled){filter:brightness(1.05)}.auth-btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-btn-primary--brand{background:var(--brand-green, #06A85F)}.auth-btn-primary--brand:hover:not(:disabled){background:var(--brand-green-hover, #048647);filter:none}.auth-message{margin:16px 0 0;padding:10px 12px;font-size:13px;border-radius:4px;line-height:1.45}.auth-message-success{background:var(--color-success-bg, #EAF3DE);color:var(--color-success-text, #3B6D11)}.auth-message-error{background:var(--color-crit-bg, #FCEBEB);color:var(--color-crit-accent, #A32D2D)}.auth-switch{margin:20px 0 0;font-size:13px;color:var(--color-text-secondary, #6B6B68);text-align:center}.auth-switch a{color:var(--color-action-primary, #7F77DD);text-decoration:none;font-weight:600}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 0 24px}.auth-logo{max-height:36px;width:auto;display:block}.auth-tagline{margin:0;font-size:12px;color:var(--color-text-secondary, #6B6B68);text-align:center;letter-spacing:.2px}.auth-hint{margin:4px 0 0;font-size:12px;color:var(--color-text-tertiary, #9C9B96);text-align:center;line-height:1.45}.auth-toggle-mode{display:block;margin:16px auto 0;padding:4px 8px;background:none;border:none;color:var(--color-action-primary, #7F77DD);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;text-decoration:underline}.auth-toggle-mode:hover:not(:disabled){filter:brightness(.9)}.auth-toggle-mode:disabled{opacity:.5;cursor:not-allowed}.auth-switch a:hover{text-decoration:underline}.user-menu{position:relative}.notif-bell{margin-left:auto}.user-menu-trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:.5px solid var(--color-border-default, rgba(0, 0, 0, .12));border-radius:4px;color:var(--color-text-primary, var(--sm-text-primary));font-size:12px;cursor:pointer;font-family:inherit}.user-menu-trigger:hover{background:var(--color-bg-card-subtle, #F1EFE8)}.user-menu-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:var(--color-bg-card, var(--sm-bg-default));border:.5px solid var(--color-border-default, rgba(0, 0, 0, .12));border-radius:6px;box-shadow:0 8px 24px #0000001a;z-index:100;overflow:hidden}.user-menu-info{padding:12px;border-bottom:.5px solid var(--color-border-default, rgba(0, 0, 0, .08))}.user-menu-org{font-size:13px;font-weight:600;color:var(--color-text-primary, var(--sm-text-primary));margin-bottom:2px}.user-menu-email-full{font-size:11px;color:var(--color-text-secondary, #6B6B68);word-break:break-all}.user-menu-theme-btn,.user-menu-account-btn,.user-menu-logout-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:transparent;border:none;color:var(--color-text-primary, var(--sm-text-primary));font-size:13px;cursor:pointer;text-align:left;font-family:inherit}.user-menu-theme-btn:hover,.user-menu-account-btn:hover,.user-menu-logout-btn:hover{background:var(--color-bg-card-subtle, #F1EFE8)}.user-menu-theme-btn,.user-menu-account-btn{border-bottom:.5px solid var(--color-border-default, rgba(0, 0, 0, .08))}:root[data-theme=dark] .btn{color:var(--bg)}:root[data-theme=dark] .draw-hint{background:#2a2a2a;color:#fff;border:1px solid #3A3A3A}:root[data-theme=dark] .btn.secondary{background:var(--bg-hover);color:var(--text);border:1px solid rgba(255,255,255,.4)}:root[data-theme=dark] .btn.secondary:hover{background:#2d2d2d;border-color:#fff9}:root[data-theme=dark] .collapsible-header{color:#c5c5cb}:root[data-theme=dark] .graph-area{background-color:var(--sm-bg-canvas);background-image:radial-gradient(circle,#3A3A45 1px,transparent 1px)}:root[data-theme=dark] .legend{background:#14141bf7;color:var(--text-secondary)}:root[data-theme=dark] .canvas-toolbar{background:#f3f4f6;border-color:#e5e7eb;box-shadow:0 4px 12px #0000004d}:root[data-theme=dark] .canvas-toolbar-btn{color:#1a1a1a}:root[data-theme=dark] .canvas-toolbar-btn:hover{background:#00000014}:root[data-theme=dark] .canvas-toolbar-btn.active{background:#00000026}:root[data-theme=dark] .canvas-controls button{background:#2a2a2a;border-color:#3a3a3a;color:#fff}:root[data-theme=dark] .canvas-controls button:hover{background:#333}:root[data-theme=dark] .canvas-controls button svg{color:#fff!important;stroke:#fff!important}:root[data-theme=dark] .tab.active{background:#10b98126;color:var(--sm-primary);border-color:#10b98166;border-radius:var(--radius-tab)}:root[data-theme=dark] .tabs{background:#333;border-radius:var(--radius-pill);padding:4px;border:1px solid rgba(255,255,255,.15)}:root[data-theme=dark] .info-stat-contract{background:#333;border-radius:8px;padding:8px 10px}:root[data-theme=dark] .header{background:#2a2a2a}.account-page{min-height:100vh;background:#f3f4f6}.account-main{max-width:880px;margin:32px auto;padding:0 24px}.account-title{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:600;margin:0 0 24px;color:#1a1a1a}.account-section{background:#fff;border:1px solid #E5E5E0;border-radius:12px;padding:24px;margin-bottom:16px;box-shadow:0 1px 2px #0000000a}.account-section-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin:0 0 16px;color:#1a1a1a}.account-loading{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:14px}.account-empty,.account-info{color:var(--text-muted);font-size:14px;margin:0}.account-error{color:var(--danger, #EF4444);font-size:14px;margin:0}.account-back-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;color:#5f5e5a;background:#fff;border:1px solid #E5E5E0;text-decoration:none;transition:background .15s ease,color .15s ease}.account-back-link:hover{background:#f8f9fb;color:#1a1a1a}.members-table{width:100%;border-collapse:collapse;font-size:14px}.members-table th{text-align:left;padding:10px 12px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;border-bottom:1px solid #E5E5E0}.members-table td{padding:14px 12px;border-bottom:1px solid #E5E5E0}.members-table tr:last-child td{border-bottom:none}.members-table tbody tr{transition:background .12s ease}.members-table tbody tr:hover{background:#f8f9fb}.members-pending-badge{display:inline-block;background:#fef3c7;color:#92400e;border:1px solid #FDE68A;font-size:11px;font-weight:500;padding:2px 8px;border-radius:999px;margin-left:8px}.invite-form{display:flex;gap:12px;align-items:flex-end}.invite-form-field{flex:1}.invite-form-field label{display:block;font-size:12px;font-weight:500;color:#5f5e5a;margin-bottom:4px}.invite-form-field input,.invite-form-field select{width:100%}.invite-form-input-wrapper{position:relative}.invite-form-input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.invite-form-input-wrapper input,.invite-form-input-wrapper select{padding-left:32px}.account-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.account-form-grid .invite-form-field{flex:none}.account-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}@media (max-width: 600px){.account-form-grid{grid-template-columns:1fr}}.security-info{margin-bottom:16px}.security-info-row{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:#f8f9fb;border:1px solid #E5E7EB;border-radius:8px}.security-info-row .security-icon{margin-top:3px;color:#10b981;flex-shrink:0}.security-info-row strong{display:block;font-size:13px;color:#1a1a1a;margin-bottom:4px}.security-info-row p{margin:0;font-size:13px;color:#5f5e5a;line-height:1.5}.security-actions{gap:8px}.security-backlog-note{margin:12px 0 0;font-size:12px;color:#9ca3af;font-style:italic}.btn-link-action{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid transparent;padding:4px 10px;border-radius:6px;color:#10b981;cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);transition:background .15s ease,border-color .15s ease}.btn-link-action:hover{background:#f0fdf4;border-color:#d1fae5}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}:root[data-theme=dark] .account-page{background:#1a1a1a}:root[data-theme=dark] .account-section{background:#2a2a2a;border-color:#3a3a3a;box-shadow:0 1px 2px #0000004d}:root[data-theme=dark] .account-title,:root[data-theme=dark] .account-section-title{color:#fff}:root[data-theme=dark] .account-back-link{background:#2a2a2a;border-color:#3a3a3a;color:#a0a0a0}:root[data-theme=dark] .account-back-link:hover{background:#2d2d2d;color:#fff}:root[data-theme=dark] .members-table th{color:#a0a0a0;border-bottom-color:#3a3a3a}:root[data-theme=dark] .members-table td{border-bottom-color:#3a3a3a}:root[data-theme=dark] .members-table tbody tr:hover{background:#2d2d2d}:root[data-theme=dark] .members-pending-badge{background:#78350f;color:#fcd34d;border-color:#b45309}:root[data-theme=dark] .invite-form-field label{color:#a0a0a0}:root[data-theme=dark] .invite-form-field input,:root[data-theme=dark] .invite-form-field select{background:#1a1a1a;color:#fff;border-color:#3a3a3a}:root[data-theme=dark] .invite-form-field input::placeholder{color:#6b7280}:root[data-theme=dark] .invite-form-input-icon{color:#6b7280}:root[data-theme=dark] .security-info-row{background:#1a1a1a;border-color:#3a3a3a}:root[data-theme=dark] .security-info-row strong{color:#fff}:root[data-theme=dark] .security-info-row p{color:#a0a0a0}:root[data-theme=dark] .security-backlog-note{color:#6b7280}:root[data-theme=dark] .btn-link-action:hover{background:#10b9811a;border-color:#14532d}.permissions-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:10003}.permissions-modal{background:var(--bg);border-radius:var(--card-radius, 12px);width:640px;max-width:90vw;max-height:80vh;overflow-y:auto;padding:24px;box-shadow:var(--shadow-lg, 0 10px 40px rgba(0,0,0,.18));font-family:var(--font);position:relative}.permissions-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.permissions-modal-title{font-size:18px;font-weight:600;margin:0;color:var(--text, var(--sm-text-primary))}.permissions-modal-subtitle{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:24px 0 8px}.permissions-modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;display:inline-flex;align-items:center;border-radius:4px}.permissions-modal-close:hover{color:var(--primary);background:var(--bg-hover)}.permissions-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:8px}.permissions-table th{text-align:left;padding:8px 12px;font-weight:600;font-size:11px;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border)}.permissions-table td{padding:8px 12px;border-bottom:1px solid var(--border)}.permissions-table tr:last-child td{border-bottom:none}.permissions-table select,.permissions-add-form select{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font);color:var(--text);background:var(--bg);outline:none}.permissions-table select:focus,.permissions-add-form select:focus{border-color:var(--primary)}.permissions-table select{width:auto;min-width:100px}.permissions-empty{color:var(--text-muted);font-size:14px;font-style:italic;margin:8px 0}.permissions-add-form{display:flex;gap:8px;align-items:flex-end;margin-top:8px}.permissions-add-form-field-member{flex:1 1 auto;min-width:0}.permissions-add-form-field-role{flex:0 0 120px}.permissions-add-form-field label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px}.permissions-add-form-field select{width:100%}.permissions-modal-footer{display:flex;justify-content:flex-end;margin-top:24px;border-top:1px solid var(--border);padding-top:16px}.sidebar-btn-fullwidth{width:100%}.sm-btn-primary,.sm-btn-secondary,.sm-btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;font-family:var(--font);border-radius:var(--sm-radius-sm);border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease;outline:none}.sm-btn-primary:disabled,.sm-btn-secondary:disabled,.sm-btn-danger:disabled{opacity:.5;cursor:not-allowed}.sm-btn-primary{background:var(--sm-primary);color:var(--sm-on-primary)}.sm-btn-primary:hover:not(:disabled){background:var(--sm-primary-hover)}.sm-btn--full-width{width:100%;justify-content:space-between}.sm-btn--outline{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid var(--sm-primary);border-radius:var(--sm-radius-sm);color:var(--sm-primary);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;transition:background-color .15s ease,color .15s ease;outline:none;width:100%}.sm-btn--outline:hover:not(:disabled){background:var(--sm-primary-bg);color:var(--sm-primary-hover)}.sm-btn--outline:active:not(:disabled){background:var(--sm-primary-border)}.sm-btn--outline:disabled{opacity:.5;cursor:not-allowed}.sm-btn-secondary{background:var(--sm-bg-default);color:var(--sm-text-primary);border-color:var(--sm-border)}.sm-btn-secondary:hover:not(:disabled){background:var(--sm-bg-subtle)}.sm-btn-danger{background:var(--sm-danger);color:var(--sm-on-primary)}.sm-btn-danger:hover:not(:disabled){background:var(--sm-danger-hover)}.sm-btn-link-action{background:none;border:none;padding:0;font-family:var(--font);font-size:13px;color:var(--sm-primary);cursor:pointer;text-decoration:underline}.sm-btn-link-action:hover{color:var(--sm-primary-hover)}.sm-kbd{display:inline-flex;align-items:center;font-family:var(--sm-font-mono);font-size:11px;font-weight:500;color:var(--sm-text-secondary);background:var(--sm-bg-subtle);border:1px solid var(--sm-border);border-radius:var(--sm-radius-sm);padding:1px 6px;line-height:1.4}.sm-badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:1px 8px;background:var(--sm-primary-bg);color:var(--sm-primary-hover);border-radius:9999px;font-size:11px;font-weight:600;line-height:1.5}.sm-badge-pending{display:inline-block;background:var(--sm-bg-subtle);color:var(--sm-text-muted);border:1px solid var(--sm-border);font-size:11px;font-weight:500;padding:2px 6px;border-radius:var(--sm-radius-sm)}.sm-section-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--sm-text-muted);margin-bottom:3px}.sm-sidebar-section{padding:1px 0}.sm-sidebar-item{display:flex;align-items:center;gap:8px;padding:4px 10px;border-radius:var(--sm-radius-sm);cursor:pointer;font-size:13px;color:#52525b;-webkit-user-select:none;user-select:none;transition:background-color .1s ease}.sm-sidebar-item:hover{background:var(--sm-bg-hover)}:root[data-theme=dark] .sm-sidebar-item{color:#b0b0b0}.sm-sidebar-item-icon{display:inline-flex;align-items:center;flex-shrink:0;color:var(--sm-text-secondary)}.sm-sidebar-item-label{flex:1}.sm-sidebar-item-chevron{display:inline-flex;align-items:center;color:var(--sm-text-muted);flex-shrink:0}.sm-sidebar-item-active{background:var(--sm-primary-bg);color:var(--sm-primary-hover)}.sm-sidebar-item-active:hover{background:var(--sm-primary-bg)}.sm-sidebar-item-active .sm-sidebar-item-icon,.sm-sidebar-item-active .sm-sidebar-item-chevron{color:var(--sm-primary)}.sm-sidebar-item--danger{color:var(--tint-danger-fg);margin-top:8px;padding-top:8px;border-top:.5px solid var(--color-border-tertiary, var(--sm-border));cursor:pointer}.sm-sidebar-item--danger .sm-sidebar-item-icon{color:var(--tint-danger-fg)}.sm-sidebar-item--danger:hover{background:var(--tint-danger-bg)}.sm-sidebar-item--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.sm-divider{height:1px;background:var(--sm-border);margin:3px 0;border:none}.sm-sidebar-card{display:flex;flex-direction:column;padding:8px;font-family:var(--font)}.sm-map-active-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:8px 4px}.sm-map-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:#ede9fe;color:#7c3aed;flex-shrink:0}:root[data-theme=dark] .sm-map-icon-badge{background:#7c3aed2e;color:#c4b5fd}.sm-map-name-input{width:100%;padding:6px 8px;font-size:14px;font-weight:500;font-family:var(--font);color:var(--sm-text-primary);background:var(--sm-bg-default);border:1px solid transparent;border-radius:var(--sm-radius-sm);outline:none;transition:border-color .1s ease,background .1s ease}.sm-map-name-input:hover{background:var(--sm-bg-subtle)}.sm-map-name-input:focus{background:var(--sm-bg-default);border-color:var(--sm-border)}.sm-text-muted{font-size:12px;color:var(--sm-text-muted)}.sm-save-row{display:flex;align-items:center;gap:8px}.sm-save-row .sm-btn-primary{flex:1}.sm-map-select{width:100%;padding:7px 10px;font-size:13px;font-family:var(--font);color:var(--sm-text-primary);background:var(--sm-bg-default);border:1px solid var(--sm-border);border-radius:var(--sm-radius-sm);outline:none;cursor:pointer}.sm-map-select:focus{border-color:var(--sm-primary)}.sm-map-select-row{display:flex;gap:6px;align-items:center}.sm-map-select-row .sm-map-select{flex:1}.sm-map-select-remove{background:none;border:1px solid var(--sm-border);color:var(--sm-text-muted);border-radius:var(--sm-radius-sm);padding:4px 8px;cursor:pointer;font-size:13px}.sm-map-select-remove:hover{color:var(--sm-danger);border-color:var(--sm-danger)}.sm-map-select-clear{background:none;border:1px solid var(--sm-border);color:var(--sm-text-muted);border-radius:var(--sm-radius-sm);padding:4px 8px;cursor:pointer;font-size:13px}.sm-map-select-clear:hover{color:var(--sm-text-primary);border-color:var(--sm-text-muted);background:var(--bg-hover)}.sm-sidebar-item-create .sm-sidebar-item-icon{color:var(--sm-primary)}.sm-sidebar-item-permissions{border:1px dashed var(--sm-primary-border);margin-top:4px}.sm-sidebar-item-permissions .sm-sidebar-item-icon{color:var(--sm-primary)}.sm-sidebar-item-permissions:hover{background:var(--sm-primary-bg)}.sm-sidebar-collapse{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 12px;margin-top:8px;background:none;border:none;border-top:1px solid var(--sm-border);color:var(--sm-text-muted);font-size:12px;font-family:var(--font);cursor:pointer;transition:color .1s ease}.sm-sidebar-collapse:hover{color:var(--sm-text-primary)}.sm-popup-anchor{position:relative}.sm-export-popup,.sm-appearance-popup{position:absolute;top:0;left:calc(100% + 8px);min-width:240px;background:var(--sm-bg-default);border:1px solid var(--sm-border);border-radius:var(--sm-radius-md);box-shadow:var(--sm-shadow-md);padding:6px;z-index:1000}.sm-export-popup .sm-sidebar-item{width:100%}.sm-appearance-popup{min-width:280px;padding:16px;display:flex;flex-direction:column;max-height:var(--popup-max-height, calc(100vh - 24px) )}.sm-popup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-shrink:0}.sm-appearance-popup-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px}.sm-popup-title{font-size:14px;font-weight:600;color:var(--sm-text-primary);margin:0}.sm-popup-close{background:none;border:none;cursor:pointer;color:var(--sm-text-muted);display:inline-flex;align-items:center;padding:2px;border-radius:var(--sm-radius-sm)}.sm-popup-close:hover{color:var(--sm-text-primary);background:var(--sm-bg-hover)}.sm-appearance-popup .sm-section-label{margin-top:12px}.sm-appearance-popup .sm-section-label:first-of-type{margin-top:0}.sm-appearance-popup select{width:100%;padding:7px 10px;font-size:13px;font-family:var(--font);color:var(--sm-text-primary);background:var(--sm-bg-default);border:1px solid var(--sm-border);border-radius:var(--sm-radius-sm);outline:none;margin-top:4px}.sm-appearance-popup select:focus{border-color:var(--sm-primary)}.sm-appearance-slider{display:flex;align-items:center;gap:10px;margin-top:4px}.sm-appearance-slider input[type=range]{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--sm-border, #E5E7EB);border-radius:999px;outline:none;cursor:pointer}.sm-appearance-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--sm-primary, #10B981);cursor:pointer;border:2px solid var(--sm-bg-default, #FFFFFF);box-shadow:0 1px 3px #00000026}.sm-appearance-slider input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--sm-primary, #10B981);cursor:pointer;border:2px solid var(--sm-bg-default, #FFFFFF);box-shadow:0 1px 3px #00000026}.sm-appearance-slider-value{font-size:12px;font-weight:500;color:var(--sm-text-primary, #1A1A1A);min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.sm-appearance-help{margin:6px 0 0;font-size:11px;color:var(--sm-text-secondary, #6B7280);line-height:1.4}.sm-drilldown-panel{background:var(--sm-bg-default);border:1px solid var(--sm-border);border-radius:var(--sm-radius-md);box-shadow:var(--sm-shadow-sm);overflow:hidden auto;transition:width .2s ease-out;min-width:0;display:flex;flex-direction:column}.sm-drilldown-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--sm-border);flex-shrink:0}.sm-drilldown-panel-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--sm-text-muted);margin:0}.sm-drilldown-panel-body{flex:1;padding:16px 20px;overflow-y:auto}.sm-drilldown-cta{width:100%;margin-bottom:16px}.sm-entity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sm-entity-card{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--sm-bg-default);border:1px solid var(--sm-border);border-radius:var(--sm-radius-md);cursor:pointer;transition:border-color .1s ease,background .1s ease}.sm-entity-card:hover{border-color:var(--sm-primary-border);background:var(--sm-bg-subtle)}.sm-entity-card-icon{flex-shrink:0;color:var(--sm-text-secondary)}.sm-entity-card-body{flex:1;min-width:0}.sm-entity-card-name{font-size:14px;font-weight:600;color:var(--sm-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-entity-card-meta{font-size:12px;color:var(--sm-text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-entity-card-cost{display:inline-flex;align-items:center;padding:2px 8px;background:var(--sm-bg-hover);color:var(--sm-text-secondary);border-radius:9999px;font-size:11px;font-weight:600;flex-shrink:0}.sm-entity-card-action{background:none;border:none;cursor:pointer;color:var(--sm-text-muted);padding:4px;border-radius:var(--sm-radius-sm);display:inline-flex;align-items:center;flex-shrink:0}.sm-entity-card-action:hover{color:var(--sm-text-primary);background:var(--sm-bg-hover)}.sm-entity-card-action-danger:hover{color:var(--sm-danger);background:var(--sm-danger-bg)}.sm-drilldown-form{background:var(--sm-bg-subtle);border:1px solid var(--sm-border);border-radius:var(--sm-radius-md);padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.sm-drilldown-form input,.sm-drilldown-form select,.sm-drilldown-form textarea{width:100%;padding:7px 10px;border:1px solid var(--sm-border);border-radius:var(--sm-radius-sm);font-size:13px;font-family:var(--font);color:var(--sm-text-primary);background:var(--sm-bg-default);outline:none}.sm-drilldown-form input:focus,.sm-drilldown-form select:focus,.sm-drilldown-form textarea:focus{border-color:var(--sm-primary)}.sm-drilldown-form-fields{display:flex;flex-direction:column;gap:6px}.sm-drilldown-form-actions{display:flex;gap:12px;margin-top:16px}.sm-drilldown-form-actions .sm-btn-primary,.sm-drilldown-form-actions .sm-btn-secondary{flex:1;padding:10px 14px}:root[data-theme=dark] input[type=text],:root[data-theme=dark] input[type=email],:root[data-theme=dark] input[type=password],:root[data-theme=dark] input[type=number],:root[data-theme=dark] input[type=search],:root[data-theme=dark] input[type=tel],:root[data-theme=dark] input[type=url],:root[data-theme=dark] textarea,:root[data-theme=dark] select{background-color:#1a1a1a;color:#fff;border:1px solid #3A3A3A}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#a0a0a0}:root[data-theme=dark] input[type=text]:focus,:root[data-theme=dark] input[type=email]:focus,:root[data-theme=dark] input[type=password]:focus,:root[data-theme=dark] input[type=number]:focus,:root[data-theme=dark] input[type=search]:focus,:root[data-theme=dark] input[type=tel]:focus,:root[data-theme=dark] input[type=url]:focus,:root[data-theme=dark] textarea:focus,:root[data-theme=dark] select:focus{border-color:#10b981;outline:none}:root[data-theme=dark] .modal .btn:not(.secondary):not(.danger){background:#10b981;color:#fff}:root[data-theme=dark] .modal .btn:not(.secondary):not(.danger):hover{background:#059669}:root[data-theme=dark] input[type=date]{color-scheme:dark}:root{--color-bg-page: #F9FAFB;--color-bg-card: #FFFFFF;--color-bg-card-subtle: #F1EFE8;--color-bg-info-soft: #E6F1FB;--color-text-primary: #1A1A1A;--color-text-secondary: #6B6B68;--color-text-tertiary: #9C9B96;--color-text-info-dark: #0C447C;--color-text-on-card-subtle: #2C2C2A;--color-border-default: rgba(0, 0, 0, .12);--color-border-subtle: #E5E5E0;--color-border-button: rgba(0, 0, 0, .2);--color-border-info: #B5D4F4;--color-score-good: #639922;--color-success-bg: #EAF3DE;--color-success-text: #3B6D11;--color-success-secondary: #1D9E75;--color-warn-bg: #FAEEDA;--color-warn-text: #633806;--color-warn-accent: #EF9F27;--color-crit-bg: #FCEBEB;--color-crit-accent: #A32D2D;--color-action-primary: #7F77DD;--color-action-soft-bg: #EEEDFE;--color-action-soft-text: #3C3489;--color-chart-blue: #378ADD;--color-chart-green: #5DCAA5;--color-chart-neutral: #B4B2A9;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 8px;--radius-xl: 12px;--radius-pill: 999px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--line-height-base: 1.5;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 15px;--text-xl: 16px;--text-2xl: 17px;--text-3xl: 18px;--text-4xl: 20px;--text-5xl: 32px;--layout-max-width: 1100px;--layout-padding: 24px}:root[data-theme=dark]{--color-bg-page: #1A1A1A;--color-bg-card: #2A2A2A;--color-bg-card-subtle: #2D2D2D;--color-bg-info-soft: #1A2433;--color-text-primary: #FFFFFF;--color-text-secondary: #A0A0A0;--color-text-tertiary: #6B6B72;--color-text-info-dark: #93C5FD;--color-text-on-card-subtle: #D5D5D8;--color-border-default: rgba(255, 255, 255, .12);--color-border-subtle: #3A3A3A;--color-border-button: rgba(255, 255, 255, .18);--color-border-info: #1E3A5F;--color-score-good: #84CC16;--color-success-bg: #14291A;--color-success-text: #86EFAC;--color-success-secondary: #34D399;--color-warn-bg: #2A1F10;--color-warn-text: #FCD34D;--color-warn-accent: #F59E0B;--color-crit-bg: #2A1313;--color-crit-accent: #F87171;--color-action-primary: #A5A0EE;--color-action-soft-bg: #1F1B2E;--color-action-soft-text: #C7C2F5;--color-chart-blue: #60A5FA;--color-chart-green: #6EE7B7;--color-chart-neutral: #6B6B72}
