:root{--ink:#17233c;--muted:#748097;--blue:#4b63e7;--pale:#f5f7fc;--line:#e6eaf2}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:#f8f9fd;overflow-x:hidden}.glow{position:fixed;border-radius:50%;filter:blur(2px);z-index:-1}.glow.one{width:500px;height:500px;left:-180px;top:-220px;background:radial-gradient(circle,#e0e5ff,transparent 70%)}.glow.two{width:520px;height:520px;right:-250px;bottom:-200px;background:radial-gradient(circle,#e9e3ff,transparent 68%)}.hidden{display:none!important}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px}.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#6679ee,#364fd2);box-shadow:0 8px 18px #5266dc48}.auth-shell{width:min(1120px,92vw);min-height:100vh;margin:auto;display:grid;grid-template-columns:1fr 440px;align-items:center;gap:110px;position:relative}.auth-shell>.brand{position:absolute;top:42px}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:800;color:var(--blue)}.welcome h1{font-size:54px;line-height:1.12;letter-spacing:-2.5px;margin:17px 0 22px}.welcome h1 em{font-style:normal;color:var(--blue)}.welcome>p{line-height:1.9;color:var(--muted);margin-bottom:34px}.feature{display:flex;gap:12px;color:#526078;margin:15px 0;font-size:14px}.feature span{color:#fff;background:#7b8bed;border-radius:50%;width:20px;height:20px;text-align:center}.auth-card{background:#fff;padding:42px;border-radius:26px;box-shadow:0 25px 70px #27336516;border:1px solid #fff}.auth-card h2{font-size:27px;margin:0 0 8px}.auth-card>p{color:var(--muted);font-size:14px;margin:0 0 32px}label{display:block;font-size:13px;font-weight:700;margin:19px 0;color:#465269}input{width:100%;height:50px;margin-top:9px;border:1px solid var(--line);border-radius:12px;padding:0 15px;font:inherit;outline:none;background:#fbfcff}input:focus{border-color:#7182e9;box-shadow:0 0 0 3px #7182e918}.primary{width:100%;height:51px;border:0;border-radius:13px;background:linear-gradient(135deg,#596eea,#4058d6);color:white;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 10px 24px #5065df38}.primary:hover{transform:translateY(-1px)}.error{color:#d64f5d!important;min-height:18px;margin:12px 0 0!important}.switch{text-align:center;border-top:1px solid var(--line);padding-top:23px;margin-top:14px;color:var(--muted);font-size:13px}.switch button{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer}.app header{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,40px)}.user{display:flex;align-items:center;gap:11px}.user small,.user strong{display:block}.user small{font-size:10px;color:var(--muted)}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#edf0ff;color:var(--blue);font-weight:800}.logout{border:0;background:#f4f6fa;color:#69758a;width:34px;height:34px;border-radius:10px;margin-left:10px;cursor:pointer}.dashboard{max-width:1040px;margin:0 auto;padding:64px 30px}.heading{display:flex;justify-content:space-between;align-items:flex-end}.heading h1{font-size:36px;margin:9px 0 7px}.heading p{color:var(--muted);margin:0}.compact{width:auto;padding:0 24px}.dropzone{margin:40px 0 32px;border:1.5px dashed #bdc6e9;background:#fff;border-radius:20px;text-align:center;padding:43px;transition:.2s;cursor:pointer}.dropzone.drag{border-color:var(--blue);background:#f3f5ff;transform:scale(1.005)}.upload-icon{width:55px;height:55px;border-radius:16px;display:grid;place-items:center;margin:auto;background:#edf0ff;color:var(--blue);font-size:28px;font-weight:700}.dropzone h3{margin:17px 0 8px}.dropzone p{margin:0;color:var(--muted);font-size:13px}.section-title{display:flex;align-items:center;gap:14px}.section-title h2{font-size:19px}.section-title span{color:var(--muted);font-size:12px}.files{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden}.file{display:grid;grid-template-columns:48px 1fr 140px 110px;align-items:center;gap:13px;padding:16px 20px;border-bottom:1px solid #edf0f5}.file:last-child{border:0}.file-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef1ff;color:var(--blue);font-weight:800;font-size:12px}.file-name{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{font-size:12px;color:var(--muted);margin-top:4px}.download{color:var(--blue);font-size:13px;text-decoration:none;font-weight:700;text-align:right}.empty{text-align:center;padding:35px;color:var(--muted)}.progress{height:4px;background:#e6e9f4;border-radius:5px;margin:-18px 2px 22px;overflow:hidden}.progress span{display:block;height:100%;background:var(--blue);animation:loading 1s infinite}@keyframes loading{from{width:0}to{width:100%}}#toast{position:fixed;right:25px;bottom:25px;background:#17233c;color:#fff;padding:13px 18px;border-radius:12px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;font-size:13px}#toast.show{opacity:1;transform:none}@media(max-width:800px){.auth-shell{display:block;padding:100px 0 50px}.auth-shell>.brand{top:28px}.welcome{display:none}.auth-card{max-width:440px;margin:auto;padding:30px}.app header{padding:0 20px}.dashboard{padding:40px 20px}.heading{align-items:start}.heading .compact{padding:0 15px}.file{grid-template-columns:45px 1fr 70px}.file>div:nth-child(3){display:none}.dropzone{padding:35px 15px}}
