/* ============================================================
   NexusAI · DeepSeek-style Light Theme (v4.0)
   浅色底 / 品牌蓝 #4D6BFE / 干净留白 / 柔和光晕
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#ffffff;
  --bg-2:#f5f7fb;
  --bg-3:#eef1f8;
  --sidebar-bg:rgba(255,255,255,.86);
  --sidebar-w:64px;
  --card-bg:#ffffff;
  --card-border:#e8ebf1;
  --border:#e9edf3;
  --text:#1f2329;
  --text-secondary:#5c6572;
  --text-tertiary:#98a2b3;
  --primary:#4d6bfe;
  --primary-hover:#3b5bf0;
  --primary-light:rgba(77,107,254,.08);
  --primary-gradient:linear-gradient(135deg,#4d6bfe,#7c5cff);
  --cyan:#0ea5c9;
  --green:#16a34a;
  --red:#e5484d;
  --orange:#e8862d;
  --gold:#c8862d;
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 1px 3px rgba(16,24,40,.06),0 1px 2px rgba(16,24,40,.04);
  --shadow-md:0 6px 16px rgba(16,24,40,.08);
  --shadow-lg:0 16px 40px rgba(16,24,40,.12);
  --ring:0 0 0 3px rgba(77,107,254,.15);
}
html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei','Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6;overflow:hidden}
button{cursor:pointer;font-family:inherit;border:none;outline:none}
input,textarea{font-family:inherit;outline:none;color:var(--text)}
a{text-decoration:none;color:inherit}

/* Soft light background (DeepSeek-style airy glow) */
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(900px 480px at 12% -10%,rgba(77,107,254,.10) 0%,transparent 60%),
  radial-gradient(800px 420px at 88% -8%,rgba(124,92,255,.08) 0%,transparent 55%),
  linear-gradient(180deg,#fbfcff 0%,#ffffff 40%,#f7f9fd 100%)}
body::after{content:none}
.stars-twinkle{display:none}
.aurora{position:fixed;top:-30%;left:50%;transform:translateX(-50%);width:110%;height:60%;z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 50% 50%,rgba(77,107,254,.05) 0%,transparent 65%);animation:auroraShift 16s ease-in-out infinite alternate}
@keyframes auroraShift{0%{transform:translateX(-50%) scale(1)}100%{transform:translateX(-47%) scale(1.08)}}

/* ========== Auth Modal ========== */
.modal-overlay{position:fixed;inset:0;background:rgba(17,24,39,.45);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(6px)}
.modal-box{background:#fff;border:1px solid var(--card-border);border-radius:24px;padding:40px;max-width:420px;width:90%;box-shadow:0 24px 64px rgba(16,24,40,.18)}
.auth-brand{text-align:center;margin-bottom:28px}
.auth-brand .brand-logo{width:56px;height:56px;margin:0 auto 12px;background:var(--primary-gradient);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 8px 24px rgba(77,107,254,.28)}
.auth-brand h1{font-size:24px;font-weight:700;letter-spacing:.5px;color:var(--text);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.auth-brand p{font-size:11px;color:var(--text-tertiary);margin-top:6px;letter-spacing:3px}
.auth-brand .partner-badge{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:3px 12px;border:1px solid rgba(77,107,254,.2);border-radius:20px;font-size:10px;color:var(--primary);background:var(--primary-light)}
.auth-box .auth-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:24px}
.auth-tab{flex:1;padding:10px;text-align:center;font-size:15px;font-weight:600;color:var(--text-tertiary);background:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:.2s}
.auth-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.auth-form .input-group{margin-bottom:16px}
.auth-form label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px;font-weight:500}
.auth-form input{width:100%;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;transition:.2s;color:var(--text)}
.auth-form input::placeholder{color:var(--text-tertiary)}
.auth-form input:focus{border-color:var(--primary);box-shadow:var(--ring)}
.auth-hint{text-align:center;color:var(--text-tertiary);font-size:11px;margin-top:14px}

/* ========== Buttons ========== */
.btn-primary{padding:11px 28px;background:var(--primary);color:#fff;border-radius:12px;font-size:14px;font-weight:600;transition:.2s;box-shadow:0 2px 10px rgba(77,107,254,.22)}
.btn-primary:hover{background:var(--primary-hover);box-shadow:0 6px 18px rgba(77,107,254,.3)}
.btn-primary:disabled{opacity:.45;cursor:not-allowed}
.btn-full{width:100%;text-align:center}
.btn-outline{padding:8px 16px;border:1px solid var(--border);background:#fff;border-radius:var(--radius-sm);font-size:13px;transition:.2s;color:var(--text-secondary)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary)}
.btn-danger{padding:6px 12px;background:var(--red);color:#fff;border-radius:6px;font-size:12px}
.btn-cyan{background:linear-gradient(135deg,#0ea5c9,#0284a8);box-shadow:0 2px 10px rgba(14,165,201,.22)}

/* ========== App Shell ========== */
#app{display:flex;height:100vh;overflow:hidden;position:relative;z-index:1}

/* ========== Sidebar ========== */
.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);backdrop-filter:blur(20px);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding:16px 0}
.sidebar-logo{margin-bottom:20px}
.logo-mark{width:36px;height:36px;background:var(--primary-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 14px rgba(77,107,254,.3)}
.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:6px;width:100%;align-items:center}
.nav-item{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);cursor:pointer;transition:.15s;position:relative}
.nav-item:hover{background:var(--bg-2);color:var(--text)}
.nav-item.active{background:var(--primary-light);color:var(--primary)}
.nav-item .nav-tooltip{position:absolute;left:52px;top:50%;transform:translateY(-50%);background:#1f2329;color:#fff;padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:.15s;z-index:100;box-shadow:var(--shadow-md)}
.nav-item:hover .nav-tooltip{opacity:1}
.nav-badge{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px rgba(200,134,45,.8)}
.sidebar-footer{padding-top:12px}
.user-avatar-sm{width:36px;height:36px;border-radius:50%;background:var(--primary-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 10px rgba(77,107,254,.25)}

/* ========== Main Content ========== */
.main-content{flex:1;overflow:hidden;position:relative}
.page{display:none;height:100%;overflow-y:auto}
.page.active{display:block}

/* ========== Chat - Welcome / Landing ========== */
.chat-layout{display:flex;height:100%}
.chat-sidebar{width:240px;border-right:1px solid var(--border);display:flex;flex-direction:column;background:rgba(255,255,255,.7);backdrop-filter:blur(10px)}
.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden}
.chat-messages{flex:1;overflow-y:auto}

.landing-page{max-width:1100px;margin:0 auto;padding:40px 48px;display:flex;gap:48px;align-items:flex-start;min-height:100%}
.landing-left{flex:1;padding-top:40px}
.announce-bar{display:flex;align-items:center;gap:8px;padding:9px 18px;background:var(--primary-light);border:1px solid rgba(77,107,254,.16);border-radius:999px;font-size:13px;color:var(--text-secondary);margin-bottom:44px;max-width:600px;cursor:pointer;transition:.2s}
.announce-bar:hover{background:rgba(77,107,254,.12)}
.announce-bar svg{width:14px;height:14px;fill:var(--primary);flex-shrink:0}
.landing-headline{font-size:54px;font-weight:700;letter-spacing:1px;color:var(--text);line-height:1.2;margin-bottom:36px}
.landing-headline .accent{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.landing-cards{display:flex;gap:16px;margin-bottom:36px}
.landing-card{background:#fff;border:1px solid var(--card-border);border-radius:20px;padding:26px 24px;width:238px;cursor:pointer;transition:.25s;box-shadow:var(--shadow)}
.landing-card:hover{transform:translateY(-4px);border-color:rgba(77,107,254,.35);box-shadow:var(--shadow-md)}
.landing-card .card-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px}
.landing-card .card-icon.blue{background:rgba(77,107,254,.12)}
.landing-card .card-icon.cyan{background:rgba(14,165,201,.12)}
.landing-card .card-icon.purple{background:rgba(124,92,255,.12)}
.landing-card .card-icon.gold{background:rgba(200,134,45,.14)}
.landing-card .lc-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px}
.landing-card:hover .lc-title{color:var(--primary)}
.landing-card .lc-desc{font-size:13px;color:var(--text-secondary);line-height:1.6}
.landing-right{flex-shrink:0;width:360px;margin-top:60px}
.showcase-card{width:100%;height:440px;background:linear-gradient(150deg,#4d6bfe 0%,#7c5cff 55%,#9b6bff 100%);border-radius:24px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:36px;color:#fff;box-shadow:0 20px 50px -12px rgba(77,107,254,.4);cursor:pointer;transition:.3s}
.showcase-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 28px 60px -12px rgba(77,107,254,.5)}
.showcase-card::before{content:'';position:absolute;top:-40%;right:-30%;width:170%;height:170%;background:radial-gradient(circle,rgba(255,255,255,.22) 0%,transparent 55%);filter:blur(46px);animation:floatBg 12s infinite ease-in-out}
.showcase-card::after{content:'';position:absolute;bottom:-25%;left:-25%;width:150%;height:150%;background:radial-gradient(circle,rgba(180,220,255,.35) 0%,transparent 50%);filter:blur(40px)}
@keyframes floatBg{0%,100%{transform:translate(0,0)}50%{transform:translate(-16px,18px)}}
.showcase-card .sc-content{position:relative;z-index:1}
.showcase-card .sc-title{font-size:24px;font-weight:600;margin-bottom:6px;letter-spacing:.5px}
.showcase-card .sc-sub{font-size:22px;font-weight:500;margin-bottom:22px;opacity:.92}
.showcase-card .sc-link{font-size:14px;color:rgba(255,255,255,.85);display:flex;align-items:center;gap:6px}
.showcase-card .sc-link::after{content:'→';font-size:16px;transition:.2s}
.showcase-card:hover .sc-link::after{transform:translateX(5px)}

/* Chat conversation list */
.btn-new-chat{margin:12px;padding:10px;border:1px dashed #c6cede;border-radius:var(--radius-sm);background:#fff;color:var(--text-secondary);font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:6px;transition:.2s}
.btn-new-chat:hover{border-color:var(--primary);color:var(--primary)}
.conv-list{flex:1;overflow-y:auto;padding:0 8px 8px}
.conv-item{padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:.15s;font-size:13px;color:var(--text-secondary);margin-bottom:2px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.conv-item:hover{background:var(--bg-2);color:var(--text)}
.conv-item.active{background:var(--primary-light);color:var(--primary);font-weight:500}
.conv-item .conv-del{opacity:0;font-size:14px;transition:.15s;flex-shrink:0}
.conv-item:hover .conv-del{opacity:.5}
.conv-item .conv-del:hover{opacity:1;color:var(--red)}

/* Chat messages */
.msg-row{max-width:820px;margin:0 auto;padding:10px 24px;display:flex;gap:14px}
.msg-avatar{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;font-weight:600;color:#fff}
.msg-user .msg-avatar{background:var(--primary-gradient)}
.msg-assistant .msg-avatar{background:linear-gradient(135deg,#7c5cff,#4d6bfe)}
.msg-content{flex:1;min-width:0;padding-top:6px;color:var(--text)}
.msg-content p{margin-bottom:8px}
.msg-content pre{background:#161b26;color:#e6e9f2;border-radius:12px;padding:16px;overflow-x:auto;margin:10px 0;font-size:13px}
.msg-content code{font-family:'SF Mono',Consolas,monospace;font-size:13px}
.msg-content :not(pre)>code{background:var(--bg-3);padding:2px 6px;border-radius:5px;color:#4d6bfe}
.msg-content ul,.msg-content ol{padding-left:20px;margin-bottom:8px}
.msg-content table{border-collapse:collapse;margin:8px 0;width:100%}
.msg-content th,.msg-content td{border:1px solid var(--border);padding:6px 10px;font-size:13px}
.msg-content blockquote{border-left:3px solid var(--primary);padding-left:12px;color:var(--text-secondary);margin:8px 0}
.chat-input-area{border-top:1px solid var(--border);padding:16px 24px;background:rgba(255,255,255,.75);backdrop-filter:blur(12px)}
.chat-input-wrap{max-width:820px;margin:0 auto;display:flex;align-items:flex-end;gap:8px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:8px 8px 8px 16px;transition:.2s;box-shadow:var(--shadow)}
.chat-input-wrap:focus-within{border-color:var(--primary);box-shadow:var(--ring)}
#chat-input{flex:1;border:none;background:none;resize:none;font-size:14px;line-height:1.5;max-height:120px;color:var(--text)}
#chat-input::placeholder{color:var(--text-tertiary)}
#chat-input:focus{outline:none}
.btn-send{width:36px;height:36px;border-radius:10px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.2s}
.btn-send:hover{background:var(--primary-hover)}
.btn-send:disabled{opacity:.3;cursor:not-allowed}
.typing-indicator span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--primary);margin:0 2px;animation:blink 1.4s infinite}
.typing-indicator span:nth-child(2){animation-delay:.2s}
.typing-indicator span:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,60%,100%{opacity:.3}30%{opacity:1}}

/* ========== Image Page ========== */
.image-page-layout{display:flex;gap:20px;padding:24px;max-width:1200px;margin:0 auto}
.image-gen-panel{flex:1;min-width:0}
.image-gallery-panel{width:360px;flex-shrink:0}
.page-title{font-size:22px;margin-bottom:20px;font-weight:700}
.panel-title{font-size:16px;font-weight:600;margin-bottom:12px}
.input-group{margin-bottom:16px}
.input-group label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px;font-weight:500}
.input-group textarea{width:100%;padding:10px 14px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;resize:vertical;transition:.2s;color:var(--text)}
.input-group textarea::placeholder{color:var(--text-tertiary)}
.input-group textarea:focus{border-color:var(--primary);box-shadow:var(--ring)}
.style-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.style-card{padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;font-size:12px;cursor:pointer;transition:.2s;background:#fff;color:var(--text-secondary)}
.style-card:hover{border-color:var(--primary);color:var(--text)}
.style-card.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600}
.image-result{margin-top:20px}
.image-result img{max-width:100%;border-radius:var(--radius);box-shadow:var(--shadow-md)}
.image-result .loading{display:flex;align-items:center;justify-content:center;padding:60px;background:var(--bg-2);border-radius:var(--radius)}
.image-result .loading .spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:600px;overflow-y:auto}
.gallery-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;aspect-ratio:1;border:1px solid var(--border)}
.gallery-item img{width:100%;height:100%;object-fit:cover}
.gallery-item .gallery-info{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(10,14,24,.65));color:#fff;padding:8px;font-size:11px;opacity:0;transition:.2s}
.gallery-item:hover .gallery-info{opacity:1}
.gallery-empty{text-align:center;color:var(--text-tertiary);padding:40px 0;grid-column:1/-1}

/* ========== Video Page ========== */
.video-page-layout{display:flex;gap:20px;padding:24px;max-width:1200px;margin:0 auto}
.video-gen-panel{flex:1;min-width:0}
.video-gallery-panel{width:320px;flex-shrink:0}
.premium-lock{text-align:center;padding:48px 32px;background:linear-gradient(135deg,rgba(200,134,45,.05),rgba(77,107,254,.05));border:1px solid rgba(200,134,45,.18);border-radius:var(--radius)}
.lock-icon{font-size:48px;margin-bottom:16px}
.premium-lock h3{font-size:22px;font-weight:700;margin-bottom:8px}
.premium-lock>p{color:var(--text-secondary);font-size:14px;margin-bottom:20px;max-width:400px;margin-left:auto;margin-right:auto}
.premium-price{font-size:42px;font-weight:800;color:var(--gold);margin-bottom:20px}
.premium-price span{font-size:14px;font-weight:400;color:var(--text-tertiary)}
.premium-features{list-style:none;text-align:left;max-width:320px;margin:0 auto 24px}
.premium-features li{padding:5px 0;font-size:13px;color:var(--text-secondary);display:flex;align-items:flex-start;gap:6px}
.premium-features li::before{content:'✓';color:var(--green);font-weight:700;flex-shrink:0}
.duration-selector{display:flex;gap:8px}
.dur-btn{padding:8px 16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);transition:.2s}
.dur-btn:hover{border-color:var(--primary);color:var(--text)}
.dur-btn.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600}
.video-result{margin-top:20px}
.video-result video{max-width:100%;border-radius:var(--radius);box-shadow:var(--shadow-md)}
.video-result .v-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;background:var(--bg-2);border-radius:var(--radius);gap:12px}
.video-result .v-loading .spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}
.video-result .v-loading p{color:var(--text-tertiary);font-size:13px}
.video-gallery-grid{display:flex;flex-direction:column;gap:12px;max-height:600px;overflow-y:auto}
.video-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:1px solid var(--border);aspect-ratio:16/9}
.video-item img,.video-item video{width:100%;height:100%;object-fit:cover}
.video-item .v-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:rgba(10,14,24,.55);display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff}
.video-item .v-info{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(10,14,24,.7));color:#fff;padding:8px;font-size:11px;opacity:0;transition:.2s}
.video-item:hover .v-info{opacity:1}

/* ========== Pricing ========== */
.pricing-container{max-width:1100px;margin:0 auto;padding:24px}
.pricing-header{text-align:center;margin-bottom:32px}
.pricing-header h2{font-size:32px;margin-bottom:10px;font-weight:700;letter-spacing:.5px}
.pricing-header h2 span{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.pricing-header p{color:var(--text-secondary);font-size:15px}
.pricing-header .partner-tag{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:4px 14px;border:1px solid rgba(77,107,254,.18);border-radius:20px;font-size:12px;color:var(--primary);background:var(--primary-light)}
.billing-toggle{display:flex;justify-content:center;margin:24px auto 32px;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:4px;width:fit-content}
.billing-toggle button{padding:8px 24px;font-size:13px;font-weight:600;color:var(--text-secondary);background:none;border-radius:9px;transition:.2s}
.billing-toggle button.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(77,107,254,.3)}
.billing-toggle .save-badge{display:inline-block;margin-left:4px;padding:1px 6px;background:#22c55e;color:#fff;border-radius:4px;font-size:10px;font-weight:700}
.banner-slideshow{margin-bottom:32px;border-radius:var(--radius);overflow:hidden;min-height:200px;display:none;box-shadow:var(--shadow)}
.banner-slideshow.has-banners{display:block}
.banner-slide{position:relative;display:none}
.banner-slide.active{display:block}
.banner-slide img{width:100%;height:220px;object-fit:cover;display:block}
.banner-slide .banner-title{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(10,14,24,.55));color:#fff;padding:28px 20px 16px;font-size:20px;font-weight:600}
.banner-dots{display:flex;justify-content:center;gap:6px;margin-top:8px}
.banner-dot{width:8px;height:8px;border-radius:50%;background:#d4d9e2;cursor:pointer;transition:.2s}
.banner-dot.active{background:var(--primary)}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.pricing-card{background:#fff;border:1px solid var(--card-border);border-radius:18px;padding:28px 24px;transition:.25s;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.pricing-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-border);transition:.3s}
.pricing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.pricing-card:hover::before{background:var(--primary-gradient)}
.pricing-card.popular{border-color:rgba(77,107,254,.4);box-shadow:0 12px 32px rgba(77,107,254,.14)}
.pricing-card.popular::before{background:var(--primary-gradient)}
.popular-badge{position:absolute;top:0;left:50%;transform:translateX(-50%);background:var(--primary-gradient);color:#fff;padding:3px 14px;border-radius:0 0 10px 10px;font-size:11px;font-weight:700}
.pricing-card .pkg-name{font-size:18px;font-weight:700;margin-bottom:4px}
.pricing-card .pkg-tagline{font-size:11px;color:var(--text-tertiary);margin-bottom:16px}
.pricing-card .pkg-price{font-size:36px;font-weight:800;color:var(--text);margin-bottom:4px}
.pricing-card .pkg-price .currency{font-size:18px;font-weight:600;color:var(--text-secondary)}
.pricing-card .pkg-price .period{font-size:13px;font-weight:400;color:var(--text-tertiary)}
.pricing-card .pkg-original{font-size:13px;color:var(--text-tertiary);text-decoration:line-through;margin-bottom:16px}
.pricing-card .pkg-credits{font-size:13px;color:#0ea5c9;margin-bottom:16px;font-weight:600}
.pkg-features{list-style:none;margin-bottom:20px}
.pkg-features li{padding:5px 0;font-size:12px;color:var(--text-secondary);display:flex;align-items:flex-start;gap:6px}
.pkg-features li::before{content:'✓';color:var(--green);font-weight:700;flex-shrink:0}
.pricing-card .btn-buy{width:100%;padding:11px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;transition:.2s;background:#fff;border:1px solid var(--border);color:var(--text)}
.pricing-card .btn-buy:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}
.pricing-card.popular .btn-buy{background:var(--primary);color:#fff;border:none;box-shadow:0 2px 10px rgba(77,107,254,.25)}
.pricing-card.popular .btn-buy:hover{background:var(--primary-hover)}
.pricing-card.premium .btn-buy{background:linear-gradient(135deg,#c8862d,#a86a1a);color:#fff;border:none}

/* ========== Profile ========== */
.profile-container{max-width:700px;margin:0 auto;padding:24px}
.profile-card{background:#fff;border:1px solid var(--card-border);border-radius:var(--radius);padding:32px;text-align:center;margin-bottom:20px;box-shadow:var(--shadow)}
.profile-avatar{width:72px;height:72px;border-radius:18px;background:var(--primary-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;margin:0 auto 12px;box-shadow:0 6px 20px rgba(77,107,254,.25)}
.profile-card h2{font-size:20px;margin-bottom:4px}
.profile-phone{color:var(--text-tertiary);font-size:14px;margin-bottom:16px}
.profile-credits{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}
.credits-num{font-size:36px;font-weight:800;color:var(--primary)}
.credits-label{font-size:13px;color:var(--text-tertiary)}
.profile-orders{background:#fff;border:1px solid var(--card-border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.profile-orders h3{font-size:16px;margin-bottom:12px}
.orders-list{display:flex;flex-direction:column;gap:8px}
.order-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-2);border-radius:var(--radius-sm);font-size:13px}
.order-status{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}
.order-status.paid{background:rgba(22,163,74,.12);color:var(--green)}
.order-status.pending{background:rgba(232,134,45,.14);color:var(--orange)}

/* ========== Admin ========== */
.admin-layout{padding:20px;max-width:1200px;margin:0 auto}
.admin-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border);overflow-x:auto}
.admin-tab{padding:10px 16px;font-size:14px;font-weight:500;color:var(--text-secondary);background:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:.2s;white-space:nowrap}
.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.admin-panel{display:none}
.admin-panel.active{display:block}
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}
.stat-card{background:#fff;border:1px solid var(--card-border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.stat-card .stat-label{font-size:13px;color:var(--text-tertiary);margin-bottom:8px}
.stat-card .stat-value{font-size:28px;font-weight:700}
.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.admin-table th,.admin-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}
.admin-table th{background:var(--bg-2);font-weight:600;color:var(--text-secondary)}
.admin-table tr:hover{background:#fafbfd}
.admin-table img{width:40px;height:40px;border-radius:6px;object-fit:cover}
.admin-form-row{display:flex;gap:12px;margin-bottom:12px;align-items:flex-end;flex-wrap:wrap}
.admin-form-row .input-group{flex:1;min-width:180px}
.admin-form-row input,.admin-form-row textarea{width:100%;padding:8px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;color:var(--text)}
.admin-form-row textarea{resize:vertical}
.settings-section{background:#fff;border:1px solid var(--card-border);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}
.settings-section h3{font-size:16px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.setting-row{display:grid;grid-template-columns:200px 1fr;gap:12px;margin-bottom:12px;align-items:start}
.setting-row label{font-size:13px;color:var(--text-secondary);padding-top:8px;font-weight:500}
.setting-row input,.setting-row textarea,.setting-row select{width:100%;padding:8px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;color:var(--text)}
.setting-row textarea{min-height:80px;font-family:monospace;resize:vertical}
.setting-row .hint{font-size:11px;color:var(--text-tertiary);margin-top:4px}

/* ========== Toast ========== */
.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-100px);background:#1f2329;color:#fff;padding:10px 24px;border-radius:12px;font-size:14px;z-index:2000;transition:.3s;opacity:0;pointer-events:none;box-shadow:var(--shadow-lg)}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1}

/* ========== Scrollbar ========== */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#d3d9e3;border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:#b6bfcd}

/* ========== Responsive ========== */
@media(max-width:1080px){.landing-cards{flex-wrap:wrap}}
@media(max-width:900px){
  .landing-page{flex-direction:column;padding:24px}
  .landing-right{width:100%;margin-top:24px}
  .landing-headline{font-size:38px}
  .landing-cards{flex-direction:column}
  .landing-card{width:100%}
  .image-page-layout,.video-page-layout{flex-direction:column}
  .image-gallery-panel,.video-gallery-panel{width:100%}
  .style-grid{grid-template-columns:repeat(3,1fr)}
  .pricing-grid{grid-template-columns:1fr}
  .showcase-card{height:300px}
}

