*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;min-height:100%;background:#0f0c29}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;color:rgba(255,255,255,0.92);overflow-x:hidden}

:root{
  --primary:#a78bfa;--primary-hover:#7c3aed;--primary-rgb:167,139,250;
  --accent:#60a5fa;--accent2:#34d399;--danger:#ef5350;--warning:#fbbf24;
  --text:rgba(255,255,255,0.92);--text-muted:rgba(255,255,255,0.42);
  --glass-bg:rgba(255,255,255,0.09);--glass-border:rgba(255,255,255,0.16);
  --glass-shadow:0 0 0 1px rgba(167,139,250,0.18),0 12px 48px rgba(109,40,217,0.28),0 2px 8px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.13);
  --sub-bg:rgba(255,255,255,0.06);--border:rgba(255,255,255,0.12)
}

/* Background */
.app-bg{min-height:100vh;background:linear-gradient(135deg,#0f0c29 0%,#1a0533 40%,#0d1a3a 70%,#0f0c29 100%);position:relative}

/* Canvas */
#bgCanvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}

#app{position:relative;z-index:20;width:100%}

/* Header */
#header{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,0.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);padding:12px 24px;position:sticky;top:0;z-index:100}
#header .logo{font-size:20px;font-weight:800;letter-spacing:-0.5px;cursor:pointer;background:linear-gradient(90deg,#a78bfa,#f472b6,#60a5fa,#34d399);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:rainbow 4s linear infinite;filter:drop-shadow(0 0 12px rgba(167,139,250,0.5))}
@keyframes rainbow{0%{background-position:0 50%}100%{background-position:300% 50%}}
.header-right{display:flex;gap:8px;align-items:center}

/* Container */
.container{max-width:900px;margin:24px auto;padding:0 16px;position:relative;z-index:20}
#page-admin .container{max-width:1350px}

/* Cards - Glassmorphism */
.card{background:var(--glass-bg);backdrop-filter:blur(12px) saturate(1.5);-webkit-backdrop-filter:blur(12px) saturate(1.5);border:1px solid var(--glass-border);border-radius:20px;padding:22px;margin-bottom:16px;box-shadow:var(--glass-shadow);position:relative;overflow:hidden;transition:border-color 0.3s,box-shadow 0.3s,transform 0.3s}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:48%;background:linear-gradient(180deg,rgba(255,255,255,0.065) 0%,transparent 100%);pointer-events:none;border-radius:20px 20px 0 0}
.card:hover{border-color:rgba(255,255,255,0.22);transform:translateY(-2px);box-shadow:0 0 0 1px rgba(167,139,250,0.25),0 16px 52px rgba(109,40,217,0.32),0 2px 8px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.13)}
.card-header{padding:0 0 16px 0;border-bottom:1px solid rgba(255,255,255,0.08);margin-bottom:16px;position:relative;z-index:1}
.card-header h3{font-size:16px;font-weight:700;color:#fff}
.card-body{padding:0;position:relative;z-index:1;color:var(--text)}
.card-desc{color:var(--text-muted);font-size:14px;line-height:1.6;margin-bottom:20px}

/* Domain Card */
.domain-card{background:rgba(167,139,250,0.08);border:1px solid rgba(167,139,250,0.20)}
.domain-card .card-header h3{color:var(--primary)}
.domain-selection{background:var(--sub-bg);padding:20px;border-radius:12px;margin:12px 0;border:1px solid var(--border)}

/* Buttons */
.btn{padding:10px 24px;border:none;border-radius:10px;font-size:14px;cursor:pointer;transition:all 0.3s;font-weight:600}
.btn-primary{background:linear-gradient(135deg,#6d28d9,#3b82f6);color:#fff;box-shadow:0 4px 20px rgba(109,40,217,0.45)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(109,40,217,0.60)}
.btn-outline{background:rgba(255,255,255,0.09);color:rgba(255,255,255,0.72);border:1px solid rgba(255,255,255,0.17);backdrop-filter:blur(8px)}
.btn-outline:hover{background:rgba(167,139,250,0.22);border-color:rgba(167,139,250,0.48);color:#c4b5fd}
.btn-danger{background:rgba(239,83,80,0.85);color:#fff;box-shadow:0 4px 15px rgba(239,83,80,0.35)}
.btn-sm{padding:6px 14px;font-size:12px;border-radius:8px}
.btn-block{width:100%}
.btn:disabled{opacity:0.5;cursor:not-allowed}
.btn-warning{background:rgba(245,158,11,0.15);color:var(--warning);border:1px solid rgba(245,158,11,0.25);backdrop-filter:blur(8px)}
.btn-info{background:rgba(167,139,250,0.12);color:var(--primary);border:1px solid rgba(167,139,250,0.2)}
.btn-success{background:rgba(52,211,153,0.15);color:var(--accent2);border:1px solid rgba(52,211,153,0.2)}

/* Forms */
.form-group{margin-bottom:16px}
.form-label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--text)}
.form-input{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:10px;font-size:14px;outline:none;transition:border-color 0.3s,box-shadow 0.3s;background:rgba(255,255,255,0.06);color:var(--text);font-family:inherit}
.form-input:focus{border-color:rgba(167,139,250,0.6);box-shadow:0 0 0 3px rgba(167,139,250,0.15)}
.form-control{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:10px;font-size:14px;background:rgba(255,255,255,0.06);color:var(--text)}

/* Auth */
.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100vw;position:relative;z-index:20}
.auth-card{background:var(--glass-bg);backdrop-filter:blur(12px) saturate(1.5);-webkit-backdrop-filter:blur(12px) saturate(1.5);border:1px solid var(--glass-border);border-radius:20px;padding:40px;width:420px;max-width:90%;box-shadow:var(--glass-shadow)}
.auth-title{text-align:center;font-size:24px;font-weight:800;color:#fff;margin-bottom:8px}
.auth-subtitle{text-align:center;font-size:13px;color:var(--text-muted);margin-bottom:24px}
.auth-footer{text-align:center;margin-top:16px;font-size:13px;color:var(--text-muted)}
.auth-footer a{color:var(--primary);cursor:pointer;text-decoration:none}

/* Domain List */
.domain-list{display:grid;gap:8px}
.domain-item{padding:14px 16px;background:var(--sub-bg);border-radius:12px;border:1px solid var(--border);color:var(--text);transition:border-color 0.2s,background 0.2s}
.domain-item:hover{background:rgba(167,139,250,0.08);border-color:rgba(167,139,250,0.22)}
.domain-item .domain-name{font-weight:700;color:var(--primary);font-size:15px}
.domain-item .domain-info{color:var(--text-muted);font-size:12px}
.my-domains h4{font-size:14px;color:var(--text-muted);margin-bottom:12px;font-weight:600}

/* Order List */
.order-list{display:grid;gap:8px}
.order-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:12px;border:1px solid var(--border);background:var(--sub-bg);color:var(--text)}
.order-item .order-name{font-weight:600;color:#fff}
.order-item .order-meta{font-size:12px;color:var(--text-muted)}

/* Badges / Tags */
.badge{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap}
.badge-active{background:rgba(52,211,153,0.15);color:#34d399;border:1px solid rgba(52,211,153,0.3)}
.badge-disabled,.badge-sold{background:rgba(239,83,80,0.15);color:#ef5350;border:1px solid rgba(239,83,80,0.25)}
.badge-pending,.badge-warning{background:rgba(245,158,11,0.15);color:#fbbf24;border:1px solid rgba(245,158,11,0.25)}
.badge-paid,.badge-available{background:rgba(52,211,153,0.15);color:#34d399;border:1px solid rgba(52,211,153,0.3)}
.badge-info{background:rgba(167,139,250,0.12);color:#c4b5fd;border:1px solid rgba(167,139,250,0.22)}

/* Tables */
.data-table{overflow-x:auto}
.data-table table{width:100%;border-collapse:collapse}
.data-table th{background:rgba(255,255,255,0.04);padding:10px 14px;text-align:left;font-size:12px;font-weight:600;color:var(--text-muted);border-bottom:2px solid rgba(255,255,255,0.08);white-space:nowrap}
.data-table td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,0.06);font-size:13px;color:var(--text)}
.data-table tr:hover{background:rgba(255,255,255,0.04)}

/* Admin Tabs */
.admin-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px;padding:4px;background:var(--sub-bg);border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,0.3);border:1px solid rgba(255,255,255,0.06)}
.tab-btn{padding:10px 16px;border:none;background:transparent;cursor:pointer;border-radius:10px;font-size:13px;font-weight:500;transition:all 0.2s;white-space:nowrap;color:var(--text-muted)}
.tab-btn:hover{background:rgba(255,255,255,0.08);color:var(--text)}
.tab-btn.active{background:linear-gradient(135deg,#6d28d9,#3b82f6);color:#fff;box-shadow:0 4px 16px rgba(109,40,217,0.3)}
.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.tab-header h3{font-size:16px;font-weight:700;color:#fff}
.admin-tab{background:rgba(255,255,255,0.04);border-radius:14px;padding:20px;box-shadow:0 2px 12px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,0.06);color:var(--text)}

/* Domain actions */
.domain-actions{display:flex;gap:8px;margin-bottom:16px;align-items:center}
.domain-actions input{flex:1;max-width:400px;padding:8px 14px;border:1px solid var(--glass-border);border-radius:10px;font-size:14px;background:rgba(255,255,255,0.06);color:var(--text)}
.batch-add-area{margin-bottom:16px;background:var(--sub-bg);padding:16px;border-radius:12px;border:1px solid var(--border)}
.batch-add-area textarea{width:100%;padding:10px;border:1px solid var(--glass-border);border-radius:10px;font-size:13px;font-family:monospace;background:rgba(255,255,255,0.06);color:var(--text);resize:vertical}
.batch-add-area button{margin-top:8px}

/* Settings form */
.settings-form{max-width:600px}
.settings-form .form-group{margin-bottom:20px;color:var(--text)}
.settings-form textarea{resize:vertical;background:rgba(255,255,255,0.06);color:var(--text);border:1px solid var(--glass-border);border-radius:10px;padding:10px}
.settings-card{background:rgba(167,139,250,0.08);border:1px solid rgba(167,139,250,0.20);border-radius:12px;margin-bottom:20px;overflow:hidden}
.settings-card-header{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.08);font-size:15px;font-weight:700;color:#fff}
.settings-card-body{padding:20px}

/* Logs */
.log-list{max-height:500px;overflow-y:auto}
.log-item{padding:8px 14px;border-bottom:1px solid rgba(255,255,255,0.04);font-size:13px;display:flex;gap:12px;color:var(--text)}
.log-time{color:var(--text-muted);white-space:nowrap;min-width:160px}
.log-action{font-weight:600;min-width:100px;color:var(--primary)}
.log-detail{color:var(--text-muted);flex:1}

/* CF Accounts / Zones */
.cf-account-item{padding:10px 16px;background:var(--sub-bg);border-radius:10px;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text);border:1px solid var(--border)}
.zone-item{padding:12px 16px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;background:var(--sub-bg)}
.zone-name{font-weight:600;font-size:15px;color:#fff}
.zone-meta{font-size:12px;color:var(--text-muted)}
.zone-actions{display:flex;gap:6px}

/* Messages */
.msg{margin:8px 0;font-size:13px}
.msg-success{color:#34d399}
.msg-error{color:#ef5350}
.msg-info{color:var(--primary)}

/* Welcome bar */
.welcome-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 0;color:var(--text)}
.text-muted{color:var(--text-muted);font-size:13px}

/* Modal */
.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000}
.modal-content{background:rgba(15,12,41,0.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:20px;padding:28px;max-width:440px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 0 0 1px rgba(167,139,250,0.2),0 24px 60px rgba(109,40,217,0.4);color:var(--text)}
.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.modal-header h3{font-size:16px;font-weight:700;color:#fff}
.modal-close{cursor:pointer;font-size:20px;color:var(--text-muted);transition:color 0.2s}
.modal-close:hover{color:var(--primary)}
.modal-body{color:var(--text)}

/* Toast */
.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);padding:12px 24px;border-radius:12px;color:#fff;font-size:14px;font-weight:600;z-index:2000;animation:toastSlide 0.3s;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);white-space:nowrap;max-width:85vw;text-align:center}
@keyframes toastSlide{from{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.toast-success{background:rgba(52,211,153,0.9);box-shadow:0 4px 20px rgba(52,211,153,0.4);color:#000}
.toast-error{background:rgba(239,83,80,0.9);box-shadow:0 4px 20px rgba(239,83,80,0.4)}
.toast-info{background:rgba(109,40,217,0.9);box-shadow:0 4px 20px rgba(109,40,217,0.4)}

/* QR */
.qr-container{text-align:center;padding:20px}
.qr-container img,.qr-container canvas{max-width:200px;border-radius:8px}
.qr-container p{margin-top:12px;color:var(--text-muted);font-size:13px}

/* Select */
select.form-control{-webkit-appearance:none;appearance:none;background:rgba(255,255,255,0.06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23a78bfa' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:32px;color:var(--text);border:1px solid var(--glass-border);border-radius:10px}
.dual-cards{display:flex;gap:16px;margin-bottom:16px}
.dual-cards .card{flex:1;margin-bottom:0}

/* Scrollbar */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(167,139,250,0.30);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(167,139,250,0.50)}

/* Utility */
.hidden{display:none!important}
.header-left{display:flex;align-items:center;gap:8px}
.divider{color:var(--text-muted);margin:0 4px}
.form-row{display:flex;gap:8px;align-items:center}
.page{min-height:100vh}
.auth-box{background:var(--glass-bg);backdrop-filter:blur(12px) saturate(1.5);-webkit-backdrop-filter:blur(12px) saturate(1.5);border:1px solid var(--glass-border);border-radius:20px;padding:40px;width:420px;max-width:90%;box-shadow:var(--glass-shadow)}

/* Responsive */
@media(max-width:768px){
  .container{padding:12px}
  .auth-card{padding:24px}
  .admin-tabs{overflow-x:auto;flex-wrap:nowrap}
  .domain-actions{flex-wrap:wrap}
  .domain-actions input{max-width:100%}
  #header{padding:12px 16px}
  #header .logo{font-size:16px}
  .dual-cards{flex-direction:column}
}
