@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{color:#172033;background:#f5f7fb;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{transition:all .2s}.loginPage{background:radial-gradient(circle at 0 0,#6366f12e,#0000 35%),radial-gradient(circle at 100% 100%,#8b5cf626,#0000 35%),#f5f7fb;place-items:center;min-height:100vh;padding:25px;display:grid}.loginCard{background:#fff;border:1px solid #e5e7eb;border-radius:22px;width:100%;max-width:430px;padding:40px;box-shadow:0 20px 60px #0f172a1f}.loginLogo{text-align:center;margin-bottom:30px}.loginLogoIcon{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;place-items:center;width:58px;height:58px;margin:0 auto 12px;font-size:25px;font-weight:800;display:grid;box-shadow:0 10px 25px #6366f14d}.loginLogo h1{letter-spacing:3px;font-size:25px}.loginLogo p{color:#64748b;margin-top:8px;font-size:14px}.loginCard h2{text-align:center;margin-bottom:8px;font-size:26px}.loginSubtitle{text-align:center;color:#64748b;margin-bottom:25px;font-size:14px}.loginCard input{background:#f8fafc;border:1px solid #dbe1ea;border-radius:10px;outline:none;width:100%;margin-bottom:13px;padding:14px 15px}.loginCard input:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.authMessage{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;margin-bottom:14px;padding:11px 13px;font-size:13px}.loginButton{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#7c3aed);border:none;border-radius:10px;width:100%;margin-top:5px;padding:14px;font-weight:700;box-shadow:0 8px 20px #6366f138}.loginButton:hover{transform:translateY(-2px);box-shadow:0 12px 25px #6366f14d}.loginButton:disabled{opacity:.7;cursor:not-allowed;transform:none}.switchButton{color:#6366f1;cursor:pointer;background:0 0;border:none;width:100%;margin-top:18px;font-size:14px;font-weight:600}.switchButton:hover{color:#4f46e5}.app{min-height:100vh;display:flex}.sidebar{color:#fff;background:#111827;flex-direction:column;width:250px;min-height:100vh;padding:28px 18px;display:flex}.logo{align-items:center;gap:10px;margin-bottom:35px;display:flex}.logo h1{letter-spacing:2px;font-size:20px}.logoIcon{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:11px;place-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:grid;box-shadow:0 8px 20px #6366f140}.newButton{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#7c3aed);border:none;border-radius:10px;width:100%;margin-bottom:25px;padding:13px;font-weight:700}.newButton:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f140}nav{flex-direction:column;gap:8px;display:flex}.navItem{color:#cbd5e1;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:12px;font-weight:500}.navItem:hover,.navItem.active{color:#fff;background:#1f2937}.storage{color:#94a3b8;margin-top:auto;padding-top:25px;font-size:13px}.storage p{margin-bottom:10px}.storageBar{background:#374151;border-radius:20px;height:7px;margin-bottom:8px;overflow:hidden}.storageUsed{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:20px;width:35%;height:100%}.content{flex:1;width:100%;max-width:1600px;padding:45px 55px}.header{justify-content:space-between;align-items:center;margin-bottom:35px;display:flex}.welcome{color:#64748b;letter-spacing:1px;margin-bottom:8px;font-size:12px;font-weight:700}.header h2{color:#172033;font-size:34px}.profile{align-items:center;gap:12px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;place-items:center;width:45px;height:45px;font-weight:700;display:grid}.logoutButton{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:9px;padding:10px 14px;font-weight:600}.logoutButton:hover{color:#dc2626;background:#f8fafc;border-color:#fecaca}.actions{flex-wrap:wrap;gap:15px;margin-bottom:25px;display:flex}.createFolder{flex:1;gap:10px;min-width:300px;display:flex}.createFolder input{background:#fff;border:1px solid #dbe1ea;border-radius:10px;outline:none;flex:1;padding:13px 15px}.createFolder input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.createFolder button{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:10px;padding:13px 18px;font-weight:700}.createFolder button:hover{background:#4f46e5;transform:translateY(-1px)}.uploadButton{color:#fff;cursor:pointer;background:#172033;border:none;border-radius:10px;align-items:center;padding:13px 18px;font-weight:700;transition:all .2s;display:inline-flex}.uploadButton:hover{background:#020617;transform:translateY(-1px)}.message{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;margin-bottom:25px;padding:13px 16px;font-size:14px}.loading{color:#64748b;padding:20px;font-size:14px}.section{margin-top:35px}.sectionHeader{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.sectionHeader h3{font-size:20px}.sectionHeader span{color:#64748b;font-size:14px}.empty{text-align:center;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:14px;padding:40px;font-size:30px}.empty p{color:#334155;margin-top:12px;font-size:16px;font-weight:700}.empty span{margin-top:7px;font-size:14px;display:block}.grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;display:grid}.card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px;transition:all .2s}.card:hover{border-color:#c7d2fe;transform:translateY(-4px);box-shadow:0 14px 30px #00000014}.folderIcon{margin-bottom:12px;font-size:36px}.card h4{margin-bottom:5px}.card p{color:#94a3b8;font-size:13px}.fileList{background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden}.fileRow{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;transition:all .2s;display:flex}.fileRow:hover{background:#fafbff}.fileRow:last-child{border-bottom:none}.fileInfo{align-items:center;gap:14px;min-width:0;display:flex}.fileIcon{flex-shrink:0;font-size:28px}.fileInfo h4{word-break:break-word;margin-bottom:5px}.fileInfo p{color:#64748b;font-size:13px}.fileActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.fileActions button{cursor:pointer;border:none;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:700}.viewButton{color:#4338ca;background:#eef2ff}.viewButton:hover{background:#e0e7ff;transform:translateY(-1px)}.downloadButton{color:#0369a1;background:#e0f2fe}.downloadButton:hover{background:#bae6fd;transform:translateY(-1px)}.trashButton{color:#b45309;background:#fff7ed}.trashButton:hover{color:#9a3412;background:#ffedd5;transform:translateY(-1px)}.restoreButton{color:#047857;background:#ecfdf5}.restoreButton:hover{background:#d1fae5;transform:translateY(-1px)}.deleteButton{color:#dc2626;background:#fef2f2}.deleteButton:hover{color:#fff;background:#dc2626;transform:translateY(-1px)}.modalOverlay{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a8c;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.confirmModal{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:440px;padding:32px;animation:.25s modalSlide;box-shadow:0 25px 70px #00000040}.modalIcon{border-radius:18px;place-items:center;width:65px;height:65px;margin:0 auto 18px;font-size:30px;display:grid}.trashModalIcon{background:#fff7ed}.dangerIcon{background:#fef2f2}.confirmModal h2{color:#172033;margin-bottom:12px;font-size:23px}.confirmModal p{color:#64748b;font-size:14px;line-height:1.6}.modalFileName{color:#334155;word-break:break-word;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-top:18px;padding:12px;font-size:14px;font-weight:600}.modalActions{gap:12px;margin-top:25px;display:flex}.modalActions button{cursor:pointer;border:none;border-radius:10px;flex:1;padding:12px 14px;font-weight:700}.cancelModalButton{color:#475569;background:#f1f5f9}.cancelModalButton:hover{background:#e2e8f0}.confirmTrashButton{color:#fff;background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 8px 18px #ea580c33}.confirmTrashButton:hover{transform:translateY(-2px);box-shadow:0 12px 22px #ea580c47}.confirmDeleteButton{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 8px 18px #dc262633}.confirmDeleteButton:hover{transform:translateY(-2px);box-shadow:0 12px 22px #dc262647}.modalActions button:disabled{opacity:.65;cursor:not-allowed;transform:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlide{0%{opacity:0;transform:translateY(15px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:900px){.content{padding:35px 30px}.fileRow{flex-direction:column;align-items:flex-start}.fileActions{justify-content:flex-start;width:100%}}@media (max-width:700px){.sidebar{display:none}.content{padding:25px 18px}.header h2{font-size:28px}.profile{gap:7px}.logoutButton{padding:8px 10px;font-size:12px}.createFolder,.actions{flex-direction:column}.uploadButton{justify-content:center}.modalActions{flex-direction:column}.confirmModal{padding:25px 20px}.fileActions{gap:6px}.fileActions button{flex:1}}.breadcrumb{align-items:center;gap:7px;margin-top:8px;font-size:14px;display:flex}.breadcrumbItem{align-items:center;gap:7px;display:flex}.breadcrumbLink{color:#64748b;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:500;transition:color .2s}.breadcrumbLink:hover{color:#6d5dfc}.breadcrumbSeparator{color:#94a3b8;-webkit-user-select:none;user-select:none;font-size:14px}.backButton{color:#243047;cursor:pointer;background:#fff;border:1px solid #d9dee8;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.backArrow{font-size:18px;line-height:1;transition:transform .2s}.backButton:hover{color:#5b4fd1;background:#f3f1ff;border-color:#7566e8;transform:translate(-2px)}.backButton:hover .backArrow{transform:translate(-3px)}.backButton:active{transform:scale(.97)}
