:root{--bg:#f4f7fb;--panel:#fff;--ink:#132238;--muted:#6b7a90;--line:#dfe6ef;--brand:#1467d2;--brand2:#0d4da5;--danger:#c23b3b;--ok:#177245;--warn:#9a6a00;--shadow:0 10px 30px rgba(23,40,68,.08)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh}.topbar{position:sticky;top:0;z-index:10;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px max(16px,env(safe-area-inset-left));box-shadow:0 4px 20px rgba(0,0,0,.15)}.eyebrow{font-size:10px;letter-spacing:.18em;opacity:.65}.title{font-size:20px;font-weight:700;line-height:1.1}.top-actions{display:flex;gap:8px}.icon-btn{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-size:24px;display:grid;place-items:center;cursor:pointer}.shell{max-width:980px;margin:0 auto;padding:18px 14px 60px}.breadcrumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px;color:var(--muted);font-size:14px}.breadcrumbs a{color:var(--brand);text-decoration:none}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.upload-panel{padding:14px;margin-bottom:14px}.dropzone{border:2px dashed #bdd1eb;border-radius:16px;padding:22px 16px;display:flex;align-items:center;gap:14px;background:#f8fbff;cursor:pointer}.dropzone.drag{border-color:var(--brand);background:#eef6ff}.drop-icon{width:44px;height:44px;border-radius:14px;background:#e7f0ff;color:var(--brand);display:grid;place-items:center;font-size:25px;font-weight:700}.dropzone strong{display:block;font-size:16px}.dropzone span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.selected{font-size:13px;margin:10px 2px}.wide{width:100%}.primary,.secondary,.text-danger,.context-menu button{border:0;border-radius:12px;padding:11px 15px;font:inherit;font-weight:650;cursor:pointer}.primary{background:var(--brand);color:#fff}.primary:hover{background:var(--brand2)}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#eef2f7;color:var(--ink)}.secondary.danger,.text-danger{color:var(--danger)}.limits{margin-top:10px}.toolbar{display:flex;gap:10px;margin:12px 0}.file-list{overflow:hidden}.file-row{display:grid;grid-template-columns:34px 42px minmax(0,1fr) 42px;align-items:center;gap:4px;min-height:72px;padding:8px 10px;border-bottom:1px solid var(--line)}.file-row:last-child{border-bottom:0}.file-row.up{grid-template-columns:34px 42px minmax(0,1fr);text-decoration:none;color:inherit}.file-icon{font-size:24px;text-align:center}.file-main{min-width:0}.file-name,.file-main strong{display:block;color:var(--ink);font-weight:650;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-main span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.check-wrap{display:grid;place-items:center}.check-wrap input{width:20px;height:20px;accent-color:var(--brand)}.kebab{width:38px;height:38px;border:0;border-radius:12px;background:transparent;font-size:22px;cursor:pointer}.kebab:hover{background:#eef2f7}.empty{padding:42px 20px;text-align:center;color:var(--muted)}.empty strong,.empty span{display:block}.empty strong{color:var(--ink);margin:8px 0 4px}.empty-icon{font-size:38px}.alert{padding:12px 14px;border-radius:14px;margin:0 0 14px;border:1px solid}.alert.ok{background:#eef9f3;border-color:#bee5ce;color:var(--ok)}.alert.warn{background:#fff8e8;border-color:#efdba6;color:var(--warn)}.alert.error{background:#fff0f0;border-color:#efc5c5;color:var(--danger)}.alert.share{background:#eef6ff;border-color:#bfd7f7}.share-row{display:flex;gap:8px;margin-top:8px}.share-row input{min-width:0;flex:1}.share-row button{border:0;background:var(--brand);color:#fff;border-radius:10px;padding:9px 12px}.shares-panel{padding:16px;margin-top:14px}.shares-panel h2{font-size:16px;margin:0 0 10px}.share-item{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.share-item span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.share-item form{margin:0}.text-danger{background:transparent}.auth-body{display:grid;place-items:center;padding:20px;background:linear-gradient(160deg,#eef5ff,#f7f9fc 55%,#eef2f7)}.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.brand{width:48px;height:48px;border-radius:15px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:24px}.auth-card h1{margin:16px 0 6px}.muted{color:var(--muted)}.tiny{font-size:12px}.stack{display:grid;gap:14px;margin-top:18px}label{display:grid;gap:6px;font-size:13px;font-weight:650}input,select{width:100%;border:1px solid #cad4e2;border-radius:12px;padding:12px 13px;font:inherit;background:#fff;color:var(--ink);outline:none}input:focus,select:focus{border-color:#74a7e8;box-shadow:0 0 0 3px rgba(20,103,210,.12)}dialog{border:0;border-radius:18px;padding:0;width:min(430px,calc(100% - 28px));box-shadow:0 25px 70px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(15,23,42,.45)}.dialog-card{padding:20px}.dialog-card h3{margin:0 0 16px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.context-menu{position:fixed;z-index:30;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 45px rgba(0,0,0,.18);overflow:hidden;min-width:150px}.context-menu button{display:block;width:100%;text-align:left;background:#fff;border-radius:0}.context-menu button:hover{background:#f4f7fb}@media(min-width:700px){.shell{padding-top:28px}.upload-panel{padding:18px}.dropzone{padding:28px}.file-row{grid-template-columns:42px 48px minmax(0,1fr) 48px;padding:10px 16px}.toolbar{justify-content:flex-end}}