:root{--navy:#15213b;--blue:#205ee2;--blue2:#174cbf;--bg:#f3f6fb;--line:#e5eaf2;--muted:#7a8599;--green:#159171;--red:#df5b66;--yellow:#d89b31;--purple:#7358d6}*{box-sizing:border-box}body{margin:0;color:var(--navy);background:var(--bg);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}.portfolio-header{height:74px;padding:0 max(22px,calc((100% - 1380px)/2));background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:34px;position:sticky;top:0;z-index:10}.portfolio-brand{display:flex;align-items:center;gap:12px;min-width:270px}.portfolio-logo{width:42px;height:42px;border-radius:10px;background:#205ee2;color:#fff;display:grid;place-items:center;font-size:21px;font-weight:800}.portfolio-brand div{display:flex;flex-direction:column}.portfolio-brand strong{font-size:18px}.portfolio-brand small{font-size:12px;color:#8791a3;margin-top:3px}.portfolio-header nav{display:flex;align-self:stretch;flex:1}.portfolio-header nav button{padding:0 18px;border:0;border-bottom:3px solid transparent;background:none;color:#6d788b;cursor:pointer}.portfolio-header nav button.selected{color:#205ee2;border-color:#205ee2;font-weight:700}.account-menu{display:flex;align-items:center;gap:8px}.account-menu>span:nth-child(2){display:flex;flex-direction:column;font-size:12px}.account-menu small{color:var(--muted)}.account-menu form{margin:0}.account-menu form button{border:0;background:none;color:#8791a3;cursor:pointer}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#1f5fdd;font-weight:700}.workspace{display:none}.workspace.active{display:block}.portfolio-main,.detail-main{max-width:1380px;margin:auto;padding:28px 24px 54px}.portfolio-hero,.detail-hero,.finance-hero{background:linear-gradient(117deg,#153a85 0%,#2666db 73%,#3779e9 100%);border-radius:16px;color:#fff;min-height:190px;padding:34px 42px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 14px 38px #1e55be25}.portfolio-hero>div:first-child,.finance-hero>div{max-width:760px}.portfolio-hero span,.finance-hero span,.detail-hero>div>span,.directory-head>div>span,.finance-panel header span,.section-kicker{font-size:11px;letter-spacing:2px;font-weight:800;opacity:.78}.portfolio-hero h1,.finance-hero h1,.detail-hero h1{font-size:34px;margin:10px 0}.portfolio-hero p,.finance-hero p,.detail-hero p{font-size:14px;line-height:1.8;margin:0;opacity:.78}.factory-total{width:130px;height:130px;border:1px solid #ffffff3d;border-radius:50%;background:#ffffff12;display:flex;flex-direction:column;align-items:center;justify-content:center}.factory-total strong{font-size:42px}.factory-total span{letter-spacing:0;font-size:13px}.portfolio-kpis,.finance-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.portfolio-kpis article,.finance-kpis article,.overview-grid article{height:128px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:21px 23px;position:relative;overflow:hidden}.portfolio-kpis article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:currentColor}.portfolio-kpis .red{color:var(--red)}.portfolio-kpis .yellow{color:var(--yellow)}.portfolio-kpis .green{color:var(--green)}.portfolio-kpis .purple{color:var(--purple)}.portfolio-kpis span,.portfolio-kpis small{display:block;color:#778296}.portfolio-kpis strong,.finance-kpis strong{display:block;font-size:27px;color:var(--navy);margin:8px 0}.directory-card,.finance-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 30px #263a6410}.directory-head,.finance-panel>header{padding:26px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.directory-head h2,.finance-panel h2{font-size:23px;margin:6px 0}.directory-head p,.finance-panel header p{font-size:13px;color:#7c8799;margin:0}.directory-head>div:last-child{display:flex;align-items:center;gap:9px}.directory-head em{color:#8993a4;font-size:12px;font-style:normal}.directory-head button,.finance-hero button,.primary-button{border:0;border-radius:8px;padding:11px 16px;background:#205ee2;color:#fff;cursor:pointer;font-weight:700}.secondary-action{padding:10px 14px;border:1px solid #dce3ef;border-radius:8px;color:#526079;text-decoration:none;font-size:13px}.directory-filters{display:grid;grid-template-columns:1.35fr repeat(4,1fr) 1.25fr;gap:12px;padding:18px 28px;background:#fafbfd;border-bottom:1px solid var(--line)}.directory-filters label{display:flex;flex-direction:column;gap:7px}.directory-filters label>span{font-size:11px;color:#7a8598}.directory-filters input,.directory-filters select,.client-form-grid input,.client-form-grid textarea{width:100%;height:40px;border:1px solid #dce2ec;border-radius:7px;background:#fff;padding:0 11px;color:#28354c;outline:none}.directory-filters input:focus,.directory-filters select:focus{border-color:#4b7fe2;box-shadow:0 0 0 3px #3974dc16}.team-settings{margin-top:18px;height:45px;border:1px solid #dae3f2;border-radius:8px;background:#fff;display:flex;align-items:center;gap:8px;color:#253450;cursor:pointer}.team-settings>b{color:#205ee2;font-size:18px}.team-settings span{display:flex;flex:1;flex-direction:column;text-align:left}.team-settings small{font-size:10px;color:#8993a4}.team-settings i{font-size:11px;color:#205ee2;font-style:normal}.factory-table-head,.factory-row{display:grid;grid-template-columns:2.1fr 3fr 2.2fr .8fr;align-items:center}.factory-table-head{min-height:46px;padding:0 28px;background:#f8f9fc;border-bottom:1px solid var(--line);color:#8a94a5;font-size:11px}.factory-row{padding:19px 28px;border-bottom:1px solid #edf0f5;transition:.15s}.factory-row:hover{background:#fbfcff}.client-cell{display:flex;gap:12px;align-items:flex-start}.row-index{width:32px;height:32px;border-radius:8px;background:#edf3ff;color:#205ee2;display:grid;place-items:center;font-size:12px}.client-copy{min-width:0}.client-copy strong,.client-copy small{display:block}.client-copy strong{font-size:14px}.client-copy small{color:#8791a2;margin:5px 0}.client-tags{display:flex;gap:5px;flex-wrap:wrap}.client-tags em{font-size:10px;font-style:normal;padding:4px 7px;border-radius:10px;background:#edf3ff;color:#3463bb}.client-tags .stage-tag{background:#eef8f4;color:#168468}.spend-grid,.performance-cell{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.spend-grid small,.performance-cell small{display:block;color:#8b95a5;font-size:10px}.spend-grid strong,.performance-cell strong{font-size:13px}.budget-progress{display:block;width:100%;height:4px;background:#e9edf4;border-radius:3px;margin-top:6px}.budget-progress i{display:block;height:100%;background:#2464df;border-radius:3px}.client-actions{display:flex;gap:5px;justify-content:flex-end}.client-actions button{border:0;background:none;color:#61708a;font-size:12px;cursor:pointer}.client-actions .enter{background:#205ee2;color:#fff;border-radius:6px;padding:8px 11px}.client-actions .danger{color:#d25662}.finance-hero{min-height:165px;margin-bottom:18px}.finance-hero button{background:#fff;color:#205ee2}.bm-hero{background:linear-gradient(120deg,#3b286e,#7559cb)}.toolkit-hero{background:linear-gradient(120deg,#174b62,#27839a)}.todo-hero{background:linear-gradient(120deg,#43366f,#7567ba)}.finance-kpis article small,.finance-kpis article span{display:block;color:#818b9d}.finance-kpis .primary{background:#205ee2}.finance-kpis .primary strong,.finance-kpis .primary small,.finance-kpis .primary span{color:#fff}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px}.resource-card{border:1px solid var(--line);border-radius:11px;padding:18px}.resource-card h3{margin:0 0 8px}.resource-card p{color:#7f899a;font-size:13px;min-height:34px}.resource-card footer{display:flex;justify-content:space-between;color:#8b95a5;font-size:11px}.resource-card button,.resource-card a{border:0;background:none;color:#205ee2;text-decoration:none;cursor:pointer}.empty-state{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a94a5}.empty-state b{color:#47546a;margin-bottom:8px}.back-button{border:0;background:none;color:#52627c;margin:0 0 14px;cursor:pointer}.detail-hero{min-height:220px}.detail-hero-stats{display:grid;grid-template-columns:1fr 1fr;width:440px;gap:10px}.detail-hero-stats article{padding:15px;background:#ffffff12;border:1px solid #ffffff2c;border-radius:10px}.detail-hero-stats span,.detail-hero-stats strong{display:block}.detail-hero-stats span{font-size:11px;opacity:.7}.detail-hero-stats strong{margin-top:6px}.detail-tabs{background:#fff;border:1px solid var(--line);border-radius:10px;margin:16px 0;display:flex}.detail-tabs button{padding:14px 22px;border:0;border-bottom:2px solid transparent;background:none;color:#778397}.detail-tabs button.active{color:#205ee2;border-color:#205ee2}.detail-toolbar{display:flex;justify-content:space-between}.detail-toolbar p{font-size:11px;color:#205ee2}.detail-toolbar h1{margin:5px 0}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.overview-grid span,.overview-grid small{display:block;color:#8490a3}.overview-grid strong{display:block;font-size:25px;margin:10px 0}dialog{width:min(740px,calc(100% - 28px));padding:0;border:0;border-radius:15px;box-shadow:0 28px 90px #10204255}dialog::backdrop{background:#101b3288}dialog form{padding:30px;position:relative}.modal-close{position:absolute;right:18px;top:16px;border:0;background:none;font-size:25px;color:#8490a0}.section-kicker{color:#205ee2;opacity:1}.dialog-help{color:#8490a0;font-size:13px}.client-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.client-form-grid label{display:flex;flex-direction:column;gap:7px;color:#58657a;font-size:12px}.client-form-grid textarea{height:88px;padding-top:10px}.client-form-grid .span-2{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:18px}.modal-actions button{padding:10px 17px;border:1px solid var(--line);background:#fff;border-radius:7px}.modal-actions .primary-button{background:#205ee2}.login-page{min-height:100vh;background:#f2f5fa;display:flex;flex-direction:column}.login-top{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(24px,calc((100% - 1180px)/2))}.login-shell{width:min(1180px,calc(100% - 32px));margin:auto;display:grid;grid-template-columns:1.2fr .8fr;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 20px 65px #20355e20}.login-visual{background:linear-gradient(125deg,#153a85,#2a68dc);color:#fff;padding:58px}.login-visual h1{font-size:38px}.login-panel{padding:52px}.login-panel form,.login-panel label{display:flex;flex-direction:column;gap:8px}.login-panel form{gap:17px}.login-panel input{height:45px;border:1px solid #dce2ec;border-radius:8px;padding:0 12px}.alert{background:#fff0f1;color:#c34f58;padding:10px;border-radius:7px}#toast{position:fixed;right:24px;bottom:24px;background:#16223a;color:#fff;border-radius:8px;padding:12px 17px;opacity:0;transform:translateY(5px);transition:.2s;z-index:30}#toast.show{opacity:1;transform:none}@media(max-width:1000px){.portfolio-header nav{overflow:auto}.portfolio-header nav button{white-space:nowrap}.account-menu>span:nth-child(2){display:none}.directory-filters{grid-template-columns:repeat(3,1fr)}.factory-table{overflow:auto}.factory-table-head,.factory-row{min-width:1100px}.portfolio-kpis,.finance-kpis,.overview-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.portfolio-header{padding:0 12px}.portfolio-brand{min-width:auto}.portfolio-brand small{display:none}.portfolio-header nav{position:fixed;bottom:0;left:0;right:0;height:58px;background:#fff;z-index:12;justify-content:space-around;border-top:1px solid var(--line)}.portfolio-header nav button{font-size:11px;padding:0 6px}.account-menu form button{font-size:0}.account-menu form button:after{content:"退出";font-size:11px}.portfolio-main,.detail-main{padding:16px 10px 75px}.portfolio-hero,.finance-hero,.detail-hero{padding:25px 22px;min-height:170px}.portfolio-hero h1,.finance-hero h1,.detail-hero h1{font-size:27px}.factory-total{display:none}.portfolio-kpis,.finance-kpis,.overview-grid{grid-template-columns:1fr 1fr}.directory-head{align-items:flex-start;flex-direction:column;gap:15px}.directory-head>div:last-child{flex-wrap:wrap}.directory-filters{grid-template-columns:1fr 1fr;padding:16px}.resource-grid{grid-template-columns:1fr}.detail-hero{display:block}.detail-hero-stats{width:100%;margin-top:20px}.client-form-grid{grid-template-columns:1fr}.client-form-grid .span-2{grid-column:auto}.login-shell{grid-template-columns:1fr}.login-visual{display:none}}
