:root{font-family:PingFang SC,Microsoft YaHei UI,Segoe UI,sans-serif;color:#1f2937;background-color:#f5f7fb;line-height:1.45;font-weight:400;--card-bg: #ffffff;--card-border: #e5eaf3;--text-main: #111827;--text-sub: #64748b;--brand: #1d4ed8;--brand-soft: #dbeafe;--danger: #dc2626;--danger-soft: #fee2e2;--ok: #16a34a;--ok-soft: #dcfce7;--pending: #b45309;--pending-soft: #ffedd5}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{background:radial-gradient(1200px 520px at -20% -10%,#dbeafe 0%,transparent 60%),radial-gradient(1200px 620px at 120% 0%,#e0e7ff 0%,transparent 60%),linear-gradient(180deg,#f8fafc,#f5f7fb);color:var(--text-main)}.page{max-width:1220px;margin:0 auto;padding:24px 20px 40px;display:grid;gap:16px}.hero{background:linear-gradient(135deg,#f8fbff,#eef4ff 55%,#f4f8ff);border:1px solid #dde8ff;border-radius:24px;padding:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.hero-title h1{margin:0;font-size:30px;letter-spacing:.2px}.hero-title p{margin:8px 0 0;color:#516076}.hero-tags{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #d4ddf1;background:#ffffffd6;color:#314056;border-radius:999px;padding:6px 12px;font-size:12px}.panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:18px;box-shadow:0 10px 28px #0f172a0d}.panel-head h3{margin:0;font-size:20px}.panel-head p{margin:6px 0 0;color:var(--text-sub)}.auth-panel{max-width:760px}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}.sidebar{position:sticky;top:16px;display:grid;gap:12px;padding:16px;transition:width .25s ease,padding .25s ease}.sidebar.collapsed{width:92px;padding:12px}.sidebar.collapsed .sidebar-brand p,.sidebar.collapsed .user-meta,.sidebar.collapsed .sidebar-stats,.sidebar.collapsed .nav-item{display:none}.sidebar.collapsed .sidebar-user{justify-content:center}.sidebar-brand h2{margin:0;font-size:20px}.sidebar-brand p{margin:4px 0 0;color:var(--text-sub);font-size:13px}.sidebar-user .user-meta h3{margin:0;font-size:16px}.sidebar-user .user-meta p{margin:3px 0}.workspace-nav{display:grid;gap:8px}.nav-item{text-align:left;border:1px solid #d7e1f2;background:#f8fbff;color:#334155;border-radius:12px;padding:10px 12px;font-size:13px;cursor:pointer}.nav-item.active{color:#fff;background:linear-gradient(180deg,#2563eb,#1d4ed8);border-color:#1d4ed8}.sidebar-stats{border:1px solid #e2e8f5;border-radius:12px;padding:10px;display:grid;gap:8px;background:#fafcff}.sidebar-stat{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#64748b}.sidebar-stat strong{font-size:16px;color:#0f172a}.workspace-main{display:grid;gap:12px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar h2{margin:0;font-size:22px}.topbar p{margin:5px 0 0;color:var(--text-sub);font-size:13px}.workspace-panel{padding-top:8px}.auth-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.auth-head h2{margin:0}.segmented{display:inline-flex;background:#f2f5fb;border:1px solid #dce4f2;border-radius:12px;padding:4px;gap:4px}.seg-item{border:0;background:transparent;padding:8px 14px;border-radius:8px;color:#475569;cursor:pointer}.seg-item.active{background:#fff;color:#0f172a;box-shadow:0 1px 6px #0f172a1a}.user-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.user-main{display:flex;align-items:center;gap:12px}.avatar{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#1d4ed8,#4338ca);color:#fff;display:grid;place-items:center;font-weight:700}.user-meta h2{margin:0;font-size:20px}.user-meta p{margin:4px 0;color:var(--text-sub)}.user-role{display:inline-block;font-size:12px;padding:4px 10px;border-radius:999px;background:#eef2ff;color:#3730a3}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.stat-card{border:1px solid #e1e8f7;border-radius:14px;padding:12px;background:linear-gradient(180deg,#fafcff,#f4f8ff)}.stat-card span{font-size:12px;color:#64748b}.stat-card strong{display:block;margin-top:6px;font-size:24px;color:#0f172a}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.sub-panel{margin-top:12px;border:1px solid #e7ecf6;border-radius:16px;padding:14px;background:#fcfdff}.sub-panel h4{margin:0 0 10px;font-size:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid .full{grid-column:1 / -1}label{display:grid;gap:6px}label span{font-size:12px;color:#55637a;letter-spacing:.2px}input,textarea,select{width:100%;border:1px solid #d2dbea;border-radius:12px;padding:10px 12px;font-size:14px;color:#111827;background:#fff;outline:none;transition:border-color .2s ease,box-shadow .2s ease}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions.wrap{align-items:flex-start}.btn,button,a.btn{border:1px solid #d4deef;background:#fff;color:#1f2937;border-radius:10px;padding:8px 12px;font-size:13px;cursor:pointer;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.btn:hover,button:hover,a.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a14}.btn:disabled,button:disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}.btn.primary{border-color:#1d4ed8;background:linear-gradient(180deg,#2563eb,#1d4ed8);color:#fff}.btn.danger{border-color:#dc2626;background:linear-gradient(180deg,#ef4444,#dc2626);color:#fff}.table-wrap{overflow:auto;border:1px solid #e5ebf7;border-radius:12px;background:#fff}table{width:100%;border-collapse:collapse;min-width:780px}thead th{text-align:left;font-weight:600;font-size:12px;color:#64748b;padding:10px;background:#f8fbff;border-bottom:1px solid #e7edf8}tbody td{border-bottom:1px solid #eff3fa;padding:10px;font-size:13px;vertical-align:top}tbody tr:last-child td{border-bottom:0}.project-list{display:grid;gap:10px}.project-item{border:1px solid #e6ecf7;border-radius:12px;padding:10px;display:grid;grid-template-columns:1.2fr 1fr auto;gap:8px;align-items:center}.project-info strong{display:block}.project-info span{color:#64748b;font-size:12px}.project-meta{display:grid;gap:6px;color:#64748b;font-size:12px}.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 9px;font-size:12px;border:1px solid transparent}.status-pill.ok{color:#166534;background:var(--ok-soft);border-color:#86efac}.status-pill.danger{color:#991b1b;background:var(--danger-soft);border-color:#fca5a5}.status-pill.pending{color:#9a3412;background:var(--pending-soft);border-color:#fdba74}.status-pill.neutral{color:#334155;background:#e2e8f0;border-color:#cbd5e1}.tools{list-style:none;margin:0;padding:0;display:grid;gap:8px}.tools li{border:1px solid #e6ecf7;border-radius:12px;padding:10px;display:flex;justify-content:space-between;align-items:center;gap:10px}.tools small{color:#64748b;display:block;margin-top:4px}.auth-hint{margin-top:14px;border-top:1px dashed #d6dfef;padding-top:12px;color:#4b5563;font-size:13px}.auth-hint p{margin:0 0 6px}.auth-hint ul{margin:0;padding-left:20px}.empty{border:1px dashed #d6e0f2;border-radius:12px;padding:12px;color:#64748b;background:#f8fbff;font-size:13px}.empty-row{text-align:center;color:#64748b;padding:16px}.guide-text{margin:0 0 10px;color:#475569;font-size:14px}.code-block{margin:0;border:1px solid #dbe4f4;background:#0f172a;color:#e2e8f0;border-radius:12px;padding:12px;overflow:auto;font-size:13px;line-height:1.6}.guide-list{margin:0;padding-left:18px;color:#334155;display:grid;gap:6px}.guide-steps{margin:0;padding-left:20px;color:#334155;display:grid;gap:6px}.faq{border:1px solid #e4eaf6;border-radius:10px;padding:10px 12px;background:#fbfcff}.faq+.faq{margin-top:8px}.faq summary{cursor:pointer;font-weight:600;color:#1f2937}.faq p{margin:8px 0 0;color:#475569;font-size:14px}.error-panel{border-color:#fecaca;background:#fff1f2;color:#991b1b;font-weight:500}@media(max-width:960px){.hero{flex-direction:column}.app-shell{grid-template-columns:1fr}.sidebar{position:static}.workspace-nav{grid-template-columns:1fr 1fr}.topbar{flex-direction:column;align-items:flex-start}.split,.stats,.form-grid{grid-template-columns:1fr}.project-item{grid-template-columns:1fr;align-items:stretch}}
