:root { color-scheme: light dark; --bg: #08101d; --bg-soft: #0d1630; --panel: rgba(13, 22, 48, 0.82); --panel-strong: #142453; --text: #eff5ff; --muted: #9db1d3; --line: rgba(114, 178, 255, 0.16); --accent: #44e6e7; --accent-strong: #4a8cff; --accent-violet: #8d5bff; --shadow: 0 20px 56px rgba(2, 7, 18, 0.42); font-family: "Segoe UI", "SF Pro Text", "Helvetica Neue", sans-serif; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; color: var(--text); background: radial-gradient(circle at top left, rgba(68, 230, 231, 0.18), transparent 26%), radial-gradient(circle at top right, rgba(141, 91, 255, 0.16), transparent 24%), radial-gradient(circle at bottom right, rgba(74, 140, 255, 0.16), transparent 26%), linear-gradient(180deg, #07101c 0%, #0a1430 100%); } a { color: inherit; text-decoration: none; } button { font: inherit; } .shell { display: grid; grid-template-columns: 280px 1fr; min-height: 100vh; } .auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; } .auth-card { width: min(460px, 100%); display: grid; gap: 16px; padding: 28px; background: var(--panel); border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); backdrop-filter: blur(12px); } .auth-brand, .brand-block, .topbar-brand, .topbar-actions { display: flex; align-items: center; gap: 16px; } .auth-brand { align-items: flex-start; gap: 18px; } .auth-brand-copy { display: grid; gap: 8px; min-width: 0; } .auth-brand-copy h2 { margin: 0; line-height: 1.1; } .brand-block { align-items: flex-start; } .topbar-icon-wrap, .page-title-icon { display: grid; place-items: center; flex: 0 0 auto; color: var(--accent); border: 1px solid rgba(68, 230, 231, 0.18); background: radial-gradient(circle at top, rgba(68, 230, 231, 0.16), transparent 72%), rgba(10, 18, 32, 0.88); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02); } .brand-copy { display: grid; gap: 6px; } .brand-copy h1, .topbar-copy h2, .page-title-copy h3 { margin: 0; line-height: 1.08; } .brand-tagline { margin: 0; color: var(--muted); max-width: 220px; line-height: 1.5; } .brand-logo { display: block; height: auto; } .brand-logo-full { width: min(100%, 220px); } .auth-brand .brand-logo-full { width: 200px; flex: 0 0 auto; } .brand-logo-mark { width: 48px; border-radius: 14px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18); } .auth-card label { display: grid; gap: 8px; color: var(--muted); } .auth-card input { border: 1px solid var(--line); background: rgba(8, 14, 26, 0.86); color: var(--text); border-radius: 14px; padding: 14px 16px; } .auth-copy { margin: 0; color: var(--muted); } .sidebar { padding: 28px; border-right: 1px solid var(--line); background: linear-gradient(180deg, rgba(8, 15, 28, 0.96) 0%, rgba(7, 13, 25, 0.88) 100%); backdrop-filter: blur(18px); } .sidebar-brand { display: flex; align-items: center; } .sidebar-brand-logo { width: min(100%, 170px); height: auto; display: block; } .nav { display: grid; gap: 10px; margin-top: 28px; } .nav-link { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px 13px 16px; border-radius: 16px; border: 1px solid transparent; color: var(--muted); transition: 180ms ease; } .nav-link:hover, .nav-link.active { color: var(--text); border-color: rgba(68, 230, 231, 0.16); background: linear-gradient(135deg, rgba(68, 230, 231, 0.08), rgba(74, 140, 255, 0.08)); } .nav-link-copy { display: inline-flex; align-items: center; gap: 12px; min-width: 0; } .nav-link-icon, .nav-link-chevron { flex: 0 0 auto; } .nav-link:hover .nav-link-icon, .nav-link.active .nav-link-icon, .nav-link:hover .nav-link-chevron, .nav-link.active .nav-link-chevron { color: var(--accent); } .content { padding: 28px; } .topbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; } .topbar-copy { display: grid; gap: 6px; } .topbar-icon-wrap, .page-title-icon { width: 52px; height: 52px; border-radius: 18px; } .page { display: grid; gap: 22px; } .page-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 16px; } .page-title-block { display: flex; align-items: center; gap: 16px; } .page-title-copy { display: grid; gap: 6px; } .page-subtitle-block { grid-column: 1 / 2; padding-left: 68px; } .page-subtitle-block p { margin: 0; max-width: 760px; } .grid { display: grid; gap: 18px; } .grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); } .grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); } .card, .table-wrap { background: var(--panel); border: 1px solid var(--line); border-radius: 24px; padding: 22px; box-shadow: var(--shadow); backdrop-filter: blur(12px); } .table { width: 100%; border-collapse: collapse; } .table th, .table td { text-align: left; padding: 14px 10px; border-bottom: 1px solid var(--line); } .table tbody tr:last-child td { border-bottom: 0; } .inline-form { display: grid; gap: 12px; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: center; } .stacked-form { display: grid; gap: 14px; } .stacked-form input, .stacked-form select { width: 100%; border: 1px solid var(--line); background: rgba(8, 14, 26, 0.86); color: var(--text); border-radius: 14px; padding: 12px 14px; } .form-grid { display: grid; gap: 12px; } .form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); } .inline-form input, .inline-form select { width: 100%; border: 1px solid var(--line); background: rgba(8, 14, 26, 0.86); color: var(--text); border-radius: 14px; padding: 12px 14px; } .checkbox { display: inline-flex; align-items: center; gap: 10px; color: var(--muted); } .button, .pill { border: 0; padding: 11px 16px; border-radius: 999px; background: linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%); color: #04141a; font-weight: 700; } .ghost-button { border: 1px solid var(--line); padding: 11px 16px; border-radius: 999px; background: transparent; color: var(--text); } .pill { display: inline-flex; align-items: center; } .eyebrow { margin: 0 0 8px; color: var(--accent); text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.75rem; } .metric-label, .page-header p, .card p { color: var(--muted); } .metric-value { display: block; margin: 10px 0; font-size: 2rem; } .notice { margin: 0; color: #ffcf9b; } .code-block { overflow: auto; border-radius: 16px; padding: 16px; background: rgba(8, 14, 26, 0.92); border: 1px solid var(--line); white-space: pre-wrap; } .action-row { display: flex; gap: 12px; } .selection-panel { display: grid; gap: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: rgba(8, 14, 26, 0.56); } .selection-list { display: grid; gap: 10px; max-height: 260px; overflow: auto; } .selection-item { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 16px; background: rgba(8, 14, 26, 0.78); color: var(--text); cursor: pointer; transition: border-color 160ms ease, background 160ms ease, transform 160ms ease; } .selection-item:hover { border-color: rgba(116, 224, 184, 0.32); background: rgba(14, 22, 38, 0.96); } .selection-item input { margin: 0; } .selection-copy { display: grid; gap: 4px; min-width: 0; } .selection-title { font-weight: 600; color: var(--text); } .selection-meta { color: var(--muted); font-size: 0.92rem; line-height: 1.35; } .selection-item input:checked + .selection-copy .selection-title { color: var(--accent); } .modal-backdrop { position: fixed; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(2, 6, 15, 0.72); backdrop-filter: blur(10px); z-index: 50; } .modal-card { width: min(640px, 100%); max-height: calc(100vh - 48px); overflow: auto; display: grid; gap: 18px; padding: 24px; background: #111b30; border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); } .modal-header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; } @media (max-width: 960px) { .shell { grid-template-columns: 1fr; } .sidebar { border-right: 0; border-bottom: 1px solid var(--line); } .auth-brand, .brand-block, .topbar-brand, .topbar-actions, .page-header { align-items: flex-start; flex-direction: column; } .brand-logo-full { width: min(100%, 200px); } .grid.two, .grid.three { grid-template-columns: 1fr; } .inline-form { grid-template-columns: 1fr; } }