/* Bilancio Roma unified portal stylesheet */
* { box-sizing: border-box; }
img { max-width: 100%; }
.header-top { background-color: #720909; padding: 10px 24px; }
.wrap-header { max-width: 1900px; margin: 0 auto; }
.wrap-header img { display: block; height: 60px; width: auto; }
.footer { display:flex; justify-content:center; text-align:center; align-items:center; padding:22px 16px 28px; color:#475569; font-size:14px; background-color: ghostwhite; }
.footer a { color: inherit; text-decoration:none; }
.footer img { width:280px; vertical-align:middle; }
h3 {
    font-family: 'DM Serif Display';
}

td a {
    text-decoration: none;
    font-family: 'DM Serif Display';
    font-size: 16px;
    letter-spacing: 0.4px;
    color: var(--rm-garnet-800);
}

/* page-index */
body.page-index {--bg:#200b0b;
            --card:#111827;
            --card2:#1f2937;
            --text:#f9fafb;
            --muted:#9ca3af;
            --yellow:#facc15;
            --red:#7f1d1d;
            --border:rgba(255,255,255,.08);}
body.page-index * {box-sizing:border-box;}
body.page-index {margin:0;
            background:
                radial-gradient(circle at top, rgba(143, 20, 56, 0.20) 0%, rgba(143, 20, 56, 0.00) 38%),
        linear-gradient(180deg, #120308 0%, #1b050c 100%);
            color:var(--text);
            font-family:'Sarabun',BlinkMacSystemFont,"Segoe UI",sans-serif;}
body.page-index .wrap {max-width:1180px;
            margin:0 auto;
            padding:34px 18px 70px;}
body.page-index .hero {border-radius:28px;
            padding:34px;
            box-shadow:0 20px 60px rgba(0,0,0,.38);
            margin-bottom:26px;}
body.page-index .eyebrow {display:inline-flex;
            padding:6px 12px;
            border-radius:999px;
            background:rgba(255,255,255,.12);
            font-size:13px;
            font-weight:800;
            letter-spacing:.06em;
            text-transform:uppercase;}
body.page-index h1 {margin:18px 0 8px;
            font-size:42px;
            line-height:1.05;}
body.page-index .subtitle {max-width:760px;
            color:#e5e7eb;
            line-height:1.55;
            font-size:17px;}
body.page-index .season {
    margin-top: 20px;
    display: inline-block;
    background: linear-gradient(180deg, rgba(38, 8, 14, 0.96) 0%, rgba(24, 5, 10, 0.96) 100%);
    border: 1px solid rgb(96 47 57 / 96%);
    border-radius: 16px;
    padding: 12px 16px;
    font-weight: 900;
}
body.page-index .grid {display:grid;
            grid-template-columns:repeat(3,minmax(0,1fr));
            gap:18px;}
body.page-index .card {position:relative;
            display:block;
            min-height:210px;
            padding:22px;
            border-radius:22px;
            background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015)), var(--card);
            border:1px solid var(--border);
            color:var(--text);
            text-decoration:none;
            overflow:hidden;
            transition:.18s ease;
            box-shadow:0 12px 34px rgba(0,0,0,.22);}
body.page-index .card:hover {transform:translateY(-4px);
            border-color:rgba(250,204,21,.45);
            box-shadow:0 18px 44px rgba(0,0,0,.32);}
body.page-index .icon {font-size:36px;
            margin-bottom:16px;}
body.page-index .tag {position:absolute;
            top:18px;
            right:18px;
            padding:5px 10px;
            border-radius:999px;
            background:rgba(250,204,21,.14);
            color:#fde68a;
            font-size:12px;
            font-weight:900;
            text-transform:uppercase;
            letter-spacing:.06em;}
body.page-index .card h2 {margin:0 0 10px;
            font-size:22px;}
body.page-index .card p {margin:0;
            color:var(--muted);
            line-height:1.5;
            font-size:14px;}
body.page-index .go {position:absolute;
            left:22px;
            bottom:20px;
            color:var(--yellow);
            font-weight:900;}
body.page-index .footer-note {
    margin-top: 28px;
    padding: 16px;
    border-radius: 16px;
    background: transparent;
    border: 1px solid var(--rm-gold-300);
    color: var(--rm-gold-300);
    line-height: 1.5;
}
@media (max-width:950px) {
body.page-index .grid {grid-template-columns:repeat(2,1fr);}
body.page-index h1 {font-size:34px;}
}
@media (max-width:640px) {
body.page-index .grid {grid-template-columns:1fr;}
body.page-index .hero {padding:24px;}
body.page-index h1 {font-size:38px;}
}

/* page-dashboard-bilancio */
body.page-dashboard-bilancio {--bg: #0f172a;
            --card: #111827;
            --card2: #1f2937;
            --text: #f9fafb;
            --muted: #9ca3af;
            --green: #22c55e;
            --orange: #f59e0b;
            --red: #ef4444;
            --blue: #38bdf8;}
body.page-dashboard-bilancio {margin: 0;
            font-family: 'Sarabun', BlinkMacSystemFont, "Segoe UI", sans-serif;
            background:radial-gradient(circle at top, rgba(143, 20, 56, 0.20) 0%, rgba(143, 20, 56, 0.00) 38%),
        linear-gradient(180deg, #120308 0%, #1b050c 100%);
            color: var(--text);}
body.page-dashboard-bilancio .wrap {max-width: 1900px;
            margin: 0 auto;
            padding: 28px 24px 60px;}
body.page-dashboard-bilancio .hero {background: linear-gradient(135deg, var(--rm-garnet-800), var(--rm-garnet-900) 72%);
            margin-bottom: 24px;
            color: #fff;}
body.page-dashboard-bilancio .hero h1 {margin: 0;
            font-size: 34px;}
body.page-dashboard-bilancio .hero p {margin: 8px 0 0;
            opacity: .9;}
body.page-dashboard-bilancio .grid {display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 16px;
            margin-top: 24px;}
body.page-dashboard-bilancio .card {
    background: linear-gradient(135deg, var(--rm-garnet-800), var(--rm-garnet-900) 72%);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
body.page-dashboard-bilancio .hero .card {
    background: linear-gradient(180deg, rgba(38,8,14,0.96) 0%, rgba(24,5,10,0.96) 100%);
}
body.page-dashboard-bilancio .kpi-label {color: var(--rm-gold-300);
            font-size: 13px;
            text-transform: uppercase;
            letter-spacing: .08em;}
body.page-dashboard-bilancio .kpi-value {
    font-size: 30px;
    font-weight: 800;
    margin-top: 6px;
    font-family: 'Sarabun';
    letter-spacing: 1.4px;
}
body.page-dashboard-bilancio th.amount {
    color: var(--rm-gold-500);
    font-size: 15px;
    font-family: 'Sarabun';
    letter-spacing: 1.5px;
    text-align: right;
}
body.page-dashboard-bilancio .kpi-note {margin-top: 6px;
            font-size: 13px;
            color: var(--rm-text-dim);}
body.page-dashboard-bilancio .status-ok {color: var(--green);}
body.page-dashboard-bilancio .status-warning {color: var(--orange);}
body.page-dashboard-bilancio .status-breach {color: var(--red);}
body.page-dashboard-bilancio .section-title {
    margin: 34px 0 14px;
    font-size: 22px;
    font-family: 'DM Serif Display';
}
body.page-dashboard-bilancio .two-cols {display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 18px;}
body.page-dashboard-bilancio table {width: 100%;
            border-collapse: collapse;
            font-size: 14px;}
body.page-dashboard-bilancio th, body.page-dashboard-bilancio td {padding: 11px 8px;
            border-bottom: 1px solid rgba(255,255,255,.08);}
body.page-dashboard-bilancio th {text-align: left;
            color: var(--rm-gold-300);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: .06em;}
body.page-dashboard-bilancio td.amount {
    text-align: right;
    font-weight: 700;
    font-family: 'Sarabun';
    letter-spacing: 1.5px;
    font-size: 15px;
}
body.page-dashboard-bilancio .note {
    background: transparent;
    padding: 16px;
    border-radius: 16px;
    line-height: 1.5;
    margin-top: 24px;
    border: 1px solid var(--rm-gold-300);
    color: var(--rm-gold-300);
}
body.page-dashboard-bilancio canvas {max-height: 340px;}
@media (max-width: 900px) {
body.page-dashboard-bilancio .grid, body.page-dashboard-bilancio .two-cols {grid-template-columns: 1fr;}
body.page-dashboard-bilancio .hero h1 {font-size: 26px;}
}

/* page-football-earnings */
body.page-football-earnings {--bg:#0b1120;
            --card:#111827;
            --card2:#1f2937;
            --text:#f9fafb;
            --muted:#9ca3af;
            --green:#22c55e;
            --orange:#f59e0b;
            --red:#ef4444;
            --blue:#38bdf8;
            --yellow:#facc15;}
body.page-football-earnings {margin:0;
            background:radial-gradient(circle at top, rgba(143, 20, 56, 0.20) 0%, rgba(143, 20, 56, 0.00) 38%),
        linear-gradient(180deg, #120308 0%, #1b050c 100%);
            color:var(--text);
            font-family:'Sarabun',BlinkMacSystemFont,"Segoe UI",sans-serif;}
body.page-football-earnings .wrap {max-width:1900px;
            margin:0 auto;
            padding:28px 24px 70px;}
body.page-football-earnings .hero {background: linear-gradient(135deg, var(--rm-garnet-800), var(--rm-garnet-900) 72%);
            border-radius:26px;
            padding:30px;
            margin-bottom:24px;
            box-shadow:0 20px 50px rgba(0,0,0,.35);}
body.page-football-earnings .hero-top {display:flex;
            justify-content:space-between;
            gap:20px;
            align-items:flex-start;
            flex-wrap:wrap;}
body.page-football-earnings h1 {margin:0;
            font-size:34px;}
body.page-football-earnings .subtitle {color:#e5e7eb;
            margin-top:8px;
            max-width:760px;
            line-height:1.5;}
body.page-football-earnings select {padding:10px 12px;
            border-radius:12px;
            border:1px solid rgba(255,255,255,.25);
            background:#020617;
            color:#fff;
            font-weight:800;}
body.page-football-earnings .grid {display:grid;
            grid-template-columns:repeat(4,minmax(0,1fr));
            gap:16px;
            margin-top:24px;}
body.page-football-earnings .card {background: linear-gradient(180deg, rgba(38, 8, 14, 0.96) 0%, rgba(24, 5, 10, 0.96) 100%);
            border:1px solid rgba(255,255,255,.08);
            border-radius:18px;
            padding:18px;
            box-shadow:0 10px 30px rgba(0,0,0,.25);}
body.page-football-earnings .kpi-label {color:var(--muted);
            font-size:12px;
            text-transform:uppercase;
            letter-spacing:.08em;}
body.page-football-earnings .kpi-value {font-size:30px;
            font-weight:900;
            margin-top:6px;}
body.page-football-earnings .kpi-note {margin-top:7px;
            color:var(--muted);
            font-size:13px;
            line-height:1.4;}
body.page-football-earnings .status-ok {color:var(--green);}
body.page-football-earnings .status-warning {color:var(--orange);}
body.page-football-earnings .status-breach {color:var(--red);}
body.page-football-earnings .section-title {margin:34px 0 14px;
            font-size:23px;
        font-family: 'DM Serif Display';}
body.page-football-earnings .two-cols {display:grid;
            grid-template-columns:1.1fr .9fr;
            gap:18px;}
body.page-football-earnings .formula {display:grid;
            grid-template-columns:repeat(4,1fr);
            gap:12px;
            margin-top:18px;}
body.page-football-earnings .formula-box {background:rgba(255,255,255,.07);
            border:1px solid rgba(255,255,255,.10);
            border-radius:16px;
            padding:16px;
            text-align:center;}
body.page-football-earnings .formula-box strong {display:block;
            font-size:24px;
            margin-top:6px;}
body.page-football-earnings .formula-symbol {font-size:28px;
            font-weight:900;
            color:var(--yellow);
            align-self:center;
            text-align:center;}
body.page-football-earnings table {width:100%;
            border-collapse:collapse;
            font-size:14px;}
body.page-football-earnings th, body.page-football-earnings td {padding:12px 8px;
            border-bottom:1px solid rgba(255,255,255,.08);}
body.page-football-earnings th {
    color: var(--rm-gold-300);
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 12px;
    text-align: center;
    background: transparent;
}
body.page-football-earnings td.amount { 
    text-align: center;
    font-weight: 800;
    font-family: Sarabun;
    letter-spacing: 1.5px;
    font-size: 15px !important;
}
body.page-football-earnings .badge {display:inline-block;
            padding:4px 9px;
            border-radius:999px;
            font-size:12px;
            font-weight:800;}
body.page-football-earnings .badge-add {background:rgba(34,197,94,.15);
            color:#86efac;}
body.page-football-earnings .badge-deduction {background:rgba(239,68,68,.15);
            color:#fca5a5;}
body.page-football-earnings .confidence {    color: var(--rm-text-dim);
            font-size:12px;}
body.page-football-earnings .note {
    background: transparent;
    padding: 16px;
    border-radius: 16px;
    line-height: 1.5;
    margin-top: 22px;
    border: 1px solid var(--rm-gold-300);
    color: var(--rm-gold-300);
}
body.page-football-earnings canvas {max-height:360px;}
@media (max-width:900px) {
body.page-football-earnings .grid, body.page-football-earnings .two-cols, body.page-football-earnings .formula {grid-template-columns:1fr;}
body.page-football-earnings h1 {font-size:26px;}
}
body.page-football-earnings .trend-table {font-size: 13px;}
body.page-football-earnings .trend-table th, body.page-football-earnings .trend-table td {white-space: nowrap;}
body.page-football-earnings .trend-table td.name {white-space: normal;
    min-width: 260px;}
body.page-football-earnings .delta {font-weight: 900;
    font-size: 15px;}
body.page-football-earnings .delta.positive {color: #22c55e;}
body.page-football-earnings .delta.negative {color: #ef4444;}
body.page-football-earnings .delta.neutral {color: #9ca3af;}
body.page-football-earnings .section-income {border-left: 4px solid #22c55e;}
body.page-football-earnings .section-expense {border-left: 4px solid #ef4444;}
body.page-football-earnings .section-finance {border-left: 4px solid #38bdf8;}
body.page-football-earnings .table-scroll {overflow-x: auto;}
body.page-football-earnings .trend-total-row {background: rgba(255,255,255,.06);
    font-weight: 900;}
body.page-football-earnings .trend-total-row td {border-top: 2px solid rgba(255,255,255,.18);}
body.page-football-earnings .trend-total-row td.name {    color: var(--rm-gold-500);}
body.page-football-earnings .cumulative-row {background: rgba(250,204,21,.12);}
body.page-football-earnings .cumulative-row td.name {    color: var(--rm-gold-500);}
body.page-football-earnings .cumulative-row td.amount {    color: var(--rm-gold-500);}

/* page-subjects-list */
body.page-subjects-list * {box-sizing: border-box;}
body.page-subjects-list {margin: 0;
            font-family: 'Sarabun', Helvetica, sans-serif;
            background: #f5f7fb;
            color: #1f2937;}
body.page-subjects-list .page {max-width: 1900px;
            margin: 0 auto;
            padding: 24px;}
body.page-subjects-list h1 {margin: 0 0 10px 0;
            font-size: 32px;
            line-height: 1.2;
        color: var(--rm-garnet-800);}
body.page-subjects-list .subtitle {margin-bottom: 18px;
            color: #64748b;
            font-size: 14px;}
body.page-subjects-list .filters {background: #fff;
            border-radius: 18px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
            padding: 18px;
            margin-bottom: 20px;}
body.page-subjects-list .filters form {display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr auto auto;
            gap: 12px;
            align-items: end;}
body.page-subjects-list .field {display: flex;
            flex-direction: column;
            gap: 6px;}
body.page-subjects-list .field label {font-size: 13px;
            color: #64748b;}
body.page-subjects-list .field input, body.page-subjects-list .field select {width: 100%;
            border: 1px solid #d8dfeb;
            border-radius: 10px;
            padding: 10px 12px;
            font-size: 14px;
            background: #fff;}
body.page-subjects-list .btn {display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 0;
            border-radius: 10px;
            padding: 11px 16px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            text-decoration: none;
            background: #111827;
            color: #fff;
            white-space: nowrap;}
body.page-subjects-list .btn.secondary {background: #e8edf5;
            color: #1f2937;}
body.page-subjects-list .summary {margin-bottom: 16px;
            color: #64748b;
            font-size: 14px;}
body.page-subjects-list .table-wrap {background: #fff;
            border-radius: 18px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
            overflow: hidden;}
body.page-subjects-list .table-inner {overflow-x: auto;}
body.page-subjects-list table {width: 100%;
            min-width: 1300px;
            border-collapse: collapse;}
body.page-subjects-list th, body.page-subjects-list td {padding: 12px 14px;
            border-bottom: 1px solid #edf1f7;
            text-align: left;
            white-space: nowrap;
            font-size: 14px;
            vertical-align: middle;}
body.page-subjects-list th {background: #f8fafc;
            color: #475569;}
body.page-subjects-list th a {color: inherit;
            text-decoration: none;}
body.page-subjects-list th a:hover {text-decoration: underline;}
body.page-subjects-list .flag-cell {display: flex;
            align-items: center;
            gap: 8px;}
body.page-subjects-list .pill {display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: 5px 10px;
            font-size: 12px;
            background: #eef2ff;
            color: #3730a3;}
body.page-subjects-list .pill.off {background: #fef2f2;
            color: #991b1b;}
body.page-subjects-list .actions {display: flex;
            gap: 8px;}
body.page-subjects-list .action-link {display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            padding: 7px 10px;
            font-size: 13px;
            font-weight: 600;
            text-decoration: none;}
body.page-subjects-list .action-link.view {background: #e0f2fe;
            color: #075985;}
body.page-subjects-list .action-link.edit {background: #ede9fe;
            color: #5b21b6;}
body.page-subjects-list .empty {background: #fff;
            border-radius: 18px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
            padding: 24px;
            color: #64748b;}
@media (max-width: 1100px) {
body.page-subjects-list .filters form {grid-template-columns: 1fr 1fr;}
}
@media (max-width: 700px) {
body.page-subjects-list .page {padding: 16px;}
body.page-subjects-list .filters form {grid-template-columns: 1fr;}
body.page-subjects-list h1 {font-size: 26px;}
}

/* page-subject-view */
body.page-subject-view * {box-sizing: border-box;}
body.page-subject-view {margin: 0;
            font-family: 'Sarabun', Helvetica, sans-serif;
            background: #f5f7fb;
            color: #1f2937;}
body.page-subject-view .page {max-width: 1600px;
            margin: 0 auto;
            padding: 24px;}
body.page-subject-view .topbar {display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 16px;
            margin-bottom: 0px;
            flex-wrap: wrap;}
body.page-subject-view .back-link {display: inline-block;
            text-decoration: none;
            color: #2563eb;
            font-weight: 600;}
body.page-subject-view h1 {margin: 0;
            font-size: 34px;
            line-height: 1.15;
            color: var(--rm-garnet-800);}
body.page-subject-view .meta {display: flex;
            gap: 10px;
            flex-wrap: wrap;
            align-items: center;
            margin-top: 10px;}
body.page-subject-view .pill {display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 1px 12px;
            border-radius: 999px;
            background: #eef2ff;
            color: #3730a3;
            font-size: 10px;}
body.page-subject-view .actions {display: flex;
            gap: 10px;
            flex-wrap: wrap;
            align-items:center;}
body.page-subject-view .btn {display: inline-flex;
            align-items: center;
            text-decoration: none;
            border-radius: 10px;
            padding: 11px 15px;
            font-size: 14px;
            font-weight: 600;
            background: #111827;
            color: #fff;}
body.page-subject-view .btn.secondary {background: #e8edf5;
            color: #1f2937;}
body.page-subject-view .cards {display: grid;
            grid-template-columns: repeat(5, minmax(180px, 1fr));
            gap: 14px;
            margin-bottom: 24px;}
body.page-subject-view .card {background: #fff;
            border-radius: 16px;
            padding: 16px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);}
body.page-subject-view .card .label {color: #64748b;
            font-size: 12px;
            margin-bottom: 8px;}
body.page-subject-view .card .value {font-size: 24px;
            font-weight: 700;
            line-height: 1.2;
        font-family: 'Sarabun';
    color: var(--rm-garnet-800);}
body.page-subject-view .section {background: #fff;
            border-radius: 18px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
            padding: 20px;
            margin-bottom: 22px;}
body.page-subject-view .section h2 {margin: 0 0 14px 0;
            font-size: 22px;
        font-family: 'DM Serif Display';}
body.page-subject-view .section p.lead {margin: -4px 0 16px 0;
            color: #64748b;
            font-size: 14px;}
body.page-subject-view .info-grid {display: grid;
            grid-template-columns: repeat(4, minmax(180px, 1fr));
            gap: 14px;}
body.page-subject-view .info-box {background: #f8fafc;
            border: 1px solid #e7edf5;
            border-radius: 14px;
            padding: 14px;}
body.page-subject-view .info-box .k {font-size: 12px;
            color: #64748b;
            margin-bottom: 6px;}
body.page-subject-view .info-box .v {font-size: 16px;
            font-weight: 600;}
body.page-subject-view .table-wrap {overflow-x: auto;
            border: 1px solid #e7edf5;
            border-radius: 14px;}
body.page-subject-view table {width: 100%;
            min-width: 1100px;
            border-collapse: collapse;}
body.page-subject-view th, body.page-subject-view td {padding: 11px 12px;
            border-bottom: 1px solid #edf1f7;
            text-align: left;
            white-space: nowrap;
            font-size: 13px;
            vertical-align: top;
        background: white;}
body.page-subject-view th {background: #f8fafc;
            color: #475569;}
body.page-subject-view td.num, body.page-subject-view th.num {text-align: right;}
body.page-subject-view .muted {color: #64748b;}
body.page-subject-view .empty {padding: 16px;
            border: 1px dashed #cbd5e1;
            border-radius: 14px;
            color: #64748b;
            background: #fafcff;}
body.page-subject-view .current-season-row td {background: #fffdf2;}
body.page-subject-view .current-season-row:hover td {background: #fffdf2;}
body.page-subject-view .table-wrap a {color: var(--rm-garnet-600);
            text-decoration: none;
            font-weight: 600;}
body.page-subject-view .table-wrap a:hover {text-decoration: underline;}
body.page-subject-view .dc-gross {background: #ecfdf5;
            color: #166534;
            font-weight: 700;
            border-radius: 8px;
            padding: 4px 8px;
            display: inline-block;}
body.page-subject-view .dc-badge {display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: 4px 8px;
            font-size: 11px;
            background: #dcfce7;
            color: #166534;
            margin-left: 6px;}
body.page-subject-view .chart-wrap {background: #fff;
            border: 1px solid #e7edf5;
            border-radius: 14px;
            padding: 18px;
            min-height: 420px;}
body.page-subject-view .rank-pill {display: inline-flex;
            align-items: center;
            margin-left: 8px;
            padding: 4px 8px;
            border-radius: 999px;
            background: #eef2ff;
            color: #3730a3;
            font-size: 11px;
            font-weight: 700;
            vertical-align: middle;}
@media (max-width: 1200px) {
body.page-subject-view .cards, body.page-subject-view .info-grid {grid-template-columns: repeat(2, minmax(180px, 1fr));}
}
@media (max-width: 700px) {
    body.page-subject-view .page {padding: 16px;}
    body.page-subject-view .cards, body.page-subject-view .info-grid {grid-template-columns: 1fr;}
    body.page-subject-view h1 {font-size: 28px;}
    .box-squad-ratio {flex-direction: column; overflow: hidden;}
    .box-squad-ratio .card {
        overflow-x: auto;
    }
    body.page-football-earnings .trend-table td.name {
        min-width: 150px;
    }
    body.page-football-earnings .table-wrap {
        background: linear-gradient(180deg, rgba(38, 8, 14, 0.96) 0%, rgba(24, 5, 10, 0.96) 100%);
    }
    body.page-football-earnings .table-wrap td {
        background: linear-gradient(180deg, rgba(38, 8, 14, 0.96) 0%, rgba(24, 5, 10, 0.96) 100%);
    }
    body.page-football-earnings .table-wrap.table-wrap--sticky-first thead th:first-child {
        background: transparent;
    }
    body.page-football-earnings .table-wrap.table-wrap--sticky-first tbody td:first-child {
        background: linear-gradient(180deg, rgba(38, 8, 14, 0.96) 0%, rgba(24, 5, 10, 0.96) 100%);
    }
    .scenario-season-form {
        width:100%;
    }
    td.op-name {
        font-size: 16px;
    }
}
.footer {
    flex-direction: column;
}
td.scenario-name-player,td.scenario-name-player a {
    font-family: 'DM Serif Display';
    font-size: 16px;
    letter-spacing: 0.4px;
    color: white;
}
/* page-rosa-stagione */
body.page-rosa-stagione * {box-sizing: border-box;}
body.page-rosa-stagione {margin: 0;
            font-family: 'Sarabun', Helvetica, sans-serif;
            background: #f5f7fb;
            color: #1f2937;}
body.page-rosa-stagione .page {max-width: 1800px;
            margin: 0 auto;
            padding: 24px;}
body.page-rosa-stagione .topbar {display: grid;
            grid-template-columns: 2fr 1fr;
            gap: 16px;
            margin-bottom: 0px;
            align-items: center;}
body.page-rosa-stagione .topbardiv {display: flex;
            flex-direction:column;
            gap: 16px;}
body.page-rosa-stagione h1 {margin: 0;
            font-size: 38px;
            line-height: 1.2;
      color: var(--rm-garnet-800);}
body.page-rosa-stagione td a {
    color: var(--rm-garnet-800) !important;}
body.page-rosa-stagione .subtitle {margin-top: 6px;
            color: #6b7280;
            font-size: 14px;}
body.page-rosa-stagione .season-form {background: #fff;
            border-radius: 14px;
            padding: 14px 16px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
            display: flex;
            align-items: center;
            justify-content: center;
            height: 184px;
            top: 14px;
            position: relative;}
body.page-rosa-stagione .season-form label {display: block;
            font-size: 12px;
            color: #6b7280;
            margin-bottom: 6px;}
body.page-rosa-stagione .season-form select, body.page-rosa-stagione .season-form button {height: 40px;
            border-radius: 10px;
            border: 1px solid #d8dfeb;
            padding: 0 12px;
            font-size: 14px;}
body.page-rosa-stagione .season-form button {background: #111827;
            color: #fff;
            border-color: #111827;
            cursor: pointer;}
body.page-rosa-stagione .season-form .row {display: flex;
            gap: 10px;
            align-items: end;
            flex-wrap: wrap;}
body.page-rosa-stagione .cards {display: grid;
            grid-template-columns: repeat(3, minmax(180px, 1fr));
            gap: 14px;
            margin-bottom: 24px;}
body.page-rosa-stagione .card {background: #fff;
            border-radius: 16px;
            padding: 16px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);}
body.page-rosa-stagione .card .label {color: #6b7280;
            font-size: 13px;
            margin-bottom: 8px;}
body.page-rosa-stagione .card .value {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--rm-garnet-700);
    font-family: 'Sarabun';
    letter-spacing: 0.5px;
}
body.page-rosa-stagione .table-actions {display: flex;
            gap: 10px;
            margin-bottom: 12px;}
body.page-rosa-stagione .bulk-btn {height: 40px;
            border-radius: 10px;
            border: 1px solid #d8dfeb;
            padding: 0 12px;
            font-size: 14px;
            background: #fff;
            cursor: pointer;}
body.page-rosa-stagione .table-wrap {background: #fff;
            border-radius: 18px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
            overflow: hidden;}
body.page-rosa-stagione .table-inner {overflow-x: auto;}
body.page-rosa-stagione table {width: 100%;
            min-width: 1750px;
            border-collapse: collapse;}
body.page-rosa-stagione th, body.page-rosa-stagione td {padding: 10px 18px;
            border-bottom: 1px solid #edf1f7;
            white-space: nowrap;
            font-size: 13px;}
body.page-rosa-stagione th {background: #f8fafc;
            text-align: left;
            font-size: 13px;
            color: #475569;
            position: sticky;
            top: 0;
            z-index: 1;}
body.page-rosa-stagione th a {color: inherit;
            text-decoration: none;
            display: inline-block;}
body.page-rosa-stagione th a:hover {text-decoration: underline;}
body.page-rosa-stagione td.num, body.page-rosa-stagione th.num {text-align: right;}
body.page-rosa-stagione tr:hover td {background: #fafcff;}
body.page-rosa-stagione .coach-row td {background: #fff8e6;}
body.page-rosa-stagione .loan-row td {background: #fff6ee;}
body.page-rosa-stagione .loan-row:hover td {background: #fff3e3;}
body.page-rosa-stagione .uscita-row td {background: #ffeeee;}
body.page-rosa-stagione .uscita-row:hover td {background: #ffe7e7;}
body.page-rosa-stagione .uscita-row td .badge {background: #fedbdb;
            color: #982020;}
body.page-rosa-stagione .row-disabled td {opacity: 0.35;
            text-decoration: line-through;}
body.page-rosa-stagione tr[data-row-toggle="1"] {cursor: pointer;}
body.page-rosa-stagione .name-col {font-weight: 600;}
body.page-rosa-stagione .flag-cell {display: flex;
            align-items: center;
            gap: 8px;}
body.page-rosa-stagione .badge {display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            padding: 3px 6px;
            font-size: 12px;
            line-height: 1;
            background: #eef2ff;
            color: #3730a3;}
body.page-rosa-stagione .badge-loan {background: #feeddb;
            color: #d85e1d;}
body.page-rosa-stagione .badge-expiry-year {background: #eef2ff;
            color: #3730a3;}
body.page-rosa-stagione .badge-expiry-year.badge-expiring {background: #fee2e2;
            color: #b91c1c;}
body.page-rosa-stagione .role-badge {display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 34px;
            border-radius: 999px;
            padding: 5px 10px;
            font-size: 12px;
            line-height: 1;
            background: #f1f5f9;
            color: #334155;}
body.page-rosa-stagione .empty {padding: 30px;
            background: #fff;
            border-radius: 18px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);}
body.page-rosa-stagione .season-form select[multiple] {height: auto;
            padding: 8px 12px;}
body.page-rosa-stagione .role-summary-section {display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 16px;
    margin-bottom: 24px;
    align-items: stretch;}
body.page-rosa-stagione .role-summary-left, body.page-rosa-stagione .role-summary-right {background: #fff;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
    padding: 16px;}
body.page-rosa-stagione .role-summary-grid {display: grid;
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    gap: 14px;}
body.page-rosa-stagione .role-summary-card {background: #f8fafc;
    border: 1px solid #e7edf5;
    border-radius: 14px;
    padding: 14px;}
body.page-rosa-stagione .role-summary-card .title {font-size: 16px;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 10px;}
body.page-rosa-stagione .role-summary-card .meta-row {display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border-top: 1px solid #edf1f7;
    font-size: 13px;}
body.page-rosa-stagione .role-summary-card .meta-row:first-of-type {border-top: 0;
    padding-top: 0;}
body.page-rosa-stagione .role-summary-card .meta-label {color: #64748b;}
body.page-rosa-stagione .role-summary-card .meta-value {
    font-weight: 600;
    font-family: 'Sarabun';
    text-align: right;
    letter-spacing: 0.2px;
}
body.page-rosa-stagione .role-chart-title {font-size: 16px;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 10px;}
body.page-rosa-stagione .role-chart-wrap {position: relative;
    height: 340px;}
body.page-rosa-stagione .bulk-btn.active-expiry-filter {background: #fee2e2;
    border-color: #fecaca;
    color: #b91c1c;}
body.page-rosa-stagione .summary-grid-top {display: grid;
    grid-template-columns: repeat(6, minmax(160px, 1fr));
    gap: 14px;}
body.page-rosa-stagione .summary-grid-bottom {display: grid;
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    gap: 14px;
    margin-bottom: 24px;}
@media (max-width: 1200px) {
body.page-rosa-stagione .summary-grid-top {grid-template-columns: repeat(3, minmax(160px, 1fr));}
body.page-rosa-stagione .summary-grid-bottom {grid-template-columns: repeat(3, minmax(180px, 1fr));}
}
@media (max-width: 768px) {
body.page-rosa-stagione .summary-grid-top, body.page-rosa-stagione .summary-grid-bottom {grid-template-columns: repeat(2, minmax(150px, 1fr));}
}
@media (max-width: 520px) {
    body.page-rosa-stagione .summary-grid-top {
        grid-template-columns: 1fr 1fr 1fr;
    }
    body.page-rosa-stagione .summary-grid-bottom {
        grid-template-columns: 1fr;
        margin-bottom:0px;
    }
    body.page-rosa-stagione .topbar {
        grid-template-columns: 1fr;
    }
    body.page-rosa-stagione .season-form {
        height: auto;
        top: 0;
        margin-bottom: 16px;
    }
    body.page-rosa-stagione .season-form .row {
        flex-direction: row;
    }
}
@media (max-width: 1200px) {
body.page-rosa-stagione .role-summary-section {grid-template-columns: 1fr;}
body.page-rosa-stagione .role-summary-grid {grid-template-columns: repeat(2, minmax(220px, 1fr));}
body.page-rosa-stagione .role-chart-wrap {height: 320px;}
}
@media (max-width: 700px) {
body.page-rosa-stagione .role-summary-grid {grid-template-columns: 1fr;}
}
@media (max-width: 1200px) {
body.page-rosa-stagione .cards {grid-template-columns: repeat(3, minmax(180px, 1fr));}
}
@media (max-width: 768px) {
body.page-rosa-stagione .page {padding: 16px;}
body.page-rosa-stagione .cards {grid-template-columns: repeat(2, minmax(150px, 1fr));}
body.page-rosa-stagione h1 {font-size: 24px;}
}
@media (max-width: 520px) {
body.page-rosa-stagione .cards {grid-template-columns: 1fr;}
body.page-rosa-stagione .season-form .row {flex-direction: column;
                align-items: stretch;}
}

/* page-compare-seasons */
@media (max-width:767px) {
    body.page-compare-seasons .topbar-compare {
        flex-direction: column;
    }   
}
body.page-compare-seasons * {box-sizing: border-box;}
body.page-compare-seasons {margin: 0;
            font-family: 'Sarabun', Helvetica, sans-serif;
            background: #f5f7fb;
            color: #1f2937;}
body.page-compare-seasons .page {max-width: 1900px;
            margin: 0 auto;
            padding: 24px;}
body.page-compare-seasons .topbar {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 16px;
    margin-bottom: 22px;
    flex-wrap: wrap;
    flex-direction: row;
}
body.page-compare-seasons h1 {margin: 0;
            font-size: 32px;
            line-height: 1.15;
        color: var(--rm-garnet-800);}
body.page-compare-seasons .subtitle {margin-top: 8px;
            color: #64748b;
            font-size: 14px;}
body.page-compare-seasons .filter-box {background: #fff;
            border-radius: 16px;
            padding: 16px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);}
body.page-compare-seasons .filter-row {display: flex;
            gap: 10px;
            align-items: end;
            flex-wrap: wrap;}
body.page-compare-seasons .field {display: flex;
            flex-direction: column;
            gap: 6px;}
body.page-compare-seasons .field label {font-size: 12px;
            color: #64748b;}
body.page-compare-seasons .field select, body.page-compare-seasons .field button {height: 40px;
            border-radius: 10px;
            border: 1px solid #d8dfeb;
            padding: 0 12px;
            font-size: 14px;}
body.page-compare-seasons .field button {background: #111827;
            color: #fff;
            border-color: #111827;
            cursor: pointer;}
body.page-compare-seasons .cards {display: grid;
            grid-template-columns: repeat(6, minmax(180px, 1fr));
            gap: 14px;
            margin-bottom: 22px;}
body.page-compare-seasons .card {background: #fff;
            border-radius: 16px;
            padding: 16px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);}
body.page-compare-seasons .card .label {color: #64748b;
            font-size: 12px;
            margin-bottom: 8px;}
body.page-compare-seasons .card .value {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--rm-garnet-800);
    font-family: 'Sarabun';
}
body.page-compare-seasons .value.positive {color: #b91c1c;}
body.page-compare-seasons .value.negative {color: #166534;}
body.page-compare-seasons .container-box {background: #fff;
            border-radius: 18px;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
            padding: 18px;
        overflow: hidden;
    }
body.page-compare-seasons .container-box h2 {margin: 0 0 10px 0;
            font-size: 22px;
            font-family: 'DM Serif Display';}
body.page-compare-seasons .container-box .lead {margin: 0 0 14px 0;
            color: #64748b;
            font-size: 14px;
        }
body.page-compare-seasons .table-wrap {overflow-x: auto;
            border: 1px solid #e7edf5;
            border-radius: 14px;}
body.page-compare-seasons table {width: 100%;
            min-width: 1650px;
            border-collapse: collapse;
            background: #fff;}
body.page-compare-seasons th, body.page-compare-seasons td {padding: 10px 12px;
            border-bottom: 1px solid #edf1f7;
            text-align: left;
            white-space: nowrap;
            font-size: 13px;
            vertical-align: middle;}
body.page-compare-seasons th {background: #f8fafc;
            color: #475569;
            position: sticky;
            top: 0;
            z-index: 1;
            font-size:9px;}
body.page-compare-seasons th a {color: inherit;
            text-decoration: none;}
body.page-compare-seasons th a:hover {text-decoration: underline;}
body.page-compare-seasons td.num, body.page-compare-seasons th.num {text-align: right;}
body.page-compare-seasons .name-cell a {color: var(--rm-garnet-800);
            text-decoration: none;
            font-weight: 700;}
body.page-compare-seasons .name-cell a:hover {text-decoration: underline;}
body.page-compare-seasons .role-badge, body.page-compare-seasons .status-badge, body.page-compare-seasons .reason-badge {display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: 4px 9px;
            font-size: 11px;
            line-height: 1;}
body.page-compare-seasons .role-badge {background: #f1f5f9;
            color: #334155;}
body.page-compare-seasons .status-badge {background: #eef2ff;
            color: #3730a3;}
body.page-compare-seasons .status-badge.off {background: #fef2f2;
            color: #991b1b;}
body.page-compare-seasons .reason-badge {background: #ecfeff;
            color: #155e75;
            font-weight: 700;}
body.page-compare-seasons .delta-pos {color: #b91c1c; 
            font-weight: 700;}
body.page-compare-seasons .delta-neg {color: #166534; 
            font-weight: 700;}
body.page-compare-seasons .row-increase td {background: #fef2f2;}
body.page-compare-seasons .row-saving td {background: #f0fdf4;}
body.page-compare-seasons .muted {color: #64748b;}
body.page-compare-seasons .empty {padding: 18px;
            border: 1px dashed #cbd5e1;
            border-radius: 14px;
            color: #64748b;
            background: #fafcff;}
@media (max-width: 1400px) {
body.page-compare-seasons .cards {grid-template-columns: repeat(3, minmax(180px, 1fr));}
}
@media (max-width: 700px) {
body.page-compare-seasons .page {padding: 16px;}
body.page-compare-seasons .cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
                width: 100%;
    }
     body.page-compare-seasons .cards > :nth-child(n+4) {
        grid-column: 1 / -1;
    }
body.page-compare-seasons h1 {font-size: 26px;}
}
body.page-compare-seasons .expiry-badge {display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    background: #eef2ff;
    color: #3730a3;}
body.page-compare-seasons .expiry-badge.expiring {background: #fee2e2;
    color: #b91c1c;}
body.page-compare-seasons .expiry-badge.renewed {background: #dcfce7;
    color: #166534;}
.header-user-box span {
    color: ghostwhite;
}
/* page-tool-costo-giocatore */
body.page-tool-costo-giocatore * {box-sizing: border-box;color: var(--rm-garnet-800);}
body.page-tool-costo-giocatore {--bg: #f5f7fb;
            --card: #ffffff;
            --text: #1f2937;
            --muted: #64748b;
            --line: #e7edf5;
            --line-2: #d8dfeb;
            --primary: #111827;
            --primary-soft: #eef2ff;
            --primary-text: #3730a3;
            --danger-bg: #fef2f2;
            --danger-text: #991b1b;
            --danger-border: #fecaca;
            --shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
            --radius: 18px;}
body.page-tool-costo-giocatore {margin: 0;
            font-family: 'Sarabun', Helvetica, sans-serif;
            background: var(--bg);
            color: var(--text);}
body.page-tool-costo-giocatore .page {max-width: 1900px;
            margin: 0 auto;
            padding: 24px;
        min-height: calc(100vh - 160px);}
body.page-tool-costo-giocatore .topbar {display: flex;
            justify-content: space-between;
            align-items: end;
            gap: 16px;
            margin-bottom: 22px;
            flex-wrap: wrap;}
body.page-tool-costo-giocatore h1 {margin: 0;
            font-size: 38px;
            line-height: 1.15;
        color: var(--rm-garnet-900);}
body.page-tool-costo-giocatore .subtitle {margin-top: 8px;
            color: var(--muted);
            font-size: 14px;}
body.page-tool-costo-giocatore .card {background: var(--card);
            border-radius: var(--radius);
            box-shadow: var(--shadow);
            padding: 20px;
            margin-bottom: 22px;}
body.page-tool-costo-giocatore .grid {display: grid;
            grid-template-columns: repeat(4, minmax(180px, 1fr));
            gap: 14px;}
body.page-tool-costo-giocatore .field {display: flex;
            flex-direction: column;
            gap: 6px;}
body.page-tool-costo-giocatore .field label {font-size: 13px;
            color: var(--muted);}
body.page-tool-costo-giocatore .field input, body.page-tool-costo-giocatore .field select {width: 100%;
            border: 1px solid var(--line-2);
            border-radius: 10px;
            padding: 10px 12px;
            font-size: 14px;
            background: #fff;
        color: var(--primary);
        font-family: 'Sarabun';}
body.page-tool-costo-giocatore .full {grid-column: 1 / -1;
            margin-top: 20px;}
body.page-tool-costo-giocatore .money-input-wrap {position: relative;}
body.page-tool-costo-giocatore .money-input-wrap .currency-symbol {position: absolute;
            left: 10px;
            top: 50%;
            transform: translateY(-50%);
            color: #64748b;
            font-size: 13px;
            pointer-events: none;}
body.page-tool-costo-giocatore .money-input-wrap input {padding-left: 28px;
            text-align: right;}
body.page-tool-costo-giocatore .actions {margin-top: 18px;
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            position: absolute;
            bottom: 0;
            right: 0;}
@media (max-width:767px) {
    body.page-tool-costo-giocatore .actions {
        position: relative;
    }
}
body.page-tool-costo-giocatore .btn {border: 0;
            border-radius: 10px;
            padding: 11px 16px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            background: var(--rm-garnet-900);
            color: #fff;}
body.page-tool-costo-giocatore .notice {margin-bottom: 18px;
            padding: 14px 16px;
            border-radius: 12px;
            background: var(--danger-bg);
            color: var(--danger-text);
            border: 1px solid var(--danger-border);}
body.page-tool-costo-giocatore .summary-strip {display: grid;
            grid-template-columns: repeat(5, minmax(220px, 1fr));
            gap: 14px;
            margin-bottom: 18px;}
body.page-tool-costo-giocatore .summary-box {background: #fff;
            border-radius: 14px;
            box-shadow: var(--shadow);
            padding: 16px;}
body.page-tool-costo-giocatore .summary-box .label {color: var(--muted);
            font-size: 12px;
            margin-bottom: 8px;}
body.page-tool-costo-giocatore .summary-box .value {font-size: 22px;
            font-weight: 700;
            line-height: 1.2;}
                font-family: 'Sarabun';
body.page-tool-costo-giocatore .card strong {
    color: var(--rm-garnet-900) !important;
}
body.page-tool-costo-giocatore .table-wrap {overflow-x: auto;
            border: 1px solid var(--line);
            border-radius: 14px;}
body.page-tool-costo-giocatore table {width: 100%;
            min-width: 1200px;
            border-collapse: collapse;
            background: #fff;}
body.page-tool-costo-giocatore th, body.page-tool-costo-giocatore td {padding: 11px 12px;
            border-bottom: 1px solid #edf1f7;
            text-align: left;
            vertical-align: middle;
            white-space: nowrap;
            font-size: 13px;
            color: var(--primary);}
body.page-tool-costo-giocatore th {background: #f8fafc;
            color: #475569;font-family: 'Sarabun';}
body.page-tool-costo-giocatore td.num, body.page-tool-costo-giocatore th.num {text-align: right;}
body.page-tool-costo-giocatore .muted {color: var(--muted);}
body.page-tool-costo-giocatore .pill {display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: 6px 11px;
            font-size: 12px;
            background: var(--primary-soft);
            color: var(--primary-text);}
body.page-tool-costo-giocatore nav a {
    color: rgba(246,241,234,.88);
}
@media (max-width: 1200px) {
body.page-tool-costo-giocatore .grid {grid-template-columns: repeat(2, minmax(180px, 1fr));}
body.page-tool-costo-giocatore .summary-strip {grid-template-columns: repeat(2, minmax(180px, 1fr));}
}
@media (max-width: 700px) {
body.page-tool-costo-giocatore .page {padding: 16px;}
body.page-tool-costo-giocatore .grid, body.page-tool-costo-giocatore .summary-strip {grid-template-columns: 1fr;}
body.page-tool-costo-giocatore h1 {font-size: 24px;}
}

/* page-admin-squad-cost */
body.page-admin-squad-cost {font-family: 'Sarabun', BlinkMacSystemFont, "Segoe UI", sans-serif;
            background:#0b1120;
            color:#f9fafb;
            margin:0;}
body.page-admin-squad-cost .wrap {max-width:1100px;
            margin:0 auto;
            padding:30px 18px 70px;}
body.page-admin-squad-cost h1 {margin-bottom:6px;}
body.page-admin-squad-cost p {color:#9ca3af;}
body.page-admin-squad-cost .card {background:#111827;
            border:1px solid rgba(255,255,255,.08);
            border-radius:18px;
            padding:20px;
            margin-bottom:18px;}
body.page-admin-squad-cost .grid {display:grid;
            grid-template-columns: repeat(3, 1fr);
            gap:14px;}
body.page-admin-squad-cost label {display:block;
            font-size:13px;
            color:#9ca3af;
            margin-bottom:6px;}
body.page-admin-squad-cost input, body.page-admin-squad-cost select, body.page-admin-squad-cost textarea {width:100%;
            padding:10px 12px;
            border-radius:10px;
            border:1px solid rgba(255,255,255,.15);
            background:#020617;
            color:#fff;
            box-sizing:border-box;}
body.page-admin-squad-cost textarea {min-height:80px;}
body.page-admin-squad-cost .section-title {margin-top:28px;
            font-size:22px;}
body.page-admin-squad-cost .line-row {display:grid;
            grid-template-columns: 1.4fr .6fr;
            gap:14px;
            align-items:end;
            padding:14px 0;
            border-bottom:1px solid rgba(255,255,255,.08);}
body.page-admin-squad-cost .details {margin-left:26px;
            margin-top:10px;
            padding-left:18px;
            border-left:2px solid rgba(255,255,255,.12);}
body.page-admin-squad-cost .detail-row {display:grid;
            grid-template-columns: 1.4fr .6fr;
            gap:14px;
            margin-bottom:10px;}
body.page-admin-squad-cost button {background:#facc15;
            color:#111827;
            border:0;
            padding:14px 20px;
            border-radius:14px;
            font-size:16px;
            font-weight:800;
            cursor:pointer;}
body.page-admin-squad-cost .success {background:rgba(34,197,94,.15);
            border:1px solid rgba(34,197,94,.35);
            padding:14px;
            border-radius:14px;
            margin-bottom:18px;}
body.page-admin-squad-cost .error {background:rgba(239,68,68,.15);
            border:1px solid rgba(239,68,68,.35);
            padding:14px;
            border-radius:14px;
            margin-bottom:18px;}
@media (max-width:800px) {
body.page-admin-squad-cost .grid, body.page-admin-squad-cost .line-row, body.page-admin-squad-cost .detail-row {grid-template-columns:1fr;}
}

/* page-subject-edit-login */
body.page-subject-edit-login {margin: 0;
                font-family: 'Sarabun', Helvetica, sans-serif;
                background: #f5f7fb;
                color: #1f2937;}
body.page-subject-edit-login .wrap {min-height: 100vh;
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 24px;}
body.page-subject-edit-login .box {width: 100%;
                max-width: 420px;
                background: #fff;
                border-radius: 18px;
                box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
                padding: 24px;}
body.page-subject-edit-login h1 {margin: 0 0 10px 0;
                font-size: 26px;}
body.page-subject-edit-login p {margin: 0 0 18px 0;
                color: #64748b;
                font-size: 14px;}
body.page-subject-edit-login label {display: block;
                font-size: 13px;
                margin-bottom: 6px;
                color: #64748b;}
body.page-subject-edit-login input[type="password"] {width: 100%;
                border: 1px solid #d8dfeb;
                border-radius: 10px;
                padding: 12px 14px;
                font-size: 14px;
                margin-bottom: 14px;
                box-sizing: border-box;}
body.page-subject-edit-login button {width: 100%;
                border: 0;
                border-radius: 10px;
                padding: 12px 14px;
                font-size: 14px;
                font-weight: 600;
                background: #111827;
                color: #fff;
                cursor: pointer;}
body.page-subject-edit-login .error {margin-bottom: 12px;
                padding: 10px 12px;
                border-radius: 10px;
                background: #fef2f2;
                color: #991b1b;
                border: 1px solid #fecaca;
                font-size: 13px;}

/* page-subject-edit */
body.page-subject-edit * {box-sizing: border-box;}
body.page-subject-edit {--bg: #f5f7fb;
            --card: #ffffff;
            --text: #1f2937;
            --muted: #64748b;
            --line: #e7edf5;
            --line-2: #d8dfeb;
            --primary: #111827;
            --primary-soft: #eef2ff;
            --primary-text: #3730a3;
            --success-bg: #ecfdf5;
            --success-text: #065f46;
            --success-border: #a7f3d0;
            --danger-bg: #fef2f2;
            --danger-text: #991b1b;
            --danger-border: #fecaca;
            --shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
            --radius: 18px;}
body.page-subject-edit {margin: 0;
            font-family: 'Sarabun', Helvetica, sans-serif;
            background: var(--bg);
            color: var(--text);}
body.page-subject-edit .page {max-width: 1680px;
            margin: 0 auto;
            padding: 24px;}
body.page-subject-edit .topbar {display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
            margin-bottom: 20px;
            flex-wrap: wrap;}
body.page-subject-edit .back-link {display: inline-block;
            margin-bottom: 8px;
            text-decoration: none;
            color: #2563eb;
            font-weight: 600;}
body.page-subject-edit h1 {margin: 0;
            font-size: 38px;
            line-height: 1.2;}
body.page-subject-edit .subject-meta {margin-top: 8px;
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            align-items: center;}
body.page-subject-edit .pill {display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: 6px 11px;
            font-size: 12px;
            background: var(--primary-soft);
            color: var(--primary-text);}
body.page-subject-edit .notice {margin-bottom: 18px;
            padding: 14px 16px;
            border-radius: 12px;}
body.page-subject-edit .notice.success {background: var(--success-bg);
            color: var(--success-text);
            border: 1px solid var(--success-border);}
body.page-subject-edit .notice.error {background: var(--danger-bg);
            color: var(--danger-text);
            border: 1px solid var(--danger-border);}
body.page-subject-edit .tabs {display: flex;
            gap: 10px;
            flex-wrap: wrap;
            margin-bottom: 20px;
            position: sticky;
            top: 0;
            z-index: 20;
            padding: 12px 0;
            background: linear-gradient(to bottom, var(--bg) 70%, rgba(245,247,251,0));}
body.page-subject-edit .tab-btn {border: 1px solid var(--line-2);
            background: #fff;
            color: var(--text);
            border-radius: 999px;
            padding: 10px 14px;
            font-size: 14px;
            cursor: pointer;
            transition: .15s ease;}
body.page-subject-edit .tab-btn.active {background: var(--primary);
            color: #fff;
            border-color: var(--primary);}
body.page-subject-edit .tab-panel {display: none;}
body.page-subject-edit .tab-panel.active {display: block;}
body.page-subject-edit .card {background: var(--card);
            border-radius: var(--radius);
            box-shadow: var(--shadow);
            padding: 20px;
            margin-bottom: 22px;}
body.page-subject-edit .accordion {border: 1px solid var(--line);
            border-radius: 16px;
            overflow: hidden;
            background: #fff;}
body.page-subject-edit .accordion-item + .accordion-item {border-top: 1px solid var(--line);}
body.page-subject-edit .accordion-header {width: 100%;
            text-align: left;
            border: 0;
            background: #fbfcfe;
            padding: 16px 18px;
            font-size: 18px;
            font-weight: 700;
            color: var(--text);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: space-between;}
body.page-subject-edit .accordion-header span.small {font-size: 12px;
            color: var(--muted);
            font-weight: 400;}
body.page-subject-edit .accordion-content {display: none;
            padding: 18px;
            background: #fff;}
body.page-subject-edit .accordion-item.open .accordion-content {display: block;}
body.page-subject-edit .accordion-item.open .accordion-icon {transform: rotate(180deg);}
body.page-subject-edit .accordion-icon {transition: transform .15s ease;
            font-size: 14px;
            color: var(--muted);}
body.page-subject-edit .grid {display: grid;
            grid-template-columns: repeat(4, minmax(180px, 1fr));
            gap: 14px;}
body.page-subject-edit .field {display: flex;
            flex-direction: column;
            gap: 6px;}
body.page-subject-edit .field label {font-size: 13px;
            color: var(--muted);}
body.page-subject-edit .field input, body.page-subject-edit .field select, body.page-subject-edit .field textarea {width: 100%;
            border: 1px solid var(--line-2);
            border-radius: 10px;
            padding: 10px 12px;
            font-size: 14px;
            background: #fff;}
body.page-subject-edit .field textarea {min-height: 110px;
            resize: vertical;}
body.page-subject-edit .full {grid-column: 1 / -1;}
body.page-subject-edit .checkbox-row {display: flex;
            align-items: center;
            gap: 8px;
            padding-top: 28px;}
body.page-subject-edit .actions {margin-top: 18px;
            display: flex;
            gap: 10px;
            flex-wrap: wrap;}
body.page-subject-edit .btn {border: 0;
            border-radius: 10px;
            padding: 11px 16px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            background: var(--primary);
            color: #fff;}
body.page-subject-edit .btn.secondary {background: #eef2f7;
            color: #1f2937;}
body.page-subject-edit .table-wrap {overflow-x: auto;
            border: 1px solid var(--line);
            border-radius: 14px;}
body.page-subject-edit table {width: 100%;
            min-width: 1180px;
            border-collapse: collapse;
            background: #fff;}
body.page-subject-edit th, body.page-subject-edit td {padding: 10px 12px;
            border-bottom: 1px solid #edf1f7;
            text-align: left;
            vertical-align: middle;
            white-space: nowrap;
            font-size: 13px;}
body.page-subject-edit th {background: #f8fafc;
            color: #475569;
            position: sticky;
            top: 0;
            z-index: 1;}
body.page-subject-edit td input, body.page-subject-edit td select {width: 100%;
            min-width: 120px;
            border: 1px solid var(--line-2);
            border-radius: 8px;
            padding: 8px 10px;
            font-size: 13px;
            background: #fff;}
body.page-subject-edit td textarea {width: 100%;
            min-width: 180px;
            border: 1px solid var(--line-2);
            border-radius: 8px;
            padding: 8px 10px;
            font-size: 13px;
            min-height: 70px;
            resize: vertical;
            background: #fff;}
body.page-subject-edit .btn {display: inline-flex;
            align-items: center;
            text-decoration: none;
            border-radius: 10px;
            padding: 11px 15px;
            font-size: 14px;
            font-weight: 600;
            background: #111827;
            color: #fff;}
body.page-subject-edit .btn.secondary {background: #e8edf5;
            color: #1f2937;}
body.page-subject-edit .small-check {width: auto !important;
            min-width: auto !important;}
body.page-subject-edit .summary-strip {display: grid;
            grid-template-columns: repeat(4, minmax(180px, 1fr));
            gap: 14px;
            margin-bottom: 18px;}
body.page-subject-edit .summary-box {background: #fff;
            border-radius: 14px;
            box-shadow: var(--shadow);
            padding: 16px;}
body.page-subject-edit .summary-box .label {color: var(--muted);
            font-size: 12px;
            margin-bottom: 8px;}
body.page-subject-edit .summary-box .value {font-size: 22px;
            font-weight: 700;}
body.page-subject-edit .money-input-wrap {position: relative;
            min-width: 140px;}
body.page-subject-edit .money-input-wrap .currency-symbol {position: absolute;
            left: 10px;
            top: 50%;
            transform: translateY(-50%);
            color: #64748b;
            font-size: 13px;
            pointer-events: none;}
body.page-subject-edit .money-input-wrap input.money-input {padding-left: 28px;
            text-align: right;}
@media (max-width: 1200px) {
body.page-subject-edit .grid {grid-template-columns: repeat(2, minmax(180px, 1fr));}
body.page-subject-edit .summary-strip {grid-template-columns: repeat(2, minmax(180px, 1fr));}
}
@media (max-width: 700px) {
body.page-subject-edit .page {padding: 16px;}
body.page-subject-edit .grid, body.page-subject-edit .summary-strip {grid-template-columns: 1fr;}
body.page-subject-edit h1 {font-size: 24px;}
body.page-subject-edit .tabs {top: 0;}
}
.first-line-cards {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.first-line-cards img {
    height: 130px;
}
/* page-uefa-info */
body.page-uefa-info {--bg:#0b1120;--card:#111827;--card2:#1f2937;--text:#f9fafb;--muted:#9ca3af;--yellow:#facc15;--red:#7f1d1d;--blue:#38bdf8;--green:#22c55e;--border:rgba(255,255,255,.10);margin:0;
    background: radial-gradient(circle at top, rgba(143, 20, 56, 0.20) 0%, rgba(143, 20, 56, 0.00) 38%), linear-gradient(180deg, #120308 0%, #1b050c 100%);color:var(--text);font-family:'Sarabun',BlinkMacSystemFont,"Segoe UI",sans-serif;}
body.page-uefa-info .uefa-wrap{max-width:1180px;margin:0 auto;padding:34px 18px 70px;}
body.page-uefa-info .uefa-hero{border-radius:28px;
            padding:34px;
            box-shadow:0 20px 60px rgba(0,0,0,.38);
            margin-bottom:26px;}
body.page-uefa-info .uefa-kicker{display:inline-flex;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.13);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff7ed;}
body.page-uefa-info h1{margin:16px 0 10px;font-size:42px;line-height:1.05;font-family: 'DM Serif Display';}
body.page-uefa-info .uefa-hero p{max-width:820px;margin:0;color:#e5e7eb;line-height:1.6;font-size:17px;}
body.page-uefa-info .uefa-disclaimer{margin-top:22px;padding:14px 16px;border:1px solid var(--rm-gold-300);border-radius:16px;background:transparent;color:var(--rm-gold-300);line-height:1.55;font-size:14px;}
body.page-uefa-info .uefa-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px;}
body.page-uefa-info .uefa-card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
body.page-uefa-info .uefa-card{position:relative;display:block;min-height:190px;padding:22px;border-radius:22px;    background: linear-gradient(135deg, var(--rm-garnet-800), var(--rm-garnet-900) 72%);border:1px solid var(--border);color:var(--text);text-decoration:none;overflow:hidden;transition:.18s ease;box-shadow:0 12px 34px rgba(0,0,0,.22);}
body.page-uefa-info .uefa-card:hover{transform:translateY(-4px);border-color:rgba(250,204,21,.45);box-shadow:0 18px 44px rgba(0,0,0,.32);}
body.page-uefa-info .uefa-card h2 {
    margin: 30px 0 10px;
    font-size: 22px;
    letter-spacing: -.02em;
    font-family: 'DM Serif Display';
}
body.page-uefa-info .uefa-card p{margin:0;color: var(--rm-text-dim);line-height:1.5;font-size:14px;}
body.page-uefa-info .uefa-card strong{position:absolute;left:22px;bottom:20px;color:var(--yellow);}
body.page-uefa-info .uefa-tag{position:absolute;top:18px;right:18px;padding:5px 10px;border-radius:999px;background:rgba(250,204,21,.14);color:#fde68a;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;}
body.page-uefa-info .uefa-panel{background:linear-gradient(135deg, var(--rm-garnet-800), var(--rm-garnet-900) 2%);border:1px solid var(--border);border-radius:22px;padding:24px;margin-bottom:18px;box-shadow:0 12px 34px rgba(0,0,0,.20);}
body.page-uefa-info .uefa-panel h2{margin:0 0 12px;font-size:24px;    font-family: 'DM Serif Display';}
body.page-uefa-info .uefa-panel p{color:#d1d5db;line-height:1.65;margin:0 0 12px;}
body.page-uefa-info .uefa-panel p:last-child{margin-bottom:0;}
body.page-uefa-info .uefa-note{font-size:13px;color:#9ca3af;margin-top:12px!important;}
body.page-uefa-info code{padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.08);color:#fde68a;}
body.page-uefa-info .uefa-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
body.page-uefa-info .uefa-list{margin:0;padding-left:20px;color:#d1d5db;line-height:1.7;}
body.page-uefa-info .uefa-list li{margin:4px 0;}
body.page-uefa-info .uefa-formula{font-size:24px;font-weight:900;padding:18px;border-radius:18px;border:1px solid rgba(250,204,21,.28);background:rgba(250,204,21,.10);color:#fde68a;margin:8px 0 14px;text-align:center;}
body.page-uefa-info .uefa-table-wrap{overflow-x:auto;border-radius:18px;border:1px solid var(--border);}
body.page-uefa-info .uefa-table{width:100%;border-collapse:collapse;background:rgba(15,23,42,.62);font-size:14px;}
body.page-uefa-info .uefa-table th,body.page-uefa-info .uefa-table td{padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top;    background-color: #2d090f;}
body.page-uefa-info .uefa-table th {
    text-align: left;
    color: var(--rm-gold-500);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .07em;
}
body.page-uefa-info .uefa-table tr:last-child td{border-bottom:0;}
body.page-uefa-info .uefa-table a{color:#fde68a;font-weight:800;text-decoration:none;}
body.page-uefa-info .uefa-table a:hover{text-decoration:underline;}
body.page-uefa-info .uefa-timeline{position:relative;margin-bottom:24px;}
body.page-uefa-info .uefa-event{position:relative;margin:0 0 16px 30px;padding:22px;border-radius:20px;    background: linear-gradient(135deg, var(--rm-garnet-800), var(--rm-garnet-900) 72%);border:1px solid var(--border);box-shadow:0 10px 28px rgba(0,0,0,.18);}
body.page-uefa-info .uefa-event:before{content:"";position:absolute;left:-30px;top:26px;width:14px;height:14px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 6px rgba(250,204,21,.13);}
body.page-uefa-info .uefa-event span {
    display: inline-flex;
    top: 14px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--rm-gold-300);
    background: rgba(217, 164, 65, .1);
    border: 1px solid rgba(217, 164, 65, .25);
    padding: 3px 8px;
    border-radius: 999px;
}
body.page-uefa-info .uefa-event h2 {
    margin: 12px 0 8px;
    font-size: 24px;
    font-family: 'DM Serif Display';
}
.uefa-event a {
    color: var(--rm-gold-300);
    font-weight: 700;
    text-decoration: none;
    font-size: 13px;
}
body.page-uefa-info .uefa-event p{margin:0;color:#d1d5db;line-height:1.6;}
body.page-uefa-info .uefa-glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
body.page-uefa-info .uefa-glossary article {
    background: linear-gradient(135deg, var(--rm-garnet-800), var(--rm-garnet-900) 72%);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 20px;
}
body.page-uefa-info .uefa-glossary h2 {
    margin: 0 0 8px;
    font-size: 20px;
    color: var(--rm-gold-400);
    font-family: 'DM Serif Display';
}
body.page-uefa-info .uefa-glossary p{margin:0;color:#d1d5db;line-height:1.55;}
@media (max-width:950px){body.page-uefa-info .uefa-card-grid,body.page-uefa-info .uefa-card-grid.three{grid-template-columns:repeat(2,1fr);}body.page-uefa-info h1{font-size:34px;}body.page-uefa-info .uefa-two-cols{grid-template-columns:1fr;}}
@media (max-width:640px){body.page-uefa-info .uefa-wrap{padding:24px 14px 54px;}body.page-uefa-info .uefa-hero{padding:24px;}body.page-uefa-info h1{font-size:30px;}body.page-uefa-info .uefa-card-grid,body.page-uefa-info .uefa-card-grid.three,body.page-uefa-info .uefa-glossary{grid-template-columns:1fr;}body.page-uefa-info .uefa-formula{font-size:19px;}body.page-uefa-info .uefa-event{margin-left:18px;}body.page-uefa-info .uefa-event:before{left:-24px;}}

/* Bilanci ufficiali: griglia copertine PDF */
body.page-uefa-info .bilanci-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:18px;
    margin-top:18px;
}
body.page-uefa-info .bilancio-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:18px;
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),rgba(15,23,42,.72);
    color:var(--text);
    text-decoration:none;
    box-shadow:0 12px 28px rgba(0,0,0,.22);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
body.page-uefa-info .bilancio-card:hover{
    transform:translateY(-4px);
    border-color:rgba(250,204,21,.50);
    box-shadow:0 18px 40px rgba(0,0,0,.34);
}
body.page-uefa-info .bilancio-cover{
    position:relative;
    aspect-ratio:210/297;
    overflow:hidden;
    background:linear-gradient(180deg, rgba(38,8,14,0.96) 0%, rgba(24,5,10,0.96) 100%);
}
body.page-uefa-info .bilancio-cover img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
body.page-uefa-info .bilancio-pdf-badge{
    position:absolute;
    top:10px;
    right:10px;
    z-index:2;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(127,29,29,.92);
    color:#fff7ed;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    box-shadow:0 8px 18px rgba(0,0,0,.25);
}
body.page-uefa-info .bilancio-cover-fallback{
    position:absolute;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:7px;
    padding:16px;
    text-align:center;
}
body.page-uefa-info .bilancio-cover.is-missing .bilancio-cover-fallback{display:flex;}
body.page-uefa-info .bilancio-cover-fallback strong{
    font-size:24px;
    color: var(--rm-gold-400);
    line-height:1;
}
body.page-uefa-info .bilancio-cover-fallback span{
    color:#e5e7eb;
    font-size:12px;
    line-height:1.35;
}
body.page-uefa-info .bilancio-meta{
    padding:13px 12px 14px;
    background: linear-gradient(180deg, rgba(38, 8, 14, 0.96) 0%, rgba(24, 5, 10, 0.96) 100%);
}
body.page-uefa-info .bilancio-season{
    display:inline-flex;
    padding:4px 8px;
    border-radius:999px;
    background:rgba(250,204,21,.13);
    color: var(--rm-gold-500);
    font-size:11px;
    font-weight:900;
    letter-spacing:.05em;
}
body.page-uefa-info .bilancio-meta h2{
    margin:9px 0 6px;
    font-size:14px;
    line-height:1.18;
    letter-spacing:-.01em;
}
body.page-uefa-info .bilancio-meta p{
    margin:0 0 10px;
    color:#9ca3af;
    font-size:12px;
    line-height:1.35;
}
body.page-uefa-info .bilancio-meta strong{
    color: var(--rm-gold-500);
    font-size:12px;
}
@media (max-width:1180px){body.page-uefa-info .bilanci-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:820px){body.page-uefa-info .bilanci-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}}
@media (max-width:560px){body.page-uefa-info .bilanci-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.dashboard-auth-box{
    margin:24px 0 30px;
    padding:22px 24px;
    border-radius:24px;
    background:linear-gradient(180deg, rgba(38,8,14,0.96) 0%, rgba(24,5,10,0.96) 100%);
    border:1px solid rgba(143,30,61,0.24);
    box-shadow:0 14px 30px rgba(0,0,0,0.18);
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
}
.dashboard-auth-box__eyebrow{
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#d3aeb8;
    margin-bottom:6px;
}
.dashboard-auth-box h2{
    margin:0 0 8px;
    font-size:28px;
    line-height:1.05;
    color:#fff6f8;
    font-family: 'DM Serif Display';
}
.dashboard-auth-box p{
    margin:0;
    font-size:15px;
    line-height:1.5;
    color:#d8bcc3;
    max-width:760px;
}
.dashboard-auth-box__actions{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.dashboard-auth-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 18px;
    border-radius:14px;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
    letter-spacing:.02em;
    transition:transform .15s ease, filter .15s ease;
}
.dashboard-auth-btn:hover{
    transform:translateY(-1px);
    filter:brightness(1.05);
}
.dashboard-auth-btn--primary{
    color:#fff7f9;
    background:linear-gradient(135deg, #8f1438 0%, #641027 100%);
    border:1px solid rgba(255,255,255,0.10);
}
.dashboard-auth-btn--secondary{
    color:#f6dfe5;
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.10);
}
.dashboard-auth-user{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.dashboard-auth-user__name{
    font-size:18px;
    font-weight:800;
    color:#fff7f9;
}
.dashboard-auth-user__meta{
    font-size:13px;
    color:#cfb5bc;
}
@media (max-width: 860px){
    .dashboard-auth-box{
        grid-template-columns:1fr;
        align-items:start;
    }
    .dashboard-auth-box__actions{
        justify-content:flex-start;
    }
    .table-wrap.table-wrap--sticky-first {
    position: relative;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.table-wrap.table-wrap--sticky-first table {
    border-collapse: separate;
    border-spacing: 0;
}

.table-wrap.table-wrap--sticky-first thead th:first-child,
.table-wrap.table-wrap--sticky-first tbody td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background: white;
}

.table-wrap.table-wrap--sticky-first thead th:first-child {
    z-index: 4;
    background: #f8fafc;
}

.table-wrap.table-wrap--sticky-first tbody tr.coach-row td:first-child {
    background: #fff8e6;
}

}

body.page-subject-edit .card, body.page-subject-edit h1 {
    color: black;
} 