/* ملف التصميم - Emirates Global Style */

:root {
    /* Default Theme (Ashraf - Blue/Gold) */
    --bg-main: #0f172a;
    --bg-card: #1e293b;
    --gold: #d4af37;
    --text-main: #ffffff;
    --text-sub: #cbd5e1;
    --border: #334155;
    --success: #10b981;
    --danger: #ef4444;
    --nav-bg: #1e293b;
    --card-grad: linear-gradient(135deg, #1e3c72, #2a5298);
    --chip-grad: linear-gradient(135deg, #f1c40f, #f39c12);
}

/* VIP Theme (Ahmed - Black/Royal Gold) */
body.theme-vip {
    --bg-main: #000000;
    --bg-card: #111111;
    --gold: #ffdb4d;
    --text-main: #ffffff;
    --text-sub: #b0b0b0;
    --border: #333;
    --nav-bg: #050505;
    --card-grad: linear-gradient(135deg, #1c1c1c, #383838, #000000);
    --chip-grad: linear-gradient(135deg, #ffdb4d, #b8860b);
}

/* Diamond Theme (Qaid - Purple/Diamond) */
body.theme-diamond {
    --bg-main: #1a0b2e;
    --bg-card: #2d1b4e;
    --gold: #00d4ff; /* Neon Blue */
    --text-main: #ffffff;
    --text-sub: #e0aaff;
    --border: #5b3a99;
    --nav-bg: #130026;
    --card-grad: linear-gradient(135deg, #3c096c, #7b2cbf);
    --chip-grad: linear-gradient(135deg, #e0e0e0, #ffffff); /* Silver Chip */
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Tajawal', sans-serif; -webkit-tap-highlight-color: transparent; }

body {
    background-color: var(--bg-main);
    color: var(--text-main);
    height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: background 0.5s ease;
}

/* --- 1. LOGIN SCREEN --- */
#login-screen {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999;
    display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 20px;
    overflow: hidden;
}

.login-bg {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=80&w=1920&auto=format&fit=crop');
    background-size: cover; background-position: center;
    animation: zoomBg 40s infinite alternate; z-index: -2;
}
.login-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(5, 10, 20, 0.6); backdrop-filter: blur(8px); z-index: -1;
}

@keyframes zoomBg { from { transform: scale(1); } to { transform: scale(1.15); } }

.login-card {
    background: rgba(255, 255, 255, 0.07); 
    backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px);
    padding: 50px 35px; border-radius: 25px; width: 100%; max-width: 380px;
    border: 1px solid rgba(255, 255, 255, 0.15); 
    box-shadow: 0 30px 60px rgba(0,0,0,0.5), inset 0 0 20px rgba(255,255,255,0.05);
    text-align: center; position: relative; overflow: hidden;
}
.login-card::before {
    content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;
    background: linear-gradient(45deg, transparent, rgba(255,255,255,0.03), transparent);
    transform: rotate(45deg); animation: shine 6s infinite; pointer-events: none;
}
@keyframes shine { 0% { transform: translateX(-100%) rotate(45deg); } 100% { transform: translateX(100%) rotate(45deg); } }

.login-icon { font-size: 55px; color: var(--gold); margin-bottom: 20px; filter: drop-shadow(0 0 15px rgba(212, 175, 55, 0.4)); animation: float 4s ease-in-out infinite; }

.login-input {
    width: 100%; padding: 16px; background: rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.1);
    color: white; border-radius: 12px; font-size: 16px; margin: 25px 0; text-align: center; outline: none;
    transition: 0.3s;
}
.login-input:focus { border-color: var(--gold); background: rgba(0,0,0,0.5); box-shadow: 0 0 15px rgba(212, 175, 55, 0.1); }

.btn-gold {
    width: 100%; padding: 16px; background: linear-gradient(135deg, var(--gold), #b8860b); color: #000;
    font-weight: 800; border: none; border-radius: 12px; cursor: pointer; font-size: 16px;
    transition: 0.3s; box-shadow: 0 5px 20px rgba(0,0,0,0.3); position: relative; overflow: hidden;
}
.btn-gold:active { transform: scale(0.97); }

/* --- 2. Welcome Screen (Pro Upgrade) --- */
#welcome-screen {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9000;
    background: radial-gradient(circle at center, #1a1a1a 0%, #000000 100%);
    display: none; justify-content: center; align-items: center; flex-direction: column;
    overflow: hidden;
}

/* الخلفية المتحركة الخفيفة */
#welcome-screen::before {
    content: ''; position: absolute; width: 200%; height: 200%;
    background: url('https://www.transparenttextures.com/patterns/cubes.png');
    opacity: 0.05; animation: spin 100s linear infinite; pointer-events: none;
}

.welcome-content {
    position: relative; z-index: 2; text-align: center;
    display: flex; flex-direction: column; align-items: center;
}

.loader-ring-container {
    position: relative; width: 120px; height: 120px; margin-bottom: 30px;
    display: flex; justify-content: center; align-items: center;
}

.loader-ring {
    position: absolute; width: 100%; height: 100%; border-radius: 50%;
    border: 2px solid transparent; border-top-color: var(--gold); border-bottom-color: var(--gold);
    animation: spin 2s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite;
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.2);
}

.loader-ring-glow {
    position: absolute; width: 80%; height: 80%; border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.1);
    animation: spin 3s linear infinite reverse;
}

.welcome-logo {
    font-size: 45px; color: var(--gold);
    filter: drop-shadow(0 0 20px rgba(212, 175, 55, 0.6));
    animation: pulse 2s infinite ease-in-out;
}

.welcome-title {
    font-family: 'Reem Kufi', sans-serif; font-size: 28px; color: #fff;
    margin-bottom: 15px; opacity: 0; animation: fadeInUp 1s ease forwards 0.5s;
    letter-spacing: 1px;
}

.gold-text { color: var(--gold); text-shadow: 0 0 10px rgba(212, 175, 55, 0.4); }

.loading-bar-container {
    width: 200px; height: 4px; background: rgba(255,255,255,0.1);
    border-radius: 2px; overflow: hidden; margin-bottom: 10px;
    opacity: 0; animation: fadeInUp 1s ease forwards 0.8s;
}

.loading-bar {
    width: 0%; height: 100%; background: linear-gradient(90deg, transparent, var(--gold), transparent);
    animation: loadBar 2s ease-in-out forwards;
}

.welcome-status {
    font-size: 12px; color: var(--text-sub); font-family: 'Share Tech Mono', monospace;
    opacity: 0; animation: fadeInUp 1s ease forwards 1s; letter-spacing: 2px; text-transform: uppercase;
}

@keyframes loadBar { 0% { width: 0%; } 50% { width: 70%; } 100% { width: 100%; } }
.dots { animation: blink 1.5s infinite; }
@keyframes blink { 0%, 100% { opacity: 0; } 50% { opacity: 1; } }

/* --- 3. App Layout --- */
#app-screen { display: none; height: 100%; flex-direction: column; }

.stock-ticker { background: #000; color: #fff; padding: 8px 0; font-size: 12px; white-space: nowrap; overflow: hidden; border-bottom: 1px solid var(--gold); }
.ticker-wrap { display: inline-block; animation: scroll 30s linear infinite; }
.tick-item { display: inline-block; margin: 0 15px; font-family: 'Share Tech Mono'; }
.up { color: var(--success); } .down { color: var(--danger); }
@keyframes scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } }

.app-header {
    padding: 15px 20px; background: var(--bg-card); border-bottom: 1px solid var(--border);
    display: flex; justify-content: space-between; align-items: center;
}
.user-mini { display: flex; align-items: center; gap: 10px; }
.avatar { width: 45px; height: 45px; background: var(--gold); color: #000; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; border: 2px solid white; box-shadow: 0 0 10px rgba(255,255,255,0.2); }

.content-area { flex: 1; overflow-y: auto; padding: 20px; padding-bottom: 90px; }

/* --- HUB --- */
.market-pulse-card {
    background: var(--bg-card); padding: 20px; border-radius: 20px; margin-bottom: 20px;
    border: 1px solid var(--border); text-align: center; position: relative; overflow: hidden;
}
.market-pulse-card::after { content:''; position:absolute; top:0; left:0; width:100%; height:3px; background: linear-gradient(90deg, var(--success), var(--gold), var(--danger)); }
.pulse-main { font-size: 32px; font-weight: 800; color: var(--success); font-family: 'Share Tech Mono'; display: flex; align-items: center; justify-content: center; gap: 10px; transition: color 0.3s; }

.home-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.hub-card {
    background: var(--bg-card); padding: 25px 10px; border-radius: 15px; text-align: center;
    border: 1px solid var(--border); transition: 0.2s; cursor: pointer;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
}
.hub-card:active { transform: scale(0.95); border-color: var(--gold); }
.hub-icon { font-size: 30px; color: var(--gold); }
.hub-title { font-size: 13px; font-weight: bold; color: var(--text-main); }

/* --- Bank Card (FIXED 3D FLIP) --- */
.card-perspective {
    perspective: 1200px;
    width: 100%;
    height: 220px;
    margin-bottom: 25px;
    cursor: pointer;
}

.credit-card {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.card-perspective:hover .credit-card, 
.credit-card.flipped {
    transform: rotateY(180deg);
}

.card-face {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    border-radius: 20px;
    background: var(--card-grad);
    -webkit-backface-visibility: hidden; 
    backface-visibility: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
    border: 1px solid rgba(255,255,255,0.15);
    overflow: hidden;
}

.card-front {
    z-index: 2;
    display: flex; flex-direction: column; justify-content: space-between; padding: 25px;
    transform: rotateY(0deg);
}
.card-front::before {
    content: ''; position: absolute; top:0; left:0; width:100%; height:100%;
    background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
    opacity: 0.3; z-index: 0;
}

.card-back {
    transform: rotateY(180deg);
    z-index: 1;
    padding: 0;
    display: flex; flex-direction: column;
    background: var(--card-grad);
}

.magnetic-strip {
    background: #1a1a1a;
    width: 100%;
    height: 40px;
    margin-top: 30px;
}

.signature-row {
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
}

.signature-box {
    background: repeating-linear-gradient(45deg, #ddd, #ddd 5px, #fff 5px, #fff 10px);
    width: 70%;
    height: 40px;
    display: flex;
    align-items: center;
    padding-right: 10px;
    color: #333;
    font-size: 10px;
    border-radius: 4px;
}

.cvv-box {
    background: #fff;
    color: #000;
    width: 60px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Share Tech Mono', monospace;
    font-size: 18px;
    font-weight: bold;
    border-radius: 4px;
    margin-right: 10px;
    box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
    position: relative;
}
.cvv-label {
    position: absolute;
    top: -15px;
    right: 0;
    font-size: 10px;
    color: white;
    font-weight: bold;
}

.card-back-text {
    padding: 0 20px;
    font-size: 8px;
    color: rgba(255,255,255,0.6);
    margin-top: auto;
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.4;
}

.hologram-back {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.8), rgba(255,255,255,0.1));
    position: absolute;
    bottom: 20px;
    left: 20px;
    opacity: 0.6;
}

/* Shared Card Elements */
.card-top { display: flex; justify-content: space-between; align-items: flex-start; z-index: 2; position: relative; }
.card-chip-container { display: flex; align-items: center; gap: 15px; }
.emv-chip {
    width: 50px; height: 38px; border-radius: 6px;
    background: var(--chip-grad);
    position: relative; border: 1px solid rgba(0,0,0,0.1);
    box-shadow: inset 0 1px 3px rgba(255,255,255,0.4), 0 2px 4px rgba(0,0,0,0.2);
}
.emv-chip::before { content: ''; position: absolute; top: 18px; left: 0; width: 100%; height: 1px; background: rgba(0,0,0,0.3); }
.emv-chip::after { content: ''; position: absolute; top: 0; left: 24px; width: 1px; height: 100%; background: rgba(0,0,0,0.3); }
.contactless { font-size: 24px; color: rgba(255,255,255,0.6); transform: rotate(90deg); }

.card-logo { text-align: right; color: white; text-shadow: 0 2px 4px rgba(0,0,0,0.5); }
.card-logo i { font-size: 32px; }
.card-logo div { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; margin-top: 3px; }

.card-number {
    font-family: 'Share Tech Mono', monospace; font-size: 24px; letter-spacing: 3px;
    color: white; text-shadow: 0 2px 3px rgba(0,0,0,0.6); z-index: 2; margin-top: 10px; position: relative;
}

.card-bottom { display: flex; justify-content: space-between; align-items: flex-end; z-index: 2; color: rgba(255,255,255,0.9); position: relative; }
.card-holder-label { font-size: 9px; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 2px; }
.card-holder-name { font-size: 14px; text-transform: uppercase; font-weight: 600; letter-spacing: 1px; }

/* --- Other Sections --- */
.bank-info-box { background: var(--bg-card); padding: 15px; border-radius: 15px; border: 1px solid var(--border); margin-bottom: 15px; }
.bank-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
.eye-btn { background: none; border: none; color: var(--gold); cursor: pointer; }
.apple-pay-btn { width: 100%; background-color: #000; color: #fff; padding: 14px; border-radius: 10px; border: 1px solid #333; font-size: 16px; font-weight: 600; display: flex; align-items: center; justify-content: center; gap: 12px; cursor: pointer; }

/* Investment */
.chart-box { background: var(--bg-card); border-radius: 15px; border: 1px solid var(--border); padding: 10px; height: 250px; position: relative; overflow: hidden; margin-bottom: 20px; }
canvas#stockChart { width: 100%; height: 100%; }
.portfolio-info { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 20px; }
.info-card { background: rgba(255,255,255,0.05); padding: 15px; border-radius: 10px; border: 1px solid var(--border); text-align: center; }
.info-label { font-size: 11px; color: var(--text-sub); margin-bottom: 5px; }
.info-val { font-family: 'Share Tech Mono'; font-size: 20px; font-weight: bold; color: var(--gold); }

/* Profile Tabs */
.profile-tabs { display: flex; gap: 5px; margin-bottom: 20px; }
.p-tab { flex: 1; padding: 12px 5px; background: rgba(255,255,255,0.05); border: 1px solid var(--border); color: var(--text-sub); border-radius: 10px; cursor: pointer; transition: 0.3s; font-size: 12px; font-weight: bold; }
.p-tab.active { background: var(--gold); color: #000; border-color: var(--gold); }

/* Document List Items */
.contract-item { background: var(--bg-card); border: 1px solid var(--border); padding: 15px; border-radius: 10px; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; }
.c-icon { width: 40px; height: 40px; background: rgba(212, 175, 55, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--gold); }
.c-info { flex: 1; margin: 0 15px; }
.btn-icon { background: none; border: 1px solid var(--border); color: var(--text-sub); width: 32px; height: 32px; border-radius: 8px; cursor: pointer; }

/* Document View Modal */
.doc-modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.95);
    z-index: 5000; display: none; justify-content: center; align-items: center; padding: 20px;
}
.doc-paper {
    background: #fff; color: #000; width: 100%; max-width: 500px; height: 80vh; overflow-y: auto;
    border-radius: 5px; padding: 30px; position: relative;
    box-shadow: 0 0 50px rgba(255,255,255,0.1); font-family: 'Times New Roman', serif;
}
.paper-header { text-align: center; border-bottom: 2px double #000; padding-bottom: 15px; margin-bottom: 20px; }
.paper-title { text-align: center; font-weight: bold; font-size: 20px; text-decoration: underline; margin-bottom: 20px; }
.paper-body { text-align: justify; line-height: 1.8; font-size: 14px; }
.paper-close {
    position: absolute; top: 10px; right: 10px; background: #c0392b; color: white; border: none;
    width: 30px; height: 30px; border-radius: 50%; font-weight: bold; cursor: pointer; z-index: 10;
}
.doc-foot { margin-top: 40px; display: flex; justify-content: space-between; align-items: flex-end; }
.stamp-red { width: 80px; height: 80px; border: 3px double red; border-radius: 50%; color: red; display: flex; align-items: center; justify-content: center; font-weight: bold; transform: rotate(-15deg); opacity: 0.8; font-size: 10px; }

/* View Sections */
.view-section { display: none; animation: slideIn 0.3s ease; }
.view-section.active { display: block; }

/* Booking */
.booking-form { background: var(--bg-card); padding: 20px; border-radius: 15px; border: 1px solid var(--border); }
.form-label { display: block; font-size: 13px; color: var(--text-sub); margin-bottom: 8px; margin-top: 15px; }
.form-input { width: 100%; padding: 12px; background: rgba(0,0,0,0.3); border: 1px solid var(--border); color: white; border-radius: 8px; outline: none; }
select.form-input { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: left 10px center; background-size: 20px; }
.booking-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 10px; }
.day-card { padding: 10px; border-radius: 8px; text-align: center; border: 1px solid transparent; cursor: pointer; background: rgba(255,255,255,0.05); font-size: 12px; }
.day-full { border-color: var(--danger); color: var(--danger); opacity: 0.6; pointer-events: none; }
.day-open { border-color: var(--success); color: var(--success); background: rgba(16, 185, 129, 0.1); }
.day-card.selected { background: var(--gold); border-color: var(--gold); color: #000; font-weight: bold; }
.active-ticket { background: linear-gradient(135deg, #065f46, #047857); padding: 20px; border-radius: 15px; text-align: center; border: 1px solid #34d399; margin-bottom: 20px; color: white; }
.scanner-container { width: 180px; height: 180px; margin: 20px auto; position: relative; display: flex; justify-content: center; align-items: center; background: white; border-radius: 15px; padding: 5px; }
.scanner-container img { width: 100%; height: 100%; z-index: 2; }
.scanner-container::before { content: ''; position: absolute; top: -5px; left: -5px; right: -5px; bottom: -5px; border-radius: 20px; background: conic-gradient(transparent, transparent, transparent, #00ff00); animation: spin 2s linear infinite; z-index: 1; }
.scanner-container::after { content: ''; position: absolute; top: 2px; left: 2px; right: 2px; bottom: 2px; background: white; border-radius: 13px; z-index: 1; }

/* Bottom Nav */
.bottom-nav { position: fixed; bottom: 0; left: 0; width: 100%; height: 80px; background: var(--nav-bg); border-top: 1px solid var(--border); display: flex; justify-content: space-around; align-items: center; z-index: 1000; padding-bottom: 10px; }
.nav-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--text-sub); font-size: 10px; width: 20%; transition: 0.3s; }
.nav-btn i { font-size: 22px; margin-bottom: 5px; transition: 0.3s; }
.nav-btn.active { color: var(--gold); }
.nav-btn.active i { transform: translateY(-5px); text-shadow: 0 5px 15px rgba(212, 175, 55, 0.5); }

/* Modals & Sheets */
.modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.9); z-index: 2000; display: none; justify-content: center; align-items: flex-end; }
.bottom-sheet { background: var(--bg-card); width: 100%; padding: 30px 20px; border-radius: 25px 25px 0 0; border-top: 1px solid var(--gold); animation: slideUp 0.3s; color: var(--text-main); max-height: 85vh; overflow-y: auto; }
.popup-box { background: var(--bg-card); padding: 30px; border-radius: 15px; border: 1px solid var(--gold); width: 90%; max-width: 350px; text-align: center; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); display: none; z-index: 3000; box-shadow: 0 0 30px rgba(0,0,0,0.8); color: var(--text-main); }
.btn-confirm { width: 100%; padding: 15px; background: var(--gold); color: #000; border: none; border-radius: 10px; font-weight: bold; margin-top: 15px; cursor: pointer; font-size: 16px; }
.btn-cancel { width: 100%; padding: 15px; background: rgba(255,255,255,0.1); color: var(--text-main); border: none; border-radius: 10px; font-weight: bold; margin-top: 10px; cursor: pointer; }
.sheet-row { display: flex; justify-content: space-between; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,0.1); }

/* --- Admin Panel (Pro Design) --- */
#admin-panel {
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.95); z-index: 9999;
    backdrop-filter: blur(10px);
    justify-content: center; align-items: center;
    padding: 20px;
}

/* في حالة الدخول كأدمن، نجعل العرض flex ليتوسط الشاشة */
#admin-panel[style*="block"] { display: flex !important; }

.admin-card-container {
    background: #1e1e1e; width: 100%; max-width: 500px;
    border-radius: 20px; border: 1px solid var(--gold);
    box-shadow: 0 0 50px rgba(212, 175, 55, 0.1); overflow: hidden;
    animation: slideUp 0.4s ease;
}

.admin-header {
    background: linear-gradient(90deg, #111, #222);
    padding: 20px; border-bottom: 1px solid #333;
    display: flex; justify-content: space-between; align-items: center;
}
.admin-header h3 { color: var(--gold); margin: 0; display: flex; align-items: center; gap: 10px; }

.close-admin-btn {
    background: rgba(255, 255, 255, 0.1); color: #fff; border: none;
    padding: 8px 15px; border-radius: 20px; cursor: pointer; transition: 0.3s;
}
.close-admin-btn:hover { background: var(--danger); }

.admin-body { padding: 25px; }

.admin-section { margin-bottom: 15px; }
.admin-label { display: block; color: var(--text-sub); margin-bottom: 8px; font-size: 12px; }

.admin-input {
    width: 100%; padding: 12px; background: #000; border: 1px solid #333;
    color: #fff; border-radius: 8px; outline: none; transition: 0.3s;
}
.admin-input:focus { border-color: var(--gold); box-shadow: 0 0 10px rgba(212, 175, 55, 0.2); }

.admin-row { display: flex; gap: 15px; }
.half { flex: 1; }

.btn-admin {
    width: 100%; padding: 12px; border: none; border-radius: 8px;
    font-weight: bold; cursor: pointer; margin-top: 5px; color: #000;
}
.btn-admin.save { background: var(--success); color: white; }
.btn-admin.send { background: var(--gold); }

.divider { height: 1px; background: #333; margin: 20px 0; }

/* Animations */
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes pulse { 0% { opacity: 0.8; } 50% { opacity: 1; } 100% { opacity: 0.8; } }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes slideIn { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
@keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
.anim-beat { animation: pulse 2s infinite; }
.anim-float { animation: float 3s ease-in-out infinite; }