/* * Wanwan Cloud workspace UI. * This file is intentionally loaded after the legacy inline styles so the * application has one explicit, reviewable visual layer. */ body.enterprise-netdisk, body.enterprise-netdisk.light-theme, body.enterprise-netdisk:not(.light-theme) { --ww-blue: #2878ff; --ww-blue-dark: #1763e6; --ww-blue-soft: #eaf2ff; --ww-ink: #14213d; --ww-text: #31415f; --ww-muted: #7a89a5; --ww-line: #e4eaf3; --ww-line-strong: #d6deeb; --ww-canvas: #f4f7fb; --ww-surface: #ffffff; --ww-surface-soft: #f8fafd; --ww-success: #13a56f; --ww-danger: #e34b4b; --ww-warning: #d88a16; --bg-primary: var(--ww-canvas); --bg-secondary: var(--ww-surface); --bg-card: var(--ww-surface); --bg-card-hover: var(--ww-surface-soft); --glass-border: var(--ww-line); --glass-border-hover: #aac7f6; --text-primary: var(--ww-ink); --text-secondary: var(--ww-text); --text-muted: var(--ww-muted); --accent-1: var(--ww-blue); --accent-2: var(--ww-blue-dark); --accent-3: #18a6a6; color: var(--ww-ink); background: radial-gradient(circle at 82% 7%, rgba(40, 120, 255, 0.08), transparent 24rem), linear-gradient(135deg, #f8faff 0%, var(--ww-canvas) 52%, #eef4fc 100%); font-family: "HarmonyOS Sans SC", "MiSans", "Source Han Sans SC", "Microsoft YaHei", sans-serif; font-size: 14px; line-height: 1.55; } body.enterprise-netdisk #app { min-height: 100vh; } body.enterprise-netdisk button, body.enterprise-netdisk input, body.enterprise-netdisk select, body.enterprise-netdisk textarea { font: inherit; } body.enterprise-netdisk button:focus-visible, body.enterprise-netdisk input:focus-visible, body.enterprise-netdisk select:focus-visible, body.enterprise-netdisk textarea:focus-visible, body.enterprise-netdisk [tabindex]:focus-visible { outline: 3px solid rgba(40, 120, 255, 0.2); outline-offset: 2px; } /* App navigation */ body.enterprise-netdisk .navbar { position: fixed !important; inset: 0 auto 0 0; z-index: 80; width: 236px; min-height: 100vh; padding: 24px 16px 18px; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 26px; background: rgba(250, 252, 255, 0.96) !important; border: 0 !important; border-right: 1px solid var(--ww-line) !important; box-shadow: 12px 0 40px rgba(37, 57, 92, 0.04); backdrop-filter: blur(18px) !important; } body.enterprise-netdisk .navbar-brand { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 0 8px; color: var(--ww-ink); font-size: inherit; letter-spacing: 0; } body.enterprise-netdisk .brand-mark { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(145deg, #3688ff 0%, #1763e6 100%); box-shadow: 0 9px 22px rgba(40, 120, 255, 0.24); } body.enterprise-netdisk .brand-mark i { font-size: 19px; } body.enterprise-netdisk .brand-copy { min-width: 0; display: flex; flex-direction: column; gap: 1px; } body.enterprise-netdisk .brand-copy strong { color: var(--ww-ink); font-size: 19px; font-weight: 800; line-height: 1.25; letter-spacing: 0.02em; } body.enterprise-netdisk .brand-copy small { color: #98a6bc; font-size: 9px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; } body.enterprise-netdisk .navbar-menu { width: 100%; min-height: 0; flex: 1; display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; justify-content: flex-start; gap: 6px; } body.enterprise-netdisk .nav-section-label { padding: 0 12px 6px; color: #a3aec0; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; } body.enterprise-netdisk .nav-service-label { margin-top: 18px; } body.enterprise-netdisk .nav-item, body.enterprise-netdisk .navbar-download-btn { width: 100%; min-height: 46px; padding: 0 14px; display: flex; align-items: center; justify-content: flex-start; gap: 12px; border: 1px solid transparent; border-radius: 12px; color: #53637d; background: transparent; font-size: 14px; font-weight: 650; white-space: nowrap; cursor: pointer; transition: color 160ms ease, background 160ms ease, transform 160ms ease; } body.enterprise-netdisk .nav-item i, body.enterprise-netdisk .navbar-download-btn i { width: 18px; color: #8090a9; font-size: 16px; text-align: center; transition: color 160ms ease; } body.enterprise-netdisk .nav-item:hover, body.enterprise-netdisk .navbar-download-btn:hover { border-color: transparent; color: var(--ww-blue); background: #edf4ff; transform: translateX(2px); } body.enterprise-netdisk .nav-item:hover i, body.enterprise-netdisk .navbar-download-btn:hover i { color: var(--ww-blue); } body.enterprise-netdisk .nav-item.active { border-color: transparent; color: var(--ww-blue); background: linear-gradient(90deg, #e6f0ff 0%, #edf4ff 100%); box-shadow: inset 3px 0 0 var(--ww-blue); } body.enterprise-netdisk .nav-item.active i { color: var(--ww-blue); } body.enterprise-netdisk .navbar-account { margin-top: auto; padding-top: 14px; display: grid; gap: 9px; border-top: 1px solid var(--ww-line); } body.enterprise-netdisk .user-info { min-width: 0; padding: 10px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--ww-line); border-radius: 13px; color: var(--ww-ink); background: #fff; } body.enterprise-netdisk .user-avatar { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 11px; color: var(--ww-blue); background: var(--ww-blue-soft); } body.enterprise-netdisk .user-copy { min-width: 0; display: flex; flex-direction: column; } body.enterprise-netdisk .user-copy small { color: var(--ww-muted); font-size: 10px; } body.enterprise-netdisk .user-copy strong { overflow: hidden; color: var(--ww-ink); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .navbar-logout-btn { width: 100%; min-height: 38px; justify-content: center; color: #bf3d3d; border-color: #f2d1d1; background: #fff8f8; } body.enterprise-netdisk .navbar-logout-btn:hover { color: #fff; border-color: var(--ww-danger); background: var(--ww-danger); } /* Shared workspace primitives */ body.enterprise-netdisk .main-container { width: auto; max-width: none !important; min-width: 0; margin: 0 0 0 236px !important; padding: 28px clamp(22px, 2.4vw, 42px) 34px; animation: ww-page-enter 260ms ease-out both; } body.enterprise-netdisk .card { padding: 26px; border: 1px solid rgba(221, 228, 239, 0.95); border-radius: 18px; color: var(--ww-ink); background: rgba(255, 255, 255, 0.97); box-shadow: 0 15px 46px rgba(31, 49, 78, 0.07); backdrop-filter: none; } body.enterprise-netdisk .btn { min-height: 40px; padding: 0 15px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 10px; font-size: 13px; font-weight: 650; line-height: 1; white-space: nowrap; cursor: pointer; transition: border-color 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease; } body.enterprise-netdisk .btn:not(:disabled):active { transform: translateY(1px); } body.enterprise-netdisk .btn:disabled { cursor: not-allowed; opacity: 0.58; } body.enterprise-netdisk .btn-primary { color: #fff; border-color: var(--ww-blue); background: var(--ww-blue); box-shadow: 0 6px 16px rgba(40, 120, 255, 0.18); } body.enterprise-netdisk .btn-primary:hover { color: #fff; border-color: var(--ww-blue-dark); background: var(--ww-blue-dark); box-shadow: 0 8px 20px rgba(40, 120, 255, 0.23); transform: translateY(-1px); } body.enterprise-netdisk .btn-secondary { color: #42516b; border-color: var(--ww-line-strong); background: #fff; } body.enterprise-netdisk .btn-secondary:hover { color: var(--ww-blue); border-color: #a9c6f5; background: #f7faff; } body.enterprise-netdisk .btn-danger { color: #c34343; border-color: #f1cccc; background: #fff7f7; } body.enterprise-netdisk .btn-danger:hover { color: #fff; border-color: var(--ww-danger); background: var(--ww-danger); } body.enterprise-netdisk .btn-quiet { color: var(--ww-muted); border-color: transparent; background: transparent; } body.enterprise-netdisk .btn-quiet:hover { color: var(--ww-blue); background: var(--ww-blue-soft); } body.enterprise-netdisk .workspace-page-header { display: flex; align-items: center; justify-content: space-between; gap: 28px; } body.enterprise-netdisk .workspace-page-heading { min-width: 0; } body.enterprise-netdisk .workspace-kicker { display: inline-flex; align-items: center; gap: 7px; color: var(--ww-blue); font-size: 11px; font-weight: 800; letter-spacing: 0.12em; } body.enterprise-netdisk .workspace-page-heading h1 { margin: 6px 0 3px; color: var(--ww-ink); font-size: clamp(24px, 2.1vw, 30px); font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; } body.enterprise-netdisk .workspace-page-heading p { margin: 0; color: var(--ww-muted); font-size: 13px; } /* Files */ body.enterprise-netdisk .files-view-card, body.enterprise-netdisk .shares-page-card { min-height: calc(100vh - 62px); padding: 0 !important; overflow: hidden; } body.enterprise-netdisk .files-page-header, body.enterprise-netdisk .shares-page-head { padding: 27px 30px 24px; border-bottom: 1px solid var(--ww-line); background: radial-gradient(circle at 92% 0%, rgba(40, 120, 255, 0.08), transparent 19rem), #fff; } body.enterprise-netdisk .storage-meter-card { width: min(390px, 40%); min-width: 310px; padding: 14px 16px; border: 1px solid #dae5f5; border-radius: 14px; background: rgba(248, 251, 255, 0.92); } body.enterprise-netdisk .storage-meter-head, body.enterprise-netdisk .storage-meter-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; } body.enterprise-netdisk .storage-meter-head strong { overflow: hidden; color: #34445f; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .files-storage-badge { min-width: 0; padding: 4px 8px; display: inline-flex; align-items: center; gap: 6px; border: 0; border-radius: 7px; font-size: 11px; font-weight: 750; } body.enterprise-netdisk .files-storage-badge.local { color: #087657; background: #e9f8f2; } body.enterprise-netdisk .files-storage-badge.oss { color: #1763e6; background: #eaf2ff; } body.enterprise-netdisk .storage-meter-track { height: 6px; margin: 11px 0 7px; overflow: hidden; border-radius: 999px; background: #e3eaf4; } body.enterprise-netdisk .storage-meter-track span { height: 100%; display: block; border-radius: inherit; transition: width 260ms ease; } body.enterprise-netdisk .storage-meter-foot { color: var(--ww-muted); font-size: 10px; font-weight: 600; } body.enterprise-netdisk .breadcrumb-bar { min-height: 42px; margin: 16px 28px 0; padding: 6px 10px; display: flex; align-items: center; gap: 7px; border: 1px solid var(--ww-line); border-radius: 10px; color: var(--ww-muted); background: var(--ww-surface-soft); } body.enterprise-netdisk .breadcrumb-bar .breadcrumb-up { min-height: 30px; margin-left: auto; padding: 0 10px; font-size: 11px; } body.enterprise-netdisk .breadcrumb-home { min-width: 30px; min-height: 30px; padding: 0; display: grid; place-items: center; border-radius: 8px; } body.enterprise-netdisk .breadcrumb-link { color: #59708f; } body.enterprise-netdisk .breadcrumb-link:hover { color: var(--ww-blue); } body.enterprise-netdisk .breadcrumb-current { color: var(--ww-ink); font-weight: 700; } body.enterprise-netdisk .files-content-shell { min-width: 0; padding: 20px 28px 28px; border: 0; border-radius: 0; background: transparent; } body.enterprise-netdisk .files-command-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; } body.enterprise-netdisk .files-command-primary, body.enterprise-netdisk .view-toggle-group, body.enterprise-netdisk .shares-page-actions { display: flex; align-items: center; gap: 8px; } body.enterprise-netdisk .files-command-primary .btn { min-width: 112px; } body.enterprise-netdisk .files-view-toggle, body.enterprise-netdisk .shares-view-toggle { padding: 3px; border: 1px solid var(--ww-line); border-radius: 11px; background: var(--ww-surface-soft); } body.enterprise-netdisk .files-view-toggle .btn, body.enterprise-netdisk .shares-view-toggle .btn { min-width: 84px; min-height: 34px; padding: 0 11px; border: 0; border-radius: 8px; box-shadow: none; } body.enterprise-netdisk .files-search-wrap { position: relative; z-index: 8; margin-top: 14px; } body.enterprise-netdisk .files-search-row, body.enterprise-netdisk .share-toolbar { padding: 10px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--ww-line); border-radius: 13px; background: var(--ww-surface-soft); } body.enterprise-netdisk .files-search-field, body.enterprise-netdisk .share-search-field { min-width: 220px; min-height: 40px; flex: 1; display: flex; align-items: center; gap: 10px; padding: 0 13px; border: 1px solid var(--ww-line-strong); border-radius: 10px; background: #fff; transition: border-color 160ms ease, box-shadow 160ms ease; } body.enterprise-netdisk .files-search-field:focus-within, body.enterprise-netdisk .share-search-field:focus-within { border-color: #8eb9fb; box-shadow: 0 0 0 3px rgba(40, 120, 255, 0.1); } body.enterprise-netdisk .files-search-field > i, body.enterprise-netdisk .share-search-field > i { color: #8b9ab0; } body.enterprise-netdisk .files-search-field .form-input, body.enterprise-netdisk .share-search-field input { width: 100%; min-width: 0; min-height: 36px; padding: 0; border: 0; outline: 0; color: var(--ww-ink); background: transparent; box-shadow: none; } body.enterprise-netdisk .files-search-field .form-input:focus, body.enterprise-netdisk .share-search-field input:focus { border: 0; outline: 0; background: transparent; box-shadow: none; } body.enterprise-netdisk .files-search-field input::placeholder, body.enterprise-netdisk .share-search-field input::placeholder { color: #9ba8ba; } body.enterprise-netdisk .files-search-type { width: 122px; min-height: 40px; padding: 0 12px; } body.enterprise-netdisk .files-search-button { min-width: 84px; } body.enterprise-netdisk .files-search-clear { min-width: 62px; } body.enterprise-netdisk .files-search-results { position: absolute; inset: calc(100% + 8px) 0 auto; z-index: 30; max-height: 330px; overflow: auto; border: 1px solid var(--ww-line); border-radius: 13px; background: #fff; box-shadow: 0 18px 42px rgba(26, 44, 73, 0.16); } body.enterprise-netdisk .files-search-message, body.enterprise-netdisk .files-search-truncated { padding: 14px 16px; color: var(--ww-muted); font-size: 12px; } body.enterprise-netdisk .files-search-message.error { color: var(--ww-danger); } body.enterprise-netdisk .files-search-truncated { color: var(--ww-warning); background: #fffaf0; } body.enterprise-netdisk .files-search-result { width: 100%; padding: 12px 15px; display: block; border: 0; border-bottom: 1px solid var(--ww-line); color: inherit; text-align: left; background: transparent; cursor: pointer; } body.enterprise-netdisk .files-search-result:hover { background: #f4f8ff; } body.enterprise-netdisk .files-search-result-main { display: flex; align-items: center; justify-content: space-between; gap: 16px; } body.enterprise-netdisk .files-search-result-copy { min-width: 0; } body.enterprise-netdisk .files-search-result-name, body.enterprise-netdisk .files-search-result-path { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .files-search-result-name { color: var(--ww-ink); font-size: 13px; font-weight: 700; } body.enterprise-netdisk .files-search-result-name i { margin-right: 7px; color: var(--ww-blue); } body.enterprise-netdisk .files-search-result-path, body.enterprise-netdisk .files-search-result-size { color: var(--ww-muted); font-size: 11px; } body.enterprise-netdisk .files-search-result-size { white-space: nowrap; } body.enterprise-netdisk .files-list-heading { min-height: 47px; padding: 0 4px; display: flex; align-items: center; justify-content: space-between; gap: 16px; } body.enterprise-netdisk .files-list-heading > div { display: flex; align-items: baseline; gap: 10px; } body.enterprise-netdisk .files-list-heading strong { color: var(--ww-ink); font-size: 14px; font-weight: 750; } body.enterprise-netdisk .files-list-heading span { color: var(--ww-muted); font-size: 11px; } body.enterprise-netdisk .files-list-hint i { margin-right: 5px; } body.enterprise-netdisk .files-container { position: relative; min-height: calc(100vh - 384px); padding: 8px; overflow: hidden; border: 1px solid var(--ww-line); border-radius: 14px; background: #fff; } body.enterprise-netdisk .files-content-shell .file-grid { padding: 8px; display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 10px; } body.enterprise-netdisk .files-content-shell .file-grid-item { min-width: 0; min-height: 154px; padding: 16px 10px 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 12px; background: transparent; box-shadow: none; transition: border-color 160ms ease, background 160ms ease, transform 160ms ease, box-shadow 160ms ease; } body.enterprise-netdisk .files-content-shell .file-grid-item:hover { border-color: #c8daf7; background: #f6f9ff; box-shadow: 0 8px 24px rgba(38, 69, 117, 0.07); transform: translateY(-2px); } body.enterprise-netdisk .file-icon { min-height: 72px; margin-bottom: 8px; display: grid; place-items: center; } body.enterprise-netdisk .file-grid-type-icon { font-size: 55px; filter: drop-shadow(0 5px 8px rgba(49, 70, 103, 0.08)); } body.enterprise-netdisk .file-grid-video-icon { width: 66px; height: 66px; border: 0; border-radius: 15px; color: var(--ww-blue); background: var(--ww-blue-soft); } body.enterprise-netdisk .file-thumbnail { width: 76px; height: 68px; object-fit: cover; border: 1px solid var(--ww-line); border-radius: 10px; } body.enterprise-netdisk .files-content-shell .file-name { width: 100%; min-height: 20px; overflow: hidden; color: var(--ww-ink); font-size: 13px; font-weight: 700; line-height: 1.45; text-align: center; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .files-content-shell .file-size { margin-top: 5px; color: var(--ww-muted); font-size: 11px; text-align: center; } body.enterprise-netdisk .files-content-shell .file-list { width: 100%; overflow: auto; border-radius: 10px; } body.enterprise-netdisk .files-content-shell .file-list-table { width: 100%; border: 0; border-collapse: collapse; border-radius: 0; background: #fff; } body.enterprise-netdisk .file-list-table thead tr { background: #f8fafd !important; } body.enterprise-netdisk .file-list-table th { height: 42px; padding: 0 14px !important; color: #8190a6; border-bottom: 1px solid var(--ww-line); font-size: 11px; font-weight: 700; } body.enterprise-netdisk .file-list-table td { height: 62px; padding: 8px 14px !important; border-bottom: 1px solid #edf1f6; font-size: 12px; } body.enterprise-netdisk .file-list-row:last-child td { border-bottom: 0; } body.enterprise-netdisk .file-list-row:hover { background: #f5f8fe; } body.enterprise-netdisk .file-list-name-text { color: var(--ww-ink); font-size: 13px; font-weight: 650; } body.enterprise-netdisk .file-list-name-meta { color: var(--ww-muted); } body.enterprise-netdisk .file-row-mobile-more { width: 34px; min-width: 34px; min-height: 34px; padding: 0; border: 0; color: var(--ww-muted); background: transparent; } body.enterprise-netdisk .file-row-mobile-more:hover { color: var(--ww-blue); background: var(--ww-blue-soft); } body.enterprise-netdisk .files-empty-state { min-height: calc(100vh - 410px); padding: 36px 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; } body.enterprise-netdisk .files-empty-state > i { width: 78px; height: 78px; margin: 0 0 16px; display: grid; place-items: center; border-radius: 24px; color: var(--ww-blue); background: var(--ww-blue-soft); font-size: 34px; } body.enterprise-netdisk .files-empty-title { color: var(--ww-ink); font-size: 16px; font-weight: 750; } body.enterprise-netdisk .files-empty-desc { margin-top: 5px; color: var(--ww-muted); font-size: 12px; } body.enterprise-netdisk .files-empty-actions { margin-top: 18px; } /* Shares */ body.enterprise-netdisk .shares-page-actions { flex: 0 0 auto; } body.enterprise-netdisk .share-metrics { padding: 20px 30px 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } body.enterprise-netdisk .share-metric { min-width: 0; padding: 14px 16px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--ww-line); border-radius: 13px; background: var(--ww-surface-soft); } body.enterprise-netdisk .share-metric-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 11px; } body.enterprise-netdisk .share-metric-icon.blue { color: var(--ww-blue); background: var(--ww-blue-soft); } body.enterprise-netdisk .share-metric-icon.teal { color: #07837d; background: #e7f8f6; } body.enterprise-netdisk .share-metric-icon.amber { color: #b96d08; background: #fff4df; } body.enterprise-netdisk .share-metric > span:last-child { min-width: 0; display: flex; flex-direction: column; } body.enterprise-netdisk .share-metric small { color: var(--ww-muted); font-size: 10px; font-weight: 650; } body.enterprise-netdisk .share-metric strong { color: var(--ww-ink); font-size: 20px; font-weight: 800; line-height: 1.25; } body.enterprise-netdisk .share-toolbar { margin: 14px 30px 20px; } body.enterprise-netdisk .share-toolbar input, body.enterprise-netdisk .share-toolbar select { min-height: 40px; padding: 0 12px; border: 1px solid var(--ww-line-strong); border-radius: 10px; color: var(--ww-ink); background: #fff; } body.enterprise-netdisk .share-toolbar select { width: 138px; flex: 0 0 138px; } body.enterprise-netdisk .share-section { margin: 0 30px 20px; overflow: hidden; border: 1px solid var(--ww-line); border-radius: 14px; background: #fff; } body.enterprise-netdisk .share-section-head { min-height: 66px; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--ww-line); background: #fafcff; } body.enterprise-netdisk .share-section-head > div { min-width: 0; display: flex; align-items: center; gap: 11px; } body.enterprise-netdisk .share-section-head > div > span:last-child { min-width: 0; display: flex; flex-direction: column; } body.enterprise-netdisk .share-section-head strong { color: var(--ww-ink); font-size: 14px; font-weight: 750; } body.enterprise-netdisk .share-section-head small { overflow: hidden; color: var(--ww-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .share-section-icon { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border-radius: 10px; color: var(--ww-blue); background: var(--ww-blue-soft); } body.enterprise-netdisk .share-section-icon.teal { color: #07837d; background: #e7f8f6; } body.enterprise-netdisk .share-section-count { flex: 0 0 auto; padding: 4px 9px; border-radius: 999px; color: #66758c; background: #edf2f8; font-size: 10px; font-weight: 700; } body.enterprise-netdisk .share-empty-state { min-height: 224px; padding: 34px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: linear-gradient(180deg, #fff 0%, #fbfdff 100%); } body.enterprise-netdisk .share-empty-state.compact { min-height: 175px; padding: 26px 18px; } body.enterprise-netdisk .share-empty-icon { width: 62px; height: 62px; margin-bottom: 13px; display: grid; place-items: center; border-radius: 19px; color: var(--ww-blue); background: var(--ww-blue-soft); font-size: 24px; } body.enterprise-netdisk .share-empty-icon.teal { color: #07837d; background: #e7f8f6; } body.enterprise-netdisk .share-empty-state strong { color: var(--ww-ink); font-size: 15px; font-weight: 750; } body.enterprise-netdisk .share-empty-state p { max-width: 410px; margin: 5px 0 16px; color: var(--ww-muted); font-size: 11px; } body.enterprise-netdisk .share-loading-state { min-height: 160px; display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--ww-muted); } body.enterprise-netdisk .share-card-grid { padding: 16px; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; } body.enterprise-netdisk .share-card { min-width: 0; padding: 16px; border: 1px solid var(--ww-line); border-radius: 13px; background: #fff; box-shadow: none; transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; } body.enterprise-netdisk .share-card:hover { border-color: #bdd3f5; background: #fff; box-shadow: 0 10px 26px rgba(38, 69, 117, 0.08); transform: translateY(-2px); } body.enterprise-netdisk .share-card__title { min-width: 0; display: flex; align-items: center; gap: 10px; color: var(--ww-ink); font-size: 14px; font-weight: 750; } body.enterprise-netdisk .share-card__title > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .share-card__type { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 10px; color: var(--ww-blue); background: var(--ww-blue-soft); } body.enterprise-netdisk .share-card__chips { margin: 13px 0 11px; display: flex; flex-wrap: wrap; gap: 6px; } body.enterprise-netdisk .share-chip { padding: 3px 7px; border: 0; border-radius: 6px; color: #65748a; background: #eff3f8; font-size: 9px; font-weight: 650; } body.enterprise-netdisk .share-card__url { min-width: 0; min-height: 38px; padding: 8px 9px; display: flex; align-items: center; gap: 7px; border-radius: 8px; color: #708099; background: #f5f7fa; font-size: 10px; } body.enterprise-netdisk .share-card__url > i { color: var(--ww-blue); } body.enterprise-netdisk .share-card__url-link { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .share-code { flex: 0 0 auto; padding: 2px 6px; border-radius: 5px; color: #4f6078; background: #fff; font-family: Consolas, monospace; } body.enterprise-netdisk .share-card__meta { margin: 12px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 10px; color: var(--ww-muted); font-size: 10px; } body.enterprise-netdisk .share-card__meta span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .share-card__meta i { width: 13px; color: #9caabd; } body.enterprise-netdisk .share-card__actions { padding-top: 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; border-top: 1px solid #edf1f6; } body.enterprise-netdisk .share-card__actions .btn { min-width: 0; min-height: 34px; padding: 0 8px; font-size: 10px; } body.enterprise-netdisk .share-table-wrap { width: 100%; overflow-x: auto; } body.enterprise-netdisk .share-list-table { width: 100%; min-width: 780px; border: 0; border-collapse: collapse; border-radius: 0; table-layout: fixed; background: #fff; } body.enterprise-netdisk .share-list-table thead tr { background: #f8fafd !important; } body.enterprise-netdisk .share-list-table th { height: 42px; padding: 0 13px !important; color: #8190a6; border-bottom: 1px solid var(--ww-line); font-size: 10px; font-weight: 700; text-align: left; } body.enterprise-netdisk .share-list-table td { height: 58px; padding: 8px 13px !important; overflow: hidden; color: #4a5971; border-bottom: 1px solid #edf1f6; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .share-list-table tbody tr:last-child td { border-bottom: 0; } body.enterprise-netdisk .share-list-table tbody tr:hover { background: #f7faff; } body.enterprise-netdisk .share-col-name { width: 18%; } body.enterprise-netdisk .share-col-link { width: 29%; } body.enterprise-netdisk .share-col-number { width: 8%; text-align: center !important; } body.enterprise-netdisk .share-col-expire { width: 17%; text-align: center !important; } body.enterprise-netdisk .share-col-actions { width: 20%; text-align: center !important; } body.enterprise-netdisk .share-list-resource { min-width: 0; display: flex; align-items: center; gap: 8px; overflow: hidden; color: var(--ww-ink); font-weight: 650; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .share-list-resource i { color: var(--ww-blue); } body.enterprise-netdisk .share-list-link-text { display: block; overflow: hidden; color: #58708f; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .share-number-cell, body.enterprise-netdisk .share-expire-cell { text-align: center; } body.enterprise-netdisk .share-number-cell.muted { color: var(--ww-muted); } body.enterprise-netdisk .share-forever { color: var(--ww-success); } body.enterprise-netdisk .share-list-actions { display: flex; align-items: center; justify-content: center; gap: 6px; } body.enterprise-netdisk .share-list-actions .btn { width: 32px; min-width: 32px; min-height: 32px; padding: 0; } @keyframes ww-page-enter { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } } @media (max-width: 1200px) { body.enterprise-netdisk .navbar { width: 212px; } body.enterprise-netdisk .main-container { margin-left: 212px !important; padding-inline: 22px; } body.enterprise-netdisk .storage-meter-card { width: 340px; min-width: 280px; } body.enterprise-netdisk .share-card-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); } } @media (max-width: 900px) { body.enterprise-netdisk .navbar { position: sticky !important; inset: 0 auto auto; width: 100%; min-height: 66px; padding: 9px 14px; flex-direction: row; align-items: center; gap: 14px; border-right: 0 !important; border-bottom: 1px solid var(--ww-line) !important; box-shadow: 0 6px 20px rgba(31, 49, 78, 0.06); } body.enterprise-netdisk .navbar-brand { flex: 0 0 auto; padding: 0; } body.enterprise-netdisk .brand-mark { width: 38px; height: 38px; flex-basis: 38px; border-radius: 11px; } body.enterprise-netdisk .brand-copy small, body.enterprise-netdisk .nav-section-label { display: none; } body.enterprise-netdisk .brand-copy strong { font-size: 17px; } body.enterprise-netdisk .navbar-menu { min-width: 0; flex-direction: row; align-items: center; gap: 5px; overflow-x: auto; scrollbar-width: none; } body.enterprise-netdisk .navbar-menu::-webkit-scrollbar { display: none; } body.enterprise-netdisk .nav-item, body.enterprise-netdisk .navbar-download-btn { width: auto; min-height: 40px; flex: 0 0 auto; padding: 0 11px; border-radius: 9px; font-size: 12px; } body.enterprise-netdisk .nav-item.active { box-shadow: none; } body.enterprise-netdisk .nav-item:hover, body.enterprise-netdisk .navbar-download-btn:hover { transform: none; } body.enterprise-netdisk .nav-service-label { margin: 0; } body.enterprise-netdisk .navbar-account { margin: 0 0 0 auto; padding: 0 0 0 6px; display: flex; align-items: center; gap: 6px; border: 0; } body.enterprise-netdisk .user-info { min-width: 40px; min-height: 40px; padding: 3px; border: 0; background: transparent; } body.enterprise-netdisk .user-copy { display: none; } body.enterprise-netdisk .navbar-logout-btn { width: 40px; min-width: 40px; min-height: 40px; padding: 0; font-size: 0; } body.enterprise-netdisk .navbar-logout-btn i { font-size: 14px; } body.enterprise-netdisk .main-container { margin-left: 0 !important; padding: 20px; } body.enterprise-netdisk .files-view-card, body.enterprise-netdisk .shares-page-card { min-height: calc(100vh - 106px); } body.enterprise-netdisk .workspace-page-header { align-items: flex-start; } body.enterprise-netdisk .storage-meter-card { width: 310px; min-width: 270px; } body.enterprise-netdisk .share-toolbar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); } body.enterprise-netdisk .share-search-field { grid-column: 1 / -1; } body.enterprise-netdisk .share-toolbar select { width: 100%; min-width: 0; } } @media (max-width: 680px) { body.enterprise-netdisk .navbar { gap: 8px; padding-inline: 10px; } body.enterprise-netdisk .brand-copy { display: none; } body.enterprise-netdisk .nav-item { width: 40px; min-width: 40px; padding: 0; justify-content: center; font-size: 0; } body.enterprise-netdisk .nav-item i { width: auto; font-size: 15px; } body.enterprise-netdisk .navbar-download-btn, body.enterprise-netdisk .user-info { display: none; } body.enterprise-netdisk .main-container { padding: 12px; } body.enterprise-netdisk .card { border-radius: 14px; } body.enterprise-netdisk .files-page-header, body.enterprise-netdisk .shares-page-head { padding: 20px 18px; flex-direction: column; gap: 16px; } body.enterprise-netdisk .storage-meter-card { width: 100%; min-width: 0; } body.enterprise-netdisk .breadcrumb-bar { margin: 12px 14px 0; } body.enterprise-netdisk .breadcrumb-up { font-size: 0 !important; } body.enterprise-netdisk .breadcrumb-up i { font-size: 12px; } body.enterprise-netdisk .files-content-shell { padding: 14px; } body.enterprise-netdisk .files-command-bar { align-items: stretch; flex-direction: column; gap: 10px; } body.enterprise-netdisk .files-command-primary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } body.enterprise-netdisk .files-command-primary .btn { min-width: 0; } body.enterprise-netdisk .files-view-toggle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } body.enterprise-netdisk .files-view-toggle .btn { min-width: 0; } body.enterprise-netdisk .files-search-row { display: grid; grid-template-columns: minmax(0, 1fr) 92px; } body.enterprise-netdisk .files-search-field { min-width: 0; grid-column: 1 / -1; } body.enterprise-netdisk .files-search-type { width: 100%; } body.enterprise-netdisk .files-search-clear { display: none; } body.enterprise-netdisk .files-list-hint { display: none; } body.enterprise-netdisk .files-container { min-height: calc(100vh - 520px); } body.enterprise-netdisk .files-content-shell .file-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; } body.enterprise-netdisk .files-content-shell .file-grid-item { min-height: 140px; } body.enterprise-netdisk .file-col-size, body.enterprise-netdisk .file-col-time, body.enterprise-netdisk .file-list-size-cell, body.enterprise-netdisk .file-list-time-cell { display: none; } body.enterprise-netdisk .file-col-name { width: auto; } body.enterprise-netdisk .file-col-actions { width: 52px; } body.enterprise-netdisk .file-list-name-meta { display: block; } body.enterprise-netdisk .shares-page-actions { width: 100%; } body.enterprise-netdisk .shares-view-toggle { flex: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } body.enterprise-netdisk .shares-view-toggle .btn { min-width: 0; } body.enterprise-netdisk .share-metrics { padding: 14px 14px 0; grid-template-columns: repeat(2, minmax(0, 1fr)); } body.enterprise-netdisk .share-metric-wide { grid-column: 1 / -1; } body.enterprise-netdisk .share-metric { padding: 11px; } body.enterprise-netdisk .share-toolbar { margin: 12px 14px 14px; grid-template-columns: 1fr; } body.enterprise-netdisk .share-search-field, body.enterprise-netdisk .share-toolbar select { grid-column: auto; } body.enterprise-netdisk .share-section { margin: 0 14px 14px; } body.enterprise-netdisk .share-section-head small { display: none; } body.enterprise-netdisk .share-card-grid { padding: 10px; grid-template-columns: 1fr; } } @media (max-width: 420px) { body.enterprise-netdisk .share-metrics { grid-template-columns: 1fr; } body.enterprise-netdisk .share-metric-wide { grid-column: auto; } body.enterprise-netdisk .files-search-row { grid-template-columns: 1fr; } body.enterprise-netdisk .files-search-button { width: 100%; } body.enterprise-netdisk .share-card__meta { grid-template-columns: 1fr; } } @media (prefers-reduced-motion: reduce) { body.enterprise-netdisk .main-container { animation: none; } body.enterprise-netdisk *, body.enterprise-netdisk *::before, body.enterprise-netdisk *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; } } /* Selected workspace direction: compact file canvas, tabbed shares and settings. */ body.enterprise-netdisk .files-view-card { height: calc(100vh - 62px); min-height: 680px; display: flex; flex-direction: column; } body.enterprise-netdisk .files-page-header { flex: 0 0 auto; padding: 22px 26px 20px; } body.enterprise-netdisk .files-page-header .workspace-page-heading h1 { font-size: 27px; } body.enterprise-netdisk .files-content-shell { min-height: 0; flex: 1; display: flex; flex-direction: column; padding: 16px 24px 22px; } body.enterprise-netdisk .files-command-bar, body.enterprise-netdisk .files-search-wrap, body.enterprise-netdisk .files-list-heading { flex: 0 0 auto; } body.enterprise-netdisk .files-search-wrap { margin-top: 11px; } body.enterprise-netdisk .files-search-row { padding: 7px; border-radius: 11px; } body.enterprise-netdisk .files-search-field, body.enterprise-netdisk .files-search-type, body.enterprise-netdisk .files-search-button { min-height: 38px; } body.enterprise-netdisk .files-list-heading { min-height: 43px; } body.enterprise-netdisk .files-container { min-height: 360px; flex: 1; overflow: auto; padding: 8px 10px 54px; border-radius: 12px; background: linear-gradient(rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.96)), radial-gradient(circle at 50% 42%, rgba(40, 120, 255, 0.08), transparent 22rem); transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease; } body.enterprise-netdisk .files-container.drag-over { border-color: #72a8ff; background: #f5f9ff; box-shadow: inset 0 0 0 2px rgba(40, 120, 255, 0.12); } body.enterprise-netdisk .files-content-shell .file-grid { min-height: 100%; padding: 18px 10px; align-content: start; justify-content: start; grid-template-columns: repeat(auto-fill, 138px); grid-auto-rows: 132px; gap: 8px 14px; } body.enterprise-netdisk .files-content-shell .file-grid-item { width: 138px; min-height: 132px; padding: 10px 8px 9px; justify-content: flex-start; border: 0; border-radius: 10px; background: transparent; box-shadow: none; transform: none; } body.enterprise-netdisk .files-content-shell .file-grid-item:hover { border: 0; background: #f3f7fc; box-shadow: none; transform: none; } body.enterprise-netdisk .files-content-shell .file-grid-item:active { background: #eaf2ff; } body.enterprise-netdisk .file-icon { min-height: 68px; margin: 0 0 4px; } body.enterprise-netdisk .file-grid-type-icon { font-size: 54px; filter: none; } body.enterprise-netdisk .file-type-default { color: #6c7d96 !important; } body.enterprise-netdisk .file-type-folder { color: #e8ae42 !important; } body.enterprise-netdisk .file-type-pdf { color: #e15d62 !important; } body.enterprise-netdisk .file-type-word { color: #397bd8 !important; } body.enterprise-netdisk .file-type-excel { color: #2b9c70 !important; } body.enterprise-netdisk .file-type-archive { color: #b07d50 !important; } body.enterprise-netdisk .file-type-audio { color: #7886c7 !important; } body.enterprise-netdisk .file-thumbnail { width: 68px; height: 62px; border-radius: 9px; box-shadow: 0 5px 14px rgba(38, 58, 90, 0.09); } body.enterprise-netdisk .files-content-shell .file-name { min-height: 20px; color: #10203a; font-size: 13px; font-weight: 750; } body.enterprise-netdisk .files-content-shell .file-size { margin-top: 2px; color: #72839d; font-size: 11px; } body.enterprise-netdisk .files-drop-hint { position: absolute; left: 50%; bottom: 14px; z-index: 2; padding: 6px 11px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid #e1e9f5; border-radius: 999px; color: #8492a8; background: rgba(249, 251, 254, 0.92); font-size: 10px; pointer-events: none; transform: translateX(-50%); } body.enterprise-netdisk .files-drop-hint i { color: #5f97ec; } body.enterprise-netdisk .drag-drop-overlay { position: absolute !important; inset: 0 !important; z-index: 25 !important; min-height: 100% !important; display: grid !important; place-items: center !important; border: 0 !important; border-radius: 11px !important; background: rgba(240, 247, 255, 0.96) !important; backdrop-filter: blur(3px); } body.enterprise-netdisk .drag-drop-content { padding: 26px 34px; text-align: center; border: 1px dashed #79aaff; border-radius: 18px; background: #fff; box-shadow: 0 18px 40px rgba(32, 84, 165, 0.12); } body.enterprise-netdisk .drag-drop-content > i { margin-bottom: 12px !important; color: var(--ww-blue) !important; font-size: 44px !important; } body.enterprise-netdisk .drag-drop-content > div:first-of-type { margin-bottom: 4px !important; font-size: 17px !important; } /* Shares */ body.enterprise-netdisk .shares-page-card { min-height: calc(100vh - 62px); display: flex; flex-direction: column; } body.enterprise-netdisk .shares-page-head { padding: 24px 28px 20px; } body.enterprise-netdisk .share-resource-tabs { min-height: 55px; padding: 0 28px; display: flex; align-items: flex-end; gap: 26px; border-bottom: 1px solid var(--ww-line); background: #fff; } body.enterprise-netdisk .share-resource-tabs button { position: relative; min-height: 54px; padding: 0 2px; display: inline-flex; align-items: center; gap: 8px; border: 0; color: #74839a; background: transparent; font-size: 13px; font-weight: 700; cursor: pointer; } body.enterprise-netdisk .share-resource-tabs button::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; } body.enterprise-netdisk .share-resource-tabs button.active { color: var(--ww-blue); } body.enterprise-netdisk .share-resource-tabs button.active::after { background: var(--ww-blue); } body.enterprise-netdisk .share-resource-tabs button > span { min-width: 21px; height: 20px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; color: #718097; background: #edf2f8; font-size: 10px; } body.enterprise-netdisk .share-resource-tabs button.active > span { color: #1763e6; background: #e8f1ff; } body.enterprise-netdisk .share-resource-card { min-height: 0; margin: 22px 28px 28px; display: flex; flex: 1; flex-direction: column; overflow: hidden; border: 1px solid var(--ww-line); border-radius: 14px; background: #fff; } body.enterprise-netdisk .share-inline-stats { min-height: 52px; padding: 0 17px; display: flex; align-items: center; gap: 24px; border-bottom: 1px solid var(--ww-line); color: #74839a; background: #fbfcfe; font-size: 11px; } body.enterprise-netdisk .share-inline-stats > span { display: inline-flex; align-items: center; gap: 7px; } body.enterprise-netdisk .share-inline-stats i { color: #7896c4; } body.enterprise-netdisk .share-inline-stats strong { color: #23344f; font-size: 12px; } body.enterprise-netdisk .share-resource-card .share-toolbar { margin: 14px 16px; padding: 7px; border-radius: 11px; } body.enterprise-netdisk .share-resource-card .share-search-field, body.enterprise-netdisk .share-resource-card .share-toolbar select { min-height: 38px; } body.enterprise-netdisk .share-resource-card .share-search-field input, body.enterprise-netdisk .share-resource-card .share-search-field input:focus { min-height: 34px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; outline: 0 !important; background: transparent !important; box-shadow: none !important; } body.enterprise-netdisk .share-resource-panel { min-height: 260px; flex: 1; overflow: auto; border-top: 1px solid var(--ww-line); } body.enterprise-netdisk .share-resource-panel .share-section-head { min-height: 58px; padding: 9px 16px; position: sticky; top: 0; z-index: 3; } body.enterprise-netdisk .share-resource-panel .share-section-icon { width: 34px; height: 34px; flex-basis: 34px; } body.enterprise-netdisk .share-resource-panel .share-list-table td { height: 56px; } /* Settings */ body.enterprise-netdisk .settings-page-card { min-height: calc(100vh - 62px); padding: 0 !important; overflow: hidden; } body.enterprise-netdisk .settings-page-head { padding: 25px 30px 21px; border-bottom: 1px solid var(--ww-line); background: radial-gradient(circle at 92% 0%, rgba(40, 120, 255, 0.07), transparent 19rem), #fff; } body.enterprise-netdisk .settings-page-title { margin: 0; color: var(--ww-ink); font-size: 27px; font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; } body.enterprise-netdisk .settings-page-title i { margin-right: 8px; color: var(--ww-blue); font-size: 20px; } body.enterprise-netdisk .settings-page-subtitle { margin: 6px 0 0; color: var(--ww-muted); font-size: 12px; } body.enterprise-netdisk .settings-tabs { min-height: 57px; padding: 0 30px; display: flex; align-items: flex-end; gap: 28px; border-bottom: 1px solid var(--ww-line); background: #fff; } body.enterprise-netdisk .settings-tab { position: relative; min-height: 56px; padding: 0 2px; display: inline-flex; align-items: center; gap: 8px; border: 0; color: #74839a; background: transparent; font-size: 13px; font-weight: 700; cursor: pointer; } body.enterprise-netdisk .settings-tab::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent; } body.enterprise-netdisk .settings-tab.active { color: var(--ww-blue); } body.enterprise-netdisk .settings-tab.active::after { background: var(--ww-blue); } body.enterprise-netdisk .settings-page-card > .settings-section, body.enterprise-netdisk .settings-page-card > .settings-section-title, body.enterprise-netdisk .settings-page-card > .settings-panel { margin-right: 28px !important; margin-left: 28px !important; } body.enterprise-netdisk .settings-page-card > .settings-section { margin-top: 24px !important; margin-bottom: 28px !important; } body.enterprise-netdisk .settings-page-card > .settings-section-title { margin-top: 24px !important; margin-bottom: 13px !important; } body.enterprise-netdisk .settings-section-title { color: #24354f; font-size: 14px; font-weight: 800; } body.enterprise-netdisk .settings-section-title i { width: 19px; color: var(--ww-blue); } body.enterprise-netdisk .settings-storage-choice > .settings-section-title, body.enterprise-netdisk .settings-download-traffic > .settings-section-title, body.enterprise-netdisk .settings-local-only > .settings-section-title, body.enterprise-netdisk .settings-oss-only > .settings-section-title { margin-bottom: 13px !important; } body.enterprise-netdisk .settings-storage-panel, body.enterprise-netdisk .settings-local-panel, body.enterprise-netdisk .settings-oss-panel, body.enterprise-netdisk .settings-traffic-panel, body.enterprise-netdisk .settings-devices-panel, body.enterprise-netdisk .settings-theme-panel, body.enterprise-netdisk .settings-account-panel { border: 1px solid var(--ww-line) !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 10px 30px rgba(31, 49, 78, 0.06) !important; } body.enterprise-netdisk .settings-storage-panel { padding: 18px !important; } body.enterprise-netdisk .settings-storage-switch { padding: 9px !important; border-color: #e6ebf3 !important; background: #f8fafd !important; } body.enterprise-netdisk .settings-storage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; } body.enterprise-netdisk .settings-storage-option { padding: 15px !important; border-color: var(--ww-line) !important; border-radius: 11px !important; background: #fbfcfe !important; box-shadow: none !important; } body.enterprise-netdisk .settings-storage-option:has(button:disabled) { border-color: #b9d1f6 !important; background: #f6f9ff !important; } body.enterprise-netdisk .settings-inline-tip { border: 0 !important; color: #65758d !important; background: #f7f9fc !important; } body.enterprise-netdisk .settings-traffic-panel { padding: 18px !important; } body.enterprise-netdisk .settings-traffic-toolbar { margin-bottom: 14px !important; } body.enterprise-netdisk .download-traffic-range-actions { gap: 5px; } body.enterprise-netdisk .download-traffic-range-btn { min-height: 32px; padding: 0 10px; border-radius: 8px; font-size: 11px; } body.enterprise-netdisk .download-traffic-range-btn-active { color: #fff !important; border-color: var(--ww-blue) !important; background: var(--ww-blue) !important; } body.enterprise-netdisk .traffic-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 9px !important; } body.enterprise-netdisk .traffic-kpi-grid > div { min-height: 84px; padding: 12px 13px !important; border-radius: 10px !important; box-shadow: none; } body.enterprise-netdisk .traffic-quota-progress { padding: 8px 2px 4px; } body.enterprise-netdisk .traffic-summary-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 8px !important; } body.enterprise-netdisk .traffic-summary-grid > div { padding: 9px 10px !important; border-color: #e5eaf2 !important; background: #fafbfd !important; } body.enterprise-netdisk .traffic-visual-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.8fr); gap: 10px; } body.enterprise-netdisk .traffic-chart-card, body.enterprise-netdisk .traffic-table-card { min-width: 0; padding: 13px; border: 1px solid var(--ww-line); border-radius: 11px; background: #fff; } body.enterprise-netdisk .traffic-card-head { min-height: 39px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; } body.enterprise-netdisk .traffic-card-head > div { display: flex; flex-direction: column; } body.enterprise-netdisk .traffic-card-head strong { color: #263750; font-size: 12px; font-weight: 800; } body.enterprise-netdisk .traffic-card-head span { color: #8a98ab; font-size: 9px; } body.enterprise-netdisk .traffic-peak-pill { padding: 4px 7px; border-radius: 999px; color: #1763e6 !important; background: #eaf2ff; font-weight: 700; } body.enterprise-netdisk .traffic-chart-bars { height: 178px; padding: 15px 4px 0; display: grid; grid-template-columns: repeat(7, minmax(30px, 1fr)); align-items: end; gap: 8px; border-bottom: 1px solid #e6ebf2; background: repeating-linear-gradient(to bottom, transparent 0, transparent 43px, #f0f3f8 44px); } body.enterprise-netdisk .traffic-bar-column { height: 160px; min-width: 0; display: grid; grid-template-rows: 18px 116px 20px; align-items: end; justify-items: center; } body.enterprise-netdisk .traffic-bar-value, body.enterprise-netdisk .traffic-bar-label { max-width: 100%; overflow: hidden; color: #8795a9; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .traffic-bar-track { width: min(34px, 68%); height: 112px; display: flex; align-items: flex-end; border-radius: 6px 6px 0 0; } body.enterprise-netdisk .traffic-bar-track > span { width: 100%; min-height: 4px; display: block; border-radius: 6px 6px 2px 2px; background: linear-gradient(180deg, #4f91ff 0%, #2878ff 100%); box-shadow: 0 5px 12px rgba(40, 120, 255, 0.16); } body.enterprise-netdisk .traffic-table-scroll { max-height: 193px; overflow: auto; } body.enterprise-netdisk .traffic-table-scroll table { width: 100%; border-collapse: collapse; } body.enterprise-netdisk .traffic-table-scroll th, body.enterprise-netdisk .traffic-table-scroll td { height: 29px; padding: 0 7px; border-bottom: 1px solid #edf1f6; color: #53637a; font-size: 9px; text-align: right; } body.enterprise-netdisk .traffic-table-scroll th { color: #8a98ab; background: #fafbfd; font-weight: 700; } body.enterprise-netdisk .traffic-table-scroll th:first-child, body.enterprise-netdisk .traffic-table-scroll td:first-child { text-align: left; } body.enterprise-netdisk .traffic-table-scroll td:nth-child(2) { color: #263750; font-weight: 700; } body.enterprise-netdisk .traffic-empty-state { min-height: 168px; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--ww-muted); font-size: 11px; } body.enterprise-netdisk .traffic-report-note { margin-top: 9px; color: #8492a7; font-size: 10px; } body.enterprise-netdisk .traffic-report-note i { margin-right: 5px; color: #6797df; } body.enterprise-netdisk .settings-theme-panel, body.enterprise-netdisk .settings-devices-panel, body.enterprise-netdisk .settings-account-panel { padding: 18px !important; margin-bottom: 28px !important; } @media (max-width: 1180px) { body.enterprise-netdisk .traffic-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } body.enterprise-netdisk .traffic-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } body.enterprise-netdisk .traffic-visual-grid { grid-template-columns: 1fr; } } @media (max-width: 900px) { body.enterprise-netdisk .files-view-card, body.enterprise-netdisk .shares-page-card, body.enterprise-netdisk .settings-page-card { height: auto; min-height: calc(100vh - 94px); } body.enterprise-netdisk .files-content-shell .file-grid { grid-template-columns: repeat(auto-fill, 128px); } body.enterprise-netdisk .files-content-shell .file-grid-item { width: 128px; } body.enterprise-netdisk .settings-storage-grid { grid-template-columns: 1fr !important; } } @media (max-width: 680px) { body.enterprise-netdisk .files-page-header, body.enterprise-netdisk .shares-page-head, body.enterprise-netdisk .settings-page-head { padding: 19px 17px 17px; } body.enterprise-netdisk .files-content-shell { padding: 13px 14px 16px; } body.enterprise-netdisk .files-content-shell .file-grid { padding-inline: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; } body.enterprise-netdisk .files-content-shell .file-grid-item { width: auto; min-height: 126px; } body.enterprise-netdisk .files-drop-hint { width: max-content; max-width: calc(100% - 28px); } body.enterprise-netdisk .share-resource-tabs, body.enterprise-netdisk .settings-tabs { padding: 0 17px; gap: 18px; overflow-x: auto; } body.enterprise-netdisk .share-resource-card { margin: 16px 14px 18px; } body.enterprise-netdisk .share-inline-stats { min-height: 48px; gap: 12px; overflow-x: auto; white-space: nowrap; } body.enterprise-netdisk .share-resource-card .share-toolbar { display: grid; grid-template-columns: 1fr; } body.enterprise-netdisk .share-resource-card .share-toolbar select { width: 100%; } body.enterprise-netdisk .settings-page-card > .settings-section, body.enterprise-netdisk .settings-page-card > .settings-section-title, body.enterprise-netdisk .settings-page-card > .settings-panel { margin-right: 14px !important; margin-left: 14px !important; } body.enterprise-netdisk .traffic-kpi-grid, body.enterprise-netdisk .traffic-summary-grid { grid-template-columns: 1fr !important; } body.enterprise-netdisk .traffic-chart-bars { gap: 4px; } body.enterprise-netdisk .traffic-bar-value { display: none; } } /* Mobile file workspace: bottom navigation and a single-layer command surface. */ body.enterprise-netdisk .mobile-file-create-trigger { display: none; } @keyframes ww-mobile-sheet-enter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } } @media (max-width: 900px) { body.enterprise-netdisk { min-width: 0; min-height: 100vh; min-height: 100dvh; overflow-x: hidden; background: #fff; } body.enterprise-netdisk #app { min-height: 100vh; min-height: 100dvh; } body.enterprise-netdisk .navbar { position: fixed !important; inset: auto 0 0 !important; z-index: 80; width: 100% !important; height: calc(66px + env(safe-area-inset-bottom)); min-height: calc(66px + env(safe-area-inset-bottom)); padding: 5px 8px calc(5px + env(safe-area-inset-bottom)); display: flex; flex-direction: row; align-items: center; gap: 0; border: 0 !important; border-top: 1px solid rgba(214, 222, 235, 0.92) !important; background: rgba(255, 255, 255, 0.97) !important; box-shadow: 0 -8px 28px rgba(28, 46, 75, 0.09); backdrop-filter: blur(18px) !important; } body.enterprise-netdisk .navbar-brand, body.enterprise-netdisk .nav-section-label, body.enterprise-netdisk .navbar-download-btn, body.enterprise-netdisk .user-info { display: none !important; } body.enterprise-netdisk .navbar-menu { width: 100%; min-width: 0; height: 56px; flex: 1; display: flex; flex-direction: row; align-items: center; justify-content: space-around; gap: 4px; overflow: visible; } body.enterprise-netdisk .navbar-account { min-width: 0; flex: 1 1 0; margin: 0; padding: 0; display: flex; border: 0; } body.enterprise-netdisk .nav-item, body.enterprise-netdisk .navbar-logout-btn { width: auto; min-width: 0; min-height: 52px; flex: 1 1 0; padding: 5px 4px 4px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border: 0; border-radius: 12px; color: #718099; background: transparent; box-shadow: none; font-size: 10px; font-weight: 700; line-height: 1.15; transform: none; } body.enterprise-netdisk .nav-item i, body.enterprise-netdisk .navbar-logout-btn i { width: auto; color: #718099; font-size: 18px; line-height: 1; } body.enterprise-netdisk .nav-item-label { display: block; font-size: 10px; line-height: 1.15; } body.enterprise-netdisk .nav-item.active { color: var(--ww-blue); background: var(--ww-blue-soft); box-shadow: none; } body.enterprise-netdisk .nav-item.active i { color: var(--ww-blue); } body.enterprise-netdisk .nav-item:hover, body.enterprise-netdisk .navbar-logout-btn:hover { color: #718099; background: #f5f7fa; transform: none; } body.enterprise-netdisk .navbar-logout-btn, body.enterprise-netdisk .navbar-logout-btn:hover { width: 100%; margin: 0; color: #9a6570; border-color: transparent; } body.enterprise-netdisk .navbar-logout-btn i, body.enterprise-netdisk .navbar-logout-btn:hover i { color: #9a6570; } body.enterprise-netdisk .main-container { margin-left: 0 !important; padding-bottom: calc(82px + env(safe-area-inset-bottom)); } body.enterprise-netdisk .files-main-container { padding: 0 0 calc(66px + env(safe-area-inset-bottom)); } body.enterprise-netdisk .files-view-card { height: auto; min-height: calc(100vh - 66px); min-height: calc(100dvh - 66px - env(safe-area-inset-bottom)); border: 0; border-radius: 0; box-shadow: none; } body.enterprise-netdisk .files-page-header { padding: 16px 16px 14px; display: flex; flex-direction: column; align-items: stretch; gap: 11px; border-bottom: 1px solid #edf1f6; background: radial-gradient(circle at 100% 0%, rgba(40, 120, 255, 0.08), transparent 14rem), #fff; } body.enterprise-netdisk .files-page-header .workspace-kicker, body.enterprise-netdisk .files-page-header .workspace-page-heading p { display: none; } body.enterprise-netdisk .files-page-header .workspace-page-heading h1 { margin: 0; font-size: 24px; line-height: 1.2; letter-spacing: -0.02em; } body.enterprise-netdisk .storage-meter-card { width: 100%; min-width: 0; padding: 10px 12px 9px; border-color: #e1e9f5; border-radius: 12px; background: rgba(247, 250, 255, 0.94); } body.enterprise-netdisk .storage-meter-head { gap: 9px; } body.enterprise-netdisk .storage-meter-head strong { min-width: 0; flex: 1; font-size: 11px; text-align: right; } body.enterprise-netdisk .files-storage-badge { width: auto; max-width: 58%; flex: 0 0 auto; padding: 3px 7px; justify-content: flex-start; font-size: 10px; } body.enterprise-netdisk .storage-meter-track { height: 4px; margin: 7px 0 5px; } body.enterprise-netdisk .storage-meter-foot { font-size: 9px; } body.enterprise-netdisk .breadcrumb-bar { min-height: 40px; margin: 10px 14px 0; padding: 4px 6px; gap: 5px; overflow-x: auto; border-radius: 10px; white-space: nowrap; scrollbar-width: none; } body.enterprise-netdisk .breadcrumb-bar::-webkit-scrollbar { display: none; } body.enterprise-netdisk .breadcrumb-up { position: sticky; right: 0; min-width: 34px; background: var(--ww-surface-soft); } body.enterprise-netdisk .files-content-shell { min-height: 0; padding: 12px 14px 18px; display: flex; flex-direction: column; } body.enterprise-netdisk .files-command-bar { min-height: 44px; display: flex; flex-direction: row; align-items: center; gap: 9px; } body.enterprise-netdisk .files-command-primary-desktop { display: none; } body.enterprise-netdisk .mobile-file-create-trigger { min-width: 0; min-height: 44px; flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 11px; font-size: 14px; font-weight: 750; box-shadow: 0 8px 18px rgba(40, 120, 255, 0.2); } body.enterprise-netdisk .files-view-toggle { width: auto; flex: 0 0 auto; display: flex; grid-template-columns: none; gap: 2px; padding: 3px; border-radius: 11px; } body.enterprise-netdisk .files-view-toggle .btn { width: 38px; min-width: 38px; min-height: 36px; padding: 0; display: grid; place-items: center; border-radius: 8px; } body.enterprise-netdisk .files-view-toggle .btn span { display: none; } body.enterprise-netdisk .files-view-toggle .btn i { margin: 0; font-size: 14px; } body.enterprise-netdisk .files-search-wrap { margin-top: 10px; } body.enterprise-netdisk .files-search-row { padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) 86px; gap: 8px; border: 0; border-radius: 0; background: transparent; } body.enterprise-netdisk .files-search-field { min-width: 0; min-height: 44px; grid-column: auto; padding: 0 12px; gap: 9px; border-color: #dce4ef; border-radius: 11px; background: #f7f9fc; } body.enterprise-netdisk .files-search-field .form-input { min-height: 40px; font-size: 13px; } body.enterprise-netdisk .files-search-field > i { font-size: 13px; } body.enterprise-netdisk .files-search-type { width: 86px; min-height: 44px; padding: 0 9px; border-color: #dce4ef; border-radius: 11px; background-color: #f7f9fc; font-size: 12px; } body.enterprise-netdisk .files-search-button, body.enterprise-netdisk .files-search-clear { display: none; } body.enterprise-netdisk .files-search-results { inset: calc(100% + 7px) 0 auto; max-height: min(52vh, 360px); border-radius: 12px; } body.enterprise-netdisk .files-search-result { min-height: 56px; padding: 10px 12px; } body.enterprise-netdisk .files-list-heading { min-height: 44px; padding: 0 2px; } body.enterprise-netdisk .files-list-heading > div { gap: 8px; } body.enterprise-netdisk .files-list-heading strong { font-size: 15px; } body.enterprise-netdisk .files-list-hint, body.enterprise-netdisk .files-drop-hint { display: none; } body.enterprise-netdisk .files-container { min-height: calc(100vh - 322px); min-height: calc(100dvh - 322px - env(safe-area-inset-bottom)); flex: 1; padding: 0; overflow: visible; border: 0; border-radius: 0; background: #fff; } body.enterprise-netdisk .files-content-shell .file-list { overflow: visible; border-radius: 0; } body.enterprise-netdisk .file-list-table thead { display: none; } body.enterprise-netdisk .file-list-table td { height: 66px; padding: 8px 2px !important; border-bottom-color: #edf1f6; } body.enterprise-netdisk .file-list-row:last-child td { border-bottom: 1px solid #edf1f6; } body.enterprise-netdisk .file-list-row:active { background: #f3f7fd; } body.enterprise-netdisk .file-col-size, body.enterprise-netdisk .file-col-time, body.enterprise-netdisk .file-list-size-cell, body.enterprise-netdisk .file-list-time-cell { display: none; } body.enterprise-netdisk .file-list-name-cell { width: auto; max-width: 0; } body.enterprise-netdisk .file-list-name-wrap { gap: 11px; } body.enterprise-netdisk .file-list-name-info { gap: 3px; } body.enterprise-netdisk .file-list-name-text { font-size: 14px; font-weight: 700; } body.enterprise-netdisk .file-list-name-meta { display: block; font-size: 10px; } body.enterprise-netdisk .file-list-thumb, body.enterprise-netdisk .file-list-video-icon { width: 40px; height: 40px; border-radius: 9px; } body.enterprise-netdisk .file-list-type-icon { min-width: 40px; font-size: 27px; } body.enterprise-netdisk .file-list-action-col { width: 48px; padding-left: 4px !important; display: table-cell !important; } body.enterprise-netdisk .file-row-mobile-more { width: 42px; min-width: 42px; min-height: 42px; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 11px; } body.enterprise-netdisk .files-content-shell .file-grid { min-height: 0; padding: 2px 0 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; gap: 8px; } body.enterprise-netdisk .files-content-shell .file-grid-item { width: auto; min-height: 124px; padding: 12px 8px 10px; justify-content: center; border: 1px solid #e7edf5; border-radius: 12px; background: #fbfcfe; } body.enterprise-netdisk .file-icon { min-height: 56px; margin-bottom: 4px; } body.enterprise-netdisk .file-grid-type-icon { font-size: 45px; } body.enterprise-netdisk .file-thumbnail, body.enterprise-netdisk .file-grid-video-icon { width: 58px; height: 54px; } body.enterprise-netdisk .files-content-shell .file-name { font-size: 12px; } body.enterprise-netdisk .files-content-shell .file-size { margin-top: 1px; font-size: 10px; } body.enterprise-netdisk .files-empty-state, body.enterprise-netdisk .files-content-shell .empty-hint { min-height: 260px; padding: 42px 12px; } body.enterprise-netdisk .files-empty-state > i { font-size: 34px; } body.enterprise-netdisk .files-empty-actions { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } body.enterprise-netdisk .files-empty-actions .btn { min-width: 0; } body.enterprise-netdisk .mobile-file-sheet-overlay { z-index: 1100; padding: 0; align-items: flex-end; background: rgba(18, 31, 50, 0.38); backdrop-filter: blur(2px); } body.enterprise-netdisk .mobile-file-sheet { width: 100%; max-width: 560px; max-height: 82vh; padding: 8px 14px calc(14px + env(safe-area-inset-bottom)); overflow-y: auto; border: 0; border-radius: 20px 20px 0 0; color: var(--ww-ink); background: #fff; box-shadow: 0 -18px 50px rgba(21, 38, 65, 0.18); animation: ww-mobile-sheet-enter 180ms ease-out both; } body.enterprise-netdisk .mobile-file-sheet-handle { width: 38px; height: 4px; margin: 2px auto 10px; background: #d7deea; } body.enterprise-netdisk .mobile-file-sheet-title { margin-bottom: 10px; color: var(--ww-ink); font-size: 15px; font-weight: 750; } body.enterprise-netdisk .mobile-file-sheet-actions { gap: 7px; } body.enterprise-netdisk .mobile-file-sheet-btn { min-height: 48px; border-color: var(--ww-line); color: var(--ww-text); background: var(--ww-surface-soft); } body.enterprise-netdisk .mobile-file-sheet-btn.cancel { margin-top: 4px; color: var(--ww-text); background: #fff; } body.enterprise-netdisk .mobile-create-sheet-title { margin-bottom: 5px; text-align: left; } body.enterprise-netdisk .mobile-create-sheet-actions { display: grid; gap: 4px; } body.enterprise-netdisk .mobile-create-option { width: 100%; min-height: 70px; padding: 9px 4px; display: flex; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid #edf1f6; color: var(--ww-ink); text-align: left; background: transparent; } body.enterprise-netdisk .mobile-create-option:active { background: #f4f8ff; } body.enterprise-netdisk .mobile-create-option-icon { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 12px; font-size: 17px; } body.enterprise-netdisk .mobile-create-option-icon.upload { color: #1763e6; background: #eaf2ff; } body.enterprise-netdisk .mobile-create-option-icon.folder { color: #aa6d05; background: #fff4da; } body.enterprise-netdisk .mobile-create-option-copy { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 2px; } body.enterprise-netdisk .mobile-create-option-copy strong { font-size: 14px; } body.enterprise-netdisk .mobile-create-option-copy small { overflow: hidden; color: var(--ww-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .mobile-create-option-arrow { color: #a5b0c1; font-size: 11px; } body.enterprise-netdisk .mobile-create-cancel { width: 100%; min-height: 46px; margin-top: 10px; border: 0; border-radius: 11px; font-weight: 700; } body.enterprise-netdisk .upload-progress-panel { right: 12px; bottom: calc(78px + env(safe-area-inset-bottom)); width: calc(100vw - 24px); max-width: 360px; } } @media (max-width: 380px) { body.enterprise-netdisk .files-page-header { padding-inline: 13px; } body.enterprise-netdisk .files-content-shell { padding-inline: 11px; } body.enterprise-netdisk .files-search-row { grid-template-columns: minmax(0, 1fr) 78px; gap: 6px; } body.enterprise-netdisk .files-search-type { width: 78px; padding-inline: 6px; } body.enterprise-netdisk .nav-item, body.enterprise-netdisk .navbar-logout-btn { padding-inline: 2px; } } /* Content-first mobile layout for shares, settings and administration. */ body.enterprise-netdisk .share-filter-controls { display: contents; } body.enterprise-netdisk .mobile-admin-users-reset-btn { display: none; } @media (max-width: 900px) { body.enterprise-netdisk .shares-main-container, body.enterprise-netdisk .settings-main-container { padding: 0 0 calc(66px + env(safe-area-inset-bottom)); } body.enterprise-netdisk .shares-page-card, body.enterprise-netdisk .settings-page-card { min-height: calc(100vh - 66px); min-height: calc(100dvh - 66px - env(safe-area-inset-bottom)); overflow: visible; border: 0; border-radius: 0; box-shadow: none; } /* Share links should reach the viewport before secondary controls. */ body.enterprise-netdisk .shares-page-head { min-height: 62px; padding: 10px 14px; display: flex; flex-direction: row; align-items: center; gap: 10px; border-bottom: 1px solid #edf1f6; background: #fff; } body.enterprise-netdisk .shares-page-head .workspace-page-heading { min-width: 0; flex: 1; } body.enterprise-netdisk .shares-page-head .workspace-kicker, body.enterprise-netdisk .shares-page-head .workspace-page-heading p { display: none; } body.enterprise-netdisk .shares-page-head .workspace-page-heading h1 { margin: 0; font-size: 21px; line-height: 1.2; letter-spacing: -0.02em; } body.enterprise-netdisk .shares-page-actions { width: auto; flex: 0 0 auto; display: flex; gap: 6px; } body.enterprise-netdisk .shares-page-actions .btn { min-width: 0; min-height: 40px; padding: 0 11px; gap: 6px; border-radius: 10px; font-size: 12px; } body.enterprise-netdisk .shares-page-actions .share-refresh-btn { width: 40px; padding: 0; } body.enterprise-netdisk .shares-page-actions .share-create-btn { width: 40px; padding: 0; } body.enterprise-netdisk .shares-page-actions .share-action-label { display: none; } body.enterprise-netdisk .share-resource-tabs { min-height: 46px; padding: 0 14px; align-items: flex-end; gap: 22px; overflow-x: auto; scrollbar-width: none; } body.enterprise-netdisk .share-resource-tabs::-webkit-scrollbar { display: none; } body.enterprise-netdisk .share-resource-tabs button { min-height: 45px; padding: 0; gap: 6px; font-size: 12px; white-space: nowrap; } body.enterprise-netdisk .share-resource-tabs button > span { min-width: 19px; height: 19px; padding: 0 5px; } body.enterprise-netdisk .share-resource-card { margin: 0; overflow: visible; border: 0; border-radius: 0; } body.enterprise-netdisk .share-inline-stats { min-height: 36px; padding: 0 14px; gap: 16px; overflow-x: auto; border-bottom: 1px solid #edf1f6; background: #fbfcfe; font-size: 10px; white-space: nowrap; scrollbar-width: none; } body.enterprise-netdisk .share-inline-stats::-webkit-scrollbar { display: none; } body.enterprise-netdisk .share-inline-stats > span { gap: 5px; } body.enterprise-netdisk .share-inline-stats > span:last-child { display: none; } body.enterprise-netdisk .share-resource-card .share-toolbar { margin: 9px 14px 8px; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 6px; border: 0; border-radius: 0; background: transparent; } body.enterprise-netdisk .share-resource-card .share-search-field { min-width: 0; min-height: 42px; padding: 0 11px; border: 1px solid #dce4ef; border-radius: 10px; background: #f7f9fc; } body.enterprise-netdisk .share-resource-card .share-search-field input, body.enterprise-netdisk .share-resource-card .share-search-field input:focus { min-height: 38px; font-size: 12px; } body.enterprise-netdisk .share-filter-controls { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; } body.enterprise-netdisk .share-resource-card .share-filter-controls select { width: 100%; min-width: 0; min-height: 34px; padding: 0 7px; border: 1px solid #dce4ef; border-radius: 9px; background-color: #f7f9fc; font-size: 11px; } body.enterprise-netdisk .share-resource-panel { min-height: 0; overflow: visible; border-top: 1px solid #edf1f6; } body.enterprise-netdisk .share-resource-panel .share-section-head { min-height: 46px; padding: 6px 14px; position: static; background: #fff; } body.enterprise-netdisk .share-resource-panel .share-section-icon { width: 28px; height: 28px; flex-basis: 28px; border-radius: 8px; font-size: 12px; } body.enterprise-netdisk .share-section-head > div { gap: 8px; } body.enterprise-netdisk .share-section-head strong { font-size: 13px; } body.enterprise-netdisk .share-section-head small { display: none; } body.enterprise-netdisk .share-table-wrap { overflow: visible; } body.enterprise-netdisk .shares-page-card .share-list-table { min-width: 0; display: block; table-layout: auto; background: #f7f9fc; } body.enterprise-netdisk .shares-page-card .share-list-table thead { display: none; } body.enterprise-netdisk .shares-page-card .share-list-table tbody { padding: 8px 12px 16px; display: grid; gap: 8px; } body.enterprise-netdisk .shares-page-card .share-list-table tbody tr { padding: 11px 12px; display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; gap: 5px 9px; overflow: hidden; border: 1px solid #e2e9f3; border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgba(30, 55, 91, 0.04); } body.enterprise-netdisk .shares-page-card .share-list-table td { width: auto; height: auto; min-width: 0; padding: 0 !important; display: block; overflow: visible; border: 0; font-size: 10px; text-align: left; white-space: nowrap; } body.enterprise-netdisk .shares-page-card .share-list-table td:nth-child(1) { grid-row: 1; grid-column: 1 / -1; } body.enterprise-netdisk .shares-page-card .share-list-table td:nth-child(2) { grid-row: 2; grid-column: 1 / -1; } body.enterprise-netdisk .shares-page-card .share-list-table td:nth-child(3) { grid-row: 3; grid-column: 1; } body.enterprise-netdisk .shares-page-card .share-list-table td:nth-child(4) { grid-row: 3; grid-column: 2; } body.enterprise-netdisk .shares-page-card .share-list-table td:nth-child(5) { grid-row: 3; grid-column: 3; align-self: center; } body.enterprise-netdisk .shares-page-card .share-list-table td:nth-child(6) { grid-row: 3; grid-column: 4; align-self: center; } body.enterprise-netdisk .shares-page-card .share-list-table td:nth-child(3)::before { content: "访问 "; color: var(--ww-muted); } body.enterprise-netdisk .shares-page-card .share-list-table td:nth-child(4)::before { content: "下载 "; color: var(--ww-muted); } body.enterprise-netdisk .share-list-resource { font-size: 13px; } body.enterprise-netdisk .share-list-link-text { color: #3773ca; font-size: 10px; } body.enterprise-netdisk .share-number-cell, body.enterprise-netdisk .share-expire-cell { text-align: left; } body.enterprise-netdisk .share-list-actions { gap: 4px; } body.enterprise-netdisk .share-list-actions .btn { width: 30px; min-width: 30px; min-height: 30px; border-radius: 8px; } body.enterprise-netdisk .share-empty-state, body.enterprise-netdisk .share-empty-state.compact { min-height: 220px; padding: 32px 16px; } /* Settings: one compact identity row, then the active setting content. */ body.enterprise-netdisk .settings-page-head { min-height: 58px; padding: 12px 14px 10px; border-bottom: 1px solid #edf1f6; background: #fff; } body.enterprise-netdisk .settings-page-title { font-size: 21px; line-height: 1.2; } body.enterprise-netdisk .settings-page-title i { margin-right: 6px; font-size: 16px; } body.enterprise-netdisk .settings-page-subtitle { display: none; } body.enterprise-netdisk .settings-tabs { min-height: 46px; padding: 0 14px; align-items: flex-end; gap: 20px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; } body.enterprise-netdisk .settings-tabs::-webkit-scrollbar { display: none; } body.enterprise-netdisk .settings-tab { min-height: 45px; padding: 0; gap: 6px; font-size: 12px; } body.enterprise-netdisk .settings-page-card > .settings-section, body.enterprise-netdisk .settings-page-card > .settings-section-title, body.enterprise-netdisk .settings-page-card > .settings-panel { margin-right: 12px !important; margin-left: 12px !important; } body.enterprise-netdisk .settings-page-card > .settings-section { margin-top: 12px !important; margin-bottom: 14px !important; } body.enterprise-netdisk .settings-page-card > .settings-section-title { margin-top: 14px !important; margin-bottom: 8px !important; } body.enterprise-netdisk .settings-section-title { margin-bottom: 9px !important; font-size: 13px; } body.enterprise-netdisk .settings-panel, body.enterprise-netdisk .settings-theme-panel, body.enterprise-netdisk .settings-devices-panel, body.enterprise-netdisk .settings-account-panel { padding: 12px !important; border-radius: 11px !important; box-shadow: none !important; } body.enterprise-netdisk .settings-subpanel { padding: 10px !important; border-radius: 9px !important; } body.enterprise-netdisk .settings-local-tip, body.enterprise-netdisk .settings-oss-tip, body.enterprise-netdisk .traffic-report-note { display: none; } body.enterprise-netdisk .settings-traffic-toolbar > div:first-child { display: none; } body.enterprise-netdisk .settings-traffic-toolbar { margin-bottom: 8px !important; } body.enterprise-netdisk .traffic-kpi-grid, body.enterprise-netdisk .traffic-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; } /* Admin: one-row navigation and operational data before debug controls. */ body.enterprise-netdisk .admin-main-container { padding: 8px 10px calc(76px + env(safe-area-inset-bottom)); } body.enterprise-netdisk .admin-tabs-card { margin: 0 0 10px !important; padding: 4px !important; position: sticky; top: 0; z-index: 22; border-radius: 12px; background: rgba(255, 255, 255, 0.96); backdrop-filter: blur(14px); } body.enterprise-netdisk .admin-tabs-nav { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; } body.enterprise-netdisk .admin-tab-btn { width: 100%; min-width: 0; min-height: 40px; padding: 0 4px; justify-content: center; gap: 5px; border-radius: 9px; font-size: 11px; white-space: nowrap; } body.enterprise-netdisk .admin-overview-page { display: flex; flex-direction: column; } body.enterprise-netdisk .admin-debug-card { order: 99; } body.enterprise-netdisk .admin-overview-page > .card { margin-bottom: 10px !important; padding: 13px !important; border-radius: 12px; } body.enterprise-netdisk .admin-overview-page > .card h3 { margin-bottom: 10px !important; font-size: 14px; } body.enterprise-netdisk .admin-storage-card > div[style*="display: grid"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; } body.enterprise-netdisk .admin-storage-card > div[style*="display: grid"] > div { min-width: 0; padding: 11px !important; border-radius: 10px !important; } body.enterprise-netdisk .admin-storage-card i[style*="font-size: 48px"] { font-size: 30px !important; } body.enterprise-netdisk .admin-storage-card div[style*="font-size: 28px"] { font-size: 20px !important; } body.enterprise-netdisk .admin-debug-row { align-items: stretch !important; flex-direction: column; gap: 10px; } body.enterprise-netdisk .admin-debug-toggle-btn { width: 100%; min-height: 42px; padding: 0 14px !important; font-size: 13px !important; } /* User records stay visible; the long query form opens only when requested. */ body.enterprise-netdisk .admin-users-page { min-width: 0; } body.enterprise-netdisk .admin-users-card { margin: 0 !important; padding: 0 !important; overflow: hidden; border-radius: 12px; } body.enterprise-netdisk .admin-users-header { min-height: 52px; padding: 8px 12px !important; flex-direction: row; align-items: center; gap: 7px; } body.enterprise-netdisk .admin-users-header h3 { min-width: 0; flex: 1; font-size: 16px; } body.enterprise-netdisk .mobile-admin-users-reset-btn { width: 38px; min-height: 38px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #dce4ef; border-radius: 9px; color: #52627a; background: #f7f9fc; font-size: 12px; } body.enterprise-netdisk .mobile-admin-users-reset-btn:disabled { color: #aab4c3; background: #f4f6f9; cursor: default; opacity: 0.65; } body.enterprise-netdisk .admin-users-refresh-btn { width: 38px; min-width: 38px !important; min-height: 38px; padding: 0 !important; border-radius: 9px; } body.enterprise-netdisk .admin-users-refresh-btn span { display: none; } body.enterprise-netdisk .admin-users-toolbar { margin: 0 10px 7px !important; padding: 8px !important; display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; border-radius: 10px; } body.enterprise-netdisk .admin-users-toolbar .admin-users-filter-search { grid-column: 1 / -1; } body.enterprise-netdisk .admin-users-toolbar .admin-users-filter { min-width: 0; } body.enterprise-netdisk .admin-users-toolbar .admin-users-filter:nth-child(2), body.enterprise-netdisk .admin-users-toolbar .admin-users-filter:nth-child(3), body.enterprise-netdisk .admin-users-toolbar .admin-users-filter:nth-child(4) { grid-column: span 2; } body.enterprise-netdisk .admin-users-toolbar .admin-users-filter:nth-child(5) { grid-column: span 4; } body.enterprise-netdisk .admin-users-toolbar .admin-users-filter-page-size { grid-column: span 2; } body.enterprise-netdisk .admin-users-toolbar .admin-users-filter-reset { display: none; } body.enterprise-netdisk .admin-users-toolbar label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } body.enterprise-netdisk .admin-users-toolbar input, body.enterprise-netdisk .admin-users-toolbar select { min-height: 34px; padding: 0 8px; font-size: 11px; } body.enterprise-netdisk .admin-users-stats { min-height: 34px; padding: 4px 12px 7px !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; } body.enterprise-netdisk .admin-users-stat-chip { min-width: 0; padding: 5px 7px; overflow: hidden; font-size: 10px; text-align: center; text-overflow: ellipsis; white-space: nowrap; } body.enterprise-netdisk .admin-users-stat-chip:nth-child(n + 4) { display: none; } body.enterprise-netdisk .admin-users-table-wrap { margin: 0 !important; overflow: visible !important; } body.enterprise-netdisk .admin-users-table { min-width: 0 !important; display: block; table-layout: auto !important; background: #f7f9fc; } body.enterprise-netdisk .admin-users-table thead { display: none; } body.enterprise-netdisk .admin-users-table tbody { padding: 8px 10px 12px; display: grid; gap: 8px; } body.enterprise-netdisk .admin-users-table tbody tr { padding: 11px 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; border: 1px solid #e2e9f3 !important; border-radius: 11px; background: #fff; box-shadow: 0 3px 12px rgba(30, 55, 91, 0.04); } body.enterprise-netdisk .admin-users-table tbody td { width: auto !important; min-width: 0; padding: 0 !important; display: block !important; overflow: hidden; border: 0; font-size: 10px !important; text-align: left !important; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(1), body.enterprise-netdisk .admin-users-table tbody td:nth-child(6) { display: none !important; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(2) { grid-row: 1; grid-column: 1; font-size: 14px !important; font-weight: 800; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(3) { grid-row: 1; grid-column: 2; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(4) { grid-row: 2; grid-column: 1 / -1; color: var(--ww-muted) !important; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(5) { grid-row: 3; grid-column: 1; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(9) { grid-row: 3; grid-column: 2; justify-self: end; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(7), body.enterprise-netdisk .admin-users-table tbody td:nth-child(8) { grid-row: 4; padding: 7px 8px !important; border-radius: 8px; background: #f7f9fc; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(7) { grid-column: 1; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(8) { grid-column: 2; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(7)::before, body.enterprise-netdisk .admin-users-table tbody td:nth-child(8)::before { margin-bottom: 2px; display: block; color: var(--ww-muted); font-size: 9px; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(7)::before { content: "存储配额"; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(8)::before { content: "下载流量"; } body.enterprise-netdisk .admin-users-table tbody td:nth-child(10) { grid-row: 5; grid-column: 1 / -1; padding-top: 3px !important; } body.enterprise-netdisk .admin-user-actions { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px !important; } body.enterprise-netdisk .admin-user-action-btn { width: 100%; min-width: 0; min-height: 32px; padding: 0 5px !important; justify-content: center; font-size: 10px !important; } body.enterprise-netdisk .admin-users-pagination { margin: 0 10px 8px; } /* The file page follows the same compact title scale. */ body.enterprise-netdisk .files-page-header { padding: 12px 14px 10px; gap: 8px; } body.enterprise-netdisk .files-page-header .workspace-page-heading h1 { font-size: 21px; } body.enterprise-netdisk .storage-meter-card { padding: 8px 10px 7px; } body.enterprise-netdisk .storage-meter-track { margin: 6px 0 4px; } } @media (max-width: 380px) { body.enterprise-netdisk .shares-page-head, body.enterprise-netdisk .settings-page-head { padding-inline: 11px; } body.enterprise-netdisk .share-resource-tabs, body.enterprise-netdisk .settings-tabs { padding-inline: 11px; } body.enterprise-netdisk .share-resource-card .share-toolbar { margin-inline: 11px; } body.enterprise-netdisk .share-filter-controls { gap: 4px; } body.enterprise-netdisk .share-resource-card .share-filter-controls select { padding-inline: 5px; font-size: 10px; } body.enterprise-netdisk .share-list-actions .btn { width: 28px; min-width: 28px; min-height: 28px; } }