Files
vue-driven-cloud-storage/frontend/workspace.css
2026-08-03 22:21:09 +08:00

3400 lines
72 KiB
CSS

/*
* 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: 768px) {
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;
}
body.enterprise-netdisk .file-row-mobile-more {
width: 42px;
min-width: 42px;
min-height: 42px;
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;
}
}