.admin-page { min-height: 100vh; padding: 28px; background: var(--tiku-page); color: var(--tiku-text); } .admin-shell { display: flex; flex-direction: column; gap: 26px; } .admin-header { position: relative; overflow: hidden; padding: 30px; border-radius: 30px; background: linear-gradient(135deg, #1152d4, #3b82f6); box-shadow: var(--tiku-shadow-blue); } .admin-header::after { content: ""; position: absolute; right: -64px; bottom: -84px; width: 240px; height: 240px; border-radius: 999px; background: rgba(255, 255, 255, 0.14); } .admin-kicker, .admin-title, .admin-subtitle { position: relative; z-index: 1; display: block; } .admin-kicker { color: rgba(255, 255, 255, 0.8); font-size: 22px; font-weight: 850; } .admin-title { margin-top: 8px; color: #fff; font-size: 38px; font-weight: 920; line-height: 1.2; } .admin-subtitle { margin-top: 10px; color: rgba(255, 255, 255, 0.82); font-size: 24px; line-height: 1.45; } .admin-tabs, .admin-actions { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 6px; } .admin-actions.compact { flex-wrap: wrap; overflow-x: visible; } .admin-button, .admin-mini-button { border: 1px solid var(--tiku-border); background: #fff; color: var(--tiku-primary); font-weight: 820; } .admin-button { min-width: 132px; height: 62px; border-radius: 16px; font-size: 23px; line-height: 62px; } .admin-mini-button { min-width: 112px; height: 54px; border-radius: 14px; font-size: 21px; line-height: 54px; } .admin-button.primary, .admin-mini-button.primary { border-color: var(--tiku-primary); background: linear-gradient(135deg, var(--tiku-primary), #2563eb); color: #fff; box-shadow: 0 10px 20px rgba(17, 82, 212, 0.16); } .admin-button.active { border-color: var(--tiku-primary); background: var(--tiku-primary-soft); color: var(--tiku-primary); } .admin-mini-button.danger { border-color: #fecdd3; background: #fff1f2; color: #be123c; } .admin-section { margin-top: 4px; } .admin-section-title { display: block; margin-bottom: 14px; color: var(--tiku-text); font-size: 29px; font-weight: 900; } .admin-grid, .admin-metric-grid { display: grid; gap: 14px; } .admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .admin-grid.three, .admin-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .admin-metric-grid { gap: 12px; margin-bottom: 14px; } .admin-metric-grid.compact .admin-metric { min-height: 88px; padding: 14px; } .admin-metric { min-height: 112px; padding: 20px; border: 1px solid var(--tiku-border); border-radius: 24px; background: #fff; box-shadow: var(--tiku-shadow); } .admin-metric.theme-template { cursor: pointer; } .admin-metric.theme-template.selected { border-color: var(--tiku-primary); box-shadow: 0 0 0 2px #bfdbfe; } .admin-metric-label, .admin-row-meta, .admin-field-label { display: block; color: var(--tiku-muted); } .admin-metric-label { font-size: 21px; } .admin-metric-value { display: block; margin-top: 12px; color: var(--tiku-text); font-size: 31px; font-weight: 900; line-height: 1.2; } .admin-list { display: flex; flex-direction: column; gap: 12px; } .admin-row { padding: 20px; border: 1px solid var(--tiku-border); border-radius: 22px; background: #fff; box-shadow: 0 5px 16px rgba(15, 23, 42, 0.04); } .admin-row.active { border-color: var(--tiku-primary); background: var(--tiku-primary-soft); } .admin-module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .admin-module-card { position: relative; overflow: hidden; min-height: 170px; padding: 22px; border: 0; border-radius: 28px; background: linear-gradient(135deg, #1152d4, #38bdf8); box-shadow: 0 12px 24px rgba(17, 82, 212, 0.14); } .admin-module-card::after { content: ""; position: absolute; right: -28px; bottom: -44px; width: 130px; height: 130px; border-radius: 999px; background: rgba(255, 255, 255, 0.16); } .admin-module-card.module-students { background: linear-gradient(135deg, #10b981, #2dd4bf); } .admin-module-card.module-content { background: linear-gradient(135deg, #7c3aed, #a78bfa); } .admin-module-card.module-marketing { background: linear-gradient(135deg, #f97316, #fbbf24); } .admin-module-card.module-commerce { background: linear-gradient(135deg, #ec4899, #f472b6); } .admin-module-card.module-settings { background: linear-gradient(135deg, #334155, #64748b); } .admin-module-card .admin-row-main, .admin-module-card .admin-row-meta, .admin-module-label { position: relative; z-index: 1; } .admin-module-card .admin-row-main { margin-top: 30px; color: #fff; font-size: 30px; font-weight: 950; } .admin-module-card .admin-row-meta { color: rgba(255, 255, 255, 0.82); } .admin-module-label { display: block; color: rgba(255, 255, 255, 0.82); font-size: 20px; font-weight: 850; } .admin-row-main { display: block; color: var(--tiku-text); font-size: 26px; font-weight: 820; line-height: 1.35; } .admin-row-meta { margin-top: 8px; font-size: 21px; line-height: 1.45; } .admin-empty { padding: 32px 22px; border: 1px dashed var(--tiku-border-strong); border-radius: 22px; background: #fff; color: var(--tiku-muted); font-size: 23px; line-height: 1.45; } .admin-input, .admin-textarea { width: 100%; border: 1px solid var(--tiku-border); background: #fff; color: var(--tiku-text); } .admin-input { height: 66px; padding: 0 18px; border-radius: 16px; font-size: 24px; } .admin-input.compact { margin-top: 14px; height: 58px; font-size: 22px; } .admin-form-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 12px; } .admin-textarea { min-height: 220px; margin-top: 12px; padding: 18px; border-radius: 18px; font-size: 23px; line-height: 1.45; } .admin-row-actions { display: flex; gap: 10px; margin-top: 14px; overflow-x: auto; } .admin-sub-list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; padding: 12px; border-radius: 18px; background: #f8fafc; } .admin-sub-row { padding: 10px 12px; border: 1px solid var(--tiku-border); border-radius: 16px; background: #fff; } .admin-row.nested { margin-top: 14px; border-color: #bfdbfe; background: linear-gradient(135deg, #eff6ff, #fff); box-shadow: none; } .admin-error { display: block; margin-top: 12px; color: #be123c; font-size: 22px; } .theme-swatch-row { display: flex; gap: 10px; margin-bottom: 14px; } .theme-swatch { width: 54px; height: 54px; border: 1px solid var(--tiku-border); border-radius: 14px; } .theme-preview-panel { margin-top: 14px; overflow: hidden; border: 1px solid var(--tiku-border); border-radius: 22px; background: #fff; } .theme-preview-banner { min-height: 134px; padding: 22px; } .theme-preview-title { display: block; color: #fff; font-size: 30px; font-weight: 850; line-height: 1.25; } .theme-preview-subtitle { display: block; margin-top: 10px; color: rgba(255, 255, 255, 0.86); font-size: 22px; } .theme-preview-actions { display: flex; align-items: center; gap: 12px; padding: 16px 20px; } .theme-preview-pill { width: 88px; height: 34px; border-radius: 999px; } .break-line { word-break: break-all; overflow-wrap: anywhere; white-space: pre-wrap; } @media (min-width: 980px) { .admin-page { max-width: 1180px; margin: 0 auto; padding: 38px; } .admin-shell { gap: 30px; } .admin-header { padding: 38px; } .admin-title { font-size: 44px; } .admin-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .admin-grid.three, .admin-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .admin-module-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .admin-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 520px) { .admin-page { padding: 20px; } .admin-grid, .admin-grid.three, .admin-metric-grid, .admin-module-grid { grid-template-columns: minmax(0, 1fr); } .admin-title { font-size: 34px; } }