body {
    font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;
    background-color: #eef2f8;
    background-image: linear-gradient(rgba(148, 163, 184, 0.16) 1px, transparent 1px), linear-gradient(90deg, rgba(148, 163, 184, 0.16) 1px, transparent 1px);
    background-size: 24px 24px;
    color: #0f172a;
}

.desktop-container,
.mobile-container {
    position: relative;
}

.desktop-header,
.mobile-header {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border: 2px solid #0f172a;
    box-shadow: 8px 8px 0 rgba(15, 23, 42, 0.14);
}

.desktop-header h1,
.mobile-header h1,
.section-title,
.portal-panel h2,
.hero-copy h2,
.app-detail-header h2,
.auth-card h3,
.desktop-sidebar h3 {
    letter-spacing: 0.02em;
}

.desktop-header .tagline,
.mobile-header .tagline {
    color: #cbd5e1;
}

.top-links a,
.top-user,
.mobile-user,
.mobile-quick-links a,
.back-btn,
.action-btn,
.portal-button,
.download-btn,
.pager a,
.category-tag,
.section-chip span,
.draft-link,
.section-admin-row,
.portal-badge,
.status-draft,
.status-pending,
.status-approved {
    border-radius: 0 !important;
}

.top-links a,
.mobile-quick-links a,
.back-btn,
.action-btn,
.portal-button,
.download-btn,
.pager a,
.category-tag,
.draft-link,
.section-admin-row {
    border: 2px solid #0f172a;
    box-shadow: 4px 4px 0 rgba(15, 23, 42, 0.1);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.top-links a:hover,
.mobile-quick-links a:hover,
.back-btn:hover,
.action-btn:hover,
.portal-button:hover,
.download-btn:hover,
.pager a:hover,
.category-tag:hover,
.draft-link:hover,
.section-admin-row:hover {
    transform: translate(-2px, -2px);
    box-shadow: 6px 6px 0 rgba(15, 23, 42, 0.12);
}

.desktop-sidebar,
.desktop-content,
.portal-panel,
.portal-hero,
.mobile-portal-overview,
.app-detail,
.auth-card,
.stat-card,
.app-card,
.upload-dropzone,
.upload-preview,
.section-chip,
.portal-table,
.search-box input,
.mobile-search input,
.portal-form input,
.portal-form textarea,
.portal-form select {
    border-radius: 0 !important;
}

.desktop-sidebar,
.desktop-content,
.portal-panel,
.portal-hero,
.mobile-portal-overview,
.app-detail,
.auth-card,
.stat-card,
.app-card,
.upload-dropzone,
.upload-preview,
.portal-table {
    border: 2px solid #0f172a;
    box-shadow: 8px 8px 0 rgba(15, 23, 42, 0.08);
}

.desktop-sidebar,
.desktop-content,
.portal-panel,
.portal-hero,
.mobile-portal-overview,
.app-detail,
.app-card,
.auth-card {
    background: rgba(255, 255, 255, 0.96);
}

.desktop-main,
.mobile-content,
.portal-columns,
.auth-grid,
.app-grid,
.app-list,
.stats-row,
.portal-actions {
    gap: 16px;
}

.desktop-sidebar h3,
.section-title,
.portal-panel h2,
.hero-copy h2,
.auth-card h3,
.app-detail-content h3 {
    color: #0f172a;
}

.desktop-sidebar h3,
.section-title {
    border-bottom: 2px solid #0f172a;
    padding-bottom: 10px;
}

.search-box input,
.mobile-search input,
.portal-form input,
.portal-form textarea,
.portal-form select {
    border: 2px solid #cbd5e1;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
    background: #fff;
}

.search-box input:focus,
.mobile-search input:focus,
.portal-form input:focus,
.portal-form textarea:focus,
.portal-form select:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
}

.desktop-sidebar,
.portal-panel,
.portal-hero,
.mobile-portal-overview,
.app-detail,
.auth-card,
.upload-preview {
    position: relative;
    overflow: hidden;
}

.desktop-sidebar::before,
.portal-panel::before,
.portal-hero::before,
.mobile-portal-overview::before,
.app-detail::before,
.auth-card::before,
.upload-preview::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #2563eb 0%, #60a5fa 65%, #f59e0b 100%);
}

.desktop-content {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

.portal-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
}

.hero-copy p,
.panel-desc,
.portal-note,
.portal-empty,
.tips-list li,
.portal-list li,
.app-card .summary,
.app-detail-content p,
.portal-table td,
.portal-table th {
    color: #475569;
}

.top-links a,
.back-btn,
.secondary-btn,
.mobile-quick-links a,
.pager a,
.category-tag,
.draft-link {
    background: #fff;
    color: #0f172a;
}

.top-user,
.mobile-user {
    background: #1d4ed8;
    border: 2px solid #0f172a;
    box-shadow: 4px 4px 0 rgba(15, 23, 42, 0.12);
}

.portal-button,
.primary-btn,
.download-btn,
.category-list li.active,
.category-tag.active,
.pager a.active {
    background: #2563eb !important;
    color: #fff !important;
    border-color: #0f172a;
}

.secondary-btn {
    background: #fff7ed;
    color: #9a3412;
    border-color: #9a3412;
}

.secondary-btn:hover {
    background: #ea580c;
    color: #fff;
}

.desktop-sidebar,
.portal-panel,
.auth-card,
.upload-dropzone,
.upload-preview,
.section-chip,
.section-admin-row,
.mobile-search,
.mobile-categories,
.mobile-quick-links,
.app-card,
.app-detail,
.mobile-portal-overview {
    background: #fff;
}
