:root{--bg0:#070A12;--bg1:#0B1020;--card: rgba(255,255,255,.06);--card2: rgba(255,255,255,.1);--stroke: rgba(255,255,255,.14);--text:#EAF0FF;--muted: rgba(234,240,255,.72);--muted2: rgba(234,240,255,.55);--shadow: 0 20px 60px rgba(0,0,0,.45);--shadowSoft: 0 10px 30px rgba(0,0,0,.28);--radius: 18px;--radiusSm: 12px;--ring: 0 0 0 4px rgba(124,92,255,.18);--accent:#7C5CFF;--accent2:#22D3EE;--good:#22C55E;--warn:#F59E0B;--bad:#EF4444;--gridMax: 1200px}html[data-theme=light]{--bg0:#F7F8FF;--bg1:#EEF1FF;--card: rgba(255,255,255,.72);--card2: rgba(255,255,255,.86);--stroke: rgba(19,25,47,.1);--text:#0B1020;--muted: rgba(11,16,32,.72);--muted2: rgba(11,16,32,.55);--shadow: 0 20px 60px rgba(16,24,40,.12);--shadowSoft: 0 10px 30px rgba(16,24,40,.1);--ring: 0 0 0 4px rgba(124,92,255,.22)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:radial-gradient(1200px 800px at 10% 10%,rgba(124,92,255,.2),transparent 55%),radial-gradient(900px 700px at 90% 0%,rgba(34,211,238,.14),transparent 55%),radial-gradient(900px 700px at 30% 90%,rgba(16,185,129,.12),transparent 60%),linear-gradient(180deg,var(--bg0),var(--bg1));overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}:where(button,a,input,select,textarea):focus-visible{outline:none;box-shadow:var(--ring)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#ffffff2e;border:2px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:999px}html[data-theme=light] *::-webkit-scrollbar-thumb{background:#13192f38;border:2px solid rgba(0,0,0,0);background-clip:padding-box}.glass-card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:var(--shadowSoft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:18px 16px;border-right:1px solid var(--stroke);background:linear-gradient(180deg,#ffffff0f,#ffffff08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.sidebar-brand{display:flex;gap:12px;align-items:center;padding:12px;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.brand-mark{width:42px;height:42px;border-radius:14px;background:radial-gradient(circle at 30% 30%,#7c5cffe6,#22d3ee8c);box-shadow:0 14px 30px #7c5cff2e}.brand-name{font-weight:800;letter-spacing:-.02em}.brand-sub{font-size:12px;color:var(--muted2);margin-top:2px}.sidebar-nav{margin-top:14px;display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;color:var(--muted);border:1px solid transparent;transition:transform .18s ease,background .18s ease,border-color .18s ease}.nav-item:hover{background:#ffffff0f;border-color:#ffffff1a;transform:translateY(-1px)}.nav-item.active{color:var(--text);background:radial-gradient(120% 120% at 10% 10%,#7c5cff38,#ffffff0f);border-color:#7c5cff38}.nav-icon{font-size:18px}.nav-label{font-weight:600;font-size:14px}.sidebar-footer{position:absolute;left:16px;right:16px;bottom:16px}.sidebar-hint{padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--muted2);font-size:12px}.app-main{min-width:0;position:relative}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--stroke);background:#05081059;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}html[data-theme=light] .topbar{background:#ffffff8c}.topbar-title{font-size:18px;font-weight:800;letter-spacing:-.02em}.topbar-right{display:flex;align-items:center;gap:10px}.icon-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;cursor:pointer}.icon-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.app-content{padding:22px}.content-inner{max-width:var(--gridMax);margin:0 auto}.btn{border:1px solid rgba(255,255,255,.14);border-radius:14px;cursor:pointer;font-weight:700;letter-spacing:-.01em;transition:background .18s ease,border-color .18s ease}.btn-sm{padding:8px 12px;font-size:13px}.btn-md{padding:10px 14px;font-size:14px}.btn-primary{background:radial-gradient(120% 120% at 20% 0%,#7c5cfff2,#22d3ee73);border-color:#7c5cff59}.btn-primary:hover{background:radial-gradient(120% 120% at 20% 0%,#7c5cff,#22d3ee8c)}.btn-ghost{background:#ffffff0f}.btn-ghost:hover{background:#ffffff1a}.btn-danger{background:#ef44441f;border-color:#ef444442}.btn-danger:hover{background:#ef44442e}.field{display:flex;flex-direction:column;gap:8px}.label{font-size:12px;color:var(--muted2);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.input,.select,.textarea{background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:10px 12px;outline:none}.input::placeholder{color:#eaf0ff73}html[data-theme=light] .input::placeholder{color:#0b102073}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.skeleton-line{height:12px;border-radius:10px;background:linear-gradient(90deg,#ffffff0f,#ffffff24,#ffffff0f);background-size:200% 100%;animation:shimmer 1.2s linear infinite;margin:10px 0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.three-bg{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55;filter:blur(0px) saturate(1.08)}.app-shell,.auth-shell,.app-main,.app-content{position:relative;z-index:1}.empty{text-align:center;padding:30px 12px}.empty-art{margin:0 auto;width:min(520px,100%);opacity:.95}.empty-title{font-weight:900;margin-top:10px}.empty-subtitle{color:var(--muted);margin-top:6px}.chart-wrap{height:260px}.insights-list{display:flex;flex-direction:column;gap:10px;padding:0 8px 10px}.insight-item{text-align:left;padding:12px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:transform .18s ease,background .18s ease}.insight-item:hover{transform:translateY(-1px);background:#ffffff12}.insights-detail .list{margin:0;padding:0 18px 14px;color:var(--muted)}.insight-hero{padding:12px;border-radius:16px;background:radial-gradient(120% 120% at 10% 10%,#7c5cff2e,#ffffff0a);border:1px solid rgba(124,92,255,.18)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px}.page-kicker{font-size:12px;color:var(--muted2);font-weight:800;text-transform:uppercase;letter-spacing:.12em}.page-title{margin:8px 0 0;font-size:34px;font-weight:950;letter-spacing:-.045em}.page-sub{margin-top:8px;color:var(--muted)}.stat-card{padding:16px}.stat-label{color:var(--muted2);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.stat-value{margin-top:10px;font-size:30px;font-weight:950;letter-spacing:-.04em}.stat-hint{margin-top:8px;color:var(--muted);font-size:13px}.table-card{padding:14px}.table{display:flex;flex-direction:column;gap:6px}.table-head,.table-row{display:grid;grid-template-columns:1.1fr 1.4fr .8fr;gap:12px;padding:12px;border-radius:14px}.table-head{color:var(--muted2);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.table-row{background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.strong{font-weight:900}.form-card{padding:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 10px 10px}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;padding-top:4px}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kanban-col{padding:12px;min-height:520px}.kanban-head{display:flex;justify-content:space-between;align-items:center;padding:10px 10px 12px}.kanban-title{font-weight:950;letter-spacing:-.02em}.kanban-count{font-weight:900;color:var(--muted);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:4px 10px}.kanban-list{display:flex;flex-direction:column;gap:10px;padding:0 8px 10px}.kanban-card{padding:12px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);transition:transform .18s ease,background .18s ease}.kanban-card:hover{transform:translateY(-1px);background:#ffffff12}.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:12px}.member-task-card{padding:14px}@media(max-width:980px){.app-shell{grid-template-columns:86px 1fr}.brand-text,.nav-label,.sidebar-footer{display:none}}@media(max-width:720px){.app-content{padding:16px}.grid-3,.grid-2,.grid-4,.kanban,.form-grid,.member-grid{grid-template-columns:1fr}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:22px}.auth-center{width:min(520px,100%)}.auth-card2{padding:26px;box-shadow:var(--shadow)}.auth-head{text-align:left}.auth-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:var(--muted)}.auth-title{margin:14px 0 0;font-size:34px;letter-spacing:-.04em;font-weight:950}.auth-subtitle{margin:8px 0 0;color:var(--muted);line-height:1.4}.auth-form{margin-top:18px;display:flex;flex-direction:column;gap:14px}.auth-submit{width:100%}.auth-foot{margin-top:10px;font-size:14px;color:var(--muted)}.link{color:var(--text);font-weight:800}.muted{color:var(--muted)}
