:root{--bg:#f7f8fc;--surface:#fff;--text:#20243a;--line:#e9ebf2;--accent:#635bdb;--accent-dark:#5149c5;--accent-soft:#efeeff;--muted:#9298aa;font-family:'DM Sans',sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:252px;background:var(--surface);border-right:1px solid var(--line);padding:27px 18px 18px;display:flex;flex-direction:column;flex-shrink:0}.brand,.dialog-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font:800 22px Manrope,sans-serif;letter-spacing:-1.2px;padding:0 9px 35px}.brand-mark{width:37px;height:37px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.brand-period{color:var(--accent)}.upload-primary{height:47px;border:0;border-radius:13px;background:var(--accent);color:#fff;font-weight:700;box-shadow:0 7px 18px #635bdb38;margin:0 2px 28px}.nav-group{display:grid;gap:6px}.nav-item{display:block;text-decoration:none;color:#737990;border:0;background:transparent;text-align:left;padding:12px 13px;border-radius:10px;font-size:14px;font-weight:600;width:100%}.nav-item:hover,.nav-item.active{background:var(--accent-soft);color:var(--accent)}.sidebar-bottom{margin-top:auto}.storage-card{background:#f8f8fd;border:1px solid var(--line);padding:15px;border-radius:14px;margin:0 1px 18px}.storage-heading,.storage-amount{display:flex;justify-content:space-between;align-items:center}.storage-heading{font-size:12px;color:#727890;font-weight:700}.storage-amount{margin:12px 0 9px;font-size:12px;color:var(--muted)}.storage-amount strong{font-size:15px;color:var(--text)}.storage-track{height:5px;border-radius:10px;background:#e6e6f0;overflow:hidden}.storage-track span{display:block;width:0;height:100%;background:var(--accent);border-radius:10px}.storage-card p{font-size:11px;color:#a0a4b5;margin:10px 0 0}.trash-link{margin-bottom:12px}.profile-button{width:100%;border:0;border-top:1px solid var(--line);background:transparent;display:flex;align-items:center;text-align:left;gap:10px;padding:17px 3px 2px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e9e7ff;color:var(--accent);font-weight:700}.profile-copy{display:grid;gap:3px}.profile-copy strong{font-size:12px}.profile-copy small{font-size:10px;color:var(--muted)}.more{margin-left:auto;color:var(--muted)}.main-area{flex:1;min-width:0}.topbar{height:78px;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#ffffffb8}.breadcrumb{font-size:13px;color:#a0a4b5}.breadcrumb span{margin:0 9px}.breadcrumb strong{color:#555b72}.top-actions{display:flex;align-items:center;gap:13px}.search-box{height:39px;width:245px;background:white;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;padding:0 10px;gap:8px;color:#a0a4b5;font-size:21px}.search-box input{border:0;outline:0;width:100%;font-size:12px}.icon-button,.sort-button,.view-toggle{height:36px;border:1px solid var(--line);border-radius:9px;background:white;color:#727890;padding:0 11px}.signin-button{height:37px;border:0;border-radius:10px;padding:0 17px;background:var(--text);color:white;font-size:12px;font-weight:700}.content{max-width:1280px;margin:auto;padding:45px 5.2% 25px}.welcome-row{min-height:190px;display:flex;justify-content:space-between;position:relative;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#9298ad;font-weight:700}.welcome-row h1{font:800 clamp(32px,4vw,47px)/1.13 Manrope,sans-serif;letter-spacing:-2.3px;margin:15px 0 10px}.welcome-row h1 span{color:var(--accent)}.subtitle{font-size:13px;color:var(--muted)}.welcome-art{width:270px;height:180px;position:relative;display:grid;place-items:center}.art-cloud{width:115px;height:90px;display:grid;place-items:center;border-radius:38px;background:linear-gradient(145deg,#fff,#eeedff);box-shadow:0 20px 45px #635bdb1a;color:var(--accent);font-size:70px;z-index:2}.art-orbit{position:absolute;border:1px solid #dedcfb;border-radius:50%;width:220px;height:110px;transform:rotate(-25deg)}.art-spark{position:absolute;top:20px;right:30px;color:#a49ff0;font-size:23px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:22px 0 16px}.section-title{display:flex;align-items:center;gap:11px}.section-title h2{font:700 17px Manrope,sans-serif;margin:0}.file-count{font-size:10px;color:#a1a5b5;background:#eeeff5;padding:5px 8px;border-radius:6px}.view-actions{display:flex;gap:7px}.view-toggle{width:34px;padding:0}.view-toggle.selected{background:var(--accent-soft);color:var(--accent)}.drop-zone{border:1px dashed #d9d8ed;border-radius:14px;background:#fbfbff;padding:13px 18px;margin-bottom:19px}.drop-zone.dragging{background:var(--accent-soft);border-color:var(--accent)}.drop-inner{display:flex;align-items:center;justify-content:center;gap:12px}.drop-symbol{width:32px;height:32px;border-radius:10px;background:#eeedff;color:var(--accent);display:grid;place-items:center;font-size:19px}.drop-inner strong{font-size:11px}.drop-inner p{font-size:10px;color:#a0a4b5;margin:3px 0 0}.drop-inner p button{border:0;background:none;color:var(--accent);padding:0;font-weight:700}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:13px;min-height:220px}.empty-state{grid-column:1/-1;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-illustration{width:76px;height:66px;border-radius:21px;background:#eeedff;color:var(--accent);display:grid;place-items:center;font-size:39px;margin-bottom:15px}.empty-state h3{font:700 15px Manrope,sans-serif;margin:0 0 6px}.empty-state p{font-size:11px;color:#9a9fb0;margin:0 0 15px}.empty-upload{border:0;border-radius:9px;background:var(--accent);color:#fff;padding:10px 15px;font-size:11px;font-weight:700}.file-card{background:white;border:1px solid var(--line);border-radius:13px;padding:15px}.file-preview{height:105px;border-radius:9px;background:#f5f5fb;display:grid;place-items:center;font-size:37px;color:var(--accent);margin-bottom:12px;overflow:hidden}.file-preview img{width:100%;height:100%;object-fit:cover}.file-name{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:10px;color:#a0a4b5;margin-top:5px;display:flex;justify-content:space-between}.footer{border-top:1px solid var(--line);margin-top:35px;padding-top:17px;display:flex;justify-content:space-between;color:#a6a9b8;font-size:10px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:#24263b;color:white;padding:11px 17px;border-radius:10px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}.auth-dialog{border:0;border-radius:22px;padding:34px;width:min(420px,calc(100% - 28px));box-shadow:0 30px 100px #15172c40;color:var(--text)}.auth-dialog::backdrop{background:#191b2e75;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:17px;top:14px;border:0;background:transparent;font-size:25px;color:#9da1b0}.dialog-brand{padding:0;margin-bottom:25px;font-size:19px}.auth-dialog h2{font:800 25px Manrope,sans-serif;margin:0 0 7px}.dialog-subtitle{font-size:12px;color:#959aab;margin:0 0 22px}.google-button{height:45px;width:100%;background:white;border:1px solid var(--line);border-radius:10px;font-size:12px;font-weight:700;color:#45495d}.divider{text-align:center;color:#a1a5b3;font-size:10px;margin:20px 0}.auth-dialog form{display:grid;gap:13px}.auth-dialog label{font-size:11px;font-weight:700;color:#60657b;display:grid;gap:7px}.auth-dialog input{height:43px;border:1px solid var(--line);border-radius:9px;padding:0 12px;font-size:12px}.auth-submit{height:44px;border:0;border-radius:9px;background:var(--accent);color:white;font-size:12px;font-weight:700}.auth-switch{text-align:center;font-size:11px;color:#9095a6;margin:18px 0}.auth-switch button{border:0;background:none;color:var(--accent);font-weight:700;padding:0}.legal-note{text-align:center;color:#a5a8b6;font-size:9px}.legal-note a{color:#7770d7}.mobile-menu{display:none}body.dark{--bg:#171827;--surface:#202235;--text:#f1f2fb;--line:#34374d;--accent-soft:#302e53;--muted:#a2a6ba}body.dark .topbar,body.dark .search-box,body.dark .icon-button,body.dark .sort-button,body.dark .view-toggle,body.dark .file-card,body.dark .auth-dialog,body.dark .google-button{background:#202235;color:var(--text)}body.dark .storage-card,body.dark .drop-zone,body.dark .file-preview{background:#25283d}body.dark .auth-dialog input{background:#292c42;color:var(--text)}@media(max-width:850px){.sidebar{width:220px}.welcome-art{opacity:.55}.content{padding-top:32px}}@media(max-width:650px){.sidebar{position:fixed;z-index:5;left:-270px;top:0;bottom:0;width:250px;transition:left .25s;box-shadow:0 15px 50px #0002}.sidebar.open{left:0}.topbar{height:65px;padding:0 17px}.mobile-menu{display:block;border:0;background:none;color:var(--text);font-size:20px;margin-right:10px}.breadcrumb{margin-right:auto}.search-box{width:35px;border:0;background:transparent;padding:0}.search-box input{display:none}.content{padding:30px 18px 20px}.welcome-row{min-height:165px}.welcome-row h1{font-size:34px}.welcome-art{position:absolute;right:-65px;opacity:.3}.subtitle{max-width:230px;line-height:1.5}.file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{font-size:9px;gap:10px}.footer span:last-child{text-align:right}}