:root{--bg:#f6f8f5;--bg-deep:#eef2ee;--panel:#ffffff;--panel-solid:#ffffff;--panel-soft:#f8fbf7;--line:rgba(25,79,54,0.14);--line-strong:rgba(25,79,54,0.24);--text:#1c261f;--muted:#5a6a5f;--brand:#1e6f4a;--brand-strong:#145038;--accent:#2c8a5a;--accent-soft:rgba(44,138,90,0.12);--warn-bg:#fff3df;--warn-text:#9a5300;--error-bg:#fee2e2;--error-text:#b42318;--info-bg:#e9f6ef;--info-text:#175e3f;--shadow:0 18px 40px rgba(16,38,26,0.12);--shadow-soft:0 10px 24px rgba(16,38,26,0.08);--radius-xl:20px;--radius-lg:16px;--radius-md:12px;--radius-sm:10px;--page-width:1280px;--page-gutter:clamp(18px,3vw,32px);--panel-outline:rgba(25,79,54,0.16);--panel-inner:rgba(255,255,255,0.82)}html{scroll-behavior:smooth}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(circle at 12% 12%,rgba(44,138,90,.12),transparent 42%),radial-gradient(circle at 88% 8%,rgba(245,166,35,.12),transparent 36%),linear-gradient(180deg,#f9fbf8 0,var(--bg) 55%,var(--bg-deep) 100%);color:var(--text);font-family:Source Han Sans SC,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;text-rendering:optimizeLegibility}body.no-page-scroll{height:100vh;overflow:hidden;display:flex;flex-direction:column}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(0deg,rgba(255,255,255,.58),rgba(255,255,255,.58)),url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");opacity:.12;mix-blend-mode:normal}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button,input,select{font:inherit}h1,h2,h3{font-family:Source Han Sans SC,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;letter-spacing:.01em}h1,h2,h3,p,ul{margin-top:0}h1{margin-bottom:14px;font-size:clamp(30px,3.4vw,44px);line-height:1.18}h2{font-size:clamp(20px,2vw,26px)}h2,h3{margin-bottom:10px}h3{font-size:18px}.detail-caption,.detail-label,.field span,.metric-label,.run-card-meta,.section-copy,.table-subtitle,li,p{color:var(--muted)}.detail-caption{margin-top:6px;font-size:12px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;padding:22px var(--page-gutter) 0}.topbar-inner{max-width:var(--page-width);width:min(100%,var(--page-width));margin:0 auto;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft)}.brand-mark{font-family:Source Han Sans SC,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:32px;line-height:1.05;font-weight:800;color:var(--brand-strong);letter-spacing:.01em}.brand-subtitle{margin-top:6px;font-size:13px;color:var(--muted)}.account-actions,.nav-links{display:flex;gap:12px;flex-wrap:wrap}.account-actions{align-items:center;justify-content:flex-end}.account-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.92);color:var(--brand-strong);font-size:12px;font-weight:600}.account-chip strong{font-size:13px}.account-expiry,.account-role{color:var(--muted);font-weight:500}.account-expiry{font-size:12px}.account-logout{border:1px solid var(--line);border-radius:999px;padding:10px 18px;background:#ffffff;color:var(--brand-strong);font-weight:600;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.account-logout:hover{border-color:rgba(25,79,54,.4);background:rgba(44,138,90,.12);transform:translateY(-1px)}.nav-links a{padding:12px 20px;min-height:44px;font-weight:600;letter-spacing:.01em;border-radius:12px;border:1px solid var(--line);background:#ffffff;color:var(--brand-strong);box-shadow:0 10px 20px rgba(16,38,26,.08);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.nav-links a.active{border-color:rgba(44,138,90,.5);background:rgba(44,138,90,.12);color:#165238;box-shadow:inset 0 0 0 1px rgba(44,138,90,.12),0 12px 24px rgba(44,138,90,.16)}.nav-links a:hover{border-color:rgba(44,138,90,.45);background:rgba(44,138,90,.1);transform:translateY(-1px);box-shadow:0 14px 28px rgba(16,38,26,.12)}.app-shell{padding:32px var(--page-gutter) 72px;display:flex;flex-direction:column;align-items:center;gap:26px}.no-page-scroll .app-shell{flex:1 1;min-height:0;overflow:hidden;padding-bottom:28px}.dashboard-shell,.page-shell{max-width:var(--page-width);width:min(100%,var(--page-width));margin:0 auto;display:grid;grid-gap:26px;gap:26px}.hero-card,.panel{width:100%;max-width:var(--page-width);margin:0 auto}.dashboard-shell>*,.page-shell>*{width:100%}.no-page-scroll .dashboard-shell,.no-page-scroll .page-shell{height:100%;min-height:0}.viewport-shell{height:100%;grid-template-rows:min-content minmax(0,1fr);overflow:hidden}.viewport-header,.viewport-shell{min-height:0;display:grid;grid-gap:16px;gap:16px}.viewport-body{min-height:0;overflow:auto}.no-page-scroll .viewport-header{max-height:42vh;overflow:auto;padding-right:6px}.note-expanded .viewport-header{max-height:60vh}.hero-card,.panel{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow);scroll-margin-top:120px}.hero-card:after,.panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:transparent}.hero-card:before,.panel:before{content:"";position:absolute;inset:12px;border-radius:calc(var(--radius-xl) - 12px);border:1px solid rgba(25,79,54,.08);pointer-events:none}.hero-card,.panel{padding:36px}.hero-card{background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(245,250,246,.92))}.hero-card-strong,.page-banner{padding:40px 38px}.compact-hero{padding:26px 28px}.compact-hero .hero-layout{grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr);gap:20px}.hero-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr);grid-gap:28px;gap:28px;align-items:stretch}.home-hero-grid,.home-page .hero-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr)}.hero-sidecard{padding:16px 18px;border-radius:14px;border:1px solid var(--panel-outline);background:var(--panel-inner);display:grid;grid-gap:12px;gap:12px}.recommendations-page .run-sidecard{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.92);border:1px solid rgba(91,67,48,.16);box-shadow:0 10px 22px rgba(58,41,24,.08)}.recommendations-page .run-sidecard .run-card{padding:14px;border-radius:14px;background:rgba(255,255,255,.8);border:1px solid rgba(91,67,48,.12);box-shadow:none}.recommendations-page .run-sidecard .run-card-title{font-size:15px}.recommendations-page .run-sidecard .run-card-meta{font-size:12px}.status-sidecard{text-align:left;gap:14px}.status-sidecard .step-number{font-size:36px}.status-overview{display:grid;grid-gap:12px;gap:12px}.status-sidecard .result-callout{margin-top:6px;padding:14px}.status-sidecard .mini-stats-grid{grid-template-columns:1fr}.status-sidecard .detail-card,.status-sidecard .metric-card{padding:10px 12px}.status-sidecard .metric-stack{gap:12px}.status-sidecard .metric-stack>.metric-card{margin-bottom:0}.status-sidecard .metric-stack>.mini-stats-grid,.status-sidecard .result-callout .mini-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-sidecard .result-callout .actions-row{margin-top:10px}.status-sidecard .detail-label,.status-sidecard .metric-label{font-size:12px}.status-sidecard .detail-value,.status-sidecard .metric-value{margin-top:6px}.status-sidecard .actions-row{flex-direction:column;align-items:stretch}.status-sidecard .actions-row a,.status-sidecard .actions-row button{width:100%;text-align:center}.status-sidecard .info-box,.status-sidecard .warning-box{font-size:13px}.hero-sidecard.simple-status{text-align:center;align-content:center;gap:6px}.step-number{font-size:42px;font-weight:700;color:var(--brand-strong)}.step-title{font-size:14px;color:var(--muted)}.compact-hero .hero-sidecard{padding:14px 16px;border-radius:18px;gap:10px}.status-chip-row,.stepper-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.status-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel-solid);font-size:13px;font-weight:600;color:var(--brand-strong)}.status-chip.done{background:rgba(14,90,72,.12);border-color:rgba(14,90,72,.2);color:#0e5a48}.status-chip.todo{background:rgba(94,106,97,.12);border-color:rgba(94,106,97,.2);color:var(--muted)}.status-chip.doing{background:rgba(194,118,52,.16);border-color:rgba(194,118,52,.3);color:#8a4e1b}.stepper-tabs{margin-top:10px}.stepper-tab{border:1px solid var(--line);border-radius:999px;padding:10px 16px;background:var(--panel-solid);font-size:13px;font-weight:600;color:var(--brand-strong);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}.stepper-tab:hover{border-color:var(--brand);box-shadow:none}.stepper-tab.active{border-color:rgba(91,67,48,.6);background:rgba(199,155,91,.16);box-shadow:none}.stepper-tab:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}.note-collapse{margin-top:14px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--panel-soft)}.note-collapse summary{cursor:pointer;font-weight:600;color:var(--brand-strong)}.note-collapse summary::-webkit-details-marker,.note-collapse summary::marker{display:none;content:""}.note-collapse summary{list-style:none;display:inline-flex;align-items:center;gap:8px}.note-collapse summary:after{content:"展开";font-size:12px;color:var(--muted);padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:var(--panel-solid)}.note-collapse[open] summary:after{content:"收起"}.note-collapse[open]{background:var(--panel);border-style:solid}.note-collapse>div{margin-top:14px}.note-collapse[open] .note-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.note-collapse[open] .note-card{padding:16px;border-radius:16px;background:rgba(255,255,255,.9)}.note-collapse .note-card{background:rgba(255,255,255,.74)}.compact-summary-grid,.note-collapse .note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-summary-grid{display:grid;grid-gap:12px;gap:12px}.compact-summary-card{padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--panel-solid);display:grid;grid-gap:8px;gap:8px}.compact-summary-card span{font-size:12px;color:var(--muted)}.compact-summary-card strong{font-size:18px;color:var(--brand-strong)}.eyebrow,.panel-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:none;color:var(--accent)}.stat-line{display:flex;justify-content:space-between;gap:16px;padding-top:12px;border-top:1px dashed rgba(73,64,44,.18)}.stat-line strong{color:var(--brand-strong)}.panel-head{justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--line)}.panel-head:before{content:"";width:34px;height:3px;background:linear-gradient(90deg,rgba(44,138,90,.95),rgba(245,166,35,.75));border-radius:999px;align-self:center}.panel-head p{max-width:520px;margin-bottom:0}.panel-head h2{margin-bottom:6px}.actions-row,.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;align-items:center}.actions-row button,.primary-link,.secondary-link{border:1px solid transparent;border-radius:999px;padding:12px 22px;cursor:pointer;transition:border-color .18s ease,background .18s ease}.actions-row button.secondary{background:#ffffff;border-color:var(--line);color:var(--brand-strong);box-shadow:none}.actions-row button,.primary-link{background:linear-gradient(135deg,#2c8a5a,#1f6b45);color:#f3fff9;box-shadow:none}.actions-row button:hover,.primary-link:hover{filter:brightness(.96)}.secondary-link{background:#ffffff;border-color:var(--line);color:var(--brand-strong)}.text-link{color:var(--brand);font-weight:700}.actions-row button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.section-grid{display:grid;grid-template-columns:1fr;grid-gap:22px;gap:22px}.equal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-detail-grid{grid-template-columns:1.2fr .8fr}.recommendation-grid{grid-template-columns:340px minmax(0,1fr)}.workspace-grid{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px;align-items:start}.recommendation-workspace{grid-template-columns:1fr}.workspace-main,.workspace-side{display:grid;grid-gap:22px;gap:22px}.viewport-shell .workspace-grid{height:100%;min-height:0}.viewport-shell .workspace-main,.viewport-shell .workspace-side{min-height:0;overflow:auto;padding-right:6px}.viewport-shell .sticky-panel{position:static}.preview-table-wrap{max-height:32vh}.run-list{max-height:34vh;overflow:auto;padding-right:4px}.sticky-panel{position:-webkit-sticky;position:sticky;top:110px}.detail-grid,.form-grid,.hero-grid,.journey-grid,.mini-stats-grid{display:grid;grid-gap:16px;gap:16px}.journey-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.note-grid,.step-grid,.summary-grid{display:grid;grid-gap:16px;gap:16px}.step-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-soft{background:rgba(255,250,244,.88)}.panel-muted{background:rgba(248,241,232,.94)}.note-card,.step-card,.summary-card{padding:22px;border-radius:var(--radius-lg);border:1px solid var(--line);background:rgba(255,252,248,.9);display:grid;grid-gap:14px;gap:14px}.step-card strong{font-size:16px;color:var(--brand-strong)}.stepper-card{text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.stepper-card:hover{transform:translateY(-1px);border-color:rgba(16,68,57,.3);box-shadow:0 10px 24px rgba(16,68,57,.12)}.stepper-card.active{border-color:rgba(16,68,57,.5);background:linear-gradient(135deg,rgba(16,68,57,.12),rgba(255,255,255,.92));box-shadow:inset 0 0 0 1px rgba(16,68,57,.14),0 12px 24px rgba(16,68,57,.16)}.stepper-card:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.status-badge.done{background:rgba(14,90,72,.12);color:#0e5a48}.status-badge.doing{background:rgba(194,118,52,.16);color:#8a4e1b}.status-badge.todo{background:rgba(94,106,97,.12);color:var(--muted)}.summary-label{font-size:12px;color:var(--muted)}.summary-value{font-size:20px;font-weight:700;color:var(--brand-strong)}.note-card strong{color:var(--brand-strong);font-size:15px}.home-hero{position:relative}.home-hero:before{content:"";position:absolute;inset:-20% 15% auto -20%;height:70%;background:radial-gradient(circle at 20% 30%,rgba(245,166,35,.18),transparent 55%),radial-gradient(circle at 80% 40%,rgba(44,138,90,.16),transparent 50%);opacity:.8;pointer-events:none}.home-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);grid-gap:24px;gap:24px;align-items:center}.home-hero-actions{align-content:start;gap:14px;width:100%}.home-hero-actions .hero-actions{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;align-items:stretch;margin-top:0}.home-hero-actions .hero-actions a{text-align:center;width:100%}.home-page .hero-card{padding:44px 42px}.home-page .panel{background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(246,251,247,.9))}.home-page .flow-grid{gap:18px}.home-page .panel-head{justify-content:flex-start;align-items:flex-start;text-align:left}.home-page .panel-head>div{text-align:left}.home-page .flow-step{min-height:170px;align-content:start;gap:12px}.home-page .flow-step:before{content:"";width:36px;height:3px;border-radius:999px;background:var(--accent)}.home-page .flow-step h3{margin-bottom:6px}.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.chip{padding:6px 12px;border-radius:999px;border:1px solid rgba(16,68,57,.16);background:rgba(255,255,255,.7);font-size:12px;font-weight:600;color:var(--brand-strong)}.hero-metrics{display:grid;grid-gap:12px;gap:12px}.metric-tile{padding:14px 16px;border-radius:18px;border:1px solid rgba(16,68,57,.12);background:rgba(255,255,255,.8);display:grid;grid-gap:6px;gap:6px}.metric-tile span{font-size:12px;color:var(--muted)}.metric-tile strong{font-size:18px;color:var(--brand-strong)}.flow-grid,.scene-grid,.value-grid{display:grid;grid-gap:16px;gap:16px}.flow-grid,.value-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scene-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.flow-step,.scene-card,.value-card{padding:18px;border-radius:var(--radius-lg);border:1px solid var(--line);background:rgba(255,255,255,.65);display:grid;grid-gap:10px;gap:10px}.flow-step{position:relative;padding-top:18px;background:rgba(255,255,255,.78);box-shadow:0 12px 24px rgba(58,41,24,.08)}.flow-step-index{display:none}.home-list{display:grid;grid-gap:10px;gap:10px;padding-left:18px}.home-list li::marker{color:var(--accent)}.cta-panel{text-align:center;display:grid;grid-gap:12px;gap:12px}.cta-panel p{margin:0 auto;max-width:720px}.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.imports-page .panel,.rules-page .panel{background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(246,251,247,.9))}.imports-page .panel-head p,.rules-page .panel-head p{max-width:560px}.inline-date-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;align-items:start}.inline-date-row .field{min-width:0}.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mini-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.single-column-grid{grid-template-columns:1fr}.detail-card,.journey-card,.metric-card,.run-card{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-lg)}.detail-card,.journey-card,.metric-card{padding:20px}.journey-card{display:grid;grid-gap:16px;gap:16px;align-content:start}.field{display:flex;flex-direction:column;gap:10px;font-size:16px}.field-label{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--text);font-weight:600}.field-note{font-size:12px;line-height:1.5}.checkbox-row{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--text)}.checkbox-row input{width:16px;height:16px;margin:0}.quick-range{display:flex;flex-wrap:wrap;gap:8px}.quick-range button{border:1px solid rgba(30,111,74,.2);border-radius:999px;padding:8px 14px;background:rgba(255,255,255,.84);color:var(--brand-strong);font-size:13px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.quick-range button:hover{transform:translateY(-1px);border-color:rgba(30,111,74,.4);background:rgba(255,255,255,.98)}.required-mark{justify-content:center;min-width:40px;padding:2px 8px;background:rgba(176,51,34,.12);color:var(--error-text);font-size:11px;font-weight:700;font-style:normal;letter-spacing:.04em}.loading-banner,.loading-inline,.required-mark{display:inline-flex;align-items:center;border-radius:999px}.loading-banner,.loading-inline{gap:10px;padding:10px 14px;background:rgba(44,138,90,.12);color:var(--brand-strong);font-size:13px;font-weight:600}.loading-banner{margin-top:14px}.loading-inline{margin-bottom:12px}.spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(44,138,90,.2);border-top:2px solid var(--brand);animation:spin .8s linear infinite}.field input,.field select,.table-input{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;background:var(--panel-solid);color:var(--text);outline:none;max-width:none;font-size:16px}.field input,.field select,.table-input,.upload-card{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.upload-card{position:relative;padding:26px;border-radius:18px;border:2px dashed rgba(44,138,90,.35);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,251,246,.94));display:grid;grid-gap:10px;gap:10px;align-items:center;text-align:center}.upload-card:hover{border-color:rgba(44,138,90,.6);box-shadow:0 14px 28px rgba(44,138,90,.2);transform:translateY(-1px)}.upload-card.has-file{border-color:rgba(44,138,90,.7);background:linear-gradient(180deg,rgba(234,255,244,.98),rgba(246,255,250,.94));box-shadow:0 16px 30px rgba(44,138,90,.18)}.file-input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-card-body{display:grid;grid-gap:6px;gap:6px;justify-items:center}.upload-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;color:#2c8a5a;background:rgba(44,138,90,.12);border:1px solid rgba(44,138,90,.22);margin-bottom:4px}.upload-icon svg{width:30px;height:30px}.upload-title{font-weight:700;color:var(--brand-strong)}.upload-helper,.upload-subtitle{font-size:12px;color:var(--muted)}.upload-action{margin-top:8px;display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;padding:9px 18px;border-radius:999px;background:linear-gradient(135deg,#2c8a5a,#1f6b45);color:#f3fff9;font-size:13px;font-weight:600;letter-spacing:.02em}.upload-card:hover .upload-action{filter:brightness(.98);box-shadow:0 10px 20px rgba(44,138,90,.24)}.upload-filename{font-size:12px;color:var(--brand-strong);padding:8px 12px;border-radius:12px;background:rgba(44,138,90,.08);border:1px solid rgba(44,138,90,.18);word-break:break-all}.field input:focus,.field select:focus,.table-input:focus{border-color:rgba(30,111,74,.6);box-shadow:0 0 0 3px rgba(44,138,90,.16);background:#ffffff}.detail-value,.metric-value{margin-top:8px;font-size:28px;line-height:1.1;font-weight:700}.detail-value.compact,.metric-value.small{font-size:24px}.compact-text,.detail-value.tiny,.metric-value.slim{font-size:16px;line-height:1.45;font-family:PingFang SC,Microsoft YaHei,sans-serif;word-break:break-all}.metric-stack,.run-list{display:grid;grid-gap:14px;gap:14px}.run-card{padding:18px;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.run-card:hover{transform:translateY(-1px);border-color:rgba(30,111,74,.24)}.run-card.selected{border-color:rgba(30,111,74,.34);background:linear-gradient(135deg,rgba(30,111,74,.12),rgba(30,111,74,.02)),var(--panel-soft);box-shadow:inset 0 0 0 1px rgba(30,111,74,.18)}.run-card-title{font-weight:700;color:var(--brand-strong)}.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--line);background:var(--panel-solid);box-shadow:none}.recommendation-table-wrap{min-height:440px;max-height:560px}.recommendation-table-wrap table{min-width:680px}table{width:100%;border-collapse:collapse;background:transparent}td,th{padding:16px 14px;border-bottom:1px solid rgba(73,64,44,.08);text-align:left;vertical-align:top;font-size:15px}tbody tr:nth-child(odd) td{background:rgba(44,138,90,.05)}thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#f1f6f2;color:var(--muted);font-weight:700}.clickable-row{cursor:pointer}.clickable-row:hover td{background:rgba(44,138,90,.12)}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.status-pill.recommend{background:rgba(44,138,90,.16);color:#14543a}.status-pill.observe{background:rgba(245,166,35,.16);color:#9a4d00}.status-pill.pause{background:rgba(197,54,54,.14);color:#b42318}.detail-columns{display:grid;grid-template-columns:1fr;grid-gap:18px;gap:18px;margin-top:16px}.detail-divider{height:1px;margin:18px 0;background:linear-gradient(90deg,transparent,rgba(73,64,44,.18),transparent)}.result-callout{padding:16px;color:var(--muted);display:grid;grid-gap:10px;gap:10px;margin-top:18px;border-radius:16px;border:1px solid var(--line);background:rgba(244,251,246,.92)}.empty-state,.error-box,.info-box,.warning-box{border-radius:18px;padding:16px 18px}.auth-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(36,28,20,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:60}.auth-card{width:min(92vw,520px)}.info-box{background:var(--info-bg);color:var(--info-text)}.warning-box{background:var(--warn-bg);color:var(--warn-text)}.error-box{background:var(--error-bg);color:var(--error-text)}.empty-state{background:#f7efe3;color:var(--muted)}.feature-list{display:grid;grid-gap:10px;gap:10px;padding-left:18px}.feature-list li::marker{color:var(--accent)}.compact-grid{margin-top:16px}.pagination-row{justify-content:flex-end}.dashboard-shell>*{animation:none}.dashboard-shell>:nth-child(2){animation-delay:60ms}.dashboard-shell>:nth-child(3){animation-delay:.12s}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1180px){.dashboard-detail-grid,.detail-columns,.detail-grid,.equal-grid,.flow-grid,.form-grid,.hero-grid,.hero-layout,.home-hero-grid,.inline-date-row,.journey-grid,.note-grid,.recommendation-workspace,.scene-grid,.section-grid,.step-grid,.summary-grid,.value-grid,.workspace-grid{grid-template-columns:1fr}.sticky-panel{position:static}}@media (max-width:720px){.topbar{padding:14px 14px 0}.topbar-inner{padding:14px 16px;align-items:flex-start;flex-direction:column}.nav-links{width:100%}.account-actions{width:100%;justify-content:flex-start}.nav-links a{flex:1 1 auto;text-align:center}.app-shell{padding:16px 14px 34px}.hero-card,.panel{padding:20px}.panel-head{align-items:start}.actions-row,.panel-head{flex-direction:column}.actions-row>*{width:100%;text-align:center}td,th{padding:12px 10px}}@media (max-width:980px){.note-collapse .note-grid{grid-template-columns:1fr}}@media (max-height:820px){.viewport-shell{gap:12px}.viewport-header{gap:12px;max-height:36vh}.note-expanded .viewport-header{max-height:52vh}.hero-card,.panel{padding:20px}h1{font-size:clamp(28px,3.6vw,44px)}.actions-row,.hero-actions{margin-top:12px}.preview-table-wrap{max-height:28vh}}@media (max-height:768px),(max-width:1366px){:root{--page-width:1180px}.topbar{padding-top:14px}.topbar-inner{padding:14px 16px;gap:12px}.brand-mark{font-size:28px}.app-shell{padding:20px var(--page-gutter) 44px;gap:20px}.hero-card,.panel{padding:22px}.hero-card-strong,.page-banner{padding:24px}.compact-hero{padding:18px 20px}.panel-head{margin-bottom:16px;padding-bottom:10px}.viewport-shell{gap:12px}.no-page-scroll .viewport-header{max-height:36vh}.note-expanded .viewport-header{max-height:50vh}.preview-table-wrap{max-height:24vh}.recommendation-table-wrap{min-height:360px;max-height:460px}.run-list{max-height:30vh}}