#view-usage,
#view-profile {
    background: var(--psx-background);
    overflow-y: auto;
}
.psx-tool-defaults h2 {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
}
.psx-option-row {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}
.psx-option-row .row-info { min-width: 0; flex: 1; }
.psx-option-row .row-title { display: block; }
.psx-option-row .row-desc { margin: 6px 0 0; max-width: 64ch; }
.psx-option-row .plagscanx-toggle-container { align-self: flex-start; }
.plagscanx-app-overlay .psx-options-gate-title {
    width: auto; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0;
    background: transparent; color: var(--psx-card-foreground); font: inherit; font-size: 15px; font-weight: 600;
    line-height: inherit; text-align: start; cursor: pointer;
}
.plagscanx-app-overlay .psx-options-gate-title:hover { background: transparent; color: var(--psx-primary); text-decoration: underline; text-underline-offset: 3px; }
.plagscanx-app-overlay .psx-options-gate-crown {
    display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; flex: 0 0 40px;
    width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 6px;
    background: transparent; color: #eab308; cursor: pointer;
}
.plagscanx-app-overlay .psx-options-gate-crown:hover { background: #fefce8; color: #ca8a04; }
.plagscanx-app-overlay .psx-options-gate-crown .psx-icon { width: 18px; height: 18px; }
.psx-website-editor { padding: 8px 0 0; max-width: 560px; }
.psx-website-editor > label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 500; }
.psx-website-entry { display: flex; gap: 8px; }
.psx-website-entry .psx-website-input {
    width: 100%; min-width: 0; min-height: 40px; padding: 8px 12px;
    border: 1px solid var(--psx-border-strong); border-radius: 6px;
    background: var(--psx-background); color: var(--psx-card-foreground); font: inherit; font-size: 14px;
}
.psx-website-entry .psx-website-add { flex: 0 0 40px; width: 40px; min-height: 40px; padding: 0; }
.psx-website-input:disabled { background: var(--psx-muted); color: var(--psx-muted-foreground); cursor: not-allowed; }
.psx-website-list { list-style: none; margin: 8px 0 0; padding: 0; }
.psx-website-list li { display: flex; align-items: center; gap: 12px; min-height: 44px; border-bottom: 1px solid var(--psx-border); font-size: 14px; }
.psx-website-list li span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.psx-website-remove { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px; min-height: 40px; padding: 0; border: 0; background: transparent; color: var(--psx-muted-foreground); cursor: pointer; }
.psx-website-remove:hover:not(:disabled) { color: var(--psx-danger); background: var(--psx-muted); }
.psx-website-remove:disabled { opacity: .5; cursor: not-allowed; }
.psx-plagiarism-options :focus-visible { outline: 2px solid var(--psx-primary); outline-offset: 3px; }
.psx-website-error { color: var(--psx-danger); font-size: 13px; line-height: 1.5; margin: 8px 0; }
.psx-website-error:empty { display: none; }
.psx-assessment-note { color: var(--psx-muted-foreground); font-size: 13px; line-height: 1.6; margin: 20px 0 0; max-width: 65ch; }
.psx-settings-save-row { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
#psx-tool-settings-status { margin: 0; font-size: 14px; flex: 1 1 200px; }
#psx-tool-settings-status.is-error { color: var(--psx-danger); }
#plagscanx-advanced-modal { z-index: 100001; }
#plagscanx-advanced-modal .psx-modal-compact {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 560px;
    max-height: min(820px, calc(100dvh - 32px));
}
#plagscanx-advanced-modal .psx-modal-header-centered,
#plagscanx-advanced-modal .psx-modal-footer { flex: 0 0 auto; }
#plagscanx-advanced-modal .psx-modal-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; margin: 0; padding: 0 24px 16px; }
#plagscanx-advanced-modal .psx-option-row { padding: 16px 0; }
#plagscanx-advanced-modal .row-title { font-size: 14px; }
#plagscanx-advanced-modal .row-desc { font-size: 13px; }
.plagiarism-highlight-excluded { color: var(--psx-muted-foreground); background: var(--psx-muted); text-decoration: underline dotted; text-underline-offset: 3px; }
#plagiarism-excluded-summary { color: var(--psx-muted-foreground); font-size: 12px; line-height: 1.6; margin-top: 8px; }
@media (max-width: 767px) {
    .psx-option-row { flex-direction: row; gap: 16px; }
    .psx-option-row .row-action { width: auto; }
    .psx-settings-save-row { align-items: flex-start; }
}
/* Pricing uses the same surfaces and type as the app; the pass is a single package. */
.plagscanx-app-overlay .plagscanx-pricing-card[hidden],
.plagscanx-app-overlay .usage-detail-card-empty[hidden],
.plagscanx-app-overlay .psx-billing-notice[hidden],
.plagscanx-app-overlay .discount-badge[hidden] { display: none !important; }
.plagscanx-app-overlay .plagscanx-pricing-grid.is-semester { grid-template-columns: minmax(0, 520px); justify-content: center; }
.plagscanx-app-overlay .psx-price-title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.plagscanx-app-overlay .psx-price-title h3 { margin: 0; }
.plagscanx-app-overlay .psx-price-title .discount-badge { position: static; font-size: 12px; line-height: 1.4; padding: 3px 7px; border-radius: 4px; background: var(--psx-muted, #f4f4f5); color: var(--psx-foreground, #18181b); }
.plagscanx-app-overlay .psx-semester-allowances { padding-block: 20px; }
.plagscanx-app-overlay .psx-semester-allowances h4 { font-size: 14px; font-weight: 500; margin: 0 0 12px; }
.plagscanx-app-overlay .psx-semester-allowances dl { margin: 0; }
.plagscanx-app-overlay .psx-semester-allowances dl > div { display: flex; justify-content: space-between; gap: 16px; padding-block: 7px; }
.plagscanx-app-overlay .psx-semester-allowances dt { font-size: 14px; font-weight: 400; }
.plagscanx-app-overlay .psx-semester-allowances dd { margin: 0; font-size: 14px; font-weight: 500; text-align: end; font-variant-numeric: tabular-nums; }
.plagscanx-app-overlay .psx-semester-note { font-size: 12px; line-height: 1.6; color: var(--psx-muted-foreground, #52525b); margin: 12px 0 0; }
.plagscanx-app-overlay .psx-semester-card :is(h3, .discount-badge, .price-amount, .pricing-features li) { min-width: 0; overflow-wrap: anywhere; }
.plagscanx-app-overlay .psx-semester-card .pricing-card-desc { white-space: pre-line; overflow-wrap: anywhere; }
.plagscanx-app-overlay .psx-semester-card .pricing-cta-btn { white-space: normal; overflow-wrap: anywhere; gap: 8px; }
.plagscanx-app-overlay .psx-semester-card .pricing-cta-btn span { min-width: 0; }
.plagscanx-app-overlay .psx-semester-card .pricing-cta-btn .psx-icon { flex-shrink: 0; }
.plagscanx-app-overlay .psx-pass-status { padding-block: 16px; margin-bottom: 24px; border-block: 1px solid var(--psx-border, #e4e4e7); }
.plagscanx-app-overlay .psx-pass-status p { margin: 4px 0; font-size: 14px; }
@media (max-width: 540px) {
    .plagscanx-app-overlay .pricing-billing-toggle { display: flex; width: 100%; }
    .plagscanx-app-overlay .pricing-billing-toggle .billing-toggle-btn { flex: 1; min-width: 0; padding: 10px 8px; font-size: 12px; white-space: normal; }
}
.plagscanx-app-overlay .psx-prepaid-balances:empty { display: none; }
.plagscanx-app-overlay .psx-prepaid-purchase { padding: 20px 0; border-bottom: 1px solid var(--psx-border, #e4e4e7); }
.plagscanx-app-overlay .psx-prepaid-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.plagscanx-app-overlay .psx-prepaid-heading h3 { font-size: 16px; margin: 0; font-weight: 600; }
.plagscanx-app-overlay .psx-prepaid-heading span, .plagscanx-app-overlay .psx-prepaid-purchase p { font-size: 13px; color: var(--psx-text-muted, #71717a); }
.plagscanx-app-overlay .psx-prepaid-purchase dl, .plagscanx-app-overlay .psx-prepaid-offer { margin: 12px 0 0; }
.plagscanx-app-overlay .psx-prepaid-purchase dl > div, .plagscanx-app-overlay .psx-prepaid-offer > div { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; flex-wrap: wrap; font-size: 13px; }
.plagscanx-app-overlay .psx-prepaid-purchase dd, .plagscanx-app-overlay .psx-prepaid-offer dd { margin: 0; font-variant-numeric: tabular-nums; font-weight: 500; }
.plagscanx-app-overlay .psx-prepaid-offer { flex-basis: 100%; }
.plagscanx-app-overlay .plagscanx-addon-banner:has(.psx-prepaid-offer) { flex-wrap: wrap; }
@media (max-width: 900px) {
    .plagscanx-app-overlay .plagscanx-addon-banner:has(.psx-prepaid-offer) { flex-wrap: nowrap; }
    .plagscanx-app-overlay .plagscanx-addon-banner .psx-prepaid-offer { flex-basis: auto; width: 100%; min-width: 0; }
    .plagscanx-app-overlay .plagscanx-addon-banner :is(.addon-banner-content, .addon-banner-text, .psx-semester-note) { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
}
.plagscanx-app-overlay .psx-billing-notice { padding-block: 16px; border-block: 1px solid var(--psx-border); color: var(--psx-foreground); font-size: 14px; line-height: 1.6; }
#plagscanx-upgrade-modal { z-index: 100001; padding: 16px; }
#plagscanx-upgrade-modal .psx-upgrade-modal { width: 100%; max-width: 520px; max-height: calc(100dvh - 32px); overflow-y: auto; padding: 28px; text-align: start; border-radius: 8px; }
#plagscanx-upgrade-modal h2 { margin: 0 32px 8px 0; font-size: 22px; line-height: 1.3; font-weight: 600; }
#plagscanx-upgrade-modal p { font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
#psx-upgrade-plan { margin: 0 0 20px; font-weight: 500; }
#psx-upgrade-note { color: var(--psx-muted-foreground); margin: 20px 0; }
#psx-upgrade-quote { margin: 0; padding-block: 8px; border-block: 1px solid var(--psx-border); }
#psx-upgrade-quote > div { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 20px; padding-block: 10px; font-size: 14px; }
#psx-upgrade-quote dt { flex: 1 1 180px; font-weight: 400; }
#psx-upgrade-quote dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#psx-upgrade-error { color: var(--psx-danger, #b91c1c); }
#psx-upgrade-error:empty, #psx-upgrade-status:empty { display: none; }
#plagscanx-upgrade-modal [hidden] { display: none !important; }
#plagscanx-upgrade-modal .psx-upgrade-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
#plagscanx-upgrade-modal .psx-upgrade-actions button { flex: 1 1 150px; min-height: 44px; justify-content: center; white-space: normal; font-size: 14px; line-height: 1.4; }
#plagscanx-upgrade-modal .psx-upgrade-portal { display: block; margin: 20px auto 0; border: 0; padding: 8px; background: transparent; color: var(--psx-primary); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
#plagscanx-upgrade-modal :focus-visible { outline: 2px solid var(--psx-primary); outline-offset: 3px; }
@media (max-width: 540px) { #plagscanx-upgrade-modal .psx-upgrade-modal { padding: 24px 20px; } }
