:root{--rp-primary:#3f5a73;--rp-ink:#0f172a;--rp-muted:#475569;--rp-border:#e2e8f0;--rp-surface:#f8fafc}
body{color:var(--rp-ink)}:focus-visible{outline:3px solid #0284c7!important;outline-offset:3px}
.saas-label,.saas-helper-text{color:var(--rp-muted)}table.saas-table th{font-size:12px;letter-spacing:.03em}table.saas-table td{font-size:14px}
.rp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.rp-toolbar h3{margin:0}.rp-toolbar input[type=search]{max-width:340px;min-width:200px}
.rp-toolbar h1.saas-card-title{font-size:28px;margin-top:24px}#company-list td:first-child{min-width:200px}.nav-link-custom[aria-current=page]{color:#0f172a!important;border-bottom-color:#3f5a73}
.rp-intro{color:var(--rp-muted);margin:8px 0 24px;line-height:1.6}
.rp-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.rp-metric{padding:24px;border:1px solid var(--rp-border);border-radius:14px;background:#fff}
.rp-metric span{display:block;font-size:14px;color:var(--rp-muted)}.rp-metric strong{display:block;font-size:32px;font-weight:600;margin-top:8px}
.rp-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;white-space:nowrap;background:#f1f5f9;color:#334155}.rp-badge.active,.rp-badge.online{background:#ecfdf5;color:#065f46}.rp-badge.suspended,.rp-badge.stale{background:#fffbeb;color:#92400e}
.rp-actions{display:flex;flex-wrap:wrap;gap:8px}.rp-actions button,.rp-small-btn{min-height:40px;font-size:13px;border:1px solid var(--rp-border);background:#fff;border-radius:8px;color:var(--rp-primary);padding:8px 12px;cursor:pointer}.rp-actions button:hover,.rp-small-btn:hover{background:#f1f5f9}.rp-actions .danger{color:#b91c1c}
.rp-muted{color:var(--rp-muted);font-size:13px}.rp-cell-name{font-weight:600;display:block}.rp-cell-sub{font-size:12px;color:var(--rp-muted);margin-top:4px;display:block;overflow-wrap:anywhere}
.rp-empty{text-align:center;padding:44px 24px!important;color:var(--rp-muted)!important}.rp-notice{padding:16px 20px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;margin:0 0 20px;line-height:1.6}.rp-notice.error{background:#fef2f2;color:#991b1b;border-color:#fecaca}.rp-notice.success{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.rp-notice[hidden],.rp-empty[hidden]{display:none!important}
.rp-pagination{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:20px}
.rp-support-banner{position:sticky;top:0;z-index:1040;padding:10px 24px;background:#fffbeb;color:#92400e;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}.rp-support-banner form{margin:0}.rp-support-banner button{border:1px solid #d97706;border-radius:8px;background:white;padding:8px 14px;color:#92400e;min-height:40px}
body:has(.rp-support-banner) .navbar.fixed-top{top:60px}
body:has(.rp-support-banner) .rp-drawer-open,body:has(.rp-support-banner) #save_item,body:has(.rp-support-banner) #save-button,body:has(.rp-support-banner) #update-button,body:has(.rp-support-banner) #delete-button,body:has(.rp-support-banner) [data-control=deleteBtn],body:has(.rp-support-banner) [data-control=editBtn],body:has(.rp-support-banner) a[href='/routes/new-route']{display:none!important}
.rp-danger-zone{padding:24px;border:1px solid #fecaca;border-radius:12px;background:#fff;margin-top:32px}.rp-danger-zone h3{font-size:18px}.rp-danger-zone p{max-width:780px;color:var(--rp-muted);line-height:1.6}
.rp-drawer-overlay{position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:1050}.rp-drawer{position:fixed;right:0;top:0;bottom:0;width:min(520px,100%);z-index:1051;background:#fff;overflow:auto;padding:28px;box-shadow:-12px 0 40px rgba(15,23,42,.12)}.rp-drawer[hidden],.rp-drawer-overlay[hidden]{display:none!important}.rp-drawer-close{display:block;margin-left:auto;margin-bottom:20px}.rp-drawer h3{text-align:left!important}
.rp-map{height:420px;width:100%;border-radius:12px;background:#e2e8f0}.rp-map-message{padding:20px;color:#334155}
.rp-setup{padding:28px;border-radius:14px;border:1px solid #bae6fd;background:#f0f9ff;margin-bottom:24px}.rp-setup h3{font-size:22px}.rp-setup .rp-actions a{padding:12px 18px}
.rp-live-dot{width:14px;height:14px;border:3px solid white;border-radius:50%;background:#059669;box-shadow:0 0 0 2px #059669}.rp-live-dot.stale{background:#d97706;box-shadow:0 0 0 2px #d97706}
.rp-dialog .modal-content{border:0;border-radius:16px}.rp-dialog .modal-header,.rp-dialog .modal-body,.rp-dialog .modal-footer{padding:24px}.rp-dialog .modal-title{font-size:22px}.rp-dialog input{margin-top:16px}.rp-dialog dl{display:grid;grid-template-columns:1fr 2fr;gap:12px}.rp-dialog dd{overflow-wrap:anywhere}.rp-dialog ul{padding-left:20px}.rp-dialog li{margin-bottom:10px}
.rp-error-page{max-width:680px;margin:70px auto;padding:40px;text-align:center}.rp-error-page h1{font-size:36px}.rp-error-page p{font-size:18px;line-height:1.6;color:var(--rp-muted)}
.navbar-container{height:auto;min-height:70px}.center-nav-group{gap:18px!important;margin-left:24px!important}
.rp-product-preview{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:center}.rp-preview-frame{border:1px solid var(--rp-border);border-radius:18px;overflow:hidden;background:white;box-shadow:0 16px 48px rgba(15,23,42,.08)}.rp-preview-heading{padding:18px 24px;background:#f8fafc;font-weight:600}.rp-preview-frame img{width:100%;height:auto;display:block}.rp-preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}.rp-preview-stats div{padding:12px;background:#f8fafc;border-radius:8px}.rp-preview-stats span{font-size:12px;display:block;color:var(--rp-muted)}.rp-preview-note{font-size:12px;color:var(--rp-muted);margin-top:12px}
@media(max-width:1199px){.navbar-container{flex-wrap:wrap}.navbar-container .navbar-collapse{flex-basis:100%;background:white;padding:0 12px}.navbar-container .navbar-toggler{margin-left:auto}.navbar.fixed-top{height:auto!important}.center-nav-group{margin-left:0!important;flex-wrap:wrap;padding:16px 0!important}.navbar-collapse .right-action-group{padding-bottom:16px;justify-content:flex-start;flex-wrap:wrap}.navbar-collapse .nav-divider{display:none}.rp-product-preview{grid-template-columns:1fr}.rp-support-banner{flex-wrap:wrap}body:has(.rp-support-banner) .navbar.fixed-top{top:98px}}
@media(max-width:640px){.rp-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rp-metric{padding:18px}.rp-metric strong{font-size:26px}.rp-toolbar{align-items:stretch}.rp-toolbar input[type=search]{max-width:none;width:100%}.rp-map{height:320px}.rp-dialog dl{grid-template-columns:1fr}.rp-dialog dd{margin-bottom:12px}.rp-preview-stats{padding:12px;gap:8px}}
.rp-badge.upcoming{background:#f1f5f9;color:#334155}.rp-badge.due{background:#eff6ff;color:#1e40af}.rp-badge.late{background:#fef2f2;color:#991b1b}.rp-badge.on_road{background:#ecfdf5;color:#065f46}.rp-badge.done{background:#f0fdf4;color:#166534}
.rp-plan-time{font-variant-numeric:tabular-nums;white-space:nowrap}.rp-plan-time small{display:block;color:#64748b}
.rp-dashboard-alerts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.rp-dashboard-alerts a{text-decoration:none;border-color:#fde68a;background:#fffbeb}.rp-dashboard-alerts a:hover{border-color:#d97706}.rp-dashboard-alerts strong{color:#92400e}
.rp-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.rp-dashboard-grid>section{min-width:0}.rp-attention-row{background:#fffbeb}.saas-table tr:target{background:#eff6ff;outline:2px solid #0284c7;scroll-margin-top:120px}.rp-dashboard-grid .rp-intro{margin-bottom:16px}
@media(max-width:1000px){.rp-dashboard-grid{grid-template-columns:1fr;gap:0}}@media(max-width:640px){.rp-dashboard-alerts{grid-template-columns:1fr;gap:10px}}
.rp-alerts{position:fixed;right:16px;bottom:16px;z-index:1060;width:min(420px,calc(100vw - 32px));background:#fff;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,.18);padding:12px 14px;font-size:14px}
.rp-alerts-head{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#991b1b;margin-bottom:6px}
.rp-alerts-item{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:6px 0;border-top:1px solid #f1f5f9}.rp-alerts-item span{flex:1 1 100%}
.rp-alerts-link{background:none;border:0;padding:0;color:#3f5a73;font-weight:600;font-size:13px;text-decoration:underline;cursor:pointer}
.rp-alert-setting{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:4px 0 14px}.rp-alert-setting .saas-label{margin:0}.rp-alert-setting input{width:90px}.rp-alert-setting p{flex:1 1 100%;margin:0;font-size:13px}
/* Phones: tables marked .rp-stack become one card per row (labels from the header, product.js). */
@media (max-width:640px){table.saas-table.rp-stack thead{display:none}table.saas-table.rp-stack,table.saas-table.rp-stack tbody,table.saas-table.rp-stack tr,table.saas-table.rp-stack td{display:block;width:100%;box-sizing:border-box}table.saas-table.rp-stack tr{border:1px solid #e2e8f0;border-radius:10px;padding:6px 12px;margin-bottom:10px;background:#fff}table.saas-table.rp-stack tr.rp-attention-row{background:#fffbeb}table.saas-table.rp-stack td{position:relative;border:0;padding:6px 0 6px 38%;min-height:32px;text-align:left;word-break:break-word}table.saas-table.rp-stack td+td{border-top:1px solid #f1f5f9}table.saas-table.rp-stack td::before{content:attr(data-label);position:absolute;left:0;top:8px;width:calc(38% - 10px);font-size:12px;font-weight:600;color:var(--rp-muted);text-transform:uppercase;letter-spacing:.03em}table.saas-table.rp-stack td[data-label=""]::before,table.saas-table.rp-stack tr[data-state] td::before{display:none}table.saas-table.rp-stack td[data-label=""],table.saas-table.rp-stack tr[data-state] td{padding-left:0;text-align:center}table.saas-table.rp-stack tr[data-state]{border-style:dashed;text-align:center}.table-responsive:has(>table.rp-stack){overflow:visible}.rp-toolbar{flex-wrap:wrap;gap:10px}}
.rp-access-line{margin:6px 0 0}.rp-access-badge{cursor:help}.rp-access-badge:focus-visible{outline:2px solid #0284c7;outline-offset:2px}.rp-access-0{background:#f1f5f9;color:#1e293b}.rp-access-1{background:#eff6ff;color:#1e40af}.rp-access-2{background:#ecfdf5;color:#065f46}
.rp-access-details{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:8px 0;font-size:14px}.rp-access-details dt{font-weight:600;color:#334155}.rp-access-details dd{margin:0;color:#475569}
