:root {
    --premium-bg: #07111f;
    --premium-card: rgba(255,255,255,.96);
    --premium-card-dark: rgba(12,24,42,.96);
    --premium-border: rgba(148,163,184,.28);
    --premium-accent: #f7c948;
    --premium-accent-2: #14b8a6;
    --premium-text: #102033;
    --premium-muted: #64748b;
    --premium-danger: #b91c1c;
    --premium-success: #047857;
}

.premium-page {
    background:
        radial-gradient(circle at 10% 0%, rgba(247,201,72,.22), transparent 28rem),
        radial-gradient(circle at 88% 12%, rgba(20,184,166,.18), transparent 24rem),
        linear-gradient(180deg, #07111f 0%, #0d1b2d 42%, #f3f6fb 42%, #f3f6fb 100%);
    min-height: 100vh;
    padding: clamp(1rem, 2vw, 2rem) 0 5rem;
}

.premium-container {
    width: min(1180px, calc(100% - 2rem));
    margin: 0 auto;
}

.premium-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .65fr);
    gap: 1.3rem;
    align-items: stretch;
    color: #fff;
    margin: 1rem auto 1.25rem;
}

.premium-hero__main,
.premium-hero__side,
.premium-card,
.premium-admin-card {
    border: 1px solid var(--premium-border);
    box-shadow: 0 22px 55px rgba(2,6,23,.14);
    border-radius: 26px;
}

.premium-hero__main {
    padding: clamp(1.35rem, 3vw, 2.6rem);
    background: linear-gradient(135deg, rgba(12,24,42,.96), rgba(18,35,58,.88));
    min-height: 285px;
}

.premium-hero__side {
    padding: 1.25rem;
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(10px);
}

.premium-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .32rem .72rem;
    border-radius: 999px;
    background: rgba(247,201,72,.16);
    color: #ffe08a;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .78rem;
}

.premium-hero h1 {
    margin: .9rem 0 .65rem;
    font-size: clamp(2.15rem, 4vw, 4.2rem);
    line-height: .96;
    letter-spacing: -.045em;
}

.premium-hero p {
    color: rgba(255,255,255,.82);
    max-width: 760px;
    font-size: 1.04rem;
}

.premium-quick-actions,
.premium-grid,
.premium-news-grid,
.premium-admin-grid {
    display: grid;
    gap: 1rem;
}

.premium-quick-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 1.1rem 0 0;
}

.premium-action {
    display: flex;
    min-height: 112px;
    flex-direction: column;
    justify-content: space-between;
    gap: .75rem;
    padding: 1rem;
    border-radius: 20px;
    color: #0f172a;
    background: #fff;
    text-decoration: none;
    font-weight: 900;
    border: 1px solid rgba(15,23,42,.08);
    transition: transform .18s ease, box-shadow .18s ease;
}

.premium-action:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(15,23,42,.18); }
.premium-action__icon { font-size: 1.8rem; }
.premium-action small { display:block; color: var(--premium-muted); font-weight: 700; margin-top: .25rem; }

.premium-grid { grid-template-columns: minmax(0, 1.55fr) minmax(300px, .72fr); align-items: start; }
.premium-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.premium-card {
    background: var(--premium-card);
    color: var(--premium-text);
    padding: clamp(1rem, 2vw, 1.45rem);
    margin-bottom: 1rem;
}

.premium-section-title {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
}

.premium-section-title h2,
.premium-card h2,
.premium-card h3 { margin: 0; color: #0f172a; }
.premium-section-title p { margin: .25rem 0 0; color: var(--premium-muted); }

.premium-news-card {
    border: 1px solid rgba(15,23,42,.09);
    border-radius: 20px;
    background: #fff;
    overflow: hidden;
    min-height: 100%;
}

.premium-news-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    display: block;
    background: #e2e8f0;
}

.premium-news-card__body { padding: .9rem; }
.premium-news-card__body h3 { font-size: 1.03rem; line-height: 1.18; margin: .35rem 0 .45rem; }
.premium-news-card__body a { color: #0f172a; text-decoration: none; }
.premium-news-card__body a:hover { color: #0d5c9f; }
.premium-meta { display:flex; flex-wrap: wrap; gap:.45rem; color: var(--premium-muted); font-size:.86rem; }

.premium-badge,
.premium-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: .28rem .58rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 900;
    background: #e0f2fe;
    color: #075985;
}

.premium-status-pending { background: #fef3c7; color: #92400e; }
.premium-status-in_review { background: #dbeafe; color: #1d4ed8; }
.premium-status-change_requested { background: #ffedd5; color: #c2410c; }
.premium-status-approved { background: #dcfce7; color: #166534; }
.premium-status-rejected { background: #fee2e2; color: #991b1b; }
.premium-status-published { background: #ede9fe; color: #5b21b6; }

.premium-list { display: grid; gap: .75rem; }
.premium-list-item {
    display: grid;
    gap: .5rem;
    padding: .9rem;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
}
.premium-list-item h3 { margin: 0; font-size: 1.02rem; }
.premium-list-item p { margin: 0; color: var(--premium-muted); }

.premium-btn,
.premium-admin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 42px;
    padding: .72rem 1rem;
    border-radius: 999px;
    border: 0;
    background: #0f172a;
    color: #fff !important;
    text-decoration: none;
    font-weight: 900;
    cursor: pointer;
}
.premium-btn.secondary,
.premium-admin-btn.secondary { background: #e2e8f0; color: #0f172a !important; }
.premium-btn.gold,
.premium-admin-btn.gold { background: var(--premium-accent); color: #231900 !important; }
.premium-btn.danger,
.premium-admin-btn.danger { background: #b91c1c; }

.premium-form { display:grid; gap: 1rem; }
.premium-form label { display:grid; gap:.35rem; font-weight:900; color:#0f172a; }
.premium-form input[type="text"],
.premium-form input[type="url"],
.premium-form input[type="datetime-local"],
.premium-form input[type="email"],
.premium-form select,
.premium-form textarea {
    width: 100%;
    border: 1px solid rgba(15,23,42,.16);
    border-radius: 14px;
    padding: .78rem .9rem;
    font: inherit;
    background: #fff;
    color: #0f172a;
}
.premium-form textarea { min-height: 150px; resize: vertical; }
.premium-form-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.premium-form-help { color: var(--premium-muted); font-size: .9rem; font-weight: 600; }

.premium-alert {
    border-radius: 18px;
    padding: .95rem 1rem;
    margin: 1rem 0;
    border: 1px solid rgba(15,23,42,.1);
    font-weight: 800;
}
.premium-alert.success { background: #dcfce7; color: #14532d; }
.premium-alert.error { background: #fee2e2; color: #7f1d1d; }
.premium-alert.info { background: #dbeafe; color: #1e3a8a; }

.premium-preferences {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}
.premium-check-card {
    display:flex !important;
    align-items:center;
    gap:.65rem;
    padding:.8rem;
    border:1px solid rgba(15,23,42,.1);
    border-radius:16px;
    background:#fff;
    font-weight:900;
}

.premium-ad {
    border-radius: 22px;
    overflow: hidden;
    background: #0f172a;
    border: 1px solid rgba(15,23,42,.08);
}
.premium-ad--horizontal img { width: 100%; aspect-ratio: 16 / 5; object-fit: cover; display:block; }
.premium-ad--square { max-width: 420px; }
.premium-ad--square img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display:block; }

.premium-floating-message {
    position: fixed;
    right: 20px;
    bottom: 22px;
    z-index: 80;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #16a34a;
    color: #fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size: 1.8rem;
    text-decoration:none;
    box-shadow: 0 18px 42px rgba(22,163,74,.4);
}
.premium-floating-message span {
    position:absolute;
    right:0;
    top:-6px;
    min-width:22px;
    height:22px;
    border-radius:999px;
    background:#dc2626;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.75rem;
    font-weight:900;
}

.premium-chat { display:grid; gap: .85rem; }
.premium-chat-message { max-width: 78%; padding:.82rem 1rem; border-radius: 18px; background:#f1f5f9; }
.premium-chat-message.reader { margin-left:auto; background:#dbeafe; }
.premium-chat-message.admin { margin-right:auto; background:#fff7ed; }
.premium-chat-message strong { display:block; margin-bottom:.2rem; }
.premium-chat-message small { display:block; color:var(--premium-muted); margin-top:.4rem; }

.premium-comments { margin-top: 2rem; }
.premium-comment { padding: 1rem; border:1px solid rgba(15,23,42,.1); border-radius:18px; background:#fff; margin:.75rem 0; }
.premium-comment__meta { display:flex; gap:.5rem; flex-wrap:wrap; color:var(--premium-muted); font-size:.88rem; margin-bottom:.45rem; }

.premium-admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.premium-admin-card { background:#fff; color:#0f172a; padding:1.1rem; margin-bottom:1rem; }
.premium-admin-card h2, .premium-admin-card h3 { margin-top:0; }
.premium-admin-toolbar { display:flex; gap:.75rem; flex-wrap:wrap; margin: 0 0 1rem; }
.premium-admin-table { width:100%; border-collapse: collapse; }
.premium-admin-table th, .premium-admin-table td { padding:.75rem; border-bottom:1px solid #e2e8f0; text-align:left; vertical-align:top; }
.premium-admin-table th { background:#f8fafc; }

@media (max-width: 900px) {
    .premium-hero,
    .premium-grid { grid-template-columns: 1fr; }
    .premium-quick-actions,
    .premium-news-grid,
    .premium-admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .premium-preferences { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .premium-quick-actions,
    .premium-news-grid,
    .premium-admin-grid,
    .premium-form-grid,
    .premium-preferences { grid-template-columns: 1fr; }
    .premium-chat-message { max-width: 100%; }
}

/* ==========================================================
   Área Premium — acabamento visual profissional
   Atualização: layout mais amplo, cards editoriais, hero premium,
   menu com aparência de painel e CTA flutuante mais discreto.
   ========================================================== */

:root {
    --premium-bg: #06101e;
    --premium-bg-2: #0b1a2d;
    --premium-bg-3: #10233b;
    --premium-surface: #ffffff;
    --premium-surface-soft: #f8fafc;
    --premium-card: rgba(255,255,255,.98);
    --premium-card-dark: rgba(10,22,39,.94);
    --premium-border: rgba(148,163,184,.22);
    --premium-border-strong: rgba(226,232,240,.72);
    --premium-accent: #f6bd3b;
    --premium-accent-dark: #b7791f;
    --premium-accent-2: #38bdf8;
    --premium-accent-3: #22c55e;
    --premium-text: #102033;
    --premium-muted: #64748b;
    --premium-shadow: 0 24px 70px rgba(2,8,23,.16);
    --premium-shadow-soft: 0 14px 38px rgba(15,23,42,.10);
    --premium-radius-xl: 30px;
    --premium-radius-lg: 22px;
    --premium-radius-md: 16px;
}

.premium-page {
    position: relative;
    isolation: isolate;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 12% 5%, rgba(246,189,59,.22), transparent 23rem),
        radial-gradient(circle at 84% 2%, rgba(56,189,248,.14), transparent 26rem),
        radial-gradient(circle at 72% 36%, rgba(34,197,94,.10), transparent 20rem),
        linear-gradient(180deg, var(--premium-bg) 0%, var(--premium-bg-2) 31rem, #eef3f8 31rem, #eef3f8 100%);
    min-height: 100vh;
    padding: clamp(1.25rem, 2.4vw, 2.6rem) 0 5.5rem;
}

.premium-page::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 31rem;
    pointer-events: none;
    z-index: -1;
    background:
        linear-gradient(135deg, rgba(255,255,255,.055) 0 1px, transparent 1px) 0 0 / 38px 38px,
        linear-gradient(45deg, rgba(246,189,59,.12), transparent 36%);
    mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
}

.premium-container {
    width: min(1280px, calc(100% - clamp(1.2rem, 4vw, 4rem)));
    margin: 0 auto;
}

.premium-alert {
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 12px 28px rgba(2,8,23,.12);
}

.premium-alert.info {
    background: linear-gradient(135deg, rgba(219,234,254,.96), rgba(239,246,255,.96));
    color: #1e3a8a;
}

.premium-hero {
    grid-template-columns: minmax(0, 1.48fr) minmax(330px, .72fr);
    gap: clamp(1rem, 2vw, 1.6rem);
    align-items: stretch;
    margin: .95rem auto 1.25rem;
}

.premium-hero__main,
.premium-hero__side,
.premium-card,
.premium-admin-card {
    border-radius: var(--premium-radius-xl);
    border: 1px solid var(--premium-border);
    box-shadow: var(--premium-shadow);
}

.premium-hero__main {
    position: relative;
    overflow: hidden;
    min-height: 360px;
    padding: clamp(1.6rem, 3.4vw, 3.35rem);
    background:
        linear-gradient(135deg, rgba(8,20,37,.98), rgba(12,34,62,.94)),
        radial-gradient(circle at 85% 0%, rgba(246,189,59,.28), transparent 18rem);
}

.premium-hero__main::before {
    content: "";
    position: absolute;
    right: -6rem;
    top: -7rem;
    width: 23rem;
    height: 23rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(246,189,59,.28), transparent 68%);
    filter: blur(2px);
}

.premium-hero__main::after {
    content: "EC";
    position: absolute;
    right: 1.3rem;
    bottom: -1rem;
    color: rgba(255,255,255,.045);
    font-family: Merriweather, Georgia, serif;
    font-size: clamp(7rem, 14vw, 12rem);
    font-weight: 900;
    letter-spacing: -.12em;
    pointer-events: none;
}

.premium-hero__main > *,
.premium-hero__side > * {
    position: relative;
    z-index: 1;
}

.premium-hero__side {
    position: relative;
    overflow: hidden;
    padding: clamp(1.25rem, 2vw, 1.7rem);
    background:
        linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.08)),
        rgba(10,22,39,.70);
    backdrop-filter: blur(16px);
}

.premium-hero__side::after {
    content: "";
    position: absolute;
    inset: auto -28% -28% auto;
    width: 13rem;
    height: 13rem;
    border-radius: 50%;
    background: rgba(56,189,248,.16);
}

.premium-eyebrow {
    min-height: 30px;
    padding: .38rem .82rem;
    border: 1px solid rgba(246,189,59,.32);
    background: linear-gradient(135deg, rgba(246,189,59,.22), rgba(246,189,59,.10));
    color: #ffe7a7;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
}

.premium-hero h1 {
    color: #fff;
    max-width: 820px;
    margin: 1.05rem 0 .8rem;
    font-size: clamp(2.75rem, 5vw, 5rem);
    line-height: .9;
    letter-spacing: -.06em;
    text-wrap: balance;
    text-shadow: 0 12px 28px rgba(0,0,0,.22);
}

.premium-hero h2 {
    color: #fff;
    margin: .9rem 0 .65rem;
    font-size: clamp(1.45rem, 2.2vw, 2.05rem);
}

.premium-hero p {
    color: rgba(255,255,255,.86);
    max-width: 850px;
    font-size: clamp(1.02rem, 1.35vw, 1.17rem);
    line-height: 1.65;
}

.premium-quick-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .9rem;
    margin: clamp(1.3rem, 2vw, 1.85rem) 0 0;
}

.premium-action {
    position: relative;
    overflow: hidden;
    min-height: 138px;
    padding: 1.1rem;
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
    border: 1px solid rgba(255,255,255,.74);
    box-shadow: 0 12px 26px rgba(2,8,23,.13);
}

.premium-action::after {
    content: "";
    position: absolute;
    inset: auto -2.8rem -3.2rem auto;
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    background: rgba(246,189,59,.16);
    transition: transform .22s ease, opacity .22s ease;
}

.premium-action:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 44px rgba(2,8,23,.22);
}

.premium-action:hover::after {
    transform: scale(1.2);
    opacity: .9;
}

.premium-action__icon {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: #fff7df;
    color: #7c4a03;
    font-size: 1.45rem;
    box-shadow: inset 0 0 0 1px rgba(246,189,59,.32);
}

.premium-action span:last-child {
    position: relative;
    z-index: 1;
    line-height: 1.15;
}

.premium-action small {
    color: #64748b;
    font-size: .83rem;
    line-height: 1.35;
}

.premium-card {
    position: relative;
    background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,250,252,.98));
    color: var(--premium-text);
    padding: clamp(1.15rem, 2.2vw, 1.7rem);
    margin-bottom: 1.15rem;
    border: 1px solid var(--premium-border-strong);
    box-shadow: var(--premium-shadow-soft);
}

.premium-grid {
    grid-template-columns: minmax(0, 1.62fr) minmax(330px, .76fr);
    gap: clamp(1rem, 2vw, 1.35rem);
    align-items: start;
}

.premium-section-title {
    padding-bottom: .95rem;
    border-bottom: 1px solid rgba(15,23,42,.08);
}

.premium-section-title h2,
.premium-card h2,
.premium-card h3 {
    color: #07111f;
    letter-spacing: -.025em;
}

.premium-section-title h2,
.premium-card > h2 {
    font-family: Merriweather, Georgia, serif;
    font-size: clamp(1.28rem, 2vw, 1.85rem);
}

.premium-section-title p,
.premium-card p {
    line-height: 1.6;
}

.premium-card > .premium-admin-toolbar {
    margin: 0;
}

.premium-admin-toolbar {
    display: flex;
    align-items: center;
    gap: .55rem;
    overflow-x: auto;
    padding: .15rem;
    scrollbar-width: thin;
}

.premium-admin-toolbar .premium-btn {
    min-height: 38px;
    white-space: nowrap;
    padding: .62rem .9rem;
    font-size: .87rem;
}

.premium-btn,
.premium-admin-btn {
    border-radius: 999px;
    min-height: 44px;
    padding: .78rem 1.08rem;
    background: linear-gradient(135deg, #07111f, #17233a);
    box-shadow: 0 10px 22px rgba(15,23,42,.13);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.premium-btn:hover,
.premium-admin-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(15,23,42,.18);
    filter: brightness(1.04);
}

.premium-btn.secondary,
.premium-admin-btn.secondary {
    background: #eef2f7;
    color: #0f172a !important;
    box-shadow: none;
    border: 1px solid rgba(15,23,42,.07);
}

.premium-btn.gold,
.premium-admin-btn.gold {
    background: linear-gradient(135deg, #ffd66b, #f6bd3b 54%, #d99a1a);
    color: #241600 !important;
    box-shadow: 0 14px 30px rgba(217,154,26,.28);
}

.premium-news-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.premium-news-card {
    position: relative;
    border-radius: 24px;
    border: 1px solid rgba(15,23,42,.08);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(15,23,42,.08);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.premium-news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 42px rgba(15,23,42,.15);
    border-color: rgba(246,189,59,.52);
}

.premium-news-card img {
    height: 174px;
    background: linear-gradient(135deg, #e2e8f0, #f8fafc);
}

.premium-news-card__body {
    padding: 1rem;
}

.premium-news-card__body h3 {
    font-size: clamp(.98rem, 1vw, 1.1rem);
    line-height: 1.24;
    margin: .55rem 0 .5rem;
    letter-spacing: -.015em;
}

.premium-badge,
.premium-status {
    padding: .34rem .66rem;
    border-radius: 999px;
    font-size: .74rem;
    letter-spacing: .015em;
}

.premium-badge {
    background: #fff7df;
    color: #8a5700;
    border: 1px solid rgba(246,189,59,.35);
}

.premium-list {
    gap: .85rem;
}

.premium-list-item {
    position: relative;
    padding: 1rem;
    background: #fff;
    border: 1px solid rgba(15,23,42,.075);
    border-radius: 20px;
    box-shadow: 0 8px 20px rgba(15,23,42,.055);
}

.premium-list-item h3 {
    color: #0f172a;
    line-height: 1.25;
}

.premium-form {
    gap: 1.05rem;
}

.premium-form label {
    gap: .45rem;
    color: #0f172a;
}

.premium-form input[type="text"],
.premium-form input[type="url"],
.premium-form input[type="datetime-local"],
.premium-form input[type="email"],
.premium-form select,
.premium-form textarea {
    border: 1px solid rgba(100,116,139,.28);
    border-radius: 16px;
    padding: .86rem .95rem;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(15,23,42,.02);
    transition: border-color .18s ease, box-shadow .18s ease;
}

.premium-form input:focus,
.premium-form select:focus,
.premium-form textarea:focus {
    outline: none;
    border-color: rgba(246,189,59,.85);
    box-shadow: 0 0 0 4px rgba(246,189,59,.18);
}

.premium-preferences {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}

.premium-check-card {
    position: relative;
    min-height: 50px;
    padding: .9rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(100,116,139,.18);
    background: #fff;
    box-shadow: 0 6px 15px rgba(15,23,42,.045);
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.premium-check-card:hover {
    transform: translateY(-2px);
    border-color: rgba(246,189,59,.55);
    box-shadow: 0 12px 25px rgba(15,23,42,.08);
}

.premium-check-card input {
    accent-color: #d99a1a;
}

.premium-check-card:has(input:checked) {
    background: linear-gradient(135deg, #fff7df, #ffffff);
    border-color: rgba(246,189,59,.9);
    box-shadow: 0 12px 28px rgba(217,154,26,.12);
}

.premium-ad {
    border-radius: 24px;
    border: 1px solid rgba(15,23,42,.09);
    box-shadow: 0 12px 26px rgba(15,23,42,.10);
}

.premium-ad--horizontal img {
    aspect-ratio: 16 / 5;
}

.premium-ad--square {
    max-width: none;
}

.premium-ad--square img {
    aspect-ratio: 1 / 1;
}

.premium-floating-message {
    right: 22px;
    bottom: 22px;
    width: auto;
    height: 58px;
    min-width: 58px;
    padding: 0 18px;
    gap: .55rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #16a34a, #22c55e);
    border: 1px solid rgba(255,255,255,.32);
    font-size: 1.35rem;
    box-shadow: 0 20px 48px rgba(22,163,74,.38);
}

.premium-floating-message::after {
    content: "Falar com Editorial";
    font-size: .9rem;
    font-weight: 900;
    letter-spacing: -.01em;
    color: #fff;
}

.premium-floating-message span {
    right: -4px;
    top: -7px;
}

.premium-chat {
    padding: .4rem;
}

.premium-chat-message {
    border-radius: 20px;
    box-shadow: 0 8px 20px rgba(15,23,42,.07);
}

.premium-chat-message.reader {
    background: linear-gradient(135deg, #dbeafe, #eff6ff);
}

.premium-chat-message.admin {
    background: linear-gradient(135deg, #fff7ed, #fffbeb);
}

.premium-comment {
    border-radius: 20px;
    box-shadow: 0 8px 20px rgba(15,23,42,.055);
}

.premium-admin-card {
    border-radius: 24px;
    border: 1px solid rgba(226,232,240,.88);
    box-shadow: var(--premium-shadow-soft);
}

.premium-admin-table {
    overflow: hidden;
    border-radius: 18px;
}

.premium-admin-table th {
    background: #f1f5f9;
    color: #0f172a;
    font-weight: 900;
}

.premium-admin-table td {
    background: #fff;
}

@media (min-width: 901px) {
    .premium-container > .premium-card:has(.premium-admin-toolbar) {
        position: sticky;
        top: 12px;
        z-index: 20;
        border-radius: 999px;
        padding: .55rem;
        background: rgba(255,255,255,.92);
        backdrop-filter: blur(14px);
    }
}

@media (max-width: 1100px) {
    .premium-quick-actions,
    .premium-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .premium-page {
        background:
            radial-gradient(circle at 12% 5%, rgba(246,189,59,.20), transparent 18rem),
            linear-gradient(180deg, var(--premium-bg) 0%, var(--premium-bg-2) 28rem, #eef3f8 28rem, #eef3f8 100%);
    }

    .premium-hero,
    .premium-grid {
        grid-template-columns: 1fr;
    }

    .premium-hero__main {
        min-height: auto;
    }

    .premium-preferences {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .premium-page {
        padding-top: 1rem;
    }

    .premium-container {
        width: min(100% - 1rem, 1280px);
    }

    .premium-hero h1 {
        font-size: clamp(2.15rem, 13vw, 3.4rem);
    }

    .premium-quick-actions,
    .premium-news-grid,
    .premium-admin-grid,
    .premium-form-grid,
    .premium-preferences {
        grid-template-columns: 1fr;
    }

    .premium-action {
        min-height: 104px;
    }

    .premium-section-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .premium-floating-message {
        width: 58px;
        padding: 0;
    }

    .premium-floating-message::after {
        content: "";
        display: none;
    }
}
