:root{--red:#ff2929;--ink:#191919;--muted:#757575;--line:#eaeaea;--bg:#f6f7f8;--green:#16866c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button,.btn{cursor:pointer;border:1px solid #ddd;border-radius:9px;background:white;color:var(--ink);padding:10px 17px;text-decoration:none;display:inline-flex;gap:7px;align-items:center;justify-content:center}button:hover,.btn:hover{border-color:#aaa}button:disabled{cursor:wait;opacity:.5}.primary{background:var(--red);color:white;border-color:var(--red)}.dark{background:#202020;color:white;border-color:#202020}.ghost{border:none;background:transparent}.top{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:0 4vw;background:white}.brand{display:flex;align-items:center;gap:20px;text-decoration:none;color:inherit}.brand img{width:145px;max-height:48px;object-fit:contain}.brand span{padding-left:20px;border-left:1px solid var(--line);font-weight:600}.nav{display:flex;align-items:center;gap:10px}.nav a{color:#555;text-decoration:none;padding:8px}.wrap{max-width:1440px;margin:0 auto;padding:42px 4vw}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--red);margin-bottom:12px}h1{font-size:38px;font-weight:650;letter-spacing:-1px;margin:0 0 14px}h2{font-size:21px;margin:0}h3{font-size:17px;margin:0 0 10px}p{line-height:1.7;margin:8px 0;color:var(--muted)}.hero{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:32px}.hero .badge{font-size:12px;white-space:nowrap}.badge{border:1px solid var(--line);border-radius:30px;padding:7px 12px;background:white;display:inline-flex;align-items:center;gap:7px;color:#666}.dot{width:7px;height:7px;display:inline-block;border-radius:100%;background:#a2a2a2}.online .dot{background:#1aab83;box-shadow:0 0 0 4px #edfaf5}.online{color:var(--green)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.kpi{border:1px solid var(--line);border-radius:14px;background:white;padding:24px}.kpi em{font-style:normal;color:#777;font-size:12px}.kpi strong{font-size:44px;font-weight:650;letter-spacing:-2px;display:block;margin:15px 0 6px}.kpi small{font-size:12px;color:#999}.kpi.accent{background:var(--ink);color:white;border-color:var(--ink)}.kpi.accent em,.kpi.accent small{color:#aaa}.kpi.accent strong{color:#00efc0}.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.panel{padding:26px;background:white;border:1px solid var(--line);border-radius:14px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.section-head small{color:#999}.pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}.step{border-top:2px solid #ddd;padding-top:14px}.step:last-child{border-color:var(--red)}.step small{display:block;color:#aaa;font-size:11px;margin-bottom:12px}.step b{font-size:16px;display:block}.step span{display:block;font-size:12px;color:#777;margin-top:7px}.bar-chart{display:flex;gap:12px;height:160px;align-items:stretch;margin-top:26px}.bar-cell{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:25px}.bar-cell i{display:block;width:100%;max-width:35px;background:#ff4444;border-radius:5px 5px 0 0;min-height:3px}.bar-cell small{font-size:10px;color:#aaa;margin-top:10px}.bar-cell b{font-size:11px;margin-bottom:6px}.section{margin-top:36px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.filters button{border:1px solid var(--line);font-size:12px}.filters button.selected{background:#222;color:white;border-color:#222}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white;cursor:pointer;text-align:left;padding:0;display:block;width:100%}.project:hover{box-shadow:0 12px 25px #00000009;transform:translateY(-2px)}.cover{width:100%;height:215px;object-fit:contain;background:#eee;display:block}.cover-empty{height:215px;background:#f0f0ee;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;letter-spacing:-5px;color:#d3d3d1}.project-body{padding:21px}.project .tag{font-size:11px;color:var(--red);margin-bottom:10px;display:block}.project h3{font-size:19px}.project p{font-size:13px;min-height:42px}.project-footer{border-top:1px solid var(--line);padding-top:12px;margin-top:20px;display:flex;justify-content:space-between;color:#999;font-size:11px}.capabilities{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.capability{padding:24px 0;border-top:1px solid #dcdcdc}.capability .badge{font-size:10px;padding:4px 9px;margin-bottom:15px}.capability p{font-size:12px}.foot{border-top:1px solid #ddd;margin-top:36px;padding:23px 0;font-size:11px;color:#999;line-height:1.7}.empty{grid-column:1/-1;padding:50px;text-align:center;background:white;border:1px dashed #ddd;border-radius:12px;color:#999}.notice{padding:12px 16px;background:#fff4ef;color:#985000;border-radius:8px;margin-bottom:16px}.error{color:#ad1c1c}dialog{width:min(920px,94vw);max-height:90vh;border:0;border-radius:15px;padding:28px;box-shadow:0 30px 120px #0003}dialog::backdrop{background:#15151570;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.detail-text{white-space:pre-wrap;line-height:1.8;color:#555}.detail-image{max-width:100%;height:auto;border-radius:8px;margin:12px auto;display:block}.file-row{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line)}.file-row span{overflow-wrap:anywhere}.file-row small{display:block;color:#999;margin-top:5px}.file-row a{font-size:12px;white-space:nowrap}.tools{display:flex;gap:10px;flex-wrap:wrap}.search{padding:11px 15px;min-width:220px}.editor{display:grid;grid-template-columns:1fr 1fr;gap:17px}.editor label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}.editor label.wide{grid-column:1/-1}.editor input,.editor select,.editor textarea,.search{border:1px solid #ddd;border-radius:8px;background:white;color:#222;padding:11px;font-weight:400;min-width:0}.editor textarea{resize:vertical}.editor .check{flex-direction:row;align-items:center;font-weight:400}.editor small{color:#999;font-weight:400}.upload-box{border:1px dashed #cfcfcf;padding:22px;text-align:center;border-radius:9px;grid-column:1/-1}.upload-box input{display:block;margin:15px auto;width:100%;max-width:350px}.attachment{display:flex;gap:10px;align-items:center;margin:8px 0;border-bottom:1px solid var(--line);padding:8px 0;font-size:12px}.attachment img{width:55px;height:55px;object-fit:cover;border-radius:5px}.attachment span{flex:1;overflow-wrap:anywhere}.attachment button{font-size:11px;padding:6px}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.admin-card{padding:20px;background:white;border:1px solid var(--line);border-radius:12px;display:flex;gap:20px;align-items:center;margin-bottom:12px}.admin-card img{width:120px;height:86px;object-fit:cover;border-radius:6px}.admin-card .info{flex:1}.admin-card p{font-size:12px}.admin-card .tools button{font-size:12px;padding:8px 10px}.loading{opacity:.6;pointer-events:none}[hidden]{display:none!important}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#222;color:white;padding:12px 24px;box-shadow:0 5px 25px #0002;border-radius:10px;z-index:100;font-size:13px}.login{max-width:420px;margin:12vh auto;background:white;padding:38px;border:1px solid #eee;border-radius:15px}.login h1{font-size:25px}.login label{display:block;margin:18px 0 8px}.login input{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px}.login button{width:100%;margin-top:23px}@media(max-width:950px){.kpis,.capabilities{grid-template-columns:repeat(2,1fr)}.projects{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.hero{align-items:flex-start}.admin-card{flex-wrap:wrap}.top{height:auto;min-height:78px;flex-wrap:wrap;padding:18px 4vw}}@media(max-width:600px){h1{font-size:30px}.hero{display:block}.hero .badge{margin-top:15px}.brand img{width:110px}.brand span{font-size:12px}.wrap{padding-top:25px}.projects{grid-template-columns:1fr}.kpis{gap:10px}.kpi{padding:18px}.kpi strong{font-size:36px}.pipeline{grid-template-columns:repeat(2,1fr)}.editor{grid-template-columns:1fr}.editor label.wide{grid-column:auto}.section-head{align-items:flex-start;flex-direction:column}.nav a{font-size:12px}}
