@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--bg:#eef2f8;--surface:#fff;--surface-2:#f4f7fb;--surface-3:#e4eaf3;--sheet:#fff;--text:#101828;--text-2:#5b6478;--text-3:#98a2b3;--accent:#ff0b71;--accent-ink:#c2004f;--accent-hover:#e00062;--accent-dim:#ff0b7117;--accent-line:#ff0b7152;--ok:#0b8a5a;--ok-dim:#0b8a5a1a;--warn:#b06a06;--warn-dim:#b06a061a;--bad:#d0273c;--bad-dim:#d0273c17;--line:#10182814;--line-2:#10182824;--line-3:#10182847;--font-display:"Manrope",system-ui,sans-serif;--font-ui:"Manrope",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--r-sm:8px;--r:10px;--r-lg:16px;--shadow:0 1px 2px #1018280a;--shadow-lg:0 4px 14px #10182812,0 1px 3px #1018280d;--shadow-xl:0 18px 44px #10182821,0 4px 10px #1018280f;--t:.12s cubic-bezier(.4,0,.2,1);--t-out:.26s cubic-bezier(.16,1,.3,1);--sidebar-w:76px;--checker:linear-gradient(45deg,#e9eef6 25%,transparent 25%),linear-gradient(-45deg,#e9eef6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e9eef6 75%),linear-gradient(-45deg,transparent 75%,#e9eef6 75%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:15.5px;line-height:1.5}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:0}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-3);border:3px solid var(--bg);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--surface-3)}.liquid-background,.liquid-blob{display:none}.app-layout{min-height:100vh;display:flex}.rail{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--line);z-index:100;flex-direction:column;align-items:center;height:100vh;padding:20px 0 16px;display:flex;position:fixed;top:0;left:0}.rail-mark{background:var(--text);border-radius:var(--r-sm);flex-shrink:0;justify-content:flex-start;align-items:center;width:38px;height:38px;margin-bottom:24px;padding-left:7px;display:flex;overflow:hidden}.rail-mark img{flex-shrink:0;width:155px;height:auto;display:block}.rail-nav{flex-direction:column;flex:1;align-items:center;gap:4px;width:100%;display:flex}.rail-foot{flex-direction:column;align-items:center;gap:6px;width:100%;padding-top:12px;display:flex}.rail-btn{border-radius:var(--r);width:40px;height:40px;color:var(--text-3);cursor:pointer;transition:color var(--t),background var(--t);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.rail-btn svg{width:19px;height:19px}.rail-btn:hover{color:var(--text);background:var(--surface-2)}.rail-btn.active{color:var(--accent);background:var(--surface-2)}.rail-btn.active:hover{color:var(--accent)}.rail-btn:after{content:attr(data-label);background:var(--surface-3);border:1px solid var(--line-2);border-radius:var(--r);color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--t);z-index:200;padding:5px 9px;font-size:12.5px;font-weight:500;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.rail-btn:hover:after,.rail-btn:focus-visible:after{opacity:1}.rail-count{background:var(--accent);min-width:15px;height:15px;color:var(--bg);font-family:var(--font-mono);text-align:center;border-radius:99px;padding:0 4px;font-size:10px;font-weight:500;line-height:15px;position:absolute;top:5px;right:5px}.rail-kbd{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.02em;font-size:10px}.rail-avatar{background:var(--text);width:30px;height:30px;color:var(--bg);cursor:pointer;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:relative}.rail-divider{background:var(--line);width:22px;height:1px;margin:6px 0}.main-content{margin-left:var(--sidebar-w);flex:1;min-width:0;padding:0 44px 100px}.auth-container{background:var(--surface);grid-template-columns:40% 1fr;min-height:100vh;padding:0;display:grid}.auth-aside{background:var(--surface-3);border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;padding:46px 44px;display:flex;position:relative;overflow:hidden}.auth-aside img{width:168px;height:auto}.auth-aside-line{font-family:var(--font-display);letter-spacing:-.022em;color:var(--text);max-width:15ch;font-size:clamp(34px,3.6vw,48px);font-weight:800;line-height:1.04}.auth-aside-line em{color:var(--accent-ink);white-space:nowrap;font-style:normal}.auth-aside-foot{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-3);font-size:12.5px}.auth-card{width:100%;max-width:340px;box-shadow:none;background:0 0;border:none;border-radius:0;place-self:center start;margin-left:clamp(32px,9vw,128px);padding:48px 0}.auth-logo{margin-bottom:34px}.auth-logo-icon{display:none}.auth-logo h1{font-family:var(--font-display);letter-spacing:-.022em;color:var(--text);font-size:36px;font-weight:800;line-height:1.05}.auth-logo p{font-family:var(--font-ui);color:var(--text-3);letter-spacing:.04em;margin-top:10px;font-size:13px}.auth-link{border-top:1px solid var(--line);text-align:left;color:var(--text-3);margin-top:26px;padding-top:18px;font-size:14.5px}.auth-link a{color:var(--accent-ink);font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}@keyframes spin{to{transform:rotate(360deg)}}.boot-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.boot-screen img{opacity:.5;width:150px;height:auto}.form-group{margin-bottom:22px}.form-label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);margin-bottom:8px;font-size:11.5px;font-weight:400;display:block}.form-input{border:none;border-bottom:1px solid var(--line-2);width:100%;color:var(--text);transition:border-color var(--t);background:0 0;border-radius:0;padding:7px 0;font-family:inherit;font-size:16.5px}.form-input:focus{border-bottom-color:var(--accent);outline:none}.form-input::placeholder{color:var(--text-3)}.modal .form-input,.file-detail-body .form-input{background:var(--sheet);border:1px solid var(--line-2);padding:8px 10px}.modal .form-input:focus,.file-detail-body .form-input:focus{border-color:var(--accent)}.btn{border-radius:var(--r-sm);white-space:nowrap;cursor:pointer;transition:background var(--t),border-color var(--t),color var(--t),transform var(--t);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:8px 15px;font-family:inherit;font-size:14.5px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn svg{flex-shrink:0;width:14px;height:14px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--text);color:var(--bg)}.btn-primary:hover:not(:disabled){background:#000}.btn-secondary{border-color:var(--line-2);color:var(--text);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--line-3);background:var(--surface-2)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--bad);color:#fff}.btn-danger:hover:not(:disabled){background:#a3132a}.btn-success{background:var(--ok);color:#fff}.btn-success:hover:not(:disabled){background:#076b46}.btn-sm{padding:5px 10px;font-size:13.5px}.btn-sm svg{width:13px;height:13px}.btn-block{width:100%;padding:12px 15px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding:52px 0 26px;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.022em;color:var(--text);font-size:clamp(33px,3.7vw,45px);font-weight:800;line-height:1}.page-subtitle{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-top:12px;font-size:12.5px}.page-actions{gap:8px;display:flex}.breadcrumbs{flex-wrap:wrap;align-items:center;gap:6px;padding-bottom:10px;display:flex}.breadcrumb-item{color:var(--text-3);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color var(--t);background:0 0;border:none;border-radius:0;align-items:center;gap:6px;padding:2px 0;font-size:12.5px;display:inline-flex}.breadcrumb-item:hover{color:var(--text);background:0 0}.breadcrumb-item.active{color:var(--text);cursor:default;font-weight:500}.breadcrumb-separator{color:var(--text-3);font-family:var(--font-ui);font-size:12.5px}.files-toolbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:40;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:30px;padding:10px 0 12px;display:flex;position:sticky;top:0}.search-box{flex:1;min-width:200px;max-width:340px;position:relative}.search-box svg{width:14px;height:14px;color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:0;transform:translateY(-50%)}.search-box input{width:100%;color:var(--text);transition:border-color var(--t);background:0 0;border:none;border-bottom:1px solid #0000;border-radius:0;padding:6px 40px 6px 22px;font-family:inherit;font-size:15.5px}.search-box input:focus{border-bottom-color:var(--line-2);outline:none}.search-box input::placeholder{color:var(--text-3)}.search-kbd{font-family:var(--font-mono);color:var(--text-3);border:1px solid var(--line);pointer-events:none;border-radius:2px;padding:1px 5px;font-size:12px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.toolbar-select{color:var(--text-2);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color var(--t),border-color var(--t);background:0 0;border:none;border-bottom:1px solid #0000;border-radius:0;padding:6px 4px;font-size:12.5px}.toolbar-select:hover{border-bottom-color:var(--line-2);color:var(--text)}.toolbar-spacer{flex:1}.view-toggle{border:1px solid var(--line);border-radius:var(--r-sm);background:0 0;display:flex;overflow:hidden}.view-toggle button{color:var(--text-3);cursor:pointer;transition:background var(--t),color var(--t);background:0 0;border:none;justify-content:center;align-items:center;padding:6px 9px;display:flex}.view-toggle button:hover{color:var(--text)}.view-toggle button.active{background:var(--text);color:var(--bg)}.bulk-bar{z-index:39;background:var(--bg);border:none;border-bottom:1px solid var(--text);border-radius:0;align-items:center;gap:12px;margin-bottom:16px;padding:10px 0;display:flex;position:sticky;top:52px}.bulk-count{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);font-size:12.5px;font-weight:500}.file-grid{grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:34px 28px;display:grid}.file-grid.list-view{display:block}.file-card{cursor:pointer;transition:transform var(--t);background:0 0;border:none;border-radius:0;position:relative;overflow:visible}.file-card:hover{background:0 0}.file-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.file-card.selected .file-card-preview{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.file-card-action.copied,.btn.copied{background:var(--ok)!important;border-color:var(--ok)!important;color:#fff!important}.file-card-preview{background:var(--sheet);border:1px solid var(--line);height:168px;transition:border-color var(--t),transform var(--t-out),box-shadow var(--t-out);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.file-card:hover .file-card-preview{border-color:var(--line-2);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.file-card-preview.is-openable{cursor:zoom-in}.file-card-preview.is-image{background-image:var(--checker);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.file-card-preview img{object-fit:cover;width:100%;height:100%}.file-card-preview svg{color:var(--text-3)}.file-type-label{font-family:var(--font-mono);letter-spacing:.16em;text-indent:.16em;color:var(--text-3);-webkit-user-select:none;user-select:none;font-weight:400;line-height:1}.file-card.list-item .file-type-label,.cmdk-item .file-type-label{letter-spacing:.06em;text-indent:.06em}.file-card-url{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text);text-overflow:ellipsis;white-space:nowrap;transition:transform var(--t-out);pointer-events:none;background:#101828e6;padding:7px 9px;font-size:12px;position:absolute;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(100%)}.file-card:hover .file-card-url,.file-card:focus-within .file-card-url{transform:translateY(0)}.dim-badge{border:1px solid var(--line);font-family:var(--font-mono);color:var(--text-2);opacity:0;transition:opacity var(--t);pointer-events:none;background:#f8f7f5e6;border-radius:2px;padding:2px 6px;font-size:11px;position:absolute;top:8px;left:8px}.file-card:hover .dim-badge{opacity:1}.file-card-body{padding:12px 1px 0}.file-card-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:14.5px;font-weight:500;overflow:hidden}.file-card-meta{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-3);align-items:center;gap:10px;font-size:12px;display:flex}.file-card-actions{opacity:0;transition:opacity var(--t);gap:4px;display:flex;position:absolute;top:8px;right:8px}.file-card:hover .file-card-actions,.file-card:focus-within .file-card-actions{opacity:1}.file-card-action{border:1px solid var(--line);border-radius:var(--r-sm);width:26px;height:26px;color:var(--text-2);cursor:pointer;transition:background var(--t),color var(--t),border-color var(--t);background:#f8f7f5f0;justify-content:center;align-items:center;display:flex}.file-card-action:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.file-card-action svg{width:13px;height:13px}.select-box{border:1px solid var(--line-3);color:#0000;cursor:pointer;opacity:0;width:18px;height:18px;transition:opacity var(--t),background var(--t),border-color var(--t);background:#f8f7f5f0;border-radius:2px;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;left:8px}.file-card:hover .select-box,.folder-card:hover .select-box,.select-box.on{opacity:1}.select-box.on{background:var(--accent);border-color:var(--accent);color:#fff}.select-box svg{width:11px;height:11px}.list-header,.file-card.list-item,.folder-card.list-item{grid-template-columns:24px 32px minmax(150px,2.2fr) 116px 84px 56px 116px 112px;align-items:center;gap:10px;display:grid}.list-header{border-bottom:1px solid var(--line-2);font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);margin-bottom:0;padding:0 4px 10px;font-size:11.5px;font-weight:400}.list-sort{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;transition:color var(--t);background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.list-sort:hover{color:var(--text)}.list-sort.on{color:var(--accent-ink)}.list-sort svg{width:11px;height:11px}.file-card.list-item,.folder-card.list-item{border:none;border-bottom:1px solid var(--line);background:0 0;border-radius:0;height:48px;padding:0 4px}.file-card.list-item:hover,.folder-card.list-item:hover{background:var(--surface);border-radius:var(--r-sm);box-shadow:var(--shadow);border-bottom-color:#0000;padding-left:4px}.file-card.list-item.selected,.folder-card.list-item.selected{border-radius:var(--r-sm);border-bottom-color:#0000}.file-card.list-item:hover .file-card-preview{box-shadow:none;transform:none}.file-card.list-item.selected,.folder-card.list-item.selected{background:var(--accent-dim)}.file-card.list-item .file-card-preview{border:1px solid var(--line);background:var(--sheet);border-radius:0;width:30px;min-width:30px;height:30px}.file-card.list-item .file-card-url{display:none}.file-card.list-item .file-card-body{display:contents}.file-card.list-item .file-card-name,.folder-card.list-item .folder-card-name{margin:0;font-size:15px}.file-card.list-item .file-card-meta{display:none}.file-card.list-item .select-box,.folder-card.list-item .select-box,.list-header .select-box{opacity:1;border-color:var(--line-2);background:0 0;position:static}.file-card.list-item .select-box.on,.folder-card.list-item .select-box.on,.list-header .select-box.on{background:var(--accent);border-color:var(--accent);color:#fff}.file-card.list-item .file-card-actions,.folder-card.list-item .folder-card-actions{justify-content:flex-end;margin:0;position:static}.list-col-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:500;overflow:hidden}.list-col-date,.list-col-size,.list-col-num{font-family:var(--font-mono);color:var(--text-3);white-space:nowrap;font-size:12.5px}.list-col-num{text-align:right}.list-col-user{min-width:0;color:var(--text-2);align-items:center;gap:7px;font-size:14px;display:flex}.user-chip{background:var(--surface-3);border:1px solid var(--line);width:20px;height:20px;color:var(--text-2);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:flex}.list-col-user span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-card{border:none;border-bottom:1px solid var(--line);cursor:pointer;transition:border-color var(--t),padding var(--t);background:0 0;border-radius:0;align-items:center;gap:10px;padding:14px 12px 14px 0;display:flex;position:relative}.folder-card:hover{border-bottom-color:var(--text);background:0 0;padding-left:6px}.folder-card.drag-over{border-bottom-color:var(--accent);background:var(--accent-dim)}.folder-icon{width:26px;height:26px;color:var(--text-3);background:0 0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.folder-icon svg{width:16px;height:16px}.folder-card-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15.5px;font-weight:500;overflow:hidden}.folder-card-actions{opacity:0;transition:opacity var(--t);gap:4px;margin-left:auto;display:flex}.folder-card:hover .folder-card-actions,.folder-card:focus-within .folder-card-actions{opacity:1}.folder-list{border-top:1px solid var(--line);margin-bottom:34px}.folder-grid{grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:34px 28px;margin-bottom:40px;display:grid}.folder-card.grid-item{border-bottom:none;flex-direction:column;align-items:stretch;gap:0;padding:0}.folder-card.grid-item:hover{border-bottom-color:#0000;padding-left:0}.folder-card.grid-item .folder-icon{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);width:100%;height:150px;box-shadow:var(--shadow);color:var(--accent);transition:transform var(--t-out),box-shadow var(--t-out),border-color var(--t)}.folder-card.grid-item .folder-icon svg{width:96px;height:auto}.folder-card.grid-item:hover .folder-icon{box-shadow:var(--shadow-lg);border-color:var(--line-2);transform:translateY(-3px)}.folder-card.grid-item.drag-over .folder-icon{border-color:var(--accent);background:var(--accent-dim)}.folder-card.grid-item .folder-card-name{text-align:center;padding:13px 6px 0;font-size:14.5px;font-weight:600}.folder-card.grid-item .folder-card-date{color:var(--text-3);text-align:center;padding-top:3px;font-size:12px}.folder-card.grid-item .folder-card-actions{margin-left:0;position:absolute;top:10px;right:10px}.file-grid:not(.list-view) .file-card-preview{border-radius:var(--r);box-shadow:var(--shadow)}.file-grid:not(.list-view) .file-card-body{text-align:center}.file-grid:not(.list-view) .file-card-meta{justify-content:center}.inline-edit-input{background:var(--sheet);border:none;border-bottom:1px solid var(--accent);color:var(--text);font-family:inherit;font-size:inherit;font-weight:inherit;border-radius:0;outline:none;flex:1;width:100%;min-width:0;padding:3px 4px}.drop-overlay{z-index:3000;pointer-events:none;background:#eef2f8eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.drop-overlay-inner{border:1px solid var(--text);background:var(--bg);border-radius:0;flex-direction:column;align-items:center;gap:14px;padding:56px 72px;display:flex}.drop-overlay-inner svg{width:30px;height:30px;color:var(--text)}.drop-overlay-inner strong{font-family:var(--font-display);letter-spacing:-.022em;font-size:28px;font-weight:800}.drop-overlay-inner span{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:12.5px}.upload-queue{background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r);width:328px;box-shadow:var(--shadow-lg);z-index:500;position:fixed;bottom:22px;right:22px;overflow:hidden}.upload-queue-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.upload-queue-title{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--text-2);font-size:12px;font-weight:400}.upload-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 13px;display:flex;position:relative}.upload-item:last-child{border-bottom:none}.upload-item-fill{background:var(--accent-dim);pointer-events:none;transition:width .14s linear;position:absolute;inset:0 auto 0 0}.upload-item>*{position:relative}.upload-item-name{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.upload-item-status{font-family:var(--font-ui);color:var(--text-3);white-space:nowrap;font-size:12px}.upload-item-status.done{color:var(--ok)}.upload-item-status.error{color:var(--bad)}.progress-bar{background:var(--surface-3);height:2px;overflow:hidden}.progress-bar-fill{background:var(--accent);height:100%;transition:width .2s linear}.card{border:none;border-top:1px solid var(--text);background:0 0;border-radius:0;padding:14px 0 0}.card-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.card-title{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--text-2);font-size:12px;font-weight:400}.stats-grid{border-top:1px solid var(--text);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin-bottom:40px;display:grid}.stat-card{border:none;border-right:1px solid var(--line);background:0 0;border-radius:0;padding:18px 20px 20px}.stat-card:first-child{padding-left:0}.stat-card:last-child{border-right:none}.stat-icon{display:none}.stat-label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);margin-bottom:10px;font-size:11.5px;font-weight:400}.stat-value{font-family:var(--font-display);letter-spacing:-.022em;color:var(--text);font-size:42px;font-weight:800;line-height:1}.table-wrap{overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;font-size:14.5px}.table-wrap th{text-align:left;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);border-bottom:1px solid var(--line-2);white-space:nowrap;padding:0 12px 10px;font-size:11.5px;font-weight:400}.table-wrap td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px}.table-wrap tr:last-child td{border-bottom:none}.table-wrap tbody tr:hover{background:var(--surface)}.badge{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;background:var(--surface-3);color:var(--text-2);border-radius:2px;align-items:center;padding:2px 7px;font-size:11.5px;font-weight:400;display:inline-flex}.badge.admin{background:var(--accent-dim);color:var(--accent-ink)}.badge.active{background:var(--ok-dim);color:var(--ok)}.badge.pending{background:var(--warn-dim);color:var(--warn)}.badge.rejected{background:var(--bad-dim);color:var(--bad)}.perm-toggle{border:1px solid var(--line);color:var(--text-3);cursor:pointer;transition:border-color var(--t),color var(--t),background var(--t);background:0 0;border-radius:2px;align-items:center;gap:6px;padding:4px 9px 4px 7px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.perm-toggle:hover{border-color:var(--line-3);color:var(--text)}.perm-toggle-dot{background:var(--text-3);width:6px;height:6px;transition:background var(--t);border-radius:99px}.perm-toggle.on{background:var(--ok-dim);color:var(--ok);border-color:#0a7a5259}.perm-toggle.on .perm-toggle-dot{background:var(--ok)}.modal-overlay{z-index:2000;background:#10182859;justify-content:center;align-items:center;padding:24px;animation:.13s fade;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:26px;animation:.16s cubic-bezier(.2,.9,.3,1) rise}.modal-title{font-family:var(--font-display);letter-spacing:-.022em;margin-bottom:18px;font-size:26px;font-weight:800}.modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.cmdk-overlay{z-index:5000;background:#10182847;justify-content:center;padding:12vh 24px 24px;animation:.12s fade;display:flex;position:fixed;inset:0}.cmdk{background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r-lg);width:100%;max-width:560px;max-height:60vh;box-shadow:var(--shadow-xl);flex-direction:column;animation:.18s cubic-bezier(.16,1,.3,1) rise;display:flex;overflow:hidden}.cmdk-input-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:15px 17px;display:flex}.cmdk-input-row svg{width:16px;height:16px;color:var(--text-3);flex-shrink:0}.cmdk-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:16.5px}.cmdk-input::placeholder{color:var(--text-3)}.cmdk-list{padding:6px;overflow-y:auto}.cmdk-group{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);padding:12px 11px 6px;font-size:11.5px;font-weight:400}.cmdk-item{border-radius:var(--r-sm);width:100%;color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:11px;padding:9px 11px;font-family:inherit;font-size:15px;display:flex}.cmdk-item svg{width:15px;height:15px;color:var(--text-3);flex-shrink:0}.cmdk-item.active{background:var(--accent-dim);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.cmdk-item.active svg{color:var(--accent)}.cmdk-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cmdk-item-hint{font-family:var(--font-ui);color:var(--text-3);flex-shrink:0;font-size:12px}.cmdk-item.active .cmdk-item-hint{color:var(--surface-3)}.cmdk-thumb{border:1px solid var(--line);object-fit:cover;background-image:var(--checker);background-position:0 0,0 5px,5px -5px,-5px 0;background-size:10px 10px;border-radius:0;flex-shrink:0;width:22px;height:22px}.cmdk-empty{text-align:center;color:var(--text-3);padding:34px 16px;font-size:14.5px}.cmdk-footer{border-top:1px solid var(--line);font-family:var(--font-ui);color:var(--text-3);align-items:center;gap:14px;padding:10px 15px;font-size:12px;display:flex}.cmdk-footer kbd{font-family:var(--font-mono);border:1px solid var(--line);border-radius:2px;margin-right:4px;padding:1px 5px;font-size:11.5px}.lightbox-image{object-fit:contain;max-width:92vw;max-height:92vh;box-shadow:var(--shadow-xl);border-radius:0;animation:.16s cubic-bezier(.2,.9,.3,1) rise}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.file-detail-panel{background:var(--bg);border-left:1px solid var(--line-2);z-index:300;width:380px;height:100vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.18s cubic-bezier(.2,.9,.3,1) slideIn;display:flex;position:fixed;top:0;right:0}@keyframes slideIn{0%{transform:translate(100%)}}.file-detail-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.file-detail-header h3,.file-detail-header strong{font-family:var(--font-display);letter-spacing:-.022em;font-size:23px;font-weight:800}.file-detail-preview{background:var(--sheet);border-bottom:1px solid var(--line);cursor:zoom-in;justify-content:center;align-items:center;height:216px;display:flex;overflow:hidden}.file-detail-preview img{object-fit:contain;max-width:100%;max-height:216px}.file-detail-body{flex:1;padding:20px;overflow-y:auto}.file-detail-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;display:flex}.file-detail-row:last-child{border-bottom:none}.file-detail-row.stack{border-bottom:none;margin-bottom:4px;padding:0 0 16px;display:block}.file-detail-label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);white-space:nowrap;font-size:11.5px;font-weight:400}.file-detail-value{color:var(--text);text-align:right;word-break:break-word;min-width:0;font-size:14.5px}.file-detail-value.mono{font-family:var(--font-mono);font-size:13px}.file-detail-actions{border-top:1px solid var(--line);gap:6px;padding:16px 20px;display:flex}.file-detail-actions .btn-danger{color:var(--bad);background:0 0;border-color:#b3162f59}.file-detail-actions .btn-danger:hover:not(:disabled){background:var(--bad);border-color:var(--bad);color:var(--bg)}.cdn-link-box{background:var(--sheet);border:1px solid var(--line-2);border-radius:var(--r-sm);align-items:center;gap:8px;margin-top:10px;padding:10px 11px;display:flex}.cdn-link-box code{min-width:0;font-family:var(--font-mono);color:var(--accent-ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.empty-state{text-align:left;border:none;border-top:1px solid var(--line);border-radius:0;flex-direction:column;justify-content:center;align-items:flex-start;padding:72px 0;display:flex}.empty-state-icon{display:none}.empty-state h3{font-family:var(--font-display);letter-spacing:-.022em;margin-bottom:8px;font-size:31px;font-weight:800}.empty-state p{color:var(--text-3);max-width:42ch;font-size:15px}.skeleton{background:linear-gradient(90deg,var(--surface-2)25%,var(--surface)50%,var(--surface-2)75%);background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.toast{background:var(--text);border-radius:var(--r);box-shadow:var(--shadow-lg);color:var(--bg);z-index:4000;border:none;align-items:center;gap:9px;padding:11px 17px;font-size:14.5px;font-weight:500;animation:.16s cubic-bezier(.2,.9,.3,1) rise;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast.success svg{color:var(--ok)}.toast.error svg{color:var(--bad)}.toast svg{flex-shrink:0;width:15px;height:15px}.alert{border-radius:var(--r-sm);border:1px solid #0000;align-items:center;gap:8px;margin-bottom:18px;padding:9px 12px;font-size:14.5px;display:flex}.alert.error{background:var(--bad-dim);color:var(--bad);border-color:#b3162f4d}.alert.success{background:var(--ok-dim);color:var(--ok);border-color:#0a7a524d}@media (max-width:1180px){.list-header,.file-card.list-item,.folder-card.list-item{grid-template-columns:24px 32px minmax(140px,2fr) 116px 116px 112px}.list-col-hide-md{display:none}}@media (max-width:900px){.auth-container{grid-template-columns:1fr}.auth-aside{gap:26px;padding:30px 26px}.auth-aside-line{max-width:none;font-size:28px}.auth-card{max-width:420px;margin-left:0;padding:34px 26px 48px}}@media (max-width:860px){:root{--sidebar-w:0px}.sidebar{transform:translate(-100%)}.main-content{margin-left:0;padding:0 18px 90px}.page-header{padding-top:34px}.file-detail-panel{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{border-bottom:1px solid var(--line);padding-left:16px}.list-header,.file-card.list-item,.folder-card.list-item{grid-template-columns:24px 32px 1fr 100px}.list-col-hide-sm{display:none}}
