.fx-page .fx-domestic-badge {
    display: inline-flex;
    flex-direction: column;
    padding: 12px 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 13px;
}
.fx-page .fx-domestic-badge strong { font-size: 20px; color: #0f172a; margin-top: 4px; }

.fx-summary-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}
.fx-summary-card { display: flex; flex-direction: column; gap: 6px; }
.fx-summary-card strong { font-size: 28px; color: #0f172a; }
.fx-summary-card .eyebrow { font-size: 11px; }
.fx-resolution-panel {
    margin-bottom: 24px;
    border-left: 4px solid #2563eb;
}
.fx-resolution-panel .section-head {
    margin-bottom: 12px;
}

.guard-score-card { border-top: 4px solid #94a3b8; }
.guard-score-card.guard-score-green { border-top-color: #16a34a; }
.guard-score-card.guard-score-yellow { border-top-color: #eab308; }
.guard-score-card.guard-score-orange { border-top-color: #f97316; }
.guard-score-card.guard-score-red { border-top-color: #dc2626; }
.guard-score-card summary { list-style: none; cursor: pointer; }
.guard-score-card summary::-webkit-details-marker { display: none; }

.dashboard-fx-overview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}
.guard-score-dashboard {
    border-top: 4px solid #94a3b8;
}
.guard-score-dashboard.guard-score-green { border-top-color: #16a34a; }
.guard-score-dashboard.guard-score-yellow { border-top-color: #eab308; }
.guard-score-dashboard.guard-score-orange { border-top-color: #f97316; }
.guard-score-dashboard.guard-score-red { border-top-color: #dc2626; }
.guard-score-dashboard summary {
    display: flex;
    align-items: center;
    gap: 14px;
    list-style: none;
    cursor: pointer;
}
.guard-score-dashboard summary::-webkit-details-marker { display: none; }
.guard-score-orb {
    --score: 100;
    width: 74px;
    height: 74px;
    flex: 0 0 74px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background:
        radial-gradient(circle at center, #ffffff 0 58%, transparent 60%),
        conic-gradient(#2563eb calc(var(--score) * 1%), #e2e8f0 0);
}
.guard-score-green .guard-score-orb {
    background:
        radial-gradient(circle at center, #ffffff 0 58%, transparent 60%),
        conic-gradient(#16a34a calc(var(--score) * 1%), #e2e8f0 0);
}
.guard-score-yellow .guard-score-orb {
    background:
        radial-gradient(circle at center, #ffffff 0 58%, transparent 60%),
        conic-gradient(#eab308 calc(var(--score) * 1%), #e2e8f0 0);
}
.guard-score-orange .guard-score-orb {
    background:
        radial-gradient(circle at center, #ffffff 0 58%, transparent 60%),
        conic-gradient(#f97316 calc(var(--score) * 1%), #e2e8f0 0);
}
.guard-score-red .guard-score-orb {
    background:
        radial-gradient(circle at center, #ffffff 0 58%, transparent 60%),
        conic-gradient(#dc2626 calc(var(--score) * 1%), #e2e8f0 0);
}
/* No data yet: a flat, unfilled ring, so an empty account cannot read as a full score. */
.guard-score-empty .guard-score-orb {
    background:
        radial-gradient(circle at center, #ffffff 0 58%, transparent 60%),
        conic-gradient(#e2e8f0 0 100%);
}
.guard-score-empty .guard-score-orb strong { color: #94a3b8; }
.guard-score-empty.guard-score-dashboard,
.guard-score-empty.guard-score-card { border-top-color: #cbd5e1; }
.guard-score-orb strong { font-size: 22px; color: #0f172a; }
.guard-score-copy { display: flex; flex-direction: column; gap: 3px; }
.guard-score-copy > strong { color: #0f172a; }
.fx-dashboard-card .section-head { margin-bottom: 12px; }
.fx-dashboard-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.fx-dashboard-metrics div {
    padding: 10px 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}
.fx-dashboard-metrics span {
    display: block;
    color: #64748b;
    font-size: 12px;
    margin-bottom: 4px;
}
.fx-dashboard-metrics strong {
    color: #0f172a;
    font-size: 18px;
}
.fx-risk-list { margin-top: 12px; }
.fx-risk-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border-top: 1px dashed #e2e8f0;
    font-size: 13px;
}

.fx-currency-breakdown { display: flex; flex-direction: column; gap: 6px; }
.fx-currency-row { display: flex; justify-content: space-between; padding: 6px 10px; background: #f8fafc; border-radius: 6px; }
.fx-currency-code { font-weight: 600; color: #0f172a; }
.fx-currency-amount { font-variant-numeric: tabular-nums; color: #334155; }

.fx-exposure-table, .fx-monthly-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.fx-exposure-table th, .fx-exposure-table td,
.fx-monthly-table th, .fx-monthly-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
}
.fx-exposure-table th.right, .fx-exposure-table td.right,
.fx-monthly-table th.right, .fx-monthly-table td.right {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.fx-exposure-table .money.negative, .fx-monthly-table .money.negative { color: #dc2626; }

.fx-pill {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.fx-pill-red { background: #fee2e2; color: #991b1b; }
.fx-pill-yellow { background: #fef3c7; color: #92400e; }
.fx-pill-green { background: #dcfce7; color: #166534; }
.fx-exposure-cell { min-width: 110px; }
.fx-exposure-cell .fx-pill { text-decoration: none; }
.fx-action-cell {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-width: 150px;
}
.fx-action-form { margin: 0; }
.fx-action-form .btn {
    min-height: 30px;
    padding: 0 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    box-shadow: none;
}

table[data-sortable] th[data-sort-type] {
    cursor: pointer;
    user-select: none;
}
table[data-sortable] th[data-sort-type]::after {
    content: " sort";
    color: #94a3b8;
    font-size: 11px;
    font-weight: 500;
}
table[data-sortable] th[data-sort-direction="asc"]::after {
    content: " asc";
}
table[data-sortable] th[data-sort-direction="desc"]::after {
    content: " desc";
}

.guard-score-widget {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 12px 16px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 16px;
}
.guard-score-gauge {
    width: 80px;
    height: 80px;
    position: relative;
}
.guard-score-gauge svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.guard-score-gauge .gauge-track { fill: none; stroke: #e2e8f0; stroke-width: 8; }
.guard-score-gauge .gauge-fill { fill: none; stroke-width: 8; stroke-linecap: round; transition: stroke-dashoffset 0.5s; }
.guard-score-green .gauge-fill { stroke: #16a34a; }
.guard-score-yellow .gauge-fill { stroke: #eab308; }
.guard-score-orange .gauge-fill { stroke: #f97316; }
.guard-score-red .gauge-fill { stroke: #dc2626; }
.guard-score-gauge .gauge-number {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 700;
    color: #0f172a;
}
.guard-score-meta { display: flex; flex-direction: column; gap: 2px; }
.guard-score-meta .label { font-size: 14px; font-weight: 600; color: #0f172a; }
.guard-score-meta .sub { font-size: 12px; color: #64748b; cursor: pointer; text-decoration: underline; }
.guard-score-breakdown {
    margin-top: 10px;
    padding: 12px;
    background: #f8fafc;
    border-radius: 8px;
    font-size: 13px;
}
.guard-score-breakdown ul { margin: 0; padding-left: 18px; }
.guard-score-breakdown li { margin: 4px 0; }
.guard-score-breakdown .deduction { color: #dc2626; font-weight: 600; }

.fx-intelligence-card {
    margin-top: 24px;
    padding: 18px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
}
.fx-intelligence-card .card-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 12px;
}
.fx-intelligence-card .card-head h3 { margin: 0; font-size: 16px; }
.fx-intelligence-card .fx-metric { margin-bottom: 10px; }
.fx-intelligence-card .fx-metric .label { font-size: 12px; color: #64748b; text-transform: uppercase; letter-spacing: 0.04em; }
.fx-intelligence-card .fx-metric .value { font-size: 20px; font-weight: 700; color: #0f172a; }
.fx-intelligence-card .fx-risk-list { margin-top: 12px; }
.fx-intelligence-card .fx-risk-row {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    border-top: 1px dashed #e2e8f0;
    font-size: 13px;
}

.fx-settings-form .form-section { margin-bottom: 24px; }
.fx-settings-form .form-section h2 { font-size: 16px; margin-bottom: 12px; }
.fx-settings-form .form-field { display: block; margin-bottom: 14px; }
.fx-settings-form .form-label { display: block; font-size: 13px; font-weight: 600; color: #0f172a; margin-bottom: 4px; }
.fx-settings-form .form-help { display: block; font-size: 12px; color: #64748b; margin-top: 4px; }
.fx-settings-form input[type="text"], .fx-settings-form input[type="number"], .fx-settings-form input[type="password"], .fx-settings-form select {
    width: 100%;
    max-width: 360px;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 14px;
}
.fx-settings-form .checkbox-row { display: flex; align-items: center; gap: 8px; }
.fx-settings-form .checkbox-row input { width: auto; max-width: none; }
.fx-settings-form .form-radio-group { display: flex; gap: 16px; margin-bottom: 12px; }
.fx-settings-form .form-radio { display: flex; align-items: center; gap: 6px; }
.fx-settings-form .form-actions { display: flex; gap: 12px; margin-top: 16px; }

@media (max-width: 900px) {
    .dashboard-fx-overview,
    .fx-dashboard-metrics {
        grid-template-columns: 1fr;
    }
    .guard-score-dashboard summary {
        align-items: flex-start;
    }
}
