﻿/* 普隆德拉晴空：共用色彩、文字、表格與操作元件。保留功能狀態色。 */
:root { --ro-ink:#233d53; --ro-blue:#166183; --ro-line:#bfd5e2; --ro-soft:#e5f2f8; --ro-bg:#eff6fa; }
body { background:var(--ro-bg); color:var(--ro-ink); font-family:"Microsoft JhengHei","Noto Sans TC",sans-serif; font-size:18px; line-height:1.75; font-weight:600; }
body p, body label, body td, body li, body .form-text { font-size:18px; line-height:1.75; }
body small, body .small, body .text-muted, body .badge, body .pagination-detail { font-size:16px; }
body h1, body h2, body h3, body h4, body h5, body h6 { color:var(--ro-ink); font-family:"Microsoft JhengHei","Noto Sans TC",sans-serif; font-weight:800; line-height:1.5; }
body h1 { font-size:32px; } body h2 { font-size:27px; } body h3 { font-size:24px; } body h4 { font-size:22px; } body h5, body h6 { font-size:20px; }
body a { color:var(--ro-blue); } body a:hover { color:#0c4463; }
body .text-muted { color:#536a7c!important; }
body .form-control, body .custom-select, body input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]), body select, body textarea { font-family:inherit; font-size:18px!important; font-weight:600; line-height:1.5; color:var(--ro-ink); border:1px solid var(--ro-line); border-radius:8px; background-color:#fff; max-width:100%; }
body .form-control:not(textarea), body .custom-select { height:auto; min-height:46px; }
body textarea.form-control { min-height:120px; }
body input::placeholder, body textarea::placeholder { color:#607587; opacity:1; }
body input[type=checkbox], body input[type=radio] { width:18px; height:18px; accent-color:var(--ro-blue); vertical-align:middle; }
body .btn, body .btn-sm, body .page-link { font-size:17px!important; font-weight:700; line-height:1.5; border-radius:8px; padding:9px 15px; white-space:normal; }
body .btn-primary, body .btn-info { background:#166183!important; border-color:#166183!important; color:#fff!important; }
body .btn-primary:hover, body .btn-info:hover { background:#104b68!important; }
body .btn-outline-primary, body .btn-outline-info { color:#166183; border-color:#166183; }
body .btn-outline-primary:hover, body .btn-outline-info:hover { background:#166183; color:#fff; }
body .btn-secondary { background:#526a7b; border-color:#526a7b; }
body .btn:disabled { cursor:not-allowed; }
body a:focus-visible, body button:focus-visible, body input:focus-visible, body select:focus-visible, body textarea:focus-visible { outline:3px solid #3689bc!important; outline-offset:3px; }
body .card, body .modal-content { background:#fff; border:1px solid var(--ro-line); border-radius:14px; box-shadow:0 6px 24px #214b6810; }
body .card-header, body .modal-header { background:var(--ro-soft); color:var(--ro-ink); border-bottom:1px solid var(--ro-line); }
body .modal-title { font-size:23px; } body .modal-header .close { color:#233d53; font-size:28px; opacity:1; }
body .modal-footer { border-color:var(--ro-line); flex-wrap:wrap; gap:8px; }
body .table { background:#fff; color:var(--ro-ink); }
body .table th, body .table td { border-color:#d8e5ed; padding:13px 14px; vertical-align:middle; font-size:17px; line-height:1.65; }
body .table thead th, body .table .thead-dark th, body .table .thead-light th { background:#e0eef6!important; color:#233d53!important; border-color:#bfd5e2; font-size:17px; font-weight:800; }
body .fixed-table-container { border-color:var(--ro-line); border-radius:10px; }
body .fixed-table-body { overflow:auto; }
body .table-hover tbody tr:hover { background-color:#eff7fb; }
body .page-item.active .page-link { background:#166183; border-color:#166183; }
body .page-link { color:#166183; } body .form-inline { row-gap:12px; }
body .header-area { background:#fff; border-bottom:1px solid var(--ro-line); box-shadow:0 3px 16px #214b6810; }
body .header-area .main-nav .nav li a { color:#234d68; font-size:18px!important; font-weight:700; letter-spacing:0; }
body .header-area .main-nav .nav li.submenu ul { width:240px; background:#fff; border:1px solid var(--ro-line); border-radius:10px; }
body .header-area .main-nav .nav li.submenu ul li a { height:auto; line-height:1.5; padding:12px 18px; white-space:normal; background:#fff; }
body .header-area .main-nav .nav li.submenu ul li a:hover { background:#e5f2f8; }
body .ro-site-content { width:94%; max-width:1500px; margin:0 auto; padding:28px 0; min-height:50vh; }
body footer { background:#e0eef6; color:#233d53; padding:30px 0; border-top:1px solid var(--ro-line); }
body footer a, body footer a[style] { color:#234d68!important; font-size:17px; font-weight:700; }
body footer .under-footer { border-color:var(--ro-line); }
body footer .col-lg-1 { flex:0 0 auto; max-width:none; padding:8px 16px; }
body footer .col-lg-4 { display:none; } body footer .row { justify-content:center; }
body .bg-color-w, body .bg-color, body .li-color { background:#fff; border:1px solid var(--ro-line); border-radius:14px; }
body .btn-more { background:#166183; border-color:#166183; color:#fff; font-size:17px; }
body .section-heading h2 { font-size:28px; } body .section-heading span { font-size:18px; color:#536a7c; }
body #ro-catalog, body #ro-detail, body #ro-upload, body #ro-order-admin { --ink:#233d53; --gold:#166183; --line:#bfd5e2; --muted:#536a7c; font-family:"Microsoft JhengHei","Noto Sans TC",sans-serif; font-weight:600; }
body #ro-catalog h1, body #ro-upload h1, body #ro-detail .detail-header h1 { font-family:inherit; letter-spacing:1px; }
body #ro-catalog .catalog-columns { background:#e0eef6; color:#233d53; font-weight:800; }
body #ro-catalog .catalog-filters, body #ro-catalog .catalog-register, body #ro-detail .gallery-panel, body #ro-detail .information-panel, body #ro-upload .equipment-block { border-radius:14px; }
body #ro-catalog .catalog-price { font-family:inherit; color:#183d59; font-size:23px; font-weight:800; }
body #ro-catalog .equipment-title { font-size:20px; }
body #ro-catalog .catalog-columns, body #ro-catalog .equipment-entry { grid-template-columns:90px minmax(0,1fr) 125px 125px 120px 94px; gap:14px; }
body #ro-catalog .catalog-server, body #ro-detail .server { background:#166183; color:#fff; border-color:#166183; }
body #ro-detail .fixed-height-desc { color:#1456a0; font-size:18px; font-weight:700; }
body #ro-detail .price-tag .text-danger { color:#183d59!important; }
body #ro-detail .line-through .text-danger { color:#536a7c!important; }
body #ro-detail #checkOut, body #ro-catalog .catalog-button-primary, body #ro-catalog .catalog-page[aria-current=page] { background:#166183; color:#fff; border-color:#166183; }
body #ro-detail #addCart { background:#e5f2f8; color:#166183; border-color:#9dbfd3; }
body #ro-detail #checkOut:hover:not(:disabled) { background:#104b68; }
body #ro-detail #addCart:hover:not(:disabled) { background:#d3e8f3; }
body #ro-order-admin .modal-header, body #ro-order-admin .thead-dark th { background:#e0eef6; color:#233d53; }
body #ro-order-admin .modal-header .close { color:#233d53; }
body #ro-order-admin .detail-view th { background:#e0eef6!important; color:#233d53!important; }
body #ro-order-admin .order-due, body #ro-order-admin .due-tag { font-size:17px; font-weight:800; }
body #ro-order-admin .order-due-date, body #ro-order-admin .order-due-normal { font-size:16px; }
body #ro-upload .image-slot { background:#f3f9fc; border-color:#9fbfd2; }
body #ro-upload .image-file { width:100%; min-width:0; font-size:16px!important; }
/* 獨立登入與驗證頁也使用相同語言，保留既有表單欄位與切換事件。 */
body:has(#loginform), body:has(.code-container) { background:#eff6fa; margin:0; padding:24px; height:auto; min-height:100vh; overflow:auto; }
body:has(#loginform) #container { position:relative; width:100%; max-width:1200px; margin:0 auto; box-shadow:0 8px 28px #214b6815; border:1px solid #bfd5e2; border-radius:16px; overflow:hidden; }
body:has(#loginform) .form-container { position:relative; height:auto; min-height:520px; width:60%; }
body:has(#loginform) .sign-up-container { display:none; }
body:has(#loginform) #container.right-panel-active .sign-up-container { display:block; transform:none; opacity:1; }
body:has(#loginform) #container.right-panel-active .sign-in-container { display:none; }
body:has(#loginform) .overlay-container { left:60%; width:40%; }
body:has(#loginform) #container.right-panel-active .overlay-container { transform:none; }
body:has(#loginform) form { padding:28px; height:auto; min-height:520px; background:#fff; }
body:has(#loginform) .inside { width:100%; }
body:has(#loginform) p, body:has(#loginform) span, body:has(#loginform) a, body:has(#loginform) label, body:has(#loginform) legend { font-size:18px; font-weight:600; line-height:1.7; }
body:has(#loginform) button, body:has(#loginform) #signIn { background:#166183!important; border-color:#166183!important; color:#fff!important; font-size:18px; font-weight:700; border-radius:8px; }
body:has(#loginform) .overlay { background:#e5f2f8; color:#233d53; }
body:has(.code-container) .container { width:100%; max-width:760px; min-width:0; border:1px solid #bfd5e2; padding:30px 20px; border-radius:16px; }
body .code-container { display:flex; justify-content:center; gap:8px; }
body .code-container input.code { min-width:0; width:calc((100% - 40px)/6); max-width:90px; height:90px; margin:0; font-size:36px!important; font-weight:700; }
@media(max-width:1100px) { body #ro-catalog .catalog-columns { display:none; } body #ro-catalog .equipment-entry { grid-template-columns:90px minmax(0,1fr) 125px; } body #ro-catalog .mobile-label { display:block; font-size:16px; } body #ro-catalog .catalog-price { white-space:normal; } }
@media(max-width:767px) { body .ro-site-content { width:96%; padding-top:18px; } body .header-area .main-nav .nav li.submenu ul { width:100%; } body #ro-catalog .equipment-entry { grid-template-columns:1fr 1fr; } body #ro-catalog .equipment-name { grid-column:1/-1; } body #ro-catalog .catalog-server { grid-column:1/-1; } body .modal-dialog { margin:12px; max-width:calc(100% - 24px); } body:has(#loginform) { padding:12px; } body:has(#loginform) .form-container { width:100%; } body:has(#loginform) .overlay-container { position:relative; left:0; width:100%; height:110px; } body:has(#loginform) .overlay-panel img { display:none; } body:has(#loginform) form { padding:22px 16px; } }
@media(prefers-reduced-motion:reduce) { body .header-area, body:has(#loginform) .overlay, body:has(#loginform) .overlay-panel, body:has(#loginform) .form-container { transition:none; animation:none; } }
body:has(#loginform) .inside { height:auto; overflow:visible; }
body footer .col-lg-1 { width:auto; }
body #ro-order-admin .form-inline .form-group label { width:auto!important; min-width:120px; text-align:left!important; }
body #ro-order-admin .form-inline .form-group { flex-wrap:wrap; gap:8px; }
body #ro-order-admin .form-inline select { min-width:140px; }
body #ro-catalog .catalog-intro, body #ro-detail .detail-breadcrumb, body #ro-upload .upload-intro { font-size:18px; }
/* 第二輪：閱讀層級、緊湊表單與管理清單 */
body .card, body .modal-content, body #ro-catalog .catalog-filters, body #ro-catalog .catalog-register, body #ro-detail .gallery-panel, body #ro-detail .information-panel, body #ro-detail .price-plan, body #ro-upload .equipment-block { border-width:2px; border-color:#80abc3; }
body #ro-detail .price-plan h3, body #ro-detail .price-tag, body #ro-detail .price-tag .text-danger, body #ro-detail .line-through, body #ro-detail .line-through .text-danger { font-size:20px!important; color:#233d53!important; font-weight:700; }
body #ro-detail .line-through, body #ro-detail .line-through .text-danger { text-decoration-line:line-through; text-decoration-thickness:2px; }
body #ro-detail .price-plan h3 { margin-bottom:12px; }
body #ro-detail .price-tag .text-danger { display:inline; }
body #ro-detail .description-panel, body #ro-detail .rental-panel { border-top-width:2px; }
body [data-server="波利"] { background:#166183!important; color:#fff!important; border-color:#166183!important; }
body [data-server="查爾斯"] { background:#69528e!important; color:#fff!important; border-color:#69528e!important; }
body #ro-upload { padding:16px; } body #ro-upload h1 { font-size:25px; margin:4px 0; }
body #ro-upload .upload-intro { margin-bottom:8px; font-size:16px; }
body #ro-upload .upload-toolbar { margin:10px 0; } body #ro-upload .equipment-block { padding:16px; }
body #ro-upload .block-heading { margin-bottom:10px; } body #ro-upload .upload-grid { gap:10px 16px; }
body #ro-upload label { margin-bottom:3px; } body #ro-upload .help { font-size:15px; margin:3px 0; line-height:1.5; }
body #ro-upload .form-control:not(textarea) { min-height:40px; padding:6px 10px; }
body #ro-upload textarea.form-control { min-height:80px; height:80px; }
body #ro-upload .image-slot { padding:9px; } body #ro-upload .image-preview { max-height:100px; }
body #ro-upload .image-slot .btn { padding:4px 8px; font-size:15px!important; }
body #ro-upload .image-status { font-size:15px; }
@media(min-width:1000px) { body #ro-upload .upload-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } body #ro-upload .upload-grid>label:first-child { grid-column:span 2; } body #ro-upload .upload-grid>label:nth-child(5), body #ro-upload .upload-grid>label:nth-child(6) { grid-column:span 2; } }
body #ro-announcement { max-width:1100px; margin:0 auto; }
body #ro-announcement nav { margin:4px 0 20px; }
body #ro-announcement header { background:#e1eff7; border:2px solid #80abc3; border-radius:14px 14px 0 0; padding:28px 32px; }
body #ro-announcement header>span { font-size:17px; color:#166183; font-weight:700; }
body #ro-announcement h1 { margin:8px 0 0; font-size:34px; overflow-wrap:anywhere; }
body #ro-announcement .announcement-content { background:#fff; border:2px solid #80abc3; border-top:0; border-radius:0 0 14px 14px; padding:30px 32px; font-size:18px; line-height:1.9; overflow-wrap:anywhere; }
body #ro-announcement .announcement-content img, body #ro-announcement .announcement-content video { max-width:100%!important; height:auto!important; }
body #ro-announcement .announcement-content iframe { max-width:100%; }
body #ro-home .home-section { border:2px solid #80abc3; border-radius:14px; margin-bottom:24px; overflow:hidden; }
body #ro-home .card-header { background:#e1eff7; border-bottom:2px solid #80abc3; border-radius:0; }
body #ro-home .card-header h2 { font-size:26px; margin:0; color:#174e6c; }
body #ro-home #AnnouncementDIV { display:block; margin:0; }
body #ro-home .promo-card { width:100%; max-width:none; border:0; border-bottom:1px solid #b8d1df; border-radius:0; background:#fff; box-shadow:none; padding:16px 0; margin:0; }
body #ro-home .promo-card a { display:flex; gap:24px; align-items:center; }
body #ro-home .promo-date { font-size:17px; color:#316382; margin:0; min-width:120px; }
body #ro-home .promo-title { font-size:21px; color:#233d53; font-weight:700; }
body #ro-home #SaleEquipmentList { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body #ro-home .home-product { background:#fff; border:2px solid #80abc3; border-radius:12px; overflow:hidden; }
body #ro-home .home-product-image { display:flex; align-items:center; justify-content:center; background:#edf6fa; height:190px; border-bottom:2px solid #80abc3; }
body #ro-home .home-product-image img { width:100%; height:100%; object-fit:contain; }
body #ro-home .home-product-body { padding:16px; }
body #ro-home .home-product h3 { font-size:21px; margin:14px 0; overflow-wrap:anywhere; }
body #ro-home .home-product-tags { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
body #ro-home .home-server { padding:3px 10px; border-radius:5px; font-size:16px; }
body #ro-home .home-status { font-size:16px; color:#25633f; background:#e7f3ec; border:1px solid #8fbea0; border-radius:18px; padding:3px 9px; }
body #ro-home .home-rents { border-top:1px solid #b8d1df; border-bottom:1px solid #b8d1df; padding:8px 0; }
body #ro-home .home-rents>div { display:flex; justify-content:space-between; gap:12px; padding:7px 0; }
body #ro-home .home-rents span, body #ro-home .home-rents strong { color:#233d53; font-size:20px; font-weight:700; }
body #ro-home .home-product-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; }
body #ro-home .home-product-actions>* { padding:8px 10px; border:2px solid #8eb3c8; border-radius:7px; font-size:16px; background:#fff; color:#166183; font-weight:700; }
body #ro-home .home-product-actions>a { background:#166183; color:#fff; border-color:#166183; }
body #ro-home .float-end { display:flow-root; margin-top:14px; }
body #ro-wish { max-width:1200px; }
body #ro-wish .banner { margin:0; } body #ro-wish .banner h1 { font-size:30px; }
body #ro-wish #WishList { gap:18px; padding:18px; background:#eff6fa; }
body #ro-wish #WishList>.list-group-item { width:100%; margin:0; border:2px solid #397da4; border-left-width:6px; border-radius:12px!important; background:#fff; padding:0 20px 16px; box-shadow:0 4px 0 #d1e3ed; }
body #ro-wish #WishList>.list-group-item:has([data-server="查爾斯"]) { border-left-color:#69528e; }
body #ro-wish .wish-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px; background:#e0eef7; padding:14px 20px; margin:0 -20px 16px; border-bottom:1px solid #accbdc; }
body #ro-wish .wish-heading>span:last-child { font-size:16px; }
body #ro-wish .wish-server { font-size:16px; padding:3px 10px; border-radius:5px; }
body #ro-wish .wish-title { font-size:21px; margin:8px 0; }
body #ro-wish .wish-title+br { display:none; }
body #ro-wish .wish-description { font-size:18px; line-height:1.8; white-space:pre-wrap; }
body #ro-wish .wish-heading .btn-danger { color:#a12f42; border:2px solid #bb6270; background:#fff; padding:5px 12px; font-size:16px!important; }
body #ro-wish #messageForm { background:#fff; border:2px solid #80abc3; border-radius:12px; padding:18px; }
body #ro-wish #messageForm button { background:#166183; border:2px solid #166183; border-radius:8px; color:#fff; padding:9px 16px; }
body #ro-income { max-width:1440px; margin:auto; } body #ro-income>.container { max-width:none; }
body #ro-income .form-inline { gap:18px 24px; margin:6px 0 14px; }
body #ro-income .form-group { display:flex; align-items:center; gap:10px; margin:0!important; }
body #ro-income select, body #ro-income label, body #ro-income .btn { font-size:18px!important; font-weight:700; margin:0; }
body #ro-income select { min-height:44px; padding:7px 12px; }
body #ro-income .fixed-table-pagination { display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; padding:14px; }
body #ro-income .pagination-detail { line-height:2.4; } body #ro-income td, body #ro-income th { padding:15px 18px; }
body:has(#ro-member-admin) .ro-site-content, body:has(#ro-approval) .ro-site-content { max-width:none; width:98%; }
body #ro-approval>.container { max-width:none; }
body #ro-approval table, body #ro-equipment-manage table { width:max-content!important; min-width:100%; table-layout:auto; }
body #ro-approval th, body #ro-approval td, body #ro-equipment-manage th, body #ro-equipment-manage td { white-space:nowrap; }
body #ro-approval .btn, body #ro-equipment-manage .btn { white-space:nowrap; }
body #ro-member-admin .fixed-table-body>table { table-layout:fixed; width:100%!important; min-width:0!important; }
body #ro-member-admin .fixed-table-body>table>thead>tr>th, body #ro-member-admin .fixed-table-body>table>tbody>tr>td { font-size:13px!important; line-height:1.45; padding:7px 4px; overflow-wrap:anywhere; white-space:normal; }
body #ro-member-admin .fixed-table-body>table .th-inner { padding:8px 4px; font-size:13px; white-space:normal; }
body #ro-member-admin .fixed-table-body>table .btn { font-size:13px!important; padding:5px 6px; white-space:nowrap; }
body #ro-member-admin .fixed-table-body>table th[data-field="Email"] { width:12%; }
body #ro-member-admin .fixed-table-body>table th[data-field="Actions"] { width:10%; }
body #ro-member-admin .fixed-table-body>table th[data-field="CreateDateStr"] { width:8%; }
body #ro-member-admin .fixed-table-body>table th[data-field="MemberID"] { width:4%; }
@media(max-width:1000px) { body #ro-home #SaleEquipmentList { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { body #ro-home #SaleEquipmentList { grid-template-columns:1fr; } body #ro-home .promo-card a { display:block; } body #ro-announcement header, body #ro-announcement .announcement-content { padding:20px 16px; } body #ro-announcement h1 { font-size:28px; } body #ro-wish .wish-heading>span:last-child { width:100%; margin:0!important; } body #ro-home .br-radius>.col-6 { flex:0 0 100%; max-width:100%; } }
body:has(#ro-equipment-manage) .ro-site-content { max-width:none; width:98%; } body #ro-equipment-manage>.container { max-width:none; }
body #ro-member-admin .fixed-table-body>table .th-inner { padding:8px 12px 8px 3px!important; font-size:12px; white-space:nowrap; }
body #ro-member-admin .fixed-table-body>table th[data-field="MemberID"] { width:5%; }
body #ro-member-admin .fixed-table-body>table th[data-field="Actions"] { width:11%; }
@media(min-width:1000px) { body #ro-upload .upload-grid>label:nth-child(5), body #ro-upload .upload-grid>label:nth-child(6) { grid-column:span 1; } body #ro-upload .upload-grid>div:nth-child(7) { grid-column:span 2; } }
body #ro-home .card-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
body #ro-home .home-all-sale { font-size:17px; font-weight:700; }
body #ro-home .home-status[data-status="出租中"] { color:#5f4b82; background:#f0eaf7; border-color:#b9a6ce; }
body #ro-member-admin .fixed-table-body>table .btn { margin:2px 0; }
/* 第三輪：依閱讀回饋收斂間距與尺寸 */
body:has(#loginform) { display:flex; flex-direction:column; justify-content:center; min-height:100dvh; }
body:has(#loginform) #container { flex:none; }
body #ro-home>.row:first-child { margin-bottom:28px; }
body #ro-home .card-header:has(h2) { border-bottom-width:2px; }
body #ro-home .home-section:nth-child(1) h2 { color:#166183; }
body #ro-home>.row:nth-child(3) .card-header { background:#edf1fb; }
body #ro-home>.row:nth-child(3) .card-header h2 { color:#5b4a87; }
body #ro-home .br-radius>.col-6:first-child .card-header { background:#e6f3ee; }
body #ro-home .br-radius>.col-6:first-child .card-header h2 { color:#27664c; }
body #ro-home .br-radius>.col-6:nth-child(2) .card-header { background:#fff1df; }
body #ro-home .br-radius>.col-6:nth-child(2) .card-header h2 { color:#86551d; }
body #ro-home .home-quick-links { display:grid; grid-template-columns:1fr 1fr; gap:20px; width:100%; padding:0 15px; margin-top:28px; }
body #ro-home .home-help-link, body #ro-home .home-rental-links { border:2px solid #80abc3; border-radius:14px; background:#fff; min-height:260px; overflow:hidden; }
body #ro-home .home-help-link { display:flex; flex-direction:column; justify-content:center; padding:26px; }
body #ro-home .home-rental-links { display:grid; grid-template-rows:1fr 1fr; }
body #ro-home .home-rental-links>a { padding:18px 26px; background:#f4f9fc; }
body #ro-home .home-rental-links>a+a { border-top:2px solid #80abc3; background:#fff; }
body #ro-home .home-quick-links h2 { font-size:25px; margin:5px 0; color:#174e6c; }
body #ro-home .home-quick-links span { font-size:16px; color:#496b80; }
body #ro-home .home-quick-links strong { color:#166183; font-size:18px; }
body #ro-home .home-quick-links a:hover { background:#e5f2f8; text-decoration:none; }
body:has(#ro-equipment-manage) .ro-site-content, body:has(#ro-approval) .ro-site-content { width:96%; max-width:1440px; }
body #ro-equipment-manage td, body #ro-equipment-manage th, body #ro-approval td, body #ro-approval th, body #ro-income td, body #ro-income th { text-align:center!important; vertical-align:middle!important; font-size:15px; padding:8px 10px; line-height:1.45; }
body #ro-equipment-manage .th-inner, body #ro-approval .th-inner, body #ro-income .th-inner { padding:8px 18px 8px 8px; font-size:15px; }
body #ro-equipment-manage .btn, body #ro-approval .btn { font-size:14px!important; padding:6px 10px; }
body #ro-income { max-width:1200px; }
body #ro-income .form-inline { margin:0; gap:12px 20px; }
body #ro-income .card-body { padding:16px 20px; }
body #ro-income .fixed-table-pagination { padding:10px 14px; }
body #incomeTotals { background:#e5f2f8; border-top:2px solid #80abc3; padding:12px 18px; font-size:18px; font-weight:700; color:#233d53; text-align:center; }
body #ro-detail .line-through, body #ro-detail .line-through .text-danger { color:#70777e!important; }
body #ro-detail .detail-breadcrumb a { display:inline-flex; align-items:center; padding:10px 16px; background:#e0eff7; border:2px solid #4b89ab; border-radius:8px; color:#174e6c; font-weight:800; text-decoration:none; }
body #ro-detail .detail-breadcrumb a:hover { background:#cfe6f2; }
@media(max-width:650px) { body #ro-home .home-quick-links { grid-template-columns:1fr; } body #ro-home .home-help-link, body #ro-home .home-rental-links { min-height:240px; } }
/* 第四輪：註冊多欄、審核欄寬、公告按鈕與公會裝飾 */
body:has(#loginform) #container.right-panel-active { max-width:1380px; }
body:has(#loginform) #container.right-panel-active .sign-up-container { width:100%; }
body:has(#loginform) #container.right-panel-active .overlay-container { display:none; }
body:has(#loginform) #Registform { padding:16px 22px; min-height:0; }
body:has(#loginform) #Registform .inside { display:block; }
body:has(#loginform) #Registform .register-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; }
body:has(#loginform) #Registform h1 { font-size:27px; }
body:has(#loginform) #Registform .register-back { margin:0; padding:6px 12px; font-size:16px; }
body:has(#loginform) #Registform .register-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px 14px; }
body:has(#loginform) #Registform .register-field { display:flex; flex-direction:column; float:none; text-align:left; font-size:16px; margin:0; gap:3px; }
body:has(#loginform) #Registform .register-field input { width:100%; margin:0; padding:7px 9px; height:38px; font-size:16px!important; }
body:has(#loginform) #Registform .register-uploads { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:14px 0 10px; }
body:has(#loginform) #Registform fieldset { margin:0; min-width:0; border:1px solid #80abc3; border-radius:8px; padding:8px; text-align:left; }
body:has(#loginform) #Registform legend, body:has(#loginform) #Registform legend a { width:auto; font-size:14px; line-height:1.45; margin:0; }
body:has(#loginform) #Registform input[type=file] { width:100%; padding:5px; margin:5px 0 0; font-size:14px!important; }
body:has(#loginform) #Registform fieldset img { max-height:42px!important; max-width:100%; object-fit:contain; margin-top:4px; }
body:has(#loginform) #Registform .register-agreements ul { padding:0; margin:0; }
body:has(#loginform) #Registform .register-agreements li, body:has(#loginform) #Registform .register-agreements label, body:has(#loginform) #Registform .register-agreements a { font-size:15px; line-height:1.55; margin:0; }
body:has(#loginform) #Registform .register-agreements .check { margin:0 8px 0 0; padding:0; width:17px; height:17px; }
body:has(#loginform) #Registform button[type=submit] { margin:10px 0 0; padding:7px 28px; font-size:17px; }
body:has(#ro-approval) .ro-site-content { max-width:none; width:99%; }
body #ro-approval>.container-fluid { padding:0 8px; }
body #ro-approval .fixed-table-body>table { width:100%!important; min-width:0; table-layout:fixed; }
body #ro-approval .fixed-table-body>table>thead>tr>th, body #ro-approval .fixed-table-body>table>tbody>tr>td { padding:7px 5px; font-size:14px; white-space:normal; overflow-wrap:anywhere; }
body #ro-approval .fixed-table-body .th-inner { padding:8px 13px 8px 3px; white-space:normal; font-size:14px; }
body #ro-approval .fixed-table-body .btn { padding:6px 8px; font-size:13px!important; margin:2px; white-space:nowrap; }
body #ro-approval th[data-field="EquipmentID"] { width:6%; }
body #ro-approval th[data-field="EquipmentName"] { width:16%; }
body #ro-approval th[data-field="Actions"] { width:15%; }
body #ro-approval th[data-field="CreateDateStr"] { width:13%; }
body #ro-announcement-admin td .btn+.btn { margin-left:10px; }
body #ro-announcement-admin td .btn { margin-top:3px; margin-bottom:3px; }
/* Decorative artwork is background-only and cannot intercept clicks. */
body #ro-home .home-decor-title { display:flex; align-items:center; gap:10px; }
body #ro-home .home-mini-icon { display:inline-block; width:38px; height:34px; background:url('/assets/images/ro-wing-crest.svg') center/contain no-repeat; flex:none; }
body #ro-home .decor-news .home-mini-icon, body #ro-home .decor-wish .home-mini-icon { background-image:url('/assets/images/ro-poring.svg'); }
body #ro-home .card-header { position:relative; isolation:isolate; }
body #ro-home .card-header::after { content:""; position:absolute; pointer-events:none; z-index:-1; right:100px; top:0; width:100px; height:100%; background:url('/assets/images/ro-wing-crest.svg') center/contain no-repeat; opacity:.16; }
body #ro-home .home-section>.card-body { position:relative; isolation:isolate; }
body #ro-home .home-section>.card-body::before { content:""; position:absolute; pointer-events:none; z-index:-1; right:28px; bottom:18px; width:140px; height:125px; background:url('/assets/images/ro-poring.svg') center/contain no-repeat; opacity:.08; }
body #ro-home .home-section:has(#SaleEquipmentList)>.card-body::before { background-image:url('/assets/images/ro-wing-crest.svg'); }
body #ro-home .home-help-link, body #ro-home .home-rental-links>a { position:relative; isolation:isolate; }
body #ro-home .home-help-link::after, body #ro-home .home-rental-links>a::after { content:""; position:absolute; pointer-events:none; z-index:-1; right:12px; bottom:12px; width:110px; height:100px; background:url('/assets/images/ro-wing-crest.svg') center/contain no-repeat; opacity:.12; }
body #ro-home .home-help-link::after { background-image:url('/assets/images/ro-poring.svg'); }
@media(max-width:1050px) { body:has(#loginform) #Registform .register-fields { grid-template-columns:repeat(3,minmax(0,1fr)); } body:has(#loginform) #Registform .register-uploads { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { body:has(#loginform) #Registform .register-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } body:has(#loginform) #Registform { padding:16px; } body #ro-approval .fixed-table-body>table { min-width:1100px; } }
@media(max-width:480px) { body:has(#loginform) #Registform .register-fields, body:has(#loginform) #Registform .register-uploads { grid-template-columns:1fr; } body #ro-home .card-header::after { right:8px; width:60px; opacity:.1; } }

/* Fifth revision: compact member list, quiet placeholders and themed artwork. */
body #Registform input::placeholder {color:#9ba3ac!important;opacity:1;font-weight:400!important;}
body #ro-member-admin .fixed-table-body>table th,body #ro-member-admin .fixed-table-body>table td {text-align:center!important;vertical-align:middle!important;padding:5px 4px!important;}
body #ro-member-admin .fixed-table-body>table .th-inner {text-align:center!important;padding-top:6px!important;padding-bottom:6px!important;}
body #ro-member-admin .fixed-table-body>table .btn {padding:4px 7px!important;margin:1px 3px!important;}
.ro-pending {display:inline-block;background:#c43146;color:white!important;border-radius:12px;padding:1px 7px;font:700 13px/1.5 sans-serif;vertical-align:middle;}
.ro-pending[hidden],#ro-admin-notices[hidden]{display:none!important;}
#ro-admin-notices{position:fixed;right:20px;top:100px;z-index:1050;background:#fff;border:2px solid #78a9c4;border-left:5px solid #c43146;border-radius:12px;padding:18px 22px;max-width:calc(100vw - 40px);box-shadow:0 8px 25px #23445b26;color:#23445b;}
#ro-admin-notices button{float:right;border:0;background:none;font-size:24px;margin-left:20px;color:#526575;}
#ro-admin-notices p{margin:8px 0;}#ro-admin-notices a{display:inline-block;margin-right:18px;font-weight:700;}
body #ro-home .home-rental-links>a:first-child{background:#dceef8;}
body #ro-home .home-rental-links>a:last-child{background:#fff0d6;}
body #ro-home .decor-news .home-mini-icon, body #ro-home .card-header:has(.decor-news)::after, body #ro-home .card:has(.decor-news)>.card-body::before{background-image:url('/assets/images/ro-theme-news.svg');}
body #ro-home .decor-sale .home-mini-icon, body #ro-home .card-header:has(.decor-sale)::after, body #ro-home .card:has(.decor-sale)>.card-body::before{background-image:url('/assets/images/ro-theme-sale.svg');}
body #ro-home .decor-wish .home-mini-icon, body #ro-home .card-header:has(.decor-wish)::after, body #ro-home .card:has(.decor-wish)>.card-body::before{background-image:url('/assets/images/ro-theme-wish.svg');}
body #ro-home .decor-video .home-mini-icon, body #ro-home .card-header:has(.decor-video)::after, body #ro-home .card:has(.decor-video)>.card-body::before{background-image:url('/assets/images/ro-theme-video.svg');}
body #ro-home .home-help-link::after{background-image:url('/assets/images/ro-theme-help.svg');opacity:.18;}
body #ro-home .home-rental-links>a:first-child::after{background-image:url('/assets/images/ro-theme-rent.svg');opacity:.18;}
body #ro-home .home-rental-links>a:last-child::after{background-image:url('/assets/images/ro-theme-upload.svg');opacity:.18;}

/* Sixth revision: centered admin layout and balanced homepage grid. */
body:has(#ro-member-admin) .ro-site-content {width:96%;max-width:1540px;margin-left:auto;margin-right:auto;}
body #ro-member-admin .fixed-table-body>table th[data-field="Actions"]{width:16%;}
body #ro-member-admin .fixed-table-body>table th[data-field="CreateDateStr"]{width:12%;}
body #ro-member-admin .fixed-table-body>table td:last-child>div{white-space:normal!important;display:flex;justify-content:center;flex-wrap:wrap;gap:4px;}
body #ro-equipment-manage .fixed-table-body>table th[data-field="Actions"]{width:190px;}
body #ro-equipment-manage .fixed-table-body>table td:last-child {white-space:normal;}
body #ro-home .home-dashboard{display:grid;gap:26px;margin-top:30px;}
body #ro-home .home-top-pair,body #ro-home .home-bottom-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch;}
body #ro-home .home-dashboard .card{margin:0!important;min-width:0;width:100%;}
body #ro-home .home-dashboard .card-header{padding:18px 22px;min-height:72px;}
body #ro-home .home-top-pair .card-body{display:flex;flex-direction:column;padding:16px 20px;min-height:270px;}
body #ro-home .home-panel-more{align-self:flex-end;margin-top:auto;}
body #ro-home .home-top-pair #WishList{margin:0 0 16px;padding:0;}
body #ro-home .home-top-pair #WishList>li{margin:0!important;padding:12px 0!important;border:0;border-bottom:1px solid #bed4e2;background:transparent;overflow-wrap:anywhere;}
body #ro-home .home-top-pair #AnnouncementDIV{margin-bottom:16px;}
body #ro-home .home-top-pair .home-news a{min-width:0;overflow-wrap:anywhere;}
body #ro-home .home-action-stack{display:grid;grid-template-rows:1fr 1fr;gap:20px;min-width:0;}
body #ro-home .home-action-stack .home-help-link,body #ro-home .home-action-stack .home-rental-links{min-height:190px;width:100%;}
body #ro-home .home-action-stack .home-help-link{padding:24px;}
body #ro-home .home-action-stack .home-rental-links{display:grid;grid-template-columns:1fr 1fr;}
body #ro-home .home-action-stack .home-rental-links>a{padding:22px 18px;min-width:0;}
body #ro-home .home-action-stack .home-rental-links>a+a{border-top:0;border-left:2px solid #80abc3;}
body #ro-home .home-video-panel #vedio{margin:0;padding:0;}
body #ro-home .home-video-panel #vedio>li{width:100%;padding:10px 0;border:0;}
body #ro-home .home-video-panel iframe{width:100%!important;aspect-ratio:16/9;height:auto!important;}
@media(max-width:800px){body #ro-home .home-top-pair,body #ro-home .home-bottom-pair{grid-template-columns:1fr;}body #ro-home .home-top-pair .card-body{min-height:0;}body #ro-home .home-panel-more{margin-top:16px;}}
@media(max-width:480px){body #ro-home .home-action-stack .home-rental-links{grid-template-columns:1fr;}body #ro-home .home-action-stack .home-rental-links>a+a{border-left:0;border-top:2px solid #80abc3;}}

body #ro-home .home-action-stack .home-rental-links {grid-template-rows:1fr;}
body #ro-home .home-wish-panel .card-header{background:#e4f3ed;}body #ro-home .decor-wish{color:#296c60;}
body #ro-home .home-sale-panel .card-header{background:#edf0fa;}body #ro-home .decor-sale{color:#63518c;}
body #ro-home .home-video-panel .card-header{background:#fff1df;}body #ro-home .decor-video{color:#86551d;}
body #ro-home .home-top-pair #WishList>li{width:100%;border-radius:0;font-size:17px;line-height:1.65;}
body #ro-home .home-action-stack h2{font-size:25px;margin:5px 0;color:#174e6c;}
body #ro-home .home-action-stack span{font-size:16px;color:#496b80;}
body #ro-home .home-action-stack strong{font-size:18px;color:#166183;}
body #ro-equipment-manage .manage-heading{font-size:26px;margin:16px 0;}
@media(max-width:480px){body #ro-home .home-action-stack .home-rental-links{grid-template-rows:auto auto;}}

/* Full equipment names: wrap first, reduce long titles without clipping. */
body .ro-equipment-name, body #ro-catalog .equipment-title, body #ro-detail #equipmentName, body #ro-home .home-product h3 {
 white-space:normal!important; overflow-wrap:anywhere; word-break:normal;
 display:block!important; -webkit-line-clamp:unset!important; line-clamp:unset!important;
 max-height:none!important; height:auto!important; overflow:visible!important; text-overflow:clip!important; line-height:1.55;
}
body .ro-equipment-name { min-width:0; max-width:100%; }
body .ro-equipment-name.ro-name-long { font-size:max(14px, .9em); }
body #ro-catalog .equipment-title.ro-name-long { font-size:18px!important; }
body #ro-detail #equipmentName.ro-name-long { font-size:22px!important; }
body #ro-home .home-product h3.ro-name-long { font-size:18px!important; }
body #ro-approval td:has(.ro-equipment-name) { min-width:160px; max-width:280px; white-space:normal!important; }
body #ro-approval td:last-child .btn { margin:3px!important; }
body #ro-approval td:last-child { white-space:normal!important; }
