/* Shared validation UI. Business data cells and explicit warning colours are retained. */
body.sv-page {
    --sv-bg: #f5f7f8;
    --sv-paper: #ffffff;
    --sv-ink: #000000;
    --sv-muted: #000000;
    --sv-green: #000000;
    --sv-tint: #eaf3ee;
    --sv-border: #dae4de;
    margin: 0;
    color: var(--sv-ink);
    background: var(--sv-bg);
    font: 14px/1.65 "Yu Gothic UI", "Meiryo", sans-serif;
}
.sv-page .sv-header, .sv-page .sv-header *, .sv-page .sv-sidebar, .sv-page .sv-sidebar * { box-sizing: border-box; }
.sv-page .sv-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 15px; padding: 20px 30px; background: var(--sv-paper); border-bottom: 1px solid var(--sv-border); }
.sv-page .sv-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--sv-ink); font-size: 19px; font-weight: 700; text-decoration: none; }
.sv-page .sv-brand-mark { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 11px; background: var(--sv-tint); color: var(--sv-green); font: 25px serif; }
.sv-page .sv-brand small { display: block; margin-top: 1px; font-size: 11px; font-weight: 400; letter-spacing: .12em; color: var(--sv-muted); }
.sv-page .sv-account { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; font-size: 12px; color: var(--sv-muted); }
.sv-page a { color: var(--sv-green); text-underline-offset: 3px; }
.sv-page a:hover { color: #000000; }
.sv-page :focus-visible { outline: 3px solid #2d7a60; outline-offset: 2px; }
.sv-page .sv-frame { min-width: 0; }
.sv-page .sv-page-heading { margin: 0 0 0 200px; padding: 24px 30px 18px; text-align: left; color: var(--sv-ink); overflow-wrap: anywhere; }
.sv-page .sv-page-heading h1 { margin: 0 0 8px; font-size: 28px; line-height: 1.4; letter-spacing: .04em; }
.sv-page .sv-page-heading strong { font-size: 12px; font-weight: 400; color: var(--sv-muted); }
.sv-page .sv-page-heading small { display: inline-block; margin-left: 10px; font-size: 11px; color: var(--sv-muted); }
.sv-page .sv-page-heading hr { display: none; }
.sv-page .sv-office { padding: 0 12px 20px; margin: 0; text-align: left; overflow-wrap: anywhere; }
.sv-page .sv-office strong { display: block; font-size: 14px; }
.sv-page .sv-office span { display: block; margin-top: 5px; color: var(--sv-muted); font-size: 11px; }
.sv-page.sv-desktop.sv-has-legacy-sidebar #box1 { display: grid !important; grid-template-columns: 200px minmax(0, 1fr); align-items: stretch; gap: 0; width: 100%; min-width: 0; }
.sv-page.sv-desktop.sv-has-legacy-sidebar .css1 { box-sizing: border-box; width: 200px !important; min-width: 0 !important; padding: 26px 15px; background: var(--sv-paper) !important; border: 0 !important; border-right: 1px solid var(--sv-border) !important; border-radius: 0 !important; font-size: 13px !important; }
.sv-page.sv-desktop.sv-has-legacy-sidebar .css1 > div { text-align: left !important; }
.sv-page.sv-desktop.sv-has-legacy-sidebar .css1 table { width: 100%; border: 0; border-collapse: separate; border-spacing: 0 5px; background: transparent; }
.sv-page.sv-desktop.sv-has-legacy-sidebar .css1 table th, .sv-page.sv-desktop.sv-has-legacy-sidebar .css1 table td { border: 0 !important; padding: 9px 8px; text-align: left; font-size: 12px; white-space: normal !important; overflow-wrap: anywhere; }
.sv-page.sv-desktop.sv-has-legacy-sidebar .css1 table th { border-radius: 7px; color: var(--sv-green); background: var(--sv-tint); font-size: 13px; }
.sv-page.sv-desktop.sv-has-legacy-sidebar .css1 td[bgcolor="#FFFFFF"], .sv-page.sv-desktop.sv-has-legacy-sidebar .css1 td[bgcolor="#ffffff"] { background: var(--sv-paper); }
.sv-page.sv-desktop.sv-has-legacy-sidebar .css1 a { display: inline-block; padding: 3px 0; font-size: 13px; line-height: 1.8; text-decoration: none; }
.sv-page.sv-desktop.sv-has-legacy-sidebar .css1 a:hover { text-decoration: underline; }
.sv-page.sv-desktop.sv-has-legacy-sidebar .css1 small { display: inline-block; color: var(--sv-muted); font-size: 11px; line-height: 1.6; }
.sv-page.sv-desktop .css2 { box-sizing: border-box; width: auto !important; min-width: 0 !important; max-width: 100%; padding: 22px 30px 32px; border: 0 !important; border-radius: 0 !important; background: var(--sv-bg) !important; font-size: 14px !important; overflow-x: auto; }
.sv-page.sv-desktop .css2 > div { min-width: 0; }
.sv-page.sv-standard-layout .sv-legacy-frame { display: grid; grid-template-columns: 200px minmax(0, 1fr); grid-template-rows: auto 1fr; min-height: calc(100vh - 150px); }
.sv-page.sv-standard-layout .sv-page-heading { grid-column: 2; grid-row: 1; margin-left: 0; }
.sv-page.sv-desktop.sv-standard-layout #box1 { display: contents !important; }
.sv-page.sv-standard-layout #box1 > .css1 { grid-column: 1; grid-row: 1 / span 2; }
.sv-page.sv-standard-layout #box1 > .css2 { grid-column: 2; grid-row: 2; padding-top: 5px; }
.sv-page.sv-desktop .css2 table { border-collapse: collapse; }
.sv-page.sv-desktop .css2 table.type01, .sv-page.sv-desktop .css2 table.type02, .sv-page.sv-desktop .css2 table.type03 { background: var(--sv-paper); }
.sv-page.sv-desktop .css2 table.type01 th, .sv-page.sv-desktop .css2 table.type01 td,
.sv-page.sv-desktop .css2 table.type02 th, .sv-page.sv-desktop .css2 table.type02 td,
.sv-page.sv-desktop .css2 table.type03 th, .sv-page.sv-desktop .css2 table.type03 td { border-color: var(--sv-border); padding: 7px 9px; }
.sv-page.sv-desktop .css2 table.type01 th:not([bgcolor]):not([class]):not([style*="background"]):not([style*="color"]) { color: var(--sv-ink); background: var(--sv-tint); font-weight: 600; }
.sv-page.sv-desktop .css2 td[style*="font-size"], .sv-page.sv-desktop .css2 th[style*="font-size"] { font-size: 12px !important; }
.sv-page .sv-shell { display: grid; grid-template-columns: 200px minmax(0, 1fr); min-height: calc(100vh - 150px); }
.sv-page .sv-sidebar { padding: 26px 15px; background: var(--sv-paper); border-right: 1px solid var(--sv-border); }
.sv-page .sv-sidebar nav { display: grid; gap: 5px; }
.sv-page .sv-sidebar nav a { display: block; padding: 12px; color: var(--sv-muted); font-size: 13px; border-radius: 7px; text-decoration: none; }
.sv-page .sv-sidebar nav a:hover, .sv-page .sv-sidebar nav a[aria-current="page"] { background: var(--sv-tint); color: var(--sv-green); }
.sv-page .sv-sidebar nav a[aria-current="page"] { font-weight: 700; }
.sv-page .sv-content { min-width: 0; padding: 24px 30px; overflow-x: auto; }
.sv-page .sv-content .sv-page-heading { padding: 0 0 22px; margin: 0; }
.sv-page .sv-public-frame { padding: 35px 22px; }
.sv-page .sv-public-frame > div, .sv-page .sv-public-frame > table { max-width: 650px; margin-left: auto; margin-right: auto; }
.sv-page .sv-public-frame .sv-page-heading { padding: 0 0 20px; margin: 0 auto; text-align: center; }
.sv-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
.sv-page select, .sv-page textarea, .sv-page button { box-sizing: border-box; font-family: inherit; font-size: 14px; }
.sv-page input[type="text"], .sv-page input[type="search"], .sv-page input[type="password"], .sv-page input[type="number"], .sv-page input[type="date"], .sv-page input[type="month"], .sv-page input[type="time"], .sv-page input[type="email"], .sv-page select, .sv-page textarea { padding: 7px 9px; border: 1px solid #b9ccc1; border-radius: 6px; background-color: var(--sv-paper); color: var(--sv-ink); }
.sv-page select { min-height: 35px; }
.sv-page input[type="submit"], .sv-page input[type="button"], .sv-page input[type="reset"], .sv-page button { min-height: 36px; min-width: max-content; flex-shrink: 0; white-space: nowrap; padding: 7px 13px; border: 1px solid #b9ccc1; border-radius: 6px; background-color: var(--sv-tint); color: var(--sv-green); cursor: pointer; }
.sv-page input[type="submit"]:hover, .sv-page input[type="button"]:hover, .sv-page button:hover { background-color: #deece3; }
.sv-page input[type="submit"][value*="削除"], .sv-page input[type="submit"][value*="中止"], .sv-page button[name*="delete"] { background-color: #fff0ec; color: #9b3624; border-color: #dca99b; }
.sv-page button:disabled, .sv-page input:disabled, .sv-page select:disabled { cursor: not-allowed; opacity: .65; }
.sv-page input[type="checkbox"], .sv-page input[type="radio"] { accent-color: var(--sv-green); }
.sv-page .strong1 { padding: 10px 13px; margin: 12px 0; border-radius: 7px; background: #fff3d8; color: #805711; }
.sv-page .strong1:has(> strong:empty):not(:has(input, select, textarea, button, a)) { display: none; }
.sv-page .error, .sv-page .error-message { border-color: #dca99b; }
.sv-page.sv-compact .sv-header { padding: 10px 16px; gap: 10px; }
.sv-page.sv-compact .sv-brand { font-size: 15px; }
.sv-page.sv-compact .sv-brand-mark { width: 30px; height: 30px; font-size: 21px; }
.sv-page.sv-compact .sv-brand small { font-size: 10px; }
.sv-page.sv-compact .sv-account { font-size: 11px; gap: 10px; }
.sv-page.sv-compact input, .sv-page.sv-compact select, .sv-page.sv-compact textarea, .sv-page.sv-compact button { font-size: 16px; }
.sv-page.sv-compact button, .sv-page.sv-compact input[type="submit"], .sv-page.sv-compact input[type="button"] { min-height: 44px; }
@media (max-width: 900px) {
    .sv-page .sv-header { padding: 16px 20px; }
    .sv-page.sv-desktop #box1, .sv-page .sv-shell { grid-template-columns: 170px minmax(0, 1fr); }
    .sv-page.sv-standard-layout .sv-legacy-frame { grid-template-columns: 170px minmax(0, 1fr); }
    .sv-page.sv-desktop.sv-has-legacy-sidebar .css1 { width: 170px !important; padding: 22px 10px; }
    .sv-page.sv-desktop .css2, .sv-page .sv-content { padding: 20px; }
    .sv-page .sv-page-heading { margin-left: 170px; padding: 22px 20px 14px; }
}
@media (max-width: 600px) {
    .sv-page.sv-desktop #box1, .sv-page .sv-shell { display: block !important; }
    .sv-page.sv-standard-layout .sv-legacy-frame, .sv-page.sv-desktop.sv-standard-layout #box1 { display: block !important; }
    .sv-page.sv-desktop.sv-has-legacy-sidebar .css1, .sv-page .sv-sidebar { width: 100% !important; max-width: none; padding: 16px; border-right: 0 !important; border-bottom: 1px solid var(--sv-border) !important; }
    .sv-page .sv-office { padding: 0 0 12px; }
    .sv-page .sv-sidebar nav { display: flex; flex-wrap: wrap; gap: 4px; }
    .sv-page .sv-sidebar nav a { padding: 8px 10px; }
    .sv-page.sv-desktop .css2, .sv-page .sv-content { padding: 20px 15px; }
    .sv-page .sv-page-heading { margin-left: 0; padding: 20px 15px; }
    .sv-page .sv-page-heading strong { font-size: 17px; }
    .sv-page .sv-account { font-size: 11px; gap: 10px; }
    .sv-page input[type="submit"], .sv-page input[type="button"], .sv-page button { min-height: 44px; }
    .sv-page input[type="text"], .sv-page input[type="search"], .sv-page select, .sv-page textarea { font-size: 16px; }
}
@media print {
    .sv-page .sv-header, .sv-page .sv-sidebar, .sv-page.sv-has-legacy-sidebar .css1 { display: none !important; }
    .sv-page .sv-shell, .sv-page.sv-desktop #box1 { display: block !important; }
    .sv-page.sv-standard-layout .sv-legacy-frame { display: block !important; }
    .sv-page.sv-desktop.sv-standard-layout #box1 { display: block !important; }
    .sv-page .sv-page-heading { margin-left: 0; }
    .sv-page .sv-content, .sv-page .css2 { padding: 0 !important; overflow: visible !important; }
}

.sv-page .sv-content #box1 { display: block !important; width: 100%; }
.sv-page .sv-content .css1 { box-sizing: border-box; width: 100%; min-width: 0; padding: 20px; background: var(--sv-paper); border: 1px solid var(--sv-border); border-radius: 9px; overflow-x: auto; }
.sv-page .sv-content table.type01 { border-collapse: collapse; min-width: 700px; background: var(--sv-paper); }
.sv-page .sv-content table.type01 th, .sv-page .sv-content table.type01 td { padding: 10px 12px; border-color: var(--sv-border); font-size: 13px; line-height: 1.6; }
.sv-page .sv-content table.type01 th:not([bgcolor]):not([class]):not([style*="background"]):not([style*="color"]) { background: var(--sv-tint); color: var(--sv-ink); }
.sv-page .denso-page { box-sizing: border-box; width: 100%; margin: 16px 0; padding: 20px; border-color: var(--sv-border); border-radius: 9px; background: var(--sv-paper); }
.sv-page .denso-title { background: var(--sv-green); padding: 12px 15px; border-radius: 6px 6px 0 0; }
.sv-page .toolbar { background: var(--sv-tint); border-color: var(--sv-border); padding: 12px; }
.sv-page .toolbar-button { border-color: #b9ccc1; border-radius: 6px; color: var(--sv-green); background: var(--sv-paper); }
.sv-page .office-tree { background: #f1f6f3; border-color: var(--sv-border); }
.sv-page .office-menu summary, .sv-page .office-tree a { color: var(--sv-green); }
.sv-page .office-tree a.nav-selected { color: var(--sv-green); background: #dcece1; border-color: #b9ccc1; }
.sv-page .denso-layout, .sv-page .representative-box { border-color: var(--sv-border); }
.sv-page .day-nav { flex-wrap: wrap; gap: 8px; padding: 12px; background-color: var(--sv-tint); border-color: var(--sv-border); border-radius: 7px; }
.sv-page .day-nav label, .sv-page .day-nav .week-label, .sv-page .add-giver-label { white-space: nowrap; flex-shrink: 0; }
.sv-page .day-nav select, .sv-page .day-nav input { flex-shrink: 0; }
.sv-page.sv-compact .mobile-header { color: var(--sv-green); background: var(--sv-tint); border-bottom-color: var(--sv-border); }
.sv-page.sv-compact button { min-width: 0; white-space: normal; }

/* User record screens with a separate document editor retain three columns. */
@media screen and (min-width: 601px) {
    .sv-page.sv-standard-layout .sv-legacy-frame:has(> #box1 > .css3) {
        grid-template-columns: 170px 300px minmax(560px, 1fr);
        overflow-x: auto;
        align-items: start;
    }
    .sv-page.sv-standard-layout .sv-legacy-frame:has(> #box1 > .css3) > .sv-page-heading {
        grid-column: 2 / 4;
    }
    .sv-page.sv-standard-layout #box1:has(> .css3) > .css1 {
        width: 170px !important;
        padding: 16px 8px;
        align-self: stretch;
    }
    .sv-page.sv-standard-layout #box1:has(> .css3) > .css2 {
        grid-column: 2;
        grid-row: 2;
        padding: 5px 10px 20px;
    }
    .sv-page.sv-standard-layout #box1 > .css3 {
        grid-column: 3;
        grid-row: 2;
        width: auto !important;
        min-width: 0;
        padding: 5px 12px 20px;
        border: 0;
        border-left: 1px solid var(--sv-border);
        border-radius: 0;
        background: var(--sv-paper);
        overflow-x: auto;
        box-sizing: border-box;
    }
}
@media screen and (max-width: 600px) {
    .sv-page.sv-standard-layout #box1 > .css3 { width: 100%; box-sizing: border-box; overflow-x: auto; }
}

/* Record title and sidebar status duplicate the central record heading. */
.sv-page.sv-standard-layout .sv-legacy-frame:has(> #box1 > .css3) > .sv-page-heading,
.sv-page.sv-standard-layout #box1:has(> .css3) > .css1 > div > table > tbody > tr:has(> th) {
    display: none;
}
.sv-page.sv-standard-layout #box1:has(> .css3) > .css2 table.type01 th,
.sv-page.sv-standard-layout #box1:has(> .css3) > .css2 table.type01 td {
    padding: 5px 3px;
}

/* Business screens use their existing section labels rather than a duplicate heading. */
.sv-page.sv-desktop.sv-has-legacy-sidebar .sv-page-heading,
.sv-page.sv-desktop .sv-shell .sv-page-heading {
    display: none;
}

/* Match the user-list header across validation screens. */
.sv-page .sv-header, .sv-page.sv-compact .sv-header {
    padding: 5px 14px;
    gap: 8px;
    flex-wrap: nowrap;
}
.sv-page .sv-brand, .sv-page.sv-compact .sv-brand {
    gap: 8px;
    font-size: 16px;
    line-height: 1.6;
    white-space: nowrap;
    flex-shrink: 0;
}
.sv-page .sv-brand-mark, .sv-page.sv-compact .sv-brand-mark {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    font-size: 20px;
}
.sv-page .sv-account, .sv-page.sv-compact .sv-account {
    font-size: 12px;
    gap: 12px;
    flex-wrap: nowrap;
    min-width: 0;
}
.sv-page .sv-account > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sv-page .sv-account > a { white-space: nowrap; }

/* Individual service schedules use the whole available width. */
.sv-page.sv-full-width-service .sv-sidebar,
.sv-page.sv-full-width-service .box1,
.sv-page.sv-full-width-service #box1 > .css1 { display: none !important; }
.sv-page.sv-full-width-service .sv-shell,
.sv-page.sv-full-width-service .sv-legacy-frame { display: block; }
.sv-page.sv-full-width-service .sv-content,
.sv-page.sv-full-width-service .css2 { width: 100% !important; max-width: none; padding: 8px 10px; box-sizing: border-box; }
.sv-page.sv-full-width-service .box-wrapper { padding-left: 0; }
.sv-page.sv-full-width-service .box2,
.sv-page.sv-full-width-service .box3 { float: none; width: 100%; margin: 0 0 10px; box-sizing: border-box; }
.sv-page.sv-full-width-service table.type02 { width: 100%; }

/* Keep the original contextual navigation in a horizontal toolbar. */
.sv-page.sv-full-width-service .box1,
.sv-page.sv-full-width-service #box1 > .css1 {
    display: block !important;
    float: none;
    width: 100% !important;
    margin: 0 0 8px;
    padding: 5px 8px;
    border: 1px solid var(--sv-border);
    border-radius: 4px;
    background: var(--sv-tint);
    box-sizing: border-box;
}
.sv-page.sv-full-width-service .box1 table,
.sv-page.sv-full-width-service .css1 table { width: auto; margin: 0; border: 0; }
.sv-page.sv-full-width-service .box1 td,
.sv-page.sv-full-width-service .css1 td { text-align: left; padding: 0; }
.sv-page.sv-full-width-service .box1 br,
.sv-page.sv-full-width-service .css1 br { display: none; }
.sv-page.sv-full-width-service .box1 a,
.sv-page.sv-full-width-service .css1 a { display: inline-block; padding: 4px 8px; white-space: nowrap; }

/* The selected office remains visible even without a sidebar. */
.sv-page .sv-header-office { display: flex; align-items: center; flex-wrap: wrap; gap: 3px 12px; margin-right: auto; margin-left: 12px; font-size: 12px; min-width: 0; }
.sv-page .sv-header-office strong { font-size: 13px; }
.sv-page .sv-header-office span { color: var(--sv-muted); white-space: nowrap; }
.sv-page .sv-office { display: none; }
@media (max-width: 600px) {
    .sv-page .sv-header-office { margin-left: 0; gap: 0 6px; font-size: 10px; }
    .sv-page .sv-header-office strong { font-size: 11px; }
}

/* Billing names and status labels must remain horizontal. */
.sv-page.sv-desktop .css2 table.sv-billing-users {
    width: max-content;
    min-width: 100%;
    table-layout: auto;
    font-size: 13px;
}
.sv-page.sv-desktop .css2 table.sv-billing-users th,
.sv-page.sv-desktop .css2 table.sv-billing-users td {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    padding: 5px 6px;
    line-height: 1.5;
    font-size: 13px !important;
}
.sv-page.sv-desktop .css2 table.sv-billing-users td:nth-child(6n+2) { min-width: 90px; }
.sv-page.sv-desktop .css2 table.sv-billing-users td:nth-child(6n+3) { min-width: 100px; }
.sv-page.sv-desktop .css2 table.sv-billing-users td:nth-child(6n),
.sv-page.sv-desktop .css2 table.sv-billing-users th:nth-child(6n) { min-width: 8px; padding: 0 3px; background: var(--sv-bg); }

/* Each billing control row lays out independently of the other row. */
.sv-page.sv-desktop .css2 table.sv-billing-controls,
.sv-page.sv-desktop .css2 table.sv-billing-controls > tbody { display: block; width: auto; }
.sv-page.sv-desktop .css2 table.sv-billing-controls > tbody > tr {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 6px;
    margin: 4px 0;
}
.sv-page.sv-desktop .css2 table.sv-billing-controls > tbody > tr > td {
    display: block;
    padding: 0;
    flex: 0 0 auto;
    white-space: nowrap;
}
.sv-page.sv-desktop .css2 table.sv-billing-controls > tbody > tr > td:empty { display: none; }

/* Insurance document selection: keep names and headings on one line. */
.sv-page.sv-desktop .css2 table.sv-insurance-output {
    width: max-content;
    min-width: 0;
    table-layout: auto;
}
.sv-page.sv-desktop .css2 table.sv-insurance-output th,
.sv-page.sv-desktop .css2 table.sv-insurance-output td {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    padding: 5px 6px;
    font-size: 13px !important;
    line-height: 1.5;
}
.sv-page.sv-desktop .css2 table.sv-insurance-output td:nth-child(5n+2) { min-width: 96px; }
.sv-page.sv-desktop .css2 table.sv-insurance-output td:nth-child(5n),
.sv-page.sv-desktop .css2 table.sv-insurance-output th:nth-child(5n) { padding: 0 3px; background: var(--sv-bg); }

/* Bulk service output lists match insurance output typography and spacing. */
.sv-page.sv-desktop .css2 table.sv-service-output { width: max-content; min-width: 100%; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-service-output th,
.sv-page.sv-desktop .css2 table.sv-service-output td {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    padding: 5px 6px;
    font-size: 13px !important;
    line-height: 1.5;
}
.sv-page.sv-desktop .css2 table.sv-service-output td:nth-child(4n+3) { min-width: 96px; }
.sv-page.sv-desktop .css2 table.sv-service-output td:nth-child(4n+2) { font-size: 11px !important; }

/* Review-result user selector uses readable name columns. */
.sv-page.sv-desktop .css2 table.sv-review-users { width: max-content; min-width: 100%; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-review-users th,
.sv-page.sv-desktop .css2 table.sv-review-users td {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    padding: 5px 6px;
    font-size: 13px !important;
    line-height: 1.5;
}
.sv-page.sv-desktop .css2 table.sv-review-users td:nth-child(3n+2) { min-width: 100px; }
.sv-page.sv-desktop .css2 table.sv-review-users td:nth-child(3n),
.sv-page.sv-desktop .css2 table.sv-review-users th:nth-child(3n) { padding: 0 3px; background: var(--sv-bg); }

.sv-page.sv-desktop .css2 table.sv-review-detail { width: max-content; min-width: 100%; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-review-detail th,
.sv-page.sv-desktop .css2 table.sv-review-detail td {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    padding: 5px 6px;
    font-size: 13px !important;
    line-height: 1.5;
}
.sv-page.sv-desktop .css2 table.sv-review-detail td:nth-child(2) { min-width: 110px; }

/* Compact vertical business navigation. */
.sv-page.sv-desktop.sv-has-legacy-sidebar:not(.sv-full-width-service) .css1 { padding: 8px !important; }
.sv-page.sv-desktop.sv-has-legacy-sidebar:not(.sv-full-width-service) .css1 table { border-spacing: 0; }
.sv-page.sv-desktop.sv-has-legacy-sidebar:not(.sv-full-width-service) .css1 table th,
.sv-page.sv-desktop.sv-has-legacy-sidebar:not(.sv-full-width-service) .css1 table td { padding: 4px 5px; line-height: 1.4; }
.sv-page.sv-desktop.sv-has-legacy-sidebar:not(.sv-full-width-service) .css1 a { padding: 1px 0; line-height: 1.5; }
.sv-page.sv-desktop.sv-has-legacy-sidebar:not(.sv-full-width-service) .css1 small { line-height: 1.3; }
.sv-page.sv-desktop.sv-has-legacy-sidebar:not(.sv-full-width-service) .css1 br + br { display: none; }
.sv-page .sv-sidebar { padding: 8px; }
.sv-page .sv-sidebar nav { gap: 2px; }
.sv-page .sv-sidebar nav a { padding: 6px 8px; line-height: 1.4; }

/* LIFE user information keeps identifiers, names and dates horizontal. */
.sv-page.sv-desktop .css2 table.sv-life-users { width: max-content; min-width: 100%; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-life-users th,
.sv-page.sv-desktop .css2 table.sv-life-users td {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    padding: 5px 6px;
    font-size: 13px !important;
    line-height: 1.5;
}
.sv-page.sv-desktop .css2 table.sv-life-users td:nth-child(3) { min-width: 110px; }
.sv-page.sv-desktop .css2 table.sv-life-users td:nth-child(4) { min-width: 130px; }
.sv-page.sv-desktop .css2 table.sv-life-users td:nth-child(5),
.sv-page.sv-desktop .css2 table.sv-life-users td:nth-child(8),
.sv-page.sv-desktop .css2 table.sv-life-users td:nth-child(n+12) { min-width: 90px; }

/* LIFE scientific-care output lists keep names, months and values horizontal. */
.sv-page.sv-desktop .css2 table.sv-life-scientific { width: max-content; min-width: 100%; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-life-scientific th,
.sv-page.sv-desktop .css2 table.sv-life-scientific td {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    padding: 5px 6px;
    font-size: 13px !important;
    line-height: 1.5;
}
.sv-page.sv-desktop .css2 table.sv-life-scientific small { font-size: inherit; }
.sv-page.sv-desktop .css2 table.sv-life-scientific td:nth-child(2) { min-width: 110px; }
.sv-page.sv-desktop .css2 table.sv-life-scientific td:nth-child(3) { min-width: 90px; }

/* LIFE output month selectors retain readable office and month columns. */
.sv-page.sv-desktop .css2 table.sv-life-months { width: max-content; min-width: 100%; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-life-months th,
.sv-page.sv-desktop .css2 table.sv-life-months td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 5px 6px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-life-months small { font-size: inherit; }
.sv-page.sv-desktop .css2 table.sv-life-months td:nth-child(5n+2) { min-width: 110px; }
.sv-page.sv-desktop .css2 table.sv-life-months td:nth-child(5n+3) { min-width: 96px; }
.sv-page.sv-desktop .css2 table.sv-life-months td:nth-child(5n),
.sv-page.sv-desktop .css2 table.sv-life-months th:nth-child(5n) { padding: 0 3px; background: var(--sv-bg); }

/* Month lists occupy only the space required by their contents. */
.sv-page.sv-desktop .css2 table.sv-life-months { width: auto; min-width: 0; }
.sv-page.sv-desktop .css2 table.sv-life-months td:nth-child(5n+2),
.sv-page.sv-desktop .css2 table.sv-life-months td:nth-child(5n+3) { min-width: 0; }

/* Oral-function output selectors use content-sized horizontal columns. */
.sv-page.sv-desktop .css2 table.sv-oral-output-list { width: auto; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-oral-output-list th,
.sv-page.sv-desktop .css2 table.sv-oral-output-list td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 5px 6px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-oral-output-list small { font-size: inherit; }
.sv-page.sv-desktop .css2 table.sv-oral-output-list td:nth-child(5n),
.sv-page.sv-desktop .css2 table.sv-oral-output-list th:nth-child(5n) { padding: 0 3px; background: var(--sv-bg); }

.sv-page.sv-desktop.sv-has-legacy-sidebar .css1 a.sv-selected-menu {
    display: block;
    padding: 5px 6px;
    border-radius: 4px;
    background: var(--sv-tint);
    color: var(--sv-green);
    font-weight: 700;
}

/* Bulk invoice names and invoice status stay on readable horizontal lines. */
.sv-page.sv-desktop .css2 table.sv-invoice-bulk-users { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-invoice-bulk-users th,
.sv-page.sv-desktop .css2 table.sv-invoice-bulk-users td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 5px 6px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-invoice-bulk-users td:nth-child(6n+2) { min-width: 100px; }
.sv-page.sv-desktop .css2 table.sv-invoice-bulk-users td:nth-child(6n+4) { min-width: 110px; }
.sv-page.sv-desktop .css2 table.sv-invoice-bulk-users td:nth-child(6n),
.sv-page.sv-desktop .css2 table.sv-invoice-bulk-users th:nth-child(6n) { padding: 0 3px; background: var(--sv-bg); }

.sv-page.sv-desktop .css2 table.sv-monthly-pattern-users { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-monthly-pattern-users th,
.sv-page.sv-desktop .css2 table.sv-monthly-pattern-users td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 5px 6px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-monthly-pattern-users td:nth-child(4n+3) { min-width: 100px; }
.sv-page.sv-desktop .css2 table.sv-monthly-pattern-users td:nth-child(4n+2) { font-size: 11px !important; }
.sv-page.sv-desktop .css2 table.sv-monthly-pattern-users td:nth-child(4n),
.sv-page.sv-desktop .css2 table.sv-monthly-pattern-users th:nth-child(4n) { padding: 0 3px; background: var(--sv-bg); }

/* Monthly invoice patterns keep names, item labels and prices readable. */
.sv-page.sv-desktop .css2 table.sv-monthly-pattern-list { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-monthly-pattern-list th,
.sv-page.sv-desktop .css2 table.sv-monthly-pattern-list td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 5px 8px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-monthly-pattern-list td:nth-child(3) { min-width: 100px; }
.sv-page.sv-desktop .css2 table.sv-monthly-pattern-list td:nth-child(4) { min-width: 140px; }
.sv-page.sv-desktop .css2 table.sv-monthly-pattern-list td:nth-child(2) { font-size: 11px !important; }

/* Collection patterns use content-sized, horizontal name and method columns. */
.sv-page.sv-desktop .css2 table.sv-collection-pattern-list { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-collection-pattern-list th,
.sv-page.sv-desktop .css2 table.sv-collection-pattern-list td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 5px 6px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-collection-pattern-list td:nth-child(4n+2) { min-width: 100px; }
.sv-page.sv-desktop .css2 table.sv-collection-pattern-list td:nth-child(4n+3) { min-width: 90px; }
.sv-page.sv-desktop .css2 table.sv-collection-pattern-list td:nth-child(4n),
.sv-page.sv-desktop .css2 table.sv-collection-pattern-list th:nth-child(4n) { padding: 0 3px; background: var(--sv-bg); }

.sv-page.sv-desktop .css2 table.sv-invoice-review-users { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-invoice-review-users th,
.sv-page.sv-desktop .css2 table.sv-invoice-review-users td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 5px 6px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-invoice-review-users td:nth-child(5n+2) { min-width: 100px; }
.sv-page.sv-desktop .css2 table.sv-invoice-review-users td:nth-child(5n+4) { min-width: 110px; }

/* Preserve the two-row invoice layout while keeping names and amounts horizontal. */
.sv-page.sv-desktop .css2 table.sv-invoice-amounts { width: max-content; min-width: 0; table-layout: auto; font-variant-numeric: tabular-nums; }
.sv-page.sv-desktop .css2 table.sv-invoice-amounts td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 5px 7px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-invoice-amounts td[align="right"],
.sv-page.sv-desktop .css2 table.sv-invoice-amounts td[align=right] { text-align: right; min-width: 70px; }

/* Uncollected invoices keep names, dates and monetary values horizontal. */
.sv-page.sv-desktop .css2 table.sv-uncollected-invoices { width: max-content; min-width: 0; table-layout: auto; font-variant-numeric: tabular-nums; }
.sv-page.sv-desktop .css2 table.sv-uncollected-invoices td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 5px 7px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-uncollected-invoices td[align="right"] { text-align: right; min-width: 75px; }

/* Debit customer information keeps names and account fields readable. */
.sv-page.sv-desktop .css2 table.sv-debit-users { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-debit-users th,
.sv-page.sv-desktop .css2 table.sv-debit-users td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 5px 7px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(3),
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(5),
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(7),
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(10),
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(11) { min-width: 100px; }
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(6) { white-space: normal; min-width: 200px; max-width: 260px; overflow-wrap: anywhere; }
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(2) { font-size: 11px !important; }

/* Debit collection results keep each repeated user group readable. */
.sv-page.sv-desktop .css2 table.sv-debit-results { width: max-content; min-width: 0; table-layout: auto; font-variant-numeric: tabular-nums; }
.sv-page.sv-desktop .css2 table.sv-debit-results th,
.sv-page.sv-desktop .css2 table.sv-debit-results td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 5px 7px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-debit-results td:nth-child(7n+2) { min-width: 100px; }
.sv-page.sv-desktop .css2 table.sv-debit-results td:nth-child(7n+3),
.sv-page.sv-desktop .css2 table.sv-debit-results td:nth-child(7n+4),
.sv-page.sv-desktop .css2 table.sv-debit-results td:nth-child(7n+5) { min-width: 70px; text-align: right; }
.sv-page.sv-desktop .css2 table.sv-debit-results td:nth-child(7n),
.sv-page.sv-desktop .css2 table.sv-debit-results th:nth-child(7n) { padding: 0 3px; background: var(--sv-bg); }

/* Company landing page: offices first, shared actions below the list. */
.sv-office-home .sv-public-frame { max-width: 1120px; margin: 0 auto; padding: 24px; }
.sv-office-home #box1 { float: none; width: auto; margin: 0; padding: 0; }
.sv-office-home .office-home-content { float: none; width: auto; overflow-x: auto; padding: 20px; background: #fff; border: 1px solid var(--sv-line); border-radius: 12px; }
.sv-office-home .office-home-content > div > table { width: 100%; }
.sv-office-home .office-home-content > div > table > tbody > tr > td:empty,
.sv-office-home .office-home-content > div > table > tbody > tr > td:first-child,
.sv-office-home .office-home-content > div > table > tbody > tr > td:nth-child(2) { display: none; }
.sv-page.sv-desktop table.sv-office-list { width: 100%; min-width: 960px; table-layout: auto; }
.sv-page.sv-desktop table.sv-office-list th,
.sv-page.sv-desktop table.sv-office-list td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 11px 9px; font-size: 14px !important; line-height: 1.5; }
.sv-page.sv-desktop table.sv-office-list td:nth-child(3) { min-width: 160px; }
.sv-page.sv-desktop table.sv-office-list td:nth-child(5) { min-width: 200px; max-width: 260px; white-space: normal; }
.sv-page.sv-desktop table.sv-office-list td:nth-child(2) a { font-weight: 600; }
.sv-office-home .office-home-content form { margin-top: 16px; }
.sv-office-home .office-home-content form a { display: inline-block; padding: 8px 12px; }
@media (max-width: 700px) { .sv-office-home .sv-public-frame { padding: 12px; } .sv-office-home .office-home-content { padding: 12px; } }

.sv-office-home #box1 { max-width: none; }
.sv-office-home .sv-page-heading { display: none; }
.sv-page.sv-desktop table.sv-office-list { border-collapse: collapse; }
.sv-page.sv-desktop table.sv-office-list th { background: #e8f2ed; color: #000000; }

/* Compact office selection: keep addresses on one line and omit unused columns. */
.sv-office-home .sv-public-frame { padding-top: 4px; }
.sv-office-home .office-home-content { padding-top: 4px; }
.sv-page.sv-desktop table.sv-office-list { min-width: 0; }
.sv-page.sv-desktop table.sv-office-list th:nth-child(4),
.sv-page.sv-desktop table.sv-office-list td:nth-child(4),
.sv-page.sv-desktop table.sv-office-list th:nth-child(7),
.sv-page.sv-desktop table.sv-office-list td:nth-child(7) { display: none; }
.sv-page.sv-desktop table.sv-office-list td:nth-child(5) { white-space: nowrap; max-width: none; }

/* Vital month selection keeps office names and months horizontal and compact. */
.sv-page.sv-desktop .css2 table.sv-vital-months { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-vital-months th,
.sv-page.sv-desktop .css2 table.sv-vital-months td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 6px 8px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-vital-months td:nth-child(4n+2) { min-width: 130px; }
.sv-page.sv-desktop .css2 table.sv-vital-months td:nth-child(4n+3) { min-width: 85px; }
.sv-page.sv-desktop .css2 table.sv-vital-months td:nth-child(4n),
.sv-page.sv-desktop .css2 table.sv-vital-months th:nth-child(4n) { padding: 0 3px; background: var(--sv-bg); }
.sv-page.sv-desktop .css2 table.sv-vital-months small { font-size: inherit; }
.sv-vital-help { margin: 4px 0 8px; }

body.sv-page { font-family: "Meiryo", "Yu Gothic UI", sans-serif; font-weight: 500; }

.sv-page .css1 .sv-current-submenu { display: block; padding: 5px 8px; margin: 2px 0; background: #dcece2; color: #000000; font-size: 13px; font-weight: 700; border-left: 3px solid #000000; border-radius: 4px; }

/* Compact desktop business forms without reducing multiline fields or mobile targets. */
@media (min-width: 701px) {
    body.sv-page.sv-desktop:not(:has(.login-panel)) input:is([type="text"], [type="search"], [type="password"], [type="number"], [type="date"], [type="month"], [type="time"], [type="email"], [type="tel"], [type="url"]) {
        height: 28px; min-height: 28px; padding: 3px 7px; line-height: 20px; border-radius: 4px;
    }
    body.sv-page.sv-desktop:not(:has(.login-panel)) select { height: 28px; min-height: 28px; padding: 2px 6px; line-height: 20px; border-radius: 4px; }
    body.sv-page.sv-desktop:not(:has(.login-panel)) select[multiple],
    body.sv-page.sv-desktop:not(:has(.login-panel)) select[size]:not([size="1"]) { height: auto; }
    body.sv-page.sv-desktop:not(:has(.login-panel)) textarea { padding: 4px 7px; line-height: 1.45; border-radius: 4px; }
    body.sv-page.sv-desktop:not(:has(.login-panel)) input:is([type="submit"], [type="button"], [type="reset"]),
    body.sv-page.sv-desktop:not(:has(.login-panel)) button { min-height: 30px; padding: 3px 10px; line-height: 22px; border-radius: 4px; }
}

.sv-page .css1 .sv-registration-item { display: block; padding: 2px 0; line-height: 1.6; color: var(--sv-ink); }

/* Discontinued users: readable names and aligned revival checkboxes. */
.sv-page.sv-desktop .css2 table.sv-revival-users { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-revival-users th,
.sv-page.sv-desktop .css2 table.sv-revival-users td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 5px 7px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-revival-users td:nth-child(4n+2) { min-width: 100px; }
.sv-page.sv-desktop .css2 table.sv-revival-users td:nth-child(4n+3) { text-align: center; }
.sv-page.sv-desktop .css2 table.sv-revival-users td:nth-child(4n),
.sv-page.sv-desktop .css2 table.sv-revival-users th:nth-child(4n) { padding: 0 3px; background: var(--sv-bg); }

/* Black text for everyday reading; retain explicit clinical and error colours. */
.sv-page .css1 a, .sv-page .sv-sidebar a, .sv-page .sv-header a,
.sv-page .sv-header-office, .sv-page summary,
.sv-page .sv-selected-menu, .sv-page .sv-current-submenu { color: #000 !important; }
.sv-page input:is([type="text"], [type="search"], [type="password"], [type="number"], [type="date"], [type="month"], [type="time"], [type="email"], [type="tel"]),
.sv-page select, .sv-page textarea { color: #000; }
.sv-page input::placeholder, .sv-page textarea::placeholder { color: #444; opacity: 1; }
.sv-page input:is([type="submit"], [type="button"], [type="reset"]):not([value*="削除"]):not([value*="中止"]),
.sv-page button:not([name*="delete"]) { color: #000; }

body.sv-page .login-submit input[type=submit], body.sv-page .login-submit button { color: #fff; }

.sv-page.sv-desktop .css2 table.sv-paid-months { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-paid-months th, .sv-page.sv-desktop .css2 table.sv-paid-months td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 6px 8px; font-size: 13px !important; line-height: 1.5; }
.sv-page.sv-desktop .css2 table.sv-paid-months td:nth-child(3n+2) { min-width: 165px; }
.sv-page.sv-desktop .css2 table.sv-paid-months td:nth-child(3n), .sv-page.sv-desktop .css2 table.sv-paid-months th:nth-child(3n) { padding: 0 3px; background: var(--sv-bg); }

/* Keep brackets and the insurance billing menu label together. */
.sv-page.sv-desktop .css1 td:has(a[href*="type=insurance_bill"]),
.sv-page.sv-desktop .css1 th:has(a[href*="type=insurance_bill"]),
.sv-page.sv-desktop .css1 a[href*="type=insurance_bill"] { white-space: nowrap !important; overflow-wrap: normal; word-break: normal; }
.sv-page.sv-desktop .css1 a.sv-selected-menu[href*="type=insurance_bill"] { display: inline-block; }

.sv-page.sv-desktop .css1 .sv-selected-menu { white-space: nowrap !important; overflow-wrap: normal; word-break: normal; }

body.sv-plan-bulk { display: block; }
.sv-plan-bulk .sv-legacy-frame > form { display: contents; }
.sv-plan-bulk .sv-legacy-frame > form > div:first-of-type { display: none; }
.sv-plan-bulk .css2 { grid-column: 2; grid-row: 1; }
.sv-plan-bulk .css1 { grid-row: 1 !important; }
.sv-plan-bulk #box2, .sv-plan-bulk #box3, .sv-plan-bulk #box4 { width: auto; min-width: 0; float: none; }

.sv-page.sv-plan-bulk #box1 > .css2 { grid-column: 2 !important; grid-row: 1 !important; }

/* Dense service bulk-add rows while retaining readable text and warning backgrounds. */
.sv-page.sv-plan-bulk .css2 { padding-top: 3px; padding-bottom: 12px; }
.sv-page.sv-plan-bulk .css2 table { border-collapse: collapse; margin-top: 0; margin-bottom: 4px; }
.sv-page.sv-plan-bulk .css2 table td,
.sv-page.sv-plan-bulk .css2 table th { padding: 2px 6px; line-height: 1.35; font-size: 13px; }
.sv-page.sv-plan-bulk .css2 caption { padding: 2px 0; line-height: 1.4; }
.sv-page.sv-plan-bulk .css2 .strong1 { margin: 4px 0; padding: 4px 8px; }
.sv-page.sv-plan-bulk .css2 #box2,
.sv-page.sv-plan-bulk .css2 #box3,
.sv-page.sv-plan-bulk .css2 #box4 { margin-top: 0; margin-bottom: 6px; }

.sv-page.sv-plan-bulk .css2 table.sv-bulk-office-status { width: 100%; table-layout: auto; }
.sv-page.sv-plan-bulk .css2 table.sv-bulk-office-status th, .sv-page.sv-plan-bulk .css2 table.sv-bulk-office-status td { padding: 1px 5px; line-height: 1.25; font-size: 12px; }
.sv-page.sv-plan-bulk .css2 table.sv-bulk-office-status td { white-space: nowrap; }

.sv-page.sv-desktop .css2 table.sv-insurance-output th, .sv-page.sv-desktop .css2 table.sv-insurance-output td { padding: 4px; }
.sv-page.sv-desktop .css2 table.sv-insurance-output td:nth-child(5n+2) { min-width: 85px; }
.sv-page.sv-desktop .css2 table.sv-insurance-output td:nth-child(5n), .sv-page.sv-desktop .css2 table.sv-insurance-output th:nth-child(5n) { padding: 0 2px; }

.sv-page.sv-desktop .css2 table.sv-service-output-compact { width: max-content; min-width: 0; }
.sv-page.sv-desktop .css2 table.sv-service-output-compact th, .sv-page.sv-desktop .css2 table.sv-service-output-compact td { padding: 4px; }
.sv-page.sv-desktop .css2 table.sv-service-output-compact td:nth-child(4n+3) { min-width: 85px; }

.sv-page.sv-desktop .css2 table.sv-review-status-list { width: max-content; min-width: 0; table-layout: auto; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.sv-page.sv-desktop .css2 table.sv-review-status-list td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 4px 5px; font-size: 13px !important; line-height: 1.4; }
.sv-page.sv-desktop .css2 table.sv-review-status-list td.migiyose { text-align: right; min-width: 55px; }
.sv-page.sv-desktop .css2 table.sv-review-status-list td:nth-child(3) { min-width: 130px; }
.sv-page.sv-desktop .css2 table.sv-review-status-list td:nth-child(17) { min-width: 100px; }

.sv-page.sv-desktop .css2 table.sv-review-users-compact { width: max-content; min-width: 0; }
.sv-page.sv-desktop .css2 table.sv-review-users-compact th, .sv-page.sv-desktop .css2 table.sv-review-users-compact td { padding: 4px; }
.sv-page.sv-desktop .css2 table.sv-review-users-compact td:nth-child(3n+2) { min-width: 85px; }
.sv-page.sv-desktop .css2 table.sv-review-users-compact td:nth-child(3n), .sv-page.sv-desktop .css2 table.sv-review-users-compact th:nth-child(3n) { padding: 0 2px; }

/* Claim comparison: names and unit values stay horizontal; reasons wrap at a useful width. */
.sv-page.sv-desktop .css2 table.sv-claim-unit-differences { width: max-content; min-width: 0; table-layout: auto; font-variant-numeric: tabular-nums; }
.sv-page.sv-desktop .css2 table.sv-claim-unit-differences th,
.sv-page.sv-desktop .css2 table.sv-claim-unit-differences td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 4px 6px; font-size: 13px !important; line-height: 1.4; }
.sv-page.sv-desktop .css2 table.sv-claim-unit-differences td:nth-child(3) { min-width: 100px; }
.sv-page.sv-desktop .css2 table.sv-claim-unit-differences td:nth-child(9) { min-width: 180px; max-width: 240px; white-space: normal; overflow-wrap: anywhere; }
.sv-page.sv-desktop .css2 table.sv-claim-unit-differences td:nth-child(10) { text-align: center; }
.sv-page.sv-desktop .css2 table.sv-claim-unit-differences td:nth-child(11) input { width: 200px; }

body.sv-invoice-personal { display: block; }
.sv-invoice-personal .sv-public-frame { padding: 6px 12px; }
.sv-invoice-personal .box1 { float: none; width: auto; margin: 0 0 6px; padding: 0; border: 0; background: transparent; }
.sv-invoice-personal .box1 > form > div { text-align: left !important; }
.sv-invoice-personal .box1 table { margin: 0; }
.sv-invoice-personal #box2, .sv-invoice-personal #box3, .sv-invoice-personal #box4 { float: none; max-width: 100%; }

.sv-page.sv-desktop .css2 table.sv-invoice-export-users { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2 table.sv-invoice-export-users th, .sv-page.sv-desktop .css2 table.sv-invoice-export-users td { white-space: nowrap; word-break: normal; overflow-wrap: normal; padding: 4px 5px; font-size: 13px !important; line-height: 1.4; }
.sv-page.sv-desktop .css2 table.sv-invoice-export-users td:nth-child(5n+2) { min-width: 90px; }
.sv-page.sv-desktop .css2 table.sv-invoice-export-users td:nth-child(5n+3) { min-width: 60px; }
.sv-page.sv-desktop .css2 table.sv-invoice-export-users td:nth-child(5n+4) { text-align: center; }
.sv-page.sv-desktop .css2 table.sv-invoice-export-users td:nth-child(5n), .sv-page.sv-desktop .css2 table.sv-invoice-export-users th:nth-child(5n) { padding: 0 2px; background: var(--sv-bg); }

.sv-page.sv-desktop .css2 table.sv-uncollected-invoices td { font-size: 12px !important; padding: 2px 4px; line-height: 1.3; }
.sv-page.sv-desktop .css2 table.sv-uncollected-invoices td[align="right"] { min-width: 55px; }

.sv-page.sv-desktop .css2 table.sv-debit-users th,
.sv-page.sv-desktop .css2 table.sv-debit-users td { font-size: 12px !important; padding: 2px 4px; line-height: 1.35; }
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(3),
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(5),
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(7),
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(10),
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(11) { min-width: 0; }
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(6) { min-width: 160px; max-width: 200px; }
.sv-page.sv-desktop .css2 table.sv-debit-users td:nth-child(2) { font-size: 10px !important; }

/* Compact debit recovery results without changing warning colours or values. */
.sv-page.sv-desktop .css2 table.sv-debit-results th,
.sv-page.sv-desktop .css2 table.sv-debit-results td { font-size: 12px !important; padding: 2px 4px; line-height: 1.3; }
.sv-page.sv-desktop .css2 table.sv-debit-results td:nth-child(7n+2) { min-width: 80px; }
.sv-page.sv-desktop .css2 table.sv-debit-results td:nth-child(7n+3),
.sv-page.sv-desktop .css2 table.sv-debit-results td:nth-child(7n+4),
.sv-page.sv-desktop .css2 table.sv-debit-results td:nth-child(7n+5) { min-width: 55px; }
.sv-page.sv-desktop .css2 table.sv-debit-results td:nth-child(7n),
.sv-page.sv-desktop .css2 table.sv-debit-results th:nth-child(7n) { padding: 0 2px; }

.sv-page.sv-desktop .css2.sv-debit-create-compact { font-size: 12px !important; }
.sv-page.sv-desktop .css2.sv-debit-create-compact table.type01 { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2.sv-debit-create-compact th, .sv-page.sv-desktop .css2.sv-debit-create-compact td { padding: 2px 4px; font-size: 12px !important; line-height: 1.3; white-space: nowrap; word-break: normal; overflow-wrap: normal; }
.sv-page.sv-desktop .css2.sv-debit-create-compact .strong1 { padding: 5px 8px; margin: 5px 0; }

.sv-page.sv-desktop .css2.sv-cash-invoice-compact { font-size: 12px !important; }
.sv-page.sv-desktop .css2.sv-cash-invoice-compact table.type01 { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2.sv-cash-invoice-compact th, .sv-page.sv-desktop .css2.sv-cash-invoice-compact td { padding: 2px 4px; font-size: 12px !important; line-height: 1.3; white-space: nowrap; word-break: normal; overflow-wrap: normal; }
.sv-page.sv-desktop .css2.sv-cash-invoice-compact .strong1 { padding: 5px 8px; margin: 5px 0; }

/* Compact invoice bulk creation without changing actions or warning colours. */
.sv-page.sv-desktop .css2.sv-invoice-bulk-compact { font-size: 12px !important; }
.sv-page.sv-desktop .css2.sv-invoice-bulk-compact table.type01 { width: max-content; min-width: 0; table-layout: auto; }
.sv-page.sv-desktop .css2.sv-invoice-bulk-compact th,
.sv-page.sv-desktop .css2.sv-invoice-bulk-compact td { padding: 2px 4px; font-size: 12px !important; line-height: 1.3; }
.sv-page.sv-desktop .css2.sv-invoice-bulk-compact table.sv-invoice-bulk-users td:nth-child(6n+2) { min-width: 80px; }
.sv-page.sv-desktop .css2.sv-invoice-bulk-compact table.sv-invoice-bulk-users td:nth-child(6n+4) { min-width: 90px; }
.sv-page.sv-desktop .css2.sv-invoice-bulk-compact .strong1 { padding: 5px 8px; margin: 5px 0; }

@media (min-width: 701px) {
body.sv-page.sv-desktop .css2.sv-cash-create-compact input[type="text"], body.sv-page.sv-desktop .css2.sv-cash-create-compact select { font-size: 12px; height: 24px; min-height: 24px; padding: 1px 4px; line-height: 20px; }
body.sv-page.sv-desktop .css2.sv-cash-create-compact input[type="submit"], body.sv-page.sv-desktop .css2.sv-cash-create-compact button { font-size: 12px; min-height: 26px; padding: 1px 7px; line-height: 22px; }
}
.sv-page.sv-desktop .css2.sv-cash-create-compact td, .sv-page.sv-desktop .css2.sv-cash-create-compact th { padding: 2px 3px; }
