.tc-root{--tc-bg: #f5faf7;--tc-bg-elevated: #fafdfb;--tc-primary: #059669;--tc-primary-mid: #047857;--tc-primary-dark: #065f46;--tc-accent: #10b981;--tc-accent-bright: #059669;--tc-accent-soft: #dcfce7;--tc-sidebar-active: #047857;--tc-text: #14221a;--tc-muted: #5b6b63;--tc-link: #059669;--tc-card: #ffffff;--tc-card-tint: #f0fdf4;--tc-border: rgba(5, 150, 105, .16);--tc-shadow-sm: 0 1px 2px rgba(20, 42, 34, .06);--tc-shadow-md: 0 8px 24px rgba(20, 42, 34, .08);--tc-shadow-lg: 0 20px 50px rgba(20, 42, 34, .12);--tc-radius-lg: 20px;--tc-radius-xl: 24px;--tc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--tc-font-display: ui-sans-serif, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;display:flex;flex-direction:column;min-height:100%;background:var(--tc-bg);color:var(--tc-text);font-family:var(--tc-font);box-sizing:border-box;-webkit-font-smoothing:antialiased}.tc-root--subpage{min-height:100vh;padding-bottom:24px}.tc-screen{background:radial-gradient(1200px 400px at 80% -10%,rgba(45,85,64,.07),transparent 55%),radial-gradient(800px 300px at 0% 20%,rgba(201,162,39,.06),transparent 50%),linear-gradient(180deg,var(--tc-bg-elevated) 0%,var(--tc-bg) 100%);padding:16px;box-sizing:border-box;min-height:100%}.tc-frame{max-width:1280px;margin:0 auto;width:100%}.tc-header{margin-bottom:20px}.tc-title{font-family:var(--tc-font-display);font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px;color:var(--tc-text)}.tc-sub{font-size:15px;color:var(--tc-muted);margin:0;line-height:1.55;max-width:52ch}.tc-card{background:var(--tc-card);border:1px solid var(--tc-border);border-radius:var(--tc-radius-lg);padding:16px 18px;margin-bottom:14px;box-shadow:var(--tc-shadow-sm)}.tc-kicker{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tc-primary-mid);margin-bottom:10px}.tc-home-hero{position:relative;border-radius:var(--tc-radius-xl);padding:28px 28px 26px;margin-bottom:24px;overflow:hidden;background:linear-gradient(135deg,var(--tc-primary) 0%,var(--tc-primary-mid) 48%,#15803d 100%);color:#fff;box-shadow:var(--tc-shadow-lg)}.tc-home-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 100% 0%,rgba(201,162,39,.18),transparent 50%),repeating-linear-gradient(-12deg,transparent,transparent 40px,rgba(255,255,255,.03) 40px,rgba(255,255,255,.03) 41px);pointer-events:none}.tc-home-hero-inner{position:relative;z-index:1;max-width:640px}.tc-home-hero h1{font-family:var(--tc-font-display);font-size:clamp(26px,4vw,34px);font-weight:700;letter-spacing:-.03em;margin:0 0 10px;line-height:1.2}.tc-home-hero p{margin:0;font-size:15px;line-height:1.6;opacity:.92}.tc-home-hero-tagline{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:8px 14px;border-radius:999px;background:#ffffff1f;font-size:13px;font-weight:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tc-home-quick{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:24px}.tc-home-quick a{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;border-radius:var(--tc-radius-lg);border:1px solid var(--tc-border);background:var(--tc-card);text-decoration:none;color:inherit;box-shadow:var(--tc-shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s}.tc-home-quick a:hover{transform:translateY(-2px);box-shadow:var(--tc-shadow-md);border-color:#14532d24}.tc-home-quick-ico{font-size:22px;line-height:1}.tc-home-quick-title{font-weight:700;font-size:15px}.tc-home-quick-desc{font-size:12px;color:var(--tc-muted);line-height:1.4}.tc-home-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.tc-home-toolbar .tc-input{flex:1;min-width:200px;margin-bottom:0}.tc-growth-card{border-radius:var(--tc-radius-lg);border:1px solid var(--tc-border);background:linear-gradient(145deg,#fff,#faf9f6);padding:18px 20px;margin-bottom:20px;box-shadow:var(--tc-shadow-sm);border-left:4px solid var(--tc-accent)}.tc-growth-card .tc-growth-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tc-muted);margin-bottom:6px}.tc-growth-bar{height:10px;border-radius:999px;background:#14532d12;overflow:hidden;margin-top:12px}.tc-growth-bar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--tc-primary-mid),var(--tc-accent));transition:width .4s ease}.tc-featured-card{position:relative;border-radius:var(--tc-radius-xl);padding:22px 24px;margin-bottom:20px;text-decoration:none;color:inherit;display:block;border:1px solid rgba(201,162,39,.35);background:linear-gradient(160deg,#fffef9,#fff 55%,#f8f6f0);box-shadow:var(--tc-shadow-md);overflow:hidden}.tc-featured-card:before{content:"";position:absolute;top:0;right:0;width:120px;height:120px;background:radial-gradient(circle,rgba(201,162,39,.15),transparent 70%);pointer-events:none}.tc-featured-card-inner{position:relative;z-index:1}.tc-featured-card h2{font-family:var(--tc-font-display);font-size:20px;margin:10px 0 6px;font-weight:700}.tc-subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.tc-subject-tile{display:block;padding:18px 18px 16px;border-radius:var(--tc-radius-lg);border:1px solid var(--tc-border);background:var(--tc-card);text-decoration:none;color:inherit;box-shadow:var(--tc-shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}.tc-subject-tile:hover{transform:translateY(-3px);box-shadow:var(--tc-shadow-md);border-color:#14532d1f}.tc-subject-tile-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}.tc-subject-tile-name{font-weight:700;font-size:16px;line-height:1.35;font-family:var(--tc-font-display)}.tc-chip-cat{display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;background:#14532d12;color:var(--tc-primary-mid)}.tc-chip-cat.core{background:#c9a22726;color:#7a6220}.tc-empty-state{text-align:center;padding:40px 20px;color:var(--tc-muted);font-size:14px;border-radius:var(--tc-radius-lg);border:1px dashed var(--tc-border);background:#ffffff80}.tc-stat-pill{background:var(--tc-bg);border-radius:12px;padding:10px 8px;text-align:center;border:1px solid var(--tc-border)}.tc-btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:none;border-radius:8px;background:var(--tc-primary);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s}.tc-btn-primary:hover{background:var(--tc-primary-dark);box-shadow:0 2px 8px #14532d33}.tc-btn-primary:disabled{opacity:.55;cursor:not-allowed}.tc-btn-secondary{padding:8px 14px;border-radius:8px;border:1px solid var(--tc-primary);background:#fff;color:var(--tc-primary);cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.tc-btn-secondary:hover{background:var(--tc-accent-soft);border-color:var(--tc-accent-bright)}.tc-input,.tc-textarea{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid var(--tc-border);border-radius:12px;font-size:15px}.tc-textarea{min-height:100px;resize:vertical}.tc-err{color:#b91c1c;font-size:14px;margin:8px 0}.tc-ok{color:var(--tc-primary-dark);font-size:14px;margin:8px 0}.tc-muted{color:var(--tc-muted);font-size:13px}.tc-back{color:var(--tc-primary);font-size:14px;text-decoration:none;cursor:pointer;border:none;background:none;padding:0}.tc-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tc-pill{padding:8px 14px;border-radius:999px;border:1px solid var(--tc-border);background:#fff;font-size:14px;cursor:pointer;transition:all .2s ease}.tc-pill.active{border-color:var(--tc-primary);background:linear-gradient(135deg,var(--tc-primary),var(--tc-accent-bright));color:#fff;font-weight:700}.tc-list-item{display:block;padding:14px;border-bottom:1px solid var(--tc-border);text-decoration:none;color:inherit}.tc-list-item:last-child{border-bottom:none}.tc-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#14532d17;color:var(--tc-primary-mid)}.tc-grid-month{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;font-size:12px}.tc-day-cell{padding:8px 4px;border-radius:8px;cursor:pointer;border:1px solid transparent}.tc-day-cell:hover{background:#f3f4f6}.tc-day-cell.selected{border-color:var(--tc-primary);background:linear-gradient(135deg,var(--tc-primary),var(--tc-accent-bright));color:#fff;font-weight:700}.tc-day-cell.has-plan{font-weight:700}.identity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.identity-card{padding:16px;border-radius:16px;border:2px solid var(--tc-border);background:#fff;cursor:pointer;text-align:center}.identity-card:hover{border-color:var(--tc-primary)}.tc-app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--tc-bg)}.tc-top-nav{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px 16px;background:linear-gradient(100deg,#14532d,#166534 42%,#15803d);color:#fff;box-shadow:0 4px 24px #14532d38;border-bottom:3px solid var(--tc-accent);z-index:40}.tc-brand{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:2px}.tc-brand-title{font-size:20px;font-weight:700;letter-spacing:.02em}.tc-brand-sub{font-size:11px;opacity:.75;text-transform:uppercase;letter-spacing:.08em}.tc-top-nav-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}.tc-child-switcher{display:flex;align-items:center;gap:8px;background:#ffffff2e;border:1px solid rgba(255,255,255,.3);padding:8px 12px;border-radius:8px}.tc-child-switcher-label{font-size:12px;opacity:.95;font-weight:500;white-space:nowrap}.tc-child-select{min-width:120px;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.25);background:#fffffff2;color:#333;font-size:14px}.tc-top-search{min-width:180px;max-width:280px;padding:8px 12px;border-radius:6px;border:none;font-size:14px;background:#ffffff26;color:#fff}.tc-top-search::-moz-placeholder{color:#ffffffa6}.tc-top-search::placeholder{color:#ffffffa6}.tc-btn-nav-secondary{padding:8px 14px;border-radius:6px;border:none;background:#ffffff2e;color:#fff;font-size:14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.3);font-weight:600}.tc-btn-nav-secondary:hover{background:#ffffff40}.tc-layout-container{display:flex;flex:1;min-height:0}.tc-sidebar{width:248px;flex-shrink:0;background:linear-gradient(180deg,#fff,#fafbf9);box-shadow:4px 0 24px #142a220f;padding:20px 0 16px;border-right:1px solid var(--tc-border)}.tc-sidebar-nav-label{padding:0 20px 14px;margin:0 0 4px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--tc-muted)}.tc-sidebar-menu{list-style:none;margin:0;padding:0}.tc-sidebar-link{display:flex;align-items:center;gap:10px;padding:12px 20px;color:var(--tc-text);text-decoration:none;font-size:15px;transition:background .2s,color .2s;border-left:4px solid transparent}.tc-sidebar-link:hover{background:var(--tc-accent-soft)}.tc-sidebar-link.active{background:linear-gradient(90deg,var(--tc-primary-dark),var(--tc-primary));color:#fff;border-left-color:#fff;font-weight:700}.tc-sidebar-ico{font-size:18px;line-height:1;width:24px;text-align:center}.tc-main-content{flex:1;min-width:0;overflow-y:auto;padding:24px;box-sizing:border-box}.tc-page-header{margin-bottom:24px}.tc-page-title{font-family:var(--tc-font-display);font-size:clamp(22px,2.5vw,28px);font-weight:700;letter-spacing:-.02em;margin:0 0 8px;color:var(--tc-text)}.tc-page-desc{font-size:14px;color:var(--tc-muted);margin:0}.tc-page-desc a,.tc-inline-link{color:var(--tc-link);font-weight:600}.tc-page-desc a:hover,.tc-inline-link:hover{text-decoration:underline}.tc-prose{font-size:15px;line-height:1.75;color:var(--tc-text);max-width:52rem}.tc-prose h1{font-size:1.65rem;margin:0 0 .75rem;color:var(--tc-primary)}.tc-prose h2{font-size:1.2rem;margin:1.35rem 0 .65rem;color:var(--tc-primary-mid)}.tc-prose h3{font-size:1.05rem;margin:1.1rem 0 .45rem}.tc-prose p{margin:.65rem 0}.tc-prose ul,.tc-prose ol{margin:.45rem 0 .65rem;padding-left:1.35rem}.tc-prose li{margin:.25rem 0}.tc-prose blockquote{margin:1rem 0;padding:12px 14px;border-left:4px solid var(--tc-accent-bright);background:var(--tc-accent-soft);border-radius:0 10px 10px 0;color:var(--tc-text)}.tc-prose code{font-size:.88em;background:var(--tc-bg);padding:2px 7px;border-radius:5px;border:1px solid var(--tc-border)}.tc-prose strong{color:var(--tc-primary-dark)}.tc-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.tc-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-top:8px}.tc-course-card{border-radius:8px;overflow:hidden;border:1px solid var(--tc-border);background:var(--tc-card);box-shadow:0 2px 8px #0000000f;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.tc-course-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.tc-course-card-media{height:160px;position:relative;overflow:hidden;background:linear-gradient(145deg,#14532d,#166534,#22c55e)}.tc-course-card-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.tc-course-green-pro{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(165deg,#1e4d3a,#2d6b4f 40%,#3d8f6a);position:relative}.tc-course-green-pro:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.15;background-image:repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(255,255,255,.06) 12px,rgba(255,255,255,.06) 14px)}.tc-course-green-badge{position:relative;z-index:1;text-align:center;color:#fff}.tc-course-green-badge .emoji{font-size:36px;display:block;margin-bottom:6px}.tc-course-green-badge .name{font-size:16px;font-weight:700;letter-spacing:.05em}.tc-course-card-body{padding:16px;flex:1;display:flex;flex-direction:column}.tc-course-card-title{font-size:17px;font-weight:700;margin:0 0 8px;color:var(--tc-text)}.tc-course-card-meta{font-size:13px;color:var(--tc-muted);margin-bottom:12px;line-height:1.5}.tc-course-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tc-course-card-actions a{text-decoration:none}.tc-frame--wide{max-width:920px}.tc-hero-block{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;padding:20px 22px;border-radius:16px;background:linear-gradient(135deg,#14532d0f,#ffffffe6 48%,#dbeafe59);border:1px solid var(--tc-border)}.tc-hero-block--course{border-left:4px solid var(--tc-primary)}.tc-hero-block--compact{padding:16px 18px;margin-bottom:18px}.tc-course-guide-split-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid rgba(20,83,45,.2)}.tc-section-title--inline{margin:0}.tc-course-guide-section{display:flex;flex-direction:column;gap:14px}.tc-course-hole-pro{display:flex;border-radius:14px;overflow:hidden;border:1px solid var(--tc-border);background:var(--tc-card);box-shadow:0 2px 10px #0000000d}.tc-course-hole-pro--alt{background:linear-gradient(180deg,#fafbfc,#fff)}.tc-course-hole-pro-rail{width:5px;flex-shrink:0;background:linear-gradient(180deg,var(--tc-primary),#0d4d24)}.tc-course-hole-pro-inner{flex:1;padding:16px 18px;min-width:0}.tc-course-hole-pro-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.tc-course-hole-num{font-size:22px;font-weight:800;font-family:var(--tc-font-display, system-ui);color:var(--tc-primary);letter-spacing:-.02em}.tc-course-hole-badges{display:flex;flex-wrap:wrap;gap:8px}.tc-course-badge-par{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#14532d1f;color:var(--tc-primary)}.tc-course-badge-si{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--tc-accent-soft);color:var(--tc-primary-mid);font-weight:600}.tc-course-hole-tees--pro{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.tc-course-tee-cell--pro{padding:10px;background:var(--tc-accent-soft);border-radius:10px;border:1px solid var(--tc-border)}.tc-course-tee-label{display:block;font-size:11px;color:var(--tc-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.tc-course-tee-yards{font-size:16px;font-weight:700;color:var(--tc-text)}.tc-course-hole-notes{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 640px){.tc-course-hole-tees--pro{grid-template-columns:repeat(2,1fr)}.tc-course-hole-notes{grid-template-columns:1fr}}.tc-course-note-block{padding:10px 12px;border-radius:10px;background:#f9fafb;border:1px solid var(--tc-border)}.tc-course-note-block--hazard{border-left:3px solid #f59e0b}.tc-course-note-label{display:block;font-size:11px;font-weight:700;color:var(--tc-muted);margin-bottom:6px}.tc-course-note-text{margin:0;font-size:14px;line-height:1.55;color:var(--tc-text)}.tc-round-meta-card{margin-bottom:18px}.tc-round-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 18px}.tc-field{display:flex;flex-direction:column;gap:6px}.tc-field-label{font-size:12px;color:var(--tc-muted);font-weight:600}.tc-round-live-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.tc-stat-chip{font-size:13px;padding:8px 14px;border-radius:999px;background:#14532d1a;color:var(--tc-primary);font-weight:600}.tc-stat-chip--warn{background:#f59e0b26;color:#b45309}.tc-round-holes-list{display:flex;flex-direction:column;gap:12px}.tc-round-hole-card{border:1px solid var(--tc-border);border-radius:12px;padding:14px 16px;background:var(--tc-card)}.tc-round-hole-card-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tc-round-hole-no{font-size:18px;font-weight:800;color:var(--tc-primary)}.tc-round-par{font-size:13px;color:var(--tc-muted)}.tc-round-score-tag{margin-left:auto;font-size:12px;font-weight:700;padding:2px 8px;border-radius:6px;background:#eef2ff;color:#4338ca}.tc-round-hole-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}@media (max-width: 560px){.tc-round-hole-inputs{grid-template-columns:1fr}}.tc-round-inp{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--tc-muted);font-weight:600}.tc-round-inp .tc-input{width:100%}.tc-round-hole-metrics{display:flex;flex-wrap:wrap;gap:6px}.tc-pill{font-size:11px;padding:3px 8px;border-radius:6px;font-weight:600}.tc-pill--ok{background:#10b98133;color:#047857}.tc-pill--bad{background:#ef444426;color:#b91c1c}.tc-pill--muted{background:#f3f4f6;color:#6b7280}.tc-pill--warn{background:#f59e0b33;color:#b45309}.tc-round-summary-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:20px}.tc-round-summary-item{padding:12px 14px;border-radius:12px;border:1px solid var(--tc-border);background:linear-gradient(180deg,#fff,#f9fafb)}.tc-round-summary-label{display:block;font-size:11px;color:var(--tc-muted);margin-bottom:4px}.tc-round-summary-item strong{font-size:20px;display:block;color:var(--tc-text)}.tc-round-detail-table-wrap{overflow:auto;border:1px solid var(--tc-border);border-radius:12px;background:var(--tc-card)}.tc-round-detail-table{width:100%;border-collapse:collapse;font-size:14px}.tc-round-detail-table th{text-align:left;padding:10px 12px;background:#f3f4f6;font-weight:700;font-size:12px;color:var(--tc-muted);border-bottom:1px solid var(--tc-border)}.tc-round-detail-table td{padding:10px 12px;border-bottom:1px solid var(--tc-border);vertical-align:middle}.tc-round-detail-chips{white-space:normal}.tc-stats-section{margin-bottom:28px}.tc-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:18px}.tc-kpi-card{padding:16px 18px;border-radius:14px;border:1px solid var(--tc-border);background:linear-gradient(145deg,#fff,#f0fdf4)}.tc-kpi-card--amber{background:linear-gradient(145deg,#fff,#fffbeb)}.tc-kpi-label{display:block;font-size:12px;color:var(--tc-muted);margin-bottom:6px}.tc-kpi-value{font-size:26px;display:block;color:var(--tc-primary);font-weight:800}.tc-kpi-card--amber .tc-kpi-value{color:#b45309}.tc-kpi-hint{font-size:12px;color:var(--tc-muted)}.tc-viz-bars{margin:16px 0}.tc-viz-bars-inner{display:flex;align-items:flex-end;gap:6px;height:120px;padding:8px 0;border-bottom:1px solid var(--tc-border)}.tc-viz-bar-wrap{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.tc-viz-bar{width:100%;max-width:28px;margin:0 auto;background:linear-gradient(180deg,var(--tc-primary),#0d4d24);border-radius:4px 4px 0 0;min-height:4px;transition:height .2s}.tc-viz-bar-date{font-size:9px;color:var(--tc-muted);margin-top:4px;white-space:nowrap}.tc-inline-link{color:var(--tc-primary);font-weight:600}.tc-section-title{font-size:18px;font-weight:700;margin:32px 0 12px;color:var(--tc-text)}.tc-round-list{background:var(--tc-card);border-radius:8px;border:1px solid var(--tc-border);overflow:hidden;box-shadow:0 2px 8px #0000000f}.tc-tab-bar{display:flex;gap:12px;margin-bottom:24px}.tc-tab-btn{padding:12px 24px;border-radius:12px;border:1px solid var(--tc-border);background:#fff;cursor:pointer;font-size:16px;color:var(--tc-text);font-weight:500;transition:all .2s ease}.tc-tab-btn:hover{border-color:var(--tc-primary);background:var(--tc-accent-soft)}.tc-tab-btn.active{border-color:var(--tc-primary);background:linear-gradient(135deg,var(--tc-primary),var(--tc-accent-bright));color:#fff;font-weight:700}.tc-shot-section{margin-top:8px}.tc-shot-tabs{display:flex;gap:8px;margin-bottom:16px}.tc-shot-tab{padding:8px 16px;border-radius:8px;border:1px solid var(--tc-border);background:#fff;cursor:pointer;font-size:14px;transition:all .2s ease}.tc-shot-tab.active{border-color:var(--tc-primary);background:linear-gradient(135deg,var(--tc-primary),var(--tc-accent-bright));color:#fff;font-weight:700}.tc-kids-comparison{display:flex;gap:24px;flex-wrap:wrap}.tc-kid-panel{flex:1;min-width:280px;border-radius:8px;background:var(--tc-card);padding:20px;border:1px solid var(--tc-border);border-top:4px solid var(--tc-accent);box-shadow:0 2px 8px #0000000f}.tc-kid-panel h4{margin:0 0 12px;font-size:18px}.tc-dash-progress{width:100%;height:8px;background:#eee;border-radius:4px;overflow:hidden;margin:8px 0 16px}.tc-dash-progress-bar{height:100%;border-radius:4px;background:var(--tc-primary);transition:width .3s}.tc-trend-row{display:flex;gap:8px;align-items:flex-end;min-height:120px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px}.tc-trend-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.tc-trend-bar-wrap{width:100%;max-width:48px;height:80px;display:flex;align-items:flex-end;justify-content:center}.tc-trend-bar{width:70%;min-height:6px;background:var(--tc-primary);border-radius:4px 4px 0 0}.tc-trend-label{font-size:11px;color:var(--tc-muted)}.tc-trend-val{font-size:12px;font-weight:600}.tc-data-table{width:100%;border-collapse:collapse;font-size:13px}.tc-data-table th,.tc-data-table td{padding:10px 8px;text-align:center;border-bottom:1px solid var(--tc-border)}.tc-data-table th{background:#f8f9fa;font-weight:600}.tc-data-table .left{text-align:left}.tc-status-good{color:#059669;font-weight:600}.tc-status-warn{color:#d97706;font-weight:600}.tc-status-risk{color:#dc2626;font-weight:600}.tc-status-na{color:var(--tc-muted)}.tc-chip-ok{display:inline-block;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600;background:#0596691f;color:#047857}.tc-chip-warn{background:#d977061f;color:#b45309}.tc-chip-risk{background:#dc26261a;color:#b91c1c}.tc-chip-na{background:#f3f4f6;color:var(--tc-muted)}.tc-table-input{width:100%;max-width:72px;padding:6px 8px;border:1px solid var(--tc-border);border-radius:6px;font-size:13px;box-sizing:border-box}@media (max-width: 992px){.tc-sidebar{width:64px}.tc-sidebar-txt{display:none}.tc-sidebar-link{justify-content:center;padding:12px 8px}.tc-top-search,.tc-brand-sub{display:none}}@media (max-width: 640px){.tc-top-nav{flex-direction:column;align-items:flex-start}.tc-layout-container{flex-direction:column}.tc-sidebar{width:100%;display:flex;overflow-x:auto;padding:8px 0;box-shadow:0 2px 8px #0000000f}.tc-sidebar-menu{display:flex;flex-direction:row;gap:4px;padding:0 8px}.tc-sidebar-menu li{flex-shrink:0}.tc-sidebar-link{border-left:none;border-bottom:3px solid transparent;border-radius:8px;white-space:nowrap}.tc-sidebar-link.active{border-left:none;border-bottom-color:var(--tc-accent);background:var(--tc-primary);color:#fff;font-weight:700}}.identity-card .name{font-weight:600;margin-bottom:4px}.identity-card .role{font-size:12px;color:var(--tc-muted)}.tc-form-group{margin-bottom:20px}.tc-label{display:block;font-size:15px;font-weight:600;color:var(--tc-text);margin-bottom:8px}.tc-label-sm{display:block;font-size:12px;font-weight:600;color:var(--tc-muted);margin-bottom:4px}.tc-input-sm{padding:6px 8px;font-size:14px}.tc-btn-sm{padding:4px 10px;font-size:13px}.tc-add-hole-bar{margin-bottom:16px}.tc-course-edit-list{display:flex;flex-direction:column;gap:16px}.tc-course-edit-hole{border:1px solid var(--tc-border);border-radius:14px;padding:16px;background:var(--tc-card);box-shadow:0 2px 8px #0000000a}.tc-course-edit-hole-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.tc-course-edit-hole-title{margin:0;font-size:16px;font-weight:700;color:var(--tc-primary)}.tc-course-edit-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.tc-course-edit-row4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.tc-course-edit-row2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.tc-course-edit-cell{display:flex;flex-direction:column}.tc-course-edit-cell-full{grid-column:1 / -1}@media (max-width: 640px){.tc-course-edit-row3{grid-template-columns:repeat(3,1fr)}.tc-course-edit-row4{grid-template-columns:repeat(2,1fr)}.tc-course-edit-row2{grid-template-columns:1fr}}.tc-course-edit-courses{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;border:1px solid var(--tc-border);border-radius:10px;background:#fafbfc}.tc-course-course-tag{display:flex;align-items:center;gap:4px;padding:4px 4px 4px 8px;border:1px solid var(--tc-border);border-radius:8px;background:#fff;cursor:pointer}.tc-course-course-tag.active{border-color:var(--tc-primary);background:var(--tc-accent-soft)}.tc-course-course-name{border:none;background:transparent;font-size:14px;font-weight:500;color:var(--tc-text);width:80px;padding:2px 0}.tc-course-course-tag.active .tc-course-course-name{color:var(--tc-primary);font-weight:600}.tc-course-course-del{width:24px;height:24px;border:none;background:#ef44441a;color:#b91c1c;border-radius:4px;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.tc-course-course-del:hover{background:#ef444433}.central-soe-page{flex:1;display:flex;flex-direction:column;min-height:0;background:#f4f6fb;color:#111827}.central-soe-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:16px 24px;background:linear-gradient(135deg,#7f1d1d,#450a0a 55%,#1c1917);color:#fef2f2}.central-soe-header-left{display:flex;align-items:flex-start;gap:14px}.central-soe-logo{width:48px;height:48px;border-radius:12px;background:linear-gradient(145deg,#ef4444,#b91c1c,#7f1d1d);box-shadow:0 4px 14px #b91c1c73;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#fff}.central-soe-logo-star{line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.35)}.central-soe-title{margin:0;font-size:22px;font-weight:700}.central-soe-subtitle{margin:6px 0 0;font-size:13px;opacity:.9;max-width:720px;line-height:1.5}.central-soe-stat-pill{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:999px;background:#ffffff26;font-size:12px}.central-soe-link-home{color:#fecaca;font-size:14px;text-decoration:none}.central-soe-link-home:hover{text-decoration:underline;color:#fff}.central-soe-guest-banner{padding:10px 24px;background:#fef3c7;color:#92400e;font-size:13px}.central-soe-body{display:flex;flex:1;min-height:0;overflow:hidden}.central-soe-sidebar{width:280px;flex-shrink:0;background:#fff;border-right:1px solid #e5e7eb;overflow-y:auto;padding:16px}.central-soe-sidebar-title{margin:16px 0 10px;font-size:11px;font-weight:800;color:#6b7280;letter-spacing:.05em;text-transform:uppercase}.central-soe-sidebar-title:first-child{margin-top:0}.central-soe-cat-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;margin-bottom:6px;border:1px solid #e5e7eb;border-left:4px solid #cbd5e1;border-radius:8px;background:#fff;font-size:14px;color:#374151;cursor:pointer;text-align:left}.central-soe-cat-btn:hover{background:#f9fafb}.central-soe-cat-btn.active{background:#b91c1c14;border-color:#fecaca;color:#991b1b;font-weight:600}.central-soe-cat-count{font-size:12px;color:#9ca3af}.central-soe-sources{display:flex;flex-direction:column;gap:8px}.central-soe-source-link{font-size:13px;color:#1a56db;text-decoration:none;line-height:1.4}.central-soe-source-link:hover{text-decoration:underline}.central-soe-disclaimer{margin:8px 0 0;font-size:11px;color:#9ca3af;line-height:1.45}.central-soe-main{flex:1;overflow-y:auto;padding:20px 24px 40px}.central-soe-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.central-soe-search{flex:1;min-width:200px;padding:10px 14px;border:1px solid #d1d5db;border-radius:10px;font-size:14px}.central-soe-search:focus{outline:none;border-color:#b91c1c;box-shadow:0 0 0 2px #b91c1c33}.central-soe-btn-search{padding:10px 20px;background:#b91c1c;color:#fff;border:none;border-radius:10px;font-size:14px;cursor:pointer}.central-soe-btn-search:hover{background:#991b1b}.central-soe-error{padding:12px;background:#fef2f2;color:#b91c1c;border-radius:8px;margin-bottom:12px}.central-soe-loading{padding:40px;text-align:center;color:#6b7280}.central-soe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.central-soe-card{background:#fff;border-radius:12px;padding:16px;border-left:4px solid #1a56db;box-shadow:0 4px 6px -1px #0000000f;cursor:pointer;transition:box-shadow .2s,transform .15s}.central-soe-card:hover{box-shadow:0 10px 25px -5px #0000001a;transform:translateY(-2px)}.central-soe-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.central-soe-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600}.central-soe-subcat{font-size:12px;color:#9ca3af}.central-soe-card-title{margin:0 0 4px;font-size:16px;font-weight:700;line-height:1.35}.central-soe-card-short{margin:0 0 8px;font-size:13px;color:#6b7280}.central-soe-card-desc{margin:0;font-size:13px;color:#4b5563;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.central-soe-card-foot{margin-top:12px;padding-top:10px;border-top:1px solid #f3f4f6;font-size:12px;color:#6b7280;display:flex;flex-direction:column;gap:4px}.central-soe-tags{color:#9ca3af}.central-soe-empty{text-align:center;padding:48px 16px;color:#9ca3af}.central-soe-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}.central-soe-pagination button{padding:8px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer}.central-soe-pagination button:disabled{opacity:.4;cursor:not-allowed}.central-soe-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:500;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;overflow-y:auto}.central-soe-modal{width:100%;max-width:720px;background:#fff;border-radius:14px;box-shadow:0 25px 50px -12px #00000040;max-height:min(90vh,900px);overflow-y:auto}.central-soe-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;z-index:1}.central-soe-modal-head h2{margin:0;font-size:18px;line-height:1.35}.central-soe-modal-close{border:none;background:#f3f4f6;width:36px;height:36px;border-radius:8px;font-size:22px;line-height:1;cursor:pointer;color:#111827}.central-soe-modal-close:hover{background:#e5e7eb}.central-soe-detail{padding:16px 20px 28px;font-size:14px;line-height:1.6;color:#374151}.central-soe-detail-short{margin:0 0 8px;color:#6b7280}.central-soe-detail-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.central-soe-detail section{margin-bottom:18px}.central-soe-detail h4{margin:0 0 8px;font-size:13px;font-weight:700;color:#111827}.central-soe-highlight{background:#f0fdf4;border:1px solid #bbf7d0;padding:12px;border-radius:8px;margin:0}.central-soe-leaders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.central-soe-leaders-grid div{background:#f9fafb;padding:10px;border-radius:8px}.central-soe-leaders-grid span{display:block;font-size:11px;color:#9ca3af;margin-bottom:4px}.central-soe-leaders-more{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.central-soe-chip{display:inline-block;padding:4px 10px;background:#f3f4f6;border-radius:999px;font-size:12px;color:#4b5563}.central-soe-chip-row{display:flex;flex-wrap:wrap;gap:8px}.central-soe-list{margin:0;padding-left:18px}.central-soe-website{margin-top:8px}.central-soe-website a{color:#b91c1c}.central-soe-main-tabs{display:flex;gap:0;padding:0 24px;background:#fff;border-bottom:1px solid #e5e7eb}.central-soe-main-tabs button{padding:12px 20px;font-size:14px;font-weight:600;border:none;background:transparent;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.central-soe-main-tabs button:hover{color:#991b1b}.central-soe-main-tabs button.active{color:#b91c1c;border-bottom-color:#b91c1c}.central-soe-map-wrap,.central-soe-enablement-outer{flex:1;overflow-y:auto;padding:0 24px 32px;background:#fef2f2}.central-soe-chain-pill{display:inline-block;margin-left:6px;padding:1px 8px;font-size:11px;font-weight:600;border-radius:999px;background:#b91c1c1f;color:#991b1b}.central-soe-chain-section{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:12px 14px}.central-soe-chain-title{font-weight:700;color:#9a3412;margin:0 0 10px}.central-soe-chain-seg{margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed #fdba74}.central-soe-chain-seg:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.central-soe-chain-ind-link{display:inline-block;margin-left:8px;font-size:12px;color:#b91c1c}.central-soe-chain-note{font-size:12px;color:#78716c;margin:8px 0 0}.central-soe-ilink-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.central-soe-ilink{display:inline-block;padding:6px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:13px;color:#991b1b;text-decoration:none;font-weight:600}.central-soe-ilink:hover{background:#fee2e2}.central-soe-leader-chips{display:flex;flex-wrap:wrap;gap:8px}.central-soe-leader-chip{display:inline-flex;flex-direction:column;align-items:flex-start;padding:8px 12px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.central-soe-leader-chip:hover{border-color:#f87171;box-shadow:0 2px 8px #b91c1c1f}.central-soe-leader-chip-role{font-size:11px;color:#9ca3af}.central-soe-leader-chip-name{font-size:15px;font-weight:700;color:#991b1b}.central-soe-listed-section h4{margin-top:4px}.central-soe-listed-hint{font-size:12px;color:#78716c;margin:0 0 10px}.central-soe-listed-ul{list-style:none;margin:0;padding:0}.central-soe-listed-li{margin-bottom:8px}.central-soe-listed-row{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa;cursor:pointer;text-align:left;font-size:13px}.central-soe-listed-row:hover{border-color:#fecaca;background:#fff}.central-soe-listed-row.open{border-color:#b91c1c;background:#fff}.central-soe-listed-text{flex:1}.central-soe-listed-badge{font-size:11px;padding:2px 8px;border-radius:6px;background:#fee2e2;color:#991b1b;font-weight:600}.central-soe-listed-badge--hk{background:#e0e7ff;color:#3730a3}.central-soe-listed-chev{color:#9ca3af;font-size:12px}.central-soe-listed-body{padding:12px 12px 4px;border:1px solid #f3f4f6;border-top:none;border-radius:0 0 10px 10px;background:#fff}.central-soe-listed-loading,.central-soe-listed-muted{font-size:13px;color:#6b7280}.central-soe-listed-err{color:#b91c1c;font-size:13px}.central-soe-quote-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;font-size:13px}.central-soe-quote-grid>div span{display:block;font-size:11px;color:#9ca3af}.central-soe-quote-grid .up{color:#dc2626}.central-soe-quote-grid .down{color:#16a34a}.central-soe-quote-full{grid-column:1 / -1}.central-soe-quote-full a{color:#b91c1c;font-size:13px}.central-soe-lm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:600;display:flex;align-items:center;justify-content:center;padding:24px}.central-soe-lm{width:100%;max-width:480px;max-height:min(90vh,720px);overflow-y:auto;background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 20px 50px #0003}.central-soe-lm-photo-wrap{margin:0 0 12px;text-align:center}.central-soe-lm-photo{max-width:100%;max-height:200px;border-radius:8px;-o-object-fit:contain;object-fit:contain;border:1px solid #e5e7eb}.central-soe-lm-bio{font-size:14px;line-height:1.65;color:#374151;white-space:pre-wrap;margin:0 0 14px}.central-soe-lm-empty{font-size:13px;color:#6b7280;line-height:1.55;margin:0 0 14px}.central-soe-lm-code{display:inline;font-size:12px;padding:2px 6px;background:#f3f4f6;border-radius:4px;word-break:break-all}.central-soe-lm-source-line{font-size:12px;color:#78716c;margin:0 0 14px;line-height:1.5}.central-soe-lm-source-label{display:block;font-weight:700;color:#991b1b;margin-bottom:4px}.central-soe-lm-updated{color:#9ca3af}.central-soe-lm-head{position:relative;margin-bottom:10px}.central-soe-lm-head h3{margin:0 0 4px;font-size:18px;color:#111827}.central-soe-lm-role{font-size:12px;color:#9ca3af}.central-soe-lm-x{position:absolute;right:0;top:0;width:32px;height:32px;border:none;border-radius:8px;background:#f3f4f6;cursor:pointer;font-size:20px;line-height:1}.central-soe-lm-fetch-err{margin:0 0 10px;font-size:13px;color:#b91c1c;line-height:1.45}.central-soe-lm-fetch-row{margin-bottom:12px}.central-soe-lm-actions{display:flex;flex-direction:column;gap:8px}.central-soe-lm-btn{display:block;text-align:center;padding:10px 14px;border-radius:8px;background:#b91c1c;color:#fff!important;text-decoration:none;font-size:14px;font-weight:600}.central-soe-lm-btn--outline{background:#fff;color:#991b1b!important;border:1px solid #fecaca}.central-soe-map-panel{max-width:960px;margin:0 auto;padding:20px 0 40px}.central-soe-map-intro{margin-bottom:20px}.central-soe-map-h2{margin:0 0 8px;font-size:20px;color:#7f1d1d}.central-soe-map-ref{margin:0;font-size:13px;color:#57534e;line-height:1.55}.central-soe-map-layers{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:24px}.central-soe-map-layer-card{background:#fff;border:1px solid #fecaca;border-radius:10px;padding:10px 12px;font-size:12px;color:#57534e}.central-soe-map-layer-card strong{display:block;font-size:13px;color:#991b1b;margin-bottom:4px}.central-soe-map-h3{margin:0 0 10px;font-size:15px;color:#44403c}.central-soe-map-pill-row{display:flex;flex-wrap:wrap;gap:10px}.central-soe-map-pill{display:flex;flex-direction:column;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #fecaca;text-decoration:none;color:inherit;min-width:140px;transition:box-shadow .2s}.central-soe-map-pill:hover{box-shadow:0 6px 20px #b91c1c1f;border-color:#f87171}.central-soe-map-pill-main{font-weight:700;color:#991b1b;font-size:15px}.central-soe-map-pill-sub{font-size:11px;color:#78716c;margin-top:4px}.central-soe-map-diagram{margin:16px 0 20px;background:#fff;border-radius:12px;border:1px solid #fecaca;overflow:hidden}.central-soe-map-svg{width:100%;height:auto;display:block}.central-soe-map-edge-list{list-style:none;margin:0;padding:0}.central-soe-map-edge-item{display:grid;grid-template-columns:1fr auto 1.2fr;gap:12px;align-items:start;padding:12px 14px;margin-bottom:8px;background:#fff;border-radius:10px;border:1px solid #e7e5e4;font-size:13px}@media (max-width: 720px){.central-soe-map-edge-item{grid-template-columns:1fr}}.central-soe-map-edge-from a{color:#0e7490;font-weight:600}.central-soe-map-edge-mid{text-align:center;min-width:100px}.central-soe-map-edge-kind{display:block;font-size:10px;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}.central-soe-map-edge-label{display:block;color:#57534e;margin-top:2px}.central-soe-map-soe-link{font-weight:700;color:#b91c1c!important;text-decoration:none}.central-soe-map-soe-link:hover{text-decoration:underline}.central-soe-map-soe-role{display:block;font-size:11px;color:#9ca3af;font-weight:400;margin-top:2px}.central-soe-map-footnote{font-size:12px;color:#78716c;line-height:1.55;margin-top:20px}.central-soe-map-footnote a{color:#b91c1c}.central-soe-map-loading,.central-soe-map-error{padding:40px;text-align:center;color:#6b7280}.central-soe-map-error{color:#b91c1c}.central-soe-map-lens{margin:0 0 22px;padding:16px 18px;border-left:4px solid #b91c1c;background:#fffbeb;border-radius:0 10px 10px 0;font-size:14px;color:#44403c;line-height:1.65}.central-soe-map-lens p{margin:0}.central-soe-map-section{margin-bottom:22px}.central-soe-map-needs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.central-soe-map-need-card{background:#fff;border:1px solid #fecaca;border-radius:10px;padding:12px 14px;font-size:13px;color:#57534e;line-height:1.5}.central-soe-map-need-card strong{display:block;font-size:14px;color:#991b1b;margin-bottom:6px}.central-soe-map-need-card p{margin:0}.central-soe-map-dim-list{margin:0;padding:0 0 0 18px;color:#57534e;font-size:13px;line-height:1.55}.central-soe-map-dim-list li{margin-bottom:8px}.central-soe-map-dim-list strong{color:#44403c;display:block;margin-bottom:2px}.central-soe-map-ind-link{color:#0e7490!important;font-weight:600;text-decoration:none}.central-soe-map-ind-link:hover{text-decoration:underline}.central-soe-map-node-strong{color:#1c1917}.central-soe-map-node-missing{color:#9ca3af}.central-soe-map-panel--compact{padding-bottom:28px}.central-soe-map-building{margin:0 0 20px;padding:12px 16px;text-align:center;font-size:14px;font-weight:600;color:#92400e;background:#fffbeb;border:1px dashed #fcd34d;border-radius:10px}.central-soe-lm--wide{max-width:640px}.central-soe-lm-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.central-soe-lm-tag{font-size:12px;padding:3px 10px;border-radius:999px;background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.central-soe-lm-subh{margin:0 0 6px;font-size:14px;color:#374151}.central-soe-lm-hint{margin:0 0 10px;font-size:12px;color:#9ca3af;line-height:1.45}.central-soe-lm-label{display:block;font-size:12px;font-weight:600;color:#6b7280;margin-bottom:4px}.central-soe-lm-textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;line-height:1.55;font-family:inherit;resize:vertical}.central-soe-lm-textarea--sm{min-height:52px}.central-soe-lm-input{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px}.central-soe-lm-check-row{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.central-soe-lm-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#4b5563;cursor:pointer}.central-soe-lm-check input{margin-top:3px}.central-soe-lm-meta-details{margin-bottom:14px;font-size:13px}.central-soe-lm-meta-details summary{cursor:pointer;color:#b91c1c;font-weight:600;margin-bottom:8px}.central-soe-lm-save-row{margin-bottom:14px}.central-soe-lm-career-readonly{margin:0;padding-left:18px;font-size:13px;color:#4b5563;line-height:1.55}.central-soe-lm-career-notes-txt{white-space:pre-wrap}.central-soe-lm-muted{color:#9ca3af;list-style:none;margin-left:-18px}.central-soe-leader-chip-tags{font-size:10px;color:#b91c1c;margin-left:6px;opacity:.9}.central-soe-kd-hint{font-size:13px;color:#6b7280;margin:0 0 12px;line-height:1.5}.central-soe-kd-list{list-style:none;margin:0 0 16px;padding:0}.central-soe-kd-dept{border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;margin-bottom:10px;background:#fafafa}.central-soe-kd-dept-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.central-soe-kd-dept-head strong{font-size:15px;color:#111827}.central-soe-kd-remove{font-size:12px;border:none;background:transparent;color:#b91c1c;cursor:pointer;text-decoration:underline}.central-soe-kd-records{list-style:none;margin:0;padding:0}.central-soe-kd-rec{padding:8px 0;border-top:1px solid #e5e7eb;font-size:13px}.central-soe-kd-rec:first-of-type{border-top:none;padding-top:0}.central-soe-kd-rec-meta{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:12px;margin-bottom:4px}.central-soe-kd-rec-type{padding:1px 8px;border-radius:4px;background:#fef2f2;color:#991b1b;font-weight:600}.central-soe-kd-rec-note{margin:0;color:#374151;white-space:pre-wrap;line-height:1.5}.central-soe-kd-rec-del{margin-top:6px;font-size:12px;border:none;background:none;color:#9ca3af;cursor:pointer}.central-soe-kd-rec-del:hover{color:#b91c1c}.central-soe-kd-muted{font-size:13px;color:#9ca3af;margin:0 0 8px}.central-soe-kd-add-dept{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}.central-soe-kd-add-dept input{flex:1;min-width:160px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px}.central-soe-kd-add-rec{margin-top:10px;padding-top:10px;border-top:1px dashed #e5e7eb}.central-soe-kd-add-label{display:block;font-size:12px;color:#9ca3af;margin-bottom:6px}.central-soe-kd-add-row{display:flex;gap:8px;margin-bottom:6px;flex-wrap:wrap}.central-soe-kd-add-row input,.central-soe-kd-add-row select{padding:6px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px}.central-soe-kd-add-rec textarea{width:100%;box-sizing:border-box;margin-bottom:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-family:inherit}.central-soe-kd-saving{font-size:12px;color:#9ca3af;margin:8px 0 0}.central-soe-enablement-wrap{max-width:1100px;margin:0 auto}.central-soe-enablement-intro{margin-bottom:20px}.central-soe-enablement-h2{margin:0 0 8px;font-size:20px;color:#111827}.central-soe-enablement-lead{margin:0;font-size:14px;color:#4b5563;line-height:1.55}.central-soe-enablement-note{color:#9ca3af;font-size:13px}.central-soe-enablement-subtabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.central-soe-enablement-subtabs button{padding:8px 14px;font-size:13px;font-weight:600;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#4b5563;cursor:pointer}.central-soe-enablement-subtabs button:hover{border-color:#fecaca;color:#991b1b}.central-soe-enablement-subtabs button.active{background:#fef2f2;border-color:#b91c1c;color:#b91c1c}.central-soe-enablement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.central-soe-enablement-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0000000f}.central-soe-enablement-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.central-soe-enablement-card-title{margin:0;font-size:15px;font-weight:700;color:#111827;line-height:1.35}.central-soe-enablement-pill{flex-shrink:0;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700}.central-soe-enablement-card-sub{margin:0 0 12px;font-size:12px;color:#6b7280;line-height:1.45}.central-soe-enablement-block{margin-bottom:10px}.central-soe-enablement-label{display:block;font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.central-soe-enablement-tags{display:flex;flex-wrap:wrap;gap:6px}.central-soe-enablement-tag{font-size:11px;padding:2px 8px;border-radius:6px;background:#f3f4f6;color:#374151}.central-soe-enablement-tags--alert .central-soe-enablement-tag--alert{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.central-soe-enablement-partners{margin:0;font-size:13px;color:#374151;line-height:1.45}.central-soe-enablement-open{margin-top:12px;width:100%;padding:8px 12px;font-size:13px;font-weight:600;border:1px solid #b91c1c;border-radius:8px;background:#fff;color:#b91c1c;cursor:pointer}.central-soe-enablement-open:hover{background:#fef2f2}.central-soe-enablement-empty{color:#6b7280;font-size:14px;grid-column:1 / -1}.central-soe-enablement-area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:16px}.central-soe-enablement-area-btn{text-align:left;padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;transition:box-shadow .15s ease}.central-soe-enablement-area-btn:hover{border-color:#93c5fd;box-shadow:0 2px 8px #3b82f61f}.central-soe-enablement-area-btn.active{border-color:#3b82f6;background:#eff6ff}.central-soe-enablement-area-name{display:block;font-weight:700;font-size:13px;color:#111827}.central-soe-enablement-urgency{display:inline-block;margin-top:6px;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:700}.central-soe-enablement-urgency--max{background:#fee2e2;color:#991b1b}.central-soe-enablement-urgency--high{background:#fef3c7;color:#92400e}.central-soe-enablement-urgency--mid{background:#e5e7eb;color:#4b5563}.central-soe-enablement-area-cat{display:block;margin-top:4px;font-size:11px;color:#9ca3af}.central-soe-enablement-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 20px}.central-soe-enablement-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.central-soe-enablement-panel-head h3{margin:0;font-size:16px;color:#111827}.central-soe-enablement-clear{font-size:13px;border:none;background:transparent;color:#6b7280;cursor:pointer;text-decoration:underline}.central-soe-enablement-related{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.central-soe-enablement-related-card{text-align:left;padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa;cursor:pointer}.central-soe-enablement-related-card:hover{border-color:#b91c1c;background:#fff}.central-soe-enablement-related-name{display:block;font-weight:700;font-size:14px;color:#111827}.central-soe-enablement-related-meta{font-size:11px;color:#9ca3af}.central-soe-enablement-related-pos{margin:6px 0 8px;font-size:12px;color:#6b7280;line-height:1.4}.central-soe-enablement-scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.central-soe-enablement-sc-btn{text-align:left;padding:14px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer}.central-soe-enablement-sc-btn:hover{border-color:#86efac}.central-soe-enablement-sc-btn.active{border-color:#16a34a;background:#f0fdf4}.central-soe-enablement-sc-name{display:block;font-weight:700;font-size:14px;color:#111827}.central-soe-enablement-sc-desc{display:block;margin-top:6px;font-size:12px;color:#6b7280;line-height:1.4}.central-soe-enablement-strategy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.central-soe-enablement-strategy-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 18px}.central-soe-enablement-strategy-card h3{margin:0 0 8px;font-size:15px;color:#111827}.central-soe-enablement-strategy-card p{margin:0 0 12px;font-size:13px;color:#6b7280;line-height:1.5}.central-soe-enablement-strategy-card ol{margin:0;padding-left:18px;font-size:13px;color:#374151;line-height:1.55}.central-soe-chain-pill--lead{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.central-soe-card-tech{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}.central-soe-card-tech-tag{font-size:11px;padding:2px 8px;border-radius:6px;background:#f3f4f6;color:#4b5563}.central-soe-enablement-detail{padding:12px 0;border-top:1px dashed #e5e7eb;margin-top:4px}.central-soe-enablement-detail h4{margin:0 0 10px;font-size:14px;color:#b91c1c}.central-soe-enablement-detail>p{margin:0 0 10px;font-size:14px;line-height:1.55}.central-soe-enablement-detail>div{margin-bottom:12px}.central-soe-enablement-detail strong{display:block;margin-bottom:6px;font-size:13px;color:#374151}.central-soe-chip--alert{background:#fef2f2!important;color:#991b1b!important;border:1px solid #fecaca}.central-soe-enablement-opp-list{margin:6px 0 0;padding-left:18px;font-size:14px;color:#374151;line-height:1.55}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;height:100%;min-height:100%;background:#f1f5f9;color:#334155}#root{min-height:100%;height:100%;display:flex;flex-direction:column}.app{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;background:#f8fafc}@supports (height: 100dvh){#root{height:100dvh;min-height:100dvh}}.app-header{padding:12px 20px;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);color:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.08)}.app-header-modern .app-title{font-size:17px;font-weight:600;letter-spacing:.04em;color:#f1f5f9}.app-brand-header-link{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;min-width:0;max-width:min(300px,46vw)}.app-brand-wordmark{margin:0;padding:0;border:none;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-weight:600;line-height:1.2;letter-spacing:.42em;font-feature-settings:"kern" 1;background:linear-gradient(115deg,#f0fdfa,#5eead4 38%,#7dd3fc 72%,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 16px rgba(45,212,191,.22))}.app-brand-wordmark--header{font-size:1.02rem}.app-brand-wordmark--login{font-size:clamp(1.65rem,4.8vw,2rem);text-align:center;width:100%;letter-spacing:.38em;background:linear-gradient(115deg,#0e7490,#0369a1 38%,#4f46e5 95%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:none}.app-brand-slogan-header{margin:4px 0 0;font-family:Noto Sans SC,PingFang SC,sans-serif;font-size:11px;font-weight:500;letter-spacing:.2em;color:#cbd5e1eb}.app-brand-login-wrap{margin-bottom:4px}.app-brand-slogan-login{margin:12px 0 0;font-family:Noto Sans SC,PingFang SC,sans-serif;font-size:.95rem;font-weight:500;letter-spacing:.24em;color:#0d9488;text-align:center}.app-main-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.app-nav-training{color:#a7f3d0!important}.app-nav-training:hover{color:#ecfdf5!important}.app-nav-training.active{color:#fff!important;box-shadow:inset 0 -2px #34d399}.training-center-page{max-width:880px;margin:0 auto;padding:28px 20px 48px}.training-center-hero{margin-bottom:32px}.training-center-badge{display:inline-block;margin:0 0 8px;padding:4px 10px;font-size:12px;border-radius:6px;background:#ecfdf5;color:#047857;font-weight:600}.training-center-title{margin:0 0 12px;font-size:26px;color:#0f172a}.training-center-lead{margin:0 0 16px;color:#475569;line-height:1.65;font-size:15px}.training-center-back-link{font-size:14px;color:#059669;text-decoration:none}.training-center-back-link:hover{text-decoration:underline}.training-whitelist-admin{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 22px;box-shadow:0 1px 3px #0000000f}.training-whitelist-admin h2{margin:0 0 10px;font-size:17px;color:#0f172a}.training-whitelist-hint{margin:0 0 16px;font-size:13px;color:#64748b;line-height:1.5}.training-whitelist-add{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.training-whitelist-add input{flex:1;min-width:180px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:15px}.training-whitelist-list{list-style:none;margin:0;padding:0}.training-whitelist-list li{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #f1f5f9}.training-whitelist-list li:last-child{border-bottom:none}.training-whitelist-list .mono{font-family:ui-monospace,monospace;font-size:14px;color:#0f172a}.training-muted{font-size:12px;color:#94a3b8;flex:1}.training-err{color:#b91c1c;font-size:14px;margin:0 0 8px}.training-ok{color:#047857;font-size:14px;margin:0 0 8px}button.secondary.small{padding:6px 12px;font-size:13px}.training-access-denied{max-width:480px;margin:48px auto;padding:32px;text-align:center;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.training-access-denied h1{font-size:20px;margin:0 0 12px;color:#0f172a}.training-access-denied p{color:#64748b;margin:0 0 20px;line-height:1.6}.training-access-denied a{color:#059669;font-weight:600}.tc-app-outer{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.app-nav-item{padding:10px 20px;color:#ffffffbf;text-decoration:none;font-size:15px;font-weight:500;border-radius:8px;transition:color .2s,background .2s}.app-nav-item:hover{color:#fff;background:#ffffff14}.app-nav-item.active{color:#fff;background:#3b82f659}.app-header-actions{display:flex;align-items:center;gap:12px}.guest-badge{font-size:12px;opacity:.9;background:#ffffff1f;padding:4px 10px;border-radius:6px;color:#cbd5e1}.btn-logout{padding:6px 14px;font-size:13px;background:#ffffff1a;color:#e2e8f0;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;transition:background .2s}.btn-logout:hover{background:#ffffff2e;color:#fff}.app.login-gate{align-items:center;justify-content:center;min-height:100%;padding:24px}.login-gate-card{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;padding:32px 40px;max-width:400px;width:100%}.login-gate-card .app-brand-wordmark--login{margin-bottom:4px}.login-gate-desc{margin:0 0 24px;color:#666;font-size:14px;text-align:center;line-height:1.5}.login-gate-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;width:100%}.login-gate-fields input{width:100%;box-sizing:border-box;padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-size:15px}.login-gate-form{display:flex;gap:10px;margin-bottom:12px;width:100%}.login-gate-form .btn-primary,.login-gate-submit{flex:1;padding:10px 20px;border:none;border-radius:6px;background:#1890ff;color:#fff;font-size:15px;cursor:pointer}.login-gate-form .btn-primary:hover,.login-gate-submit:hover:not(:disabled){background:#40a9ff}.login-gate-submit:disabled{opacity:.7;cursor:not-allowed}.app-header .header-user-phone{font-size:13px;color:#64748b;margin-right:8px}.login-gate-err{margin:0 0 12px;color:#c00;font-size:14px;text-align:center}.login-gate-guest{display:block;width:100%;padding:12px;border:1px solid #d9d9d9;border-radius:6px;background:#fafafa;color:#666;font-size:14px;cursor:pointer}.login-gate-guest:hover{background:#f0f0f0;color:#333}.tabs{display:flex;gap:0;border-bottom:1px solid #e0e0e0;padding:0 16px;background:#fafafa;flex-shrink:0}.tabs button{padding:14px 24px;border:none;background:none;cursor:pointer;color:#666;font-size:15px}.tabs button.active{color:#1890ff;font-weight:600;border-bottom:2px solid #1890ff;margin-bottom:-1px}.tabs.tabs--compact button{padding:7px 16px;font-size:14px}.toolbar{padding:6px 12px;background:#f5f5f5;border-bottom:1px solid #e0e0e0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar.graph-toolbar-sticky{position:sticky;top:0;z-index:100}.toolbar.graph-toolbar-sticky--first-row{flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;min-height:48px;box-sizing:border-box;padding-top:8px;padding-bottom:8px}.toolbar.graph-toolbar-subrow{position:static;background:#ebebeb;border-bottom:1px solid #d8dee4}.app>.industry-pill-row{flex-shrink:0}.app>.industry-ic-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.industry-ic-body>.tabs{flex-shrink:0}.industry-ic-body>.policy-guide{flex:1;min-height:0;overflow:auto}.industry-ic-body>.segment-view,.industry-ic-body>.company-tab-view{flex:1;min-height:0}.industry-ic-graph-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;position:relative;-webkit-overflow-scrolling:touch;align-items:stretch}.industry-ic-graph-scroll-header{flex-shrink:0;align-self:stretch}.industry-ic-graph-scroll-header>.tabs{flex-shrink:0}.industry-ic-graph-scroll-header .toolbar{flex-shrink:0;min-height:44px;align-items:center;box-sizing:border-box}.industry-ic-graph-toolbar-extra{background:#ebebeb;border-bottom:1px solid #d8dee4}.industry-ic-graph-scroll>.graph-wrap--eto-flow{flex:1 0 auto;min-height:min(480px,55vh);overflow:visible}.industry-ic-graph-scroll>.graph-wrap:not(.graph-wrap--eto-flow){flex:1 0 auto;min-height:min(560px,72vh)}.industry-ic-graph-scroll .graph-container-eto{overflow:visible;height:auto;min-height:min(560px,62vh)}.industry-ic-graph-scroll .eto-flow-root{overflow:visible;height:auto;align-items:start;min-height:min(560px,62vh);isolation:isolate}.industry-ic-graph-scroll .eto-flow-sidebar{position:sticky;top:0;align-self:start;height:auto;max-height:calc(100vh - 168px);z-index:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.industry-ic-graph-scroll .eto-flow-detail{position:sticky;top:0;align-self:stretch;height:auto;max-height:calc(100vh - 168px);z-index:0;display:flex;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.industry-ic-graph-scroll .eto-flow-center{position:relative;z-index:10;isolation:isolate;height:auto;min-height:min(560px,62vh);overflow:visible;padding-left:14px;padding-right:14px}.industry-ic-graph-scroll .eto-flow-parts-popup{z-index:200}.industry-ic-graph-scroll .eto-flow-row--aligned .eto-flow-cell-equipment:has(.eto-flow-parts-popup--visible){position:relative;z-index:40}.industry-ic-graph-scroll .eto-flow-design-col--left{position:static}@media (max-width: 1200px){.industry-ic-graph-scroll .eto-flow-sidebar,.industry-ic-graph-scroll .eto-flow-detail{position:static;max-height:none}.industry-ic-graph-scroll .eto-flow-root{align-items:stretch}}.toolbar button{padding:8px 16px;cursor:pointer;border:1px solid #1890ff;background:#1890ff;color:#fff;border-radius:6px;font-size:14px}.toolbar button.secondary{background:#fff;color:#1890ff;padding:6px 10px;font-size:13px}.toolbar input[type=file]{display:none}.import-btn span{display:inline-block;padding:8px 16px;border:1px solid #1890ff;border-radius:6px;color:#1890ff;background:#fff;cursor:pointer;font-size:14px}.import-btn:hover span{background:#e6f7ff}.graph-view-toggle{display:inline-flex;gap:4px}.graph-view-toggle button{padding:6px 10px;font-size:13px;background:#fff;color:#1890ff;border:1px solid #d9d9d9;border-radius:4px}.graph-view-toggle button.active{background:#1890ff;color:#fff;border-color:#1890ff}.eto-flow-sidebar-stats{margin:16px 0;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:10px}.eto-flow-sidebar-stat{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;border-bottom:1px solid #f1f5f9}.eto-flow-sidebar-stat:last-child{border-bottom:none}.eto-flow-sidebar-stat-label{color:#64748b;font-weight:500}.eto-flow-sidebar-stat-value{font-size:16px;font-weight:600;color:#334155;padding:3px 10px;background:#f8fafc;border-radius:4px;border:1px solid #e2e8f0}.graph-stats-inline{display:inline-flex;align-items:center;gap:24px;padding:8px 32px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000a}.graph-stat-item{display:inline-flex;align-items:center;gap:6px}.graph-stat-label{font-size:12px;color:#64748b}.graph-stat-value{font-size:16px;font-weight:700;padding:2px 8px;border-radius:6px}.graph-stat-value--domain{color:#0369a1;background:#38bdf826}.graph-stat-value--segment{color:#059669;background:#34d39926}.graph-stat-value--company{color:#7c3aed;background:#c4b5fd33}.graph-stat-sep{color:#cbd5e1;font-size:12px}.supply-focus-select{display:inline-flex;align-items:center;gap:6px}.supply-focus-select label{font-size:13px;color:#595959}.supply-focus-select select{padding:6px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px;min-width:160px}.import-company-wrap{display:inline-flex;align-items:center;gap:8px}.import-company-wrap .source-select{padding:6px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px}.stats{font-size:14px;color:#52c41a}.stats:empty{display:none}.search-box{display:flex;gap:8px;flex:1;max-width:400px}.search-box input{flex:1;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px}.search-box button{padding:8px 16px;background:#1890ff;color:#fff;border:none;border-radius:6px;cursor:pointer}.search-box--sidebar{flex-direction:column;align-items:stretch;max-width:none;width:100%;gap:6px;margin-bottom:0}.search-box--sidebar input{width:100%;min-width:0}.search-box--sidebar button{width:100%}.eto-flow-sidebar-search{margin-bottom:10px}.search-results{width:min(320px,92vw);background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:200;max-height:min(400px,70vh);overflow:auto}.search-results--fixed{position:fixed;top:52px;left:12px}.search-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e8e8e8;font-weight:600}.search-header button{background:none;border:none;cursor:pointer;font-size:14px;color:#999}.no-result{padding:24px;text-align:center;color:#999}.result-section{padding:12px 16px}.result-section strong{display:block;margin-bottom:8px;font-size:13px;color:#666}.result-item{padding:8px 12px;margin-bottom:4px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px}.result-item:hover{background:#e6f7ff}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.status-normal{background:#999}.status-dot.status-focus{background:#fa8c16}.status-dot.status-invested{background:#52c41a}.status-dot.status-listed{background:#f5222d}.stats-bar{padding:10px 16px;background:#fff;border-bottom:1px solid #e8e8e8;display:flex;gap:20px;align-items:center;font-size:14px}.stat-item{display:inline-flex;gap:6px;align-items:center;padding:6px 14px;background:#f0f5ff;border-radius:6px;color:#1890ff}.stat-item strong{font-weight:600}.stat-hint{margin-left:auto;color:#999;font-size:13px}.stat-legend-btn{padding:6px 12px;font-size:13px;color:#1890ff;background:#f0f5ff;border:1px solid #adc6ff;border-radius:6px;cursor:pointer}.stat-legend-btn:hover{background:#d6e4ff}.graph-legend{padding:14px 20px;background:#fafbff;border-bottom:1px solid #e8e8e8;font-size:14px}.graph-legend-title{margin:0 0 12px;font-size:14px;color:#333;font-weight:600}.graph-legend-list{margin:0}.graph-legend-list dt{margin-top:10px;color:#1890ff;font-weight:600}.graph-legend-list dt:first-child{margin-top:0}.graph-legend-list dd{margin:4px 0 0 16px;color:#555;line-height:1.5}.graph-hint{margin-left:8px;padding:4px 10px;border-radius:6px;font-size:13px}.graph-hint.saved{background:#f6ffed;color:#52c41a}.graph-hint.reset{background:#e6f7ff;color:#1890ff}.graph-hint.undo{background:#fff7e6;color:#fa8c16}.graph-wrap{flex:1;min-height:520px;position:relative;display:flex;flex-direction:column}.graph-wrap--eto-flow,.graph-wrap--with-sidebar{flex:1;min-height:0;overflow:hidden}.graph-root-with-sidebar{display:grid;grid-template-columns:200px minmax(0,1fr);flex:1;min-height:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.graph-root-with-sidebar--supply{grid-template-columns:minmax(128px,156px) minmax(0,1fr)}.supply-net-controls-panel{margin:0 0 10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:13px}.supply-net-controls-hint{margin:0 0 10px;color:#64748b;font-size:12px;line-height:1.45}.supply-net-controls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px;align-items:center}.supply-net-controls-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#334155;font-weight:600}.supply-net-controls-grid input[type=number]{padding:4px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;max-width:100%}.supply-net-controls-grid input[type=range]{width:100%}.supply-net-controls-check{grid-column:1 / -1;flex-direction:row!important;align-items:center;gap:8px!important}.supply-net-controls-check input{width:auto}.supply-net-controls-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.manage-module-card{margin:10px 16px 12px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.manage-module-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.manage-module-head h3{margin:0;font-size:18px;color:#0f172a}.manage-module-actions{display:flex;gap:8px}.manage-module-sub{margin:6px 0 10px;color:#64748b;font-size:13px}.manage-tabs{display:flex;gap:8px;margin-bottom:10px}.manage-tabs button{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:6px 12px;color:#334155;cursor:pointer}.manage-tabs button.active{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.manage-module-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.manage-module-users h4,.manage-module-stats h4{margin:0 0 8px;font-size:15px}.manage-table{width:100%;border-collapse:collapse;font-size:13px}.manage-table th,.manage-table td{border:1px solid #e2e8f0;padding:6px 8px;text-align:left}.manage-table th{background:#f8fafc;color:#334155}.manage-table select{width:100%;min-width:120px}.manage-user-create{display:grid;grid-template-columns:1fr 1fr 160px auto;gap:8px;margin-bottom:8px}.manage-user-create input,.manage-user-create select{padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px}.manage-audit-filters{display:grid;grid-template-columns:1fr 180px auto;gap:8px;margin-bottom:8px}.manage-audit-filters input,.manage-audit-filters select{padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px}.manage-nickname-inline{display:grid;grid-template-columns:1fr auto;gap:6px}.manage-nickname-inline input{min-width:120px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:6px}.manage-stat-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manage-stat-card{border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;background:#f8fafc;display:flex;justify-content:space-between;align-items:center;gap:8px}.manage-stat-card span{color:#64748b;font-size:12px}.manage-stat-card strong{color:#0f172a}.manage-simple-list{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}.manage-simple-list li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed #e2e8f0;font-size:13px}@media (max-width: 1200px){.manage-module-grid{grid-template-columns:1fr}}@media (max-width: 900px){.manage-user-create,.manage-audit-filters{grid-template-columns:1fr}}.graph-view-left-sidebar{height:100%;max-height:100%;overflow-y:auto}.graph-with-sidebar-main{min-height:0;min-width:0;display:flex;flex-direction:column;background:#f8fafc;overflow:hidden;border-left:1px solid #e2e8f0}.graph-with-sidebar-main--supply{min-height:480px}.graph-container-d3--in-sidebar-layout{flex:1;min-height:320px}.graph-container-supply-embed{flex:1;min-height:400px}.graph-layout-controls--embed{margin:0;border-radius:0;border:none;border-bottom:1px solid #e2e8f0;padding:6px 10px;flex-shrink:0;max-height:42vh;overflow-y:auto}.graph-layout-controls--htree .glc-row{margin:5px 0;gap:8px 10px}.graph-layout-controls--htree input[type=range]{width:140px}@media (max-width: 900px){.graph-root-with-sidebar{grid-template-columns:1fr;overflow:auto}.graph-root-with-sidebar--supply{grid-template-columns:1fr}.graph-view-left-sidebar{max-height:260px;border-right:none!important;border-bottom:1px solid #e2e8f0}.graph-with-sidebar-main{border-left:none;min-height:400px}}#graph-container{position:relative;overflow:hidden;width:100%;flex:1;min-height:480px;height:100%;touch-action:none}.graph-container-d3{width:100%;flex:1;min-height:520px;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;background:#f8fafc}.graph-layout-controls{margin:10px 0 0;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.graph-layout-controls .glc-row{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;margin:8px 0}.graph-layout-controls label{font-size:12px;color:#475569}.graph-layout-controls input[type=range]{width:160px}.graph-layout-controls .glc-val{font-size:12px;color:#0f172a;min-width:54px;text-align:right}.graph-empty-state{padding:24px;color:#555;background:#fafafa;border:1px dashed #d9d9d9;border-radius:8px;margin:16px;line-height:1.7;text-align:left}.graph-empty-state p{margin:0 0 12px;font-weight:600}.graph-empty-state ul{margin:0;padding-left:20px}.graph-empty-state li{margin-bottom:8px}.graph-empty-state a{color:#1890ff}.graph-empty-state code{background:#f0f0f0;padding:2px 6px;border-radius:4px;font-size:13px}.graph-empty-state.supply-net-empty{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:0}.graph-empty-state.supply-net-empty .muted{font-weight:400;color:#8c8c8c;font-size:14px;margin-top:8px}.supply-net-node-label{font-size:11px;color:#1f2937;line-height:1.2;padding:0;margin:0;max-width:104px;overflow:visible;pointer-events:none;text-align:center;transition:opacity .12s ease-out}.supply-net-node-label-inner{display:inline-block;background:#fffffff0;padding:2px 5px;border-radius:4px;white-space:nowrap;max-width:104px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 3px #0000001f;transform-origin:center bottom}.error-msg{padding:16px;color:#c00}.loading-msg{padding:16px;color:#666}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-inner{background:#fff;border-radius:12px;min-width:360px;max-width:90vw;max-height:85vh;overflow:auto}.modal--supply-dock{top:var(--supply-dock-top, 0px);align-items:stretch;justify-content:flex-end;background:transparent;pointer-events:none}.modal--supply-dock .modal-inner{position:relative;height:calc(100vh - var(--supply-dock-top, 0px));max-height:calc(100vh - var(--supply-dock-top, 0px));max-width:none;min-width:300px;width:320px;border-radius:0;border-left:1px solid #e2e8f0;box-shadow:-6px 0 18px #0206171f;pointer-events:auto}.supply-dock-resize-handle{position:absolute;left:0;top:0;width:8px;height:100%;cursor:ew-resize;background:linear-gradient(to right,#94a3b852,#94a3b800)}.supply-rel-list{display:flex;flex-direction:column;gap:8px}.supply-rel-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:1px solid #dbe7f5;background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer;text-align:left}.supply-rel-item:hover{border-color:#93c5fd;background:#eff6ff}.supply-rel-item .name{color:#0f172a;font-size:13px}.supply-rel-item .meta{color:#64748b;font-size:12px}.node-detail{width:560px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e8e8e8}.modal-header h3{margin:0;font-size:18px;display:flex;align-items:center;gap:8px}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0 8px}.close-btn:hover{color:#333}.key-badge{background:gold;color:#333;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600}.node-actions{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid #e8e8e8}.node-actions button{padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px}.node-actions .mark{background:#fff7e6;border:1px solid #ffa940;color:#d46b08}.node-actions .unmark{background:#f5f5f5;border:1px solid #d9d9d9;color:#666}.node-actions .delete{background:#fff1f0;border:1px solid #ff4d4f;color:#cf1322;margin-left:auto}.node-edit-section,.node-hierarchy-section,.node-add-child-section,.node-tyc-section{padding:12px 20px;border-bottom:1px solid #e8e8e8}.node-tyc-section .tyc-error{margin:8px 0 0;font-size:13px;color:#c00}.node-edit-section h4,.node-hierarchy-section h4,.node-add-child-section h4,.node-tyc-section h4{margin:0 0 10px;font-size:14px;color:#666}.node-hierarchy-intro{margin:0 0 12px;font-size:12px;line-height:1.55;color:#888}.node-hierarchy-block{margin-bottom:14px}.node-hierarchy-block:last-child{margin-bottom:0}.node-hierarchy-label{font-size:12px;font-weight:600;color:#1890ff;letter-spacing:.02em;margin-bottom:6px}.node-hierarchy-label:before{content:"";display:inline-block;width:3px;height:12px;margin-right:6px;background:#1890ff;border-radius:1px;vertical-align:-1px}.node-hierarchy-value{font-size:14px;color:#333;padding:8px 10px;background:#fafafa;border-radius:6px;border:1px solid #f0f0f0}.node-hierarchy-empty{color:#999;font-size:13px;margin:0}.node-existing-children-list{margin:8px 0 0;padding:0;list-style:none}.node-existing-children-list li{margin-bottom:8px}.node-existing-children-list li.node-existing-child-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.node-existing-child-row .node-child-name-input{flex:1;min-width:140px}.node-existing-child-row .btn-remove-child-segment{flex-shrink:0;padding:6px 10px;font-size:12px;background:#fff;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;color:#666;white-space:nowrap}.node-existing-child-row .btn-remove-child-segment:hover{border-color:#ff4d4f;color:#cf1322}.node-child-name-input{width:100%;box-sizing:border-box;padding:8px 10px;font-size:14px;border:1px solid #d9d9d9;border-radius:6px}.node-child-name-input:focus{border-color:#40a9ff;outline:none;box-shadow:0 0 0 2px #1890ff26}.company-tyc-bar{padding:10px 20px;background:#f0f5ff;border-bottom:1px solid #e8e8e8;display:flex;align-items:center;gap:12px}.company-tyc-bar .tyc-update-btn{padding:6px 14px;font-size:13px;background:#1890ff;color:#fff;border:none;border-radius:6px;cursor:pointer}.company-tyc-bar .tyc-update-btn:disabled{opacity:.6;cursor:not-allowed}.company-tyc-bar .tyc-update-btn.agent-basic-btn{background:#52c41a;margin-left:8px}.company-tyc-bar .tyc-update-btn.agent-basic-btn:hover:not(:disabled){background:#73d13d}.company-tyc-bar .tyc-error{font-size:13px;color:#c00}.edit-row{display:flex;gap:10px;align-items:center}.edit-row input{flex:1;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px}.edit-row button{padding:8px 16px;background:#1890ff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.edit-row button:hover{background:#40a9ff}.node-add-child-hint{margin:0 0 8px;font-size:12px;color:#999}.pending-child-list{margin:10px 0 0;padding:0;list-style:none}.pending-child-list li{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#f5f5f5;border-radius:6px;margin-bottom:6px;font-size:14px}.pending-child-list .btn-remove-pending{padding:4px 10px;font-size:12px;background:#fff;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;color:#666}.pending-child-list .btn-remove-pending:hover{border-color:#ff4d4f;color:#cf1322}.node-save-row{padding:12px 20px;border-bottom:1px solid #e8e8e8}.node-save-row .btn-primary{padding:8px 20px;background:#1890ff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.node-save-row .btn-primary:hover:not(:disabled){background:#40a9ff}.node-save-row .btn-primary:disabled{opacity:.6;cursor:not-allowed}.company-section{padding:16px 20px}.company-section h4{margin:0 0 12px;font-size:15px}.company-section .empty{color:#999;margin:0}.company-list{display:flex;flex-direction:column;gap:10px;max-height:200px;overflow-y:auto}.company-card{padding:12px 16px;border-radius:8px;background:#fafafa;border-left:4px solid #999}.company-card.status-focus{border-left-color:#fa8c16;background:#fff7e6}.company-card.status-invested{border-left-color:#52c41a;background:#f6ffed}.company-card.status-listed{border-left-color:#f5222d;background:#fff1f0}.company-name{font-weight:600;font-size:15px;margin-bottom:6px}.company-meta{display:flex;gap:8px;align-items:center;margin-bottom:4px}.status-tag{padding:2px 8px;border-radius:4px;font-size:12px}.status-tag.status-normal{background:#f0f0f0;color:#666}.status-tag.status-focus{background:#fff7e6;color:#d46b08}.status-tag.status-invested{background:#f6ffed;color:#389e0d}.status-tag.status-listed{background:#fff1f0;color:#cf1322}.listed-code{font-size:12px;color:#1890ff;background:#e6f7ff;padding:2px 8px;border-radius:4px}.industry-apply-ok{color:#389e0d;font-size:13px}.industry-apply-err{color:#cf1322;font-size:13px}.company-scope{font-size:13px;color:#666}.edit-section{padding:16px 20px;border-top:1px solid #e8e8e8}.edit-section h4{margin:0 0 12px;font-size:15px}.form-row{padding:12px;background:#f9f9f9;border-radius:8px;margin-bottom:10px;display:flex;gap:12px;align-items:flex-start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:1}.form-grid label{display:flex;flex-direction:column;font-size:13px;color:#666}.form-grid input,.form-grid select{padding:8px;margin-top:4px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px}.remove-btn{padding:6px 12px;background:#fff;border:1px solid #ff4d4f;color:#ff4d4f;border-radius:6px;cursor:pointer;font-size:13px;align-self:center}.add-btn{padding:8px 16px;background:#fff;border:1px dashed #1890ff;color:#1890ff;border-radius:6px;cursor:pointer;width:100%;margin-bottom:12px}.form-actions{display:flex;gap:12px;justify-content:flex-end}.form-actions .cancel{padding:8px 20px;background:#fff;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer}.form-actions .save{padding:8px 20px;background:#1890ff;color:#fff;border:none;border-radius:6px;cursor:pointer}.confirm-dialog{padding:24px;width:400px}.confirm-dialog h3{margin:0 0 16px}.confirm-dialog p{margin:0 0 20px;color:#666;line-height:1.6}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-actions--triple{flex-wrap:wrap;justify-content:flex-end;gap:10px}.confirm-actions--triple button{flex:0 1 auto;min-width:88px}.confirm-actions button{padding:10px 20px;border-radius:6px;cursor:pointer}.confirm-actions button:first-child{background:#fff;border:1px solid #d9d9d9}.confirm-actions .danger{background:#ff4d4f;color:#fff;border:none}.company-detail{width:400px}.company-detail .modal-header h3{display:flex;align-items:center;gap:10px}.company-info{padding:20px}.info-row{display:flex;padding:10px 0;border-bottom:1px solid #f0f0f0}.info-row:last-child{border-bottom:none}.info-row .label{width:80px;color:#888;font-size:14px;flex-shrink:0}.info-row .value{flex:1;color:#333;font-size:14px}.evaluate-tab{padding:24px;max-width:800px}.evaluate-desc{color:#666;font-size:14px;margin-bottom:16px}.evaluate-search{display:flex;gap:12px;margin-bottom:24px}.evaluate-search input{flex:1;padding:12px 16px;border:1px solid #d9d9d9;border-radius:8px;font-size:15px}.evaluate-search .primary{padding:12px 24px;background:#1890ff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px}.evaluate-search .primary:disabled{opacity:.6;cursor:not-allowed}.evaluate-error{color:#c00;margin-bottom:16px}.evaluate-report h3{margin:0 0 16px;font-size:20px}.evaluate-report .summary{line-height:1.7;margin-bottom:20px;font-size:15px}.evaluate-report .section{margin-bottom:16px;padding:16px;background:#f5f5f5;border-radius:8px}.evaluate-report .section strong{display:block;margin-bottom:8px;color:#333;font-size:15px}.evaluate-report .section p{margin:0;line-height:1.6;color:#555}.segment-view{display:flex;flex:1;min-height:0;overflow:hidden}.segment-sidebar{width:240px;flex-shrink:0;background:#fafafa;border-right:1px solid #e8e8e8;padding:16px;overflow-y:auto}.segment-sidebar h3{margin:0 0 16px;font-size:16px;color:#333}.segment-sidebar .empty{color:#999;font-size:14px}.segment-item{padding:12px 16px;margin-bottom:8px;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e8e8e8;transition:all .2s}.segment-item:hover{border-color:#1890ff;background:#e6f7ff}.segment-item.active{background:#1890ff;color:#fff;border-color:#1890ff}.segment-item .key-icon{color:gold}.segment-item.active .key-icon{color:#fff}.segment-item.full-chain{border-style:dashed}.segment-item.full-chain.active{border-style:solid}.segment-item-name{flex:1;min-width:0}.segment-focus-count{font-size:12px;color:#fa8c16;background:#fff7e6;padding:2px 8px;border-radius:10px;margin-left:4px}.segment-item.active .segment-focus-count{background:#ffffff4d;color:#fff}.segment-content{flex:1;min-width:0;padding:24px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.empty-state{display:flex;align-items:center;justify-content:center;min-height:200px;color:#999}.segment-tree{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.company-tab-view{display:flex;flex:1;min-height:0;overflow:hidden}.company-tab-sidebar{width:300px;flex-shrink:0;background:#fafafa;border-right:1px solid #e8e8e8;display:flex;flex-direction:column;overflow:hidden}.company-tab-sidebar-header{padding:16px 16px 12px;border-bottom:1px solid #eee;flex-shrink:0}.company-tab-sidebar-header h3{margin:0 0 12px;font-size:15px;font-weight:600;color:#262626;letter-spacing:.3px}.company-tab-sidebar-header .header-hint{font-size:12px;font-weight:400;color:#8c8c8c}.company-tab-search{width:100%;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;box-sizing:border-box;background:#fff}.company-tab-search::-moz-placeholder{color:#bfbfbf}.company-tab-search::placeholder{color:#bfbfbf}.company-tab-list{flex:1;overflow-y:auto;padding:12px 16px}.company-tab-section{margin-bottom:20px}.company-tab-section:last-child{margin-bottom:0}.company-tab-section-title{font-size:11px;font-weight:600;color:#8c8c8c;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding-left:4px}.company-tab-item{padding:10px 12px;margin-bottom:4px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:13px;background:#fff;border:1px solid #e8e8e8;transition:border-color .15s,background .15s}.company-tab-item:hover{border-color:#d0d0d0;background:#fafafa}.company-tab-item.active{border-color:#1890ff;background:#e6f7ff}.company-tab-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;padding:24px;text-align:center;color:#8c8c8c}.company-detail-placeholder p{margin:0 0 8px;font-size:15px}.company-detail-placeholder .muted{font-size:13px;color:#bfbfbf}.company-detail-full-panel .company-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.company-detail-full-panel .company-detail-header h2{margin:0 0 4px;font-size:20px;font-weight:600;color:#262626}.company-detail-full-panel .company-detail-toolbar{display:flex;align-items:center;gap:8px;flex-shrink:0}.company-edit-form{margin-bottom:24px;padding:20px;background:#fafafa;border:1px solid #e8e8e8;border-radius:8px}.company-edit-form h4{margin:0 0 16px;font-size:14px;font-weight:600;color:#434343}.edit-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.edit-form-field{display:flex;flex-direction:column;gap:6px}.edit-form-field.full-width{grid-column:1 / -1}.edit-form-field.edit-form-section-divider{margin-top:8px;padding-top:16px;border-top:1px solid #e8e8e8}.edit-form-field.edit-form-section-divider h5{margin:0 0 12px;font-size:13px;font-weight:600;color:#434343}.edit-form-field label{font-size:12px;font-weight:500;color:#595959}.edit-form-node-hint{margin:0 0 6px;font-size:12px;color:#8c8c8c}.edit-form-field input,.edit-form-field select,.edit-form-field textarea{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px}.edit-form-field textarea{resize:vertical;min-height:56px}.edit-form-field.edit-form-focus-option{justify-content:flex-end}.edit-form-checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#434343}.edit-form-checkbox-label input{width:16px;height:16px;cursor:pointer}.company-tab-item:hover,.company-tab-item.active{border-color:#1890ff;background:#e6f7ff}.company-tab-item .listed-code{font-size:12px;color:#1890ff;margin-left:auto}.company-tab-item{position:relative}.company-tab-badge-new{position:absolute;top:4px;right:8px;font-size:10px;padding:2px 6px;background:#ff4d4f;color:#fff;border-radius:4px;font-weight:600}.reports-section .report-list{list-style:none;margin:0 0 16px;padding:0}.reports-section .report-list-item{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;background:#fafafa;border-radius:6px;margin-bottom:8px;border:1px solid #e8e8e8}.reports-section .report-type-tag{font-size:11px;padding:2px 6px;border-radius:4px;background:#e6f7ff;color:#0050b3}.reports-section .report-type-tag:empty{display:none}.reports-section .report-title{flex:1;min-width:0;font-size:14px;color:#1890ff;text-decoration:none}.reports-section .report-title:not([href]){color:#333}.reports-section .report-source{font-size:12px;color:#999}.reports-section .btn-remove-report{padding:4px 10px;font-size:12px;background:#fff;border:1px solid #d9d9d9;border-radius:4px;color:#666;cursor:pointer}.reports-section .btn-remove-report:hover{border-color:#ff4d4f;color:#cf1322}.reports-section .report-add-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.reports-section .report-add-form input[type=text]{padding:6px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;min-width:120px}.reports-section .report-add-form input:first-of-type{min-width:160px}.reports-section .report-add-form select{padding:6px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px}.supply-chain-list{list-style:none;margin:0 0 16px;padding:0}.supply-chain-item{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;background:#fafafa;border-radius:6px;margin-bottom:8px;border:1px solid #e8e8e8}.supply-chain-company-btn{background:none;border:none;padding:0;font-size:14px;color:#1890ff;cursor:pointer;text-align:left}.supply-chain-company-btn:hover{text-decoration:underline}.supply-chain-role{font-size:13px;color:#595959}.supply-chain-note{font-size:12px;color:#8c8c8c;margin-left:8px}.supply-chain-dir{font-weight:600;color:#333}.supply-chain-segment-company{color:#555}.supply-chain-segment-company .supply-chain-company-btn{margin-left:0}.supply-chain-company-combo{position:relative;min-width:200px}.supply-chain-company-combo input{width:100%;min-width:200px;padding:6px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;box-sizing:border-box}.supply-chain-combo-dropdown{list-style:none;margin:0;padding:4px 0;position:absolute;left:0;right:0;top:100%;z-index:10;background:#fff;border:1px solid #d9d9d9;border-radius:6px;box-shadow:0 4px 12px #0000001a;max-height:240px;overflow-y:auto}.supply-chain-combo-dropdown li{margin:0}.supply-chain-combo-dropdown button{display:block;width:100%;padding:8px 12px;border:none;background:none;text-align:left;font-size:13px;cursor:pointer;color:#333}.supply-chain-combo-dropdown button:hover{background:#f0f7ff;color:#1890ff}.supply-chain-add-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.supply-chain-add-form select{padding:6px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;min-width:140px}.supply-chain-add-form input[type=text]{padding:6px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;min-width:120px}.company-tab-detail{flex:1;min-width:0;padding:24px;overflow-y:auto}.company-detail-full-panel{max-width:720px}.company-detail-full-panel h2{margin:0 0 8px;font-size:22px;color:#1890ff}.company-detail-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.company-title-listed-code{font-size:16px;font-weight:600}.modal-title-listed-code{font-size:15px;margin-left:4px}.company-detail-full-panel .company-full-name{margin:0 0 20px;font-size:14px;color:#666}.company-detail-toolbar{margin-bottom:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-primary{padding:8px 16px;background:#1890ff;color:#fff;border:1px solid #1890ff;border-radius:6px;cursor:pointer;font-size:13px}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:8px 16px;background:#fff;color:#1890ff;border:1px solid #1890ff;border-radius:6px;cursor:pointer;font-size:13px}.btn-secondary:hover:not(:disabled){background:#e6f7ff}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-remove-company-from-node{padding:8px 16px;background:#fff;color:#cf1322;border:1px solid #ff4d4f;border-radius:6px;cursor:pointer;font-size:13px}.btn-remove-company-from-node:hover:not(:disabled){background:#fff1f0}.btn-remove-company-from-node:disabled{opacity:.6;cursor:not-allowed}.company-form-hint{margin:8px 0 0;font-size:12px;line-height:1.5}.btn-status-toggle{padding:8px 14px;background:#fff;color:#595959;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;font-size:13px}.btn-status-toggle:hover{border-color:#1890ff;color:#1890ff}.btn-status-toggle.active-focus{background:#fff7e6;border-color:#fa8c16;color:#d46b08}.btn-status-toggle.active-invested{background:#f6ffed;border-color:#52c41a;color:#389e0d}.btn-fill-empty{padding:8px 16px;background:#1890ff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px}.btn-fill-empty:disabled{opacity:.6;cursor:not-allowed}.fill-empty-error{color:#c00;font-size:13px}.agent-fill-suggestion{margin-bottom:24px;padding:16px;background:#f0f9ff;border:1px solid #91d5ff;border-radius:8px}.agent-fill-suggestion h4{margin:0 0 8px;font-size:14px;color:#0050b3}.agent-fill-message{margin:0 0 12px;font-size:13px;color:#666}.agent-fill-preview{max-height:280px;overflow-y:auto;margin-bottom:12px}.agent-fill-row{display:flex;gap:12px;margin-bottom:8px;font-size:13px}.agent-fill-row .label{flex:0 0 120px;color:#666}.agent-fill-row .value{flex:1;word-break:break-word}.agent-fill-actions{display:flex;gap:8px}.note-paste-form{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.note-paste-form input,.note-paste-form textarea{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px}.note-list{display:flex;flex-direction:column;gap:12px}.note-card{padding:12px 16px;background:#fafafa;border:1px solid #e8e8e8;border-radius:8px}.note-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.note-interviewee{font-size:12px;color:#666}.note-card-preview{margin:0;font-size:13px;color:#444;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow:hidden}.company-detail-full-panel .info-section{margin-bottom:24px}.company-detail-full-panel .info-section h4{margin:0 0 12px;font-size:14px;color:#666}.company-detail-full-panel .info-meta{margin-top:24px;padding-top:16px;border-top:1px solid #e8e8e8}.node-appearances-list{margin:8px 0;padding-left:20px}.node-appearances-list li{margin:4px 0}.add-to-node-wrap{margin-top:12px}.add-to-node-form{display:flex;flex-direction:column;gap:10px;padding:12px;background:#fafafa;border-radius:8px;border:1px solid #e8e8e8}.add-to-node-form select{max-width:320px;padding:6px 10px}.add-to-node-new{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.add-to-node-new select{max-width:200px}.add-to-node-new input[type=text]{flex:1;min-width:120px;padding:6px 10px}.add-to-node-error{margin:0;color:#cf1322;font-size:13px}.add-to-node-actions{display:flex;gap:8px}.segment-tree h2{margin:0 0 20px;font-size:20px;color:#333;flex-shrink:0}.tree-container{flex:1;min-height:200px;overflow-y:auto;overflow-x:auto;padding-right:8px}.tree-node{margin-bottom:8px}.tree-node-header{padding:10px 14px;background:#f5f5f5;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background .2s}.tree-node-header:hover{background:#e6f7ff}.tree-node-header.is-key{background:#fff7e6;border:1px solid #ffc53d}.tree-node-header .node-name{font-weight:500}.tree-node-header .company-count{font-size:12px;color:#999;background:#fff;padding:2px 8px;border-radius:10px}.tree-companies{margin:8px 0 8px 24px;display:flex;flex-wrap:wrap;gap:8px}.tree-company{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid #e8e8e8;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.tree-company:hover{border-color:#1890ff;background:#e6f7ff}.tree-company.status-focus{border-color:#ffc53d;background:#fffbe6}.tree-company.status-invested{border-color:#95de64;background:#f6ffed}.tree-company.status-listed{border-color:#ff7875;background:#fff1f0}.tree-company .listed-code{font-size:11px;color:#1890ff}.tree-children{margin-left:24px;border-left:2px solid #e8e8e8;padding-left:12px}.company-detail-full{width:600px;max-width:95vw}.company-full-info{padding:20px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.info-grid.compact{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.info-block.full-width{grid-column:1 / -1}.info-block .label{display:block;font-size:12px;color:#888;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.info-block .value{font-size:15px;color:#333}.info-block .value.highlight{color:#1890ff;font-weight:500}.info-block .value.source-data{font-size:13px;color:#999}.info-block select{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;width:100%}.info-section{margin-top:20px;padding-top:16px;border-top:1px solid #e8e8e8}.info-section h4{margin:0 0 12px;font-size:14px;color:#666}.info-section.listed-section{background:#fff1f0;border:1px solid #ffccc7;border-radius:8px;padding:12px 16px;margin-top:12px}.info-section.listed-section h4{color:#cf1322}.label-inline{font-size:12px;color:#999;font-weight:400;margin-right:8px}.value.status-listed{color:#cf1322;font-weight:600}.value-list{margin:0;padding-left:20px;font-size:14px;color:#333}.info-full{margin-bottom:20px}.info-full .info-block{margin-bottom:16px}.info-full .value-text{margin:0;font-size:14px;color:#555;line-height:1.6;background:#f9f9f9;padding:12px;border-radius:6px}.info-path{border-top:1px solid #e8e8e8;padding-top:16px}.path-breadcrumb{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:14px;color:#333}.path-breadcrumb .arrow{color:#999;margin:0 4px}.value-text.muted{color:#999;font-size:13px}.comparable-block{margin-top:8px;margin-bottom:12px;padding:16px;background:#f6f8fa;border:1px solid #e8e8e8;border-radius:8px;max-height:320px;overflow-y:auto}.comparable-text{margin:0;font-size:14px;line-height:1.6;color:#333;white-space:pre-wrap;word-break:break-word;font-family:inherit}.info-table-wrap{overflow-x:auto;margin-top:8px}.info-table{width:100%;border-collapse:collapse;font-size:14px}.info-table th,.info-table td{border:1px solid #e8e8e8;padding:8px 12px;text-align:left}.info-table th{background:#f5f5f5;color:#666;font-weight:500}.info-table tbody tr:nth-child(2n){background:#fafafa}.btn-update-stock{padding:8px 16px;font-size:14px;color:#1890ff;background:#e6f7ff;border:1px solid #91d5ff;border-radius:6px;cursor:pointer}.btn-update-stock:hover{background:#bae7ff}.stock-result{margin-left:12px;font-size:14px;color:#333}.company-detail-actions{padding:0 20px 12px;border-bottom:1px solid #e8e8e8}.btn-link-company-detail{padding:8px 16px;font-size:14px;color:#1890ff;background:transparent;border:1px solid #1890ff;border-radius:6px;cursor:pointer}.btn-link-company-detail:hover{background:#e6f7ff}.company-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e8e8e8;border-radius:8px;margin-bottom:8px}.company-card-main{flex:1;min-width:0;cursor:pointer}.btn-company-detail-link{flex-shrink:0;padding:6px 12px;font-size:13px;color:#1890ff;background:#e6f7ff;border:1px solid #91d5ff;border-radius:6px;cursor:pointer}.btn-company-detail-link:hover{background:#bae7ff}@media (max-width: 768px){body{font-size:15px}.tabs{padding:0 12px}.tabs button{padding:12px 16px;font-size:14px}.toolbar{padding:10px 12px;gap:8px}.search-box{max-width:100%;flex:1 1 100%;min-width:0}.search-box input{font-size:16px;min-height:44px}.search-box button{min-height:44px;padding:0 16px}.toolbar button{min-height:44px}.toolbar button.secondary,.graph-view-toggle button{min-height:auto}.import-btn span{min-height:44px;line-height:44px;padding:0 16px}.stats-bar{flex-wrap:wrap;gap:8px;padding:10px 12px}.stat-item{padding:8px 12px;font-size:13px}.stat-hint{flex:1 1 100%;margin-left:0;margin-top:4px;font-size:12px}.graph-wrap{min-height:0}#graph-container{min-height:50vh;-webkit-overflow-scrolling:touch}.search-results{width:calc(100% - 24px);left:12px;right:12px;top:120px;max-height:50vh}.result-item{min-height:44px;padding:12px}.modal{align-items:flex-end;padding:0}.modal-inner{max-height:90vh;border-radius:16px 16px 0 0;margin:0;width:100%;max-width:100%}.node-detail,.company-detail-full{width:100%;max-width:100%}.form-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.remove-btn{align-self:flex-start}.confirm-dialog{width:calc(100% - 32px);max-width:400px}.segment-view{flex-direction:column}.segment-sidebar{width:100%;max-height:220px;border-right:none;border-bottom:1px solid #e8e8e8;padding:12px}.segment-item{min-height:48px;padding:14px 16px}.segment-content{padding:16px}.tree-node-header{min-height:44px;padding:12px 14px}.tree-company{min-height:40px;padding:8px 12px}.info-grid{grid-template-columns:1fr}.node-actions{flex-wrap:wrap}.node-actions button{min-height:44px}}.app-footer{flex-shrink:0;padding:12px 16px;text-align:center;font-size:12px;color:#999;border-top:1px solid #eee;background:#fafafa}.app-footer a{color:#666;text-decoration:none}.app-footer a:hover{text-decoration:underline}.footer-version{color:#999;font-size:12px}.footer-sep{color:#ccc;margin:0 4px}.industry-pill-row{display:flex;gap:12px;padding:20px 24px;background:linear-gradient(180deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;flex-shrink:0;flex-wrap:wrap}.industry-pill-row--compact{padding:8px 16px;gap:8px}.industry-pill{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:14px 24px;font-size:16px;font-weight:600;color:#475569;text-decoration:none;background:#fff;border:2px solid #e2e8f0;border-radius:10px;transition:all .2s;box-shadow:0 1px 3px #0000000a}.industry-pill--compact{min-width:88px;padding:7px 14px;font-size:14px;border-radius:8px;border-width:1px}.industry-pill:hover{border-color:#3b82f6;color:#1e40af;background:#eff6ff}.industry-pill.active{border-color:#3b82f6;color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 4px 12px #2563eb59}.tabs-inner{border-radius:0}.industry-empty-state{padding:48px 24px;text-align:center;background:#f8fafc;border-radius:12px;margin:16px 24px;border:1px dashed #cbd5e1}.industry-empty-title{margin:0 0 12px;font-size:20px;font-weight:600;color:#334155}.industry-empty-state p{margin:0;font-size:15px;color:#64748b}.app-title-link{text-decoration:none;color:inherit}.app-title-link:hover .app-brand-wordmark--header{filter:drop-shadow(0 0 18px rgba(94,234,212,.35))}.home-page{flex:1;overflow:auto}.home-page-tech{padding:0;min-height:100%;display:flex;flex-direction:column}.home-hero{position:relative;padding:48px 28px 56px;background:linear-gradient(165deg,#0f172a,#1e293b 35%,#0f172a);color:#e2e8f0;overflow:visible;z-index:0}.home-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.home-hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(56,189,248,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.06) 1px,transparent 1px);background-size:32px 32px}.home-hero-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35}.home-hero-glow-1{width:320px;height:320px;background:#06b6d4;top:-120px;right:-80px}.home-hero-glow-2{width:240px;height:240px;background:#3b82f6;bottom:-60px;left:-60px}.home-hero-circuit{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:100%;max-width:400px;height:100px;color:#38bdf8;opacity:.42;z-index:0}.home-hero-content{position:relative;z-index:2;max-width:720px;margin:0 auto;text-align:center}.home-hero-badge{margin:0 0 12px;font-size:13px;color:#38bdf8;font-weight:500;letter-spacing:.06em}.home-hero-wordmark{margin:0 0 14px;padding:0 0 .12em;border:none;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-weight:700;font-size:clamp(2rem,6.5vw,2.75rem);line-height:1.38;letter-spacing:.4em;text-align:center;background:linear-gradient(118deg,#ecfeff,#22d3ee 42%,#818cf8 88%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(34,211,238,.2))}.home-hero-slogan{margin:0 0 14px;font-family:Noto Sans SC,PingFang SC,sans-serif;font-size:clamp(.92rem,2.6vw,1.05rem);font-weight:500;letter-spacing:.32em;color:#a5f3fc}.home-hero-title{margin:0 0 12px;font-size:32px;font-weight:700;color:#f8fafc;letter-spacing:.02em}.home-hero-subtitle{margin:0 0 12px;font-size:17px;color:#94a3b8}.home-cards-wrap{flex:1;padding:36px 28px 48px;background:#f8fafc;position:relative;z-index:1}.home-cards-heading{margin:0 0 24px;font-size:18px;font-weight:600;color:#334155;text-align:center}.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;max-width:1200px;margin:0 auto}@media (max-width: 900px){.home-cards{grid-template-columns:1fr}}.home-cards-tech .home-card{padding:28px 24px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;text-decoration:none;color:inherit;transition:all .25s;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column;align-items:flex-start}.home-cards-tech .home-card:hover{border-color:#38bdf8;box-shadow:0 12px 32px #38bdf826;transform:translateY(-2px)}.home-cards-tech .home-card-industry:hover{border-color:#06b6d4;box-shadow:0 12px 32px #06b6d42e}.home-cards-tech .home-card-icon{width:52px;height:52px;color:#0ea5e9;margin-bottom:18px}.home-cards-tech .home-card-industry .home-card-icon{color:#06b6d4}.home-cards-tech .home-card-fund .home-card-icon{color:#3b82f6}.home-cards-tech .home-card-project .home-card-icon{color:#8b5cf6}.home-cards-tech .home-card-soe .home-card-icon{color:#b91c1c}.home-cards-tech .home-card-soe:hover{border-color:#ef4444;box-shadow:0 12px 32px #b91c1c2e}.home-cards-tech .home-card-soe .home-card-enter{color:#b91c1c}.home-cards-tech .home-card-training .home-card-icon{color:#059669}.home-cards-tech .home-card-training:hover{border-color:#10b981;box-shadow:0 12px 32px #10b98129}.home-cards-tech .home-card-training .home-card-enter{color:#059669}.home-cards-tech .home-card-title{margin:0 0 8px;font-size:18px;font-weight:600;color:#0f172a}.home-cards-tech .home-card-desc{margin:0 0 16px;font-size:14px;color:#64748b;line-height:1.5;flex:1}.home-cards-tech .home-card-enter{font-size:14px;color:#0ea5e9;font-weight:600}.home-cards-tech .home-card-industry .home-card-enter{color:#06b6d4}.home-cards-tech .home-card-fund .home-card-enter{color:#3b82f6}.home-cards-tech .home-card-project .home-card-enter{color:#8b5cf6}.policy-guide{padding:24px 28px 32px;max-width:960px;margin:0 auto}.policy-guide-header{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.policy-guide-title{margin:0 0 12px;font-size:22px;font-weight:600;color:#0f172a}.policy-guide-desc{margin:0;font-size:14px;color:#64748b;line-height:1.5}.policy-guide-keywords-bar{margin-top:12px;padding:10px 14px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.policy-guide-keywords-label{font-size:13px;color:#64748b;margin-right:10px}.policy-guide-keywords-tags{display:inline-flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.policy-guide-keyword-tag{font-size:13px;padding:4px 10px;background:#eff6ff;color:#1d4ed8;border-radius:6px;border:1px solid #bfdbfe;font-weight:500}.policy-imported-title .policy-kw,.policy-imported-summary .policy-kw{font-weight:700;color:#dc2626!important}.policy-guide-edit-bar{margin-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.policy-guide-edit-bar-bottom{margin-top:28px;padding-top:20px;border-top:1px solid #e2e8f0}.policy-edit-mode-btn{padding:6px 14px;font-size:14px;background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer}.policy-edit-mode-btn:hover{background:#e2e8f0;color:#0f172a}.policy-edit-mode-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.policy-edit-mode-hint{font-size:13px;color:#64748b}.policy-section{margin-bottom:32px}.policy-sections-vertical{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.policy-section-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;display:flex;flex-direction:column}.policy-section-card-head{padding:18px 20px 14px;border-bottom:1px solid #f1f5f9;background:linear-gradient(180deg,#f8fafc,#fff)}.policy-section-card .policy-section-title{margin:0 0 4px;font-size:17px;font-weight:600;color:#0f172a}.policy-section-card .policy-section-desc{margin:0;font-size:13px;color:#64748b}.policy-section-card .policy-imported-list{padding:14px 20px 20px;flex:1}.policy-section-card .policy-imported-item{padding:12px 0;border-bottom:1px solid #f1f5f9}.policy-section-card .policy-imported-item:last-child{border-bottom:none}.policy-section-empty{margin:0;padding:16px 0;font-size:14px;color:#94a3b8;text-align:center}.policy-section-title{margin:0 0 6px;font-size:18px;font-weight:600;color:#1e293b}.policy-section-desc{margin:0 0 16px;font-size:14px;color:#64748b;line-height:1.5}.policy-plan-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}.policy-plan-card{padding:20px 22px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000d}.policy-plan-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.policy-plan-period{font-size:13px;color:#3b82f6;font-weight:600;padding:4px 10px;background:#eff6ff;border-radius:6px}.policy-plan-short{font-size:17px;color:#0f172a}.policy-plan-name{margin:0 0 8px;font-size:14px;color:#475569;line-height:1.4}.policy-plan-desc{margin:0 0 14px;font-size:14px;color:#64748b;line-height:1.5}.policy-plan-paragraphs{margin:0 0 16px}.policy-para{margin:0 0 12px;font-size:15px;color:#334155;line-height:1.65}.policy-para:last-child{margin-bottom:0}.policy-kw{font-weight:700;color:#dc2626}.policy-plan-link-only{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.policy-plan-view-hint{font-size:14px;color:#64748b}.policy-plan-links{display:flex;flex-wrap:wrap;gap:10px}.policy-link{font-size:14px;color:#3b82f6;text-decoration:none;padding:6px 12px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;transition:background .2s,border-color .2s}.policy-link:hover{background:#eff6ff;border-color:#93c5fd}.policy-link-local{background:#eff6ff;border-color:#3b82f6;font-weight:600}.policy-link-local:hover{background:#dbeafe;border-color:#2563eb}.policy-link-inline{padding:4px 10px;font-size:13px}.policy-department-list{display:grid;gap:20px}.policy-department-block{padding:18px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000d}.policy-department-name{margin:0 0 14px;font-size:16px;font-weight:600;color:#1e293b;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.policy-doc-list{list-style:none;margin:0;padding:0}.policy-doc-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;padding:10px 0;border-bottom:1px solid #f1f5f9}.policy-doc-item:last-child{border-bottom:none;padding-bottom:0}.policy-doc-title{flex:1 1 100%;font-size:15px;color:#334155;line-height:1.4}.policy-doc-meta{font-size:13px;color:#94a3b8}.policy-guide-note{margin:24px 0 0;font-size:13px;color:#94a3b8;line-height:1.5}.policy-import-block{margin-top:16px;padding:12px 16px;background:#f8fafc;border-radius:8px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.policy-import-bottom{flex-direction:column;align-items:stretch;gap:12px;margin-top:8px}.policy-import-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.policy-import-label{font-size:14px;color:#475569;min-width:80px}.policy-import-select{font-size:14px;padding:6px 10px;border-radius:6px;border:1px solid #cbd5e1;min-width:260px}.policy-import-input{font-size:13px;max-width:220px}.policy-import-url-input{flex:1;min-width:200px;max-width:420px;font-size:13px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px}.policy-import-btn{padding:6px 14px;font-size:14px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer}.policy-import-btn:hover:not(:disabled){background:#2563eb}.policy-import-btn:disabled{opacity:.7;cursor:not-allowed}.policy-upload-msg{font-size:13px;color:#059669;margin-left:4px}.policy-upload-msg:empty{display:none}.policy-import-msg-block{margin:0;font-size:13px;color:#059669;width:100%}.policy-import-msg-block:empty{display:none}.policy-import-hint{display:block;width:100%;margin-top:4px;font-size:12px;color:#64748b}.policy-import-section{margin-top:2rem}.policy-imported-section{margin-top:1.5rem}.policy-imported-inline{margin-top:14px}.policy-subtitle{margin:10px 0 8px;font-size:14px;font-weight:600;color:#334155}.policy-imported-list{list-style:none;margin:0;padding:0}.policy-imported-item{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #e2e8f0}.policy-imported-item:last-child{border-bottom:none}.policy-imported-order{flex-shrink:0;display:flex;flex-direction:column;gap:2px}.policy-order-btn{width:28px;height:24px;padding:0;font-size:12px;line-height:1;background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer}.policy-order-btn:hover:not(:disabled){background:#e2e8f0;color:#0f172a}.policy-order-btn:disabled{opacity:.5;cursor:not-allowed}.policy-imported-body{flex:1;min-width:0}.policy-imported-title{margin:0 0 6px;font-size:16px;font-weight:600;color:#1e293b;line-height:1.35}.policy-imported-summary{margin:0 0 8px;font-size:14px;color:#64748b;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.policy-imported-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:#94a3b8}.policy-imported-meta-text{flex-shrink:0}.policy-delete-btn{padding:4px 10px;font-size:13px;background:#fff;color:#b91c1c;border:1px solid #fecaca;border-radius:6px;cursor:pointer}.policy-delete-btn:hover:not(:disabled){background:#fef2f2}.policy-delete-btn:disabled{opacity:.6;cursor:not-allowed}.policy-guest-hint{margin:0 0 12px;padding:10px 12px;font-size:13px;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px}.policy-view-page{max-width:820px;margin:0 auto;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.75;color:#334155}.policy-view-back{margin-bottom:16px;font-size:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.policy-view-back a{color:#3b82f6;text-decoration:none}.policy-view-back a:hover{text-decoration:underline}.policy-view-refresh-btn{padding:4px 10px;font-size:13px;background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer}.policy-view-refresh-btn:hover:not(:disabled){background:#e2e8f0;color:#0f172a}.policy-view-refresh-btn:disabled{opacity:.7;cursor:not-allowed}.policy-view-title{font-size:20px;color:#0f172a;margin:0 0 8px}.policy-view-meta{font-size:14px;color:#64748b;margin:0 0 20px}.policy-view-edit-title{margin:0 0 16px;padding:12px 0;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.policy-view-edit-label{font-size:14px;color:#475569}.policy-view-edit-input{flex:1;min-width:200px;font-size:14px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px}.policy-view-edit-btn{padding:6px 14px;font-size:14px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer}.policy-view-edit-btn:hover:not(:disabled){background:#2563eb}.policy-view-edit-btn:disabled{opacity:.7;cursor:not-allowed}.policy-view-edit-msg{font-size:13px;color:#059669;margin-left:4px}.policy-view-keywords-bar{margin-bottom:16px;padding:10px 14px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.policy-view-keywords-label{font-size:13px;color:#64748b;margin-right:10px}.policy-view-keywords-tags{display:inline-flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.policy-view-keyword-tag{font-size:13px;padding:4px 10px;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.policy-view-keyword-tag:hover{background:#e2e8f0;color:#475569}.policy-view-keyword-tag.active{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.policy-view-edit-title-bottom{margin-top:28px;padding-top:20px;border-top:1px solid #e2e8f0}.policy-view-page .policy-fulltext{margin:0 0 24px}.policy-view-page .policy-fulltext .policy-kw,.policy-view-page .policy-fulltext .policy-view-h3 .policy-kw,.policy-view-page .policy-fulltext .policy-view-p .policy-kw{font-weight:700;color:#dc2626}.policy-view-page .policy-view-h3{font-size:16px;color:#1e293b;margin:20px 0 8px}.policy-view-page .policy-view-p{margin:0 0 10px;text-align:justify}.policy-view-links{padding-top:20px;border-top:1px solid #e2e8f0;font-size:14px}.policy-view-links a{color:#2563eb}.policy-view-notice{background:#f8fafc;border-left:4px solid #3b82f6;padding:16px 20px;margin:20px 0;border-radius:0 8px 8px 0}.policy-view-notice p{margin:0 0 10px}.policy-view-notice ul{margin:8px 0 0;padding-left:22px}.policy-view-loading,.policy-view-error{padding:24px;text-align:center;color:#64748b}.policy-view-error{color:#dc2626}.fund-page,.project-page{flex:1;padding:24px;overflow:auto;background:#f8fafc}.fund-page-modern{padding:32px 28px}.fund-page-hero{margin-bottom:28px}.fund-page-title{margin:0 0 6px;font-size:24px;font-weight:600;color:#0f172a;letter-spacing:.02em}.fund-page-subtitle{margin:0;font-size:15px;color:#64748b}.fund-building-block{background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000f;overflow:hidden}.fund-building-content{padding:32px 28px;max-width:720px}.fund-building-icon{width:64px;height:64px;color:#3b82f6;opacity:.8;margin-bottom:20px}.fund-building-content h3{margin:0 0 12px;font-size:18px;color:#1e293b}.fund-building-content p{margin:0 0 16px;font-size:15px;color:#475569;line-height:1.6}.fund-ref-list{margin:0 0 20px;padding-left:22px;color:#475569;font-size:15px;line-height:1.8}.fund-ref-list li{margin-bottom:8px}.fund-ref-note{font-size:14px;color:#64748b;font-style:italic}.fund-export-placeholder{display:flex;gap:12px;margin-top:24px}.btn-disabled{opacity:.7;cursor:not-allowed}.fund-dashboard{flex:1;display:flex;flex-direction:column;min-height:0;background:#f9fafb;color:#111827}.fund-dashboard-loading{display:flex;align-items:center;justify-content:center;min-height:320px}.fund-dashboard-loading-text{font-size:15px;color:#6b7280}.fund-dashboard-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid #e5e7eb}.fund-dashboard-header-left{display:flex;align-items:center;gap:12px}.fund-dashboard-logo{width:44px;height:44px;background:#1a56db;color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px}.fund-dashboard-title{margin:0;font-size:18px;font-weight:700;color:#111827}.fund-dashboard-subtitle{margin:2px 0 0;font-size:12px;color:#6b7280}.fund-dashboard-header-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.fund-dashboard-time{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:14px}.fund-dashboard-select{background:transparent;border:none;font-size:14px;color:#374151;cursor:pointer;outline:none}.fund-dashboard-view-toggle{display:flex;gap:4px;padding:4px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.fund-dashboard-view-toggle button{padding:6px 12px;border:none;background:transparent;border-radius:6px;font-size:14px;color:#6b7280;cursor:pointer}.fund-dashboard-view-toggle button:hover{background:#f3f4f6;color:#374151}.fund-dashboard-view-toggle button.active{background:#fff;color:#1a56db;font-weight:500;box-shadow:0 1px 2px #0000000d}.fund-dashboard-fund-select{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#374151}.fund-dashboard-fund-label{white-space:nowrap}.fund-dashboard-body{display:flex;flex:1;min-height:0;overflow:hidden}.fund-dashboard-sidebar{width:260px;flex-shrink:0;background:#fff;border-right:1px solid #e5e7eb;overflow-y:auto;padding:16px}.fund-dashboard-sidebar-title{margin:0 0 12px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.fund-dashboard-nav{margin-bottom:20px}.fund-dashboard-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:14px;color:#4b5563;border-radius:8px;margin-bottom:4px}.fund-dashboard-nav-item.active{background:#1a56db1a;color:#1a56db;font-weight:500}.fund-dashboard-nav-item i{width:18px;text-align:center}.fund-dashboard-nav-group{margin-left:0}.fund-dashboard-nav-parent{cursor:default}.fund-dashboard-nav-sub{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 36px;font-size:13px;color:#4b5563;text-decoration:none;border-radius:6px;margin-bottom:2px}.fund-dashboard-nav-sub:hover{background:#f3f4f6;color:#111827}.fund-dashboard-nav-sub i{width:16px;text-align:center}.fund-dashboard-nav-sub-btn{width:100%;text-align:left;border:none;background:none;cursor:pointer;font:inherit}.fund-dashboard-filter-block{margin-bottom:16px}.fund-dashboard-filter-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#374151}.fund-dashboard-check{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:14px;color:#4b5563;cursor:pointer}.fund-dashboard-check input{accent-color:#1a56db}.fund-dashboard-apply-btn{width:100%;padding:8px 16px;background:#1a56db;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.fund-dashboard-apply-btn:hover{background:#1d4ed8}.fund-dashboard-main{flex:1;overflow-y:auto;padding:24px}.fund-dashboard-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:24px}@media (max-width: 1200px){.fund-dashboard-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.fund-dashboard-cards{grid-template-columns:1fr}}.fund-dashboard-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;align-items:flex-start;justify-content:space-between;transition:transform .2s}.fund-dashboard-card:hover{transform:translateY(-2px)}.fund-dashboard-card-label{margin:0;font-size:14px;color:#6b7280}.fund-dashboard-card-value{margin:4px 0 0;font-size:22px;font-weight:700;color:#111827}.fund-dashboard-card-change{margin:4px 0 0;font-size:13px;display:flex;align-items:center;gap:4px}.fund-dashboard-card-change.up,.fund-dashboard-card-change.down{color:#10b981}.fund-dashboard-card-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.fund-dashboard-card-icon.blue{background:#dbeafe;color:#1a56db}.fund-dashboard-card-icon.green{background:#d1fae5;color:#10b981}.fund-dashboard-card-icon.purple{background:#ede9fe;color:#8b5cf6}.fund-dashboard-card-icon.red{background:#fee2e2;color:#ef4444}.fund-dashboard-row{display:grid;gap:24px;margin-bottom:24px}.fund-dashboard-row-2{grid-template-columns:2fr 1fr}@media (max-width: 900px){.fund-dashboard-row-2{grid-template-columns:1fr}}.fund-dashboard-chart-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.fund-dashboard-chart-card.wide{grid-column:span 1}.fund-dashboard-chart-title{margin:0 0 16px;font-size:17px;font-weight:600;color:#111827}.fund-dashboard-chart-inner{height:256px;position:relative}.fund-dashboard-radar-wrap{height:260px}.fund-dashboard-rank-list{display:flex;flex-direction:column;gap:16px}.fund-dashboard-rank-item{display:flex;flex-direction:column;gap:4px}.fund-dashboard-rank-period{font-size:14px;color:#374151}.fund-dashboard-rank-value{font-size:14px;font-weight:700;color:#1a56db}.fund-dashboard-rank-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.fund-dashboard-rank-fill{height:100%;background:#1a56db;border-radius:4px;transition:width .3s}.fund-dashboard-rank-stars{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6;font-size:14px;color:#374151}.fund-dashboard-stars{color:#f59e0b;letter-spacing:2px}.fund-dashboard-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:12px;color:#4b5563}.fund-dashboard-legend-item{display:inline-flex;align-items:center;gap:6px}.fund-dashboard-legend-dot{width:10px;height:10px;border-radius:50%}.fund-dashboard-table-scroll{overflow-x:auto}.fund-dashboard-table{width:100%;border-collapse:collapse;font-size:14px}.fund-dashboard-table th,.fund-dashboard-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #e5e7eb}.fund-dashboard-table th{font-weight:600;color:#6b7280;text-transform:uppercase;font-size:12px;letter-spacing:.05em}.fund-dashboard-table td{color:#374151}.fund-dashboard-badge{padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:600}.fund-dashboard-badge.buy{background:#d1fae5;color:#065f46}.fund-dashboard-badge.sell{background:#fee2e2;color:#991b1b}.fund-dashboard-month-summary{margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:flex-end}.fund-dashboard-month-label{margin:0;font-size:14px;color:#6b7280}.fund-dashboard-month-value{margin:4px 0 0;font-size:18px;font-weight:700;color:#111827}.fund-dashboard-month-change{font-size:14px}.fund-dashboard-month-change.up{color:#10b981}.fund-dashboard-ai-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.fund-dashboard-ai-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.fund-dashboard-ai-title-wrap{display:flex;align-items:center;gap:12px}.fund-dashboard-ai-icon{width:40px;height:40px;background:#dbeafe;color:#1a56db;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}.fund-dashboard-ai-title{margin:0;font-size:17px;font-weight:600;color:#111827}.fund-dashboard-ai-more{background:none;border:none;font-size:14px;color:#1a56db;cursor:pointer;padding:0}.fund-dashboard-ai-more:hover{text-decoration:underline}.fund-dashboard-ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}@media (max-width: 768px){.fund-dashboard-ai-grid{grid-template-columns:1fr}}.fund-dashboard-ai-box{border:1px solid #e5e7eb;border-radius:8px;padding:16px}.fund-dashboard-ai-box.red{background:#fef2f2}.fund-dashboard-ai-box.green{background:#f0fdf4}.fund-dashboard-ai-box.blue{background:#eff6ff}.fund-dashboard-ai-box-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.fund-dashboard-ai-box-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center}.fund-dashboard-ai-box-icon.red{background:#fecaca;color:#ef4444}.fund-dashboard-ai-box-icon.green{background:#bbf7d0;color:#10b981}.fund-dashboard-ai-box-icon.blue{background:#bfdbfe;color:#1a56db}.fund-dashboard-ai-box-text{margin:0 0 12px;font-size:14px;color:#4b5563;line-height:1.5}.fund-dashboard-ai-box-link{background:none;border:none;font-size:12px;font-weight:500;cursor:pointer;padding:0}.fund-dashboard-ai-box-link.red{color:#ef4444}.fund-dashboard-ai-box-link.green{color:#10b981}.fund-dashboard-ai-box-link.blue{color:#1a56db}.fund-dashboard-ai-chart-wrap{margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.fund-dashboard-ai-chart-title{margin:0 0 12px;font-size:15px;font-weight:600;color:#374151}.fund-dashboard-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;font-size:14px;color:#6b7280}.fund-dashboard-footer-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#10b981;margin-right:6px;vertical-align:middle}.fund-dashboard-export-btn{background:none;border:none;font-size:13px;color:#1a56db;cursor:pointer;padding:0}.fund-dashboard-export-btn:hover{text-decoration:underline}.fund-dashboard-table-wrap{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 6px -1px #0000001a}.fund-dashboard-section-title{margin:0 0 16px;font-size:17px;font-weight:600;color:#111827}.fund-dashboard-section{margin-bottom:24px}.fund-dashboard-fund-projects-cards{grid-template-columns:repeat(2,1fr)}.fund-dashboard-fund-projects-actions{margin-top:12px;margin-bottom:16px}.fund-dashboard-fund-projects-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#1a56db;text-decoration:none}.fund-dashboard-fund-projects-link:hover{text-decoration:underline}.page-title{margin:0 0 20px;font-size:22px;font-weight:600;color:#0f172a}.project-page-modern .project-tabs{background:#fff;border-radius:10px 10px 0 0;padding:0 8px;border:1px solid #e2e8f0;border-bottom:none;box-shadow:0 1px 2px #0000000a}.project-tabs{display:flex;gap:0;border-bottom:1px solid #e2e8f0;margin-bottom:0}.project-tabs button{padding:14px 22px;border:none;background:none;cursor:pointer;color:#64748b;font-size:15px;font-weight:500;border-radius:8px;margin:6px 4px 0;transition:color .2s,background .2s}.project-tabs button:hover{color:#334155;background:#f1f5f9}.project-tabs button.active{color:#3b82f6;font-weight:600;background:#eff6ff}.project-content{flex:1;overflow:auto;background:#fff;border:1px solid #e2e8f0;border-top:none;border-radius:0 0 10px 10px;padding:24px;box-shadow:0 1px 3px #0000000f}.project-hint{margin:0 0 16px;font-size:14px;color:#64748b;line-height:1.5}.project-invested-block{max-width:960px}.project-placeholder{padding:24px 0}.project-placeholder h3{margin:0 0 12px;font-size:17px;color:#1e293b}.project-placeholder p{margin:0 0 16px;font-size:15px;color:#64748b}.project-table-placeholder{width:100%;border-collapse:collapse;font-size:14px;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0}.project-table-placeholder th,.project-table-placeholder td{padding:12px 16px;text-align:left;border-bottom:1px solid #e2e8f0}.project-table-placeholder th{background:#f8fafc;font-weight:600;color:#334155}.project-table-placeholder .empty-row{color:#94a3b8;text-align:center;padding:24px}.page-missing{padding:48px 24px;text-align:center;color:#64748b;font-size:16px}.project-focus-block{max-width:100%}.project-focus-add{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.project-focus-add h4{margin:0 0 8px;font-size:16px;color:#1e293b}.project-focus-add-desc{margin:0 0 14px;font-size:14px;color:#64748b}.project-focus-add-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.project-focus-input{flex:1;min-width:200px;padding:10px 14px;border:1px solid #cbd5e1;border-radius:8px;font-size:15px}.project-focus-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.project-focus-add-err{margin:8px 0 0;color:#dc2626;font-size:14px}.project-focus-guest-hint{margin:8px 0 0;color:#94a3b8;font-size:14px}.project-focus-layout{display:grid;grid-template-columns:280px 1fr;gap:0;min-height:360px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}@media (max-width: 640px){.project-focus-layout{grid-template-columns:1fr}}.project-focus-sidebar{padding:16px;background:#f8fafc;border-right:1px solid #e2e8f0}.project-focus-sidebar h4{margin:0 0 12px;font-size:15px;color:#334155}.project-focus-list{list-style:none;margin:0;padding:0}.project-focus-list li{padding:12px 14px;margin-bottom:4px;border-radius:8px;cursor:pointer;font-size:14px;color:#334155;transition:background .15s}.project-focus-list li:hover{background:#e2e8f0}.project-focus-list li.active{background:#dbeafe;color:#1e40af;font-weight:500}.project-focus-detail{padding:20px;overflow:auto;background:#fff}.project-focus-detail .muted{margin:0;color:#94a3b8;font-size:14px}.project-focus-report h3{margin:0 0 12px;font-size:18px;color:#1e293b}.project-focus-report .summary{margin:0 0 16px;font-size:15px;color:#475569;line-height:1.6}.project-focus-report .section{margin-bottom:16px}.project-focus-report .section strong{display:block;margin-bottom:4px;font-size:14px;color:#64748b}.project-focus-report .section p{margin:0;font-size:14px;color:#334155;line-height:1.5}.project-mgmt-page{flex:1;display:flex;flex-direction:column;min-height:0;background:#f9fafb;color:#111827}.project-mgmt-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid #e5e7eb}.project-mgmt-header-left{display:flex;align-items:center;gap:12px}.project-mgmt-logo{width:44px;height:44px;background:#1a56db;color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px}.project-mgmt-title{margin:0;font-size:18px;font-weight:700;color:#111827}.project-mgmt-subtitle{margin:2px 0 0;font-size:12px;color:#6b7280}.project-mgmt-header-right{display:flex;align-items:center;gap:16px}.project-mgmt-search-wrap{position:relative}.project-mgmt-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:14px}.project-mgmt-search-input{padding:8px 12px 8px 36px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-width:200px}.project-mgmt-search-input:focus{outline:none;border-color:#1a56db;box-shadow:0 0 0 2px #1a56db33}.project-mgmt-link-fund{font-size:14px;color:#1a56db;text-decoration:none}.project-mgmt-link-fund:hover{text-decoration:underline}.project-mgmt-body{display:flex;flex:1;min-height:0;overflow:hidden}.project-mgmt-sidebar{width:260px;flex-shrink:0;background:#fff;border-right:1px solid #e5e7eb;overflow-y:auto;padding:16px}.project-mgmt-sidebar-title{margin:0 0 12px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.project-mgmt-nav{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.project-mgmt-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:14px;color:#4b5563;border:none;background:none;border-radius:8px;cursor:pointer;text-align:left;width:100%}.project-mgmt-nav-item:hover{background:#f3f4f6;color:#111827}.project-mgmt-nav-item.active{background:#1a56db1a;color:#1a56db;font-weight:500}.project-mgmt-nav-item i{width:18px;text-align:center}.project-mgmt-fund-select{width:100%;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;margin-bottom:8px}.project-mgmt-sidebar-hint{margin:0;font-size:12px;color:#9ca3af}.project-mgmt-main{flex:1;overflow-y:auto;padding:24px}.project-mgmt-invested{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.project-mgmt-invested-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:16px}.project-mgmt-invested-title{margin:0;font-size:20px;font-weight:700;color:#111827}.project-mgmt-invested-actions{display:flex;align-items:center;gap:12px}.project-mgmt-invested-search{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-width:180px}.project-mgmt-btn-add{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#1a56db;color:#fff;border-radius:8px;font-size:14px;text-decoration:none;border:none;cursor:pointer}.project-mgmt-btn-add:hover{background:#1d4ed8;color:#fff}.project-mgmt-btn-add:disabled{opacity:.6;cursor:not-allowed}.project-create-inline{margin-bottom:16px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb;padding:12px}.project-create-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px}.project-create-grid input,.project-create-grid select{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-size:13px;background:#fff}.project-create-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:10px}.project-mgmt-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:12px 0;border-bottom:1px solid #e5e7eb}.project-mgmt-filter-row{display:flex;align-items:center;gap:8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:6px 12px}.project-mgmt-filter-label{font-size:14px;font-weight:500;color:#374151;white-space:nowrap}.project-mgmt-filter-select{background:transparent;border:none;font-size:14px;color:#111827;cursor:pointer;outline:none}.project-mgmt-table-wrap{overflow-x:auto}.project-mgmt-loading{padding:24px;text-align:center;color:#6b7280}.project-mgmt-table{width:100%;border-collapse:collapse;font-size:14px}.project-mgmt-table th,.project-mgmt-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.project-mgmt-table th{background:#f9fafb;font-weight:600;color:#6b7280;text-transform:uppercase;font-size:12px;letter-spacing:.05em}.project-mgmt-table td{color:#374151}.project-mgmt-th-op,.project-mgmt-td-op{text-align:right}.project-mgmt-empty{color:#9ca3af;text-align:center;padding:24px}.project-mgmt-badge{padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:600}.project-mgmt-badge.stage{background:#dbeafe;color:#1e40af}.project-mgmt-badge.yes{background:#d1fae5;color:#065f46}.project-mgmt-badge.no{background:#fee2e2;color:#991b1b}.project-mgmt-op-link{color:#1a56db;text-decoration:none;margin-right:12px}.project-mgmt-op-link:hover{text-decoration:underline}.project-mgmt-op-sep{color:#6b7280;margin-right:12px;font-size:13px;cursor:pointer}.project-mgmt-op-sep.danger{color:#ef4444}.project-mgmt-td-op button.project-mgmt-op-link,.project-mgmt-td-op button.project-mgmt-op-sep{border:none;background:transparent;padding:0}.project-mgmt-table td input{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:6px 8px;font-size:13px}.project-mgmt-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb;font-size:14px;color:#6b7280}.project-mgmt-pagination-info{font-weight:500}.project-mgmt-report{padding:24px 0}.project-mgmt-report .project-mgmt-invested-title{margin-bottom:12px}.project-mgmt-hint{margin:0;font-size:14px;color:#6b7280}.project-mgmt-invested-hint{margin:4px 0 0;font-size:13px;color:#6b7280}.project-focus-tpl{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px -1px #0000001a}.project-focus-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:12px}.project-focus-head-actions{display:flex;align-items:center;gap:12px}.project-focus-tpl-hint{margin:0 0 16px;font-size:13px;color:#6b7280}.project-focus-tpl-layout{display:flex;gap:24px;min-height:420px}.project-focus-tpl-list{width:33.333%;flex-shrink:0;border-right:1px solid #e5e7eb;padding-right:16px;overflow-y:auto;max-height:calc(100vh - 320px)}.project-focus-tpl-empty{margin:0;font-size:14px;color:#6b7280}.project-focus-tpl-empty a{color:#1a56db;text-decoration:none}.project-focus-tpl-empty a:hover{text-decoration:underline}.project-focus-tpl-item{padding:12px;margin-bottom:8px;border-radius:0 8px 8px 0;border-left:4px solid transparent;cursor:pointer;transition:background .2s}.project-focus-tpl-item:hover{background:#f9fafb;border-left-color:#d1d5db}.project-focus-tpl-item.active{background:#1a56db14;border-left-color:#1a56db}.project-focus-tpl-item-name{font-weight:500;color:#111827;margin-bottom:4px}.project-focus-tpl-item-meta{margin:4px 0 0;font-size:12px;color:#6b7280}.project-focus-tpl-detail{flex:1;overflow-y:auto;padding-left:24px}.project-focus-tpl-detail-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:20px}.project-focus-tpl-detail-title{margin:0;font-size:20px;font-weight:700;color:#111827}.project-focus-tpl-detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:14px;color:#6b7280}.project-focus-tpl-detail-btns{display:flex;gap:8px}.project-focus-tpl-btn-outline{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:14px;color:#374151;cursor:pointer}.project-focus-tpl-btn-outline:hover{background:#f9fafb}.project-focus-tpl-tabs{display:flex;gap:24px;border-bottom:1px solid #e5e7eb;margin-bottom:16px}.project-focus-tpl-tabs button{padding:12px 4px;border:none;background:none;font-size:14px;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.project-focus-tpl-tabs button:hover{color:#111827}.project-focus-tpl-tabs button.active{color:#1a56db;font-weight:500;border-bottom-color:#1a56db}.project-focus-tpl-tab-content{font-size:14px;color:#374151}.project-focus-tpl-section-title{margin:0 0 12px;font-size:13px;font-weight:600;color:#6b7280}.project-focus-tpl-grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.project-focus-tpl-dl{margin:0}.project-focus-tpl-dl dt{font-size:12px;color:#6b7280;margin-bottom:2px}.project-focus-tpl-dl dd{margin:0 0 12px;font-size:14px;color:#111827}.project-focus-tpl-p{margin:0 0 16px;line-height:1.6}.project-report-tpl{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px -1px #0000001a}.project-report-tpl-head{margin-bottom:20px}.project-report-tpl-body{display:grid;grid-template-columns:1fr 2fr;gap:24px}@media (max-width: 900px){.project-report-tpl-body{grid-template-columns:1fr}}.project-report-tpl-left,.project-report-tpl-right{min-width:0}.project-report-tpl-panel{border:1px solid #e5e7eb;border-radius:8px;padding:16px}.project-report-tpl-panel-title{margin:0 0 16px;font-size:15px;font-weight:600;color:#111827}.project-report-tpl-search{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;margin-bottom:12px}.project-report-tpl-list{max-height:320px;overflow-y:auto;margin-bottom:12px}.project-report-tpl-check{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px;color:#374151;cursor:pointer}.project-report-tpl-check input{accent-color:#1a56db}.project-report-tpl-actions{display:flex;justify-content:space-between;font-size:13px}.project-report-tpl-link{background:none;border:none;color:#6b7280;cursor:pointer;padding:0}.project-report-tpl-link:hover{color:#1a56db;text-decoration:underline}.project-report-tpl-field{margin-bottom:16px}.project-report-tpl-label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.project-report-tpl-input,.project-report-tpl-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.project-report-tpl-radios{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-report-tpl-radio{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer}.project-report-tpl-radio input{accent-color:#1a56db}.project-report-tpl-textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;resize:vertical;min-height:120px}.project-report-tpl-upload{padding:24px;border:2px dashed #d1d5db;border-radius:8px;text-align:center;font-size:14px;color:#6b7280;background:#f9fafb}.project-report-tpl-btns{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.project-report-tpl-btn-outline{padding:8px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:14px;color:#374151;cursor:pointer}.project-report-tpl-btn-outline:hover{background:#f9fafb}.graph-container-eto{height:calc(100vh - 128px);min-height:400px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;overflow:hidden}.eto-flow-root{display:grid;grid-template-columns:var(--eto-sidebar-w, 200px) minmax(0,1fr) var(--eto-detail-w, 200px);gap:0;height:100%;overflow:hidden}.eto-flow-root--sidebar-collapsed{grid-template-columns:fit-content(132px) minmax(0,1fr) var(--eto-detail-w, 200px)}@media (max-width: 1200px){.eto-flow-root{grid-template-columns:1fr;overflow:auto}.eto-flow-sidebar{border-right:none;border-bottom:1px solid #e2e8f0;position:static;max-height:none}.eto-flow-detail{border-left:none;border-top:1px solid #e2e8f0;position:static;max-height:none}}.eto-flow-sidebar{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px;background:#f8fafc;border-right:1px solid #e2e8f0;display:flex;flex-direction:column}.eto-flow-center{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding:20px 16px;background:#fff;min-width:0;-webkit-overflow-scrolling:touch}.eto-flow-detail{height:100%;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0;background:#fafafa;border-left:1px solid #e2e8f0;display:flex;flex-direction:column}.eto-flow-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.eto-flow-sidebar-head .eto-flow-sidebar-title{margin-bottom:0;flex:1;min-width:0}.eto-flow-sidebar-title{font-size:14px;font-weight:700;color:#1e3a5f;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}.eto-flow-sidebar-collapse-btn{flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid #cbd5e1;border-radius:6px;background:#fff;cursor:pointer;font-size:14px;line-height:1;color:#475569;display:inline-flex;align-items:center;justify-content:center}.eto-flow-sidebar-collapse-btn:hover{background:#e2e8f0;border-color:#94a3b8}.eto-flow-sidebar-collapsed-top{display:flex;justify-content:flex-end;margin-bottom:8px}.eto-flow-sidebar--collapsed{padding:8px 6px;width:-moz-max-content;width:max-content;max-width:132px;min-width:0;height:auto;align-self:start;box-sizing:border-box;justify-self:start}.eto-flow-sidebar--collapsed .eto-flow-sidebar-search-section{margin-top:0;padding-top:0;border-top:none}.eto-flow-sidebar--collapsed .eto-flow-sidebar-search-section .eto-flow-breadcrumb-label{display:none}.eto-flow-sidebar--collapsed .eto-flow-sidebar-search-inline{flex-direction:column;align-items:stretch;width:100%;max-width:120px}.eto-flow-sidebar--collapsed .eto-flow-sidebar-search-inline input{width:100%;min-width:0;box-sizing:border-box;font-size:12px;padding:6px 8px}.eto-flow-sidebar--collapsed .eto-flow-sidebar-search-inline button{width:100%;padding:6px 8px;font-size:12px}.eto-flow-minimap{display:flex;flex-direction:column;gap:8px;margin-bottom:2px}.eto-flow-minimap-block{padding:12px 14px;text-align:left;border:1px solid #bfdbfe;border-radius:6px;background:#eff6ff;color:#1e40af;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s}.eto-flow-minimap-block:hover{background:#dbeafe;border-color:#60a5fa}.eto-flow-minimap-block--active{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 2px 8px #2563eb4d}.eto-flow-breadcrumb{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.eto-flow-breadcrumb--after-minimap{margin-top:10px;padding-top:10px}.eto-flow-breadcrumb-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.eto-flow-sidebar-search-section{margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0}.eto-flow-sidebar-search-inline{display:flex;flex-direction:row;align-items:center;gap:8px;width:100%;max-width:none;flex:initial}.eto-flow-sidebar-search-inline input{flex:1;min-width:0;padding:8px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px}.eto-flow-sidebar-search-inline button{flex-shrink:0;padding:8px 14px;background:#1890ff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;white-space:nowrap}.eto-flow-sidebar-stats--after-search{margin:10px 0 0;padding-top:10px;border-top:1px solid #e2e8f0}.eto-flow-crumb-phase{font-size:12px;color:#64748b;margin-bottom:4px}.eto-flow-crumb-card{font-size:14px;font-weight:600;color:#0f172a;padding:8px 10px;background:#e0f2fe;border-radius:6px;border-left:3px solid #0284c7}.eto-flow-crumb-empty{font-size:13px;color:#94a3b8}.eto-flow-relations{margin:12px 0 0;padding:10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;color:#475569}.eto-flow-relations summary{cursor:pointer;font-weight:600;color:#1e40af;-webkit-user-select:none;-moz-user-select:none;user-select:none}.eto-flow-relations summary::-webkit-details-marker{margin-right:6px}.eto-flow-relations-body{margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0;line-height:1.55}.eto-flow-relations-body p{margin:0 0 10px}.eto-flow-relations-body p:last-child{margin-bottom:0}.eto-flow-relations-body code{font-size:11px;background:#f1f5f9;padding:1px 4px;border-radius:4px}.eto-flow-relations-note{font-size:11px;color:#94a3b8}.eto-flow-chart{box-sizing:border-box;--eto-flow-3col: repeat(3, minmax(0, 1fr));--eto-flow-chart-inner-max: min(100%, var(--eto-flow-chart-inner-max, 830px));--eto-flow-col-gap: var(--eto-flow-col-gap, 32px);--eto-flow-main-pad-y: 7px;--eto-flow-main-pad-x: 22px;--eto-flow-main-min-h: 52px;--eto-flow-main-radius: 14px;width:100%;max-width:var(--eto-flow-chart-inner-max);margin-left:auto;margin-right:auto}@media (max-width: 1100px){.eto-flow-chart{--eto-flow-col-gap: 20px}}@media (max-width: 640px){.eto-flow-chart{--eto-flow-col-gap: 12px}}.eto-flow-chart .eto-flow-row .eto-flow-cell,.eto-flow-chart .eto-flow-row--aligned .eto-flow-cell{justify-content:stretch}.eto-flow-chart .eto-flow-row .eto-flow-cell .eto-flow-card,.eto-flow-chart .eto-flow-row--aligned .eto-flow-cell .eto-flow-card{flex:1 1 auto;align-self:stretch;width:100%;max-width:100%;box-sizing:border-box}.eto-flow-chart .eto-flow-card-equipment,.eto-flow-chart .eto-flow-card-materials,.eto-flow-chart .eto-flow-card-main{max-width:100%}.eto-flow-chart .eto-flow-phase--fab .eto-flow-card-main{padding:var(--eto-flow-main-pad-y) var(--eto-flow-main-pad-x);min-height:var(--eto-flow-main-min-h);border-radius:var(--eto-flow-main-radius)}.eto-flow-chart .eto-flow-phase--fab .eto-flow-card-main .eto-flow-card-head{margin-bottom:4px}.eto-flow-chart .eto-flow-phase--fab .eto-flow-card-main .eto-flow-card-title-main{font-size:15px;line-height:1.25}.eto-flow-phase{margin-bottom:12px;padding:16px 16px 20px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0f172a0a}.eto-flow-phase--design{background:linear-gradient(180deg,#eff6ff,#f8fafc);border-color:#bfdbfe;padding:12px 12px 20px;box-sizing:border-box}.eto-flow-phase--fab{background:linear-gradient(180deg,#f0fdf4,#f8fafc);border-color:#86efac}.eto-flow-phase--assembly{background:linear-gradient(180deg,#faf5ff,#f8fafc);border-color:#d8b4fe}.eto-flow-phase--test{background:linear-gradient(180deg,#fffbeb,#f8fafc);border-color:#fcd34d}.eto-flow-phase--energy,.eto-flow-phase--chip{background:linear-gradient(180deg,#eff6ff,#f8fafc);border-color:#93c5fd}.eto-flow-phase--infra{background:linear-gradient(180deg,#f5f3ff,#f8fafc);border-color:#c4b5fd}.eto-flow-phase--model{background:linear-gradient(180deg,#fdf4ff,#f8fafc);border-color:#e879f9}.eto-flow-phase--app{background:linear-gradient(180deg,#ecfdf5,#f8fafc);border-color:#6ee7b7}.ai-stack-cake-banner{margin:0 0 16px;padding:12px 16px;background:linear-gradient(100deg,#0f172a,#312e81 42%,#1e1b4b);color:#e2e8f0;border-radius:10px;font-size:13px;line-height:1.55;border:1px solid rgba(148,163,184,.35)}.ai-stack-cake-banner strong{color:#fff}.ai-stack-cake-banner em{color:#a5b4fc;font-style:normal}.eto-flow-embodied-app{margin-top:4px;display:flex;flex-direction:column;gap:12px}.eto-flow-embodied-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#6ee7b72e;border:1px solid rgba(110,231,183,.35);color:#064e3b}.eto-flow-embodied-sub{font-size:12px;color:#064e3bbf;white-space:nowrap}.eto-flow-embodied-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:stretch}.eto-flow-embodied-frame{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #e2e8f0;background:#ffffffb3;border-radius:12px;padding:12px;cursor:pointer;min-height:110px;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;text-align:left;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.eto-flow-embodied-frame--with-inline-insight{min-height:0}.eto-flow-embodied-frame:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0f172a14;border-color:#22c55e59}.eto-flow-embodied-frame--active{border-color:#22c55eb3;box-shadow:0 0 0 3px #22c55e29;background:#ecfdf5e6}.eto-flow-embodied-frame-title{font-size:14px;font-weight:700;color:#0f172a;line-height:1.35}.eto-flow-embodied-frame-meta{margin-top:8px;font-size:12px;color:#047857;font-weight:600}.eto-flow-embodied-other{margin-top:6px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.eto-flow-embodied-other .eto-flow-cell{min-width:0}@media (max-width: 1400px){.eto-flow-embodied-other{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 840px){.eto-flow-embodied-other{grid-template-columns:1fr}}.eto-flow-model-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:stretch}.eto-flow-model-row-item{min-width:0}.eto-flow-chip-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}.eto-flow-chip-board-item{min-width:0}@media (max-width: 1500px){.eto-flow-chip-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.eto-flow-chip-board{grid-template-columns:1fr}}.eto-flow-infra-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}.eto-flow-infra-board-item{min-width:0}.eto-flow-infra-board-extra{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media (max-width: 1500px){.eto-flow-infra-board,.eto-flow-infra-board-extra{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.eto-flow-infra-board,.eto-flow-infra-board-extra{grid-template-columns:1fr}}.eto-flow-energy-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}.eto-flow-energy-board-item{min-width:0}@media (max-width: 1200px){.eto-flow-energy-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.eto-flow-energy-board{grid-template-columns:1fr}}.eto-flow-phase--fab-grid{padding:12px;box-sizing:border-box}.eto-flow-fab-header{display:grid;grid-template-columns:var(--eto-flow-3col);gap:var(--eto-flow-col-gap, 24px);margin-bottom:16px;padding:8px 0;background:#fff9;border-radius:8px;font-size:12px;font-weight:600;color:#475569;text-align:center;border:1px solid #e2e8f0}.eto-flow-fab-col{text-transform:uppercase;letter-spacing:.03em}.eto-flow-fab-col-equipment{color:#059669}.eto-flow-fab-col-main{color:#0369a1;font-size:14px;font-weight:700}.eto-flow-fab-col-materials{color:#b45309}.eto-flow-fab-header>*{min-width:0}.eto-flow-rows--fab{display:flex;flex-direction:column;gap:16px}.eto-flow-row--aligned{display:grid;grid-template-columns:var(--eto-flow-3col);gap:var(--eto-flow-col-gap, 24px);align-items:stretch;min-height:auto}.eto-flow-chart .eto-flow-row .eto-flow-cell{display:flex;flex-direction:column;min-width:0;min-height:0}.eto-flow-row--aligned .eto-flow-cell{height:100%}.eto-flow-row--aligned .eto-flow-cell .eto-flow-card{min-width:0;min-height:auto}.eto-flow-chart .eto-flow-row .eto-flow-cell>.eto-flow-card.eto-flow-card-expanded{flex:1 1 auto;min-height:0;height:100%}.eto-flow-chart .eto-flow-row--aligned .eto-flow-cell-main .eto-flow-card-main:not(.eto-flow-card-expanded){min-height:var(--eto-flow-main-min-h)}.eto-flow-chart .eto-flow-row--aligned .eto-flow-cell-equipment .eto-flow-card:not(.eto-flow-card-expanded),.eto-flow-chart .eto-flow-row--aligned .eto-flow-cell-materials .eto-flow-card:not(.eto-flow-card-expanded){min-height:52px}.eto-flow-cell-equipment,.eto-flow-cell-materials{display:flex;flex-direction:column;justify-content:flex-start;padding-top:8px}.eto-flow-cell-main{display:flex;flex-direction:column}.eto-flow-phase-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.eto-flow-phase-bar{width:4px;min-height:48px;background:linear-gradient(180deg,#2563eb,#38bdf8);border-radius:2px;flex-shrink:0}.eto-flow-phase-title{margin:0;font-size:18px;font-weight:700;color:#0f172a}.eto-flow-phase-sub{margin:4px 0 0;font-size:12px;color:#64748b}.eto-flow-rows{display:flex;flex-direction:column;gap:20px}.eto-flow-row{display:grid;grid-template-columns:var(--eto-flow-3col);gap:var(--eto-flow-col-gap, 24px);align-items:stretch}@media (max-width: 800px){.eto-flow-row{grid-template-columns:1fr}}.eto-flow-cell{min-height:8px}.eto-flow-cell-empty{pointer-events:none}.eto-flow-card{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:10px 12px;cursor:pointer;text-align:left;transition:all .2s;box-shadow:0 1px 2px #0f172a0a;min-height:60px;display:flex;flex-direction:column}.eto-flow-card:hover{border-color:#38bdf8;box-shadow:0 4px 12px #0ea5e91f;transform:translateY(-1px)}.eto-flow-card-selected{border-color:#0284c7;box-shadow:0 0 0 2px #0284c740,0 4px 12px #0ea5e926}.eto-flow-card-expanded{box-shadow:0 4px 16px #0ea5e933}.eto-flow-card-equipment{background:#f0fdf4;border-color:#86efac;min-height:56px;position:relative}.eto-flow-card-equipment:hover{border-color:#22c55e;background:#ecfdf5}.industry-ic-graph-scroll .eto-flow-card-equipment:hover{transform:none}.eto-flow-card-main{background:linear-gradient(180deg,#f0f9ff,#e0f2fe);border-color:#7dd3fc;border-width:2px;padding:12px var(--eto-flow-main-pad-x, 18px);min-height:var(--eto-flow-main-min-h, 72px)}.eto-flow-card-main:hover{border-color:#0ea5e9;background:linear-gradient(180deg,#e0f2fe,#bae6fd)}.eto-flow-card-main.eto-flow-card-selected{border-color:#0284c7;background:linear-gradient(180deg,#bae6fd,#7dd3fc)}.eto-flow-card-materials{background:#fffbeb;border-color:#fcd34d;min-height:56px}.eto-flow-card-materials:hover{border-color:#f59e0b;background:#fef3c7}.eto-flow-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.eto-flow-card-head--center{justify-content:center;position:relative}.eto-flow-card-title--center{text-align:center}.eto-flow-card-head--center .eto-flow-card-lock{position:absolute;left:0;font-size:12px;background:transparent;border:none;cursor:pointer;opacity:.6;transition:opacity .15s}.eto-flow-card-head--center .eto-flow-card-lock:hover{opacity:1}.eto-flow-card-head--center .eto-flow-card-expand--right,.eto-flow-card-head--center .eto-flow-card-info-btn--right{position:absolute;right:0}.eto-flow-card-title{font-size:var(--eto-card-title-size, 14px);font-weight:600;color:#0c4a6e;line-height:1.3}.eto-flow-card-title-main{font-size:var(--eto-card-title-main-size, 17px);font-weight:700;color:#0369a1}.eto-flow-card-bullets-inline{margin:0;padding-left:14px;font-size:10px;color:#475569;line-height:1.4;opacity:.9}.eto-flow-card-bullets-inline li{margin-bottom:1px}.eto-flow-card-hint{margin-top:auto;padding-top:6px;font-size:10px;color:#94a3b8;font-style:italic}.eto-flow-card-meta{margin-top:auto;padding-top:6px;font-size:var(--eto-card-meta-size, 10px);color:#64748b}.eto-flow-card-info-btn{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1px solid #0ea5e9;background:#ffffffe6;color:#0284c7;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.eto-flow-card-info-btn:hover{background:#0ea5e9;color:#fff}.eto-flow-card-expand{flex-shrink:0;width:18px;height:18px;border-radius:4px;border:1px solid #cbd5e1;background:#fffc;color:#64748b;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.eto-flow-card-expand:hover{background:#fff;border-color:#94a3b8;color:#475569}.eto-flow-card-definition{margin:10px 0 8px;padding:10px 12px;background:#fffffff2;border-left:3px solid #0ea5e9;border-radius:6px;font-size:11px;color:#334155;line-height:1.5}.eto-flow-card-definition-label{font-size:9px;font-weight:700;color:#0369a1;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.eto-flow-card-definition-text{margin:0}.eto-flow-parts-popup{position:absolute;left:calc(100% + 8px);top:0;width:160px;background:#faf5fff2;border:1px solid #d8b4fe;border-radius:8px;padding:10px;box-shadow:0 4px 12px #0000001a;opacity:0;visibility:hidden;transform:translate(-8px);transition:all .2s;z-index:100;pointer-events:none}.eto-flow-parts-popup--left{left:auto;right:calc(100% + 8px);transform:translate(8px)}.eto-flow-parts-popup--left.eto-flow-parts-popup--visible{transform:translate(0)}.eto-flow-parts-popup--visible{opacity:1;visibility:visible;transform:translate(0);pointer-events:auto}.eto-flow-parts-popup-title{font-size:11px;font-weight:700;color:#7c3aed;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed #d8b4fe}.eto-flow-parts-list{display:flex;flex-direction:column;gap:4px}.eto-flow-part-item{font-size:10px;color:#6b7280;padding:4px 6px;background:#fff9;border-radius:4px;border:1px solid transparent;transition:all .15s}.eto-flow-part-item:hover{background:#fff;border-color:#d8b4fe;color:#7c3aed}.eto-flow-card-bullets{margin:8px 0 0;padding-left:16px;font-size:11px;color:#334155;line-height:1.45}.eto-flow-card-bullets--compact{padding-left:14px;font-size:10px}.eto-flow-card-bullets-meta{list-style:none;margin-left:-18px;margin-top:8px;font-size:11px;color:#64748b}.eto-flow-card-meta{margin-top:auto;padding-top:8px;font-size:11px;color:#64748b;border-top:1px dashed rgba(203,213,225,.5)}.eto-flow-card-segments{margin-top:12px;padding-top:12px;border-top:1px dashed #cbd5e1}.eto-flow-card-segments-head{font-size:11px;font-weight:600;color:#475569;margin-bottom:8px;text-transform:uppercase;letter-spacing:.03em}.eto-flow-card-segments-count{font-weight:700;color:#0284c7}.eto-flow-card-segments-list{display:flex;flex-wrap:wrap;gap:6px;max-height:160px;overflow-y:auto;padding-right:4px}.eto-flow-segment-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;cursor:pointer;font-size:12px;transition:all .15s}.eto-flow-segment-chip:hover{border-color:#38bdf8;background:#f0f9ff;box-shadow:0 1px 3px #0ea5e91f}.eto-flow-segment-chip--readonly{cursor:default;background:#f8fafc}.eto-flow-segment-chip--readonly:hover{border-color:#e2e8f0;background:#f8fafc;box-shadow:none}.eto-flow-segment-chip-name{color:#0f172a;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eto-flow-segment-chip-level{font-size:10px;padding:1px 5px;border-radius:4px;font-weight:600}.eto-flow-segment-chip-level--2{background:#dbeafe;color:#1e40af}.eto-flow-segment-chip-level--3{background:#dcfce7;color:#166534}.eto-flow-segment-chip-level--4{background:#f3e8ff;color:#7c3aed}.eto-flow-card-segments-meta{margin-top:8px;font-size:11px;color:#94a3b8;flex-shrink:0}.eto-flow-card-empty-hint{margin-top:10px;font-size:12px;color:#94a3b8;font-style:italic}.eto-flow-chart .eto-flow-row .eto-flow-card-expanded .eto-flow-card-segments:not(.eto-flow-card-segments--fab-branch){flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin-top:12px}.eto-flow-chart .eto-flow-row .eto-flow-card-expanded .eto-flow-card-segments:not(.eto-flow-card-segments--fab-branch) .eto-flow-card-segments-list{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;flex-direction:column;flex-wrap:nowrap;align-items:stretch;align-content:flex-start}.eto-flow-chart .eto-flow-row .eto-flow-card-expanded .eto-flow-card-segments:not(.eto-flow-card-segments--fab-branch) .eto-flow-card-segments-list>.eto-flow-hier-item{width:100%;min-width:0}.eto-flow-chart .eto-flow-row .eto-flow-card-expanded .eto-flow-card-segments:not(.eto-flow-card-segments--fab-branch) .eto-flow-card-segments-meta{margin-top:auto;padding-top:8px;border-top:1px dashed rgba(203,213,225,.6)}.eto-flow-card-bullets--center{text-align:center;padding-left:0;list-style:none}.eto-flow-card-bullets--center li,.eto-flow-card-meta--center,.eto-flow-card-definition--center,.eto-flow-card-definition-label--center,.eto-flow-card-definition-text--center,.eto-flow-card-segments-head--center,.eto-flow-card-segments-meta--center,.eto-flow-card-empty-hint--center,.eto-flow-card-hint--center{text-align:center}.eto-flow-between-phases{text-align:center;color:#0284c7;font-size:22px;font-weight:300;padding:8px 0 16px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.eto-flow-detail-inner{padding:16px;display:flex;flex-direction:column;gap:12px;flex:0 0 auto;overflow:visible}.eto-flow-detail-head,.eto-flow-segment-chips,.eto-flow-add-company{flex-shrink:0}.eto-flow-detail-head h3{margin:0 0 10px;font-size:20px;font-weight:700;color:#0f172a}.eto-flow-detail-path{margin:0 0 12px;font-size:12px;color:#64748b;font-family:ui-monospace,SFMono-Regular,monospace;word-break:break-all;padding:6px 10px;background:#f1f5f9;border-radius:4px}.eto-flow-detail-definition{margin:0 0 16px;padding:14px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:10px}.eto-flow-detail-definition-label{font-size:12px;font-weight:600;color:#0369a1;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.eto-flow-detail-definition-text{margin:0;font-size:15px;line-height:1.6;color:#1e3a5f}.eto-flow-segment-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.eto-flow-chip{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#475569;cursor:pointer}.eto-flow-chip:hover{border-color:#0284c7;color:#0369a1;background:#f0f9ff}.eto-flow-chip-more{font-size:12px;color:#94a3b8;align-self:center}.eto-flow-add-company{display:flex;flex-direction:column;gap:6px;padding:12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px dashed #cbd5e1;border-radius:10px;margin-bottom:12px}.eto-flow-add-company-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 16px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.eto-flow-add-company-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0284c74d}.eto-flow-add-company-btn:active{transform:translateY(0)}.eto-flow-add-company-hint{font-size:12px;color:#64748b;text-align:center;line-height:1.4}.eto-flow-add-company-title{font-size:13px;color:#0f172a}.eto-flow-add-company-title strong{margin-left:6px;font-weight:700}.eto-flow-add-company-search{width:100%;padding:10px 12px;border:1px solid #dbeafe;border-radius:8px;font-size:14px;outline:none;background:#fff}.eto-flow-add-company-search:focus{border-color:#7dd3fc;box-shadow:0 0 0 3px #38bdf833}.eto-flow-add-company-candidates{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.eto-flow-add-company-candidate{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:13px}.eto-flow-add-company-candidate:hover{border-color:#7dd3fc;background:#f0f9ff}.eto-flow-add-company-candidate--active{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.eto-flow-add-company-candidate-name{color:#0f172a;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eto-flow-add-company-candidate-code{font-size:12px;color:#dc2626;font-weight:600}.eto-flow-add-company-actions{display:flex;gap:10px;margin-top:12px}.eto-flow-add-company-cancel{flex:0 0 auto;padding:10px 14px;font-size:14px;font-weight:600;border-radius:8px;border:1px solid #cbd5e1;background:#fff;cursor:pointer}.eto-flow-add-company-cancel:hover{border-color:#93c5fd;background:#f0f5ff}.eto-flow-integrated-menu-block{border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:10px 12px;margin-bottom:10px}.eto-flow-integrated-menu-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.eto-flow-integrated-menu-title-text{font-size:14px;font-weight:800;color:#0f172a}.eto-flow-integrated-menu-title-meta{font-size:12px;color:#64748b}.eto-flow-integrated-menu-chips{display:flex;flex-direction:column;gap:8px}.eto-flow-integrated-menu-chips-row{display:flex;flex-wrap:wrap;gap:6px}.eto-flow-integrated-menu-chips-row--four{padding-left:12px}.eto-flow-integrated-menu-chips-row--five{padding-left:24px}.eto-flow-hier-item{display:flex;flex-direction:column;gap:8px}.eto-flow-hier-children{margin-left:12px;padding-left:12px;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px}.eto-flow-main-metrics{margin-top:10px;border-top:1px solid #e2e8f0;padding-top:10px;display:flex;flex-direction:column;gap:8px}.eto-flow-main-metric-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.eto-flow-main-metric-label{font-size:11px;color:#64748b;font-weight:700;white-space:nowrap}.eto-flow-main-metric-value{font-size:11px;color:#0f172a;text-align:right;min-height:14px}.eto-flow-process-insight--summary{margin-top:8px;padding:8px 10px;border-radius:10px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:6px}.eto-flow-process-insight--embodied-inline{margin-top:8px;margin-left:-2px;margin-right:-2px;padding:6px 0 0;border:none;border-radius:0;border-top:1px solid rgba(226,232,240,.85);background:transparent;gap:3px}.eto-flow-process-insight--embodied-inline .eto-flow-pi-row{font-size:10px;gap:4px}.eto-flow-process-insight--embodied-inline .eto-flow-pi-label{width:4em;font-size:10px}.eto-flow-process-insight--embodied-inline .eto-flow-pi-bar-track{max-width:72px;height:4px}.eto-flow-process-insight--embodied-inline .eto-flow-pi-pct{font-size:9px;min-width:4.8em}.eto-flow-process-insight--embodied-inline .eto-flow-pi-stars,.eto-flow-process-insight--embodied-inline .eto-flow-pi-value{font-size:10px}.eto-flow-process-insight--embodied-inline .eto-flow-pi-cr{font-size:10px;line-height:1.25}.eto-flow-pi-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;line-height:1.35}.eto-flow-pi-label{color:#64748b;font-weight:700;flex-shrink:0;width:4.5em}.eto-flow-pi-bar-cell{display:flex;align-items:center;gap:8px;flex:1;min-width:0;justify-content:flex-end}.eto-flow-pi-bar-track{flex:1;max-width:120px;height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.eto-flow-pi-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#0ea5e9);transition:width .25s ease}.eto-flow-pi-pct{font-weight:800;color:#0f172a;font-variant-numeric:tabular-nums;min-width:5.2em;text-align:right;white-space:nowrap;font-size:10px}.eto-flow-pi-value{text-align:right;color:#0f172a;font-weight:600;flex:1;min-width:0}.eto-flow-pi-stars{letter-spacing:1px;color:#ca8a04;font-size:12px}.eto-flow-pi-level{font-weight:700;color:#64748b;margin-left:4px}.eto-flow-pi-cr{font-size:10px;line-height:1.4;font-weight:600}.eto-flow-process-bottleneck{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fffbeb;border:1px solid #fde68a}.eto-flow-process-bottleneck-title{font-size:11px;font-weight:900;color:#92400e;margin-bottom:6px;letter-spacing:.02em}.eto-flow-process-bottleneck-list{margin:0;padding-left:18px;font-size:11px;color:#78350f;line-height:1.45;display:flex;flex-direction:column;gap:4px}.eto-flow-process-definition{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;font-size:11px;color:#475569;line-height:1.5}.eto-flow-card-segments--fab-branch{margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0}.eto-flow-card-segments--fab-branch:first-of-type{margin-top:6px;padding-top:0;border-top:none}.eto-flow-production-lines{display:flex;flex-direction:column;gap:10px}.eto-flow-production-line{border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:10px 12px}.eto-flow-production-line-title{font-size:13px;font-weight:900;color:#0f172a;margin-bottom:8px}.eto-flow-production-line-metrics{display:flex;flex-direction:column;gap:6px}.eto-flow-card-segments-preview{margin-top:auto;padding-top:6px;display:flex;flex-wrap:wrap;gap:6px}.eto-flow-card-segments-preview--center{justify-content:center}.eto-flow-design-layout{display:grid;grid-template-columns:var(--eto-flow-3col);gap:var(--eto-flow-col-gap, 24px);width:100%;box-sizing:border-box;align-items:stretch}.eto-flow-design-col{min-width:0;display:flex;flex-direction:column;align-items:stretch}.eto-flow-design-layout .eto-flow-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.eto-flow-design-right-card{min-width:0;width:100%;max-width:100%;display:flex;flex-direction:column;align-items:stretch}.eto-flow-design-right-card .eto-flow-card{max-width:100%}.eto-flow-design-col--left{position:sticky;top:48px;align-self:start}.eto-flow-design-col--center{display:flex;flex-direction:column;align-items:stretch}.eto-flow-design-col--center .eto-flow-card{flex:1;max-width:100%;min-height:var(--eto-flow-main-min-h, 52px);padding:var(--eto-flow-main-pad-y, 7px) var(--eto-flow-main-pad-x, 22px);border-radius:var(--eto-flow-main-radius, 14px)}.eto-flow-design-col--right{display:flex;flex-direction:column;gap:12px}@media (max-width: 1200px){.eto-flow-design-layout{grid-template-columns:1fr}.eto-flow-design-col--left{position:static}}.eto-flow-company-list{flex:0 0 auto;overflow:visible}.eto-flow-placeholder{font-size:13px;color:#94a3b8;margin:12px 0;line-height:1.5}.eto-flow-company-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;margin-bottom:6px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;transition:border-color .15s,background .15s}.eto-flow-company-row:hover{border-color:#7dd3fc;background:#f0f9ff}.eto-flow-company-name{flex:1;color:#0f172a}.eto-flow-company-code{font-size:12px;color:#dc2626;font-weight:600;font-variant-numeric:tabular-nums}.eto-flow-company-section{margin-bottom:14px}.eto-flow-company-section:last-child{margin-bottom:0}.eto-flow-company-section-title{font-size:12px;font-weight:700;color:#475569;letter-spacing:.06em;margin:0 0 8px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.eto-flow-company-section-hint{font-weight:500;color:#94a3b8;font-size:11px;letter-spacing:0}.eto-flow-company-section--intl{padding-top:4px;border-top:1px dashed #e2e8f0}.eto-flow-placeholder--inline{margin:0 0 8px!important;font-size:12px!important}.eto-flow-benchmark-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;margin-bottom:6px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;font-size:13px;color:#334155}.eto-flow-benchmark-name{flex:1;font-weight:500}.eto-flow-benchmark-cc{font-size:12px;color:#64748b;font-weight:600}.eto-flow-benchmark-tag{font-size:10px;color:#64748b;background:#e2e8f0;padding:2px 6px;border-radius:4px}.eto-flow-company-row--intl-db{border-style:dashed}.toolbar-intl-benchmark{display:inline-flex;align-items:center;gap:6px;margin-left:8px;font-size:13px;color:#334155;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toolbar-intl-benchmark input{cursor:pointer}@supports (padding: env(safe-area-inset-bottom)){.app{padding-bottom:env(safe-area-inset-bottom)}.modal-inner{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}
