:root{--brand:#183f37;--brand-dark:#11342d;--brand-soft:#e2ede8;--brand-lighter:#eef4f1;--accent:#e8782b;--accent-soft:#fff0e5;--agent-blue:#23658f;--agent-blue-soft:#e8f2f8;--success:#287a55;--success-soft:#e8f4ed;--warning:#986514;--warning-soft:#fff4d9;--danger:#b33a3a;--danger-soft:#faeaea;--info:#23658f;--info-soft:#e8f2f8;--bg:#f4f6f3;--surface:#fff;--surface-soft:#f8faf8;--text:#17201e;--text-soft:#61706b;--text-mute:#97a39e;--line:#d9dfdb;--line-soft:#e8ece9;--line-strong:#bdc8c2;--shadow:0 6px 20px #1e322b1a;--shadow-lg:0 14px 35px #1e322b24;--r-sm:4px;--r:8px;--r-lg:12px;--font:"Inter", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}.app-shell{grid-template-columns:220px minmax(500px,1fr);min-height:100vh;display:grid}.sidebar{background:var(--brand);color:#ffffffb8;border-right:1px solid var(--brand-dark);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid #ffffff14;padding:20px 18px 16px}.sidebar-brand .logo{color:#fff;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.sidebar-brand .logo .dot{border-radius:var(--r-sm);background:#ffffff24;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;display:flex}.sidebar-brand .sub{color:#6b9089;margin-top:4px;padding-left:36px;font-size:11px}.module-switcher{border-bottom:1px solid #ffffff14;padding:12px 14px}.module-switcher .ms-label{text-transform:uppercase;letter-spacing:.5px;color:#5a8079;margin-bottom:8px;font-size:10px;font-weight:600}.ms-item{border-radius:var(--r);cursor:pointer;color:#8aaa9f;text-align:left;width:100%;font-size:13px;font-family:var(--font);background:0 0;border:none;align-items:center;gap:8px;margin-bottom:4px;padding:7px 10px;transition:background .15s;display:flex}.ms-item:hover{color:#fff;background:#ffffff0f}.ms-item.active{color:#fff;background:#ffffff24;font-weight:600}.ms-item .ms-icon{text-align:center;width:20px;font-size:15px}.ms-item .ms-badge{color:#8aaa9f;background:#ffffff1f;border-radius:8px;margin-left:auto;padding:1px 6px;font-size:9px}.ms-item.active .ms-badge{background:var(--accent);color:#fff}.nav{flex:1;padding:12px 0;overflow-y:auto}.nav-section-label{text-transform:uppercase;letter-spacing:.5px;color:#5a8079;padding:8px 18px 4px;font-size:10px;font-weight:600}.nav-item{cursor:pointer;color:#ffffffb8;text-align:left;width:100%;font-size:13px;font-weight:500;font-family:var(--font);background:0 0;border-left:3px solid #0000;align-items:center;gap:10px;padding:8px 18px;transition:all .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#fff;border-left-color:var(--accent);background:#ffffff24}.nav-item .icon{text-align:center;width:20px;font-size:16px}.nav-item .badge{background:var(--accent);color:#fff;border-radius:10px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}.sidebar-footer{border-top:1px solid #ffffff14;margin-top:auto;padding:12px 18px}.lang-switcher{gap:2px;margin-bottom:12px;display:flex}.lang-btn{color:#8aaa9f;border-radius:var(--r-sm);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font);background:#ffffff0f;border:none;flex:1;padding:4px 8px}.lang-btn:hover{color:#fff;background:#ffffff1a}.lang-btn.active{background:var(--brand);color:#fff}.footer-account{color:#8aaa9f;align-items:center;gap:8px;font-size:12px;display:flex}.main{min-width:0;padding:0}.page-header{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#f4f6f3eb;padding:16px 32px 14px;position:sticky;top:0}.page-header h1{font-size:22px;font-weight:700}.page-header .subtitle{color:var(--text-soft);margin-top:3px;font-size:13px}.page-content{max-width:1080px;margin:0 auto;padding:24px 32px 48px}.rail-section{margin-bottom:24px}.rail-section h3{align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.btn{border-radius:var(--r-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);border:none;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#d96d20}.btn-secondary{background:var(--surface);border:1px solid var(--line);color:var(--text)}.btn-lg{padding:10px 24px;font-size:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px}.section-head{align-items:center;margin:24px 0 12px;display:flex}.section-head h2{font-size:16px;font-weight:600}.section-head .count{color:var(--text-mute);margin-left:6px;font-size:13px}.pill{border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.pill-brand{background:var(--brand-soft);color:var(--brand)}.pill-warning{background:var(--warning-soft);color:var(--warning)}.empty-state{text-align:center;color:var(--text-soft);padding:48px 24px}.empty-state .icon{margin-bottom:12px;font-size:40px}.login-wrap{background:linear-gradient(180deg, var(--brand-lighter), var(--bg));justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);text-align:center;max-width:380px;padding:40px 44px}.login-card .logo{color:var(--brand-dark);margin-bottom:4px;font-size:22px;font-weight:800}.login-card .desc{color:var(--text-soft);margin-bottom:24px;font-size:13px}.login-card .err{color:var(--danger);margin-bottom:12px;font-size:12px}.journey-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);align-items:center;margin-bottom:24px;padding:20px 24px;display:flex}.journey-step{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex;position:relative}.journey-step .dot{z-index:2;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:flex;position:relative}.journey-step.done .dot{background:var(--brand);color:#fff}.journey-step.current .dot{background:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--accent-soft)}.journey-step.future .dot{background:var(--surface);border:2px solid var(--line);color:var(--text-mute)}.journey-step:before{content:"";background:var(--line);z-index:1;width:100%;height:3px;position:absolute;top:14px;left:50%}.journey-step.done:before{background:var(--brand)}.journey-step:last-child:before{display:none}.journey-step .name{text-align:center;font-size:11px;font-weight:500}.journey-step.current .name{color:var(--accent);font-weight:600}.journey-step.done .name{color:var(--brand)}.journey-step.future .name{color:var(--text-mute)}.journey-step .date{color:var(--text-mute);font-size:10px}.transition-options{gap:12px;margin-top:16px;display:flex}.transition-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;text-align:center;font-family:var(--font);flex:1;padding:14px;transition:all .15s}.transition-card:hover{border-color:var(--brand);background:var(--brand-soft)}.transition-card .arrow{margin-bottom:6px;font-size:20px}.transition-card .t-title{margin-bottom:2px;font-size:13px;font-weight:600}.transition-card .t-desc{color:var(--text-mute);font-size:11px}.timeline{padding-left:24px;position:relative}.timeline:before{content:"";background:var(--line);width:2px;position:absolute;top:8px;bottom:8px;left:7px}.timeline-item{padding:6px 0 6px 16px;font-size:13px;position:relative}.timeline-item:before{content:"";background:var(--brand);border:2px solid var(--surface);border-radius:50%;width:12px;height:12px;position:absolute;top:10px;left:-21px}.timeline-item .t-date{color:var(--text-mute);font-size:11px}.metric-strip{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-align:center;padding:16px}.metric-card .num{color:var(--brand);font-size:28px;font-weight:700;line-height:1.2}.metric-card .num.accent{color:var(--accent)}.metric-card .label{color:var(--text-soft);margin-top:4px;font-size:12px}.reco-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);align-items:flex-start;gap:12px;margin-bottom:12px;padding:16px 18px;display:flex}.reco-card .reco-icon{border-radius:var(--r);background:var(--brand-soft);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.reco-card .reco-body{flex:1}.reco-card .reco-title{margin-bottom:4px;font-size:14px;font-weight:600}.reco-card .reco-desc{color:var(--text-soft);font-size:13px}.onboarding{background:var(--brand-lighter);border:1px solid var(--brand-soft);border-radius:var(--r);margin-bottom:24px;padding:16px 18px}.onboarding h3{color:var(--brand-dark);margin-bottom:12px;font-size:14px;font-weight:600}.checklist-item{align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.checklist-item .check{border:2px solid var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:flex}.checklist-item.done .check{background:var(--brand);border-color:var(--brand);color:#fff}.checklist-item.done .label{color:var(--text-soft);text-decoration:line-through}.checklist-item .label{flex:1}.checklist-item.action{border-top:1px dashed var(--line);align-items:flex-start;gap:12px;padding:10px 0}.checklist-item.action:first-of-type{border-top:0}.checklist-item.action .check{margin-top:2px}.checklist-item.action .body{flex:1;min-width:0}.checklist-item.action .title{font-size:13.5px;font-weight:600}.checklist-item.action .why{color:var(--text-soft);margin-top:2px;font-size:12px}.checklist-item.action .how{color:var(--text-mute);margin-top:2px;font-size:12px}.checklist-item.action .side{flex-shrink:0;align-items:center;gap:10px;margin-top:2px;display:flex}.checklist-item.action .cost{color:var(--brand-dark);background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600}.checklist-item.action .btn{padding:5px 12px;font-size:12px}.checklist-item.action.done .title{color:var(--text-soft);text-decoration:line-through}.checklist-item.action.done .cost,.checklist-item.action.done .why,.checklist-item.action.done .how{display:none}@media (width<=1180px){.app-shell{grid-template-columns:220px minmax(400px,1fr)}}@media (width<=820px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:50;width:220px;transition:left .2s;position:fixed;left:-240px}.sidebar.open{left:0}}.tab-nav{z-index:9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#f4f6f3f0;gap:2px;padding:8px 32px 0;display:flex;position:sticky;top:0;overflow-x:auto}.tab-item{color:var(--text-soft);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2.5px solid #0000;align-items:center;gap:6px;padding:8px 14px 10px;transition:all .15s;display:inline-flex}.tab-item:hover{color:var(--text)}.tab-item.active{color:var(--brand-dark);border-bottom-color:var(--accent);font-weight:600}.tab-item.disabled{opacity:.4;cursor:default}.score-duo{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.score-card{text-align:center;flex:1;min-width:200px;padding:20px}.score-card .score-num{color:var(--brand-dark);font-size:44px;font-weight:800;line-height:1.1}.score-card .score-label{color:var(--text-soft);margin-top:2px;font-size:13px;font-weight:600}.score-card .score-note{color:var(--text-mute);text-align:left;margin-top:8px;font-size:12px}.score-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.score-badge.badge-good{background:var(--brand-soft);color:var(--brand-dark)}.score-badge.badge-mid{background:var(--warning-soft);color:var(--warning)}.score-badge.badge-low{color:#c0392b;background:#fde8e8}.verdict-chip{border-radius:999px;margin-right:4px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.verdict-chip.verdict-good{background:var(--brand-soft);color:var(--brand-dark)}.verdict-chip.verdict-watch{background:var(--warning-soft);color:var(--warning)}.verdict-chip.verdict-poor{color:#c0392b;background:#fde8e8}.feature-grid{flex-wrap:wrap;gap:10px;display:flex}.feature-tile{text-align:center;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface-2,var(--surface));flex:1;min-width:130px;padding:12px 8px}.feature-tile .feature-value{color:var(--text);font-size:22px;font-weight:700}.feature-tile .feature-unit{color:var(--text-mute);margin-left:3px;font-size:11px}.feature-tile .feature-label{color:var(--text-soft);margin-top:4px;font-size:12px}.advice-num{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.offer-grid{flex-wrap:wrap;gap:8px;display:flex}.offer-table{border-collapse:collapse;width:100%;font-size:13px}.offer-table th,.offer-table td{text-align:left;border-bottom:1px solid var(--line-soft);padding:8px 10px}.offer-table th{color:var(--text-soft);white-space:nowrap;font-weight:600}.offer-table tr:last-child td{border-bottom:none}
