:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#142038;background:#f6f8fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,.upload-button{border:1px solid #dce3ed;border-radius:10px;background:#fff;color:#243653;padding:10px 14px;font-weight:650;white-space:nowrap}button:hover,.upload-button:hover{border-color:#98b5e5;background:#f4f8ff}.primary{background:#265bd7;border-color:#265bd7;color:#fff}.primary:hover{background:#1d4cbd;color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{margin:0 0 8px;color:#4771c2;letter-spacing:.15em;font-size:.7rem;font-weight:800}.muted{color:#66748b}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#265bd7;color:#fff;font-size:1.5rem;font-weight:800;box-shadow:0 8px 18px #265bd72b}.brand-mark.small{width:33px;height:33px;border-radius:9px;font-size:1rem;box-shadow:none}.login-wrap{display:grid;place-items:center;min-height:100vh;padding:20px;background:radial-gradient(circle at 50% 0,#e4edff 0,transparent 46%),#f6f8fc}.login-card{width:min(100%,430px);padding:36px;background:#fff;border:1px solid #e5eaf2;border-radius:20px;box-shadow:0 24px 60px #192d5014}.login-card .brand-mark{margin-bottom:30px}.login-card h1{margin:0;font-size:2rem;letter-spacing:-.04em}.login-card .muted{margin:10px 0 30px;line-height:1.55}.login-form{display:grid;gap:11px}.login-form label{font-weight:650;font-size:.9rem}.login-form input,.create-form input,.rename input{width:100%;min-width:0;padding:11px 13px;border:1px solid #d6dfec;border-radius:10px;background:#fff;outline:none}.login-form input:focus,.create-form input:focus,.rename input:focus{border-color:#507ee4;box-shadow:0 0 0 3px #507ee421}.login-form button{margin-top:8px;display:flex;justify-content:space-between;align-items:center;padding:13px 16px}.notice{padding:12px 15px;border:1px solid #cbdaf9;border-radius:10px;background:#ecf3ff;color:#274577;line-height:1.4}.topbar{height:70px;padding:0 max(24px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #e5eaf2}.brand{display:flex;align-items:center;gap:10px;font-size:1.05rem}.brand span:last-child{white-space:nowrap}.logout{border:0;background:transparent;color:#63728b;font-weight:550}.workspace{max-width:1120px;margin:0 auto;padding:40px 24px 80px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-heading h1{font-size:2.1rem;letter-spacing:-.045em;margin:0}.private-badge{font-size:.8rem;color:#357053;background:#e8f5ed;padding:8px 12px;border-radius:99px;white-space:nowrap}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:26px 0;color:#8590a3;font-size:.9rem}.breadcrumbs a{color:#3764b9;font-weight:600}.breadcrumbs a:last-child{color:#3e4c63}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px}.create-form,.upload-form{display:flex;gap:8px;align-items:center}.create-form input{width:190px}.upload-form input[type=file]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.upload-button{display:inline-block;cursor:pointer}.upload-hint{font-size:.82rem;color:#7b889d;margin:12px 0 22px}.file-panel{background:#fff;border:1px solid #e2e8f1;border-radius:16px;box-shadow:0 8px 30px #20365908;min-height:270px;overflow:visible}.file-panel.dragover{outline:3px dashed #5280dc;outline-offset:-8px;background:#f3f7ff}.panel-heading{padding:18px 22px;border-bottom:1px solid #ecf0f5;display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-heading span{color:#8793a6;font-size:.83rem}.up-link{display:block;padding:13px 22px;color:#4771c2;border-bottom:1px solid #eff2f6;font-size:.9rem}.up-link:hover{background:#f7faff}.file-row{display:flex;align-items:center;gap:14px;min-height:75px;padding:13px 22px;border-bottom:1px solid #eff2f6}.file-row:last-child{border-bottom:0}.file-row:hover{background:#fbfcff}.file-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;background:#edf2fc;color:#5275bd;border-radius:10px;font-size:1.4rem}.folder-icon{background:#fff3d9;color:#b77e1f}.file-info{min-width:0;flex:1;display:grid;gap:4px}.file-name{font-weight:650;overflow-wrap:anywhere;line-height:1.2}.file-name:hover{text-decoration:underline;color:#265bd7}.file-meta{color:#8490a2;font-size:.78rem}.file-meta span{padding:0 3px}.file-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.file-actions>a,.file-actions summary,.file-actions button{font-size:.79rem;font-weight:650;border:0;background:transparent;color:#4768a5;padding:7px 8px;border-radius:7px;white-space:nowrap}.file-actions>a:hover,.file-actions summary:hover,.file-actions button:hover{background:#edf3ff}.file-actions .danger{color:#b64d50}.file-actions .danger:hover{background:#fff0f0}.file-actions summary{cursor:pointer;list-style:none}.file-actions summary::-webkit-details-marker{display:none}.rename{position:relative}.rename form{position:absolute;right:0;top:30px;z-index:4;width:245px;padding:12px;display:flex;gap:6px;background:#fff;border:1px solid #dce4ee;border-radius:10px;box-shadow:0 12px 30px #192d5026}.rename input{font-size:.8rem;padding:7px}.rename button{background:#265bd7;color:#fff!important}.empty-state{text-align:center;padding:56px 20px;color:#8b97aa}.empty-state div{font-size:2.4rem;color:#abc2ec}.empty-state h2{font-size:1.1rem;color:#42516a;margin:10px 0 6px}.empty-state p{margin:0;font-size:.9rem}@media(max-width:760px){.workspace{padding:27px 16px 60px}.topbar{padding:0 16px}.page-heading h1{font-size:1.7rem}.toolbar{align-items:stretch;flex-direction:column}.create-form,.upload-form{width:100%}.create-form input{flex:1;width:auto}.upload-form .upload-button{flex:1;text-align:center}.file-row{align-items:flex-start;flex-wrap:wrap;padding:14px 16px}.file-info{width:calc(100% - 60px);flex:1}.file-actions{width:100%;justify-content:flex-start;padding-left:52px}.panel-heading{padding:15px 16px}.private-badge{font-size:.7rem}.file-meta{line-height:1.45}}@media(max-width:410px){.private-badge{display:none}.create-form button,.upload-form button,.upload-button{font-size:.82rem;padding:10px}.login-card{padding:28px}}
