*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#1c2738;font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{height:68px;background:#fff;border-bottom:1px solid #e8edf4;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1160px)/2))}.brand{font-size:20px;font-weight:750;color:#172b4d;text-decoration:none}.head-right{display:flex;align-items:center;gap:18px;color:#66758a}.head-right form{margin:0}main{max-width:1160px;margin:42px auto;padding:0 24px}.welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:34px}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:800;color:#5276bc;margin:0 0 8px}.welcome h1{font-size:34px;letter-spacing:-1.2px;margin:0 0 6px}.muted{color:#7b8798}.welcome p{margin-top:0}.storage{background:#fff;border:1px solid #e8edf4;border-radius:14px;padding:16px 22px;min-width:180px;display:flex;flex-direction:column;gap:2px;color:#78869a;font-size:12px}.storage strong{font-size:25px;color:#263b5a}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#fff;padding:14px 16px;border:1px solid #e8edf4;border-radius:13px 13px 0 0}.crumb{font-weight:650}.crumb a,.file-name a{color:#29466f;text-decoration:none}.crumb span{color:#a0aaba;margin-left:7px}.actions{display:flex;gap:10px;flex-wrap:wrap}.inline{display:flex;align-items:center;gap:7px;margin:0}.inline input[name=name]{width:150px}.inline input:not([type=file]),input{border:1px solid #dce3ed;border-radius:8px;padding:9px 11px;font:inherit;min-width:0}.button,button,.upload{border:0;border-radius:8px;background:#3769b5;color:white;padding:9px 14px;font:600 13px inherit;cursor:pointer}.secondary{background:#edf3fc;color:#315b98}.ghost{background:transparent;color:#50627d;padding:6px}.upload{display:inline-flex;align-items:center}.upload input{display:none}.parent{display:inline-block;margin:13px 0;color:#5276a8;text-decoration:none}.file-list{background:#fff;border:1px solid #e8edf4;border-radius:0 0 13px 13px;overflow:hidden}.list-head,.file-row{display:grid;grid-template-columns:minmax(220px,1fr) 180px 110px 150px;gap:14px;align-items:center;padding:13px 18px}.list-head{background:#fafbfd;color:#8a96a7;text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:800}.file-row{border-top:1px solid #eef1f5;min-height:58px}.file-name{display:flex;align-items:center;gap:10px;min-width:0}.file-name a{overflow-wrap:anywhere}.file-icon{font-size:18px}.row-actions{display:flex;gap:12px;align-items:center}.row-actions form{margin:0}.text-button{background:none;color:#5276a8;padding:3px;font-size:12px}.text-button.danger{color:#bd5960}.empty{text-align:center;padding:65px 20px;color:#8995a5}.empty div{font-size:36px}.empty h3{color:#394b63;margin:8px 0 2px}.empty p{margin:0}footer{text-align:center;color:#9aa5b4;font-size:12px;padding:30px}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef3fb,#f8faff)}.login-card{width:min(410px,calc(100% - 32px));background:white;padding:38px;border:1px solid #e6ebf3;border-radius:18px;box-shadow:0 18px 60px #203b6412;text-align:center}.logo{font-size:40px;color:#4775bd}.login-card h1{margin:0;font-size:28px}.login-card p{color:#8994a4;margin:4px 0 25px}.login-card form{display:grid;gap:15px;text-align:left}.login-card label{display:grid;gap:6px;font-size:13px;font-weight:650}.login-card input{width:100%;padding:12px}.login-card button{padding:12px}@media(max-width:760px){main{margin:24px auto;padding:0 14px}.welcome{align-items:flex-start;flex-direction:column}.welcome h1{font-size:29px}.storage{width:100%}.toolbar{align-items:flex-start;flex-direction:column}.actions{width:100%}.inline{flex:1}.inline input[name=name]{width:100%}.list-head{display:none}.file-row{grid-template-columns:1fr auto;gap:5px 12px;padding:14px}.file-name{grid-column:1/-1}.file-row>.muted:nth-child(2){grid-column:1}.file-row>.muted:nth-child(3){grid-column:2;text-align:right}.row-actions{grid-column:1/-1}.head-right{gap:8px}}