/* Content-led density: preserve readable text; remove surplus spacing, not scale. */
body .ro-site-content { padding:20px 0; }
body .ro-site-content .btn { white-space:nowrap; font-size:14px!important; line-height:1.5; padding:7px 12px; min-height:36px; }
body .ro-site-content .btn-sm { padding:5px 10px; min-height:32px; }
body .ro-site-content :is(input.form-control,select.form-control,.custom-select) { font-size:15px!important; min-height:38px; padding:7px 10px; }
body .ro-site-content textarea.form-control { font-size:15px!important; line-height:1.6; }
body .ro-site-content label { line-height:1.5; }
body .ro-site-content .form-inline { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; }
body .ro-site-content .form-inline .form-group { display:flex; align-items:center; gap:8px; margin:0!important; min-width:0; }
body .ro-site-content .form-inline label { font-size:14px; white-space:nowrap; margin:0!important; }
body .ro-site-content .form-inline :is(input,select) { font-size:15px!important; min-height:36px; }
body .ro-site-content .form-inline input { width:200px; }
body .ro-site-content .form-inline select { padding:6px 28px 6px 10px; }
body .ro-site-content .form-inline+br { display:none; }
body .ro-site-content .form-inline+br+table { margin-top:14px; }

/* Tables scroll within their own region rather than crushing labels/actions. */
body .ro-site-content .bootstrap-table .table :is(th,td) { padding:8px 10px; font-size:14px; line-height:1.5; vertical-align:middle; }
body .ro-site-content .bootstrap-table .table th .th-inner { padding:3px 16px 3px 2px; line-height:1.5; white-space:nowrap; }
body .ro-site-content .bootstrap-table td .btn { margin:3px; }
body .ro-site-content .fixed-table-body { overscroll-behavior-x:contain; }
body .ro-site-content .fixed-table-toolbar { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:10px; }
body .ro-site-content .fixed-table-toolbar .search { margin:8px 0 10px; width:220px; max-width:100%; }
body .ro-site-content .fixed-table-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 20px; padding:10px 0; }
body .ro-site-content .fixed-table-pagination>div { float:none!important; margin:0!important; }
body .ro-site-content .pagination-detail { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; font-size:14px; }
body .ro-site-content .pagination-info { display:inline; margin:0; line-height:1.5; }
body .ro-site-content .page-list { white-space:nowrap; }
body .ro-site-content .pagination { display:flex; flex-wrap:wrap; gap:6px; margin:0; }
body .ro-site-content .page-link { display:flex; align-items:center; justify-content:center; min-width:36px; height:36px; margin:0!important; padding:5px 9px; border-radius:7px!important; font-size:14px!important; line-height:1; font-variant-numeric:tabular-nums; }
body .ro-site-content .page-item.active .page-link { background:#196982; border-color:#196982; }
body .ro-site-content .page-item.disabled .page-link { background:#f3f6f8; color:#8295a0; }
body .ro-site-content .page-list .btn { min-height:34px; background:#eef6fa; color:#234d68; border:1px solid #bfd5e2; padding:4px 10px; margin:0 4px; }
body .ro-site-content .no-records-found td { padding:24px 12px; text-align:center; color:#637b89; }
body #ro-member-admin .fixed-table-body>table { table-layout:auto; min-width:1200px!important; }
body #ro-member-admin .fixed-table-body>table td:last-child>div { flex-wrap:nowrap; gap:6px; }
body #ro-approval .fixed-table-body>table { table-layout:auto; min-width:1080px; }
body :is(#ro-member-admin,#ro-approval,#ro-income) .card-body { padding:12px 14px!important; }
body #ro-income .form-inline { margin-bottom:12px; }
body #ro-income .bootstrap-table { margin-bottom:0; }

/* Width follows the content; no percentage zoom or miniature text. */
body #ro-news-compact { max-width:960px; margin:12px auto; }
body #ro-profile-compact { max-width:820px; margin:12px auto; }
body #ro-profile-compact .list-group-item { padding:8px 16px; font-size:15px; }
body #ro-profile-compact .list-group-item .col-3 { flex:0 0 150px; max-width:150px; }
body #ro-profile-compact .list-group-item .col-9 { flex:1; max-width:calc(100% - 150px); min-width:0; overflow-wrap:anywhere; }
body #ro-mail-compact { max-width:900px; padding:18px 22px; margin:12px auto; }
body #ro-mail-compact :is(h1,h2) { margin-bottom:12px; }
body #ro-mail-compact textarea { min-height:110px; }
body #ro-upload { max-width:1040px!important; margin:12px auto; }
body #ro-upload .form-control:not(textarea) { min-height:38px; }
body #ro-wish { max-width:1160px!important; margin:12px auto 24px!important; }
body #ro-wish h1 { margin-bottom:14px; }
body #ro-wish .wish-heading time,body #ro-wish .wish-delete { white-space:nowrap; }
body #ro-wish .wish-layout { grid-template-columns:minmax(0,2fr) minmax(300px,1fr); }
body .ro-site-content .banner { margin:0 auto 16px; }
body .ro-site-content .banner>img { display:block; width:100%; max-width:820px; height:auto; object-fit:contain; margin:0 auto; }
body #ro-news-compact .banner { margin-bottom:12px; }
body #ro-news-compact .table :is(th,td) { font-size:15px!important; }
body .ro-guide-heading { margin:8px 0 18px; }
body .ro-guide-panel { padding:24px 28px; }
body .ro-guide-section-title { margin-bottom:18px; padding-bottom:12px; }
body #ro-announcement header { padding:18px 24px; }
body #ro-announcement .announcement-content { padding:20px 24px; }
body .inbox-card { padding:14px 16px; }
body .inbox-card-head { gap:12px; }
body .news-editor .modal-header,body .news-editor .modal-footer { padding:12px 18px; }
body .modal-footer .btn { margin:0; }
body .modal-content { max-height:calc(100dvh - 32px); }
body .modal-body { overflow-y:auto; min-height:0; }
body .modal-body img { max-width:100%; object-fit:contain; }
body footer { margin-top:24px; padding:18px 0; }
body footer .under-footer { margin-top:14px; padding-top:14px; }
body footer .col-lg-1 { padding:5px 12px; }
body footer a { white-space:nowrap; }
body .ro-site-content .fixed-table-pagination>.pagination { width:auto!important; margin-left:auto!important; }
body #ro-news-compact .fixed-table-toolbar .search { margin-top:0; }
body #ro-approval .fixed-table-body>table td:last-child { white-space:nowrap!important; }
body #ro-approval .fixed-table-body .th-inner { white-space:nowrap; padding:4px 18px 4px 4px; }
body #ro-approval .fixed-table-body>table>thead>tr>th { width:auto; }
body #ro-approval th[data-field="EquipmentName"] { min-width:180px; }
body #ro-approval th[data-field="Actions"] { min-width:225px; }
body #damage-fonts .df-top { grid-template-columns:1fr; gap:16px; }
body #damage-fonts .df-top .df-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:0; }
body #damage-fonts .df-hero-copy { padding:28px; align-self:center; }
body #damage-fonts .df-market-live { margin:0; border-radius:0; }
body #damage-fonts .df-promotion { padding:18px 24px; min-height:0; border-radius:14px; }
body #damage-fonts .df-promotion h2 { font-size:22px; }
body #damage-fonts .df-promotion .df-eyebrow { margin-bottom:6px; }
/* Remove transparent margins in the display only; keep the original QR artwork. */
body :is(.ro-status-art,#ro-registration-complete) { position:relative; display:block; width:min(640px,100%,96dvh); aspect-ratio:1185/960; min-height:0; margin:12px auto; padding:0; overflow:hidden; }
body :is(.ro-status-art,#ro-registration-complete)>img { position:absolute; width:162.026%!important; height:auto; max-width:none; max-height:none; left:-40.506%; top:-6.25%; }
body .ro-status-art:has(img[src$="line-contact-banner.png"]) { aspect-ratio:1120/960; }
body .ro-status-art>img[src$="line-contact-banner.png"] { width:113.125%!important; left:-13.661%; top:-2.604%; }
body #ro-order-admin .admin-metrics>div { padding:12px 16px; }
body #ro-order-admin .admin-metrics strong { margin-top:4px; }
body #ro-order-admin .admin-heading { margin-bottom:14px; }
body #ro-order-admin .order-due { padding:3px 8px; font-size:14px; }
body #ro-order-admin .order-due-date { margin-top:2px; font-size:13px; }
body #font-batch { padding-top:16px; padding-bottom:20px; }
body #font-batch .fi-drop { padding:18px; }
body #font-batch .fi-toolbar { margin:16px 0; gap:12px; flex-wrap:wrap; }
body #font-batch :is(#fi-status,#fi-errors):empty { display:none; }
body:has(#loginform) #Registform .register-agreements { padding:12px 16px!important; margin:10px 0 12px!important; }
body:has(#loginform) #Registform .consent-row { padding:5px 0; }
body:has(#loginform) #Registform .register-help-row { margin:8px 0; }
body:has(#loginform) #Registform .register-heading { margin-bottom:14px; }

@media(max-width:900px) {
 body #damage-fonts .df-top .df-hero { grid-template-columns:1fr; }
 body #ro-wish .wish-layout { grid-template-columns:1fr; }
 body #ro-wish #wishComposer { position:static; }
 body .ro-site-content .form-inline { align-items:flex-end; }
 body .ro-site-content .form-inline .form-group { flex-wrap:wrap; }
}
@media(max-width:575px) {
 body .ro-site-content { width:100%; padding:14px 12px; }
 body .header-area>.container>.row { margin-left:0; margin-right:0; }
 body .ro-site-content .form-inline .form-group { flex:1 1 100%; align-items:stretch; }
 body .ro-site-content .form-inline .form-group :is(input,select) { flex:1; width:auto; min-width:0; }
 body .ro-site-content .fixed-table-toolbar .search { width:100%; }
 body #ro-news-compact .fixed-table-toolbar .search { width:100%; margin-bottom:10px; }
 body .ro-site-content .fixed-table-pagination { gap:12px; }
 body .ro-site-content .pagination { justify-content:flex-start; }
 body #ro-profile-compact .list-group-item .col-3 { flex-basis:112px; max-width:112px; padding-right:4px; }
 body #ro-profile-compact .list-group-item .col-9 { max-width:calc(100% - 112px); }
 body #ro-mail-compact { width:100%; padding:16px; }
 body #ro-wish { width:100%; }
 body #ro-wish .wish-heading { gap:6px; }
 body #ro-wish .wish-heading time { margin-left:0; }
 body #ro-wish .wish-delete { margin-left:auto; }
 body .news-editor form { grid-template-columns:minmax(0,1fr); }
 body .news-editor .form-group:nth-child(3) { grid-column:1; grid-row:auto; }
 body .ro-guide-panel { padding:18px 16px; }
 body footer .col-lg-1 { padding:5px 10px; }
}
