/* ── App Shell ──────────────────────────────────────────────────────────────── */ #app { display: flex; flex-direction: column; min-height: 100vh; } /* ── Topbar ─────────────────────────────────────────────────────────────────── */ #topbar { display: flex; align-items: center; gap: 16px; padding: 0 24px; height: 58px; background: var(--bg1); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 100; flex-shrink: 0; } .logo { font-family: var(--font-d); font-size: 17px; color: var(--gold); letter-spacing: 0.05em; white-space: nowrap; } .logo span { font-family: var(--font-b); font-size: 12px; color: var(--t3); margin-left: 8px; font-weight: 400; } /* ── Tabs ───────────────────────────────────────────────────────────────────── */ .tabs { display: flex; gap: 2px; margin-left: auto; } .tab { padding: 6px 16px; border: none; background: transparent; color: var(--t2); font-size: 15px; cursor: pointer; border-radius: var(--r); font-family: var(--font-b); transition: all 0.15s; border-bottom: 2px solid transparent; } .tab:hover { background: var(--bg3); color: var(--t1); } .tab.active { background: var(--bg3); color: var(--gold); border-bottom-color: var(--gold); } /* ── Main content ───────────────────────────────────────────────────────────── */ #main { flex: 1; padding: 24px; max-width: 1920px; margin: 0 auto; width: min(85%, calc(100% - 40px)); } /* ── Two-column panel layout (timeline + detail) ────────────────────────────── */ .panel-layout { display: grid; grid-template-columns: 1fr 360px; gap: 16px; align-items: start; } @media (max-width: 900px) { .panel-layout { grid-template-columns: 1fr; } } /* ── Form helpers ───────────────────────────────────────────────────────────── */ .form-row { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; } .fg { display: flex; flex-direction: column; gap: 5px; flex: 1; min-width: 120px; } .fg label { font-size: 13px; color: var(--t2); } /* ── Topbar user badge ───────────────────────────────────────────────────────── */ .topbar-user { font-size: 13px; color: var(--t2); white-space: nowrap; } .topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; } .topbar-link { color: var(--gold); font-size: 13px; text-decoration: none; border: 1px solid var(--borderem); border-radius: var(--r); padding: 5px 10px; background: var(--bg2); } .topbar-link:hover { background: var(--bg3); } /* ── Login Overlay ───────────────────────────────────────────────────────────── */ #login-overlay { position: fixed; inset: 0; background: var(--bg0); display: flex; align-items: center; justify-content: center; z-index: 999; padding: 20px; } .login-card { background: var(--bgcard); border: 1px solid var(--borderem); border-radius: var(--rl); padding: 48px 40px; max-width: 420px; width: 100%; text-align: center; } .login-logo { font-family: var(--font-d); font-size: 18px; color: var(--gold); letter-spacing: 0.06em; margin-bottom: 6px; } .login-logo span { display: block; font-family: var(--font-b); font-size: 11px; color: var(--t3); font-weight: 400; margin-top: 4px; letter-spacing: 0; } .login-desc { font-size: 13px; color: var(--t2); line-height: 1.7; margin: 24px 0 20px; } .btn-login { width: 100%; justify-content: center; padding: 11px 20px; font-size: 14px; font-family: var(--font-d); letter-spacing: 0.04em; text-decoration: none; } .login-hint { font-size: 11px; color: var(--t3); line-height: 1.6; margin-top: 16px; }