:root{--bg:#f5f7ff;--card:#fff;--text:#172033;--muted:#7a8498;--line:#e8edf7;--primary:#6c5ce7;--primary2:#00c2ff;--green:#20c997;--orange:#ffb020;--red:#ff5c7a;--shadow:0 22px 55px rgba(31,43,86,.12);--soft:0 10px 28px rgba(31,43,86,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;background:radial-gradient(circle at 8% 0,#e8edff 0,#f7f9ff 36%,#f8fbff 100%);color:var(--text)}a{color:inherit}.muted{color:var(--muted);font-size:13px}b{font-weight:900;color:#2c286f}
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;background:linear-gradient(135deg,#eef1ff 0%,#f8fbff 45%,#fff7ed 100%);position:relative;overflow:hidden}.login-body:before,.login-body:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;filter:blur(12px);opacity:.5}.login-body:before{background:#d7e3ff;left:-90px;top:-80px}.login-body:after{background:#ffe3f0;right:-100px;bottom:-110px}.login-card{position:relative;z-index:1;width:410px;background:rgba(255,255,255,.84);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.9);border-radius:30px;padding:34px;box-shadow:var(--shadow)}.login-card h1{font-size:27px;margin:0 0 8px;letter-spacing:-.5px}.login-card:before{content:"🌱 iSeed OA";display:inline-flex;margin-bottom:18px;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-weight:900;font-size:13px;box-shadow:0 10px 22px rgba(108,92,231,.25)}
.form-row{margin:13px 0}.form-row label{display:block;font-size:13px;margin-bottom:7px;color:#566072;font-weight:700}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #e1e7f2;border-radius:14px;background:#fff;font-size:14px;outline:none;transition:.18s;box-shadow:0 1px 0 rgba(20,40,80,.02)}textarea{min-height:92px}input:focus,select:focus,textarea:focus{border-color:#9b8cff;box-shadow:0 0 0 4px rgba(108,92,231,.10)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:linear-gradient(135deg,var(--primary),#7c6cff);color:#fff;padding:11px 17px;border-radius:15px;text-decoration:none;cursor:pointer;font-size:14px;font-weight:850;box-shadow:0 12px 24px rgba(108,92,231,.22);transition:.18s}.btn:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(108,92,231,.28)}.btn.secondary{background:#f0f3ff;color:#574bd6;box-shadow:none}.btn.danger{background:linear-gradient(135deg,#ff5c7a,#ff7b54)}.btn.white{background:#fff;color:#5146d8;box-shadow:0 14px 28px rgba(22,31,77,.12)}.btn.glass{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:none}
.topbar{height:80px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(232,237,247,.85);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:5}.brand-wrap{display:flex;align-items:center;gap:12px}.brand-logo{height:46px;width:46px;display:block;border-radius:16px;box-shadow:0 12px 26px rgba(108,92,231,.22)}.brand-name{font-weight:950;font-size:18px;letter-spacing:-.4px}.brand-sub{color:#8791a5;font-size:12px;font-weight:750;margin-top:2px}.top-user{display:flex;align-items:center;gap:12px;color:#5f6b80;font-size:14px}.avatar,.mini-avatar,.podium-avatar{display:inline-grid;place-items:center;background:linear-gradient(135deg,#6c5ce7,#00c2ff);color:#fff;font-weight:950;box-shadow:0 10px 20px rgba(108,92,231,.22)}.avatar{width:36px;height:36px;border-radius:14px}.mini-avatar{width:38px;height:38px;border-radius:15px}.podium-avatar{width:58px;height:58px;border-radius:22px;font-size:22px;margin-top:8px}
.layout{display:flex}.sidebar{width:250px;min-height:calc(100vh - 80px);padding:20px 16px;background:rgba(255,255,255,.74);backdrop-filter:blur(16px);border-right:1px solid rgba(232,237,247,.85);position:sticky;top:80px;align-self:flex-start}.side-title{font-size:12px;color:#9aa5b5;font-weight:950;letter-spacing:.12em;padding:4px 14px 12px}.sidebar a{display:flex;align-items:center;gap:10px;padding:13px 14px;margin-bottom:8px;border-radius:17px;color:#3f4c63;text-decoration:none;font-weight:800;transition:.18s}.sidebar a span{width:25px;height:25px;display:inline-grid;place-items:center;border-radius:10px;background:#f3f6ff}.sidebar a:hover,.sidebar a.active{background:linear-gradient(135deg,#f1f3ff,#eefaff);color:#5146d8;box-shadow:0 8px 22px rgba(31,43,86,.06)}.sidebar a.active span{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff}.side-card{margin-top:18px;padding:16px;border-radius:20px;background:linear-gradient(135deg,#f1f3ff,#eafaff);border:1px solid #e1e9ff}.side-card p{margin:8px 0 0;color:#6c7890;font-size:13px;line-height:1.6}.main{flex:1;padding:28px;max-width:1450px}h1{margin:0;font-size:38px;letter-spacing:-1.2px}h2{margin:0;font-size:25px;letter-spacing:-.4px}h3{letter-spacing:-.2px}.grid{display:grid;gap:18px}.grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:rgba(255,255,255,.94);border:1px solid rgba(232,237,247,.92);border-radius:26px;padding:20px;box-shadow:var(--soft)}.card h3{margin:0 0 10px;font-size:15px;color:#5d6778}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-38px;top:-38px;width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,rgba(108,92,231,.14),rgba(0,194,255,.11))}.stat-card p{margin:5px 0 0;color:#8a94a6;font-size:13px}.stat-icon{width:44px;height:44px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#f1f3ff,#eafaff);font-size:23px;margin-bottom:10px}.num{font-size:35px;font-weight:950;letter-spacing:-1px;background:linear-gradient(135deg,#172033,#5e52e8);-webkit-background-clip:text;background-clip:text;color:transparent}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}.notice{padding:13px 15px;border-radius:16px;background:#fff7e6;color:#8a5a00;margin-bottom:15px;border:1px solid #ffe6b3}.ok{background:#ebfff6;color:#11724a;border-color:#bdf3d8}.error{background:#fff0f3;color:#ad2441;border-color:#ffc8d2}.two{grid-template-columns:1.45fr 1fr}
.dashboard-hero,.rank-hero{position:relative;overflow:hidden;margin-bottom:20px;padding:30px;border-radius:32px;background:linear-gradient(135deg,#6c5ce7 0%,#2fb7ff 100%);color:#fff;box-shadow:0 24px 55px rgba(69,83,203,.24);display:flex;align-items:center;justify-content:space-between;gap:24px}.dashboard-hero:before,.rank-hero:before{content:"";position:absolute;right:80px;top:-80px;width:250px;height:250px;border-radius:70px;background:rgba(255,255,255,.13);transform:rotate(24deg)}.dashboard-hero:after,.rank-hero:after{content:"";position:absolute;right:-55px;bottom:-90px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.12)}.dashboard-hero>* , .rank-hero>*{position:relative;z-index:1}.hero-kicker{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:950;letter-spacing:.08em;margin-bottom:10px}.dashboard-hero p,.rank-hero p{max-width:560px;margin:10px 0 0;color:rgba(255,255,255,.86);font-size:15px;line-height:1.7}.hero-actions{display:flex;gap:10px;margin-top:18px}.hero-visual{width:250px;height:170px;position:relative}.floating-card{position:absolute;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.92);color:#29304a;font-weight:900;box-shadow:0 20px 38px rgba(23,32,51,.16)}.fc1{left:15px;top:10px}.fc2{right:5px;top:62px}.fc3{left:55px;bottom:6px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head h3{margin:0;font-size:17px;color:#172033}.section-head a{font-size:13px;color:#6c5ce7;text-decoration:none;font-weight:850}.project-row{padding:14px 0;border-bottom:1px solid #eef2f8}.project-row:last-child{border-bottom:0}.project-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-row span{color:#7b879a;font-size:13px}.project-progress{display:flex;align-items:center;gap:10px;margin-top:10px}.project-progress em{font-style:normal;color:#6c5ce7;font-weight:900;font-size:13px}.progress{height:11px;background:#edf1f7;border-radius:999px;overflow:hidden;min-width:120px;flex:1}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary2));border-radius:999px}.leader-item,.rank-line{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;margin-bottom:10px;background:#f8faff;border:1px solid #eef2f8}.leader-item.top{background:linear-gradient(135deg,#fff,#f5f7ff)}.leader-item.top1{border-color:#ffe6a3;background:linear-gradient(135deg,#fff8dc,#fff)}.leader-item.top2{border-color:#dfe8ff;background:linear-gradient(135deg,#eef4ff,#fff)}.leader-item.top3{border-color:#ffd9c7;background:linear-gradient(135deg,#fff1e9,#fff)}.leader-name{display:flex;flex-direction:column;gap:2px;flex:1;font-weight:950}.leader-name small{color:#8b95a7;font-weight:700}.leader-item strong,.rank-line strong{font-size:18px;color:#342ca0}.rank-badge{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;border-radius:13px;background:#f0f3ff;color:#5146d8;font-weight:950}.rank-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.podium{position:relative;overflow:hidden;padding:22px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--soft);min-height:230px}.podium:after{content:"";position:absolute;right:-35px;top:-45px;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.35)}.podium .medal{font-size:38px}.podium .rank-name{font-size:20px;font-weight:950;margin-top:8px}.podium .rank-count{font-size:32px;font-weight:950;margin-top:12px}.podium .rank-money{font-weight:850;color:#5d6778}.podium.first{background:linear-gradient(135deg,#fff7ce,#fff);border-color:#ffe8a3;transform:translateY(-8px)}.podium.second{background:linear-gradient(135deg,#eef4ff,#fff);border-color:#dfe8ff}.podium.third{background:linear-gradient(135deg,#fff1e9,#fff);border-color:#ffd9c7}.rank-tabs{display:flex;gap:8px}.rank-list{display:grid;gap:8px}.rank-line{margin-bottom:0;background:#fff}.rank-line:nth-child(1) .rank-badge{background:#fff2b8;color:#9a6500}.rank-line:nth-child(2) .rank-badge{background:#eaf0ff;color:#52627c}.rank-line:nth-child(3) .rank-badge{background:#ffe6d7;color:#95502e}
.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line)}.table th,.table td{padding:14px 13px;border-bottom:1px solid #eef2f8;text-align:left;font-size:14px}.table th{background:#f8faff;color:#657187;font-weight:850}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#fbfcff}.table td:first-child{font-weight:800}form.grid{align-items:end}.card form .btn{margin-top:8px}
@media(max-width:1000px){.grid.cards,.two,.rank-podium{grid-template-columns:1fr 1fr}.hero-visual{display:none}}@media(max-width:760px){.layout{display:block}.topbar{height:auto;min-height:64px;gap:10px;flex-wrap:wrap;padding:14px 16px}.sidebar{position:relative;top:0;width:100%;min-height:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.side-title,.side-card{display:none}.sidebar a{margin:0}.grid.cards,.two,.rank-podium{grid-template-columns:1fr}.main{padding:16px}.card form.grid{grid-template-columns:1fr!important}.toolbar,.dashboard-hero,.rank-hero{align-items:flex-start;flex-direction:column}.login-card{width:100%}.brand-sub{display:none}.rank-tabs{flex-wrap:wrap}h1{font-size:30px}}
