/* === Reset & Base === */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: #0f0f13; color: #e0e0e0; min-height: 100vh; }
a { color: #6c8cff; text-decoration: none; }
a:hover { color: #8aa4ff; }

/* === Navbar === */
.navbar { background: #1a1a24; border-bottom: 1px solid #2a2a38; padding: 0 24px; position: sticky; top: 0; z-index: 100; }
.nav-inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; height: 56px; gap: 40px; }
.logo { font-size: 22px; font-weight: 800; color: #fff !important; letter-spacing: -0.5px; }
.nav-links { display: flex; gap: 20px; }
.nav-links a { color: #888; font-size: 14px; padding: 4px 0; border-bottom: 2px solid transparent; }
.nav-links a:hover, .nav-links a.active { color: #fff; border-bottom-color: #6c8cff; }

/* === Container === */
.container { max-width: 1100px; margin: 0 auto; padding: 40px 24px; min-height: calc(100vh - 56px - 60px); }

/* === Hero === */
.hero { text-align: center; padding: 80px 0 60px; }
.hero h1 { font-size: 48px; font-weight: 800; background: linear-gradient(135deg, #6c8cff, #a855f7); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 12px; }
.subtitle { font-size: 18px; color: #888; margin-bottom: 32px; }
.hero-btns { display: flex; gap: 16px; justify-content: center; }

/* === Buttons === */
.btn { display: inline-block; padding: 12px 28px; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; border: none; transition: all .2s; }
.btn-primary { background: #6c8cff; color: #fff !important; }
.btn-primary:hover { background: #5a7ae8; transform: translateY(-1px); }
.btn-secondary { background: #2a2a38; color: #e0e0e0 !important; border: 1px solid #3a3a48; }
.btn-secondary:hover { background: #3a3a48; }

/* === Features === */
.features { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; margin: 40px 0; }
.feature-card { background: #1a1a24; border: 1px solid #2a2a38; border-radius: 12px; padding: 28px; }
.feature-card h3 { font-size: 18px; margin-bottom: 8px; }
.feature-card p { color: #888; font-size: 14px; line-height: 1.6; }

/* === Page Header === */
.page-header { text-align: center; padding: 40px 0; }
.page-header h1 { font-size: 36px; }
.page-header p { color: #888; margin-top: 8px; }

/* === Download === */
.download-list { display: flex; flex-direction: column; gap: 24px; }
.download-card { background: #1a1a24; border: 1px solid #2a2a38; border-radius: 12px; padding: 32px; }
.download-card h2 { font-size: 20px; margin-bottom: 8px; }
.download-card p { color: #888; font-size: 14px; margin-bottom: 16px; }
.dl-btns { display: flex; gap: 12px; }
.note { font-size: 12px; color: #666; margin-top: 12px !important; }

/* === Pricing === */
.plans-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; margin: 40px 0; }
.plan-card { background: #1a1a24; border: 1px solid #2a2a38; border-radius: 12px; padding: 32px; text-align: center; position: relative; }
.plan-card.featured { border-color: #6c8cff; box-shadow: 0 0 20px rgba(108,140,255,.15); }
.plan-card h2 { font-size: 20px; margin-bottom: 16px; }
.price { margin-bottom: 20px; }
.amount { font-size: 36px; font-weight: 800; color: #fff; }
.discount { font-size: 16px; color: #888; text-decoration: line-through; margin-left: 8px; }
.plan-features { list-style: none; text-align: left; margin-bottom: 24px; }
.plan-features li { padding: 6px 0; font-size: 14px; color: #aaa; }

/* === Admin Layout === */
.admin-body { background: #0f0f13; }
.admin-layout { display: flex; min-height: 100vh; }
.sidebar { width: 220px; background: #1a1a24; border-right: 1px solid #2a2a38; padding: 24px 16px; }
.sidebar h2 { font-size: 16px; color: #fff; margin-bottom: 24px; }
.sidebar nav { display: flex; flex-direction: column; gap: 4px; }
.sidebar nav a { display: block; padding: 10px 12px; border-radius: 8px; color: #888; font-size: 14px; }
.sidebar nav a:hover, .sidebar nav a.active { background: #2a2a38; color: #fff; }
.admin-content { flex: 1; padding: 32px; }
.admin-header { margin-bottom: 24px; }
.admin-header h1 { font-size: 24px; }
.admin-header p { color: #888; }
.admin-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.admin-card { background: #1a1a24; border: 1px solid #2a2a38; border-radius: 12px; padding: 20px; }
.card-number { font-size: 32px; font-weight: 800; color: #6c8cff; }

/* === Tables === */
.admin-table { width: 100%; border-collapse: collapse; background: #1a1a24; border-radius: 12px; overflow: hidden; }
.admin-table th { background: #2a2a38; padding: 12px 16px; text-align: left; font-size: 13px; color: #888; }
.admin-table td { padding: 10px 16px; border-top: 1px solid #2a2a38; font-size: 14px; }
.admin-table code { background: #2a2a38; padding: 2px 6px; border-radius: 4px; font-size: 12px; }

/* === Form === */
.field { margin-bottom: 16px; }
.field label { display: block; margin-bottom: 6px; font-size: 14px; color: #aaa; }
.field input { width: 100%; padding: 10px 14px; background: #1a1a24; border: 1px solid #2a2a38; border-radius: 8px; color: #fff; font-size: 14px; }
.field input:focus { outline: none; border-color: #6c8cff; }
.sm-input { padding: 6px 8px; background: #1a1a24; border: 1px solid #3a3a48; border-radius: 6px; color: #fff; font-size: 13px; }
.btn-sm { padding: 6px 14px; background: #6c8cff; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-size: 13px; }
.btn-sm-secondary { background: #3a3a48; }

/* === Toggle === */
.toggle { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #888; }

/* === Login === */
.login-box { max-width: 400px; margin: 120px auto; text-align: center; }
.login-box h1 { margin-bottom: 32px; }
.login-box form { background: #1a1a24; border: 1px solid #2a2a38; border-radius: 12px; padding: 32px; text-align: left; }
.login-box button { width: 100%; padding: 12px; margin-top: 8px; }

/* === Messages === */
.msg { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }
.msg.error { background: rgba(255,80,80,.15); border: 1px solid rgba(255,80,80,.3); color: #ff6060; }
.msg.success { background: rgba(80,200,120,.15); border: 1px solid rgba(80,200,120,.3); color: #50c878; }

/* === Footer === */
footer { text-align: center; padding: 20px; color: #555; font-size: 13px; }
