*{margin:0;padding:0;box-sizing:border-box;}
:root{--bg:#0a0e1a;--bg2:#0f1424;--card:rgba(22,28,45,0.65);--card-solid:#161c2d;--primary:#0a84ff;--primary2:#5e5ce6;--accent:#64d2ff;--success:#30d158;--danger:#ff453a;--warning:#ffd60a;--text:#f5f5f7;--text2:#8e8e93;--text3:#636366;--border:rgba(255,255,255,0.08);--border2:rgba(255,255,255,0.14);--hover:rgba(255,255,255,0.05);--sidebar:rgba(15,20,32,0.72);--rsm:10px;--rmd:16px;--rlg:22px;--rxl:28px;--sh-sm:0 2px 8px rgba(0,0,0,.2);--sh-md:0 8px 24px rgba(0,0,0,.25);--sh-lg:0 20px 60px rgba(0,0,0,.45);}
html,body{font-family:'Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:var(--bg);color:var(--text);height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;letter-spacing:-.01em;}
.bg-canvas{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;animation:float 20s infinite ease-in-out;}
.orb-1{width:500px;height:500px;background:#0a84ff;top:-150px;left:-100px;}
.orb-2{width:400px;height:400px;background:#bf5af2;bottom:-100px;right:-50px;animation-delay:-5s;}
.orb-3{width:350px;height:350px;background:#64d2ff;top:40%;left:50%;animation-delay:-10s;opacity:.35;}
.orb-4{width:300px;height:300px;background:#ff375f;bottom:20%;left:20%;animation-delay:-15s;opacity:.3;}
@keyframes float{0%,100%{transform:translate(0,0) scale(1);}33%{transform:translate(60px,-40px) scale(1.1);}66%{transform:translate(-40px,50px) scale(.95);}}
.noise{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.025;}
#app{position:relative;z-index:2;height:100vh;display:flex;flex-direction:column;}
.top-bar{height:52px;background:var(--sidebar);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;padding:0 1.5rem;flex-shrink:0;z-index:10;}
.top-logo{display:flex;align-items:center;gap:.6rem;cursor:pointer;}
.top-logo-icon{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--primary),var(--primary2));display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;box-shadow:0 4px 12px rgba(10,132,255,.4);}
.top-logo-text{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text),var(--text2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.top-search{flex:1;max-width:340px;display:flex;align-items:center;background:var(--hover);border:1px solid var(--border);border-radius:10px;padding:.38rem .8rem;gap:.5rem;transition:all .2s;}
.top-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(10,132,255,.15);}
.top-search i{color:var(--text3);font-size:.82rem;}
.top-search input{background:none;border:none;color:var(--text);font-family:inherit;font-size:.86rem;width:100%;outline:none;}
.top-search input::placeholder{color:var(--text3);}
.top-spacer{flex:1;}
.top-acts{display:flex;align-items:center;gap:.4rem;}
.icon-btn{width:34px;height:34px;border-radius:8px;background:var(--hover);border:1px solid var(--border);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:.88rem;}
.icon-btn:hover{background:var(--border);transform:translateY(-1px);}
.admin-btn{background:rgba(255,214,10,.1);border-color:rgba(255,214,10,.3);color:var(--warning);}
.admin-btn:hover{background:rgba(255,214,10,.18);}
.admin-badge{position:relative;}
.admin-badge::after{content:'';position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--warning);border:2px solid var(--bg);}
.app-body{flex:1;display:flex;overflow:hidden;}
#homeScreen{flex:1;overflow-y:auto;padding:2rem 2.5rem;position:relative;}
#homeScreen::-webkit-scrollbar{width:6px;}
#homeScreen::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}
.home-hero{display:flex;align-items:center;gap:.8rem;margin-bottom:.4rem;}
.home-title{font-size:1.7rem;font-weight:700;letter-spacing:-.02em;}
.home-sub{color:var(--text2);font-size:.88rem;margin-bottom:2rem;}
.section-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text3);margin-bottom:.9rem;}
.drives-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-bottom:2.5rem;}
.drive-card{background:var(--card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--rlg);padding:1.1rem 1.2rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;align-items:center;gap:.9rem;}
.drive-card::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--dc,var(--primary)),transparent 60%);opacity:0;transition:opacity .3s;}
.drive-card:hover{transform:translateY(-3px);border-color:var(--dc,var(--primary));box-shadow:0 8px 30px rgba(0,0,0,.35);}
.drive-card:hover::after{opacity:.06;}
.drive-card.locked .drive-icon{filter:saturate(.4);}
.drive-icon{position:relative;flex-shrink:0;}
.drive-icon i{font-size:2.4rem;color:var(--dc,var(--primary));display:block;}
.drive-letter{position:absolute;bottom:-1px;right:-3px;width:17px;height:17px;border-radius:4px;background:var(--dc,var(--primary));color:#fff;font-size:.55rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg);}
.drive-info{flex:1;min-width:0;position:relative;z-index:1;}
.drive-name{font-weight:600;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.55rem;}
.drive-bar-bg{height:5px;background:var(--border);border-radius:20px;overflow:hidden;margin-bottom:.3rem;}
.drive-bar-fill{height:100%;background:linear-gradient(90deg,var(--dc,var(--primary)),var(--accent));border-radius:20px;transition:width .6s;}
.drive-space{font-size:.7rem;color:var(--text2);}
.drive-lock{position:absolute;top:.8rem;right:.8rem;color:var(--text3);font-size:.78rem;}
.drive-add{background:transparent;border:2px dashed var(--border);border-radius:var(--rlg);padding:1.1rem 1.2rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.7rem;color:var(--text2);}
.drive-add:hover{border-color:var(--primary);color:var(--primary);background:rgba(10,132,255,.05);}
#explorerView{flex:1;display:flex;overflow:hidden;}
.ex-sidebar{width:210px;background:var(--sidebar);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;}
.ex-sidebar-hd{padding:.7rem 1rem .4rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--text3);}
.ex-tree{flex:1;overflow-y:auto;padding:0 .4rem .8rem;}
.ex-tree::-webkit-scrollbar{width:3px;}
.tree-node{display:flex;align-items:center;gap:.45rem;padding:.38rem .5rem;border-radius:7px;cursor:pointer;font-size:.82rem;color:var(--text2);transition:all .15s;user-select:none;white-space:nowrap;overflow:hidden;}
.tree-node:hover{background:var(--hover);color:var(--text);}
.tree-node.active{background:rgba(10,132,255,.14);color:var(--primary);font-weight:500;}
.tree-node i{font-size:.78rem;flex-shrink:0;width:13px;text-align:center;}
.tree-label{overflow:hidden;text-overflow:ellipsis;flex:1;}
.ex-main{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.ex-toolbar{padding:.45rem .9rem;border-bottom:1px solid var(--border);background:var(--sidebar);display:flex;align-items:center;gap:.3rem;flex-shrink:0;flex-wrap:nowrap;}
.tb-grp{display:flex;align-items:center;gap:.25rem;}
.tb-sep{width:1px;height:18px;background:var(--border);margin:0 .2rem;}
.tb-btn{height:28px;padding:0 .65rem;border-radius:6px;background:transparent;border:none;color:var(--text2);cursor:pointer;font-size:.8rem;font-family:inherit;display:flex;align-items:center;gap:.3rem;transition:all .15s;white-space:nowrap;}
.tb-btn:hover:not(:disabled){background:var(--hover);color:var(--text);}
.tb-btn:disabled{opacity:.35;cursor:not-allowed;}
.tb-btn.prim{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;}
.tb-btn.prim:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(10,132,255,.35);}
.tb-sel{background:var(--hover);color:var(--text);border:1px solid var(--border);border-radius:6px;height:28px;padding:0 .6rem;font-family:inherit;font-size:.78rem;cursor:pointer;outline:none;}
.filter-bar{display:flex;align-items:center;gap:.3rem;padding:.35rem .9rem;border-bottom:1px solid var(--border);background:var(--bg2);flex-wrap:nowrap;overflow-x:auto;flex-shrink:0;}
.filter-bar::-webkit-scrollbar{display:none;}
.filter-btn{height:24px;padding:0 .6rem;border-radius:5px;background:transparent;border:1px solid var(--border);color:var(--text2);cursor:pointer;font-size:.75rem;font-family:inherit;transition:all .15s;white-space:nowrap;}
.filter-btn:hover{background:var(--hover);color:var(--text);}
.filter-btn.active{background:rgba(10,132,255,.15);border-color:var(--primary);color:var(--primary);}
.filter-sep{width:1px;height:18px;background:var(--border);margin:0 .2rem;flex-shrink:0;}
.filter-ext{background:var(--hover);border:1px solid var(--border);border-radius:5px;height:24px;padding:0 .5rem;color:var(--text);font-family:inherit;font-size:.75rem;outline:none;width:90px;transition:all .2s;}
.filter-ext:focus{border-color:var(--primary);width:120px;}
.filter-ext::placeholder{color:var(--text3);}
.addr-bar{height:34px;background:var(--sidebar);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 1rem;gap:.2rem;flex-shrink:0;overflow-x:auto;}
.addr-bar::-webkit-scrollbar{display:none;}
.bc-item{display:flex;align-items:center;gap:.2rem;font-size:.82rem;flex-shrink:0;}
.bc-item span{cursor:pointer;color:var(--text2);transition:color .15s;padding:.15rem .35rem;border-radius:5px;}
.bc-item span:hover{color:var(--text);background:var(--hover);}
.bc-item.cur span{color:var(--text);font-weight:500;cursor:default;}
.bc-item.cur span:hover{background:none;}
.bc-sep{color:var(--text3);font-size:.68rem;margin:0 .05rem;}
.ex-content{flex:1;overflow-y:auto;padding:1.1rem 1.4rem;position:relative;}
.ex-content::-webkit-scrollbar{width:7px;}
.ex-content::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px;}
.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.8rem;}
.f-item{background:var(--card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--rmd);padding:.9rem .7rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;user-select:none;animation:fadeUp .3s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.f-item:hover{transform:translateY(-2px);border-color:var(--border2);box-shadow:var(--sh-md);}
.f-item.sel{border-color:var(--primary);background:rgba(10,132,255,.12);}
.f-item-ico{font-size:2rem;margin-bottom:.5rem;line-height:1;}
.f-item-name{font-size:.73rem;font-weight:500;word-break:break-word;line-height:1.3;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.f-item-sub{font-size:.65rem;color:var(--text3);margin-top:.22rem;}
.file-list{display:flex;flex-direction:column;gap:2px;}
.f-list-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .7rem;border-radius:7px;cursor:pointer;transition:all .15s;border:1px solid transparent;}
.f-list-item:hover{background:var(--hover);border-color:var(--border);}
.f-list-item.sel{background:rgba(10,132,255,.12);border-color:var(--primary);}
.f-list-ico{font-size:1rem;width:22px;text-align:center;flex-shrink:0;}
.f-list-name{flex:1;font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.f-list-size{font-size:.75rem;color:var(--text2);min-width:68px;text-align:right;flex-shrink:0;}
.f-list-date{font-size:.75rem;color:var(--text3);min-width:88px;text-align:right;flex-shrink:0;}
.status-bar{height:25px;background:var(--sidebar);border-top:1px solid var(--border);padding:0 1rem;display:flex;align-items:center;gap:.8rem;font-size:.72rem;color:var(--text3);flex-shrink:0;}
.drop-ov{position:absolute;inset:0;background:rgba(10,132,255,.12);border:3px dashed var(--primary);border-radius:var(--rlg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;gap:.5rem;animation:fadeIn .2s;}
.drop-ov i{font-size:3rem;color:var(--primary);}
.drop-ov span{font-size:.9rem;font-weight:500;color:var(--primary);}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.upload-bar{position:fixed;bottom:0;left:0;right:0;background:var(--card-solid);border-top:1px solid var(--border);padding:.55rem 1.5rem;z-index:500;display:flex;align-items:center;gap:1rem;animation:slideUp .3s ease;}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
.up-icon{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--primary2));display:flex;align-items:center;justify-content:center;color:#fff;font-size:.82rem;flex-shrink:0;}
.up-info{flex:1;min-width:0;}
.up-name{font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.2rem;}
.up-status{font-size:.72rem;color:var(--text2);}
.up-bar-bg{width:160px;height:5px;background:var(--border);border-radius:10px;overflow:hidden;flex-shrink:0;}
.up-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:10px;transition:width .15s;position:relative;overflow:hidden;}
.up-bar-fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s infinite;}
@keyframes shimmer{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}
.up-pct{font-size:.82rem;font-weight:700;color:var(--primary);min-width:40px;text-align:right;flex-shrink:0;}
.modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;align-items:center;justify-content:center;z-index:800;padding:1rem;animation:fadeIn .2s;}
.modal-box{background:var(--card-solid);border:1px solid var(--border2);border-radius:var(--rxl);box-shadow:var(--sh-lg);animation:modalIn .3s cubic-bezier(.34,1.56,.64,1);max-width:480px;width:100%;}
@keyframes modalIn{from{opacity:0;transform:scale(.9);}to{opacity:1;transform:scale(1);}}
.modal-hd{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid var(--border);}
.modal-ttl{font-size:.95rem;font-weight:600;}
/* X icon button — rotates on hover (only in modal header) */
.modal-x{width:26px;height:26px;border-radius:50%;background:var(--hover);border:none;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:.8rem;}
.modal-x:hover{background:var(--border);transform:rotate(90deg);}
.modal-bd{padding:1.1rem 1.4rem;}
.modal-ft{padding:.8rem 1.4rem;border-top:1px solid var(--border);display:flex;gap:.5rem;justify-content:flex-end;}
/* Cancel text button — NO rotation, just hover background */
.modal-cls{background:var(--hover);border:1px solid var(--border);color:var(--text);padding:.7rem 1.2rem;border-radius:10px;font-weight:500;font-size:.87rem;cursor:pointer;font-family:inherit;transition:all .2s;}
.modal-cls:hover{background:var(--border);}
.f-grp{margin-bottom:.9rem;}
.f-lbl{font-size:.77rem;font-weight:600;color:var(--text2);margin-bottom:.35rem;display:block;}
.f-inp{width:100%;background:var(--hover);border:1px solid var(--border);border-radius:9px;padding:.65rem .9rem;color:var(--text);font-family:inherit;font-size:.87rem;outline:none;transition:all .2s;}
.f-inp:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(10,132,255,.15);}
.f-inp::placeholder{color:var(--text3);}
.f-hint{font-size:.73rem;color:var(--text3);margin-top:.28rem;}
.f-err{font-size:.73rem;color:var(--danger);margin-top:.28rem;}
.btn-p{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border:none;padding:.7rem 1.4rem;border-radius:10px;font-weight:600;font-size:.87rem;cursor:pointer;font-family:inherit;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;}
.btn-p:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(10,132,255,.4);}
.btn-p:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.btn-s{background:var(--hover);border:1px solid var(--border);color:var(--text);padding:.7rem 1.2rem;border-radius:10px;font-weight:500;font-size:.87rem;cursor:pointer;font-family:inherit;transition:all .2s;}
.btn-s:hover{background:var(--border);}
.btn-d{background:var(--danger);color:#fff;border:none;padding:.7rem 1.2rem;border-radius:10px;font-weight:600;font-size:.87rem;cursor:pointer;font-family:inherit;transition:all .2s;}
.btn-d:hover{background:#d63630;transform:translateY(-1px);}
.btn-sm{padding:.3rem .65rem;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;font-family:inherit;border:1px solid var(--border);background:var(--hover);color:var(--text);transition:all .15s;}
.btn-sm:hover{background:var(--border);}
.btn-sm.p{background:var(--primary);color:#fff;border-color:var(--primary);}
.btn-sm.p:hover{background:#0070d6;}
.btn-sm.d{color:var(--danger);border-color:rgba(255,69,58,.3);}
.btn-sm.d:hover{background:rgba(255,69,58,.1);}
.info-box{background:rgba(10,132,255,.07);border:1px solid rgba(10,132,255,.18);border-radius:9px;padding:.8rem .95rem;margin-bottom:.9rem;font-size:.8rem;color:var(--text2);line-height:1.55;}
.info-box strong{color:var(--accent);}
.media-ov{position:fixed;inset:0;background:rgba(0,0,0,.92);backdrop-filter:blur(50px);z-index:900;display:flex;flex-direction:column;animation:fadeIn .2s;}
.media-hd{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 1.4rem;background:rgba(0,0,0,.4);flex-shrink:0;gap:1rem;}
.media-hd-title{font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.media-hd-acts{display:flex;align-items:center;gap:.4rem;flex-shrink:0;}
.media-body{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;}
.media-img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in;transition:transform .3s;border-radius:4px;}
.media-img.zoomed{cursor:zoom-out;}
.media-vid{max-width:90%;max-height:90%;border-radius:8px;}
.media-ft{padding:.65rem 1.4rem;background:rgba(0,0,0,.4);display:flex;align-items:center;gap:.8rem;font-size:.79rem;color:var(--text2);flex-shrink:0;flex-wrap:wrap;}
.ctx-menu{position:fixed;background:var(--card-solid);border:1px solid var(--border2);border-radius:var(--rmd);box-shadow:var(--sh-lg);z-index:1000;min-width:175px;padding:.35rem 0;animation:ctxIn .15s ease;}
@keyframes ctxIn{from{opacity:0;transform:scale(.95);}to{opacity:1;transform:scale(1);}}
.ctx-item{display:flex;align-items:center;gap:.65rem;padding:.45rem .85rem;font-size:.82rem;cursor:pointer;color:var(--text2);transition:all .1s;}
.ctx-item:hover{background:var(--hover);color:var(--text);}
.ctx-item.danger:hover{color:var(--danger);background:rgba(255,69,58,.08);}
.ctx-item i{width:15px;text-align:center;font-size:.78rem;}
.ctx-sep{height:1px;background:var(--border);margin:.25rem 0;}
.admin-box{max-width:680px;width:100%;display:flex;flex-direction:column;max-height:85vh;}
.admin-tabs{display:flex;border-bottom:1px solid var(--border);}
.admin-tab{padding:.6rem 1.1rem;font-size:.82rem;font-weight:500;cursor:pointer;color:var(--text2);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s;}
.admin-tab.active{color:var(--primary);border-color:var(--primary);}
.admin-tab-bd{flex:1;overflow-y:auto;padding:1.1rem 1.4rem;}
.admin-tab-bd::-webkit-scrollbar{width:5px;}
.admin-tab-bd::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}
.drive-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--hover);border-radius:var(--rsm);margin-bottom:.5rem;border:1px solid var(--border);}
.drive-row-badge{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.88rem;flex-shrink:0;}
.drive-row-info{flex:1;}
.drive-row-name{font-size:.85rem;font-weight:600;}
.drive-row-sub{font-size:.72rem;color:var(--text2);}
.drive-row-acts{display:flex;gap:.35rem;}
.color-grid{display:flex;gap:.4rem;flex-wrap:wrap;}
.c-swatch{width:26px;height:26px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:border-color .15s;}
.c-swatch.active{border-color:#fff;}
.pass-box{max-width:340px;}
.pass-lock{width:54px;height:54px;border-radius:50%;background:rgba(255,214,10,.1);color:var(--warning);display:flex;align-items:center;justify-content:center;font-size:1.35rem;margin:0 auto .9rem;}
.toast-wrap{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.4rem;}
.toast{background:var(--card-solid);border:1px solid var(--border2);border-radius:11px;padding:.6rem .9rem;box-shadow:var(--sh-lg);display:flex;align-items:center;gap:.6rem;font-size:.84rem;font-weight:500;animation:toastIn .3s cubic-bezier(.34,1.56,.64,1);min-width:230px;max-width:340px;}
@keyframes toastIn{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:translateX(0);}}
.toast.hide{animation:toastOut .25s ease forwards;}
@keyframes toastOut{to{opacity:0;transform:translateX(30px);}}
.toast-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.toast.success .toast-dot{background:var(--success);}
.toast.error .toast-dot{background:var(--danger);}
.toast.info .toast-dot{background:var(--primary);}
.toast.warning .toast-dot{background:var(--warning);}
.empty{text-align:center;padding:4rem 2rem;color:var(--text2);}
.empty i{font-size:2.8rem;margin-bottom:.9rem;opacity:.35;display:block;}
.empty h3{color:var(--text);margin-bottom:.3rem;font-size:1.05rem;}
.spin{animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.hidden{display:none!important;}
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}
@media(max-width:768px){.ex-sidebar{display:none;}.drives-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));}.f-list-date{display:none;}#homeScreen{padding:1.2rem;}}
@media(max-width:480px){.top-search{display:none;}.file-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));}}
/* ================================================================
   ADMIN PANEL (Full-Screen at #/admin)
   ================================================================ */
#adminScreen{flex:1;overflow-y:auto;display:flex;flex-direction:column;}
.admin-login-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;}
.admin-login-box{background:var(--card-solid);border:1px solid var(--border2);border-radius:var(--rxl);padding:2.2rem 2rem;max-width:380px;width:100%;box-shadow:var(--sh-lg);}
.admin-login-logo{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary2));display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#fff;margin:0 auto 1.2rem;box-shadow:0 8px 24px rgba(10,132,255,.35);}
.admin-login-title{font-size:1.3rem;font-weight:700;text-align:center;margin-bottom:.5rem;}
.admin-pg{display:flex;flex-direction:column;height:100%;}
.admin-pg-hd{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--sidebar);border-bottom:1px solid var(--border);flex-shrink:0;}
.admin-pg-logo{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:.5rem;color:var(--primary);}
.admin-pg-acts{display:flex;gap:.4rem;}
.admin-pg-tabs{display:flex;background:var(--sidebar);border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto;}
.admin-pg-tab{padding:.6rem 1.1rem;font-size:.82rem;font-weight:500;cursor:pointer;color:var(--text2);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s;display:flex;align-items:center;gap:.4rem;white-space:nowrap;flex-shrink:0;}
.admin-pg-tab:hover{color:var(--text);}
.admin-pg-tab.active{color:var(--primary);border-color:var(--primary);}
.admin-pg-body{flex:1;overflow-y:auto;padding:1.4rem 1.8rem;}
.admin-pg-body::-webkit-scrollbar{width:6px;}
.admin-pg-body::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}
/* Stats */
.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.8rem;margin-bottom:1.5rem;}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--rmd);padding:1rem 1.2rem;text-align:center;}
.stat-n{font-size:1.6rem;font-weight:700;color:var(--primary);margin-bottom:.2rem;}
.stat-l{font-size:.75rem;color:var(--text2);font-weight:500;}
/* Admin file list */
.admin-section-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text3);margin-bottom:.8rem;}
.admin-file-list{display:flex;flex-direction:column;gap:3px;}
.admin-file-row{display:flex;align-items:center;gap:.7rem;padding:.5rem .7rem;border-radius:7px;border:1px solid transparent;transition:all .15s;font-size:.83rem;}
.admin-file-row:hover{background:var(--hover);border-color:var(--border);}
.admin-file-ico{font-size:1.1rem;flex-shrink:0;}
.admin-file-name-wrap{flex:1;min-width:0;}
.admin-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;}
.admin-file-path{font-size:.7rem;color:var(--text3);}
.admin-file-drive{font-size:.75rem;font-weight:600;min-width:24px;flex-shrink:0;}
.admin-file-size{font-size:.75rem;color:var(--text2);min-width:64px;text-align:right;flex-shrink:0;}
.admin-file-date{font-size:.74rem;color:var(--text3);min-width:80px;text-align:right;flex-shrink:0;}
.admin-file-acts{display:flex;gap:.3rem;flex-shrink:0;}
/* Activity log */
.activity-log{display:flex;flex-direction:column;gap:3px;}
.activity-row{display:flex;align-items:center;gap:.8rem;padding:.5rem .7rem;border-radius:7px;border:1px solid var(--border);background:var(--hover);}
.activity-ico{width:30px;height:30px;border-radius:8px;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;}
.activity-info{flex:1;min-width:0;}
.activity-name{font-size:.83rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.activity-sub{font-size:.72rem;color:var(--text2);margin-top:.1rem;text-transform:capitalize;}
.activity-time{font-size:.72rem;color:var(--text3);flex-shrink:0;}
/* Drive row (reuse from old admin) */
.drive-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--hover);border-radius:var(--rsm);margin-bottom:.5rem;border:1px solid var(--border);}
.drive-row-badge{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.88rem;flex-shrink:0;}
.drive-row-info{flex:1;}
.drive-row-name{font-size:.85rem;font-weight:600;}
.drive-row-sub{font-size:.72rem;color:var(--text2);}
.drive-row-acts{display:flex;gap:.35rem;}
.color-grid{display:flex;gap:.4rem;flex-wrap:wrap;}
.c-swatch{width:26px;height:26px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:border-color .15s;}
.c-swatch.active{border-color:#fff;}
.pass-box{max-width:340px;}
.pass-lock{width:54px;height:54px;border-radius:50%;background:rgba(255,214,10,.1);color:var(--warning);display:flex;align-items:center;justify-content:center;font-size:1.35rem;margin:0 auto .9rem;}
/* ================================================================
   TRANSFER MANAGER
   ================================================================ */
.tm-wrap{position:relative;}
.tm-btn{position:relative;}
.tm-badge{position:absolute;top:-3px;right:-3px;background:var(--danger);color:#fff;border-radius:10px;font-size:.6rem;font-weight:700;padding:1px 4px;min-width:14px;text-align:center;display:none;line-height:1.4;}
.tm-badge.visible{display:block;}
.tm-panel{position:absolute;right:0;top:calc(100% + 10px);width:320px;background:var(--card-solid);border:1px solid var(--border2);border-radius:var(--rxl);box-shadow:var(--sh-lg);z-index:200;overflow:hidden;display:none;flex-direction:column;}
.tm-panel.open{display:flex;}
.tm-panel-hd{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;border-bottom:1px solid var(--border);font-size:.82rem;font-weight:600;background:var(--sidebar);}
.tm-panel-hd i{margin-right:.4rem;color:var(--primary);}
.tm-list{max-height:360px;overflow-y:auto;padding:.4rem;}
.tm-list::-webkit-scrollbar{width:4px;}
.tm-list::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px;}
.tm-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .4rem;border-radius:8px;border:1px solid transparent;transition:.15s;}
.tm-item:hover{background:var(--hover);border-color:var(--border);}
.tm-ico{font-size:1rem;width:24px;text-align:center;flex-shrink:0;}
.tm-info{flex:1;min-width:0;}
.tm-name{font-size:.78rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tm-sub{font-size:.7rem;color:var(--text2);margin-top:.1rem;}
.tm-prog-bg{height:3px;background:var(--border2);border-radius:2px;margin-top:.3rem;}
.tm-prog-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .3s;}
.tm-cancel{width:22px;height:22px;border-radius:50%;border:1px solid var(--border2);background:transparent;cursor:pointer;color:var(--text3);display:flex;align-items:center;justify-content:center;font-size:.6rem;flex-shrink:0;transition:.15s;}
.tm-cancel:hover{background:var(--danger);color:#fff;border-color:var(--danger);}
/* Lock Drive button */
.lock-btn{color:var(--warning) !important;border-color:rgba(255,214,10,.3) !important;background:rgba(255,214,10,.08) !important;}
.lock-btn:hover{background:rgba(255,214,10,.18) !important;}
/* Drag and Drop */
.drag-over{background:rgba(10,132,255,.08) !important;border:2px dashed var(--primary) !important;border-radius:var(--rmd);}