:root {
    --bg: #080b18;
    --bg-2: #0d1123;
    --panel: rgba(18, 24, 47, .86);
    --panel-strong: #12182f;
    --panel-soft: #171f3d;
    --line: rgba(150, 168, 255, .16);
    --text: #f8f9ff;
    --muted: #9aa8ca;
    --cyan: #5fe5ff;
    --blue: #4f78ff;
    --violet: #8f5cff;
    --pink: #ff4cae;
    --yellow: #ffd95a;
    --green: #5ce6a2;
    --red: #ff6d7d;
    --shadow: 0 24px 70px rgba(0, 0, 0, .36);
    --radius: 22px;
}

* { box-sizing: border-box; }
html { color-scheme: dark; }
body {
    margin: 0;
    min-height: 100vh;
    color: var(--text);
    background: var(--bg);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
input, select, textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: rgba(5, 9, 25, .74);
    color: var(--text);
    padding: .84rem .95rem;
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
input:focus, select:focus, textarea:focus {
    border-color: rgba(95, 229, 255, .72);
    box-shadow: 0 0 0 3px rgba(95, 229, 255, .10);
    background: rgba(7, 13, 34, .96);
}
textarea { resize: vertical; }

.app-backdrop {
    position: fixed;
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(circle at 10% 0%, rgba(79, 120, 255, .19), transparent 34%),
        radial-gradient(circle at 90% 5%, rgba(255, 76, 174, .14), transparent 32%),
        radial-gradient(circle at 50% 85%, rgba(143, 92, 255, .13), transparent 38%),
        linear-gradient(180deg, #080b18 0%, #090c19 58%, #070914 100%);
}
.app-backdrop::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .45;
    background-image:
        radial-gradient(circle at 20px 20px, rgba(255,255,255,.28) 1px, transparent 1.4px),
        radial-gradient(circle at 80px 60px, rgba(95,229,255,.20) 1px, transparent 1.4px);
    background-size: 110px 110px, 170px 170px;
    mask-image: linear-gradient(to bottom, black, transparent 75%);
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    min-height: 74px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 2rem;
    padding: .7rem max(1.1rem, calc((100vw - 1380px) / 2));
    background: rgba(7, 10, 22, .82);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(10px);
}
.brand-mini, .user-chip { display: flex; align-items: center; gap: .72rem; }
.brand-mini strong, .user-chip strong { display: block; font-size: .95rem; line-height: 1.1; }
.brand-mini small, .user-chip small { color: var(--muted); font-size: .72rem; }
.mini-ball, .item-orb, .empty-ball, .nexus-mark {
    position: relative;
    flex: 0 0 auto;
    border-radius: 50%;
    background: linear-gradient(#ef4867 0 46%, #f8f8ff 46% 100%);
    border: 2px solid #0a0d18;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.2), 0 8px 24px rgba(0,0,0,.28);
}
.mini-ball { width: 33px; height: 33px; }
.mini-ball::after, .item-orb::after, .empty-ball::after, .nexus-mark::after {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 46%;
    height: 10%;
    min-height: 4px;
    background: #0a0d18;
}
.mini-ball span, .item-orb span, .empty-ball span, .nexus-mark span {
    position: absolute;
    z-index: 2;
    left: 50%; top: 51%;
    transform: translate(-50%, -50%);
    width: 29%; height: 29%;
    border-radius: 50%;
    background: #f7f9ff;
    border: 3px solid #0a0d18;
}
.desktop-nav { justify-self: center; display: flex; align-items: center; gap: .25rem; }
.desktop-nav > a {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    color: var(--muted);
    padding: .65rem .82rem;
    border-radius: 11px;
    font-size: .88rem;
    font-weight: 700;
    transition: .2s ease;
}
.desktop-nav > a:hover, .desktop-nav > a.active { color: #fff; background: rgba(111, 132, 255, .11); }
.desktop-nav > a.active { box-shadow: inset 0 -2px 0 var(--cyan); }
.nav-badge {
    display: inline-grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 .35rem;
    border-radius: 999px;
    font-size: .7rem;
    color: #071016;
    background: var(--yellow);
}
.nav-badge-muted { color: var(--muted); background: rgba(154,168,202,.16); }
.user-menu { display: flex; align-items: center; gap: .5rem; }
.user-chip { padding: .36rem .5rem; border-radius: 12px; }
.user-chip:hover { background: rgba(255,255,255,.04); }
.avatar {
    width: 36px; height: 36px;
    display: inline-grid; place-items: center;
    flex: 0 0 auto;
    border-radius: 50%;
    font-weight: 900;
    background: linear-gradient(145deg, var(--blue), var(--violet));
    box-shadow: 0 8px 24px rgba(79,120,255,.22);
}
.avatar-large { width: 54px; height: 54px; font-size: 1.25rem; }
.icon-button {
    width: 38px; height: 38px;
    border: 1px solid var(--line);
    border-radius: 11px;
    color: var(--muted);
    background: rgba(255,255,255,.035);
}
.icon-button:hover { color: #fff; border-color: rgba(255,255,255,.24); }

.page-shell { width: min(1380px, calc(100% - 2rem)); margin: 0 auto; padding: 2.2rem 0 6.2rem; }
.page-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.page-heading h1 { margin: .15rem 0 .35rem; font-size: clamp(2rem, 5vw, 3.45rem); line-height: .98; letter-spacing: -.045em; }
.page-heading p { margin: 0; color: var(--muted); max-width: 720px; }
.eyebrow { color: var(--cyan) !important; font-size: .72rem !important; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.muted { color: var(--muted); }
.text-link, .panel-heading > a { color: var(--cyan); font-weight: 800; font-size: .88rem; }
.section-gap { margin-top: 1.2rem; }
.subheading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: .9rem; }
.subheading h2 { margin: .15rem 0 0; font-size: 1.45rem; }

.panel {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(180deg, rgba(22, 29, 57, .84), rgba(13, 18, 38, .86));
    box-shadow: var(--shadow);
    padding: 1.15rem;
    backdrop-filter: blur(8px);
}
.panel-form { padding: 1.35rem; }
.panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.panel-heading h2 { margin: .18rem 0 0; font-size: 1.35rem; }
.toolbar-panel { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.sticky-panel { position: sticky; top: 92px; align-self: start; }

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    min-height: 42px;
    border: 1px solid transparent;
    border-radius: 12px;
    padding: .72rem 1rem;
    font-weight: 850;
    color: #fff;
    transition: transform .15s ease, filter .15s ease, border-color .15s ease, background .15s ease;
}
.button:hover { transform: translateY(-1px); filter: brightness(1.06); }
.button:disabled { cursor: not-allowed; opacity: .5; transform: none; }
.button-primary { background: linear-gradient(135deg, #546eff, #875cf7 60%, #ba55f7); box-shadow: 0 12px 28px rgba(86, 104, 255, .22); }
.button-secondary { background: rgba(95,229,255,.08); border-color: rgba(95,229,255,.28); color: #c8f8ff; }
.button-success { background: linear-gradient(135deg, #25b979, #4ed99b); color: #06170f; }
.button-danger { background: rgba(255, 109, 125, .11); border-color: rgba(255,109,125,.34); color: #ff9ba7; }
.button-ghost { background: rgba(255,255,255,.035); border-color: var(--line); color: var(--muted); }
.button-full { width: 100%; }
.button-small { min-height: 34px; padding: .45rem .7rem; font-size: .78rem; }
.card-actions, .approval-actions { display: flex; gap: .6rem; flex-wrap: wrap; }
.card-actions .button { flex: 1; }

.alert {
    margin-bottom: 1rem;
    padding: .82rem 1rem;
    border-radius: 13px;
    border: 1px solid var(--line);
    font-weight: 700;
}
.alert-success { color: #bfffe0; background: rgba(92,230,162,.08); border-color: rgba(92,230,162,.22); }
.alert-error { color: #ffc3ca; background: rgba(255,109,125,.08); border-color: rgba(255,109,125,.23); }

.form-stack { display: grid; gap: 1rem; }
.form-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.field { display: grid; gap: .38rem; }
.field > span { font-size: .78rem; font-weight: 800; color: #dce3ff; }
.field em { color: var(--muted); font-style: normal; font-weight: 500; }
.field-error { color: #ff93a0; font-weight: 650; }
.field-span-2 { grid-column: span 2; }
.check-row { display: flex; align-items: center; gap: .55rem; color: var(--muted); font-size: .85rem; }
.check-row input { width: auto; accent-color: var(--blue); }
.inline-field { display: flex; align-items: center; gap: .7rem; }
.inline-field select { width: min(310px, 100%); }
.search-field {
    width: min(520px, 100%);
    display: flex;
    align-items: center;
    gap: .6rem;
    padding-left: .85rem;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(5,9,25,.7);
}
.search-field span { color: var(--cyan); font-size: 1.2rem; }
.search-field input { border: 0; background: transparent; box-shadow: none; }
.segmented { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; padding: .3rem; background: rgba(0,0,0,.18); border: 1px solid var(--line); border-radius: 13px; }
.segmented label { cursor: pointer; text-align: center; padding: .65rem; border-radius: 9px; color: var(--muted); font-weight: 800; }
.segmented label.selected { color: #fff; background: rgba(91,113,255,.16); box-shadow: inset 0 0 0 1px rgba(95,229,255,.12); }
.segmented input { display: none; }

.inventory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.inventory-grid-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.item-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: .9rem;
    min-height: 355px;
    padding: 1.2rem;
    border: 1px solid var(--line);
    border-radius: 24px;
    background:
        radial-gradient(circle at 15% 5%, rgba(95,229,255,.12), transparent 30%),
        linear-gradient(155deg, rgba(23,31,63,.94), rgba(12,16,35,.95));
    box-shadow: var(--shadow);
}
.item-card::after {
    content: "";
    position: absolute;
    width: 170px; height: 170px;
    right: -70px; top: -85px;
    border-radius: 50%;
    border: 1px solid rgba(95,229,255,.08);
    box-shadow: 0 0 0 25px rgba(95,229,255,.018), 0 0 0 50px rgba(95,229,255,.012);
}
.item-card-top { display: flex; justify-content: space-between; align-items: start; position: relative; z-index: 2; }
.item-orb { width: 88px; height: 88px; border-width: 4px; }
.item-orb span { border-width: 5px; }
.ball-great { background: linear-gradient(#478cff 0 46%, #f8f8ff 46% 100%); }
.ball-great::before { content: ""; position: absolute; z-index: 1; inset: 8px 12px auto; height: 16px; border: 6px solid #ef476f; border-bottom: 0; border-radius: 22px 22px 0 0; }
.ball-ultra { background: linear-gradient(#1b2130 0 46%, #f8f8ff 46% 100%); }
.ball-ultra::before { content: ""; position: absolute; z-index: 1; left: 15px; right: 15px; top: 4px; height: 38px; border-left: 10px solid #ffd43b; border-right: 10px solid #ffd43b; }
.quantity-badge { min-width: 58px; padding: .55rem .7rem; border-radius: 999px; background: rgba(5,8,20,.68); border: 1px solid var(--line); color: var(--yellow); font-size: 1rem; font-weight: 900; text-align: center; }
.item-card-body { flex: 1; position: relative; z-index: 2; }
.item-card-body h2 { margin: .45rem 0 .35rem; font-size: 1.55rem; }
.item-card-body p { margin: 0; color: var(--muted); line-height: 1.5; }
.category-tag { display: inline-flex; padding: .25rem .48rem; border-radius: 999px; color: #bdf5ff; background: rgba(95,229,255,.08); border: 1px solid rgba(95,229,255,.14); font-size: .62rem; font-weight: 900; letter-spacing: .08em; }
.item-meta { display: flex; justify-content: space-between; gap: .6rem; align-items: center; color: var(--muted); font-size: .78rem; }
.item-meta strong { color: #fff; }
.pending-note { color: var(--yellow); }
.compact-card { min-height: 250px; }
.compact-card .item-orb { width: 64px; height: 64px; }

.request-list { display: grid; gap: .65rem; }
.request-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .85rem;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(17,23,46,.72);
}
.request-row.dense { padding: .75rem .85rem; }
.request-main { min-width: 0; }
.request-title { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.request-main p { margin: .25rem 0; color: var(--muted); font-size: .85rem; }
.request-main small { display: block; color: #7f8db3; margin-top: .18rem; }
.request-main .reason { color: #ffbdc5; }
.request-row time { color: var(--muted); font-size: .75rem; white-space: nowrap; }
.status { display: inline-flex; align-items: center; width: fit-content; border-radius: 999px; padding: .28rem .55rem; font-size: .68rem; font-weight: 900; }
.status-pending { color: #ffe399; background: rgba(255,217,90,.10); border: 1px solid rgba(255,217,90,.20); }
.status-approved { color: #bfffe0; background: rgba(92,230,162,.10); border: 1px solid rgba(92,230,162,.20); }
.status-rejected { color: #ffc0c8; background: rgba(255,109,125,.10); border: 1px solid rgba(255,109,125,.20); }
.status-cancelled { color: #b7c0dd; background: rgba(154,168,202,.09); border: 1px solid rgba(154,168,202,.16); }

.stats-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.stat-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 145px;
    padding: 1.2rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(150deg, rgba(24,32,65,.91), rgba(13,18,39,.9));
    box-shadow: var(--shadow);
}
.stat-card.stat-alert { background: linear-gradient(150deg, rgba(64,48,24,.62), rgba(30,21,31,.9)); border-color: rgba(255,217,90,.18); }
.stat-icon { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 16px; color: var(--cyan); background: rgba(95,229,255,.08); font-size: 1.5rem; font-weight: 900; }
.stat-card small, .stat-card span { display: block; color: var(--muted); }
.stat-card strong { display: block; margin: .1rem 0; font-size: 2.25rem; line-height: 1; }

.player-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.player-card { padding: 1.15rem; border: 1px solid var(--line); border-radius: 20px; background: rgba(17,23,46,.76); box-shadow: 0 14px 40px rgba(0,0,0,.22); }
.player-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .8rem; }
.player-card h2 { margin: 0 0 .15rem; }
.player-card > p { margin: 0; color: var(--muted); }
.player-meta { display: grid; gap: .25rem; margin: .8rem 0 1rem; color: #8795ba; font-size: .78rem; }

.master-inventory-layout, .catalog-layout { display: grid; grid-template-columns: minmax(280px, 360px) 1fr; gap: 1.2rem; align-items: start; }
.catalog-list { display: grid; gap: .7rem; }
.catalog-card { display: flex; gap: .9rem; align-items: center; padding: 1rem; border: 1px solid var(--line); border-radius: 17px; background: rgba(17,23,46,.72); }
.catalog-main { flex: 1; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.catalog-main h3 { margin: .35rem 0 .2rem; }
.catalog-main p { margin: 0; color: var(--muted); }
.catalog-actions { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }

.approval-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .8rem; }
.approval-card { display: grid; gap: .9rem; padding: 1rem; border: 1px solid rgba(255,217,90,.14); border-radius: 18px; background: linear-gradient(145deg, rgba(27,31,56,.95), rgba(15,20,39,.9)); }
.approval-user { display: flex; align-items: center; gap: .7rem; }
.approval-user small { display: block; color: var(--muted); }
.approval-item { display: flex; align-items: center; gap: .8rem; padding: .8rem; border-radius: 14px; background: rgba(4,7,20,.35); }
.approval-item h3 { margin: .1rem 0; font-size: 1.1rem; }
.approval-item p, .approval-item small { margin: 0; color: var(--muted); }
.approval-card > time { color: var(--muted); font-size: .74rem; }
.approval-actions .button { flex: 1; }
.count-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; border-radius: 999px; background: rgba(255,217,90,.10); color: var(--yellow); font-size: .85rem; vertical-align: middle; }
.rejection-panel { display: grid; grid-template-columns: 1fr 1.3fr auto; gap: 1rem; align-items: end; border-color: rgba(255,109,125,.22); }

.timeline { display: grid; gap: .4rem; }
.timeline-row { position: relative; display: grid; grid-template-columns: 24px 1fr; gap: .75rem; }
.timeline-row::before { content: ""; position: absolute; left: 11px; top: 28px; bottom: -10px; width: 2px; background: var(--line); }
.timeline-row:last-child::before { display: none; }
.timeline-marker { width: 14px; height: 14px; margin-top: 20px; justify-self: center; border-radius: 50%; box-shadow: 0 0 0 5px rgba(95,229,255,.06); }
.timeline-marker.positive { background: var(--green); }
.timeline-marker.negative { background: var(--pink); }
.timeline-card { padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 15px; background: rgba(17,23,46,.70); }
.timeline-head, .timeline-foot { display: flex; justify-content: space-between; align-items: center; gap: .8rem; }
.timeline-card p { margin: .25rem 0; color: var(--muted); font-size: .85rem; }
.timeline-card small { color: #c0cae6; }
.timeline-foot { margin-top: .55rem; color: #7381a7; font-size: .72rem; }
.movement { display: inline-flex; min-width: 38px; justify-content: center; padding: .28rem .5rem; border-radius: 8px; font-weight: 900; }
.movement-in { color: #bfffe0; background: rgba(92,230,162,.09); }
.movement-out { color: #ffc0c8; background: rgba(255,109,125,.09); }

.table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 18px; background: rgba(14,19,40,.82); box-shadow: var(--shadow); }
.data-table { width: 100%; border-collapse: collapse; min-width: 1050px; }
.data-table th { position: sticky; top: 0; z-index: 1; text-align: left; padding: .8rem; font-size: .67rem; letter-spacing: .07em; text-transform: uppercase; color: #8998bf; background: #11172f; }
.data-table td { padding: .8rem; border-top: 1px solid rgba(150,168,255,.09); color: #cbd4ef; font-size: .82rem; vertical-align: top; }
.data-table tr:hover td { background: rgba(95,229,255,.025); }
.nowrap { white-space: nowrap; }

.empty-state { grid-column: 1 / -1; min-height: 280px; display: grid; place-items: center; align-content: center; text-align: center; gap: .4rem; padding: 2rem; border: 1px dashed rgba(150,168,255,.22); border-radius: 22px; background: rgba(14,19,40,.46); }
.empty-state.compact { min-height: 150px; }
.empty-state h2 { margin: .35rem 0 0; }
.empty-state p { margin: 0; color: var(--muted); }
.empty-ball { width: 70px; height: 70px; }
.empty-inline { padding: 1rem; color: var(--muted); text-align: center; border-radius: 13px; background: rgba(255,255,255,.025); }
.empty-inline.large { grid-column: 1 / -1; padding: 2rem; }

.mobile-nav { display: none; }

.guest-body {
    min-height: 100vh;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 14% 16%, rgba(79,120,255,.28), transparent 28%),
        radial-gradient(circle at 84% 12%, rgba(255,76,174,.17), transparent 28%),
        radial-gradient(circle at 58% 86%, rgba(143,92,255,.18), transparent 34%),
        #070a16;
}
.stars { position: fixed; inset: 0; pointer-events: none; opacity: .45; }
.stars-one { background-image: radial-gradient(circle at 10px 10px, white 1px, transparent 1.3px); background-size: 92px 92px; }
.stars-two { background-image: radial-gradient(circle at 40px 80px, #5fe5ff 1px, transparent 1.4px); background-size: 157px 157px; }
.guest-shell { width: min(1120px, calc(100% - 2rem)); min-height: 100vh; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 2rem; padding: 2rem 0; }
.brand-panel { position: relative; min-height: 550px; display: flex; flex-direction: column; justify-content: center; padding: 2rem; }
.brand-panel h1 { margin: .2rem 0 .7rem; max-width: 560px; font-size: clamp(3rem, 8vw, 5.8rem); line-height: .85; letter-spacing: -.07em; background: linear-gradient(135deg, #fff 10%, #8ef0ff 55%, #ac8aff); -webkit-background-clip: text; color: transparent; }
.brand-copy { max-width: 480px; color: var(--muted); line-height: 1.65; }
.nexus-mark { width: 98px; height: 98px; margin-bottom: 1rem; box-shadow: 0 0 60px rgba(79,120,255,.30); }
.brand-orbit { position: absolute; width: 420px; height: 420px; border: 1px solid rgba(95,229,255,.08); border-radius: 50%; left: -110px; top: 50%; transform: translateY(-50%); box-shadow: 0 0 0 50px rgba(95,229,255,.018), 0 0 0 100px rgba(143,92,255,.012); z-index: -1; }
.auth-panel { display: flex; justify-content: center; }
.auth-card { width: min(430px, 100%); padding: 1.5rem; border-radius: 24px; border: 1px solid var(--line); background: rgba(15,21,43,.82); box-shadow: var(--shadow); backdrop-filter: blur(10px); }
.auth-card-wide { width: min(620px, 100%); }
.auth-card h2 { margin: .2rem 0 .3rem; font-size: 2rem; }
.auth-card > .muted { margin: 0 0 1.2rem; }
.auth-footer { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); text-align: center; color: var(--muted); font-size: .84rem; }
.auth-footer a { color: var(--cyan); font-weight: 800; }

@media (max-width: 1080px) {
    .desktop-nav { display: none; }
    .topbar { grid-template-columns: 1fr auto; }
    .stats-grid, .player-grid, .inventory-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .approval-grid { grid-template-columns: 1fr; }
    .master-inventory-layout, .catalog-layout { grid-template-columns: 320px 1fr; }
    .rejection-panel { grid-template-columns: 1fr; align-items: stretch; }
}

@media (max-width: 760px) {
    body { padding-bottom: 72px; }
    .topbar { min-height: 64px; padding: .55rem .8rem; }
    .brand-mini strong { font-size: .85rem; }
    .brand-mini small { display: none; }
    .user-chip > span:last-child { display: none; }
    .page-shell { width: min(100% - 1rem, 1380px); padding-top: 1.25rem; padding-bottom: 2rem; }
    .page-heading { align-items: flex-start; flex-direction: column; margin-bottom: 1rem; }
    .page-heading h1 { font-size: 2.25rem; }
    .page-heading .button { width: 100%; }
    .mobile-nav {
        position: fixed;
        z-index: 50;
        left: .55rem; right: .55rem; bottom: .55rem;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        padding: .4rem;
        border: 1px solid var(--line);
        border-radius: 18px;
        background: rgba(10,14,29,.93);
        box-shadow: 0 18px 60px rgba(0,0,0,.5);
        backdrop-filter: blur(10px);
    }
    .mobile-nav a { display: grid; place-items: center; gap: .12rem; padding: .42rem .25rem; color: #8290b5; font-size: .62rem; font-weight: 800; border-radius: 12px; }
    .mobile-nav a span { font-size: 1rem; }
    .mobile-nav a.active { color: #fff; background: rgba(82,106,255,.16); }
    .stats-grid, .player-grid, .inventory-grid, .inventory-grid-compact { grid-template-columns: 1fr; }
    .item-card { min-height: 325px; }
    .request-row { grid-template-columns: auto 1fr; }
    .request-row > .button { grid-column: 1 / -1; }
    .request-title { align-items: flex-start; flex-direction: column; }
    .master-inventory-layout, .catalog-layout { grid-template-columns: 1fr; }
    .sticky-panel { position: static; }
    .catalog-main { align-items: flex-start; flex-direction: column; }
    .catalog-actions { justify-content: flex-start; }
    .toolbar-panel { flex-direction: column; align-items: stretch; }
    .inline-field { align-items: stretch; flex-direction: column; }
    .inline-field select { width: 100%; }
    .form-grid-2 { grid-template-columns: 1fr; }
    .field-span-2 { grid-column: auto; }
    .timeline-foot { align-items: flex-start; flex-direction: column; gap: .2rem; }
    .guest-shell { grid-template-columns: 1fr; padding: 1rem 0 2rem; }
    .brand-panel { min-height: auto; padding: 3rem 1rem 1rem; text-align: center; align-items: center; }
    .brand-panel h1 { font-size: 3.4rem; }
    .brand-copy { font-size: .9rem; }
    .brand-orbit { width: 300px; height: 300px; left: 50%; top: 45%; transform: translate(-50%, -50%); }
    .auth-card { padding: 1.1rem; }
}

@media (max-width: 430px) {
    .brand-mini .mini-ball { width: 29px; height: 29px; }
    .user-menu { gap: .2rem; }
    .avatar { width: 32px; height: 32px; }
    .item-orb { width: 76px; height: 76px; }
    .approval-actions, .card-actions { flex-direction: column; }
    .approval-actions .button, .card-actions .button { width: 100%; }
    .segmented { grid-template-columns: 1fr; }
}

.profile-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: 1rem; align-items: start; }
@media (max-width: 760px) { .profile-layout { grid-template-columns: 1fr; } }


/* Nexus tools */
.tool-nav-link { white-space: nowrap; }
.tool-shell { display: grid; gap: 1rem; }
.tool-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.tool-heading h1 { margin: .1rem 0 .25rem; }
.tool-heading p:not(.eyebrow) { margin: 0; color: var(--muted); }
.tool-frame { width: 100%; min-height: calc(100vh - 190px); border: 1px solid var(--line); border-radius: 22px; background: #050711; box-shadow: var(--shadow); }

/* Item images */
.item-image { width: 96px; height: 96px; padding: .35rem; border-radius: 22px; border: 1px solid rgba(95,229,255,.16); background: radial-gradient(circle, rgba(95,229,255,.12), rgba(7,11,28,.82)); overflow: hidden; position: relative; z-index: 2; }
.item-image img { width: 100%; height: 100%; object-fit: contain; display: block; }
.item-image-compact { width: 72px; height: 72px; }
.catalog-thumb { flex: 0 0 76px; width: 76px; height: 76px; padding: .3rem; display: grid; place-items: center; overflow: hidden; border-radius: 16px; border: 1px solid rgba(95,229,255,.14); background: rgba(5,9,25,.55); }
.catalog-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.upload-drop { min-height: 110px; display: grid; place-items: center; align-content: center; gap: .25rem; padding: 1rem; border: 1px dashed rgba(95,229,255,.35); border-radius: 16px; background: rgba(95,229,255,.035); cursor: pointer; text-align: center; transition: .18s ease; }
.upload-drop:hover { border-color: var(--cyan); background: rgba(95,229,255,.07); }
.upload-drop input { display: none; }
.upload-drop strong { color: #eafcff; }
.upload-drop small, .upload-loading { color: var(--muted); font-size: .75rem; }
.image-preview-box { display: flex; align-items: center; gap: .8rem; margin-top: .7rem; padding: .65rem; border: 1px solid var(--line); border-radius: 14px; background: rgba(5,9,25,.5); }
.image-preview-box img { width: 92px; height: 92px; object-fit: contain; border-radius: 12px; background: rgba(255,255,255,.03); }
.image-preview-box > span, .image-preview-box div span { display: block; color: var(--muted); font-size: .75rem; margin-bottom: .25rem; }
.danger-link { color: #ff9bab !important; background: none; border: 0; padding: 0; cursor: pointer; }

@media(max-width:900px){
    .tool-heading { align-items: stretch; flex-direction: column; }
    .tool-frame { min-height: calc(100vh - 230px); border-radius: 16px; }
}

@media(max-width:760px){
    .mobile-nav { overflow-x: auto; justify-content: flex-start; }
    .mobile-nav a { min-width: 76px; flex: 0 0 auto; }
}

/* Economy, shop and transfers */
.wallet-panel {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: 1rem 1.2rem; border: 1px solid rgba(255,217,90,.20); border-radius: 20px;
    background: linear-gradient(135deg, rgba(77,58,18,.45), rgba(19,22,45,.92)); box-shadow: var(--shadow);
}
.wallet-panel > div { display: grid; gap: .15rem; }
.wallet-label { color: #d9c27c; font-size: .7rem; font-weight: 900; letter-spacing: .12em; }
.wallet-value { color: #ffe77d; font-size: 2rem; line-height: 1.1; text-shadow: 0 0 24px rgba(255,217,90,.18); }
.wallet-value.small { font-size: 1.45rem; margin: .15rem 0; }
.wallet-panel small { color: var(--muted); }
.money-inline { display: inline-block; margin-top: .45rem; color: #ffe77d; font-size: .8rem; }
.item-action-stack { display: grid; gap: .45rem; }

/* Modal visibility guard — prevents hidden dialogs from covering the page on first load. */
.modal-backdrop.hidden,
.modal-backdrop[aria-hidden="true"] { display: none !important; }

.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; background: rgba(3,5,14,.82); backdrop-filter: blur(8px); }
.modal-panel { width: min(520px, 100%); padding: 1.3rem; border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(160deg,#151d3b,#0b1024); box-shadow: 0 30px 100px rgba(0,0,0,.6); }
.modal-panel h2 { margin: .2rem 0 .35rem; }
.modal-panel .field { margin-top: .85rem; }

.shop-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.shop-card { display: flex; flex-direction: column; gap: .8rem; min-height: 350px; padding: 1rem; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(155deg,rgba(19,27,56,.94),rgba(10,14,31,.96)); box-shadow: 0 16px 45px rgba(0,0,0,.24); }
.shop-card-main { display: flex; flex: 1; flex-direction: column; }
.shop-card-main h3 { margin: .4rem 0 .25rem; font-size: 1.2rem; }
.shop-card-main p { margin: 0; color: var(--muted); line-height: 1.45; font-size: .83rem; }
.shop-meta { display: flex; justify-content: space-between; gap: .6rem; align-items: center; margin-top: auto; padding-top: .9rem; color: var(--muted); font-size: .75rem; }
.shop-meta strong { color: #ffe77d; font-size: 1rem; }
.small-thumb { width: 54px; height: 54px; flex-basis: 54px; }
.stacked-panels { display: grid; gap: 1rem; }
.transfer-card { border-color: rgba(95,229,255,.20); }
.money-card { border-color: rgba(255,217,90,.22); }

@media(max-width:1080px){ .shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:760px){
    .wallet-panel { align-items: stretch; flex-direction: column; }
    .wallet-panel .button { width: 100%; }
    .shop-grid { grid-template-columns: 1fr; }
    .shop-card { min-height: 300px; }
}
/* v0.5 - fichas e Pokémon */
.trainer-sheet { display:flex; flex-direction:column; gap:1rem; }
.sheet-hero { display:grid; grid-template-columns:220px 1fr; gap:1.2rem; padding:1.2rem; }
.trainer-photo { min-height:240px; display:flex; flex-direction:column; gap:.8rem; align-items:center; justify-content:center; border:1px dashed var(--line); border-radius:20px; background:rgba(5,10,28,.55); }
.trainer-photo img { width:min(100%,320px); height:auto; max-height:440px; object-fit:contain; border-radius:18px; background:rgba(0,0,0,.18); }
.trainer-photo>span { font-size:5rem; opacity:.55; }
.sheet-fields label,.trainer-sheet label,.pokemon-form label { display:flex; flex-direction:column; gap:.38rem; color:var(--muted); font-size:.78rem; font-weight:700; }
.sheet-fields input,.trainer-sheet input,.trainer-sheet textarea,.trainer-sheet select,.pokemon-form input,.pokemon-form select { width:100%; padding:.75rem .8rem; border:1px solid var(--line); border-radius:12px; background:rgba(5,10,28,.72); color:var(--text); }
.trainer-sheet textarea { min-height:86px; resize:vertical; }
.form-grid { display:grid; gap:.8rem; } .form-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sheet-columns { display:grid; grid-template-columns:1.4fr .8fr; gap:1rem; }
.sheet-columns>.panel,.trainer-sheet>.panel { padding:1.2rem; }
.attribute-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; }
.attribute-grid input { font-size:1.5rem; text-align:center; }
.skills-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; }
.team-strip { display:flex; gap:.6rem; flex-wrap:wrap; }.team-strip span { padding:.55rem .8rem; border:1px solid var(--line); border-radius:999px; background:rgba(95,229,255,.06); }
.form-actions { display:flex; gap:.7rem; justify-content:flex-end; }
.pokemon-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.pokemon-card { display:grid; grid-template-columns:150px 1fr; gap:1rem; padding:1rem; }.pokemon-art { width:140px; height:140px; object-fit:contain; }.pokemon-card .card-actions { grid-column:1/-1; }.move-slots { display:grid; grid-template-columns:repeat(2,1fr); gap:.35rem; margin-top:.7rem; }.move-slots span { padding:.4rem .55rem; border-radius:9px; background:rgba(95,229,255,.06); font-size:.75rem; }
.pokemon-form { padding:1.2rem; }.move-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }.move-plus { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--cyan); color:#07101c; margin-right:.3rem; }
@media(max-width:900px){.sheet-hero,.sheet-columns,.pokemon-card{grid-template-columns:1fr}.form-grid.three,.skills-grid{grid-template-columns:repeat(2,1fr)}.pokemon-grid{grid-template-columns:1fr}}
@media(max-width:560px){.form-grid.three,.skills-grid,.attribute-grid,.move-form-grid{grid-template-columns:1fr}}

/* Performance / large catalog UI */
.catalog-autocomplete { position: relative; }
.catalog-results {
    display: none;
    position: absolute;
    z-index: 80;
    left: 0;
    right: 0;
    top: calc(100% + .35rem);
    max-height: 290px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: .35rem;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #0b1024;
    box-shadow: 0 18px 50px rgba(0,0,0,.42);
}
.catalog-results.open { display: grid; gap: .2rem; }
.catalog-result-option {
    width: 100%;
    border: 0;
    border-radius: 10px;
    padding: .72rem .8rem;
    color: #e9efff;
    background: transparent;
    text-align: left;
    line-height: 1.3;
    cursor: pointer;
}
.catalog-result-option:hover, .catalog-result-option:focus { background: rgba(95,229,255,.09); outline: none; }
.catalog-result-empty { padding: .75rem; color: var(--muted); font-size: .85rem; }
.catalog-results-wide { min-width: min(520px, 90vw); }

.shine-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    margin: 1.2rem 0 .35rem;
    color: var(--muted);
}
.shine-pager .disabled, .shine-pager button:disabled { opacity: .4; pointer-events: none; }

/* Store thumbnails intentionally match inventory thumbnails. */
.shop-image {
    width: 96px;
    height: 96px;
    min-width: 96px;
    min-height: 96px;
    align-self: flex-start;
    display: grid;
    place-items: center;
    padding: .35rem;
    border-radius: 22px;
    border: 1px solid rgba(95,229,255,.16);
    background: radial-gradient(circle, rgba(95,229,255,.12), rgba(7,11,28,.82));
    overflow: hidden;
}
.shop-image img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; display: block; }

/* Avoid painting cards that are far outside the viewport. */
.item-card, .shop-card, .catalog-card, .player-card, .pokemon-card, .timeline-card {
    content-visibility: auto;
    contain-intrinsic-size: 320px;
}

@media(max-width: 760px) {
    .catalog-results-wide { min-width: 100%; }
    .shine-pager { justify-content: space-between; }
    .topbar, .panel, .auth-card, .modal-backdrop { backdrop-filter: none; }
}

/* Pokémon roster, backups and local Pokédex media */
.page-header-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.55rem; }
.pokemon-roster-section { padding:1.15rem; }
.team-slot-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.team-slot { position:relative; min-width:0; }
.team-slot-number { position:absolute; z-index:4; top:.55rem; right:.65rem; padding:.25rem .5rem; border-radius:999px; background:rgba(3,7,22,.82); border:1px solid rgba(95,229,255,.28); color:var(--cyan); font-size:.68rem; font-weight:900; letter-spacing:.08em; }
.team-empty-slot { min-height:250px; display:grid; place-items:center; align-content:center; gap:.35rem; border:1px dashed rgba(95,229,255,.28); border-radius:20px; color:var(--muted); background:rgba(95,229,255,.025); }
.team-empty-slot span { font-size:2.4rem; color:var(--cyan); opacity:.75; }.team-empty-slot strong{color:var(--text)}
.pokemon-card { grid-template-columns:150px minmax(0,1fr); align-items:start; }
.pokemon-card-media { display:grid; gap:.55rem; justify-items:center; }
.pokemon-art-fallback { width:140px; height:140px; display:grid; place-items:center; border-radius:50%; font-size:3rem; background:radial-gradient(circle,rgba(124,92,255,.2),transparent 70%); }
.pokemon-card-info { min-width:0; }.pokemon-card-info h2 { margin:.45rem 0 .25rem; }
.pokemon-card-tags { display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; }
.location-tag { padding:.28rem .55rem; border-radius:999px; font-size:.67rem; font-weight:900; letter-spacing:.07em; border:1px solid var(--line); }
.location-tag.team { color:#91f7c7; background:rgba(86,227,159,.08); border-color:rgba(86,227,159,.35); }.location-tag.bank { color:#b8c9ee; background:rgba(111,132,180,.08); }
.pokemon-card-pending { border-color:rgba(255,199,93,.38); }
.pokemon-card-actions { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; }
.pokemon-card-actions form { margin:0; }
.button-audio { background:linear-gradient(135deg,#0d9ed8,#6b52e9); color:#fff; }
.button:disabled, button:disabled { opacity:.45; cursor:not-allowed; filter:grayscale(.25); }
.modal-wide { width:min(760px,100%); max-height:88vh; overflow:auto; }
.backup-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1rem 0 .65rem; }
.backup-pokemon-list { display:grid; gap:.45rem; max-height:48vh; overflow:auto; padding:.2rem; }
.backup-pokemon-row { display:flex; align-items:center; gap:.7rem; padding:.7rem .8rem; border:1px solid var(--line); border-radius:12px; background:rgba(95,229,255,.035); cursor:pointer; }
.backup-pokemon-row input { width:18px; height:18px; flex:0 0 auto; }.backup-pokemon-row span{display:grid;gap:.12rem}.backup-pokemon-row small{color:var(--muted)}
.file-drop { display:grid; gap:.5rem; padding:1rem; margin:.85rem 0; border:1px dashed rgba(95,229,255,.35); border-radius:14px; background:rgba(95,229,255,.035); color:var(--muted); }
.pokemon-request-thumb { width:70px; height:70px; display:grid; place-items:center; flex:0 0 70px; }.pokemon-request-thumb img{width:100%;height:100%;object-fit:contain}
.pokemon-form-media { display:flex; align-items:center; gap:1rem; padding:1rem; margin-bottom:1rem; }.pokemon-form-media img { width:130px; height:130px; object-fit:contain; }

@media(max-width:1050px){.team-slot-grid{grid-template-columns:1fr}}
@media(max-width:700px){.page-header-actions{justify-content:flex-start}.pokemon-card{grid-template-columns:1fr}.pokemon-card-media{justify-items:start}.team-empty-slot{min-height:170px}.pokemon-form-media{align-items:flex-start}.pokemon-form-media img{width:100px;height:100px}}

/* v0.7.0 — ficha Pokémon, foto e busca no Banco */
.form-grid.five { grid-template-columns: repeat(5, minmax(0,1fr)); }
.pokemon-combat-panel { border-top:1px solid rgba(255,255,255,.08); padding-top:1rem; }
.pokemon-stat-grid input[readonly] { opacity:.82; cursor:default; background:rgba(255,255,255,.035); }
.combat-rule-note { margin:.65rem 0 0; }
.pokemon-combat-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.45rem; margin:.75rem 0; }
.pokemon-combat-summary span { display:flex; flex-direction:column; gap:.15rem; padding:.5rem .6rem; border:1px solid rgba(255,255,255,.08); background:rgba(95,229,255,.045); border-radius:10px; }
.pokemon-combat-summary small { color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.04em; }
.pokemon-combat-summary strong { font-size:1rem; }
.pokemon-bank-search { display:flex; gap:.7rem; align-items:center; margin:.7rem 0 1rem; padding:.8rem; }
.pokemon-bank-search .search-field { flex:1; margin:0; }
.trainer-photo img[hidden] { display:none !important; }
.trainer-photo small { text-align:center; }
@media(max-width:1100px){.form-grid.five{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:700px){.form-grid.five,.pokemon-combat-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.pokemon-bank-search{align-items:stretch;flex-direction:column;}}

/* v0.8.0 — Pokedex C-12 */
.c12-nav-link { color:#ffb37d !important; }
.c12-nav-link.active { color:#fff !important; box-shadow:inset 0 -2px 0 #ff7138 !important; }
.c12-hero { min-height:430px; display:grid; grid-template-columns:minmax(320px,.8fr) minmax(440px,1.2fr); gap:1rem; overflow:hidden; padding:2rem; background:radial-gradient(circle at 78% 30%,rgba(255,99,45,.15),transparent 35%),linear-gradient(145deg,rgba(26,28,40,.96),rgba(9,12,25,.96)); }
.c12-hero-copy { align-self:center; position:relative; z-index:2; }
.c12-hero-copy h1 { margin:.2rem 0 .75rem; font-size:clamp(3rem,7vw,6.4rem); line-height:.85; letter-spacing:-.055em; text-transform:uppercase; background:linear-gradient(180deg,#fff,#ffb080 70%,#e94d20); color:transparent; background-clip:text; -webkit-background-clip:text; }
.c12-hero-copy>p:not(.eyebrow) { max-width:650px; color:#c1c8db; font-size:1.05rem; line-height:1.65; }
.c12-status-line { display:flex; align-items:center; gap:.55rem; margin-top:1.3rem; color:#9ae7bf; font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.c12-status-line span { width:10px; height:10px; border-radius:50%; background:#58e39c; box-shadow:0 0 18px #58e39c; }
.c12-device-art { min-width:0; display:grid; place-items:center; align-self:center; }
.c12-device-art img { width:min(100%,820px); max-height:440px; object-fit:contain; filter:drop-shadow(0 30px 36px rgba(0,0,0,.5)); }
.c12-menu-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.c12-menu-card { min-height:185px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.1rem; padding:1.25rem; border:1px solid var(--line); border-radius:22px; background:linear-gradient(145deg,rgba(20,27,53,.9),rgba(9,13,29,.95)); box-shadow:var(--shadow); transition:transform .18s,border-color .18s,background .18s; }
.c12-menu-card:hover { transform:translateY(-3px); border-color:rgba(255,126,71,.42); background:linear-gradient(145deg,rgba(29,34,59,.96),rgba(13,17,34,.98)); }
.c12-menu-icon { width:72px; height:72px; display:grid; place-items:center; border-radius:20px; font-size:2rem; color:#fff; background:linear-gradient(145deg,#e95325,#ff8a45); box-shadow:0 13px 28px rgba(226,78,34,.22); }
.c12-menu-card small { color:#ff9d68; font-weight:900; letter-spacing:.12em; }
.c12-menu-card h2 { margin:.2rem 0 .35rem; font-size:1.55rem; }
.c12-menu-card p { margin:0; color:var(--muted); line-height:1.5; }
.c12-menu-card>b { font-size:1.5rem; color:#ff9864; }
.c12-menu-community .c12-menu-icon { background:linear-gradient(145deg,#3b70e7,#7064ef); }
.c12-menu-modules .c12-menu-icon { background:linear-gradient(145deg,#606875,#303744); }
.c12-menu-pokedex .c12-menu-icon { background:linear-gradient(145deg,#16a6c3,#4959d9); }
.c12-admin-strip { display:flex; justify-content:space-between; align-items:center; gap:1rem; border-color:rgba(255,126,71,.18); }
.c12-admin-strip h2 { margin:.15rem 0 .35rem; }
.c12-empty-module { min-height:460px; display:grid; place-items:center; align-content:center; text-align:center; gap:.8rem; }
.c12-module-core { width:110px; height:110px; display:grid; place-items:center; border:1px solid rgba(255,126,71,.32); border-radius:30px; color:#ff8d56; font-size:3rem; background:rgba(255,126,71,.06); box-shadow:0 0 55px rgba(255,102,45,.12); }
.c12-empty-module h2 { margin:.4rem 0 0; }.c12-empty-module p{max-width:620px;margin:0;color:var(--muted)}
.c12-module-slots { display:flex; gap:.6rem; margin-top:1rem; }.c12-module-slots span{padding:.55rem .8rem;border:1px dashed rgba(255,255,255,.15);border-radius:10px;color:#75809e;font-size:.7rem;font-weight:900;}
.status-badge { display:inline-flex; align-items:center; width:fit-content; border-radius:999px; padding:.28rem .55rem; font-size:.68rem; font-weight:900; }
.mission-tabs { display:flex; gap:.45rem; margin-bottom:1rem; padding:.35rem; width:fit-content; max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:14px; background:rgba(5,9,25,.55); }
.mission-tab { border:0; border-radius:10px; padding:.72rem 1rem; color:var(--muted); background:transparent; font-weight:850; white-space:nowrap; }.mission-tab.active{color:#fff;background:rgba(255,112,53,.12);box-shadow:inset 0 0 0 1px rgba(255,126,71,.18)}.mission-tab span{margin-left:.3rem;color:#ffb078;}
.mission-tab-panel{display:none}.mission-tab-panel.active{display:block}.mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.mission-card{display:flex;flex-direction:column;gap:.85rem;min-height:310px;padding:1.2rem;border:1px solid var(--line);border-radius:21px;background:radial-gradient(circle at 95% 0%,rgba(255,102,45,.08),transparent 35%),linear-gradient(155deg,rgba(20,27,52,.94),rgba(10,14,31,.96));box-shadow:0 18px 50px rgba(0,0,0,.24)}.mission-card h2{margin:0;font-size:1.45rem}.mission-card>p{margin:0;color:var(--muted);line-height:1.55;flex:1}.mission-card-head{display:flex;justify-content:space-between;gap:.6rem;align-items:center}.mission-code{color:#ff9e68;font-size:.68rem;font-weight:950;letter-spacing:.12em}.mission-rewards{display:flex;flex-wrap:wrap;gap:.38rem}.mission-reward{display:inline-flex;padding:.38rem .55rem;border-radius:10px;font-size:.72rem;font-weight:850;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035)}.mission-reward.money{color:#ffe477;border-color:rgba(255,217,90,.22);background:rgba(255,217,90,.07)}.mission-reward.item{color:#bfffe1;border-color:rgba(92,230,162,.18);background:rgba(92,230,162,.055)}.mission-reward.neutral{color:var(--muted)}.mission-completed{filter:grayscale(.78);opacity:.62}.mission-completed:hover{opacity:.8}.mission-waiting{border-color:rgba(255,217,90,.22)}.mission-disabled{filter:grayscale(.75);opacity:.58}.mission-rejection{padding:.65rem .75rem;border-radius:11px;color:#ffc4cb;background:rgba(255,109,125,.07);border:1px solid rgba(255,109,125,.18);font-size:.8rem}.mission-admin-list{display:grid;gap:.75rem}.mission-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:1rem}.mission-admin-main h2{margin:.4rem 0 .25rem}.mission-admin-main p{margin:.2rem 0 .5rem}.mission-counts{display:flex;gap:.55rem}.mission-counts span{min-width:76px;padding:.65rem;border:1px solid var(--line);border-radius:12px;text-align:center;color:var(--muted);font-size:.68rem}.mission-counts b{display:block;color:#fff;font-size:1.1rem}.mission-review-row{grid-template-columns:1fr auto}.mission-long-text{color:#d6def2;line-height:1.7}.reward-builder-list{display:grid;gap:.5rem}.reward-builder-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 44px;gap:.5rem}.reward-builder-row .button{padding:.5rem}.mission-reward-builder{padding-top:.4rem;border-top:1px solid var(--line)}
.community-layout{display:grid;grid-template-columns:370px minmax(0,1fr);gap:1rem;align-items:start}.community-post-list,.community-replies{display:grid;gap:.75rem}.community-post-card{display:block;padding:1.1rem;transition:border-color .18s,transform .18s}.community-post-card:hover{transform:translateY(-2px);border-color:rgba(95,229,255,.3)}.community-post-head{display:flex;align-items:center;gap:.7rem}.community-post-head>div{display:grid;gap:.12rem}.community-post-head small{color:var(--muted);font-size:.7rem}.community-post-card h2{margin:.9rem 0 .4rem}.community-post-card>p{margin:0;color:var(--muted);line-height:1.55}.community-post-foot{display:flex;justify-content:space-between;gap:.6rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line);color:#8fa1c9;font-size:.75rem}.community-post-foot span:last-child{color:var(--cyan);font-weight:800}.admin-alias-tag{display:inline-flex;margin-left:.35rem;padding:.18rem .38rem;border-radius:999px;color:#ffb17f;background:rgba(255,112,53,.09);border:1px solid rgba(255,112,53,.16);font-size:.6rem}.community-thread-root{padding:1.35rem}.community-thread-body{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);line-height:1.75;color:#dde5f8}.community-reply{padding:1rem}.community-reply .community-thread-body{font-size:.9rem}
.c12-pokedex-search{display:grid;grid-template-columns:minmax(260px,1fr) 220px auto auto;align-items:center;gap:.6rem}.c12-pokedex-search .search-field{width:100%}.c12-pokedex-meta{display:flex;justify-content:space-between;gap:1rem;margin:.8rem .2rem;color:var(--muted);font-size:.75rem}.c12-dex-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.c12-dex-card{position:relative;min-height:285px;display:flex;flex-direction:column;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 50% 32%,rgba(95,229,255,.11),transparent 35%),linear-gradient(160deg,rgba(20,28,53,.96),rgba(10,14,30,.98));overflow:hidden;transition:transform .18s,border-color .18s}.c12-dex-card:hover{transform:translateY(-3px);border-color:rgba(95,229,255,.34)}.dex-number{align-self:flex-start;color:#ff9865;font-size:.68rem;font-weight:950;letter-spacing:.08em}.c12-dex-image{width:180px;height:180px;display:grid;place-items:center}.c12-dex-image img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 16px rgba(0,0,0,.34))}.c12-dex-card h2{margin:.15rem 0 .45rem;text-align:center}.dex-open{margin-top:auto;color:var(--cyan);font-size:.65rem;font-weight:900;letter-spacing:.08em}.c12-dex-profile{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:1.4rem;align-items:center;padding:1.35rem;background:radial-gradient(circle at 17% 45%,rgba(95,229,255,.13),transparent 32%),linear-gradient(155deg,rgba(21,29,57,.96),rgba(9,13,29,.97))}.c12-profile-art{position:relative;min-height:380px;display:grid;place-items:center;border:1px solid rgba(95,229,255,.12);border-radius:22px;background:radial-gradient(circle,rgba(95,229,255,.12),transparent 60%)}.c12-profile-art .dex-number{position:absolute;left:1rem;top:1rem}.c12-profile-art img{width:min(100%,360px);height:360px;object-fit:contain;filter:drop-shadow(0 22px 22px rgba(0,0,0,.38))}.c12-type-row{display:flex;gap:.4rem;flex-wrap:wrap}.c12-type{padding:.42rem .7rem;border-radius:999px;background:rgba(95,229,255,.08);border:1px solid rgba(95,229,255,.18);font-size:.72rem;font-weight:900}.c12-description{color:#d9e1f3;line-height:1.75;font-size:1rem}.c12-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:1rem 0}.c12-facts span{display:grid;gap:.18rem;padding:.7rem;border:1px solid var(--line);border-radius:12px;background:rgba(5,9,25,.42)}.c12-facts small{color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}.c12-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.c12-chip-list{display:flex;gap:.45rem;flex-wrap:wrap}.c12-chip-list>span{padding:.55rem .7rem;border:1px solid var(--line);border-radius:11px;background:rgba(95,229,255,.045);font-weight:800}.c12-chip-list small{margin-left:.3rem;color:#ffe276}.c12-secondary-data{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);line-height:1.8}.c12-stat-list{display:grid;gap:.55rem}.c12-stat-list>div{display:grid;grid-template-columns:120px 1fr 42px;align-items:center;gap:.6rem;font-size:.78rem}.stat-track{height:8px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.stat-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#48d3ec,#675bff)}.c12-evolution-line{display:flex;gap:.75rem;overflow-x:auto;padding:.35rem 0}.c12-evo-card{min-width:190px;display:flex;align-items:center;gap:.65rem;padding:.8rem;border:1px solid var(--line);border-radius:14px;background:rgba(95,229,255,.035)}.c12-evo-card:not(:first-child)::before{content:'→';color:#ff9764;font-weight:900}.c12-evo-card img{width:80px;height:80px;object-fit:contain}.c12-evo-card>div{display:grid;gap:.25rem}.c12-evo-card small{max-width:210px;color:var(--muted);font-size:.65rem;line-height:1.35}
.type-fire{border-color:rgba(255,105,60,.35);color:#ffb08c}.type-water{border-color:rgba(77,151,255,.4);color:#acd2ff}.type-grass{border-color:rgba(72,210,112,.38);color:#b6f2c7}.type-electric{border-color:rgba(255,219,66,.4);color:#ffea8c}.type-psychic,.type-fairy{border-color:rgba(245,103,190,.38);color:#ffc0e5}.type-dark,.type-ghost{border-color:rgba(143,112,199,.36);color:#d2c0f7}.type-dragon{border-color:rgba(87,113,255,.4);color:#b8c7ff}.type-steel,.type-rock{border-color:rgba(172,185,207,.32);color:#d8dfeb}
@media(max-width:1120px){.c12-hero{grid-template-columns:1fr;min-height:auto}.c12-device-art img{max-height:360px}.c12-dex-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.community-layout{grid-template-columns:310px 1fr}.mission-admin-row{grid-template-columns:1fr}.mission-counts{justify-content:flex-start}}
@media(max-width:850px){.c12-menu-grid,.mission-grid,.c12-detail-grid{grid-template-columns:1fr}.community-layout{grid-template-columns:1fr}.community-layout .sticky-panel{position:static}.c12-dex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.c12-pokedex-search{grid-template-columns:1fr 1fr}.c12-dex-profile{grid-template-columns:1fr}.c12-profile-art{min-height:290px}.c12-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.c12-admin-strip{align-items:stretch;flex-direction:column}.mission-counts{overflow:auto}}
@media(max-width:560px){.c12-hero{padding:1.1rem}.c12-hero-copy h1{font-size:3.4rem}.c12-menu-card{grid-template-columns:auto 1fr;min-height:150px}.c12-menu-card>b{display:none}.c12-menu-icon{width:58px;height:58px;border-radius:16px}.c12-dex-grid{grid-template-columns:1fr}.c12-pokedex-search{grid-template-columns:1fr}.c12-pokedex-meta{flex-direction:column;gap:.2rem}.c12-facts{grid-template-columns:1fr 1fr}.reward-builder-row{grid-template-columns:1fr 88px 40px}.mission-review-row{grid-template-columns:1fr}.c12-stat-list>div{grid-template-columns:100px 1fr 34px}}

/* Navigation continuity on tablets: the original layout hid desktop navigation at 1080px,
   while mobile navigation only appeared below 760px. C-12 keeps navigation available in between. */
@media (min-width:761px) and (max-width:1080px){
    body{padding-bottom:76px}
    .mobile-nav{position:fixed;z-index:50;left:.8rem;right:.8rem;bottom:.7rem;display:flex;gap:.25rem;padding:.4rem;overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:rgba(8,11,24,.94);box-shadow:0 18px 50px rgba(0,0,0,.4)}
    .mobile-nav a{min-width:82px;flex:0 0 auto;display:grid;place-items:center;gap:.12rem;padding:.45rem .5rem;color:#8290b5;font-size:.63rem;font-weight:800;border-radius:12px}
    .mobile-nav a span{font-size:1rem}.mobile-nav a.active{color:#fff;background:rgba(82,106,255,.16)}
}
@media (max-width:760px){
    .mobile-nav{display:flex;grid-template-columns:none;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}
    .mobile-nav::-webkit-scrollbar{display:none}
    .mobile-nav a{min-width:72px;flex:0 0 auto}
}

/* ========================================================================== */
/* Financeiro v0.9                                                            */
/* ========================================================================== */
.finance-nav-link { color: #f7dc73 !important; }
.finance-heading { align-items: center; }
.finance-status, .finance-provider-card {
    display:flex; align-items:center; gap:.75rem; min-width:190px; padding:.8rem 1rem;
    border:1px solid var(--line); border-radius:16px; background:rgba(13,18,38,.82);
}
.finance-status { flex-direction:column; align-items:flex-start; gap:.15rem; }
.finance-status small, .finance-provider-card small { color:var(--muted); font-size:.68rem; font-weight:850; letter-spacing:.11em; }
.finance-status strong { font-size:1.12rem; }
.finance-ok { --finance-accent:#5ce6a2; }
.finance-warn { --finance-accent:#ffd95a; }
.finance-danger { --finance-accent:#ff6d7d; }
.finance-muted { --finance-accent:#9aa8ca; }
.finance-status.finance-ok, .finance-stat-card.finance-ok { border-color:rgba(92,230,162,.32); }
.finance-status.finance-warn, .finance-stat-card.finance-warn { border-color:rgba(255,217,90,.32); }
.finance-status.finance-danger, .finance-stat-card.finance-danger { border-color:rgba(255,109,125,.32); }
.finance-status strong, .finance-stat-card[class*="finance-"] strong { color:var(--finance-accent, var(--text)); }
.finance-provider-card.online { border-color:rgba(92,230,162,.26); }
.finance-provider-card.offline { border-color:rgba(255,109,125,.28); }
.finance-provider-dot { width:12px; height:12px; border-radius:50%; background:var(--red); box-shadow:0 0 16px rgba(255,109,125,.45); }
.finance-provider-card.online .finance-provider-dot { background:var(--green); box-shadow:0 0 16px rgba(92,230,162,.45); }
.finance-provider-card strong { display:block; margin-top:.12rem; }
.finance-hero-grid, .finance-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.finance-current-card { position:relative; overflow:hidden; }
.finance-current-card::after { content:"PIX"; position:absolute; right:-.2rem; bottom:-2.2rem; font-size:8rem; font-weight:1000; color:rgba(255,217,90,.035); transform:rotate(-10deg); }
.finance-current-card h2 { margin:.35rem 0 .2rem; font-size:1.65rem; }
.finance-big-value, .finance-payment-amount { font-size:clamp(2.1rem,5vw,4rem); font-weight:1000; color:#ffe47d; letter-spacing:-.045em; margin:.6rem 0 1rem; }
.finance-meta-row { display:flex; flex-wrap:wrap; gap:.7rem 1.4rem; color:var(--muted); margin-bottom:1.15rem; }
.finance-meta-row b { color:#fff; margin-left:.3rem; }
.finance-paid-stamp { display:inline-flex; padding:.65rem .85rem; border:1px solid rgba(92,230,162,.3); border-radius:12px; color:#bfffe0; background:rgba(92,230,162,.08); font-weight:900; }
.finance-profile-card h2, .finance-payment-details h2 { margin:.1rem 0; }
.finance-small-note { margin-top:0; font-size:.82rem; line-height:1.55; }
.finance-chip { display:inline-flex; align-items:center; padding:.38rem .62rem; border-radius:999px; border:1px solid var(--line); color:var(--muted); font-size:.72rem; font-weight:850; }
.finance-chip-ok { color:#bfffe0; border-color:rgba(92,230,162,.24); background:rgba(92,230,162,.07); }
.finance-week-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin-top:1rem; }
.finance-week-card { position:relative; display:grid; gap:.25rem; min-height:116px; padding:1rem; border:1px solid var(--line); border-radius:16px; background:rgba(5,9,25,.58); cursor:pointer; transition:.18s; }
.finance-week-card:hover { border-color:rgba(95,229,255,.35); transform:translateY(-1px); }
.finance-week-card input { position:absolute; opacity:0; pointer-events:none; }
.finance-week-card:has(input:checked) { border-color:rgba(95,229,255,.62); background:linear-gradient(145deg,rgba(79,120,255,.15),rgba(95,229,255,.07)); box-shadow:inset 0 0 0 1px rgba(95,229,255,.12); }
.finance-week-card.disabled { opacity:.42; cursor:not-allowed; transform:none; }
.finance-week-card strong { padding-right:1.5rem; }
.finance-week-card b { color:#ffe47d; }
.finance-week-card small { color:var(--muted); }
.finance-checkmark { position:absolute; right:.75rem; top:.72rem; width:22px; height:22px; display:grid; place-items:center; border:1px solid var(--line); border-radius:7px; color:transparent; }
.finance-week-card:has(input:checked) .finance-checkmark { color:#071016; background:var(--cyan); border-color:var(--cyan); }
.finance-paybar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding:1rem; border-radius:16px; background:rgba(0,0,0,.16); border:1px solid var(--line); }
.finance-paybar small { display:block; color:var(--muted); }
.finance-paybar strong { display:block; margin-top:.12rem; font-size:1.5rem; color:#ffe47d; }
.finance-table-wrap { overflow:auto; }
.finance-table { width:100%; border-collapse:collapse; min-width:780px; }
.finance-table th { padding:.75rem .7rem; text-align:left; color:var(--muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; border-bottom:1px solid var(--line); }
.finance-table td { padding:.85rem .7rem; border-bottom:1px solid rgba(150,168,255,.08); vertical-align:top; }
.finance-table td small { display:block; color:var(--muted); margin-top:.2rem; max-width:340px; }
.finance-row-paid { opacity:.68; }
.finance-row-cancelled { opacity:.45; }
.finance-status-badge { display:inline-flex; align-items:center; border-radius:999px; padding:.33rem .58rem; font-size:.7rem; font-weight:900; border:1px solid var(--line); white-space:nowrap; }
.finance-status-badge.paid, .finance-status-badge.received { color:#bfffe0; border-color:rgba(92,230,162,.28); background:rgba(92,230,162,.08); }
.finance-status-badge.pending, .finance-status-badge.confirmed { color:#fff1aa; border-color:rgba(255,217,90,.28); background:rgba(255,217,90,.08); }
.finance-status-badge.overdue, .finance-status-badge.failed { color:#ffc3ca; border-color:rgba(255,109,125,.3); background:rgba(255,109,125,.08); }
.finance-status-badge.cancelled, .finance-status-badge.refunded { color:#c0c8dd; background:rgba(154,168,202,.08); }
.finance-payment-list { display:grid; gap:.65rem; }
.finance-payment-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.85rem 1rem; box-shadow:none; }
.finance-payment-row:hover { border-color:rgba(95,229,255,.28); }
.finance-payment-row small { display:block; color:var(--muted); margin-top:.16rem; }
.finance-payment-right { display:flex; align-items:center; gap:.7rem; }
.finance-payment-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr); gap:1rem; max-width:1050px; margin:0 auto; }
.finance-pix-card { display:flex; flex-direction:column; align-items:center; text-align:center; gap:.8rem; }
.finance-qr-shell { width:min(320px,80vw); aspect-ratio:1; display:grid; place-items:center; padding:.8rem; border-radius:24px; background:#fff; box-shadow:0 22px 70px rgba(0,0,0,.4); }
.finance-qr-shell img { width:100%; height:100%; object-fit:contain; image-rendering:auto; }
.finance-qr-placeholder { width:260px; aspect-ratio:1; display:grid; place-items:center; border:2px dashed var(--line); border-radius:22px; font-size:3rem; font-weight:1000; color:var(--muted); }
.finance-pix-copy { width:100%; text-align:left; }
.finance-success-orb { width:96px; height:96px; display:grid; place-items:center; border-radius:50%; font-size:2.8rem; font-weight:1000; color:#06170f; background:var(--green); box-shadow:0 0 45px rgba(92,230,162,.25); }
.finance-detail-row { display:grid; grid-template-columns:1fr auto; gap:1rem; padding:.7rem 0; border-bottom:1px solid rgba(150,168,255,.08); color:var(--muted); }
.finance-detail-row b, .finance-detail-row code { color:#fff; text-align:right; overflow-wrap:anywhere; }
.finance-linked-weeks { display:grid; gap:.45rem; }
.finance-linked-weeks > div { display:flex; justify-content:space-between; gap:1rem; padding:.65rem .7rem; border:1px solid var(--line); border-radius:11px; background:rgba(0,0,0,.12); }
.finance-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }
.finance-stat-card { display:grid; gap:.2rem; box-shadow:none; }
.finance-stat-card small, .finance-stat-card span { color:var(--muted); }
.finance-stat-card strong { font-size:1.85rem; }
.finance-filter-bar { display:grid; grid-template-columns:minmax(260px,1fr) 190px 190px auto; }
.finance-filter-bar select { min-width:0; }
.finance-action-stack { display:flex; flex-wrap:wrap; gap:.35rem; min-width:210px; }
.finance-action-stack form { display:inline-flex; }
.finance-log-list { display:grid; gap:.2rem; max-height:620px; overflow:auto; }
.finance-log-row { display:grid; grid-template-columns:110px 1fr; gap:.8rem; padding:.7rem .2rem; border-bottom:1px solid rgba(150,168,255,.08); }
.finance-log-row > span { color:var(--muted); font-size:.72rem; }
.finance-log-row p { margin:.15rem 0; color:#dbe3ff; font-size:.83rem; line-height:1.4; }
.finance-log-row small { color:var(--muted); }
.finance-dialog { width:min(540px,calc(100% - 2rem)); border:1px solid var(--line); border-radius:20px; padding:1.25rem; color:var(--text); background:#10162c; box-shadow:0 32px 100px #000a; }
.finance-dialog::backdrop { background:rgba(2,4,12,.78); backdrop-filter:blur(5px); }
.finance-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.finance-dialog-head h2 { margin:.15rem 0; }

@media(max-width:1050px) {
    .finance-week-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .finance-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .finance-filter-bar { grid-template-columns:1fr 1fr; }
    .finance-filter-bar .search-field { grid-column:1/-1; width:100%; }
}
@media(max-width:780px) {
    .finance-hero-grid, .finance-admin-grid, .finance-payment-layout { grid-template-columns:1fr; }
    .finance-heading { align-items:flex-start; }
    .finance-status, .finance-provider-card { width:100%; }
    .finance-week-grid, .finance-stat-grid { grid-template-columns:1fr; }
    .finance-paybar { align-items:stretch; flex-direction:column; }
    .finance-filter-bar { display:grid; grid-template-columns:1fr; }
    .finance-filter-bar .search-field { grid-column:auto; }
    .finance-payment-row { align-items:flex-start; flex-direction:column; }
    .finance-payment-right { width:100%; justify-content:space-between; }
}

/* v0.10 — inventário responsivo em modo grade */
.inventory-toolbar{align-items:center;gap:.8rem;flex-wrap:wrap}.inventory-view-tools{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.inventory-density-control{display:flex;align-items:center;gap:.55rem;padding:.45rem .65rem;border:1px solid var(--line);border-radius:12px;background:rgba(7,13,35,.55);font-size:.75rem;color:var(--muted)}.inventory-density-control[hidden]{display:none!important}.inventory-density-control input[type=range]{width:150px}.inventory-density-control small{white-space:nowrap;letter-spacing:.08em}.inventory-grid-dense{grid-template-columns:repeat(var(--inventory-columns,5),minmax(0,1fr))!important;gap:.65rem}.inventory-grid-dense .item-card{min-height:0;padding:.65rem;border-radius:14px}.inventory-grid-dense .item-card::after{opacity:.35}.inventory-grid-dense .item-card-top{min-height:58px}.inventory-grid-dense .item-image,.inventory-grid-dense .item-image-compact{width:54px;height:54px;min-width:54px}.inventory-grid-dense .item-image img,.inventory-grid-dense .item-image-compact img{width:54px;height:54px;object-fit:contain}.inventory-grid-dense .item-orb{transform:scale(.62);transform-origin:left top;margin-right:-24px;margin-bottom:-24px}.inventory-grid-dense .quantity-badge{font-size:.68rem;padding:.2rem .4rem}.inventory-grid-dense .category-tag{font-size:.56rem}.inventory-grid-dense .item-card-body h2{font-size:.9rem;line-height:1.15;margin:.3rem 0}.inventory-grid-dense .item-card-body p{font-size:.68rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.inventory-grid-dense .item-meta{font-size:.62rem;gap:.25rem;flex-wrap:wrap}.inventory-grid-dense .item-action-stack{gap:.35rem}.inventory-grid-dense .item-action-stack .button{font-size:.66rem;padding:.45rem .35rem}.inventory-grid-dense .compact-card .item-card-body p{-webkit-line-clamp:3}@media(max-width:900px){.inventory-grid-dense{grid-template-columns:repeat(3,minmax(0,1fr))!important}.inventory-density-control input[type=range]{width:110px}}@media(max-width:560px){.inventory-grid-dense{grid-template-columns:repeat(3,minmax(0,1fr))!important}.inventory-grid-dense .item-card-body p{display:none}.inventory-grid-dense .item-action-stack .button{font-size:0}.inventory-grid-dense .item-action-stack .button:before{content:'•';font-size:.9rem}}

.trail-skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.trail-skills-grid textarea{min-height:100px}.equipped-item-card{opacity:.58;filter:grayscale(.75)}.equipped-pokemon-mini{display:flex;gap:6px;align-items:center;font-size:.75rem}.equipped-pokemon-mini img{width:28px;height:28px;object-fit:contain}.community-upload-image,.mission-cover{max-width:100%;max-height:420px;object-fit:contain;border-radius:16px}.emoji-bar{display:flex;gap:6px;flex-wrap:wrap}.emoji-bar button{font-size:1.2rem;background:transparent;border:1px solid var(--line);border-radius:8px;cursor:pointer}.pokemon-held-preview{display:flex;gap:12px;align-items:center;margin-top:8px}.pokemon-held-preview img{width:64px;height:64px;object-fit:contain}
@media(max-width:700px){.trail-skills-grid{grid-template-columns:1fr}}

/* v0.12 — eventos, filtros, equipamentos do treinador e nova identidade */
.brand-logo-main{width:min(520px,92%);height:auto;max-height:260px;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(0,0,0,.38));margin-bottom:.5rem}.brand-panel h1{margin-top:.4rem}.inventory-category-filter{display:flex;align-items:center;gap:.5rem;padding:.45rem .65rem;border:1px solid var(--line);border-radius:12px;background:rgba(7,13,35,.55);font-size:.75rem;color:var(--muted)}.inventory-category-filter select{min-width:170px;border:0;background:transparent;color:var(--text);outline:none}.inventory-category-filter select option{background:#111831}.equipped-trainer-mini{display:flex;gap:.4rem;align-items:center;font-size:.75rem;color:#d8e2ff;padding:.45rem .55rem;border:1px solid rgba(140,160,255,.18);border-radius:10px;background:rgba(89,108,220,.08)}
.trainer-equipment-section{overflow:hidden}.trainer-equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.trainer-equipment-slot{padding:.9rem;border:1px solid var(--line);border-radius:16px;background:rgba(0,0,0,.12)}.trainer-equipment-slot select{width:100%;margin-top:.35rem}.trainer-equipment-preview{display:grid;grid-template-columns:64px 1fr;gap:.75rem;align-items:center;margin-top:.7rem;padding:.65rem;border:1px solid rgba(132,155,255,.18);border-radius:12px;background:rgba(31,43,87,.28)}.trainer-equipment-preview img{width:64px;height:64px;object-fit:contain}.trainer-equipment-preview strong{display:block}.trainer-equipment-preview p{margin:.25rem 0 0;color:var(--muted);font-size:.78rem;white-space:pre-line;line-height:1.35}
.c12-event-grid{display:grid;gap:1rem}.c12-event-card{display:grid;grid-template-columns:130px 1fr auto;gap:1rem;align-items:center;text-decoration:none;color:inherit;transition:.18s}.c12-event-card:hover{transform:translateY(-2px);border-color:rgba(98,224,255,.45)}.c12-event-art{height:120px;display:grid;place-items:center;border-radius:18px;background:radial-gradient(circle,rgba(255,220,92,.16),rgba(73,83,170,.08));overflow:hidden}.c12-event-art img{width:100%;height:100%;object-fit:contain}.c12-event-fallback{font-size:3rem}.c12-event-copy h2{margin:.3rem 0}.c12-event-copy p{color:var(--muted);margin:.3rem 0}.event-status-row{display:flex;gap:.4rem}.meowth-event-intro,.quiz-result-panel{display:grid;grid-template-columns:minmax(220px,.5fr) minmax(0,1fr);gap:1.5rem;align-items:center}.meowth-event-art,.quiz-meowth{display:grid;place-items:center;min-height:260px}.meowth-event-art img,.quiz-meowth img{max-width:280px;max-height:280px;object-fit:contain;filter:drop-shadow(0 22px 28px rgba(0,0,0,.38))}.quiz-shell{max-width:900px;margin:0 auto;display:grid;gap:1rem}.quiz-progress{display:grid;gap:.45rem;color:var(--muted);font-size:.8rem;font-weight:800}.quiz-progress>div{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.quiz-progress i{display:block;height:100%;background:linear-gradient(90deg,#6a72ff,#5fe5ff);border-radius:999px}.quiz-bubble{position:relative;padding:1.1rem 1.25rem;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(145deg,rgba(34,45,92,.85),rgba(18,24,54,.92))}.quiz-bubble:before{content:"";position:absolute;left:40px;top:-12px;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid rgba(34,45,92,.85)}.quiz-bubble h1{margin:.25rem 0 0;font-size:clamp(1.2rem,2.5vw,1.8rem)}.quiz-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.quiz-option{display:flex;gap:.75rem;align-items:center;text-align:left;padding:1rem;border:1px solid var(--line);border-radius:16px;background:rgba(17,25,55,.85);color:var(--text);font-weight:800;cursor:pointer}.quiz-option:hover{border-color:rgba(95,229,255,.55);transform:translateY(-1px)}.quiz-option span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(95,229,255,.12);color:#aef3ff}.c12-menu-events{background:linear-gradient(145deg,rgba(238,170,62,.08),rgba(129,92,246,.06))}
@media(max-width:760px){.trainer-equipment-grid,.quiz-options{grid-template-columns:1fr}.meowth-event-intro,.quiz-result-panel,.c12-event-card{grid-template-columns:1fr}.c12-event-art{height:160px}.brand-logo-main{max-height:180px}.inventory-category-filter{width:100%;justify-content:space-between}.inventory-category-filter select{min-width:0;flex:1}}

/* v0.13 - fluxos de itens Pokémon */
.modal-panel-wide{width:min(780px,calc(100vw - 28px));max-height:88vh;overflow:auto}.team-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:16px 0}.pokemon-choice-card{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid rgba(133,175,255,.24);border-radius:14px;background:rgba(7,18,42,.78);cursor:pointer;text-align:left;color:inherit}.pokemon-choice-card:has(input:checked),.pokemon-choice-card.selected{border-color:#52d7ff;box-shadow:0 0 0 2px rgba(82,215,255,.13)}.pokemon-choice-card input{width:auto}.pokemon-choice-card img{width:54px;height:54px;object-fit:contain}.pokemon-choice-card span{display:grid;gap:3px}.pokemon-choice-card small{color:var(--muted)}.pokemon-choice-button{width:100%;font:inherit}.special-item-confirm{margin-top:14px;padding:14px;border-radius:14px;background:rgba(42,67,118,.22);border:1px solid rgba(133,175,255,.2)}.nature-change-row{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;text-align:center;margin:12px 0}.nature-change-row span{padding:10px;border-radius:12px;background:rgba(8,18,39,.7)}
.quiz-review-list{display:grid;gap:14px;margin-top:14px}.quiz-review-card{padding:15px;border:1px solid rgba(133,175,255,.2);border-radius:14px;background:rgba(7,18,42,.65)}.quiz-review-card h3{margin:0 0 12px}.quiz-review-options{display:grid;gap:7px}.quiz-review-option{padding:9px 11px;border-radius:10px;background:rgba(255,255,255,.04)}.quiz-review-option.correct{border:1px solid rgba(73,224,150,.55);background:rgba(73,224,150,.09)}.quiz-review-option.wrong{border:1px solid rgba(255,100,120,.55);background:rgba(255,100,120,.09)}.quiz-review-option strong{float:right}
.multi-item-admin-list{display:grid;gap:8px}.multi-item-admin-row{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:8px;align-items:center}.multi-item-admin-row select,.multi-item-admin-row input{min-width:0}
.loot-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.loot-item-rows{display:grid;gap:8px}.loot-item-row{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:8px}.loot-table-grid,.loot-player-list{display:grid;gap:12px}.loot-table-card{padding:14px;border:1px solid rgba(133,175,255,.2);border-radius:14px}.loot-mini-items{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.loot-mini-items span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.05)}.loot-session-list{display:grid;gap:7px}.loot-session-list a{padding:9px;border-radius:10px;background:rgba(255,255,255,.04)}.loot-player-card{display:flex;justify-content:space-between;gap:15px;align-items:center}.loot-roulette-window{position:relative;overflow:hidden;padding:24px 0;border-radius:18px;background:rgba(5,13,30,.78);border:1px solid rgba(133,175,255,.2)}.loot-track{display:flex;gap:10px;width:max-content;transform:translateX(0)}.loot-wheel-item{width:150px;min-height:150px;display:grid;place-items:center;text-align:center;padding:10px;border-radius:14px;background:#0a1730;border:1px solid #294773}.loot-wheel-item img{width:86px;height:86px;object-fit:contain}.loot-pointer{position:absolute;z-index:2;left:50%;top:0;transform:translateX(-50%);font-size:28px;color:#57ddff}.loot-result{text-align:center;padding:18px}.loot-spin-button{display:block;margin:0 auto}@media(max-width:800px){.loot-admin-grid{grid-template-columns:1fr}.loot-player-card{align-items:flex-start;flex-direction:column}}

/* v0.13 - Evolução por pedra */
.evolution-team-grid .evolution-compatible{border-color:rgba(71,214,151,.45)}
.evolution-team-grid .evolution-incompatible{opacity:.48;filter:grayscale(.65);cursor:not-allowed}
.compatibility-ok{color:#86efac!important;font-weight:700}

/* v0.14 — ficha Pokémon detalhada + seletor de Loot pesquisável */
.pokemon-sheet-card{display:block!important;padding:1.05rem;overflow:hidden}.pokemon-sheet-hero{display:grid;grid-template-columns:190px minmax(0,1fr);gap:1.15rem;align-items:center;padding-bottom:1rem;border-bottom:1px solid rgba(145,170,255,.12)}.pokemon-sheet-art{width:180px!important;height:180px!important;filter:drop-shadow(0 18px 25px rgba(0,0,0,.32))}.pokemon-sheet-identity h2{font-size:clamp(1.55rem,2.5vw,2.15rem);margin:.45rem 0}.pokemon-sheet-subtitle{color:var(--muted);margin:.5rem 0}.pokemon-type-row{display:flex;flex-wrap:wrap;gap:.4rem}.pokemon-type-chip{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .58rem;border-radius:999px;border:1px solid rgba(95,229,255,.24);background:rgba(95,229,255,.09);color:#c9f8ff;font-size:.68rem;font-weight:900;letter-spacing:.04em}.pokemon-sheet-stats{margin-top:.85rem;grid-template-columns:repeat(4,minmax(0,1fr))}.pokemon-sheet-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.9rem}.pokemon-sheet-info-box{padding:.85rem .9rem;border:1px solid rgba(139,161,255,.16);border-radius:15px;background:linear-gradient(145deg,rgba(26,38,82,.38),rgba(8,16,39,.42));min-width:0}.pokemon-sheet-info-box h3{margin:.28rem 0 .45rem;font-size:1rem}.pokemon-sheet-info-box p{margin:.35rem 0;font-size:.78rem;line-height:1.45;white-space:pre-line}.pokemon-nature-box{grid-column:1/-1}.pokemon-size-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:.55rem 0}.pokemon-size-values span{display:grid;gap:.12rem;padding:.55rem;border-radius:10px;background:rgba(0,0,0,.18)}.pokemon-size-values small,.pokemon-move-meta small{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}.pokemon-sheet-moves{margin-top:1rem}.pokemon-sheet-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.pokemon-sheet-section-title h3{margin:.15rem 0}.pokemon-move-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.pokemon-move-detail{min-width:0;padding:.8rem;border:1px solid rgba(95,229,255,.16);border-radius:14px;background:linear-gradient(145deg,rgba(11,25,57,.8),rgba(22,27,65,.65));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.pokemon-move-detail h4{margin:.45rem 0 .55rem;font-size:.93rem;line-height:1.25}.pokemon-move-detail p{margin:.45rem 0;font-size:.72rem;line-height:1.4;color:#d7e2ff;white-space:normal}.pokemon-move-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pokemon-move-slot{font-size:.62rem;font-weight:900;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.pokemon-move-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin:.55rem 0}.pokemon-move-meta span{display:grid;gap:.12rem;padding:.42rem;border-radius:9px;background:rgba(255,255,255,.035);min-width:0}.pokemon-move-meta strong{font-size:.68rem;overflow-wrap:anywhere}.pokemon-move-empty{display:grid;place-items:center;min-height:110px;color:var(--muted);border-style:dashed}.pokemon-move-empty strong{color:#d4dcf1}.pokemon-move-unknown{border-style:dashed}.pokemon-generator-summary{margin-bottom:1rem;padding:1rem}.pokemon-generator-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.pokemon-generator-summary-head h2{margin:.25rem 0}.pokemon-form-facts{margin-top:.85rem}.move-form-preview{margin-top:.55rem}.move-form-preview:empty{display:none}.move-form-preview .pokemon-move-detail{font-weight:400}.move-form-preview .pokemon-move-detail strong{font-weight:800}
.loot-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}.loot-picker-toolbar .search-field{flex:1;min-width:230px}.loot-item-picker{display:grid;gap:.42rem;max-height:470px;overflow:auto;padding:.35rem;border:1px solid rgba(140,160,255,.14);border-radius:14px;background:rgba(3,10,28,.32)}.loot-picker-item{display:grid;grid-template-columns:auto 42px minmax(0,1fr) 92px;gap:.65rem;align-items:center;padding:.58rem;border:1px solid transparent;border-radius:11px;cursor:pointer;background:rgba(255,255,255,.025);transition:.15s}.loot-picker-item:hover{background:rgba(95,229,255,.045);border-color:rgba(95,229,255,.12)}.loot-picker-item.selected{border-color:rgba(95,229,255,.38);background:rgba(95,229,255,.08)}.loot-picker-item[hidden]{display:none!important}.loot-picker-item>input{width:auto}.loot-picker-item img,.loot-picker-icon{width:42px;height:42px;object-fit:contain;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.04)}.loot-picker-name{display:grid;min-width:0}.loot-picker-name strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loot-picker-name small{color:var(--muted);font-size:.64rem}.loot-weight-field{display:grid;gap:.15rem}.loot-weight-field small{font-size:.58rem;color:var(--muted)}.loot-weight-field input{width:100%;min-width:0;padding:.38rem .42rem}.loot-picker-actions{display:flex;justify-content:space-between;gap:.7rem;flex-wrap:wrap}
@media(max-width:780px){.pokemon-sheet-hero{grid-template-columns:1fr}.pokemon-card-media{justify-items:center}.pokemon-sheet-facts,.pokemon-move-detail-grid{grid-template-columns:1fr}.pokemon-nature-box{grid-column:auto}.pokemon-sheet-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pokemon-sheet-section-title{align-items:flex-start;flex-direction:column}.loot-picker-item{grid-template-columns:auto 38px minmax(0,1fr)}.loot-weight-field{grid-column:2/-1;display:none}.loot-picker-item.is-weighted.selected .loot-weight-field{display:grid}.loot-picker-item img,.loot-picker-icon{width:38px;height:38px}.pokemon-move-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
.loot-picker-main{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.65rem;align-items:center;cursor:pointer;min-width:0}.loot-picker-main img{width:42px;height:42px;object-fit:contain}.loot-picker-item{grid-template-columns:auto minmax(0,1fr) 92px}.loot-picker-item>input{align-self:center}@media(max-width:780px){.loot-picker-item{grid-template-columns:auto minmax(0,1fr)}.loot-picker-main{grid-template-columns:38px minmax(0,1fr)}.loot-weight-field{grid-column:2/-1}}

/* =========================================================
   Nexus Dimension v0.15.0 — Bugs, Backup, Loot e Combate
   ========================================================= */
.status-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.28rem .62rem;font-size:.72rem;font-weight:800;letter-spacing:.04em;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.status-new,.status-pending,.status-draft{background:rgba(255,186,0,.12);border-color:rgba(255,186,0,.28)}
.status-analysis,.status-active{background:rgba(52,152,219,.15);border-color:rgba(52,152,219,.32)}
.status-resolved,.status-approved,.status-finished{background:rgba(46,204,113,.13);border-color:rgba(46,204,113,.3)}
.status-ignored,.status-rejected{background:rgba(149,165,166,.12);border-color:rgba(149,165,166,.25)}

.bug-report-heading,.loot-list-heading,.backup-request-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.bug-report-list,.backup-request-list{display:grid;gap:1rem;margin-top:1rem}
.bug-report-card,.backup-request-card{border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:1rem;background:rgba(8,13,30,.55)}
.bug-report-meta{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;color:var(--muted,#aeb5c8);font-size:.86rem}
.bug-report-text{white-space:pre-wrap;line-height:1.6;margin:.8rem 0}
.bug-context{padding:.75rem;border-radius:12px;background:rgba(255,255,255,.045);white-space:pre-wrap}
.bug-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.65rem;margin:.85rem 0}
.bug-image-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.12)}

.backup-general-panel{grid-column:1/-1}
.backup-general-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.backup-own-list{display:grid;gap:.5rem;margin-top:1rem}
.backup-own-row{display:grid;grid-template-columns:auto auto 1fr;gap:.7rem;align-items:center;padding:.65rem .75rem;border-radius:12px;background:rgba(255,255,255,.045)}
.backup-own-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted,#aeb5c8)}
.backup-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:.65rem;margin:.85rem 0}
.backup-summary-grid span{padding:.75rem;border-radius:12px;background:rgba(255,255,255,.045);display:flex;flex-direction:column;gap:.2rem}
.backup-summary-grid b{font-size:1.25rem}
.backup-review-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem}

.loot-card-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.75rem}
.loot-list-heading .inline-form input[type=search]{min-width:min(330px,70vw)}

.combat-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.combat-list-card{display:block;text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease}
.combat-list-card:hover{transform:translateY(-3px);border-color:rgba(122,163,255,.45)}
.combat-list-card h2{margin:.65rem 0 .35rem}
.combat-list-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.combat-manage-grid,.combat-action-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}
.combat-setup-list{display:grid;gap:.65rem;margin-top:1rem}
.combat-setup-row{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.75rem;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035)}
.combat-setup-row.side-alpha{border-left:3px solid #4da3ff}.combat-setup-row.side-beta{border-left:3px solid #ff6577}
.combat-setup-row small{display:block;color:var(--muted,#aeb5c8);margin-top:.15rem}.combat-turn-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.1);font-weight:900}
.combat-arena{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1rem;align-items:start}
.combat-side{display:grid;gap:.85rem}.combat-side>h2{text-align:center;margin:0 0 .2rem}.combat-vs{align-self:center;font-size:1.4rem;font-weight:1000;padding:.65rem;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13)}
.combatant-card{display:grid;grid-template-columns:86px 1fr;gap:.85rem;padding:.8rem;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(10,16,37,.92),rgba(22,28,52,.72));position:relative;overflow:hidden}
.combat-side-alpha .combatant-card{box-shadow:inset 3px 0 0 rgba(77,163,255,.7)}.combat-side-beta .combatant-card{box-shadow:inset -3px 0 0 rgba(255,101,119,.7)}
.combatant-card.is-turn{border-color:rgba(255,216,72,.75);box-shadow:0 0 0 2px rgba(255,216,72,.14),0 0 28px rgba(255,216,72,.12)}
.combatant-card.is-ko{filter:saturate(.35);opacity:.62}
.combatant-art{display:grid;place-items:center;min-height:82px}.combatant-art img{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 8px 15px rgba(0,0,0,.35))}.combatant-art span{font-size:2.4rem}
.combatant-title{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.combatant-title h3{margin:0;font-size:1.05rem}.combatant-title span{font-weight:800;color:#d7def2}.combatant-copy p{font-size:.82rem;color:var(--muted,#aeb5c8);margin:.15rem 0 .55rem}
.combat-hp-line{display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:center}.combat-hp-track{height:10px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden}.combat-hp-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#39d98a,#b8ee5c)}.combat-hp-line b{font-size:.8rem}.combat-ko-label{display:inline-block;margin-top:.45rem;font-size:.7rem;color:#ff8a96}
.combat-audio-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.combat-audio-panel audio{width:min(540px,100%)}
.combat-master-controls{overflow:hidden}.combat-master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.combat-master-grid .form-stack:last-child{grid-column:1/-1}.combat-hp-admin{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.combat-hp-admin .inline-form{padding:.5rem;border-radius:12px;background:rgba(255,255,255,.04)}.combat-hp-admin input{width:76px}
.combat-log-list{display:flex;flex-direction:column;gap:.45rem;max-height:520px;overflow:auto;padding-right:.25rem}.combat-log-row{display:grid;grid-template-columns:72px 1fr;gap:.7rem;padding:.6rem .7rem;border-radius:11px;background:rgba(255,255,255,.035);border-left:3px solid rgba(255,255,255,.12)}.combat-log-row time{font-size:.74rem;color:var(--muted,#aeb5c8)}.combat-log-row p{margin:0;line-height:1.45}.combat-log-row.log-attack{border-left-color:#ff6577}.combat-log-row.log-dice{border-left-color:#b785ff}.combat-log-row.log-xp{border-left-color:#ffd348}.combat-log-row.log-turn{border-left-color:#4da3ff}
.c12-menu-combat{--c12-accent:#ff6577}.c12-menu-bugs{--c12-accent:#b785ff}

@media (max-width:900px){.combat-manage-grid,.combat-action-grid,.combat-master-grid{grid-template-columns:1fr}.combat-master-grid .form-stack:last-child{grid-column:auto}.combat-arena{grid-template-columns:1fr}.combat-vs{justify-self:center}.backup-summary-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}}
@media (max-width:620px){.combatant-card{grid-template-columns:68px 1fr}.combatant-art img{width:64px;height:64px}.backup-own-row{grid-template-columns:1fr auto}.backup-own-row small{grid-column:1/-1}.bug-report-heading,.loot-list-heading{align-items:stretch}.loot-list-heading .inline-form input[type=search]{min-width:0;width:100%}}
.combat-hp-track i{transition:width .35s ease}
.combat-log-row.log-initiative{border-left-color:#72e6ff}
.combatant-card.is-turn{animation:combatTurnPulse 2.2s ease-in-out infinite}
@keyframes combatTurnPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@media (prefers-reduced-motion:reduce){.combatant-card.is-turn{animation:none}.combat-hp-track i{transition:none}}

/* ===== Nexus Dimension v0.16 — Battle Game UI ===== */
.combat-list-link{display:block;color:inherit;text-decoration:none}.combat-list-card.is-trashed{opacity:.78;border-style:dashed}.combat-admin-card-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.8rem;margin-top:.8rem;border-top:1px solid rgba(255,255,255,.08)}
.combat-generator-dialog{width:min(1180px,96vw);height:min(900px,92vh);padding:0;border:1px solid rgba(109,184,255,.32);border-radius:22px;background:#071020;color:#eef6ff;box-shadow:0 30px 100px rgba(0,0,0,.6)}.combat-generator-dialog::backdrop{background:rgba(1,4,13,.82);backdrop-filter:blur(6px)}.combat-generator-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.09)}.combat-generator-head h2{margin:.15rem 0}.combat-generator-dialog>p{padding:0 1.2rem}.combat-generator-dialog iframe{display:block;width:100%;height:calc(100% - 120px);border:0;background:#081123}
.battle-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.battle-topbar h1{margin:.15rem 0 0}.battle-top-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.battle-round{font-weight:1000;letter-spacing:.08em;padding:.6rem .85rem;border-radius:999px;background:rgba(55,176,255,.13);border:1px solid rgba(55,176,255,.3);color:#8cdcff}
.battle-turn-order{border:1px solid rgba(92,170,255,.22);border-radius:18px;background:linear-gradient(180deg,rgba(8,22,47,.98),rgba(5,13,30,.96));box-shadow:0 18px 50px rgba(0,0,0,.25);overflow:hidden}.battle-turn-order-title{text-align:center;font-weight:1000;font-size:.78rem;letter-spacing:.13em;padding:.6rem;color:#cfe7ff;border-bottom:1px solid rgba(255,255,255,.08)}.battle-turn-track{display:flex;gap:.4rem;overflow-x:auto;padding:.7rem .8rem}.battle-turn-token{position:relative;min-width:92px;display:grid;grid-template-columns:22px 42px;grid-template-rows:42px auto;align-items:center;gap:.25rem .45rem;padding:.4rem .55rem;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.035);transition:.2s}.battle-turn-token.side-alpha{border-bottom:3px solid #2f9dff}.battle-turn-token.side-beta{border-bottom:3px solid #ff5367}.battle-turn-token.is-current{transform:translateY(2px);border-color:#ffd348;box-shadow:0 0 0 2px rgba(255,211,72,.12),0 0 24px rgba(255,211,72,.18)}.battle-turn-token.is-ko{opacity:.4;filter:grayscale(1)}.battle-turn-token img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 5px 7px rgba(0,0,0,.45))}.battle-turn-token small{grid-column:1/-1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-size:.68rem;font-weight:800}.battle-turn-pos{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:.7rem;font-weight:1000;background:rgba(255,255,255,.1)}.battle-turn-arrow{position:absolute;top:-13px;left:50%;transform:translateX(-50%);color:#ffd348;text-shadow:0 0 12px #ffd348}.battle-token-fallback{font-size:1.6rem}
.battle-turn-banner{width:min(620px,92%);margin:.85rem auto -.2rem;position:relative;z-index:5;text-align:center;padding:.75rem 1rem;border-radius:18px;background:linear-gradient(135deg,rgba(7,44,80,.96),rgba(4,17,42,.96));border:1px solid #28bfff;box-shadow:0 0 30px rgba(40,191,255,.18)}.battle-turn-banner.is-defense{border-color:#ff5269;background:linear-gradient(135deg,rgba(84,13,28,.96),rgba(35,7,18,.96));box-shadow:0 0 30px rgba(255,82,105,.15)}.battle-turn-banner span{display:block;font-size:.75rem;font-weight:1000;letter-spacing:.18em;color:#bfe8ff}.battle-turn-banner strong{display:block;font-size:clamp(1.55rem,4vw,2.7rem);line-height:1;color:#fff;margin:.2rem 0;text-transform:uppercase;font-style:italic;text-shadow:0 5px 18px rgba(0,0,0,.4)}.battle-turn-banner small{color:#b9c7dc}
.battle-stage{position:relative;min-height:520px;margin-top:1rem;border-radius:24px;overflow:hidden;border:1px solid rgba(117,191,255,.25);background:linear-gradient(#50a9e9 0 42%,#8bcf6c 42% 60%,#5c9b48 60%);box-shadow:inset 0 -50px 100px rgba(8,30,15,.25),0 25px 65px rgba(0,0,0,.3);isolation:isolate}.battle-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.75) 0 3%,transparent 3.5%),radial-gradient(circle at 27% 13%,rgba(255,255,255,.6) 0 4%,transparent 4.5%),linear-gradient(180deg,transparent 0 50%,rgba(17,67,34,.16) 50%);opacity:.75}.battle-sky{position:absolute;inset:0 0 45%;background:radial-gradient(ellipse at 75% 22%,rgba(255,255,255,.85) 0 5%,transparent 5.3%),radial-gradient(ellipse at 68% 18%,rgba(255,255,255,.7) 0 7%,transparent 7.4%),linear-gradient(#48a9eb,#a9def2);z-index:-3}.battle-hills{position:absolute;left:-5%;right:-5%;bottom:30%;height:42%;background:radial-gradient(ellipse at 25% 100%,#315f43 0 35%,transparent 36%),radial-gradient(ellipse at 60% 100%,#3d7750 0 38%,transparent 39%),radial-gradient(ellipse at 90% 100%,#2f6943 0 34%,transparent 35%);z-index:-2;filter:drop-shadow(0 -6px 8px rgba(0,0,0,.12))}.battle-ground{position:absolute;left:-5%;right:-5%;bottom:-20%;height:63%;background:radial-gradient(ellipse at center,#7aba59 0 55%,#4b8b42 75%);z-index:-1}.battle-ground::after{content:"";position:absolute;left:10%;right:10%;top:42%;height:32%;border-radius:50%;border:2px solid rgba(255,255,255,.16);box-shadow:0 0 0 18px rgba(214,204,139,.08)}
.battle-fighter{position:absolute;width:48%;height:100%;bottom:0}.battle-fighter-left{left:0}.battle-fighter-right{right:0}.battle-platform{position:absolute;width:64%;height:15%;bottom:4%;left:18%;border-radius:50%;background:radial-gradient(ellipse,rgba(54,66,39,.42),rgba(43,59,31,.05) 65%,transparent 66%);transform:perspective(250px) rotateX(65deg)}.battle-pokemon-art{position:absolute;bottom:8%;left:50%;transform:translateX(-50%);width:min(310px,72%);height:min(340px,66%);object-fit:contain;filter:drop-shadow(0 18px 15px rgba(0,0,0,.35));transition:.2s}.battle-fighter-right .battle-pokemon-art{transform:translateX(-50%) scaleX(-1)}.battle-fighter.is-active .battle-pokemon-art{filter:drop-shadow(0 0 16px rgba(255,225,84,.8)) drop-shadow(0 18px 15px rgba(0,0,0,.35));animation:battlePokemonFloat 1.6s ease-in-out infinite}.battle-pokemon-fallback{position:absolute;bottom:23%;left:50%;transform:translateX(-50%);font-size:8rem}.battle-hud{position:absolute;top:5%;z-index:4;width:min(360px,78%);padding:.75rem .9rem;border-radius:16px;background:linear-gradient(135deg,rgba(5,15,31,.93),rgba(12,29,49,.86));border:1px solid rgba(255,255,255,.22);box-shadow:0 14px 30px rgba(0,0,0,.25);backdrop-filter:blur(8px)}.battle-hud-left{left:4%}.battle-hud-right{right:4%}.battle-hud-title{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem}.battle-hud-title strong{text-transform:uppercase;font-size:1.05rem}.battle-hud-title span{font-weight:900}.battle-resource{display:grid;grid-template-columns:26px 1fr auto;gap:.45rem;align-items:center;margin:.35rem 0}.battle-resource>b{font-size:.76rem;color:#d7e8fb}.battle-resource>span{font-size:.72rem;font-weight:900}.battle-resource-track{height:10px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden;border:1px solid rgba(0,0,0,.25)}.battle-resource-track i{display:block;height:100%;border-radius:99px;transition:width .4s ease}.battle-resource-track.hp i{background:linear-gradient(90deg,#26c45e,#8ee343)}.battle-resource-track.pp i{background:linear-gradient(90deg,#1f89ff,#42d8ff)}
.battle-command-shell{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr);gap:1rem}.battle-command-menu,.battle-action-panel{border:1px solid rgba(117,191,255,.2);border-radius:20px;background:linear-gradient(180deg,rgba(7,18,37,.98),rgba(5,12,28,.98));padding:.8rem;box-shadow:0 18px 45px rgba(0,0,0,.22)}.battle-command-menu{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.battle-command{display:flex;align-items:center;gap:.7rem;text-align:left;min-height:76px;border-radius:15px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,#293344,#161e2b);color:#98a2b3;padding:.8rem 1rem;font-size:1.25rem}.battle-command span{display:flex;flex-direction:column}.battle-command b{font-size:1rem}.battle-command small{font-size:.66rem;font-weight:600;opacity:.7}.battle-command.fight.is-active{background:linear-gradient(135deg,#f4c321,#e79714);color:#17130a;border-color:#ffe06c;box-shadow:0 0 0 2px rgba(255,211,72,.15),0 8px 25px rgba(236,167,20,.2)}.battle-command:disabled{cursor:not-allowed;filter:saturate(.2);opacity:.48}.battle-action-panel{display:grid;align-items:center}.battle-fight-form{display:grid;gap:.75rem}.battle-move-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.battle-move-option input{position:absolute;opacity:0}.battle-move-option span{display:flex;flex-direction:column;gap:.25rem;padding:.85rem;border-radius:14px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045);cursor:pointer;transition:.18s}.battle-move-option input:checked+span{border-color:#ffd348;background:rgba(255,211,72,.11);box-shadow:inset 4px 0 0 #ffd348}.battle-move-option b{font-size:.95rem}.battle-move-option small{color:#9eacc2;font-size:.7rem}.battle-waiting-message{font-size:1.05rem;text-align:center;color:#b9c7dc;margin:1rem}.battle-defense-form{text-align:center}.battle-defense-form p{color:#9eacc2;font-size:.8rem}
.battle-clash-panel{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.7rem}.battle-die-side{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px;border-radius:18px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04)}.battle-die-side.attack{border-color:rgba(255,91,91,.55);background:radial-gradient(circle,rgba(255,69,69,.16),transparent 65%)}.battle-die-side.defense{border-color:rgba(70,163,255,.55);background:radial-gradient(circle,rgba(59,142,255,.16),transparent 65%)}.battle-die-side small{font-size:.74rem;font-weight:1000;letter-spacing:.08em}.battle-die-number{font-size:clamp(3.5rem,8vw,6.4rem);line-height:1;font-weight:1000;margin:.35rem;color:#fff;text-shadow:0 0 30px currentColor;animation:battleDicePop .6s cubic-bezier(.2,1.6,.45,1)}.battle-die-side.attack .battle-die-number{color:#ff5b62}.battle-die-side.defense .battle-die-number{color:#51a7ff}.battle-die-number.waiting{animation:battleWaiting 1.2s ease-in-out infinite}.battle-clash-vs{font-weight:1000;font-size:1.25rem;color:#ffd348}
.battle-result-card{display:grid;grid-template-columns:150px auto 150px 1fr;gap:.8rem;align-items:center;padding:1rem;border-radius:20px;background:linear-gradient(135deg,rgba(8,20,44,.98),rgba(8,13,28,.98));border:1px solid rgba(255,255,255,.13);box-shadow:0 15px 40px rgba(0,0,0,.24)}.battle-result-die{display:grid;grid-template-columns:1fr auto;align-items:end;padding:.7rem;border-radius:15px;background:rgba(255,255,255,.04)}.battle-result-die small{grid-column:1/-1;font-weight:1000;font-size:.7rem}.battle-result-die strong{font-size:3.2rem;line-height:1}.battle-result-die.attack strong{color:#ff626d}.battle-result-die.defense strong{color:#59acff}.battle-result-die span{font-weight:900}.battle-result-vs{font-weight:1000}.battle-result-copy h2{margin:.2rem 0;color:#ffd348}.battle-result-copy p:last-child{margin-bottom:0}
.battle-team-rosters{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.battle-roster{padding:.8rem;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(5,13,28,.86)}.battle-roster h3{margin:.1rem 0 .6rem}.battle-roster>div{display:grid;gap:.45rem}.battle-roster-card{display:grid;grid-template-columns:48px 1fr;gap:.6rem;align-items:center;padding:.45rem .55rem;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid transparent}.battle-roster-card.is-current{border-color:#ffd348}.battle-roster-card.is-ko{opacity:.4;filter:grayscale(1)}.battle-roster-card img{width:48px;height:48px;object-fit:contain}.battle-roster-card span{display:flex;flex-direction:column}.battle-roster-card small{color:#97a6bb}.battle-free-dice summary{cursor:pointer;font-weight:900}.combat-log-row.log-attack_roll{border-left-color:#ff9e4a}.combat-log-row.log-attack_result{border-left-color:#ffd348}
@keyframes battlePokemonFloat{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-7px)}}.battle-fighter-right.is-active .battle-pokemon-art{animation:battlePokemonFloatRight 1.6s ease-in-out infinite}@keyframes battlePokemonFloatRight{0%,100%{transform:translateX(-50%) scaleX(-1) translateY(0)}50%{transform:translateX(-50%) scaleX(-1) translateY(-7px)}}@keyframes battleDicePop{0%{transform:scale(.3) rotate(-16deg);opacity:0}70%{transform:scale(1.12) rotate(2deg)}100%{transform:scale(1);opacity:1}}@keyframes battleWaiting{0%,100%{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}}
@media(max-width:980px){.battle-command-shell,.battle-team-rosters{grid-template-columns:1fr}.battle-stage{min-height:440px}.battle-pokemon-art{width:min(240px,76%);height:270px}.battle-result-card{grid-template-columns:1fr auto 1fr}.battle-result-copy{grid-column:1/-1;text-align:center}}
@media(max-width:680px){.battle-topbar{align-items:flex-start;flex-direction:column}.battle-stage{min-height:430px}.battle-hud{width:90%;top:3%;padding:.55rem}.battle-hud-left{left:5%}.battle-hud-right{right:5%;top:24%}.battle-pokemon-art{width:190px;height:220px;bottom:5%}.battle-fighter-left .battle-pokemon-art{left:45%}.battle-fighter-right .battle-pokemon-art{left:55%}.battle-command-menu,.battle-move-grid{grid-template-columns:1fr}.battle-clash-panel{grid-template-columns:1fr}.battle-clash-vs{justify-self:center}.battle-result-card{grid-template-columns:1fr}.battle-result-vs{display:none}.battle-result-die{max-width:180px;width:100%;justify-self:center}.battle-turn-token{min-width:76px}}
@media(prefers-reduced-motion:reduce){.battle-fighter.is-active .battle-pokemon-art,.battle-die-number,.battle-die-number.waiting{animation:none}}

/* v0.17 - entrega rápida */
.quick-delivery-panel{margin-bottom:1.25rem}.quick-delivery-dropzone{border:2px dashed color-mix(in srgb,var(--accent,#69c9ff) 60%,transparent);border-radius:18px;min-height:96px;display:flex;align-items:center;justify-content:center;gap:14px;padding:18px;background:rgba(70,130,255,.06);transition:.2s ease}.quick-delivery-dropzone.is-ready,.quick-delivery-dropzone.is-over{transform:translateY(-2px);border-style:solid;background:rgba(70,180,255,.15);box-shadow:0 0 28px rgba(70,160,255,.18)}.quick-drop-icon{font-size:2rem}.quick-delivery-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 240px;gap:12px;margin:14px 0}.quick-item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:430px;overflow:auto;padding:4px}.quick-item-card{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft);cursor:grab}.quick-item-card:active{cursor:grabbing}.quick-item-card img,.quick-generic-icon{width:56px;height:56px;object-fit:contain;border-radius:10px}.quick-generic-icon{display:grid;place-items:center;font-size:2rem;background:rgba(255,255,255,.07)}.quick-item-card button{grid-column:1/-1}.quick-item-card small{display:block;opacity:.7}.quick-item-create-box{margin:12px 0;padding:14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}.quick-create-action{display:flex;align-items:end;padding-bottom:2px}@media(max-width:760px){.quick-delivery-toolbar{grid-template-columns:1fr}.quick-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.loot-money-rewards{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03)}.loot-money-row{display:grid;grid-template-columns:1fr 140px auto;gap:10px;align-items:end;margin-top:8px}.loot-money-row label{display:grid;gap:5px}.loot-money-icon{font-size:2rem;display:grid;place-items:center;min-height:48px}@media(max-width:650px){.loot-money-row{grid-template-columns:1fr 100px auto}}

.item-generic-icon{width:96px;height:96px;display:grid;place-items:center;font-size:2.6rem;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid var(--line)}.inventory-dense-mode .item-generic-icon{width:56px;height:56px;font-size:1.7rem}

/* ===== Nexus Dimension v0.18.0 ===== */
.shine-footer{position:relative;z-index:2;margin-top:36px;padding:13px 18px;text-align:center;background:linear-gradient(90deg,#101a45,#132d66,#101a45);border-top:1px solid rgba(123,190,255,.28);color:#dcecff;font-size:.86rem;letter-spacing:.03em}
.user-chip .avatar img,.community-avatar img,.chat-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-chip .avatar{overflow:hidden}
.owlbear-frame-panel{padding:12px;overflow:hidden}.owlbear-frame-status{padding:10px 14px;color:#bfe6ff}.owlbear-frame-status span{color:#48e28b}.owlbear-vtt-frame{display:block;width:100%;height:min(78vh,900px);min-height:620px;border:0;border-radius:14px;background:#050817}.owlbear-fallback{padding:10px 14px;color:var(--muted)}
.c12-menu-owlbear{--card-accent:#73b6ff}.c12-menu-chat{--card-accent:#7bf2ce}.c12-menu-market{--card-accent:#f7c957}

/* Social community */
.community-post-head{display:flex;align-items:center;gap:10px}.community-avatar{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;overflow:hidden;background:#1e315d;font-weight:800;flex:none}.community-avatar.avatar-large{width:64px;height:64px}.community-post-head>div{display:flex;flex-direction:column}.community-post-head small{color:var(--muted)}
.community-carousel{position:relative;overflow:hidden;border-radius:14px;margin-top:14px;background:#071026}.community-carousel-track{display:flex;transition:transform .28s ease}.community-carousel-slide{min-width:100%;margin:0;display:grid;place-items:center;max-height:580px}.community-carousel-slide img{width:100%;height:min(56vh,560px);object-fit:contain;background:#050b1b}.community-carousel-nav{position:absolute;top:50%;translate:0 -50%;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(4,10,28,.78);color:#fff;font-size:2rem;cursor:pointer}.community-carousel-nav.prev{left:12px}.community-carousel-nav.next{right:12px}.community-carousel-dots{position:absolute;bottom:10px;left:50%;translate:-50% 0;display:flex;gap:6px}.community-carousel-dots button{width:8px;height:8px;border:0;border-radius:50%;background:#8993a7;padding:0}.community-carousel-dots button.active{background:#fff;scale:1.25}.community-post-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.community-feed-main-link{display:block;color:inherit;text-decoration:none}.social-profile-shell{max-width:1100px;margin:auto}.social-cover{min-height:320px;background:linear-gradient(160deg,#253d7a,#090f2c);background-size:cover;background-position:center;display:flex;align-items:end;gap:22px;padding:32px}.social-profile-avatar{width:150px;height:150px;border:5px solid #fff;border-radius:50%;overflow:hidden;background:#15234b;display:grid;place-items:center;font-size:4rem;font-weight:900;flex:none}.social-profile-avatar img{width:100%;height:100%;object-fit:cover}.social-profile-meta{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.social-profile-meta span{display:flex;flex-direction:column;min-width:150px}.social-profile-meta span b{font-size:.75rem;color:var(--muted);text-transform:uppercase}.social-persona-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.social-persona-card>a{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.social-persona-card>a>img{width:62px;height:62px;border-radius:50%;object-fit:cover}.social-persona-card .form-stack{margin-top:15px}

/* Chat */
.chat-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;min-height:650px}.chat-sidebar{overflow:hidden}.chat-conversation-list{display:flex;flex-direction:column;margin-top:18px;gap:6px;max-height:480px;overflow:auto}.chat-conversation-list>a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;text-decoration:none;color:inherit}.chat-conversation-list>a:hover,.chat-conversation-list>a.active{background:rgba(85,156,255,.14)}.chat-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#1c315d;overflow:hidden;flex:none}.chat-conversation-list span:last-child{display:flex;flex-direction:column;min-width:0}.chat-conversation-list small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.chat-window{display:flex;flex-direction:column;min-height:650px}.chat-window-head{display:flex;justify-content:space-between}.chat-messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:16px 4px;max-height:560px}.chat-message{align-self:flex-start;max-width:72%;padding:10px 13px;border-radius:14px 14px 14px 4px;background:#16274e}.chat-message.mine{align-self:flex-end;background:#174d77;border-radius:14px 14px 4px 14px}.chat-message p{margin:3px 0 0}.chat-message small{opacity:.75}.chat-compose{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:end}.chat-compose textarea{resize:none}.chat-reopen-button{position:fixed;right:22px;bottom:70px;z-index:20;border:0;border-radius:999px;background:#1976d2;color:#fff;padding:14px 20px;box-shadow:0 12px 35px rgba(0,0,0,.4);font-weight:800;cursor:pointer}

/* Market */
.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.market-card{text-decoration:none;color:inherit;transition:.18s transform,.18s border-color}.market-card:hover{transform:translateY(-3px);border-color:#4f9dff}.market-assets{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.market-assets span{padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.07)}.market-assets.large span{font-size:1.05rem}.market-detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.market-offer-list{display:flex;flex-direction:column;gap:10px}.market-offer-list article{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px}.market-message-list{max-height:360px;overflow:auto;display:flex;flex-direction:column;gap:9px;margin-bottom:14px}.market-message-list>div{padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.05)}.market-message-list small{margin-left:8px;color:var(--muted)}

/* Pokémon progression / center */
.pokemon-progression-badge{position:absolute;z-index:5;top:7px;right:7px;min-width:54px;min-height:54px;border-radius:50%;background:linear-gradient(135deg,#ffd747,#ff8a00);color:#181003;display:grid;place-items:center;text-decoration:none;font-weight:1000;box-shadow:0 0 0 4px rgba(255,215,71,.18),0 8px 25px rgba(0,0,0,.35);animation:nexusProgressPulse 1.8s infinite}.pokemon-progression-badge small{position:absolute;top:50px;font-size:.63rem;background:#050918;color:#fff;padding:3px 5px;border-radius:5px;white-space:nowrap}@keyframes nexusProgressPulse{50%{transform:scale(1.08);box-shadow:0 0 0 8px rgba(255,215,71,.08)}}.progression-move-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.progression-move-card{padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:14px}.progression-evolution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.progression-evolution-card{padding:16px;text-align:center}.progression-evolution-card img{height:180px;max-width:100%;object-fit:contain}.pokemon-center-button{background:#d71f32!important;color:#fff!important;border-color:#ff5c6c!important;font-weight:900;box-shadow:0 8px 24px rgba(215,31,50,.25)}.pokemon-center-button:hover{background:#ef2d43!important}

/* Healing / loot multi */
.loot-player-multi{max-height:260px;overflow:auto;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(0,0,0,.12)}.loot-player-multi .check-row{padding:7px 5px;border-bottom:1px solid rgba(255,255,255,.05)}

@media(max-width:900px){.chat-layout,.market-detail-grid{grid-template-columns:1fr}.chat-window{min-height:560px}.social-cover{min-height:260px;align-items:center;flex-direction:column;text-align:center}.social-profile-avatar{width:120px;height:120px}.owlbear-vtt-frame{min-height:70vh}.chat-compose{grid-template-columns:1fr}.market-offer-list article{grid-template-columns:1fr}.shine-footer{padding-bottom:76px}}

/* v0.19.0 — administração de NPCs da Comunidade */
.npc-bootstrap-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:linear-gradient(135deg,rgba(77,123,255,.13),rgba(145,71,255,.09));}
.npc-bootstrap-panel h2{margin:.15rem 0 .35rem}.npc-bootstrap-panel p{max-width:760px;margin:0 0 .35rem}
.npc-admin-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));align-items:start}
.npc-admin-card{display:grid;gap:16px}.npc-card-identity{display:flex;align-items:center;gap:12px}.npc-card-identity>a{width:64px;height:64px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:rgba(255,255,255,.06)}.npc-card-identity img{width:100%;height:100%;object-fit:cover}.npc-card-identity h3{margin:0}.npc-card-identity small{display:block;color:var(--muted,#9aa6c3);margin-top:3px}
.npc-random-post-form{display:flex;align-items:end;gap:10px;padding:12px;border:1px solid rgba(124,154,255,.18);border-radius:14px;background:rgba(8,15,38,.42)}.npc-random-post-form label{display:grid;gap:5px;min-width:120px}.npc-random-post-form span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#9aa6c3)}.npc-random-post-form select{min-height:38px}
.npc-edit-form{padding-top:4px}.compact-grid{gap:8px}.npc-edit-form details{border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:8px 10px}.npc-edit-form summary{cursor:pointer;font-weight:700;color:var(--muted,#9aa6c3)}
@media(max-width:760px){.npc-bootstrap-panel{align-items:stretch;flex-direction:column}.npc-random-post-form{align-items:stretch;flex-direction:column}.npc-random-post-form label{min-width:0}.npc-admin-grid{grid-template-columns:1fr}}

/* ============================================================
   Nexus Dimension v0.20.0 — Combat, trainer progression & backup
   ============================================================ */
.trainer-xp-pending{margin:.75rem 0;padding:.7rem .9rem;border:1px solid rgba(245,158,11,.35);border-radius:12px;background:rgba(245,158,11,.08);font-size:.9rem}
.trainer-point-wallet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}
.trainer-point-card{appearance:none;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft);padding:1rem;text-align:left;color:inherit;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:.15rem .8rem;align-items:center}
.trainer-point-card small{grid-column:1;font-weight:700}.trainer-point-card b{grid-column:2;grid-row:1/3;font-size:1.8rem}.trainer-point-card span{font-size:.78rem;color:var(--cyan);font-weight:700}
.trail-skill-managed{min-height:170px;background:var(--panel-soft);white-space:pre-wrap}
.skill-group{margin-top:1.2rem}.skill-group h3{display:flex;justify-content:space-between;gap:1rem;align-items:center}.skill-group h3 span{font-size:.78rem;color:var(--muted);font-weight:600}
.skill-test-grid{overflow:hidden;border:1px solid var(--line);border-radius:14px}.skill-test-head,.skill-test-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.55fr) minmax(110px,.45fr);align-items:center;gap:.8rem;padding:.65rem .85rem}.skill-test-head{background:var(--panel-soft);font-size:.75rem;text-transform:uppercase;color:var(--muted);font-weight:800}.skill-test-row+.skill-test-row{border-top:1px solid var(--line)}.skill-test-row input{max-width:110px}.skill-test-row>b{font-size:1.15rem}
.nexus-dialog{width:min(720px,calc(100vw - 2rem));max-height:86vh;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);padding:0;box-shadow:0 24px 80px rgba(0,0,0,.35)}.nexus-dialog::backdrop{background:rgba(2,6,23,.7);backdrop-filter:blur(4px)}.distribution-form{padding:1.2rem}.distribution-form header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dialog-close{border:0;background:transparent;color:inherit;font-size:2rem;cursor:pointer}.distribution-list{display:grid;gap:.55rem;margin:1rem 0;max-height:55vh;overflow:auto;padding-right:.25rem}.distribution-row{display:grid;grid-template-columns:1fr 38px 55px 38px;gap:.45rem;align-items:center;padding:.55rem;border:1px solid var(--line);border-radius:12px}.distribution-row span{display:flex;justify-content:space-between;gap:.5rem}.distribution-row small{color:var(--muted)}.distribution-row button{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--panel-soft);color:inherit;font-size:1.1rem;cursor:pointer}.distribution-row input{text-align:center;padding:.45rem}

.battle-type-line{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.4rem}.battle-type-line span{font-size:.65rem;padding:.15rem .45rem;border-radius:999px;background:rgba(59,130,246,.13);font-weight:800;text-transform:uppercase}.battle-active-effects{display:flex;gap:.25rem;flex-wrap:wrap;margin-top:.35rem}.effect-chip{font-size:.66rem;font-weight:800;padding:.18rem .42rem;border-radius:999px;background:rgba(34,197,94,.16);border:1px solid rgba(34,197,94,.3)}.effect-chip.is-debuff{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3)}
.battle-effectiveness-banner{text-align:center;font-weight:900;letter-spacing:.08em;padding:.55rem .8rem;margin-bottom:.7rem;border-radius:12px;background:var(--panel-soft)}.battle-effectiveness-banner.kind-weakness,.battle-effectiveness-banner.kind-double_weakness{background:rgba(239,68,68,.12);color:#ef4444}.battle-effectiveness-banner.kind-resistance,.battle-effectiveness-banner.kind-double_resistance{background:rgba(59,130,246,.12);color:#3b82f6}.battle-effectiveness-banner.kind-immune{background:rgba(148,163,184,.18)}
.battle-move-option.is-move span{border-left:3px solid rgba(139,92,246,.55)}.combat-item-target{padding:.65rem .8rem;border-radius:10px;background:var(--panel-soft);margin:.6rem 0}.battle-command.items:not(:disabled){cursor:pointer}.battle-command.items.is-active{outline:2px solid rgba(34,197,94,.45)}
.move-catalog-filter{align-items:end}.move-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.move-catalog-card{padding:0}.move-catalog-card summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}.move-catalog-card summary::-webkit-details-marker{display:none}.move-catalog-card[open] summary{border-bottom:1px solid var(--line)}.move-catalog-card>p,.move-catalog-card>.move-detail-grid{margin:1rem}.move-type-pill{display:inline-block;font-size:.68rem;font-weight:800;text-transform:uppercase;background:var(--panel-soft);padding:.2rem .45rem;border-radius:999px}.move-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.move-detail-grid span{padding:.55rem;border-radius:10px;background:var(--panel-soft);display:grid}.move-detail-grid small{color:var(--muted)}

.player-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:1rem}.player-primary-actions .button{justify-content:center}.player-more-actions{margin-top:.6rem;position:relative}.player-more-actions summary{cursor:pointer;color:var(--muted);font-weight:700}.player-more-actions>div{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.55rem}.player-more-actions .button{font-size:.78rem}

.supreme-backup-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:1rem 0}.supreme-backup-columns>div{border:1px solid var(--line);border-radius:14px;padding:1rem}.supreme-player-list{max-height:280px;overflow:auto}.select-all-row{padding-bottom:.55rem;margin-bottom:.35rem;border-bottom:1px solid var(--line)}.soft-divider{border:0;border-top:1px solid var(--line);margin:1.4rem 0}.supreme-restore-upload{display:grid;grid-template-columns:1fr minmax(260px,.7fr) auto;gap:1rem;align-items:end}.supreme-progress{margin:.8rem 0;grid-column:1/-1}.supreme-progress>div{height:10px;background:var(--panel-soft);border-radius:999px;overflow:hidden}.supreme-progress i{display:block;height:100%;width:8%;background:currentColor;border-radius:inherit;transition:width .35s ease}.supreme-progress span{display:block;margin-top:.35rem;font-size:.78rem;color:var(--muted)}

@media (max-width: 900px){.move-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supreme-restore-upload{grid-template-columns:1fr}.supreme-backup-columns{grid-template-columns:1fr}.player-primary-actions{grid-template-columns:1fr 1fr}}
@media (max-width: 640px){.trainer-point-wallet,.move-catalog-grid{grid-template-columns:1fr}.skill-test-head,.skill-test-row{grid-template-columns:1fr 86px 70px;gap:.4rem;padding:.55rem}.skill-test-head span{font-size:.62rem}.skill-test-row strong{font-size:.85rem}.skill-test-row input{width:80px}.distribution-row{grid-template-columns:1fr 36px 50px 36px}.distribution-row span{display:grid}.move-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-primary-actions{grid-template-columns:1fr}.player-card{min-width:0}.player-more-actions>div{display:grid}.trainer-sheet .form-grid.three,.trainer-sheet .attribute-grid{grid-template-columns:1fr}.trainer-equipment-grid{grid-template-columns:1fr!important}.battle-hud{max-width:calc(100vw - 2rem)}.supreme-backup-columns>div{padding:.75rem}}

/* v0.20 polish: responsive master inventory + battle feedback */
.battle-effect-flash{position:absolute;z-index:9;left:50%;top:18%;transform:translate(-50%,-50%);padding:.7rem 1rem;border:1px solid rgba(92,230,162,.45);border-radius:999px;background:rgba(8,11,24,.92);box-shadow:0 12px 44px rgba(0,0,0,.42),0 0 30px rgba(92,230,162,.16);font-weight:900;letter-spacing:.06em;pointer-events:none;animation:battleEffectPop 2.3s ease forwards}.battle-effect-flash.is-debuff{border-color:rgba(255,109,125,.55);box-shadow:0 12px 44px rgba(0,0,0,.42),0 0 30px rgba(255,109,125,.18)}@keyframes battleEffectPop{0%{opacity:0;transform:translate(-50%,-20%) scale(.78)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.07)}30%{transform:translate(-50%,-50%) scale(1)}78%{opacity:1}100%{opacity:0;transform:translate(-50%,-82%) scale(.96)}}
.battle-result-card.is-immune{grid-template-columns:1fr;justify-items:center;text-align:center}.battle-result-card.is-immune .battle-result-copy{max-width:720px}.battle-result-immune-mark{font-size:2.4rem;font-weight:1000;letter-spacing:.12em;color:var(--muted)}
.master-inventory-layout{min-width:0}.master-inventory-layout>*{min-width:0}.quick-delivery-panel,.stacked-panels,.master-inventory-layout>section{min-width:0}.quick-item-grid,.inventory-grid{min-width:0}.multi-item-admin-row{min-width:0}.multi-item-admin-row select{min-width:0}.master-inventory-layout .panel-heading{flex-wrap:wrap}.master-inventory-layout .subheading{gap:.8rem;flex-wrap:wrap}.master-inventory-layout .inventory-view-tools{max-width:100%}
@media(max-width:980px){.master-inventory-layout{grid-template-columns:1fr!important}.master-inventory-layout .sticky-panel{position:static}.quick-item-grid{max-height:360px}.quick-delivery-toolbar{grid-template-columns:1fr!important}}
@media(max-width:640px){.master-inventory-layout{overflow:hidden}.quick-item-grid{grid-template-columns:1fr!important}.quick-item-card{grid-template-columns:48px minmax(0,1fr)}.quick-item-card img,.quick-generic-icon{width:48px;height:48px}.multi-item-admin-row{grid-template-columns:minmax(0,1fr) 78px 40px!important}.master-inventory-layout .segmented{display:grid;grid-template-columns:1fr 1fr}.master-inventory-layout .inventory-view-tools{align-items:stretch;display:grid;width:100%}.master-inventory-layout .inventory-density-control{width:100%;justify-content:space-between}.master-inventory-layout .inventory-density-control input[type=range]{min-width:0;flex:1}.supreme-restore-upload{grid-template-columns:1fr!important}.battle-effect-flash{top:12%;max-width:calc(100vw - 2rem);white-space:nowrap;font-size:.8rem}}

/* ===== Nexus Dimension v0.21 — Combat polish / dice / effects ===== */
.battle-dice-overlay{position:absolute;inset:0;z-index:35;display:grid;place-items:center;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;background:radial-gradient(circle at center,rgba(8,20,45,.2),transparent 52%)}
.battle-dice-overlay.is-visible{opacity:1;visibility:visible}.battle-dice-overlay>.battle-dice-shell{display:grid;place-items:center;gap:1.15rem;perspective:850px}.battle-dice-caption{margin:0;padding:.35rem .8rem;border-radius:999px;background:rgba(5,11,24,.84);border:1px solid rgba(255,255,255,.18);font-weight:800;letter-spacing:.03em;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.dice3d{position:relative;width:86px;height:86px;transform-style:preserve-3d;filter:drop-shadow(0 18px 18px rgba(0,0,0,.45));will-change:transform}.dice3d .face{position:absolute;inset:0;display:grid;place-items:center;border-radius:16px;border:2px solid rgba(255,255,255,.86);background:linear-gradient(145deg,#fcfdff,#cfe0ff);color:#081427;font-size:2.15rem;font-weight:950;box-shadow:inset 0 0 18px rgba(35,85,155,.22)}.dice3d .face-1{transform:translateZ(43px)}.dice3d .face-6{transform:rotateY(180deg) translateZ(43px)}.dice3d .face-2{transform:rotateY(90deg) translateZ(43px)}.dice3d .face-5{transform:rotateY(-90deg) translateZ(43px)}.dice3d .face-3{transform:rotateX(-90deg) translateZ(43px)}.dice3d .face-4{transform:rotateX(90deg) translateZ(43px)}
.battle-effekseer-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:27;pointer-events:none;opacity:0;transition:opacity .15s ease}.battle-effekseer-canvas.is-playing{opacity:1}
.battle-active-effects{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.effect-chip{position:relative;display:inline-flex;align-items:center;gap:.3rem;min-height:27px;padding:.25rem .48rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);font-size:.72rem;font-weight:750;cursor:help;outline:none}.effect-chip.is-buff{background:rgba(52,211,153,.13);border-color:rgba(52,211,153,.38)}.effect-chip.is-debuff{background:rgba(251,113,133,.13);border-color:rgba(251,113,133,.38)}.effect-chip::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 9px);z-index:80;width:max-content;max-width:min(320px,76vw);transform:translate(-50%,6px);padding:.62rem .72rem;border-radius:10px;background:#050b18;color:#f2f6ff;border:1px solid rgba(255,255,255,.2);box-shadow:0 16px 42px rgba(0,0,0,.55);font-weight:500;line-height:1.4;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transition:.16s ease}.effect-chip:hover::after,.effect-chip:focus::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
.battle-move-details{display:grid;gap:.3rem;padding:.7rem .85rem;border-radius:13px;border:1px solid rgba(139,92,246,.35);background:rgba(139,92,246,.07);margin:.6rem 0}.battle-move-details-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.battle-move-details-head b{font-size:.92rem}.battle-move-details-head span{font-size:.72rem;color:var(--muted,#9aa8ca);font-weight:700}.battle-move-details p{margin:0;font-size:.78rem;line-height:1.4;color:#dbe1f5}.battle-move-details p:empty{display:none}.battle-move-details p.muted{color:var(--muted,#9aa8ca)}
.battle-effectiveness-preview{display:grid;gap:.12rem;padding:.7rem .85rem;border-radius:13px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);margin:.7rem 0}.battle-effectiveness-preview b{font-size:.86rem;letter-spacing:.045em}.battle-effectiveness-preview span{font-size:.76rem;color:var(--muted,#aeb5c8)}.battle-effectiveness-preview.kind-weakness,.battle-effectiveness-preview.kind-double_weakness{border-color:rgba(255,183,77,.6);box-shadow:inset 3px 0 0 #ffb74d}.battle-effectiveness-preview.kind-resistance,.battle-effectiveness-preview.kind-double_resistance{border-color:rgba(80,185,255,.6);box-shadow:inset 3px 0 0 #50b9ff}.battle-effectiveness-preview.kind-immune{border-color:rgba(190,170,255,.7);box-shadow:inset 3px 0 0 #beaaff}.battle-effectiveness-preview.kind-normal{box-shadow:inset 3px 0 0 rgba(255,255,255,.3)}
.battle-defense-actions{display:grid;gap:.8rem}.battle-switch-defense-form{padding:.8rem;border-radius:14px;border:1px solid rgba(255,202,92,.3);background:rgba(255,202,92,.06)}.turn-skip-mark{display:inline-flex;margin-left:.35rem;padding:.1rem .35rem;border-radius:999px;background:rgba(255,183,77,.14);border:1px solid rgba(255,183,77,.28);font-size:.67rem;color:#ffd58a}
.battle-roster-card.is-bench{opacity:.62;filter:saturate(.68)}.battle-roster-card.is-bench::after{content:'RESERVA';margin-left:auto;font-size:.63rem;letter-spacing:.08em;color:var(--muted,#aeb5c8)}
.master-roll-manipulation{padding:.85rem;border-radius:15px;border:1px solid rgba(183,133,255,.28);background:rgba(183,133,255,.055)}.combat-resource-admin{display:grid;gap:.55rem;margin-top:1rem}.combat-resource-admin-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;padding:.65rem;border-radius:12px;background:rgba(255,255,255,.035)}.combat-resource-admin-row .inline-form{display:flex;align-items:center;gap:.42rem}.combat-resource-admin-row input{width:78px}.master-infinite-items{margin-top:1rem;padding-top:.85rem;border-top:1px dashed rgba(255,255,255,.16)}
.battle-css-impact{position:absolute;left:50%;top:50%;width:16px;height:16px;z-index:34;pointer-events:none;transform:translate(-50%,-50%)}.battle-css-impact::before{content:'';position:absolute;inset:-12px;border-radius:50%;border:4px solid currentColor;animation:battleImpactRing .45s ease-out forwards}.battle-css-impact i{position:absolute;left:7px;top:7px;width:7px;height:22px;border-radius:999px;background:currentColor;transform-origin:50% 0;animation:battleImpactParticle .5s cubic-bezier(.17,.67,.3,1) forwards;transform:rotate(var(--a)) translateY(0)}
.battle-css-impact[data-type=normal]{color:#eef3ff}.battle-css-impact[data-type=fogo]{color:#ff864a}.battle-css-impact[data-type=agua]{color:#55b7ff}.battle-css-impact[data-type=eletrico]{color:#ffe45c}.battle-css-impact[data-type=planta]{color:#69df80}.battle-css-impact[data-type=gelo]{color:#8ff0ff}.battle-css-impact[data-type=lutador]{color:#ff6d5f}.battle-css-impact[data-type=veneno]{color:#c27aff}.battle-css-impact[data-type=terra]{color:#d9a85f}.battle-css-impact[data-type=voador]{color:#9acbff}.battle-css-impact[data-type=psiquico]{color:#ff7bb7}.battle-css-impact[data-type=inseto]{color:#bedc57}.battle-css-impact[data-type=pedra]{color:#c7b273}.battle-css-impact[data-type=fantasma]{color:#9a83ff}.battle-css-impact[data-type=dragao]{color:#6e7cff}.battle-css-impact[data-type=sombrio]{color:#91879c}.battle-css-impact[data-type=aco]{color:#c8d4e0}.battle-css-impact[data-type=fada]{color:#ff9ed5}.battle-css-impact[data-type=cosmico]{color:#8ae6ff}
@keyframes battleImpactRing{0%{transform:scale(.35);opacity:1}100%{transform:scale(4.2);opacity:0}}@keyframes battleImpactParticle{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scaleY(.5)}100%{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) scaleY(1.3)}}
.battle-hit-shake{animation:battleHitShake .4s ease both}.battle-dodge{animation:battleDodge .55s cubic-bezier(.2,.8,.25,1) both}.battle-immune-pulse{animation:battleImmune .6s ease both}@keyframes battleHitShake{0%,100%{transform:translate(0)}20%{transform:translate(-7px,2px) rotate(-1deg)}40%{transform:translate(7px,-2px) rotate(1deg)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px,-1px)}}@keyframes battleDodge{0%,100%{transform:translateX(0);filter:blur(0);opacity:1}35%{transform:translateX(48px) skewX(-8deg);filter:blur(1px);opacity:.42}60%{transform:translateX(-15px);opacity:.76}}@keyframes battleImmune{0%,100%{filter:none}45%{filter:drop-shadow(0 0 18px #c9b8ff) brightness(1.35);transform:scale(1.045)}}
@media(max-width:720px){.dice3d{width:70px;height:70px}.dice3d .face{font-size:1.8rem}.dice3d .face-1{transform:translateZ(35px)}.dice3d .face-6{transform:rotateY(180deg) translateZ(35px)}.dice3d .face-2{transform:rotateY(90deg) translateZ(35px)}.dice3d .face-5{transform:rotateY(-90deg) translateZ(35px)}.dice3d .face-3{transform:rotateX(-90deg) translateZ(35px)}.dice3d .face-4{transform:rotateX(90deg) translateZ(35px)}.combat-resource-admin-row{align-items:flex-start;flex-direction:column}.effect-chip::after{left:0;transform:translate(0,6px)}.effect-chip:hover::after,.effect-chip:focus::after{transform:translate(0,0)}}
@media(prefers-reduced-motion:reduce){.battle-dice-overlay,.battle-effekseer-canvas{transition:none}.battle-hit-shake,.battle-dodge,.battle-immune-pulse,.battle-css-impact::before,.battle-css-impact i{animation:none!important}}

/* ============================================================
 * Pokémon Next Dimension v0.22 — Combat FX / Effekseer
 * ============================================================ */
.battle-fx-controls{display:flex;align-items:center;gap:.45rem;padding:.35rem .55rem;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(0,0,0,.16);font-size:.72rem;font-weight:800;letter-spacing:.04em}.battle-fx-controls select{min-width:118px;padding:.35rem .5rem;border-radius:9px}.fx-runtime-status{font-style:normal;font-size:.62rem;padding:.22rem .42rem;border-radius:999px;background:rgba(148,163,184,.16);white-space:nowrap}.fx-runtime-status.is-ready{color:#7cf7c3;background:rgba(52,211,153,.14)}.fx-runtime-status.is-fallback,.fx-runtime-status.is-simple{color:#ffd166;background:rgba(245,158,11,.14)}.fx-runtime-status.is-off{color:#aeb5c8}
.battle-field-effects{position:absolute;z-index:25;left:50%;top:.65rem;transform:translateX(-50%);display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;max-width:92%;pointer-events:auto}.battle-field-effect-chip{padding:.34rem .58rem;border-radius:999px;border:1px solid rgba(255,145,61,.38);background:rgba(22,12,7,.78);backdrop-filter:blur(6px);font-size:.69rem;box-shadow:0 5px 20px rgba(0,0,0,.2);cursor:help}.battle-field-effect-chip[data-tooltip]{position:relative}.battle-field-effect-chip[data-tooltip]:hover::after,.battle-field-effect-chip[data-tooltip]:focus::after{content:attr(data-tooltip);position:absolute;z-index:80;left:50%;top:calc(100% + 8px);transform:translateX(-50%);width:min(360px,80vw);padding:.55rem .65rem;border-radius:10px;background:#090d18;color:#f4f7ff;border:1px solid rgba(255,255,255,.14);font-weight:500;line-height:1.35;letter-spacing:0;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.battle-forced-move{margin-bottom:.7rem;padding:.7rem .85rem;border:1px solid rgba(255,115,64,.45);border-radius:12px;background:rgba(255,91,43,.09)}.battle-move-option.is-disabled{opacity:.38;filter:saturate(.3);pointer-events:none}
.battle-floating-fx{position:absolute;z-index:45;left:50%;top:36%;transform:translate(-50%,-50%);padding:.42rem .68rem;border-radius:999px;background:rgba(6,9,18,.88);border:1px solid rgba(255,255,255,.2);font-weight:950;font-size:.78rem;letter-spacing:.08em;pointer-events:none;animation:battleFloatingText .85s ease-out forwards;white-space:nowrap}.battle-floating-fx.is-buff{color:#73f3b5;border-color:rgba(115,243,181,.55)}.battle-floating-fx.is-debuff{color:#ff7d8e;border-color:rgba(255,125,142,.55)}.battle-floating-fx.is-ko{color:#ffb14a;border-color:rgba(255,177,74,.6);font-size:.9rem}.battle-floating-fx.is-immune{color:#c9b7ff}.battle-floating-fx.is-dodge{color:#8ddcff}
@keyframes battleFloatingText{0%{opacity:0;transform:translate(-50%,0) scale(.75)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}72%{opacity:1}100%{opacity:0;transform:translate(-50%,-115%) scale(.96)}}
.battle-buff-pulse .battle-pokemon-art{animation:battleBuffPulse .65s ease}.battle-debuff-pulse .battle-pokemon-art{animation:battleDebuffPulse .65s ease}.battle-ko .battle-pokemon-art{animation:battleKo .9s ease forwards}@keyframes battleBuffPulse{0%,100%{filter:none;transform:scale(1)}45%{filter:brightness(1.35) drop-shadow(0 0 22px rgba(96,255,179,.8));transform:scale(1.06)}}@keyframes battleDebuffPulse{0%,100%{filter:none;transform:translateX(0)}25%{filter:brightness(.72) saturate(.7);transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}@keyframes battleKo{0%{transform:translateY(0) rotate(0);filter:none}65%{transform:translateY(9px) rotate(-3deg);filter:brightness(.7) saturate(.5)}100%{transform:translateY(18px) rotate(-5deg);filter:brightness(.5) saturate(.35);opacity:.55}}
@media(max-width:760px){.battle-top-actions{flex-wrap:wrap}.battle-fx-controls{order:5;width:100%;justify-content:center}.battle-field-effects{top:.35rem}.battle-field-effect-chip{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.battle-buff-pulse .battle-pokemon-art,.battle-debuff-pulse .battle-pokemon-art,.battle-ko .battle-pokemon-art,.battle-floating-fx{animation:none!important}}

/* v0.23 - aliases das tipagens do catálogo global de Movimentos */
.battle-css-impact[data-type=venenoso]{color:#c27aff}.battle-css-impact[data-type=escuridao]{color:#91879c}.battle-css-impact[data-type=aco]{color:#c8d4e0}.battle-css-impact[data-type=psiquico]{color:#ff7bb7}

/* v0.24 — sonda de integridade do stylesheet principal. Não remover. */
.nexus-css-probe{position:fixed!important;left:-10000px!important;top:-10000px!important;width:7px!important;height:7px!important;overflow:hidden!important;pointer-events:none!important;opacity:0!important}

/* Shine Revolution v0.1 */
.shine-mini-logo,.shine-phone-mark,.shine-item-mark{display:grid;place-items:center;font-weight:950;letter-spacing:.04em;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,rgba(106,92,255,.34),rgba(255,72,168,.18));box-shadow:0 10px 30px rgba(60,34,160,.18)}
.shine-mini-logo{width:38px;height:38px;border-radius:12px;font-size:.82rem}.shine-phone-mark{width:120px;height:120px;border-radius:30px;font-size:2.2rem;margin:auto}.shine-item-mark{width:72px;height:72px;border-radius:18px;font-size:1.8rem}.item-tag-row{display:flex;gap:.4rem;flex-wrap:wrap}.shine-auth-logo{display:grid;gap:.05rem;justify-items:start;font-weight:950;letter-spacing:.13em;margin-bottom:1rem;text-shadow:0 0 30px rgba(142,112,255,.36)}.shine-auth-logo span{font-size:clamp(1.5rem,4vw,2.5rem)}.shine-auth-logo strong{font-size:clamp(2rem,5vw,4rem);line-height:.9}.shine-logo-note{max-width:36rem;margin-top:1rem}

/* ============================================================
 * Shine Revolution v0.2 — Fantasy UI inspired by Manual 6.3
 * ============================================================ */
:root{
    --bg:#080608;
    --bg-2:#120c16;
    --panel:rgba(18,13,22,.93);
    --panel-strong:#17101d;
    --panel-soft:#211426;
    --line:rgba(210,151,255,.18);
    --text:#fff9f1;
    --muted:#b9aebd;
    --cyan:#d9a7ff;
    --blue:#7350aa;
    --violet:#9c4ac6;
    --pink:#d54b9d;
    --yellow:#f4c85a;
    --green:#83d7a3;
    --red:#e85c57;
    --shadow:0 24px 70px rgba(0,0,0,.52);
    --radius:18px;
    --shine-purple:#8c3b9c;
    --shine-purple-2:#4d1f59;
    --shine-gold:#f2c45d;
    --shine-red:#9e2824;
    --shine-ink:#0b080c;
}
html{color-scheme:dark}
body{background:#080608;font-family:"Trebuchet MS",Inter,ui-sans-serif,system-ui,sans-serif}
body::before{content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.018) 25%,transparent 25%) 0 0/24px 24px,linear-gradient(315deg,rgba(255,255,255,.012) 25%,transparent 25%) 0 0/24px 24px}
.app-backdrop{background:radial-gradient(circle at 12% 8%,rgba(151,50,168,.20),transparent 30%),radial-gradient(circle at 86% 12%,rgba(110,26,94,.16),transparent 28%),radial-gradient(circle at 52% 100%,rgba(123,66,147,.12),transparent 38%),linear-gradient(180deg,#09070a 0%,#0d0910 55%,#070608 100%)}
.app-backdrop::after{opacity:.34;background-image:linear-gradient(120deg,transparent 0 47%,rgba(255,255,255,.025) 48% 49%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(196,75,217,.15) 0 1px,transparent 2px);background-size:46px 46px,120px 120px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
.topbar{background:linear-gradient(180deg,rgba(9,6,11,.97),rgba(14,8,16,.92));border-bottom:1px solid rgba(242,196,93,.14);box-shadow:0 12px 38px rgba(0,0,0,.28)}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--shine-purple),var(--shine-gold),var(--shine-purple),transparent);opacity:.65}
.shine-mini-logo-image{width:46px;height:46px;object-fit:cover;border-radius:12px;border:1px solid rgba(242,196,93,.22);box-shadow:0 8px 28px rgba(0,0,0,.38)}
.desktop-nav>a:hover,.desktop-nav>a.active{color:#fff6e8;background:rgba(140,59,156,.16)}
.desktop-nav>a.active{box-shadow:inset 0 -2px 0 var(--shine-gold)}
.avatar{background:linear-gradient(145deg,#6a2a78,#a4418d);box-shadow:0 8px 24px rgba(112,42,123,.28)}
.page-heading h1,.panel-heading h2,.subheading h2,.c12-menu-card h2,.auth-card h2{font-family:Impact,"Arial Narrow",sans-serif;font-weight:500;letter-spacing:.025em;text-transform:uppercase}
.eyebrow{color:#d58ce7!important}
.panel,.stat-card,.player-card,.catalog-card,.item-card,.shop-card,.wallet-panel,.c12-menu-card{border-color:rgba(214,154,226,.16);background:linear-gradient(155deg,rgba(27,19,31,.95),rgba(13,10,16,.95));box-shadow:0 18px 54px rgba(0,0,0,.38)}
.panel,.catalog-card,.item-card,.shop-card,.c12-menu-card{position:relative;overflow:hidden}
.panel::before,.catalog-card::before,.item-card::before,.shop-card::before,.c12-menu-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.018),transparent 42%),repeating-linear-gradient(135deg,transparent 0 19px,rgba(255,255,255,.009) 20px 21px);opacity:.55}
.button-primary{background:linear-gradient(135deg,#6b2f7a,#a2449a 62%,#c16e45);box-shadow:0 12px 28px rgba(132,53,137,.25);border-color:rgba(242,196,93,.18)}
.button-secondary{background:rgba(140,59,156,.12);border-color:rgba(213,129,228,.28);color:#f2d8f8}
.button-ghost{background:rgba(255,255,255,.025);border-color:rgba(242,196,93,.14);color:#c9bdc8}
input,select,textarea{background:rgba(5,4,7,.78);border-color:rgba(218,157,232,.18)}
input:focus,select:focus,textarea:focus{border-color:rgba(218,139,234,.72);box-shadow:0 0 0 3px rgba(156,74,198,.12);background:rgba(9,6,11,.95)}
.category-tag{color:#e9d8ec;background:rgba(140,59,156,.10);border-color:rgba(198,120,216,.18)}
.rarity-comum{color:#f7f5f1!important;border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.06)!important}
.rarity-incomum{color:#67d96f!important;border-color:rgba(63,165,53,.34)!important;background:rgba(63,165,53,.11)!important}
.rarity-raro{color:#61b9ff!important;border-color:rgba(67,155,255,.30)!important;background:rgba(51,132,229,.10)!important}
.rarity-epico{color:#ffd84f!important;border-color:rgba(255,212,61,.32)!important;background:rgba(255,204,51,.09)!important}
.rarity-lendario{color:#d784ff!important;border-color:rgba(204,100,255,.34)!important;background:rgba(174,68,224,.11)!important}

.item-card-art,.catalog-item-art{display:grid;place-items:center;flex:0 0 auto;width:78px;height:78px;border-radius:16px;border:1px solid rgba(242,196,93,.14);background:radial-gradient(circle,rgba(130,65,151,.18),rgba(4,3,5,.82));overflow:hidden;box-shadow:inset 0 0 24px rgba(0,0,0,.35)}
.item-card-art img,.catalog-item-art img{width:100%;height:100%;object-fit:contain;image-rendering:auto}
.item-art-fallback{font-size:1.6rem;color:var(--shine-gold)}
.inventory-grid-dense .item-card-art{width:54px;height:54px}
.shop-card .catalog-item-art{width:92px;height:92px;margin-bottom:.6rem}

.guest-body{background:radial-gradient(circle at 15% 18%,rgba(133,43,146,.24),transparent 30%),radial-gradient(circle at 82% 14%,rgba(145,52,91,.14),transparent 28%),linear-gradient(135deg,#080608,#120a14 55%,#070608)}
.guest-shell{grid-template-columns:minmax(0,1.08fr) minmax(360px,.82fr);max-width:1220px}
.brand-panel{min-height:650px;padding:2.2rem 3rem;border-left:1px solid rgba(242,196,93,.12)}
.brand-panel::before{content:"";position:absolute;inset:3% 0 3% -5%;z-index:-1;background:radial-gradient(circle at 45% 40%,rgba(145,56,162,.18),transparent 45%);filter:blur(1px)}
.shine-auth-logo-image{width:min(560px,92%);max-height:460px;object-fit:contain;align-self:flex-start;border-radius:10px;filter:drop-shadow(0 22px 44px rgba(0,0,0,.42));margin-bottom:1.2rem}
.brand-panel h1{font-size:clamp(2.6rem,5vw,4.5rem);color:#fff3dc;background:none;-webkit-background-clip:initial;letter-spacing:.015em;text-transform:uppercase;font-family:Impact,"Arial Narrow",sans-serif}
.auth-panel{position:relative}
.auth-panel::before{content:"";position:absolute;inset:-24px;border:1px solid rgba(242,196,93,.10);border-radius:26px;pointer-events:none}
.auth-card{background:linear-gradient(160deg,rgba(28,18,31,.96),rgba(10,8,12,.96));border-color:rgba(215,150,230,.20)}

.master-dashboard-heading{align-items:center}.master-dashboard-brand{display:flex;align-items:center;gap:1rem}.master-dashboard-brand>img{width:110px;height:110px;object-fit:cover;border-radius:20px;border:1px solid rgba(242,196,93,.18);box-shadow:0 16px 42px rgba(0,0,0,.35)}

.c12-hero{background:radial-gradient(circle at 82% 42%,rgba(164,62,172,.26),transparent 26%),linear-gradient(135deg,rgba(34,20,39,.98),rgba(12,9,15,.96));border-color:rgba(218,151,226,.22)}
.c12-menu-card{border-left:3px solid var(--shine-purple)}
.c12-menu-card:hover{transform:translateY(-2px);border-color:rgba(242,196,93,.25);box-shadow:0 24px 58px rgba(0,0,0,.48)}
.shine-phone-mark{background:radial-gradient(circle at 50% 40%,rgba(186,91,197,.30),rgba(42,20,49,.95));border-color:rgba(242,196,93,.22);color:#f4d680}

.manual-viewer-panel{padding:0;overflow:hidden}.manual-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:linear-gradient(90deg,rgba(105,36,119,.35),rgba(18,12,22,.95));border-bottom:1px solid rgba(242,196,93,.14)}.manual-viewer-head>div{display:flex;align-items:center;gap:.75rem}.manual-viewer-head strong,.manual-viewer-head small{display:block}.manual-viewer-head small{color:var(--muted);margin-top:.15rem}.manual-book-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;color:#1a0d16;background:linear-gradient(145deg,#f1cf74,#b97647);font-weight:1000}.manual-pdf-frame{display:block;width:100%;height:min(80vh,980px);min-height:680px;border:0;background:#171717}

/* Digital character sheet */
.shine-sheet-form{display:grid;gap:0}.fantasy-panel{border-color:rgba(216,146,226,.18)}.sheet-page-heading{align-items:center}.sheet-hero{display:grid;grid-template-columns:minmax(230px,320px) 1fr;gap:1.25rem;padding:1.25rem}.sheet-portrait-column{display:grid;gap:.8rem;align-content:start}.sheet-portrait-frame{aspect-ratio:3/4;max-height:470px;border:1px solid rgba(242,196,93,.25);border-radius:16px;padding:7px;background:linear-gradient(145deg,#3b203e,#111014);box-shadow:inset 0 0 0 2px rgba(255,255,255,.025),0 18px 48px rgba(0,0,0,.42)}.sheet-portrait-frame img{width:100%;height:100%;object-fit:cover;border-radius:10px}.sheet-portrait-empty{height:100%;display:grid;place-items:center;align-content:center;gap:.4rem;background:radial-gradient(circle,rgba(147,63,157,.18),transparent 58%),#08070a;border-radius:10px}.sheet-portrait-empty span{font-family:Impact,"Arial Narrow",sans-serif;font-size:4rem;color:#d7a0e0}.sheet-portrait-empty small{color:var(--muted)}.sheet-photo-field input{padding:.65rem}.sheet-basic-panel{min-width:0}.sheet-title-ribbon{position:relative;display:flex;align-items:center;min-height:42px;margin:-1px -1px 1rem;padding:0 1rem;border-left:4px solid var(--shine-gold);background:linear-gradient(90deg,#7c338d 0%,#4a1f58 52%,rgba(35,18,40,.25) 100%);box-shadow:inset 0 -1px 0 rgba(255,255,255,.06)}.sheet-title-ribbon::after{content:"";position:absolute;right:0;top:0;width:120px;height:100%;background:linear-gradient(120deg,transparent,rgba(242,196,93,.07))}.sheet-title-ribbon span{position:relative;z-index:1;font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.055em;font-size:1.05rem;color:#fff7e7}.sheet-basic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.sheet-basic-grid input[readonly]{color:#f0d780;background:rgba(83,61,28,.16)}
.sheet-section{padding:1rem}.sheet-three-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.sheet-stat-block{border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden;background:rgba(0,0,0,.18)}.sheet-stat-block h3{margin:0;padding:.62rem .8rem;text-align:center;font-family:Impact,"Arial Narrow",sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(90deg,rgba(113,32,37,.74),rgba(75,25,58,.66));border-bottom:1px solid rgba(255,255,255,.07)}.sheet-stat-row{display:grid;grid-template-columns:1fr 74px;align-items:center;gap:.6rem;padding:.46rem .65rem;border-top:1px solid rgba(255,255,255,.045)}.sheet-stat-row:first-of-type{border-top:0}.sheet-stat-row span{font-size:.82rem;color:#e6dfe7}.sheet-stat-row input{padding:.48rem .55rem;text-align:center}.sheet-skills-grid .sheet-stat-block:nth-child(1) h3{background:linear-gradient(90deg,#275127,#18341f)}.sheet-skills-grid .sheet-stat-block:nth-child(2) h3{background:linear-gradient(90deg,#254a72,#172d4c)}.sheet-skills-grid .sheet-stat-block:nth-child(3) h3{background:linear-gradient(90deg,#7a342b,#4d211e)}
.sheet-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.sheet-virtue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.sheet-virtue-grid .sheet-stat-row{grid-template-columns:1fr 70px;border:1px solid rgba(255,255,255,.06);border-radius:10px}.sheet-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.sheet-help{margin:-.2rem 0 1rem;line-height:1.5}.sheet-table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.07);border-radius:13px}.sheet-table{width:100%;border-collapse:collapse;min-width:880px;background:rgba(0,0,0,.14)}.sheet-table.compact{min-width:520px}.sheet-table th{padding:.68rem .65rem;text-align:left;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#f1dca8;background:#241427;border-bottom:1px solid rgba(242,196,93,.12)}.sheet-table td{padding:.35rem;border-top:1px solid rgba(255,255,255,.045);vertical-align:middle}.sheet-table td input,.sheet-table td textarea{border-radius:8px;padding:.5rem .55rem}.sheet-table textarea{min-height:55px;resize:vertical}.sheet-check-cell{text-align:center!important}.sheet-check-cell input[type=checkbox]{width:22px;height:22px;accent-color:#a74cb4}.sheet-save-bar{position:sticky;z-index:20;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem;padding:.8rem 1rem;border:1px solid rgba(242,196,93,.22);border-radius:16px;background:rgba(13,9,15,.92);backdrop-filter:blur(12px);box-shadow:0 18px 50px rgba(0,0,0,.45)}.sheet-save-bar strong,.sheet-save-bar small{display:block}.sheet-save-bar small{color:var(--muted);margin-top:.15rem}

@media(max-width:1050px){.sheet-hero{grid-template-columns:240px 1fr}.sheet-three-columns{grid-template-columns:1fr}.sheet-skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-skills-grid .sheet-stat-block:last-child{grid-column:1/-1}.master-dashboard-brand>img{width:88px;height:88px}.guest-shell{grid-template-columns:1fr}.brand-panel{min-height:0;align-items:center;text-align:center;padding-top:3rem}.shine-auth-logo-image{align-self:center;max-height:340px}.brand-copy,.shine-logo-note{margin-left:auto;margin-right:auto}.auth-panel{padding-bottom:3rem}}
@media(max-width:780px){.sheet-hero,.sheet-grid-2{grid-template-columns:1fr}.sheet-portrait-column{grid-template-columns:170px 1fr;align-items:start}.sheet-portrait-frame{max-height:250px}.sheet-basic-grid,.sheet-resource-grid{grid-template-columns:1fr}.sheet-skills-grid{grid-template-columns:1fr}.sheet-skills-grid .sheet-stat-block:last-child{grid-column:auto}.sheet-virtue-grid{grid-template-columns:1fr}.sheet-save-bar{bottom:.5rem}.master-dashboard-brand{align-items:flex-start}.master-dashboard-brand>img{width:72px;height:72px}.manual-pdf-frame{min-height:620px}.guest-shell{width:min(100% - 1rem,620px)}}
@media(max-width:520px){.sheet-portrait-column{grid-template-columns:1fr}.sheet-portrait-frame{width:min(230px,100%);justify-self:center}.sheet-save-bar{align-items:stretch;flex-direction:column}.sheet-save-bar .button{width:100%}.manual-viewer-head{align-items:flex-start;flex-direction:column}.manual-pdf-frame{min-height:520px}.master-dashboard-brand>img{display:none}.shine-mini-logo-image{width:38px;height:38px}.brand-panel{padding:2rem 1rem}.shine-auth-logo-image{width:100%}}

/* v0.6 - item image reliability and upload UI */
.item-art-shell{position:relative;isolation:isolate}
.item-art-shell>img{position:relative;z-index:2;display:block}
.item-art-fallback{position:absolute;inset:0;z-index:1;display:grid;place-items:center;align-content:center;gap:.18rem;padding:.35rem;text-align:center;background:radial-gradient(circle at 50% 32%,rgba(242,196,93,.12),transparent 48%),linear-gradient(145deg,rgba(88,40,97,.26),rgba(7,6,9,.86));color:var(--shine-gold)}
.item-art-fallback[hidden]{display:none!important}
.item-art-fallback strong{font-size:1.55rem;line-height:1;text-shadow:0 3px 12px rgba(0,0,0,.65)}
.item-art-fallback small{max-width:100%;font-size:.52rem;line-height:1.05;letter-spacing:.05em;color:#d8ccd9;overflow-wrap:anywhere}
.inventory-grid-dense .item-art-fallback small{display:none}
.item-art-category-arma .item-art-fallback{background:radial-gradient(circle at 50% 28%,rgba(205,83,63,.2),transparent 50%),linear-gradient(145deg,rgba(75,24,28,.45),rgba(8,6,8,.92))}
.item-art-category-defesa .item-art-fallback{background:radial-gradient(circle at 50% 28%,rgba(79,117,180,.2),transparent 50%),linear-gradient(145deg,rgba(22,38,65,.52),rgba(8,6,8,.92))}
.item-art-category-acessorio .item-art-fallback{background:radial-gradient(circle at 50% 28%,rgba(192,105,209,.24),transparent 50%),linear-gradient(145deg,rgba(66,29,72,.52),rgba(8,6,8,.92))}
.item-art-category-consumivel .item-art-fallback{background:radial-gradient(circle at 50% 28%,rgba(86,165,117,.22),transparent 50%),linear-gradient(145deg,rgba(23,63,40,.48),rgba(8,6,8,.92))}
.item-art-category-soquete .item-art-fallback{background:radial-gradient(circle at 50% 28%,rgba(183,119,225,.28),transparent 50%),linear-gradient(145deg,rgba(57,25,76,.55),rgba(8,6,8,.92))}
.item-art-category-material .item-art-fallback{background:radial-gradient(circle at 50% 28%,rgba(188,139,74,.22),transparent 50%),linear-gradient(145deg,rgba(67,45,23,.48),rgba(8,6,8,.92))}

.item-image-field{gap:.55rem}
.item-image-dropzone{position:relative;display:grid;place-items:center;gap:.16rem;min-height:104px;padding:1rem;border:1px dashed rgba(224,166,232,.3);border-radius:14px;background:linear-gradient(145deg,rgba(91,39,103,.13),rgba(5,4,7,.6));cursor:pointer;text-align:center;transition:.18s ease}
.item-image-dropzone:hover{border-color:rgba(242,196,93,.45);background:linear-gradient(145deg,rgba(111,47,125,.2),rgba(5,4,7,.72))}
.item-image-dropzone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.item-image-dropzone strong{color:#f2dfef}.item-image-dropzone small{color:var(--muted)}
.item-image-preview{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:.8rem;padding:.7rem;border:1px solid rgba(242,196,93,.14);border-radius:14px;background:rgba(4,3,6,.48)}
.item-image-preview>img{width:92px;height:92px;border-radius:12px;object-fit:contain;background:radial-gradient(circle,rgba(131,63,148,.18),rgba(4,3,5,.9));border:1px solid rgba(255,255,255,.06)}
.item-image-preview strong,.item-image-preview small{display:block}.item-image-preview small{margin:.18rem 0 .55rem;color:var(--muted);line-height:1.35}
.item-image-preview.image-preview-error>img{display:none}.item-image-preview.image-preview-error::before{content:"Imagem atual indisponível";display:grid;place-items:center;width:92px;height:92px;border-radius:12px;border:1px dashed rgba(224,166,232,.28);color:var(--muted);font-size:.66rem;text-align:center}

@media(max-width:620px){.item-image-preview{grid-template-columns:72px 1fr}.item-image-preview>img,.item-image-preview.image-preview-error::before{width:72px;height:72px}}

/* ============================================================
 * Shine Revolution v0.7 — Equipamentos, Loot e módulos futuros
 * ============================================================ */
.sheet-equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.sheet-equipment-slot{display:grid;gap:.65rem;padding:.8rem;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(0,0,0,.18)}
.sheet-equipment-slot.is-equipped{border-color:rgba(242,196,93,.24);box-shadow:inset 0 0 26px rgba(128,63,145,.08)}
.sheet-equipment-slot-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.sheet-equipment-slot-head>strong{font-family:Impact,"Arial Narrow",sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.055em;color:#f7e6bf}
.sheet-equipment-item-preview{display:grid;grid-template-columns:70px minmax(0,1fr);gap:.7rem;align-items:start;padding:.65rem;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05)}
.sheet-equipment-item-preview b,.sheet-equipment-item-preview small{display:block}.sheet-equipment-item-preview small{margin:.12rem 0 .35rem;color:var(--muted);font-size:.68rem}.sheet-equipment-item-preview p{margin:0;font-size:.72rem;line-height:1.38;color:#d9d1dc}
.sheet-equipment-art{width:70px;height:70px;border-radius:11px;overflow:hidden;border:1px solid rgba(242,196,93,.14);background:#08070a}.sheet-equipment-art img{width:100%;height:100%;object-fit:contain}.equipment-empty-hint{font-size:.72rem;line-height:1.4}.field-error{display:block;color:#ff9d9d;font-size:.7rem;line-height:1.35}
.quick-item-art,.loot-picker-art{width:42px;height:42px;display:grid;place-items:center;overflow:hidden;border-radius:9px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03)}.quick-item-art img,.loot-picker-art img{width:100%;height:100%;object-fit:contain}.quick-item-art .item-art-fallback,.loot-picker-art .item-art-fallback{font-size:.72rem}.quick-item-art .item-art-fallback small,.loot-picker-art .item-art-fallback small{display:none}
.phone-development-panel{max-width:760px;margin:4rem auto;text-align:center;padding:2.2rem}.phone-development-icon{width:96px;height:96px;display:grid;place-items:center;margin:0 auto 1rem;border-radius:28px;font-size:2.8rem;color:#f6d976;background:radial-gradient(circle,rgba(183,84,197,.34),rgba(25,14,31,.96));border:1px solid rgba(242,196,93,.22);box-shadow:0 20px 60px rgba(0,0,0,.38)}.phone-development-panel h1{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;font-size:clamp(2.1rem,6vw,4rem);margin:.2rem 0 .5rem}.phone-development-panel>p:not(.eyebrow){color:var(--muted);max-width:540px;margin:.4rem auto 1rem}.development-status{display:flex;align-items:center;justify-content:center;gap:.45rem;margin:1rem 0 1.4rem;color:#e9c9ef}.development-status span{width:9px;height:9px;border-radius:50%;background:#d6a049;box-shadow:0 0 14px rgba(214,160,73,.6)}
.loot-preset-note{border-left:3px solid var(--shine-gold)}.loot-picker-art .item-art-fallback{position:absolute}.loot-picker-main .loot-picker-art{position:relative}.loot-table-card{background:linear-gradient(145deg,rgba(31,19,35,.8),rgba(9,7,12,.9))}.loot-wheel-item{background:linear-gradient(145deg,#1c1022,#0a080d);border-color:rgba(218,151,226,.18)}.loot-pointer{color:var(--shine-gold);text-shadow:0 0 16px rgba(242,196,93,.45)}
@media(max-width:900px){.sheet-equipment-grid{grid-template-columns:1fr}}
@media(max-width:520px){.sheet-equipment-item-preview{grid-template-columns:56px minmax(0,1fr)}.sheet-equipment-art{width:56px;height:56px}.phone-development-panel{margin:1.5rem auto;padding:1.3rem}}
.quick-item-art{width:56px;height:56px}
@media(max-width:620px){.quick-item-art{width:48px;height:48px}}

/* ============================================================
 * Shine Revolution v0.8 — Mix & Aging
 * ============================================================ */
.enhance-hero{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:1.4rem;align-items:center;overflow:hidden;background:radial-gradient(circle at 78% 20%,rgba(159,73,178,.24),transparent 34%),linear-gradient(145deg,rgba(31,18,38,.96),rgba(8,7,11,.97))}.enhance-hero h1{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(3rem,8vw,6rem);line-height:.95;margin:.1rem 0 .7rem;text-transform:uppercase;letter-spacing:.04em}.enhance-hero p:not(.eyebrow){max-width:820px;color:#d9cfde;line-height:1.55}.enhance-hero-badge{width:120px;height:120px;justify-self:end;border-radius:30px;display:grid;place-items:center;align-content:center;text-align:center;border:1px solid rgba(242,196,93,.24);background:radial-gradient(circle,rgba(176,80,194,.25),rgba(12,9,15,.96));box-shadow:0 18px 70px rgba(0,0,0,.4)}.enhance-hero-badge span{font-size:3rem;color:#f4d36d;line-height:1}.enhance-hero-badge small{margin-top:.35rem;font-size:.62rem;letter-spacing:.16em;color:#e7d9ec}.aging-hero{background:radial-gradient(circle at 78% 20%,rgba(76,131,214,.2),transparent 34%),linear-gradient(145deg,rgba(23,21,42,.96),rgba(8,7,11,.97))}
.enhance-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.enhance-guide-card{padding:1rem}.enhance-guide-card h2{font-size:1.05rem;margin:.25rem 0 .35rem}.enhance-guide-card p:last-child{font-size:.78rem;line-height:1.45;color:var(--muted)}
.balance-pill,.aging-fee{padding:.5rem .75rem;border:1px solid rgba(242,196,93,.2);border-radius:999px;background:rgba(242,196,93,.07);color:#f5dda0;font-weight:700}.enhance-rarity-table{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.enhance-rarity-row{display:grid;gap:.3rem;padding:.75rem;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}.enhance-rarity-row>strong{color:#f4d67f}.enhance-rarity-row span{font-size:.7rem;color:var(--muted)}.enhance-rarity-row b{color:#eee}.enhance-note{margin-top:.8rem;font-size:.74rem;line-height:1.45}
.enhance-workbench{padding:1.15rem}.enhance-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.75rem;align-items:end}.enhance-selector-grid .button{min-height:43px}.selected-enhance-item{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1rem;align-items:start;padding:1rem;border-radius:16px;border:1px solid rgba(242,196,93,.14);background:rgba(0,0,0,.22)}.enhance-selected-art{width:120px;height:120px;border-radius:14px;overflow:hidden;border:1px solid rgba(242,196,93,.2);background:#08070a}.enhance-selected-art img{width:100%;height:100%;object-fit:contain}.selected-enhance-item small{color:var(--muted)}.selected-enhance-item h3{font-size:1.35rem;margin:.15rem 0 .35rem}.selected-enhance-item p{white-space:pre-line;color:#d7cedb;font-size:.78rem;line-height:1.45}.enhance-stat-pills{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.55rem}.enhance-stat-pills span{padding:.35rem .55rem;border-radius:999px;background:rgba(255,255,255,.045);font-size:.68rem;color:var(--muted)}.enhance-stat-pills b{color:#f4d67f}
.mix-formula-card,.aging-attempt-box,.maturity-box,.enhance-existing-box{padding:1rem;border-radius:17px;border:1px solid rgba(184,100,202,.22);background:linear-gradient(145deg,rgba(75,34,86,.14),rgba(0,0,0,.2))}.mix-formula-title{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.mix-formula-title h2{margin:.1rem 0}.rarity-badge{padding:.4rem .65rem;border-radius:999px;background:rgba(242,196,93,.1);border:1px solid rgba(242,196,93,.16);font-size:.7rem;color:#f1d58c}.mix-effect{font-size:.9rem;line-height:1.5}.mini-title{margin-top:1rem}.button-small{padding:.45rem .7rem!important;font-size:.72rem!important}
.shelton-slot-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0 1rem}.shelton-requirement{width:76px;min-height:96px;padding:.45rem;border:1px dashed rgba(255,255,255,.17);border-radius:12px;background:rgba(0,0,0,.3);display:grid;place-items:center;align-content:center;gap:.25rem;color:#bfb5c4;cursor:pointer;transition:.17s}.shelton-requirement img{width:48px;height:48px;object-fit:contain;filter:grayscale(1) brightness(.35);opacity:.62;transition:.18s}.shelton-requirement>span{font-size:1.8rem;filter:grayscale(1);opacity:.4}.shelton-requirement small{font-size:.58rem;overflow-wrap:anywhere}.shelton-requirement.drag-over{border-color:#f2c45d}.shelton-requirement.is-filled{border-style:solid;border-color:rgba(242,196,93,.52);background:radial-gradient(circle,rgba(242,196,93,.12),rgba(71,31,80,.22));box-shadow:0 0 18px rgba(177,91,192,.16)}.shelton-requirement.is-filled img{filter:none;opacity:1}.shelton-requirement.is-filled>span{filter:none;opacity:1;color:#f4d36d}
.shelton-inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.55rem}.shelton-owned-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:.55rem;align-items:center;padding:.5rem;text-align:left;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025);color:#eee;cursor:grab}.shelton-owned-card:hover{border-color:rgba(242,196,93,.25)}.shelton-owned-card.is-empty{opacity:.42;cursor:not-allowed}.shelton-owned-art{position:relative;width:56px;height:56px;border-radius:10px;overflow:hidden}.shelton-owned-art img{width:100%;height:100%;object-fit:contain}.shelton-owned-card b,.shelton-owned-card small{display:block}.shelton-owned-card b{font-size:.76rem}.shelton-owned-card small{font-size:.62rem;color:var(--muted);margin-top:.12rem}.shelton-owned-card em{font-style:normal;color:#f4d36d}
.enhance-final-form{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.8rem;border-radius:13px;background:rgba(0,0,0,.32);border:1px solid rgba(242,196,93,.12)}.enhance-final-form>div small,.enhance-final-form>div strong,.enhance-final-form>div span{display:block}.enhance-final-form>div small{color:var(--muted)}.enhance-final-form>div strong{font-size:1.2rem;color:#f4d36d}.enhance-final-form>div span{font-size:.65rem;color:var(--muted)}.enhance-existing-box{text-align:left}.enhance-existing-box h3{margin:.2rem 0}.enhance-existing-box form{display:inline-block;margin:.6rem .5rem .4rem 0}
.formula-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.formula-guide-grid article{position:relative;padding:.8rem;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}.formula-guide-grid article>span{position:absolute;right:.6rem;top:.5rem;color:#f4d36d;font-weight:800}.formula-guide-grid h3{font-size:.85rem;margin:0 0 .35rem}.formula-guide-grid p{font-size:.72rem;line-height:1.42;color:#d7cedb}.formula-guide-grid small{display:block;margin-top:.45rem;color:var(--muted);font-size:.6rem}.enhance-log-list{display:grid;gap:.4rem}.enhance-log-list>div{display:grid;grid-template-columns:120px 1fr auto;gap:.6rem;align-items:center;padding:.55rem .65rem;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05)}.enhance-log-list b{font-size:.68rem;color:#f4d36d}.enhance-log-list span{font-size:.75rem}.enhance-log-list small{color:var(--muted);font-size:.62rem}
.aging-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.aging-preview-grid article{padding:.75rem;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}.aging-preview-grid small,.aging-preview-grid strong,.aging-preview-grid span{display:block}.aging-preview-grid small{font-size:.62rem;color:var(--muted)}.aging-preview-grid strong{margin:.22rem 0;font-size:1.05rem;color:#f4d36d}.aging-preview-grid span{font-size:.64rem;color:#cfc5d3}.aging-outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.65rem 0}.aging-outcome-grid>div{padding:.55rem;border-radius:10px;background:rgba(0,0,0,.22);display:flex;align-items:center;justify-content:space-between;gap:.4rem;font-size:.7rem}.aging-outcome-grid b{color:#f1b8b8}.aging-outcome-grid small{color:var(--muted)}.aging-booster-selected{display:grid;grid-template-columns:64px 1fr;gap:.65rem;align-items:center;padding:.65rem;border-radius:12px;border:1px solid rgba(91,159,225,.2);background:rgba(51,97,151,.08);margin:.7rem 0}.aging-booster-selected small,.aging-booster-selected b{display:block}.aging-booster-selected p{margin:.2rem 0;font-size:.68rem;color:var(--muted)}
.maturity-progress{height:16px;border-radius:999px;overflow:hidden;background:#09080a;border:1px solid rgba(255,255,255,.07);margin:.6rem 0}.maturity-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6e3f8c,#d1a84e);box-shadow:0 0 20px rgba(207,164,70,.32)}.maturity-builder{display:grid;grid-template-columns:190px 1fr;gap:.8rem;align-items:stretch}.maturity-target{min-height:150px;border:1px dashed rgba(242,196,93,.28);border-radius:14px;background:rgba(0,0,0,.28);color:#d9cfdd;display:grid;place-items:center;align-content:center;gap:.3rem}.maturity-target>span{font-size:2.2rem;color:#7e7182}.maturity-target small{max-width:160px;color:var(--muted);font-size:.62rem}.maturity-target.is-filled{border-style:solid;background:radial-gradient(circle,rgba(242,196,93,.11),rgba(72,36,83,.16))}.maturity-stones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.maturity-stone{display:grid;grid-template-columns:55px 1fr;gap:.5rem;align-items:center;padding:.5rem;border-radius:11px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025);color:#eee;text-align:left}.maturity-art{position:relative;width:55px;height:55px;border-radius:9px;overflow:hidden}.maturity-art img{width:100%;height:100%;object-fit:contain}.maturity-stone b,.maturity-stone small{display:block}.maturity-stone b{font-size:.7rem}.maturity-stone small{font-size:.58rem;color:var(--muted)}
.aging-table-wrap{overflow:auto;max-height:640px;border-radius:12px;border:1px solid rgba(255,255,255,.06)}.aging-table{width:100%;border-collapse:collapse;min-width:880px}.aging-table th{position:sticky;top:0;z-index:1;text-align:left;padding:.65rem;background:#201526;color:#f1dca8;font-size:.65rem;text-transform:uppercase}.aging-table td{padding:.55rem .65rem;border-top:1px solid rgba(255,255,255,.045);font-size:.68rem;color:#d9d0dd}.aging-table tr.is-current-row td{background:rgba(242,196,93,.08);color:#fff}.equipment-points-line{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:.3rem 0 .45rem;font-size:.65rem;color:var(--muted)}.equipment-points-line strong{color:#f4d36d;font-size:.78rem}.equipment-points-line span{padding:.18rem .35rem;border-radius:6px;background:rgba(173,86,190,.1);color:#e6c9ec}.item-art-category-mix .item-art-fallback{background:radial-gradient(circle at 50% 28%,rgba(209,163,64,.25),transparent 50%),linear-gradient(145deg,rgba(68,50,18,.48),rgba(8,6,8,.92))}.item-art-category-aging .item-art-fallback{background:radial-gradient(circle at 50% 28%,rgba(84,132,205,.28),transparent 50%),linear-gradient(145deg,rgba(25,41,74,.55),rgba(8,6,8,.92))}
@media(max-width:1050px){.enhance-guide-grid{grid-template-columns:repeat(2,1fr)}.enhance-rarity-table{grid-template-columns:repeat(3,1fr)}.enhance-selector-grid{grid-template-columns:repeat(2,1fr)}.formula-guide-grid{grid-template-columns:repeat(2,1fr)}.aging-preview-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.enhance-hero{grid-template-columns:1fr}.enhance-hero-badge{display:none}.enhance-guide-grid,.enhance-rarity-table,.enhance-selector-grid,.formula-guide-grid,.aging-preview-grid{grid-template-columns:1fr}.selected-enhance-item{grid-template-columns:82px 1fr}.enhance-selected-art{width:82px;height:82px}.enhance-final-form{align-items:stretch;flex-direction:column}.enhance-final-form .button{width:100%}.maturity-builder{grid-template-columns:1fr}.maturity-stones{grid-template-columns:1fr}.enhance-log-list>div{grid-template-columns:90px 1fr}.enhance-log-list small{grid-column:1/-1}.shelton-slot-grid{gap:.35rem}.shelton-requirement{width:64px;min-height:86px}.shelton-requirement img{width:42px;height:42px}}

/* ============================================================
 * Shine Revolution v0.9 — Ficha do Jogador
 * ============================================================ */
.field-with-suffix{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch}.field-with-suffix input{border-radius:10px 0 0 10px}.field-with-suffix>span{display:grid;place-items:center;border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;background:rgba(242,196,93,.08);color:var(--shine-gold);font-weight:800}
.clan-field #clan-match-status.is-valid{color:#7ee6ad}.sheet-help-label{position:relative;display:inline-flex;align-items:center;gap:.32rem;cursor:help;width:max-content;max-width:100%;outline:none}.sheet-help-label>b{display:grid;place-items:center;width:17px;height:17px;flex:0 0 17px;border:1px solid rgba(242,196,93,.28);border-radius:50%;font-size:.62rem;color:var(--shine-gold);background:rgba(242,196,93,.06)}.sheet-help-label::after{content:attr(data-tooltip);position:absolute;z-index:90;left:0;bottom:calc(100% + 10px);width:min(310px,75vw);padding:.68rem .75rem;border:1px solid rgba(242,196,93,.24);border-radius:11px;background:rgba(12,8,14,.98);box-shadow:0 16px 42px rgba(0,0,0,.55);color:#e9e1eb;font-size:.72rem;line-height:1.45;text-align:left;white-space:normal;opacity:0;visibility:hidden;transform:translateY(5px);pointer-events:none;transition:.15s ease}.sheet-help-label:hover::after,.sheet-help-label:focus::after{opacity:1;visibility:visible;transform:translateY(0)}
.resource-highlight input[readonly]{font-size:1.15rem;font-weight:800;color:#f2d47b;background:linear-gradient(145deg,rgba(111,68,29,.2),rgba(83,36,92,.14));border-color:rgba(242,196,93,.22)}.equipment-capacity-status{display:flex;flex-direction:column;gap:.18rem;margin-top:.75rem;padding:.7rem .8rem;border:1px solid rgba(89,211,143,.2);border-radius:12px;background:rgba(43,111,75,.09);color:#a5e7be}.equipment-capacity-status small{color:var(--muted)}.equipment-capacity-status.is-over{border-color:rgba(255,100,100,.32);background:rgba(130,35,35,.12);color:#ffabab}
.sheet-extra-slot-control{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:.8rem .9rem;border:1px solid rgba(242,196,93,.15);border-radius:13px;background:linear-gradient(90deg,rgba(100,45,113,.13),rgba(0,0,0,.13))}.sheet-extra-slot-control strong,.sheet-extra-slot-control small{display:block}.sheet-extra-slot-control small{margin-top:.2rem;color:var(--muted)}.sheet-equipment-slot[hidden]{display:none!important}.sheet-equipment-slot input[readonly]{color:#f0d780;background:rgba(83,61,28,.13)}
.sheet-auto-roll-table{min-width:620px}.sheet-auto-roll-table td:last-child{text-align:center}.sheet-roll-value{display:inline-grid;place-items:center;min-width:46px;height:34px;padding:0 .55rem;border:1px solid rgba(242,196,93,.24);border-radius:10px;background:linear-gradient(145deg,rgba(123,53,137,.28),rgba(21,12,24,.85));font-size:1rem;font-weight:900;color:#ffe8a8}.sheet-auto-roll-table td:nth-child(2){color:var(--muted);font-size:.74rem}
@media(max-width:780px){.sheet-extra-slot-control{align-items:stretch;flex-direction:column}.sheet-extra-slot-control .button{width:100%}}

/* Shine Revolution v0.10 — catálogo de habilidades e bônus automáticos de equipamento */
.ability-hero{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:2rem;overflow:hidden;position:relative}.ability-hero h1{margin:.2rem 0 .65rem;font-size:clamp(2rem,5vw,3.5rem)}.ability-hero p{max-width:850px}.ability-hero-count{min-width:170px;text-align:center;padding:1.35rem;border:1px solid rgba(231,191,94,.3);border-radius:18px;background:rgba(9,11,24,.55)}.ability-hero-count strong{display:block;font-size:2.25rem;color:#f1d583}.ability-hero-count small{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.ability-search-panel{padding:1.4rem}.ability-search-form{display:grid;grid-template-columns:minmax(260px,2fr) minmax(170px,1fr) minmax(180px,1fr) auto;gap:1rem;align-items:end}.ability-search-actions{display:flex;gap:.55rem}.ability-category-pills{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.ability-category-pills a{display:flex;gap:.65rem;align-items:center;padding:.6rem .8rem;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.025);color:inherit;text-decoration:none}.ability-category-pills a b{background:rgba(231,191,94,.12);color:#f1d583;padding:.15rem .45rem;border-radius:999px}.ability-category-pills a.is-active{border-color:rgba(231,191,94,.5);background:rgba(231,191,94,.08)}
.ability-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ability-card{padding:0;overflow:hidden}.ability-card summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.15rem 1.25rem}.ability-card summary::-webkit-details-marker{display:none}.ability-card[open] summary{border-bottom:1px solid rgba(255,255,255,.08);background:rgba(231,191,94,.035)}.ability-card-title h3{margin:.35rem 0 .25rem;font-size:1.05rem}.ability-card-title small{color:var(--muted)}.ability-category-tag{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:#f1d583}.ability-open-icon{font-size:1.45rem;transition:transform .2s}.ability-card[open] .ability-open-icon{transform:rotate(45deg)}.ability-card-body{padding:1.15rem 1.25rem}.ability-field{padding:.7rem .8rem;border:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.13);border-radius:10px}.ability-field b{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#f1d583;margin-bottom:.3rem}.ability-field p{margin:0;white-space:pre-line}.ability-field-wide{margin-bottom:.7rem}.ability-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.ability-pagination{margin-top:1.3rem}.ability-pagination nav{display:flex;justify-content:center}.ability-pagination svg{width:18px}.ability-pagination a,.ability-pagination span{max-width:100%}
.sheet-item-bonus{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:.18rem .42rem;font-size:.68rem;font-weight:800;color:#a8f1c2;background:rgba(71,194,120,.12);border:1px solid rgba(71,194,120,.28)}.resource-item-total{display:block;margin-top:.32rem;color:var(--muted)}.resource-item-total span{font-weight:800;color:#a8f1c2}.resource-item-total b{color:#fff}.equipment-passive-pills{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.45rem}.equipment-passive-pills span{font-size:.68rem;padding:.24rem .42rem;border-radius:999px;color:#a8f1c2;background:rgba(71,194,120,.1);border:1px solid rgba(71,194,120,.2)}
@media(max-width:900px){.ability-search-form{grid-template-columns:1fr 1fr}.ability-search-main{grid-column:1/-1}.ability-search-actions{grid-column:1/-1}.ability-catalog-grid{grid-template-columns:1fr}}@media(max-width:600px){.ability-hero{align-items:flex-start;flex-direction:column}.ability-hero-count{min-width:0;width:100%}.ability-search-form{grid-template-columns:1fr}.ability-search-main,.ability-search-actions{grid-column:auto}.ability-fields-grid{grid-template-columns:1fr}}

/* ============================================================
 * Shine Revolution v0.11 — bônus, traits, catálogo e Soquete
 * ============================================================ */
.enhancement-tag{display:inline-flex;align-items:center;min-height:22px;padding:.18rem .48rem;border-radius:999px;border:1px solid rgba(199,154,255,.35);background:rgba(137,75,171,.14);color:#ead4ff;font-size:.62rem;font-weight:900;letter-spacing:.06em;white-space:nowrap}.enhancement-tag.tag-mix{border-color:rgba(242,196,93,.42);background:rgba(242,196,93,.12);color:#ffe49a}.enhancement-tag.tag-aging{border-color:rgba(92,173,255,.42);background:rgba(92,173,255,.12);color:#b9dcff}.enhancement-tag.tag-socket{border-color:rgba(116,226,180,.38);background:rgba(116,226,180,.1);color:#b6f4d6}.sheet-equipment-tags,.enhancement-tags{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.sheet-equipment-item-preview .item-tag-row{margin:.25rem 0}.sheet-stat-row .sheet-item-bonus b{margin-left:.15rem;color:#fff}.inline-help{position:relative;display:inline-grid;place-items:center;width:19px;height:19px;padding:0;border:1px solid rgba(242,196,93,.35);border-radius:50%;background:rgba(242,196,93,.08);color:#f4d575;font-weight:900;cursor:help}.inline-help::after{content:attr(data-tooltip);position:absolute;z-index:120;left:50%;bottom:calc(100% + 9px);width:min(330px,76vw);padding:.7rem .8rem;border:1px solid rgba(242,196,93,.28);border-radius:11px;background:#0c0910;color:#eee5ef;box-shadow:0 18px 48px rgba(0,0,0,.6);font-size:.72rem;font-weight:500;line-height:1.45;text-align:left;white-space:normal;opacity:0;visibility:hidden;transform:translate(-50%,5px);pointer-events:none;transition:.15s ease}.inline-help:hover::after,.inline-help:focus::after{opacity:1;visibility:visible;transform:translate(-50%,0)}.critical-resource-field{border-color:rgba(180,100,225,.14)}
.trait-picker-block{padding:.9rem;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(0,0,0,.13)}.trait-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.trait-picker-heading strong,.trait-picker-heading small{display:block}.trait-picker-heading small{margin-top:.15rem;color:var(--muted)}.trait-selected-list{display:grid;gap:.55rem;margin-top:.75rem}.trait-selected-list:empty::before{content:'Nenhuma seleção.';display:block;padding:.8rem;border:1px dashed rgba(255,255,255,.1);border-radius:10px;color:var(--muted);font-size:.75rem}.trait-selected-card{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:.65rem;align-items:start;padding:.7rem .75rem;border:1px solid rgba(242,196,93,.13);border-radius:11px;background:rgba(242,196,93,.035)}.trait-selected-card strong,.trait-selected-card small{display:block}.trait-selected-card small{margin-top:.1rem;color:#f0cf78}.trait-selected-card p{margin:.35rem 0 0;color:var(--muted);font-size:.72rem;line-height:1.42}.trait-remove{width:30px;height:30px;border:1px solid rgba(255,104,117,.25);border-radius:9px;background:rgba(255,104,117,.08);color:#ffadb4;font-size:1.1rem;cursor:pointer}.legacy-traits{margin-top:.65rem;padding:.55rem .65rem;border:1px dashed rgba(255,255,255,.08);border-radius:9px;color:var(--muted);font-size:.72rem}.legacy-traits p{white-space:pre-line}.trait-picker-modal[hidden]{display:none!important}.trait-picker-modal{position:fixed;inset:0;z-index:250;display:grid;place-items:center;padding:1rem}.trait-picker-backdrop{position:absolute;inset:0;background:rgba(2,2,7,.8);backdrop-filter:blur(4px)}.trait-picker-dialog{position:relative;z-index:1;width:min(850px,96vw);max-height:88vh;overflow:auto;padding:1.15rem}.trait-picker-dialog-head{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:.8rem}.trait-picker-dialog-head h2{margin:.15rem 0}.trait-catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.8rem}.trait-catalog-card{display:block;width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.025);color:inherit;text-align:left;cursor:pointer}.trait-catalog-card>span{display:flex;justify-content:space-between;gap:.5rem}.trait-catalog-card small{color:#f0cf78}.trait-catalog-card p{min-height:2.2rem;margin:.35rem 0;color:var(--muted);font-size:.72rem;line-height:1.4}.trait-catalog-card em{font-size:.68rem;color:#a7e5c2;font-style:normal;font-weight:800}.trait-catalog-card.is-selected{border-color:rgba(92,211,151,.38);background:rgba(92,211,151,.08)}.trait-catalog-card:disabled{opacity:.48;cursor:not-allowed}
.item-database-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.item-database-card{padding:0;overflow:hidden}.item-database-card summary{display:grid;grid-template-columns:78px minmax(0,1fr) 24px;gap:.75rem;align-items:center;padding:.9rem;cursor:pointer;list-style:none}.item-database-card summary::-webkit-details-marker{display:none}.item-database-art{width:78px;height:78px;border-radius:12px;overflow:hidden}.item-database-card h3{margin:.35rem 0 .2rem}.item-database-card summary>div>small{color:var(--muted)}.item-database-body{padding:.9rem;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.12)}.item-database-body p{margin:0 0 .55rem;line-height:1.48}
.socket-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.socket-slot-card{position:relative;padding:1rem;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(0,0,0,.16);overflow:hidden}.socket-color-dot{position:absolute;right:12px;top:12px;width:15px;height:15px;border-radius:50%;box-shadow:0 0 16px currentColor}.socket-color-vermelho{background:#e95f64;color:#e95f64}.socket-color-amarelo{background:#eacb5a;color:#eacb5a}.socket-color-verde{background:#65d28f;color:#65d28f}.socket-color-azul{background:#65a9ed;color:#65a9ed}.socket-color-roxo{background:#b871e5;color:#b871e5}.socket-slot-head span,.socket-slot-head strong{display:block}.socket-slot-head span{font-size:.64rem;letter-spacing:.1em;color:var(--muted)}.socket-slot-head strong{margin-top:.15rem;color:#f3d87b}.socket-rune-active{margin:.75rem 0;padding:.7rem;border:1px solid rgba(154,100,214,.2);border-radius:10px;background:rgba(154,100,214,.08)}.socket-rune-active b{display:block}.socket-rune-active p{margin:.3rem 0}.socket-rune-active small{color:#e6c5f4}.socket-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.socket-rules-grid>div{padding:.8rem;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(0,0,0,.12)}.socket-rules-grid p{margin:.35rem 0 0;color:var(--muted)}
@media(max-width:980px){.item-database-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trait-catalog-list{grid-template-columns:1fr}}
@media(max-width:700px){.trait-picker-heading{align-items:stretch;flex-direction:column}.trait-picker-heading .button{width:100%}.item-database-grid,.socket-slot-grid,.socket-rules-grid{grid-template-columns:1fr}.item-database-card summary{grid-template-columns:62px minmax(0,1fr) 20px}.item-database-art{width:62px;height:62px}}

/* Shine Revolution v0.12 - rastreabilidade dos bônus ativos da ficha */
.sheet-active-bonus-panel{overflow:hidden}.active-equipment-bonus-summary{display:flex;flex-wrap:wrap;gap:.45rem;margin:.15rem 0 1rem;padding:.75rem;border:1px solid rgba(242,196,93,.14);border-radius:13px;background:rgba(0,0,0,.18)}.active-equipment-bonus-summary span{display:inline-flex;align-items:center;gap:.25rem;padding:.28rem .52rem;border-radius:999px;border:1px solid rgba(71,194,120,.25);background:rgba(71,194,120,.09);color:#c9f6d7;font-size:.72rem}.active-equipment-bonus-summary b{color:#fff}.active-equipment-bonus-summary small{color:var(--muted)}
.active-equipment-bonus-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.active-bonus-card{display:grid;gap:.55rem;padding:.8rem;border:1px solid rgba(199,154,255,.16);border-radius:14px;background:linear-gradient(145deg,rgba(101,47,116,.09),rgba(0,0,0,.2))}.active-bonus-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.active-bonus-card-head strong,.active-bonus-card-head small{display:block}.active-bonus-card-head strong{color:#f8e8c3}.active-bonus-card-head small{margin-top:.1rem;color:var(--muted);font-size:.68rem}.active-bonus-source-list{display:grid;gap:.35rem}.active-bonus-source{display:grid;gap:.1rem;padding:.4rem .5rem;border-left:2px solid rgba(242,196,93,.32);background:rgba(255,255,255,.018)}.active-bonus-source b{font-size:.69rem;color:#efd786}.active-bonus-source small{font-size:.68rem;line-height:1.35;color:#cfc5d4}.active-bonus-empty{grid-column:1/-1;margin:0;padding:.7rem;text-align:center;border:1px dashed rgba(255,255,255,.09);border-radius:12px}.roll-bonus-breakdown{display:block;margin-top:.28rem;min-width:160px;color:var(--muted);font-size:.62rem;line-height:1.25;text-align:center}
@media(max-width:850px){.active-equipment-bonus-list{grid-template-columns:1fr}}

/* Shine Revolution v0.13 — Trilhas, Rolagem e Habilidades da Ficha */
.trail-sheet-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.2fr);gap:18px;align-items:end}.trail-level-picker>span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}.trail-level-boxes{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.trail-level-box{position:relative;cursor:pointer}.trail-level-box input{position:absolute;opacity:0;pointer-events:none}.trail-level-box span{width:42px;height:42px;border-radius:10px;border:1px solid rgba(255,205,94,.28);display:grid;place-items:center;font-weight:900;background:rgba(7,11,22,.7);transition:.18s}.trail-level-box input:checked+span{background:linear-gradient(135deg,rgba(255,185,63,.28),rgba(132,76,255,.25));border-color:#ffd77a;box-shadow:0 0 0 2px rgba(255,202,81,.12),0 0 24px rgba(142,92,255,.16)}.trail-clear-level{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:6px;margin-left:4px}.trail-current-summary{display:grid;grid-template-columns:1.3fr .45fr 2fr;gap:12px;margin-top:18px}.trail-current-summary>div{padding:12px 14px;border-radius:12px;background:rgba(5,9,19,.6);border:1px solid rgba(255,255,255,.07)}.trail-current-summary span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.trail-effect-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}.trail-effect-card{padding:13px;border-radius:12px;background:rgba(7,11,22,.55);border:1px solid rgba(255,255,255,.07);opacity:.58}.trail-effect-card>span{font-weight:900;color:#d5c1ff;font-size:.8rem}.trail-effect-card p{margin:7px 0 0;font-size:.82rem;line-height:1.42}.trail-effect-card.is-unlocked{opacity:1;border-color:rgba(255,205,94,.35);box-shadow:inset 0 0 22px rgba(255,183,51,.035)}
.learned-abilities-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.learned-abilities-heading>div{display:flex;gap:8px;flex-wrap:wrap}.learned-abilities-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.learned-ability-card{padding:16px;border-radius:14px;border:1px solid rgba(147,108,255,.22);background:linear-gradient(145deg,rgba(12,17,31,.88),rgba(20,13,35,.75));display:grid;gap:12px}.learned-ability-head{display:flex;justify-content:space-between;gap:12px}.learned-ability-head h3{margin:2px 0}.learned-ability-head small{color:var(--muted)}.learned-ability-details p{margin:6px 0;white-space:pre-line}.ability-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ability-meta-grid>span,.ability-meta-grid>.field{padding:8px 10px;border-radius:9px;background:rgba(0,0,0,.18)}.custom-ability-grid>.field{padding:0;background:transparent}.shine-modal[hidden]{display:none!important}.shine-modal{position:fixed;inset:0;z-index:1000;background:rgba(1,3,10,.78);backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px}.shine-modal-card{width:min(860px,96vw);max-height:88vh;overflow:auto;background:linear-gradient(155deg,#10182b,#181127);border:1px solid rgba(255,210,107,.28);border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.55);padding:20px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-head h2{margin:2px 0 12px}.manual-ability-results{display:grid;gap:8px;margin-top:14px}.manual-ability-result{text-align:left;width:100%;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(5,9,19,.72);color:inherit;padding:12px 14px;cursor:pointer}.manual-ability-result:hover{border-color:rgba(255,201,87,.42);background:rgba(255,193,70,.06)}.manual-ability-result b,.manual-ability-result small{display:block}.manual-ability-result small{color:var(--muted);margin-top:2px}.manual-ability-result p{margin:7px 0 0;color:#d6daea}
.roll-room-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.roll-room-sidebar{display:grid;gap:16px;position:sticky;top:88px}.roll-character-card{text-align:center}.roll-character-photo{width:112px;height:112px;border-radius:50%;margin:0 auto 12px;padding:4px;border:1px solid rgba(255,202,80,.42);background:linear-gradient(145deg,#2a163f,#101a31);overflow:hidden;display:grid;place-items:center}.roll-character-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%}.roll-character-photo span{font-size:2rem;font-weight:900}.roll-character-card h2{margin:2px 0}.roll-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.roll-resource-grid>div,.roll-critical-grid>div{padding:10px 7px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(0,0,0,.18)}.roll-resource-grid span,.roll-critical-grid span{display:block;font-size:.68rem;color:var(--muted);text-transform:uppercase}.roll-resource-grid strong{font-size:.94rem}.roll-critical-menu{margin-top:12px;text-align:left}.roll-critical-menu summary{cursor:pointer;font-weight:800}.roll-critical-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px;text-align:center}.roll-critical-grid b{font-size:1.18rem;color:#ffd36e}.roll-trail-chip{display:grid;gap:2px;margin-top:12px;padding:10px;border:1px solid rgba(146,100,255,.26);border-radius:10px;background:rgba(113,65,190,.08)}.roll-trail-chip small,.roll-trail-chip span{color:var(--muted)}.roll-quick-panel .sheet-title-ribbon{margin-bottom:8px}.quick-roll-groups{display:grid;gap:7px;max-height:510px;overflow:auto;padding-right:4px}.quick-roll-groups h3{font-size:.8rem;text-transform:uppercase;color:#dbc985;margin:8px 0 0}.quick-roll-button{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(0,0,0,.16);color:inherit;padding:8px 10px;cursor:pointer;text-align:left}.quick-roll-button:hover{border-color:rgba(255,205,89,.32)}.quick-roll-button b{color:#f3d375;white-space:nowrap}.roll-chat-panel{padding:0;overflow:hidden}.roll-chat-rules{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(102,66,166,.08);font-size:.84rem}.roll-chat-feed{height:min(64vh,700px);min-height:520px;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.roll-chat-message{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px}.roll-chat-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#40245e,#132339);border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;font-weight:800}.roll-chat-avatar img{width:100%;height:100%;object-fit:cover}.roll-chat-content{min-width:0}.roll-chat-meta{display:flex;align-items:center;gap:8px}.roll-chat-meta span{font-size:.72rem;color:var(--muted)}.roll-chat-text{margin:4px 0 0;padding:9px 11px;border-radius:4px 13px 13px 13px;background:rgba(255,255,255,.055);white-space:pre-wrap}.roll-result-card{margin-top:5px;padding:12px;border-radius:12px;border:1px solid rgba(111,226,153,.25);background:rgba(46,146,90,.08)}.roll-result-card.is-fail{border-color:rgba(255,195,85,.28);background:rgba(255,171,52,.07)}.roll-result-card.is-critical-fail{border-color:rgba(255,93,115,.36);background:rgba(180,35,56,.11)}.roll-result-head{display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem}.roll-success-total{display:block;font-size:1.12rem;margin:6px 0}.roll-dice-list{display:flex;gap:5px;flex-wrap:wrap}.roll-dice-list span{min-width:29px;padding:4px 6px;text-align:center;border-radius:7px;background:rgba(255,255,255,.07);font-weight:800}.roll-dice-list span.is-success{background:rgba(63,186,112,.18);color:#8ff0b3}.roll-dice-list span.is-one{background:rgba(219,55,78,.2);color:#ff9caa}.roll-result-card small{display:block;color:var(--muted);margin-top:7px}.roll-item-request-card{margin-top:5px;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-radius:12px;border:1px solid rgba(252,194,65,.25);background:rgba(252,194,65,.06)}.roll-item-request-card strong,.roll-item-request-card small{display:block}.roll-request-actions{display:flex;gap:7px;flex-wrap:wrap}.roll-request-actions form{margin:0}.roll-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.07);background:rgba(5,8,16,.74)}.roll-chat-form input{min-width:0}.roll-item-modal{width:min(920px,96vw)}.roll-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.roll-item-choice{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);padding:10px;border-radius:12px;background:rgba(0,0,0,.16)}.roll-item-choice b,.roll-item-choice small,.roll-item-choice span{display:block}.roll-item-choice small,.roll-item-choice span{color:var(--muted);font-size:.74rem}.roll-item-art{width:56px;height:56px;object-fit:contain}.type-system .roll-chat-avatar{background:linear-gradient(145deg,#7a541d,#39220b)}.type-system .roll-chat-text{border:1px solid rgba(255,205,89,.18);background:rgba(255,187,56,.07)}
@media(max-width:1100px){.trail-effect-list{grid-template-columns:repeat(2,minmax(0,1fr))}.roll-room-layout{grid-template-columns:1fr}.roll-room-sidebar{position:static;grid-template-columns:1fr 1fr}.roll-chat-feed{height:58vh}.learned-abilities-list{grid-template-columns:1fr}}
@media(max-width:700px){.trail-sheet-grid,.trail-current-summary,.roll-room-sidebar,.roll-resource-grid,.roll-item-grid{grid-template-columns:1fr}.trail-effect-list{grid-template-columns:1fr}.roll-chat-form{grid-template-columns:1fr}.roll-item-request-card{align-items:flex-start;flex-direction:column}.roll-chat-feed{min-height:440px;height:56vh}.ability-meta-grid{grid-template-columns:1fr}.learned-abilities-heading{flex-direction:column}.roll-item-choice{grid-template-columns:48px minmax(0,1fr)}.roll-item-choice .button{grid-column:1/-1}.roll-item-art{width:46px;height:46px}}

/* Shine Revolution v0.14 — Sala de Rolagem */
.roll-item-art,.roll-library-art{position:relative;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}
.roll-item-art{width:56px!important;height:56px!important;min-width:56px;max-width:56px;max-height:56px}
.roll-library-art{width:54px!important;height:54px!important;min-width:54px;max-width:54px;max-height:54px}
.roll-item-art>img,.roll-library-art>img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}
.roll-item-art .item-art-fallback,.roll-library-art .item-art-fallback{inset:0;font-size:.75rem}
.roll-item-art .item-art-fallback small,.roll-library-art .item-art-fallback small{display:none}
.roll-item-copy{min-width:0}.roll-item-copy b{overflow-wrap:anywhere}
.roll-master-presence-head{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;margin-bottom:10px}.roll-master-presence-head h2{margin:0}.roll-live-player-card{padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(0,0,0,.14);text-align:left}.roll-live-player-card+.roll-live-player-card{margin-top:10px}.roll-live-player-head{display:flex;align-items:center;gap:10px}.roll-character-photo-small{width:58px;height:58px;min-width:58px;margin:0;padding:2px}.roll-character-photo-small span{font-size:1rem}.roll-live-player-name{min-width:0;display:grid}.roll-live-player-name small{font-size:.62rem;color:var(--muted);letter-spacing:.08em}.roll-live-player-name strong{font-size:1rem;overflow-wrap:anywhere}.roll-live-player-name span{font-size:.72rem;color:var(--muted);overflow-wrap:anywhere}.roll-live-resource-list{display:grid;gap:7px;margin-top:12px}.roll-resource-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:end;padding:8px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(255,255,255,.025)}.roll-resource-editor label{display:grid;gap:4px}.roll-resource-editor label>span{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.roll-resource-input-wrap{display:flex;align-items:center;gap:7px}.roll-resource-input-wrap input{width:76px;min-width:0;padding:.42rem .5rem}.roll-resource-input-wrap b{font-size:.77rem;white-space:nowrap}.roll-resource-editor.resource-vitality{border-left:3px solid rgba(222,77,102,.72)}.roll-resource-editor.resource-energy{border-left:3px solid rgba(77,146,229,.72)}.roll-resource-editor.resource-willpower{border-left:3px solid rgba(180,107,226,.72)}.button-compact{padding:.45rem .65rem;font-size:.72rem}.roll-character-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.roll-presence-empty{text-align:left;padding:14px;border:1px dashed rgba(255,255,255,.12);border-radius:11px}.roll-presence-empty p{margin:.35rem 0 0;color:var(--muted);font-size:.78rem}.roll-library-modal{width:min(980px,96vw);max-height:88vh;overflow:auto}.roll-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.roll-library-item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center;padding:9px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(0,0,0,.15)}.roll-library-item b,.roll-library-item small,.roll-library-item span{display:block}.roll-library-item small,.roll-library-item span{font-size:.72rem;color:var(--muted)}.roll-mini-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.roll-mini-tags em{font-style:normal;font-size:.58rem;padding:2px 5px;border-radius:999px;background:rgba(179,95,216,.17);color:#e6c7f1}.roll-ability-list{display:grid;gap:10px}.roll-ability-card{padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(0,0,0,.14)}.roll-ability-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.roll-ability-title>div{display:grid}.roll-ability-title small{color:var(--muted)}.roll-ability-title>span{font-size:.58rem;padding:3px 6px;border-radius:999px;background:rgba(116,77,185,.18);color:#d9c1f3;white-space:nowrap}.roll-ability-card p{font-size:.78rem;line-height:1.45;margin:.55rem 0 0;white-space:pre-wrap}.roll-ability-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:9px}.roll-ability-meta span{padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.035);font-size:.7rem;color:var(--muted)}
@media(max-width:700px){.roll-library-grid,.roll-ability-meta,.roll-character-actions{grid-template-columns:1fr}.roll-resource-editor{grid-template-columns:1fr}.roll-resource-editor .button{width:100%}.roll-item-art{width:48px!important;height:48px!important;min-width:48px;max-width:48px;max-height:48px}.roll-item-choice{grid-template-columns:48px minmax(0,1fr)}}

/* Shine Revolution v0.15 — Vendas, Leilão e Mestre dos Encantamentos */
.shop-v015-shortcut{display:flex;justify-content:flex-end;margin:0 0 12px}.sale-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px}.sale-search{width:min(420px,100%)}.sale-inventory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:620px;overflow:auto;padding-right:4px}.sale-inventory-card{appearance:none;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18);color:inherit;border-radius:12px;padding:9px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;cursor:grab}.sale-inventory-card:hover{border-color:rgba(216,157,77,.5);transform:translateY(-1px)}.sale-inventory-card span{min-width:0;display:grid}.sale-inventory-card b{overflow-wrap:anywhere}.sale-inventory-card small,.sale-inventory-card em{font-size:.69rem;color:var(--muted);font-style:normal}.sale-item-art{width:54px!important;height:54px!important;overflow:hidden}.sale-item-art>img{width:100%!important;height:100%!important;object-fit:contain!important}.sale-dropzone{min-height:320px;border:1px dashed rgba(216,157,77,.38);border-radius:14px;padding:15px;background:rgba(216,157,77,.035);transition:.18s}.sale-dropzone.drag-over{background:rgba(216,157,77,.1);border-color:rgba(216,157,77,.8)}.sale-dropzone>button{width:100%;margin-top:12px}.sale-selected-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px;margin:7px 0;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}.sale-selected-line span{display:grid}.sale-selected-line small{font-size:.65rem;color:var(--muted)}.sale-selected-line label{font-size:.65rem;color:var(--muted)}.sale-selected-line input{width:70px;padding:.35rem}.sale-selected-line button{border:0;background:rgba(210,70,90,.14);color:#f2a4b0;border-radius:8px;width:30px;height:30px}.sale-request-list{display:grid;gap:12px}.sale-request-list article{padding:16px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(0,0,0,.12)}.sale-request-items{display:grid;gap:5px;margin:10px 0}.sale-request-items span{padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.035);font-size:.78rem}.sale-offer{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.sale-master-lines{display:grid;gap:8px;margin:12px 0}.sale-master-lines>div{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:10px;align-items:center;padding:9px;border-radius:10px;background:rgba(255,255,255,.035)}.sale-master-lines span{display:grid}.sale-master-lines small{color:var(--muted);font-size:.68rem}.sale-total{display:block;font-size:1.12rem;margin-top:8px}.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(132,87,195,.15);color:#dac6f1;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}
.auction-wallet{display:flex;gap:20px;flex-wrap:wrap}.auction-wallet span{display:grid}.auction-wallet b{font-size:1.1rem}.auction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.auction-card{position:relative}.auction-item{display:flex;gap:12px;align-items:center}.auction-art{width:78px!important;height:78px!important;overflow:hidden}.auction-art>img{width:100%!important;height:100%!important;object-fit:contain!important}.auction-item h2{margin:.2rem 0}.auction-item small{color:var(--muted)}.auction-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}.auction-numbers span{display:grid;padding:8px;border-radius:9px;background:rgba(255,255,255,.035);font-size:.7rem;color:var(--muted)}.auction-numbers b{color:var(--text);font-size:.85rem}.auction-bid-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;margin-top:10px}.auction-history{display:grid;gap:4px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.auction-history span,.auction-history small{font-size:.7rem;color:var(--muted)}
.enchantment-quiz .quiz-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.quiz-rewards span{display:grid;padding:10px;border-radius:10px;background:rgba(216,157,77,.055);border:1px solid rgba(216,157,77,.13);font-size:.75rem}.quiz-rewards b{color:#e8bf78}.quiz-form{display:grid;gap:12px}.quiz-form fieldset{border:1px solid rgba(255,255,255,.075);border-radius:12px;padding:12px}.quiz-form legend{font-weight:700;padding:0 5px}.quiz-form fieldset label{display:flex;align-items:center;gap:8px;padding:7px;border-radius:8px;cursor:pointer}.quiz-form fieldset label:hover{background:rgba(255,255,255,.035)}.quiz-finished{text-align:center;padding:18px}.quiz-finished>strong{font-size:2rem;color:#e7be74}.quiz-reward-tags{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.quiz-reward-tags span{padding:5px 8px;border-radius:999px;background:rgba(216,157,77,.1);font-size:.72rem}
@media(max-width:800px){.sale-layout,.auction-grid{grid-template-columns:1fr}.sale-inventory{grid-template-columns:1fr;max-height:430px}.sale-master-lines>div,.auction-bid-form{grid-template-columns:1fr}.enchantment-quiz .quiz-rewards{grid-template-columns:1fr}.auction-numbers{grid-template-columns:1fr 1fr}}

/* Shine Revolution v0.16 — itens, F.V. armazenado, ordenação e dificuldade */
.item-equipment-rules{display:grid;gap:10px;padding:12px;border:1px solid rgba(255,205,94,.16);border-radius:12px;background:rgba(255,190,65,.035)}.check-row{display:flex;gap:8px;align-items:center;font-size:.8rem}.check-row input{width:auto}.slot-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.roll-difficulty-field{display:grid;gap:2px;min-width:105px}.roll-difficulty-field span{font-size:.62rem;color:var(--muted);text-transform:uppercase}.roll-difficulty-field input{width:100%;padding:.48rem .55rem}.inventory-toolbar{align-items:end}.inventory-toolbar .compact-field{min-width:180px}.table-wrap{overflow:auto;max-height:55vh}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left}.data-table th{position:sticky;top:0;background:#151527;color:#efd786}
@media(max-width:700px){.slot-check-grid{grid-template-columns:1fr}.roll-chat-form{grid-template-columns:1fr}.roll-difficulty-field{min-width:0}.inventory-toolbar .compact-field{min-width:0}}
/* Shine v0.17.2 — Arquivo Mágico, mídia remota, XP e filtros da ficha */
.magic-archive-hero{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:22px;align-items:center;padding:20px}.magic-archive-hero>img{width:100%;border-radius:18px;border:1px solid rgba(242,196,93,.22);background:#090712}.magic-archive-totals{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.magic-archive-totals span{min-width:105px;padding:10px 14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(0,0,0,.18);display:grid}.magic-archive-totals b{font-size:1.25rem;color:#f4d681}.magic-archive-rarity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.archive-rarity-card{padding:0 14px 14px}.archive-progress-list{display:grid;gap:7px}.archive-threshold{display:grid;grid-template-columns:44px 1fr 24px;gap:8px;align-items:center;padding:8px;border-radius:9px;border:1px solid rgba(255,255,255,.06);opacity:.62}.archive-threshold>b{color:#f4d681}.archive-threshold.unlocked{opacity:1;background:rgba(94,180,104,.08);border-color:rgba(94,180,104,.25)}.archive-threshold.unlocked>strong{color:#81e09c}.archive-choice-form{margin-top:12px}.archive-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.archive-item-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(0,0,0,.16)}.archive-item-art{width:62px;height:62px;object-fit:contain}.archive-item-card small{display:block;color:var(--muted)}.archive-collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.archive-collection-grid article{text-align:center;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(0,0,0,.15)}.archive-collection-art{height:90px;display:grid;place-items:center}.archive-collection-art img{max-width:100%;max-height:88px;object-fit:contain}.archive-collection-grid small{display:block;color:var(--muted)}.community-remote-media{margin-top:12px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#06060a}.community-remote-media img{display:block;width:100%;max-height:560px;object-fit:contain}.community-remote-media iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.sheet-view-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.sheet-view-tabs button{border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.17);color:inherit;border-radius:999px;padding:8px 13px;cursor:pointer}.sheet-view-tabs button.active{background:linear-gradient(90deg,#713382,#4a2458);border-color:rgba(242,196,93,.32);color:#fff}.xp-declaration-list{display:grid;gap:8px}.xp-declaration-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 42px;gap:8px}.xp-declaration-status{margin-top:10px;font-weight:800}.xp-declaration-status.ok{color:#87dea0}.xp-declaration-status.bad{color:#ff9b9b}.archive-sheet-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.archive-sheet-summary>div{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(0,0,0,.14)}.archive-sheet-summary b,.archive-sheet-summary span{display:block}.archive-bonus-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.archive-bonus-list span{padding:6px 9px;border-radius:999px;background:rgba(131,74,167,.16);border:1px solid rgba(196,137,220,.2);font-size:.8rem}
@media(max-width:900px){.magic-archive-hero{grid-template-columns:1fr}.magic-archive-rarity-grid{grid-template-columns:1fr}.archive-item-grid{grid-template-columns:1fr}.archive-sheet-summary{grid-template-columns:1fr}}
.archive-rarity-stones{display:grid;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07)}.archive-rarity-stones form{margin:0}.archive-rarity-stones .button{width:100%;justify-content:center}

.archive-rarity-visual{display:block;width:100%;max-height:170px;object-fit:contain;margin:.75rem auto;border-radius:14px;background:rgba(7,5,16,.45);padding:.35rem;}

/* v0.17.3 — Arquivo Mágico, filtros da ficha e Loot ativo/inativo */
[data-sheet-view][hidden], [data-sheet-mixed][hidden]{display:none!important}
.archive-sacrifice-panel{overflow:visible}.archive-inventory-grid{align-items:stretch}.archive-sacrifice-card{min-width:0}.archive-sacrifice-card .item-card-art{width:78px;height:78px;min-width:78px}.archive-sacrifice-card .item-card-art img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.archive-sacrifice-card .item-card-body{min-width:0}.archive-sacrifice-card .item-card-body h2{overflow-wrap:anywhere}.archive-sacrifice-card .item-action-stack{position:relative;z-index:2;margin-top:auto}.archive-sacrifice-card .item-action-stack form{width:100%}.archive-grid-empty{grid-column:1/-1}.archive-stone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.archive-stone-card{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(0,0,0,.16);min-width:0}.archive-stone-art{width:62px;height:62px;border-radius:12px;overflow:hidden}.archive-stone-art img{display:block;width:100%;height:100%;object-fit:contain}.archive-stone-card b,.archive-stone-card small{display:block}.archive-stone-card small{color:var(--muted)}.archive-stone-card form{grid-column:1/-1}.archive-stone-card form .button{width:100%}.archive-collection-art img{display:block;width:100%;height:100%;max-width:100%;max-height:88px;object-fit:contain}
.loot-session-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.loot-session-tab{border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.17);color:inherit;border-radius:999px;padding:8px 13px;cursor:pointer;font-weight:800}.loot-session-tab.active{background:linear-gradient(90deg,#713382,#4a2458);border-color:rgba(242,196,93,.32);color:#fff}.loot-session-group[hidden]{display:none!important}.loot-session-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;margin-left:5px;background:rgba(255,255,255,.08);font-size:.7rem}.loot-session-list-empty{padding:14px;border:1px dashed rgba(255,255,255,.09);border-radius:12px;color:var(--muted)}
@media(max-width:900px){.archive-inventory-grid.inventory-grid-dense{grid-template-columns:repeat(3,minmax(0,1fr))!important}.archive-density-control{width:100%;justify-content:space-between}.archive-density-control input[type=range]{min-width:0;flex:1}}

/* Shine Revolution v0.17.4 ------------------------------------------------ */
.item-database-actions{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.08)}
.item-request-current{display:grid;grid-template-columns:120px 1fr;gap:1rem;align-items:start}.item-request-current .item-database-art{width:120px;height:120px;object-fit:contain}.item-request-enhancements{padding:1rem}.enhancement-request-box{display:grid;gap:.75rem;padding:.8rem;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(0,0,0,.12)}
.two-handed-control{margin:.75rem 0;padding:.7rem;border:1px dashed rgba(242,196,93,.28);border-radius:12px}.sheet-equipment-slot.is-two-hand-blocked{opacity:.58}.sheet-equipment-slot.is-two-hand-blocked::after{content:'OCUPADO PELA ARMA DE 2 MÃOS';position:absolute;inset:0;display:grid;place-items:center;padding:1rem;text-align:center;font-size:.78rem;font-weight:900;letter-spacing:.08em;color:#f2c45d;background:rgba(8,6,12,.76);pointer-events:none;z-index:4}.sheet-equipment-slot{position:relative}
.wealth-influence-head{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin:1rem 0}.wealth-influence-head>div,.wealth-point-grid>div{display:grid;gap:.25rem;padding:1rem;border:1px solid rgba(242,196,93,.18);border-radius:14px;background:rgba(0,0,0,.18)}.wealth-influence-head span,.wealth-point-grid span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.wealth-influence-head strong{font-size:1.55rem}.wealth-point-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.wealth-point-grid b{font-size:1.5rem}.wealth-description{line-height:1.65}.wealth-skin-list{display:grid;gap:.5rem;margin:1rem 0}.wealth-skin-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .8rem;border-radius:10px;background:rgba(114,56,156,.12)}.wealth-table{margin-top:1rem}.wealth-table>summary{cursor:pointer;font-weight:800;color:#f2c45d}
.investment-wallet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.investment-wallet-card{display:grid;gap:.35rem;padding:1.2rem}.investment-wallet-card span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.investment-wallet-card strong{font-size:1.8rem}.investment-tax-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1rem 0}.investment-tax-grid>div{display:grid;text-align:center;padding:1rem;border-radius:14px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08)}.investment-tax-grid strong{font-size:1.6rem;color:#f2c45d}.investment-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.investment-product-card{padding:1.1rem}.investment-product-head,.investment-active-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.investment-product-head h3,.investment-active-head h3{margin:.1rem 0}.investment-product-head>span{font-weight:900;color:#f2c45d}.investment-facts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0}.investment-facts>div,.investment-summary-grid>div{display:grid;gap:.15rem;padding:.7rem;border-radius:10px;background:rgba(0,0,0,.16)}.investment-facts span,.investment-summary-grid span{font-size:.72rem;color:var(--muted)}.investment-apply-form{display:grid;gap:.75rem}.investment-active-list{display:grid;gap:1rem}.investment-active-card{padding:1.1rem}.investment-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin:1rem 0}.investment-summary-grid .investment-net{border:1px solid rgba(94,214,133,.35)}.investment-time-notes{padding:.85rem;border-left:3px solid var(--shine-purple);background:rgba(0,0,0,.12);margin-bottom:1rem}.investment-time-notes p{margin:.35rem 0}.success-text{color:#7ee2a1}
.manual2-shell{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:1rem;align-items:start}.manual2-sidebar{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto;padding:1rem}.manual2-search{padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.08)}.manual2-section-nav,.manual2-topic-list{display:grid;gap:.35rem;margin-top:1rem}.manual2-section-nav a,.manual2-topic-list a{display:flex;justify-content:space-between;gap:.75rem;padding:.65rem .7rem;border-radius:10px;color:var(--text);background:rgba(255,255,255,.025)}.manual2-section-nav a.active,.manual2-topic-list a.active{background:rgba(116,57,166,.28);box-shadow:inset 3px 0 #b66bd0}.manual2-section-nav small,.manual2-topic-list small{color:var(--muted);white-space:nowrap}.manual2-reader{padding:1.25rem;min-width:0}.manual2-reader-head{display:flex;justify-content:space-between;gap:1rem;align-items:start}.manual2-page-jump form{display:flex;gap:.5rem;align-items:end}.manual2-page-jump input{width:85px}.manual2-current-topics{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.manual2-current-topics span{padding:.35rem .55rem;border-radius:999px;background:rgba(182,107,208,.15);font-size:.78rem}.manual2-text{white-space:normal;line-height:1.75;font-size:1rem;padding:1.2rem;margin:1rem 0;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow-wrap:anywhere}.manual2-pager{display:flex;align-items:center;justify-content:space-between;gap:1rem}.manual2-pager .disabled{pointer-events:none;opacity:.35}.manual2-search-results{margin-top:1.5rem}.manual2-search-results>div{display:grid;gap:.5rem}.manual2-search-results a{display:grid;gap:.25rem;padding:.75rem;border-radius:10px;background:rgba(255,255,255,.03)}.manual2-search-results small{color:var(--muted)}
@media(max-width:900px){.investment-product-grid,.investment-wallet-grid{grid-template-columns:1fr}.investment-summary-grid{grid-template-columns:1fr 1fr}.manual2-shell{grid-template-columns:1fr}.manual2-sidebar{position:static;max-height:none}.wealth-influence-head{grid-template-columns:1fr}.wealth-point-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.item-request-current{grid-template-columns:1fr}.investment-tax-grid,.investment-summary-grid,.wealth-point-grid{grid-template-columns:1fr}.manual2-reader-head,.manual2-pager{flex-direction:column}.manual2-pager{align-items:stretch}.manual2-page-jump form{align-items:end}}

/* Shine Revolution v0.17.6 — Changelog e Código Promocional */
.shine-changelog-list{display:grid;gap:.75rem}.shine-changelog-entry{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(10,10,20,.35);overflow:hidden}.shine-changelog-entry summary{cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;list-style:none}.shine-changelog-entry summary::-webkit-details-marker{display:none}.shine-changelog-entry summary div{display:grid;gap:.15rem}.shine-changelog-entry summary strong{color:#f4d36d;font-size:1rem}.shine-changelog-entry summary span,.shine-changelog-entry summary small{color:var(--muted)}.shine-changelog-body{padding:0 1.1rem 1.15rem;border-top:1px solid rgba(255,255,255,.06)}.shine-changelog-body h2,.shine-changelog-body h3{margin:1rem 0 .5rem;color:#f1dca8}.shine-changelog-body ul{padding-left:1.2rem}.shine-changelog-body li{margin:.32rem 0;line-height:1.5}.promo-redeem-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end;max-width:720px}.promo-code-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.promo-admin-form{display:grid;gap:1rem}.promo-reward-builder{display:grid;gap:.7rem;padding:1rem;border:1px solid rgba(242,196,93,.16);border-radius:14px;background:rgba(242,196,93,.025)}.promo-reward-row{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(220px,1.5fr) minmax(110px,.55fr) auto;gap:.6rem;align-items:end;padding:.75rem;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(0,0,0,.14)}.promo-reward-row>[hidden]{display:none!important}.promo-reward-tags{display:flex;flex-wrap:wrap;gap:.3rem}.promo-reward-tags span{padding:.2rem .4rem;border-radius:7px;background:rgba(173,86,190,.12);font-size:.68rem;color:#ead8ef}.status-pill{display:inline-block;padding:.25rem .45rem;border-radius:999px;font-size:.68rem}.status-success{background:rgba(65,190,123,.14);color:#8ee5b6}.status-muted{background:rgba(255,255,255,.08);color:var(--muted)}@media(max-width:800px){.promo-redeem-form,.promo-reward-row{grid-template-columns:1fr}.promo-code-input{grid-template-columns:1fr}.shine-changelog-entry summary{align-items:flex-start;flex-direction:column}}
