/*
SocialSkyRocket central extracted styles
Generated from legacy view-level <style> blocks and static inline style attributes.
Do not add new page CSS inside PHP views; add it to ssr-design-system.css or ssr-components.css.
*/

/* ==== application/views/layouts/landing.php :: <style> block 1 ==== */
/* ── Landing page styles ────────────────────────────────────────── */
.text-gradient{background:linear-gradient(135deg,var(--ssr-primary),var(--ssr-primary-2) 55%,var(--ssr-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-glow{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none}
.grid-dots{background-image:radial-gradient(rgba(255,255,255,0.04) 1px,transparent 1px);background-size:28px 28px}
.stat-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:16px;padding:20px 24px;transition:border-color .2s}
.stat-card:hover{border-color:rgba(16,185,129,0.25)}
.feat-card{background:var(--ssr-card);border:1px solid rgba(255,255,255,0.06);border-radius:20px;padding:26px;transition:all .22s;position:relative;overflow:hidden}
.feat-card::after{content:'';position:absolute;inset:0;border-radius:20px;background:linear-gradient(135deg,rgba(16,185,129,.05),transparent 60%);opacity:0;transition:opacity .22s}
.feat-card:hover{border-color:rgba(16,185,129,.22);transform:translateY(-2px)}
.feat-card:hover::after{opacity:1}
.step-line{position:absolute;top:28px;left:calc(50% + 34px);width:calc(100% - 68px);height:1px;background:linear-gradient(90deg,rgba(16,185,129,.25),transparent)}
.review-card{background:var(--ssr-card);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:22px 24px}
.platform-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 16px;border-radius:999px;font-size:12px;font-weight:600;color:var(--ssr-muted);background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);transition:all .18s;text-decoration:none}
.platform-chip:hover{color:var(--ssr-primary);border-color:rgba(16,185,129,.28);background:rgba(16,185,129,.06)}
.price-row{display:grid;grid-template-columns:1fr 120px 100px 90px;align-items:center;padding:14px 24px;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px;transition:background .15s}
.price-row:hover{background:rgba(255,255,255,.02)}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--ssr-primary);display:inline-block;animation:livepulse 1.8s ease infinite}
@keyframes livepulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ticker-track{animation:ticker 26s linear infinite;display:flex;width:max-content}
.ticker-track:hover{animation-play-state:paused}
.mask-lr{-webkit-mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent);mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent)}
@keyframes faderise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.fr{animation:faderise .65s ease both}
.fr-1{animation-delay:.08s}.fr-2{animation-delay:.18s}.fr-3{animation-delay:.28s}.fr-4{animation-delay:.38s}

/* ==== application/views/home/landing.php :: <style> block 1 ==== */
/* ==== application/views/admin/settings.php :: <style> block 1 ==== */
.card-section { background:var(--ssr-card); border:1px solid rgba(255,255,255,0.05); border-radius:.875rem; padding:1rem; margin-bottom:1rem; }
@media(min-width:640px){ .card-section { padding:1.5rem; border-radius:1rem; margin-bottom:1.25rem; } }
.section-title { font-size:.8125rem; font-weight:700; margin-bottom:1rem; padding-bottom:.625rem; border-bottom:1px solid rgba(255,255,255,0.05); }
@media(min-width:640px){ .section-title { font-size:.875rem; margin-bottom:1.25rem; } }
.field label { display:block; font-size:.7rem; font-weight:600; color:var(--ssr-muted); margin-bottom:.375rem; }
.inp { width:100%; padding:.55rem .875rem; border-radius:.75rem; border:1px solid rgba(255,255,255,0.1); background:var(--ssr-bg); color:var(--ssr-text); font-size:.8125rem; outline:none; transition:border-color .2s; -webkit-appearance:none; }
@media(min-width:640px){ .inp { padding:.6rem 1rem; } }
.inp:focus { border-color:rgba(16,185,129,.4); }
.scrollbar-hide { -ms-overflow-style:none; scrollbar-width:none; }
.scrollbar-hide::-webkit-scrollbar { display:none; }
.toggle-row { display:flex; align-items:center; justify-content:space-between; padding:.5rem 0; }
.toggle-row label { font-size:.8125rem; color:var(--ssr-text); }
.sm:col-span-2 { grid-column:span 2; }

/* ==== application/views/admin/email_templates.php :: <style> block 1 ==== */
.editor-tab { cursor:pointer; padding:5px 13px; border-radius:8px; font-size:12px; font-weight:600; transition:all .15s; user-select:none; border:1px solid transparent; }
.editor-tab.active   { background:rgba(16,185,129,.15); color:var(--ssr-primary); border-color:rgba(16,185,129,.3); }
.editor-tab.inactive { background:rgba(255,255,255,.04); color:rgba(255,255,255,.4); }
.editor-tab.inactive:hover { background:rgba(255,255,255,.08); color:rgba(255,255,255,.7); }

.plain-editor { min-height:150px; padding:14px; border-radius:12px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); color:var(--ssr-text); font-size:14px; line-height:1.75; outline:none; transition:border-color .15s; }
.plain-editor:focus  { border-color:rgba(16,185,129,.5); }

.toolbar-btn { padding:4px 11px; border-radius:6px; font-size:12px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.55); cursor:pointer; transition:all .15s; line-height:1.6; }
.toolbar-btn:hover   { background:rgba(255,255,255,.12); color:#fff; }

.html-editor { width:100%; min-height:160px; padding:12px 14px; border-radius:12px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); color:var(--ssr-text); font-size:12.5px; font-family:'Fira Mono','Consolas','Courier New',monospace; line-height:1.65; resize:vertical; outline:none; transition:border-color .15s; }
.html-editor:focus   { border-color:rgba(16,185,129,.5); }

.preview-chrome { border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.1); }
.preview-bar    { padding:7px 14px; font-size:11px; color:rgba(255,255,255,.3); background:rgba(255,255,255,.03); border-bottom:1px solid rgba(255,255,255,.07); font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.preview-body   { background:#fff; padding:24px 28px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-size:15px; color:#1e293b; line-height:1.7; }

/* ==== application/views/admin/cms_manager.php :: <style> block 1 ==== */
.fl{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ssr-muted);margin-bottom:5px}
.sec{background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.07);border-radius:14px;padding:20px;margin-bottom:14px}
.sec-h{font-size:13px;font-weight:700;color:var(--ssr-text);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;gap:8px}
.pill{font-size:9px;font-weight:700;padding:2px 7px;border-radius:20px;background:rgba(16,185,129,0.10);color:var(--ssr-primary);border:1px solid rgba(16,185,129,0.20);margin-left:6px}
.savebar{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,0.06)}
.btn-sv{padding:9px 22px;border-radius:11px;background:var(--ssr-primary);color:#fff;font-size:13px;font-weight:700;border:none;cursor:pointer;transition:all .15s;box-shadow:0 4px 12px rgba(16,185,129,0.2)}
.btn-sv:hover{background:#0ea571;transform:translateY(-1px)}
.ctab{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:12px;font-weight:600;color:var(--ssr-muted);background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,0.04);cursor:pointer;text-align:left;transition:all .15s}
.ctab:last-child{border-bottom:none}
.ctab:hover{color:var(--ssr-text);background:rgba(255,255,255,0.03)}
.ctab.on{color:var(--ssr-primary);background:rgba(16,185,129,0.08);border-left:2px solid var(--ssr-primary)}
.tip{padding:10px 14px;border-radius:10px;background:rgba(16,185,129,0.05);border:1px solid rgba(16,185,129,0.15);font-size:12px;color:var(--ssr-muted);margin-bottom:14px}

/* ==== application/views/admin/announcements.php :: <style> block 1 ==== */
.ann-lbl{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ssr-muted);margin-bottom:6px}
.ann-inp{width:100%;padding:10px 14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:10px;color:var(--ssr-text);font-size:13px;box-sizing:border-box;outline:none}
.ann-inp:focus{border-color:rgba(16,185,129,0.5)}
.ann-fq{padding:10px 12px;border-radius:11px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.02);cursor:pointer;transition:all .15s;user-select:none}
.ann-fq:hover{background:rgba(255,255,255,0.05)}
.ann-fq.active{border-color:rgba(16,185,129,0.5)!important;background:rgba(16,185,129,0.1)!important}
@keyframes ann-pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ==== application/views/admin/webpush_dashboard.php :: <style> block 1 ==== */
.push-stat{background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.07);border-radius:14px;padding:20px}
.push-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em}
.push-badge.draft{background:rgba(100,116,139,0.15);color:var(--ssr-muted);border:1px solid rgba(100,116,139,0.25)}
.push-badge.scheduled{background:rgba(245,158,11,0.15);color:#f59e0b;border:1px solid rgba(245,158,11,0.25)}
.push-badge.sending{background:rgba(59,130,246,0.15);color:#60a5fa;border:1px solid rgba(59,130,246,0.25)}
.push-badge.sent{background:rgba(16,185,129,0.15);color:var(--ssr-primary);border:1px solid rgba(16,185,129,0.25)}
.push-badge.cancelled{background:rgba(239,68,68,0.15);color:#f87171;border:1px solid rgba(239,68,68,0.25)}
.ic{width:100%;padding:10px 14px;border-radius:11px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.04);color:var(--ssr-text);font-size:13px;outline:none}
.ic:focus{border-color:rgba(16,185,129,0.4);box-shadow:0 0 0 3px rgba(16,185,129,0.1)}
.preview-box{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:14px;display:flex;gap:12px;align-items:flex-start}

/* ── Mobile fixes ───────────────────────────────────────── */
/* Header: stack on mobile */
@media (max-width: 640px) {
    .wp-header-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 6px;
        width: 100%;
    }
    .wp-header-actions a,
    .wp-header-actions button {
        justify-content: center;
        text-align: center;
        width: 100%;
    }
    /* Notifications table: card layout on mobile */
    .wp-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    /* Stat grid: 2 cols on mobile */
    .wp-stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ==== application/views/admin/payments.php :: <style> block 1 ==== */
.adm-page-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 30px; height: 30px; padding: 0 6px;
    border-radius: 6px; font-size: 12px; font-weight: 600;
    color: var(--ssr-muted); background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    text-decoration: none; transition: all 0.15s;
}
.adm-page-btn:hover { background: rgba(255,255,255,0.08); color: #fff; border-color: rgba(255,255,255,0.12); }
.adm-page-active { background: linear-gradient(135deg,var(--ssr-primary),var(--ssr-secondary)) !important; color: #fff !important; border-color: transparent !important; }
.adm-page-dots { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; font-size: 12px; color: var(--ssr-muted); }

/* ==== application/views/user/my_level.php :: <style> block 1 ==== */
@keyframes barFill{from{width:0}to{width:var(--w)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.fu{animation:fadeUp .45s ease both}
.fu2{animation-delay:.08s}.fu3{animation-delay:.16s}.fu4{animation-delay:.24s}
.bar-anim{animation:barFill .85s cubic-bezier(.4,0,.2,1) forwards}
.benefit-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.benefit-row:last-child{border-bottom:none}
.tier-card{border-radius:18px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);padding:20px;transition:border-color .2s}
.tier-card.active-tier{border-color:var(--c);background:var(--bg)}
.badge-you{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--c);color:#fff}
.perk-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid transparent}
.perk-chip.on{background:rgba(16,185,129,.1);color:var(--ssr-primary-2);border-color:rgba(16,185,129,.2)}
.perk-chip.muted{background:rgba(255,255,255,.03);color:rgba(255,255,255,.2);border-color:rgba(255,255,255,.06)}
.compare-hdr{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.25);padding:8px 12px}
.compare-row{display:grid;padding:10px 12px;border-radius:12px;font-size:12px;gap:4px;align-items:center}
.compare-row:nth-child(even){background:rgba(255,255,255,.02)}
.tag-tier{display:inline-block;padding:1px 8px;border-radius:999px;font-size:10px;font-weight:700;background:rgba(16,185,129,.12);color:var(--ssr-primary-2);border:1px solid rgba(16,185,129,.2)}
.tag-sub{display:inline-block;padding:1px 8px;border-radius:999px;font-size:10px;font-weight:700;background:rgba(245,158,11,.12);color:#f59e0b;border:1px solid rgba(245,158,11,.2)}
.tag-none{display:inline-block;padding:1px 8px;border-radius:999px;font-size:10px;font-weight:700;background:rgba(255,255,255,.04);color:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.06)}

/* ==== application/views/user/announcements.php :: <style> block 1 ==== */
.announcement-content a { color: var(--ssr-primary); text-decoration: underline; }
.announcement-content strong { color: var(--ssr-heading); }
.announcement-content ul, .announcement-content ol { padding-left: 1.25rem; }
.announcement-content li { margin: .25rem 0; }
.announcement-content p { margin: .5rem 0; }
[x-cloak] { display: none !important; }

/* ==== application/views/user/my_rewards.php :: <style> block 1 ==== */
@keyframes fadeUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
@keyframes barFill { from{width:0} to{width:var(--w)} }
@keyframes coinSpin { 0%,100%{transform:rotateY(0deg)} 50%{transform:rotateY(180deg)} }
.fu  { animation: fadeUp .45s ease both; }
.fu2 { animation-delay:.07s; }
.fu3 { animation-delay:.14s; }
.fu4 { animation-delay:.21s; }
.bar-anim { animation: barFill .9s cubic-bezier(.4,0,.2,1) forwards; }
.coin { animation: coinSpin 3s ease-in-out infinite; display:inline-block; }

/* ==== application/views/user/services.php :: <style> block 1 ==== */
/* ═══════════════════════════════════════════
   SHARED SERVICE UI — User Dashboard
   ═══════════════════════════════════════════ */

/* Category accordion */
.svc-cat-btn {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px; border-radius: 14px; text-align: left; cursor: pointer;
    transition: all 0.22s ease;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    box-shadow: 0 1px 8px rgba(0,0,0,0.18);
}
.svc-cat-btn:hover { background: rgba(255,255,255,0.055); border-color: rgba(255,255,255,0.10); }
.svc-cat-btn.open {
    background: rgba(16,185,129,0.07); border-color: rgba(16,185,129,0.28);
    border-bottom-left-radius: 0; border-bottom-right-radius: 0; box-shadow: none;
}
.svc-cat-dot { width:8px;height:8px;border-radius:50%;background:rgba(100,116,139,0.35);flex-shrink:0;transition:all 0.22s; }
.svc-cat-dot.on { background:var(--ssr-primary);box-shadow:0 0 8px rgba(16,185,129,0.55); }
.svc-cat-name { font-size:13px;font-weight:700;line-height:1.4;color:var(--ssr-text); }
.svc-cat-badge { font-size:9px;font-weight:800;color:#ef4444;padding:1px 6px;background:rgba(220,38,38,0.10);border:1px solid rgba(220,38,38,0.20);border-radius:5px;flex-shrink:0;letter-spacing:.04em; }
.svc-cat-count { font-size:11px;font-weight:600;padding:3px 11px;border-radius:20px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);color:var(--ssr-muted);transition:all 0.22s;white-space:nowrap; }
.svc-cat-count.on { background:rgba(16,185,129,0.12);border-color:rgba(16,185,129,0.28);color:var(--ssr-primary); }
.svc-cat-chevron { width:16px;height:16px;color:var(--ssr-muted);flex-shrink:0;transition:transform 0.22s ease; }

/* Table body panel */
.svc-body { border:1px solid rgba(16,185,129,0.22);border-top:none;border-bottom-left-radius:14px;border-bottom-right-radius:14px;overflow:hidden;background:rgba(10,18,42,0.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px); }

/* Table head */
.svc-th { background:rgba(255,255,255,0.025);color:var(--ssr-muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,0.04); }
.svc-th.amber { color:rgba(251,191,36,0.6); }

/* Table rows & cells */
.svc-tr { border-top:1px solid rgba(255,255,255,0.03);transition:background .15s; }
.svc-tr:hover { background:rgba(16,185,129,0.04); }
.svc-td { padding:11px 14px;font-size:12px;color:var(--ssr-muted);vertical-align:middle; }
.svc-td.name { color:var(--ssr-text);font-weight:500; }
.svc-td.price { color:var(--ssr-heading);font-weight:700;font-size:13px;text-align:center; }

/* ID badge */
.svc-id-badge { display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:2px 7px;border-radius:8px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);color:var(--ssr-muted);font-size:10px;font-weight:700;font-family:monospace; }

/* Refill badges */
.svc-refill-yes { display:inline-block;padding:3px 9px;border-radius:20px;font-size:9px;font-weight:700;text-transform:uppercase;background:rgba(16,185,129,0.12);color:var(--ssr-primary);border:1px solid rgba(16,185,129,0.22); }
.svc-refill-no  { display:inline-block;padding:3px 9px;border-radius:20px;font-size:9px;font-weight:700;text-transform:uppercase;background:rgba(239,68,68,0.10);color:#f87171;border:1px solid rgba(239,68,68,0.18); }

/* Star / info buttons */
.svc-star-btn { width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.18s;margin:0 auto;cursor:pointer;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);color:var(--ssr-muted); }
.svc-star-btn:hover { color:#f59e0b;background:rgba(245,158,11,0.10);border-color:rgba(245,158,11,0.2); }
.svc-star-btn.fav  { color:#f59e0b;background:rgba(245,158,11,0.12);border-color:rgba(245,158,11,0.25); }
.svc-info-btn { width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.18s;margin:0 auto;cursor:pointer;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);color:var(--ssr-muted); }
.svc-info-btn:hover { color:var(--ssr-primary);background:rgba(16,185,129,0.10);border-color:rgba(16,185,129,0.22); }

/* Search / filter */
.svc-search { width:100%;padding:11px 42px 11px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;color:var(--ssr-text);font-size:13px;outline:none;transition:all 0.2s; }
.svc-search:focus { background:rgba(255,255,255,0.06);border-color:rgba(16,185,129,0.35);box-shadow:0 0 0 3px rgba(16,185,129,0.08); }
.svc-search::placeholder { color:var(--ssr-muted); }
.svc-filter-select { padding:11px 40px 11px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;color:var(--ssr-muted);font-size:12px;font-weight:600;outline:none;appearance:none;width:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px;cursor:pointer; }

/* ═══ MODAL ═══ */
.svc-modal-overlay { position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px; }
.svc-modal-bg { position:absolute;inset:0;background:rgba(0,0,0,0.72);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px); }
.svc-modal-box { position:relative;width:100%;max-width:520px;border-radius:20px;overflow:hidden;background:var(--ssr-card);border:1px solid rgba(255,255,255,0.09);box-shadow:0 40px 80px rgba(0,0,0,0.6); }
.svc-modal-header { padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,0.06);background:linear-gradient(135deg,rgba(16,185,129,0.07),rgba(5,150,105,0.03)); }
.svc-modal-label { font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ssr-primary);margin-bottom:5px; }
.svc-modal-title { font-size:14px;font-weight:700;color:var(--ssr-heading);line-height:1.45; }
.svc-modal-meta { margin-top:8px;display:flex;gap:7px;flex-wrap:wrap;align-items:center; }
.svc-modal-pill { font-size:10px;font-weight:700;padding:2px 9px;border-radius:6px;white-space:nowrap; }
.svc-modal-pill.id     { background:rgba(16,185,129,0.12);color:var(--ssr-primary);border:1px solid rgba(16,185,129,0.22); }
.svc-modal-pill.rate   { background:rgba(255,255,255,0.06);color:var(--ssr-text);border:1px solid rgba(255,255,255,0.09); }
.svc-modal-pill.refill { background:rgba(16,185,129,0.10);color:var(--ssr-primary-2);border:1px solid rgba(16,185,129,0.18); }
.svc-modal-close { position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s;flex-shrink:0; }
.svc-modal-close:hover { background:rgba(239,68,68,0.15);border-color:rgba(239,68,68,0.22); }
.svc-modal-stats { display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:rgba(255,255,255,0.04);border-bottom:1px solid rgba(255,255,255,0.05); }
.svc-modal-stat { background:var(--ssr-card);padding:11px 14px;text-align:center; }
.svc-modal-stat-label { font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#334155;margin-bottom:3px; }
.svc-modal-stat-val { font-size:13px;font-weight:700;color:var(--ssr-text); }
.svc-modal-desc-wrap { padding:18px 20px;max-height:280px;overflow-y:auto; }
.svc-modal-desc-wrap::-webkit-scrollbar { width:4px; }
.svc-modal-desc-wrap::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.08);border-radius:4px; }
.svc-modal-desc-heading { font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#334155;margin-bottom:10px; }
.svc-modal-desc-body { font-size:13px;color:var(--ssr-muted);line-height:1.8;white-space:pre-wrap;word-break:break-word; }
.svc-modal-footer { padding:12px 20px;border-top:1px solid rgba(255,255,255,0.05);background:rgba(0,0,0,0.18);display:flex;gap:8px; }
.svc-modal-order-btn { flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border-radius:11px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--ssr-primary),var(--ssr-secondary));text-decoration:none;transition:opacity 0.15s;border:none;cursor:pointer; }
.svc-modal-order-btn:hover { opacity:.88; }
.svc-modal-copy-btn { display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:11px;font-size:11px;font-weight:700;color:var(--ssr-muted);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;white-space:nowrap; }
.svc-modal-copy-btn:hover { color:var(--ssr-muted);background:rgba(255,255,255,0.07); }
[x-cloak] { display:none !important; }

/* ==== application/views/user/favourites.php :: <style> block 1 ==== */
.fav-card {
    background: rgba(255,255,255,0.025);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 16px;
    transition: border-color .2s, transform .15s, opacity .25s;
}
.fav-card:hover { border-color: rgba(16,185,129,0.25); transform: translateY(-1px); }
.fav-card.removing { opacity: 0; transform: scale(0.95) translateY(4px); pointer-events: none; }
.fav-badge { font-size:9px; font-weight:700; padding:2px 6px; border-radius:4px; text-transform:uppercase; }

/* ==== application/views/user/transactions.php :: <style> block 1 ==== */
.tx-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    padding: 0 6px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--ssr-muted);
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    text-decoration: none;
    transition: all 0.15s;
}
.tx-page-btn:hover {
    background: rgba(255,255,255,0.08);
    color: #fff;
    border-color: rgba(255,255,255,0.12);
}
.tx-page-active {
    background: linear-gradient(135deg,var(--ssr-primary),var(--ssr-secondary)) !important;
    color: #fff !important;
    border-color: transparent !important;
}
.tx-page-dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    font-size: 12px;
    color: var(--ssr-muted);
}

/* ==== application/views/emarketer/templates.php :: <style> block 1 ==== */
#tpl-editor .ql-toolbar{background:var(--ssr-card);border-color:rgba(255,255,255,0.08)!important;border-radius:12px 12px 0 0}
#tpl-editor .ql-container{border-color:rgba(255,255,255,0.08)!important;border-radius:0 0 12px 12px;color:var(--ssr-text)}
.ql-toolbar .ql-stroke{stroke:var(--ssr-muted)!important}

/* ==== application/views/emarketer/campaign_form.php :: <style> block 1 ==== */
#quill-editor .ql-toolbar { background:var(--ssr-card); border-color:rgba(255,255,255,0.08)!important; border-radius:12px 12px 0 0; }
#quill-editor .ql-container { border-color:rgba(255,255,255,0.08)!important; border-radius:0 0 12px 12px; color:var(--ssr-text); font-size:14px; }
#quill-editor .ql-editor { min-height:240px; }
.ql-toolbar .ql-stroke { stroke:var(--ssr-muted)!important; }
.ql-toolbar .ql-fill { fill:var(--ssr-muted)!important; }
.ql-toolbar button:hover .ql-stroke { stroke:var(--ssr-primary)!important; }

/* ==== application/views/public/landing.php :: <style> block 1 ==== */
@keyframes scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
    .animate-scroll { animation: scroll 30s linear infinite; display: flex; width: max-content; }

/* ==== application/views/public/plans.php :: <style> block 1 ==== */
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }
.fu { animation: fadeUp .55s ease both; }
.plan-card { border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);padding:32px 28px;position:relative;overflow:hidden;transition:transform .2s,border-color .2s; }
.plan-card:hover { transform:translateY(-4px); }
.plan-card.featured { border-color:rgba(16,185,129,.4);background:rgba(16,185,129,.06); }
.feat-item { display:flex;align-items:flex-start;gap:10px;font-size:13px;color:rgba(255,255,255,.7);line-height:1.5;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05); }
.feat-item:last-child { border-bottom:none; }

/* ==== application/views/public/tiers.php :: <style> block 1 ==== */
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }
.fu { animation: fadeUp .55s ease both; }
.fu:nth-child(2){animation-delay:.08s}
.fu:nth-child(3){animation-delay:.16s}
.fu:nth-child(4){animation-delay:.24s}
.chip { display:inline-flex;align-items:center;gap:5px;padding:3px 11px;border-radius:999px;font-size:11px;font-weight:700; }
.chip-yes { background:rgba(16,185,129,.12);color:var(--ssr-primary-2);border:1px solid rgba(16,185,129,.25); }
.chip-no  { background:rgba(255,255,255,.04);color:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.07); }

/* ==== application/views/public/seo_hub.php :: <style> block 1 ==== */
.seo-card{display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--ssr-card);border:1px solid rgba(255,255,255,.06);border-radius:18px;text-decoration:none;color:inherit;transition:all .22s;position:relative;overflow:hidden}
.seo-card::after{content:'';position:absolute;inset:0;border-radius:18px;background:linear-gradient(135deg,rgba(16,185,129,.04),transparent 60%);opacity:0;transition:opacity .22s;pointer-events:none}
.seo-card:hover{border-color:rgba(16,185,129,.28);transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.25)}
.seo-card:hover::after{opacity:1}
.ld{width:6px;height:6px;border-radius:50%;background:var(--ssr-primary);display:inline-block;animation:lp 1.8s ease infinite}
@keyframes lp{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.tg{background:linear-gradient(135deg,var(--ssr-primary),var(--ssr-primary-2) 55%,var(--ssr-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* ==== application/views/public/services.php :: <style> block 1 ==== */
/* ═══════════════════════════════════════════
   PUBLIC SERVICE PAGE — Dark theme matching user dashboard
   ═══════════════════════════════════════════ */

/* Category accordion */
.pub-gcat-btn {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px; border-radius: 14px; text-align: left; cursor: pointer;
    transition: all 0.22s ease;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    box-shadow: 0 1px 8px rgba(0,0,0,0.18);
}
.pub-gcat-btn:hover { background: rgba(255,255,255,0.055); border-color: rgba(255,255,255,0.10); }
.pub-gcat-btn.open {
    background: rgba(16,185,129,0.07); border-color: rgba(16,185,129,0.28);
    border-bottom-left-radius: 0; border-bottom-right-radius: 0; box-shadow: none;
}
.pub-gbody {
    border: 1px solid rgba(16,185,129,0.22); border-top: none;
    border-bottom-left-radius: 14px; border-bottom-right-radius: 14px;
    overflow: hidden; background: rgba(10,18,42,0.55);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.pub-catname { font-size: 13px; font-weight: 700; line-height: 1.4; color: var(--ssr-text); }
.pub-gdot { width:8px; height:8px; border-radius:50%; background:rgba(100,116,139,0.35); flex-shrink:0; transition:all 0.22s; }
.pub-gdot.on { background:var(--ssr-primary); box-shadow:0 0 8px rgba(16,185,129,0.55); }
.pub-gcnt { font-size:11px; font-weight:600; padding:3px 11px; border-radius:20px; border:1px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.04); color:var(--ssr-muted); transition:all 0.22s; white-space:nowrap; }
.pub-gcnt.on { background:rgba(16,185,129,0.12); border-color:rgba(16,185,129,0.28); color:var(--ssr-primary); }
.pub-gth { background:rgba(255,255,255,0.025); color:var(--ssr-muted); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:10px 14px; border-bottom:1px solid rgba(255,255,255,0.04); }
.pub-gtr { border-top:1px solid rgba(255,255,255,0.03); transition:background .15s; }
.pub-gtr:hover { background:rgba(16,185,129,0.04); }
.pub-gtd { padding:11px 14px; font-size:12px; color:var(--ssr-muted); vertical-align:middle; }
.pub-gtd.n { color:var(--ssr-text); font-weight:500; }
.pub-gtd.p { color:var(--ssr-heading); font-weight:700; text-align:center; font-size:13px; }
.pub-gid { display:inline-flex; align-items:center; justify-content:center; min-width:40px; padding:2px 7px; border-radius:8px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); color:var(--ssr-muted); font-size:10px; font-weight:700; font-family:monospace; }
.pub-badge { font-size:9px; font-weight:700; padding:3px 9px; border-radius:20px; text-transform:uppercase; }
.pub-badge.y  { background:rgba(16,185,129,0.12); color:var(--ssr-primary); border:1px solid rgba(16,185,129,0.22); }
.pub-badge.no { background:rgba(239,68,68,0.10); color:#f87171; border:1px solid rgba(239,68,68,0.18); }
.pub-info-btn { width:30px; height:30px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition:all 0.18s; cursor:pointer; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.05); color:var(--ssr-muted); }
.pub-info-btn:hover { color:var(--ssr-primary); background:rgba(16,185,129,0.10); border-color:rgba(16,185,129,0.22); }
.pub-srch { width:100%; padding:11px 44px 11px 16px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); border-radius:12px; color:var(--ssr-text); font-size:13px; outline:none; transition:all 0.2s; }
.pub-srch:focus { background:rgba(255,255,255,0.06); border-color:rgba(16,185,129,0.35); box-shadow:0 0 0 3px rgba(16,185,129,0.08); }
.pub-srch::placeholder { color:var(--ssr-muted); }
/* ═══ SHARED MODAL (matches user dashboard) ═══ */
.svc-modal-overlay { position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px; }
.svc-modal-bg { position:absolute;inset:0;background:rgba(0,0,0,0.72);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px); }
.svc-modal-box { position:relative;width:100%;max-width:520px;border-radius:20px;overflow:hidden;background:var(--ssr-card);border:1px solid rgba(255,255,255,0.09);box-shadow:0 40px 80px rgba(0,0,0,0.6); }
.svc-modal-header { padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,0.06);background:linear-gradient(135deg,rgba(16,185,129,0.07),rgba(5,150,105,0.03)); }
.svc-modal-label { font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ssr-primary);margin-bottom:5px; }
.svc-modal-title { font-size:14px;font-weight:700;color:var(--ssr-heading);line-height:1.45; }
.svc-modal-meta { margin-top:8px;display:flex;gap:7px;flex-wrap:wrap;align-items:center; }
.svc-modal-pill { font-size:10px;font-weight:700;padding:2px 9px;border-radius:6px;white-space:nowrap; }
.svc-modal-pill.id     { background:rgba(16,185,129,0.12);color:var(--ssr-primary);border:1px solid rgba(16,185,129,0.22); }
.svc-modal-pill.rate   { background:rgba(255,255,255,0.06);color:var(--ssr-text);border:1px solid rgba(255,255,255,0.09); }
.svc-modal-pill.refill { background:rgba(16,185,129,0.10);color:var(--ssr-primary-2);border:1px solid rgba(16,185,129,0.18); }
.svc-modal-close { position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s;flex-shrink:0; }
.svc-modal-close:hover { background:rgba(239,68,68,0.15);border-color:rgba(239,68,68,0.22); }
.svc-modal-stats { display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:rgba(255,255,255,0.04);border-bottom:1px solid rgba(255,255,255,0.05); }
.svc-modal-stat { background:var(--ssr-card);padding:11px 14px;text-align:center; }
.svc-modal-stat-label { font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#334155;margin-bottom:3px; }
.svc-modal-stat-val { font-size:13px;font-weight:700;color:var(--ssr-text); }
.svc-modal-desc-wrap { padding:18px 20px;max-height:280px;overflow-y:auto; }
.svc-modal-desc-wrap::-webkit-scrollbar { width:4px; }
.svc-modal-desc-wrap::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.08);border-radius:4px; }
.svc-modal-desc-heading { font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#334155;margin-bottom:10px; }
.svc-modal-desc-body { font-size:13px;color:var(--ssr-muted);line-height:1.8;white-space:pre-wrap;word-break:break-word; }
.svc-modal-footer { padding:12px 20px;border-top:1px solid rgba(255,255,255,0.05);background:rgba(0,0,0,0.18);display:flex;gap:8px; }
.svc-modal-order-btn { flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border-radius:11px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--ssr-primary),var(--ssr-secondary));text-decoration:none;transition:opacity 0.15s;border:none;cursor:pointer; }
.svc-modal-order-btn:hover { opacity:.88; }
.svc-modal-copy-btn { display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:11px;font-size:11px;font-weight:700;color:var(--ssr-muted);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);cursor:pointer;transition:all 0.15s;white-space:nowrap; }
.svc-modal-copy-btn:hover { color:var(--ssr-muted);background:rgba(255,255,255,0.07); }

/* ==== application/views/public/seo_page.php :: <style> block 1 ==== */
/* Prose styling for the rich-text body */
.seo-body{color:var(--ssr-muted);font-size:15px;line-height:1.8}
.seo-body h2{font-size:1.35rem;font-weight:800;color:var(--ssr-heading);margin:2.2rem 0 .8rem;letter-spacing:-.02em}
.seo-body h3{font-size:1.1rem;font-weight:700;color:var(--ssr-text);margin:1.8rem 0 .6rem}
.seo-body p{margin:0 0 1.1rem;color:var(--ssr-muted)}
.seo-body ul,.seo-body ol{margin:0 0 1.1rem;padding-left:1.4rem}
.seo-body li{margin-bottom:.45rem;color:var(--ssr-muted)}
.seo-body strong{color:var(--ssr-text);font-weight:700}
.seo-body a{color:var(--ssr-primary);text-decoration:underline;text-underline-offset:3px}
.seo-body a:hover{color:var(--ssr-primary-2)}
.seo-body blockquote{border-left:3px solid rgba(16,185,129,.4);padding:.8rem 1.2rem;background:rgba(16,185,129,.05);border-radius:0 10px 10px 0;margin:1.4rem 0;color:var(--ssr-muted);font-style:italic}
.seo-body img{max-width:100%;border-radius:12px;margin:1rem 0}
.seo-body hr{border:none;border-top:1px solid rgba(255,255,255,.07);margin:2rem 0}
/* Fallback empty-body notice (admin-visible only) */
.empty-body-notice{background:rgba(234,179,8,.06);border:1px dashed rgba(234,179,8,.25);border-radius:14px;padding:28px;text-align:center;color:#eab308;font-size:13px}
/* City chips */
.city-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;background:var(--ssr-card);border:1px solid rgba(255,255,255,.07);color:var(--ssr-muted);font-size:12px;font-weight:500;text-decoration:none;transition:all .18s}
.city-chip:hover{border-color:rgba(16,185,129,.3);color:var(--ssr-primary)}
.tg{background:linear-gradient(135deg,var(--ssr-primary),var(--ssr-primary-2) 55%,var(--ssr-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ld{width:6px;height:6px;border-radius:50%;background:var(--ssr-primary);display:inline-block;animation:lp 1.8s ease infinite}
@keyframes lp{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
