:root {
  --navy:#172238; --navy-2:#20324c; --teal:#118277; --teal-dark:#0b655d;
  --bg:#f3f6fa; --surface:#fff; --ink:#17243a; --muted:#61728b; --line:#dbe4ef;
  --success:#e4f7ee; --danger:#fff0f0; --warning:#fff8df; --sidebar:292px; --topbar:76px;
}
*{box-sizing:border-box} html{font-size:16px} body{margin:0;font-family:Tahoma,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.75} a{text-decoration:none;color:inherit} button,input,select,textarea{font:inherit}
.portal-topbar{position:fixed;z-index:50;inset:0 0 auto 0;height:var(--topbar);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--navy);color:#fff;box-shadow:0 2px 14px #0f172a2b}
.portal-brand{display:flex;align-items:center;gap:12px;color:#fff}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#21b7a5;color:#073c38;font-weight:900;font-size:1.2rem}.portal-brand span:last-child{display:flex;flex-direction:column}.portal-brand small,.topbar-user small{color:#a9bdd8;font-size:.72rem}.topbar-user{display:flex;align-items:center;gap:18px}.topbar-user>span{display:flex;flex-direction:column;text-align:left}.topbar-user button,.link-button{border:1px solid #53647d;border-radius:8px;background:#101a2b;color:#fff;padding:7px 14px;cursor:pointer}.menu-toggle{display:none;border:0;background:none;color:#fff;font-size:1.5rem}
.portal-sidebar{position:fixed;z-index:45;top:var(--topbar);right:0;bottom:0;width:var(--sidebar);overflow:auto;padding:24px 18px;background:var(--navy-2);color:#dce7f4}.sidebar-title{color:#89a0be;font-size:.78rem;margin:0 12px 12px}.portal-sidebar nav{display:grid;gap:4px}.portal-sidebar a{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:9px;font-weight:700}.portal-sidebar a span{display:grid;place-items:center;width:22px;color:#8dcfc6}.portal-sidebar a:hover{background:#29425f;color:#fff}.sidebar-group{margin:15px 12px 3px;padding-top:13px;border-top:1px solid #334964;color:#8fa6c3;font-size:.77rem}.sidebar-version{margin:28px 12px 0;padding-top:18px;border-top:1px solid #334964;color:#8298b5;font-size:.72rem;line-height:1.9}.portal-main{min-height:100vh;margin-right:var(--sidebar);padding:calc(var(--topbar) + 28px) 30px 45px}.menu-backdrop{display:none}
.nav-section{border:1px solid #334964;border-radius:9px;background:#1b2c45;overflow:hidden;margin:4px 0}.nav-section summary{cursor:pointer;list-style:none;padding:11px 13px;color:#fff;font-weight:900}.nav-section summary::-webkit-details-marker{display:none}.nav-section summary:before{content:"‹";display:inline-block;margin-left:8px;color:#8dcfc6;transition:transform .15s}.nav-section[open] summary:before{transform:rotate(-90deg)}.nav-section>div{display:grid;padding:0 6px 8px}.portal-sidebar .nav-section a{padding:8px 11px;font-size:.82rem;font-weight:600}.nav-caption{margin:8px 11px 2px;color:#8fa6c3;font-size:.71rem;border-top:1px solid #334964;padding-top:7px}.eyebrow{color:var(--teal);font-size:.78rem;font-weight:900;margin-bottom:3px}.agency-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.agency-table{min-width:1100px}.table-link{color:var(--teal);font-weight:900}.empty-state strong{display:block;color:var(--ink);margin-bottom:5px}.empty-state p{margin:0}
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.page-header h1{font-size:clamp(1.45rem,2.3vw,2.15rem);font-weight:900;margin:0 0 5px}.page-header p{margin:0;color:var(--muted);font-size:.92rem}.page-actions{display:flex;flex-wrap:wrap;gap:9px}
.btn-primary,.btn-secondary,.btn-danger,.btn-light{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:8px;padding:9px 15px;font-weight:800;cursor:pointer}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-dark);color:#fff}.btn-secondary{background:#4c5d75;color:#fff}.btn-danger{background:#b42318;color:#fff}.btn-light{background:#edf2f7;color:#263850;border:1px solid var(--line)}
.filter-bar{display:flex;gap:8px;align-items:center;margin:0 0 14px}.filter-bar .form-control{flex:1}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:var(--muted);font-size:.88rem}.pager>div{display:flex;align-items:center;gap:8px}
.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.detail-grid>div{padding:14px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}.detail-grid span{display:block;color:var(--muted);font-size:.82rem;margin-bottom:5px}.detail-grid strong{display:block}.debt{color:#b42318;font-weight:900}
.alert-success,.alert-error,.alert-warning,.info-banner{margin-bottom:18px;padding:13px 16px;border-radius:9px;border:1px solid}.alert-success{background:var(--success);border-color:#addfcd;color:#075f50}.alert-error{background:var(--danger);border-color:#f0b9b9;color:#a21818}.alert-warning{background:var(--warning);border-color:#efda97;color:#735b13}.info-banner{background:#edf4fb;border-color:#d7e5f3;color:#34516e}.validation-summary-errors{background:var(--danger);color:#a21818;border:1px solid #f0b9b9;border-radius:9px;padding:10px 16px;margin-bottom:14px}.validation-summary-valid{display:none}.text-danger{color:#b42318;font-size:.8rem}
.hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px;border-radius:16px;background:linear-gradient(115deg,#17324a,#0b766e);color:#fff;box-shadow:0 12px 32px #0f766e24}.hero h1{margin:0 0 8px;font-size:clamp(1.45rem,2.2vw,2rem);font-weight:900}.hero p{margin:0;color:#d7f2ee}.hero-badge{min-width:190px;padding:14px 18px;border:1px solid #ffffff47;border-radius:11px;background:#ffffff14}.hero-badge span,.hero-badge small{display:block;color:#d4eee9;font-size:.78rem}.hero-badge strong{font-size:1.05rem}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.stat-card,.content-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:0 2px 8px #0f172a08}.stat-card{padding:19px;min-height:128px;display:flex;flex-direction:column;justify-content:center}.stat-card span,.stat-card small{color:var(--muted);font-size:.83rem}.stat-card strong{margin:2px 0;color:var(--teal);font-size:clamp(1.35rem,2vw,1.9rem);font-weight:900}.content-card{padding:20px;margin-top:16px}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title h2{margin:0;font-size:1.15rem;font-weight:900}.section-title a{color:var(--teal);font-weight:800;font-size:.88rem}.quick-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick-link{padding:15px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;font-weight:800}.quick-link small{display:block;color:var(--muted);font-weight:400}.quick-link:hover{border-color:#89cfc5;background:#f0fbf8}
.data-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px}.data-table{width:100%;min-width:960px;border-collapse:collapse;background:#fff;font-size:.86rem}.data-table th{position:sticky;top:0;padding:11px 12px;background:#e9f0f7;color:#243650;text-align:right;white-space:nowrap}.data-table td{padding:12px;border-top:1px solid var(--line);vertical-align:top}.data-table tbody tr:hover{background:#f5fbfa}.num{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;border-radius:999px;padding:3px 9px;background:#e8eef5;color:#3f5169;font-size:.75rem;font-weight:800}.badge-success{background:#dbf5e9;color:#08745f}.badge-warning{background:#fff3cc;color:#8a6410}.badge-danger{background:#ffe0e0;color:#a51c1c}.empty-state{padding:34px 18px;text-align:center;border:1px dashed #c7d4e2;border-radius:10px;color:var(--muted)}
.status-strip,.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.badge-muted{background:#e8eef5;color:#3f5169}.toolbar form{margin:0}.toolbar button:disabled{cursor:not-allowed;opacity:.55}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-group{display:grid;gap:5px}.form-group.full{grid-column:1/-1}.form-group label{font-size:.86rem;font-weight:800;color:#35465f}.form-control{width:100%;padding:10px 11px;border:1px solid #bfcddd;border-radius:8px;background:#fff;color:var(--ink)}.form-control:focus{outline:3px solid #14b8a626;border-color:#14a99a}.form-hint{color:var(--muted);font-size:.78rem}.form-actions{display:flex;gap:10px;align-items:center;margin-top:15px}.check-line{display:flex;gap:8px;align-items:center}
.list-grid{display:grid;gap:10px}.list-item{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.list-item h3{margin:4px 0;font-size:1rem}.list-item p{margin:0;color:var(--muted);font-size:.84rem}.list-meta{display:flex;flex-direction:column;min-width:130px;text-align:left;color:var(--muted);font-size:.78rem}.message{padding:14px;border-radius:10px;background:#f5f8fc;border:1px solid var(--line);margin-top:10px}.message strong,.message small{display:block}.message small{color:var(--muted)}.message p{white-space:pre-line;margin:8px 0 0}.code-box{direction:ltr;text-align:left;white-space:pre;overflow:auto;max-height:460px;background:#111827;color:#d6e5f7;padding:16px;border-radius:10px;font:13px Consolas,monospace}
.guest-body{min-height:100vh;background:linear-gradient(135deg,#14233d,#0b766e)}.guest-main{min-height:100vh;display:grid;place-items:center;padding:24px}.login-shell{width:min(100%,940px);display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 28px 80px #0206175e}.login-intro{padding:48px;background:linear-gradient(145deg,#172238,#203c58);color:#fff}.login-intro-mark{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:#21b7a5;color:#073c38;font-size:1.8rem;font-weight:900}.login-intro h1{font-size:2rem;font-weight:900;margin:14px 0}.login-intro p{color:#bdd0e5}.login-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:28px}.login-feature{padding:12px;border:1px solid #ffffff21;border-radius:10px;background:#ffffff0d}.login-feature strong,.login-feature span{display:block}.login-feature span{margin-top:3px;color:#bdd0e5;font-size:.78rem}.login-offline-note{margin-top:22px;padding:12px;border-right:3px solid #21b7a5;background:#ffffff0d;color:#d5e7f5;font-size:.8rem}.login-card{padding:46px}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}.login-brand>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#d8f6f1;color:#08766b;font-weight:900}.login-brand h1{margin:0;font-size:1.25rem}.login-brand p{margin:0;color:var(--muted);font-size:.78rem}.login-card h2{font-weight:900;margin:0 0 4px}.login-card>p{color:var(--muted);margin-bottom:22px}.login-card .alert{padding:11px 12px;border-radius:9px;background:#edf4fb;color:#34516e;font-size:.8rem;margin-bottom:18px}.full-width{width:100%;margin-top:6px}.login-note{margin:18px 0 0!important;color:var(--muted);font-size:.76rem}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.download-card{padding:22px;border:1px solid var(--line);border-radius:13px;background:#fff}.download-card h2{margin:0 0 8px;font-size:1.1rem}.download-card p{color:var(--muted)}.download-status{display:inline-block;margin-bottom:12px;padding:4px 10px;border-radius:999px;background:#e5f7ef;color:#08745f;font-size:.76rem;font-weight:800}.download-status.pending{background:#fff3cc;color:#8a6410}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){:root{--sidebar:276px}.portal-topbar{padding:0 14px}.menu-toggle{display:block}.portal-brand small{display:none}.topbar-user>span{display:none}.portal-sidebar{transform:translateX(105%);transition:transform .2s ease}.menu-open .portal-sidebar{transform:none}.menu-backdrop{position:fixed;z-index:40;inset:var(--topbar) 0 0 0;background:#0f172a85}.menu-open .menu-backdrop{display:block}.portal-main{margin-right:0;padding:calc(var(--topbar) + 20px) 14px 34px}.content-grid,.form-grid,.download-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-intro{padding:30px}.login-card{padding:32px 24px}}
@media(max-width:900px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.stats-grid,.quick-links,.login-features,.detail-grid{grid-template-columns:1fr}.hero,.page-header,.list-item,.filter-bar,.pager{flex-direction:column}.hero-badge{min-width:0;width:100%}.page-actions{width:100%}.page-actions>*{flex:1}.list-meta{text-align:right}.portal-brand strong{font-size:.88rem}.guest-main{padding:12px}.login-intro{padding:26px 22px}.login-intro h1{font-size:1.5rem}}

/* online21 — unified messenger inbox */
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.page-head h1{margin:0 0 5px;font-size:clamp(1.45rem,2.3vw,2.15rem);font-weight:900}.page-head p{margin:0;color:var(--muted)}.portal-table{width:100%;border-collapse:collapse;background:#fff;font-size:.86rem}.portal-table th{padding:11px 12px;background:#e9f0f7;text-align:right;white-space:nowrap}.portal-table td{padding:12px;border-top:1px solid var(--line);vertical-align:top}.table-responsive{overflow:auto}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-grid>div{padding:13px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}.summary-grid span,.summary-grid strong{display:block}.summary-grid span{color:var(--muted);font-size:.8rem}.message-thread{display:grid;gap:10px;margin-top:18px}.message-item{width:min(760px,88%);padding:13px 15px;border-radius:12px;border:1px solid var(--line);background:#f5f8fc}.message-item.outbound{margin-right:auto;background:#e8f8f4;border-color:#b8e4da}.message-item p{margin:6px 0;white-space:pre-line}.message-item small{color:var(--muted)}.alert-info{padding:12px;border:1px solid #c9deef;border-radius:8px;background:#edf6fc}.mt-3{margin-top:1rem}.mb-5{margin-bottom:3rem}.text-muted{color:var(--muted)}code{word-break:break-all}@media(max-width:800px){.page-head{flex-direction:column}.summary-grid{grid-template-columns:1fr}}

/* online12 — offline-parity table controls */
form.filter-grid-online{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.finance-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.finance-link-grid>a{display:flex;flex-direction:column;gap:4px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.finance-link-grid>a:hover{border-color:#89cfc5;background:#f0fbf8}.finance-link-grid strong{color:var(--ink)}.finance-link-grid span{color:var(--muted);font-size:.78rem}@media(max-width:1100px){.finance-stats,.finance-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){form.filter-grid-online,.finance-stats,.finance-link-grid{grid-template-columns:1fr}}
.grid-tools{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin:8px 0}.grid-visible-count{align-self:center;color:var(--muted);font-size:.78rem}.grid-column-draggable{cursor:grab}.grid-column-draggable.is-dragging{opacity:.45;background:#b9ddd8}.grid-column-chooser{position:relative}.grid-column-chooser>summary{list-style:none}.grid-column-chooser>summary::-webkit-details-marker{display:none}.grid-column-chooser-panel{position:absolute;z-index:500;top:calc(100% + 5px);right:0;width:300px;max-height:440px;overflow:auto;padding:12px;background:#fff;border:1px solid #91a4ba;border-radius:10px;box-shadow:0 18px 44px #0f172a38}.grid-column-chooser-panel>strong{display:block;margin-bottom:8px}.grid-column-chooser-panel label,.column-filter-values label{display:flex;align-items:flex-start;gap:8px;padding:7px;border-radius:6px;cursor:pointer}.grid-column-chooser-panel label:hover,.column-filter-values label:hover{background:#edf9f7}.grid-column-chooser-panel input,.column-filter-values input{width:auto;margin-top:3px}.column-filter-button{position:absolute;left:5px;top:50%;transform:translateY(-50%);width:24px;height:24px;padding:0;border:1px solid #aab9c9;border-radius:6px;background:#f8fafc;color:#40536b;font-weight:900}.column-filter-button:hover,.column-filter-button.is-active{background:var(--teal);border-color:var(--teal);color:#fff}.data-table th:has(.column-filter-button){padding-left:35px}.column-filter-panel{position:fixed;z-index:1000;width:310px;max-height:430px;display:flex;flex-direction:column;padding:12px;background:#fff;border:1px solid #91a4ba;border-radius:10px;box-shadow:0 18px 44px #0f172a38}.column-filter-panel>strong{margin-bottom:8px}.column-filter-search{width:100%;padding:9px;border:1px solid #bfcddd;border-radius:7px;margin-bottom:7px}.column-filter-values{overflow:auto;min-height:90px;max-height:270px;border:1px solid var(--line);border-radius:7px;padding:4px}.column-filter-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:8px}.data-table tr.row-success{background:#f3fcf8}.data-table tr.row-review{background:#f3f8ff}.data-table tr.row-attention{background:#fff7ed}.data-table tr.row-success:hover{background:#e4f8ef}.data-table tr.row-review:hover{background:#e9f2ff}.data-table tr.row-attention:hover{background:#ffedd5}.operation-links{display:flex;gap:5px;flex-wrap:wrap;white-space:nowrap}.operation-links a{padding:5px 9px;border-radius:6px;background:var(--teal);color:#fff;font-weight:800}.operation-links a.secondary{background:#4c5d75}.record-link{color:#08766b;font-weight:900;text-decoration:underline;text-decoration-color:#91d4cc;text-underline-offset:3px}.filter-grid-online{display:grid;grid-template-columns:2fr repeat(2,minmax(150px,1fr)) auto;gap:10px;align-items:end;margin-bottom:18px}.filter-grid-online label{display:block;margin-bottom:5px;font-size:.8rem;font-weight:800}.filter-actions-online{display:flex;gap:6px}.muted-online{color:var(--muted);font-size:.82rem}.detail-wide{grid-column:span 2}@media(max-width:900px){.filter-grid-online{grid-template-columns:1fr 1fr}.filter-grid-online>div:first-child{grid-column:1/-1}}@media(max-width:560px){.filter-grid-online{grid-template-columns:1fr}.filter-grid-online>div:first-child{grid-column:auto}.detail-wide{grid-column:auto}}
/* QUOTE01: original, provider-neutral third-party quote flow. */
.quote-page{max-width:1120px;margin:0 auto;padding:32px 20px;direction:rtl}.quote-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:30px;border-radius:24px;background:linear-gradient(135deg,#10213b,#087f76);color:#fff;margin-bottom:18px}.quote-hero h1{margin:8px 0;font-size:2rem}.quote-hero p{margin:0;max-width:760px;line-height:2}.quote-kicker{color:#9ff2df;font-weight:800}.quote-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.quote-steps strong{background:#fff;border:1px solid #dbe6ee;border-radius:14px;padding:14px;text-align:center}.quote-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.quote-form-grid label{font-weight:700}.quote-form-grid input,.quote-publish-box textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #cbd8e2;border-radius:10px}.quote-limit-fieldset{margin:22px 0;border:1px solid #dbe6ee;border-radius:14px;padding:18px}.quote-limit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.quote-limit-grid label{display:flex;gap:8px;align-items:center;background:#f5f9fc;border:1px solid #dbe6ee;border-radius:10px;padding:10px}.quote-publish-box{margin:20px 0;padding:20px;border:1px solid #54bfae;border-radius:14px;background:#f0fffb}.quote-publish-box form{display:grid;gap:10px}.alert-warning{padding:16px;border:1px solid #e6c75d;background:#fff8d8;border-radius:12px;color:#6f5600}@media(max-width:760px){.quote-hero{align-items:flex-start;flex-direction:column}.quote-steps,.quote-limit-grid{grid-template-columns:repeat(2,1fr)}.quote-form-grid{grid-template-columns:1fr}}
+
/* RATE04 — third-party quote and tariff control */
.tp-page,.rate-admin{max-width:1500px;margin:0 auto;padding:24px;direction:rtl}
.tp-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border-radius:22px;background:linear-gradient(135deg,#12243f,#0f766e);color:#fff;margin-bottom:18px;box-shadow:0 14px 35px #0f172a1f}
.tp-hero h1{margin:5px 0 8px;font-size:clamp(1.6rem,3vw,2.35rem)}.tp-hero p{margin:0;max-width:780px;opacity:.9}.tp-kicker{color:#99f6e4;font-weight:800}.tp-hero-actions{display:grid;gap:10px;min-width:190px;text-align:center}
.tp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.tp-steps span{padding:11px;text-align:center;background:#e7edf5;color:#52627a;border-radius:12px;font-weight:700}.tp-steps .active{background:#0f766e;color:#fff}
.tp-status,.rate-gate{padding:14px 18px;border-radius:13px;margin:12px 0;background:#fff7d6;border:1px solid #f0d67a;color:#71520a}.tp-status.success{background:#e7faf4;border-color:#74d8b9;color:#065f46}
.tp-form{display:grid;gap:16px}.tp-card,.rate-section{background:#fff;border:1px solid #dfe7f1;border-radius:18px;padding:20px;box-shadow:0 5px 18px #1e293b0d;margin-bottom:16px}.tp-card-title{display:flex;gap:12px;align-items:center;margin-bottom:14px}.tp-card-title>b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#0f766e;color:white;font-size:1.1rem}.tp-card-title h2{margin:0;font-size:1.25rem}.tp-card-title p{margin:3px 0 0;color:#64748b}
.tp-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px}.tp-grid label,.rate-inline label{display:grid;gap:6px;color:#334155;font-weight:700}.tp-grid .wide{grid-column:span 2}.tp-grid input,.tp-grid select,.rate-inline input,.rate-inline select,.rate-table input{width:100%;min-height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;background:#fff;color:#172033}
.tp-choice-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.tp-choice-row label,.tp-confirm{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.tp-choice-row input,.tp-confirm input,.tp-cover-grid input{width:auto}
.tp-search-line{display:flex;gap:6px}.tp-search-line input{flex:1}.tp-vehicle-specs{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.tp-vehicle-specs>*{padding:8px 12px;border-radius:10px;background:#eef7f6;color:#155e75}.tp-confirm{width:max-content;max-width:100%;border-color:#5eead4;background:#f0fdfa}
.tp-cover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px}.tp-cover-grid label{display:flex;gap:7px;align-items:center;padding:11px;border:1px solid #d7e1ec;border-radius:11px;cursor:pointer}.tp-submit{margin-top:16px;min-width:250px}
.tp-offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.tp-offer{border:1px solid #b8ddd5;border-radius:16px;padding:17px;background:#f5fffc;display:grid;gap:13px}.tp-offer.research{border-color:#f5c76e;background:#fffaf0}.tp-offer h3{margin:8px 0 4px}.tp-offer>strong{font-size:1.65rem;color:#0f766e}.tp-offer small{font-size:.75rem}.tp-badge{font-size:.76rem;background:#d7f5ec;color:#08654e;padding:5px 8px;border-radius:999px}.research .tp-badge{background:#fff0c9;color:#7a4d00}.tp-offer dl{display:grid;grid-template-columns:1fr auto;gap:6px;margin:10px 0}.tp-offer dd{margin:0;font-weight:700}.tp-inline-warning,.tp-empty{padding:13px;margin:10px 0;border-radius:11px;background:#fff4dc;border:1px solid #f5d287;color:#754d00}
.rate-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0}.rate-summary article{background:#fff;border:1px solid #dfe7f1;border-radius:14px;padding:18px;display:grid;gap:5px}.rate-summary b{font-size:1.55rem;color:#0f766e}.rate-summary .warn b{color:#b45309}
.rate-section>summary{font-size:1.1rem;font-weight:900;cursor:pointer;color:#17345a}.rate-inline{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:14px 0}.rate-inline label{min-width:150px;flex:1}.rate-insurer{padding:12px;background:#eff7f7;border-radius:12px}.insurer-tabs{display:flex;overflow:auto;gap:7px;padding:5px 0 12px}.insurer-tabs a{white-space:nowrap;padding:8px 11px;border:1px solid #cbd5e1;border-radius:10px;text-decoration:none;color:#334155}.insurer-tabs a.active{background:#0f766e;color:#fff;border-color:#0f766e}
.rate-table-wrap{overflow:auto;max-height:680px;border:1px solid #dce5ef;border-radius:12px}.rate-table{width:100%;border-collapse:collapse;min-width:920px}.rate-table th{position:sticky;top:0;z-index:1;background:#e9f1f8}.rate-table th,.rate-table td{padding:9px;border-bottom:1px solid #e2e8f0;text-align:right;vertical-align:middle}.rate-table input{min-width:110px}.rate-table small{display:block;color:#64748b;margin-top:4px}.btn-small{border:0;border-radius:8px;background:#0f766e;color:#fff;padding:8px 11px;cursor:pointer}.waiver-list{display:grid;gap:8px}.waiver-list form{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;border:1px solid #dbe4ee;border-radius:10px}.competitor{border-right:5px solid #f59e0b}.rate-source{font-family:monospace;direction:ltr;text-align:left;color:#64748b;overflow-wrap:anywhere}
@media(max-width:900px){.tp-page,.rate-admin{padding:12px}.tp-hero{align-items:flex-start;flex-direction:column}.tp-grid{grid-template-columns:1fr 1fr}.tp-grid .wide{grid-column:span 2}.rate-summary{grid-template-columns:1fr 1fr}.tp-steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tp-grid{grid-template-columns:1fr}.tp-grid .wide{grid-column:span 1}.rate-summary{grid-template-columns:1fr}.tp-offers{grid-template-columns:1fr}.tp-submit{width:100%;min-width:0}}

/* R23 unified visual/performance layer: low-cost paint, clearer hierarchy, weak-device friendly. */
:root{--ui-ink:#172033;--ui-muted:#64748b;--ui-line:#d9e3ec;--ui-surface:#fff;--ui-accent:#0f766e;--ui-bg:#eef3f7}
.portal-body{background:linear-gradient(180deg,#f8fafc 0,#eef3f7 360px,var(--ui-bg) 100%);color:var(--ui-ink)}
.portal-topbar{background:linear-gradient(100deg,#101a2c,#1d2a43);box-shadow:0 1px 0 #ffffff1a}
.page-header h1{letter-spacing:-.02em;color:#152238}.page-header p{max-width:980px}
.card{border-color:var(--ui-line);box-shadow:0 1px 2px rgba(15,23,42,.04)}
.metric-card{border-top:3px solid #14b8a6;background:linear-gradient(180deg,#fff,#fbfefd)}
.table-responsive,.table-scroll{border-radius:9px;background:#fff;scrollbar-width:thin;scrollbar-color:#94a3b8 #eef2f7}
table tbody tr:nth-child(even){background:#f8fafc}table tbody tr:hover{background:#ecfdf5}
th{background:#e7eff6;color:#26364d;border-color:#d7e1ea}
.metric-card,.report-tile{content-visibility:auto;contain-intrinsic-size:120px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media(max-width:900px){.portal-body{background:#f3f6f9}.card{box-shadow:none}}
