/* =========================================================
   Cushman Services Portal
   Clean full-width portal rewrite
   Smaller sidebar + ChatGPT-style dark palette
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
/* =========================================================
   Portal page template reset
   ========================================================= */
   
   
body.csp-portal-page{
    background:#0f1115;
    margin:0 !important;
    padding:0 !important;
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

html body.csp-portal-page .csp-portal-template-main{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

body.csp-portal-page .csp-portal-wrap{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}

.csp-portal-shell{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    width:100%;
    min-height:100vh;
    margin:0;
    background:#111827;
    overflow:hidden;
}

/* =========================================================
   Shell
   ========================================================= */

.csp-portal-shell{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    width:100%;
min-height:100vh;
    margin:0;
    background:#111827;
    border-top:1px solid #1f2937;
    overflow:hidden;
}

/* =========================================================
   Sidebar
   ========================================================= */

.csp-portal-sidebar{
    background:#171717;
    color:#e5e7eb;
    padding:14px 10px 14px;
    display:flex;
    flex-direction:column;
    gap:14px;
    border-right:1px solid #262626;
    min-width:0;
}

.csp-portal-brand{
    padding:6px 8px 2px;
}

.csp-portal-brand h2{
    margin:0;
    font-size:15px;
    line-height:1.15;
    font-weight:800;
    letter-spacing:-0.01em;
    color:#ffffff;
}

.csp-portal-nav{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.csp-portal-nav__section-group{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.csp-portal-nav__section{
    display:flex;
    align-items:center;
    gap:8px;
    margin:8px 6px 4px;
    font-size:11px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#f3f4f6;
    opacity:.95;
}

.csp-portal-nav__section::after{
    content:"";
    flex:1;
    height:1px;
    background:#303030;
}

.csp-portal-nav__link{
    display:flex;
    align-items:center;
    min-height:38px;
    padding:8px 12px;
    border-radius:12px;
    color:#d1d5db;
    text-decoration:none;
    font-size:14px;
    line-height:1.2;
    font-weight:600;
    transition:background .16s ease, color .16s ease, transform .16s ease;
}

.csp-portal-nav__link:hover,
.csp-portal-nav__link:focus{
    background:#232323;
    color:#ffffff;
    text-decoration:none;
    outline:none;
}

.csp-portal-nav__link.is-active{
    background:#2563eb;
    color:#ffffff;
    box-shadow:0 8px 18px rgba(37,99,235,0.28);
}

.csp-portal-nav__link-label{
    display:inline-block;
}

.csp-portal-sidebar__footer{
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid #2a2a2a;
}

.csp-portal-user{
    margin-bottom:12px;
    color:#cbd5e1;
    line-height:1.35;
}

.csp-portal-user strong{
    display:block;
    color:#ffffff;
    font-size:14px;
    line-height:1.2;
    font-weight:800;
    margin-bottom:4px;
}

.csp-portal-user small{
    color:#9ca3af;
    font-size:12px;
}

.csp-portal-logout{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 12px;
    border-radius:10px;
    background:#232323;
    color:#f9fafb;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    border:1px solid #303030;
    transition:background .16s ease, border-color .16s ease;
}

.csp-portal-logout:hover,
.csp-portal-logout:focus{
    background:#2b2b2b;
    border-color:#3a3a3a;
    color:#ffffff;
    text-decoration:none;
    outline:none;
}

/* =========================================================
   Main
   ========================================================= */

.csp-portal-main{
    display:flex;
    flex-direction:column;
    min-width:0;
    background:#f3f4f6;
}

.csp-portal-header{
    padding:20px 24px 14px;
    background:#f3f4f6;
    border-bottom:1px solid #e5e7eb;
}

.csp-portal-header__inner{
    width:100%;
}

.csp-portal-header h1{
    margin:0;
    font-size:30px;
    line-height:1.05;
    letter-spacing:-0.03em;
    color:#111827;
    font-weight:800;
}

.csp-portal-content{
    padding:24px;
    min-width:0;
}

/* =========================================================
   Cards / panels
   ========================================================= */

.csp-card,
.csp-panel,
.csp-kpi,
.csp-kpi-card{
    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    box-shadow:0 6px 18px rgba(15,23,42,0.05);
}

.csp-card,
.csp-panel{
    padding:20px;
    margin-bottom:18px;
}

.csp-card h3,
.csp-panel h2,
.csp-panel h3{
    margin:0 0 12px;
    font-size:20px;
    line-height:1.2;
    font-weight:800;
    color:#111827;
}

.csp-card p{
    margin:0 0 12px;
    color:#4b5563;
    line-height:1.6;
}

.csp-card p:last-child{
    margin-bottom:0;
}

/* =========================================================
   KPI GRID — AUTO FIT FULL WIDTH
   ========================================================= */

.csp-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px !important;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    padding-bottom: 16px;
    margin-bottom: 20px;
}

/* cards */
.csp-kpi-card {
    padding: 14px 16px !important;
    border-radius: 16px !important;
    
}
.csp-vehicle-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
@media (max-width: 1200px) {
    .csp-vehicle-quick-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 800px) {
    .csp-vehicle-quick-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .csp-vehicle-quick-grid {
        grid-template-columns: 1fr;
    }
}
.csp-kpi__label,
.csp-kpi-label{
    margin:0 0 8px;
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#6b7280;
}

.csp-kpi__value,
.csp-kpi-value{
    margin:0;
    font-size:28px;
    line-height:1.05;
    font-weight:800;
    color:#111827;
}

/* =========================================================
   Notices
   ========================================================= */

.csp-notice{
    margin:0 0 18px;
    padding:12px 14px;
    border-radius:12px;
    font-weight:700;
}

.csp-notice--success{
    background:#ecfdf3;
    color:#166534;
    border:1px solid #bbf7d0;
}

.csp-notice--error{
    background:#fef2f2;
    color:#991b1b;
    border:1px solid #fecaca;
}

.csp-notice--warning{
    background:#fffbeb;
    color:#92400e;
    border:1px solid #fde68a;
}

/* =========================================================
   Forms
   ========================================================= */

.csp-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(220px,1fr));
    gap:14px;
}

.csp-form-row,
.csp-field{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.csp-field--full{
    grid-column:1 / -1;
}

.csp-form-row label,
.csp-field label{
    font-size:14px;
    font-weight:700;
    color:#374151;
}

.csp-form-row input,
.csp-field input[type="text"],
.csp-field input[type="email"],
.csp-field input[type="number"],
.csp-field input[type="date"],
.csp-field input[type="password"],
.csp-field select,
.csp-field textarea{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border:1px solid #d1d5db;
    border-radius:12px;
    background:#ffffff;
    color:#111827;
    box-sizing:border-box;
}

.csp-field textarea{
    min-height:120px;
    resize:vertical;
}

.csp-form-actions,
.csp-actions{
    grid-column:1 / -1;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    margin-top:8px;
}

.csp-checkbox{
    display:flex !important;
    align-items:center;
    gap:8px;
    min-height:40px;
}

.csp-checkbox input{
    width:auto;
}

/* =========================================================
   GLOBAL BUTTON SYSTEM (UPGRADED)
   ========================================================= */

/* Base button (everything inherits this) */
.csp-btn,
button,
input[type="submit"],
input[type="button"],
.csp-card .button,
.csp-card button,
.csp-card .button-primary {

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    height:36px !important;
    min-height:36px !important;

    padding:0 14px !important;

    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;

    border-radius:10px !important;
    border:none !important;

    cursor:pointer;
    text-decoration:none;

    transition:
        background .18s ease,
        transform .12s ease,
        box-shadow .12s ease;

    box-shadow:0 2px 0 rgba(0,0,0,0.08);
}

/* =========================
   PRIMARY (BLUE)
   ========================= */

.csp-btn,
button:not(.csp-btn--secondary):not(.csp-btn--danger),
input[type="submit"],
.csp-card .button-primary {

    background:linear-gradient(180deg,#2563eb,#1d4ed8);
    color:#ffffff;
}

.csp-btn:hover,
button:hover,
input[type="submit"]:hover {

    background:linear-gradient(180deg,#1d4ed8,#1e40af);
    transform:translateY(-1px);
    box-shadow:0 6px 14px rgba(37,99,235,0.25);
}

/* =========================
   SECONDARY (GRAY)
   ========================= */

.csp-btn--secondary,
.csp-btn-secondary {

    background:#e5e7eb;
    color:#111827;
}

.csp-btn--secondary:hover,
.csp-btn-secondary:hover {

    background:#d1d5db;
}

/* =========================
   DANGER (RED)
   ========================= */

.csp-btn--danger,
.button-danger {

    background:linear-gradient(180deg,#ef4444,#dc2626);
    color:#ffffff;
}

.csp-btn--danger:hover,
.button-danger:hover {

    background:linear-gradient(180deg,#dc2626,#b91c1c);
}

/* =========================
   SMALL BUTTON
   ========================= */

.csp-btn--small {
    height:30px !important;
    padding:0 10px !important;
    font-size:12px !important;
}

/* =========================
   ICON SUPPORT
   ========================= */

.csp-btn svg,
button svg {
    margin-right:6px;
    width:14px;
    height:14px;
}
/* =========================================================
   Tables
   ========================================================= */

.csp-table-wrap{
    width:100%;
    overflow:auto;
    border:1px solid #e5e7eb;
    border-radius:16px;
    background:#ffffff;
}

.csp-table{
    width:100%;
    min-width:760px;
    border-collapse:collapse;
}

.csp-table th,
.csp-table td{
    padding:14px 16px;
    border-bottom:1px solid #e5e7eb;
    text-align:left;
    vertical-align:middle;
    font-size:14px;
    color:#1f2937;
}

.csp-table th{
    background:#f8fafc;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#6b7280;
    font-weight:800;
}

.csp-table tbody tr:hover{
    background:#f8fbff;
}

.csp-inline-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.csp-badge{
    display:inline-flex;
    align-items:center;
    padding:4px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

.csp-badge-success{
    background:#ecfdf3;
    color:#166534;
}

.csp-badge-muted{
    background:#f3f4f6;
    color:#4b5563;
}

/* =========================================================
   Login / lockout
   ========================================================= */

.csp-login-wrap,
.csp-portal-lockout,
.csp-portal-error{
    width:100%;
    margin:28px 0;
}

.csp-login-card,
.csp-portal-lockout__card,
.csp-portal-error__card{
    max-width:520px;
    margin:0 auto;
    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:20px;
    padding:26px;
    box-shadow:0 16px 40px rgba(15,23,42,0.10);
}

.csp-login-card h3,
.csp-portal-lockout__card h3{
    margin:0 0 14px;
    font-size:24px;
    line-height:1.2;
    color:#111827;
}

.csp-portal-error__card strong{
    display:block;
    margin-bottom:8px;
    color:#111827;
}

.csp-login-card label{
    display:block;
    margin-bottom:6px;
    font-weight:700;
    color:#374151;
}

.csp-login-card input[type="text"],
.csp-login-card input[type="email"],
.csp-login-card input[type="password"]{
    width:100%;
    min-height:46px;
    padding:10px 12px;
    border:1px solid #d1d5db;
    border-radius:12px;
    background:#ffffff;
    color:#111827;
    box-sizing:border-box;
}

.csp-login-card .login-remember{
    margin:12px 0;
}

.csp-login-card input[type="submit"],
.csp-login-card .button,
.csp-portal-lockout__card .button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 16px;
    border:none;
    border-radius:12px;
    background:#2563eb;
    color:#ffffff;
    font-weight:700;
    text-decoration:none;
    cursor:pointer;
}

.csp-login-card input[type="submit"]:hover,
.csp-login-card .button:hover,
.csp-portal-lockout__card .button:hover{
    background:#1d4ed8;
    color:#ffffff;
    text-decoration:none;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1100px){
    .csp-portal-shell{
        grid-template-columns:200px minmax(0,1fr);
    }

    .csp-portal-header{
        padding:18px 20px 12px;
    }

    .csp-portal-content{
        padding:20px;
    }
}

@media (max-width: 860px){
    .csp-portal-shell{
        grid-template-columns:1fr;
        min-height:auto;
    }

    .csp-portal-sidebar{
        border-right:none;
        border-bottom:1px solid #262626;
        padding:12px 10px;
    }

    .csp-portal-header{
        padding:16px 16px 12px;
    }

    .csp-portal-header h1{
        font-size:24px;
    }

    .csp-portal-content{
        padding:16px;
    }

    .csp-form-grid{
        grid-template-columns:1fr;
    }

    .csp-grid,
    .csp-kpi-grid{
        grid-template-columns:1fr;
    }

    .csp-card,
    .csp-panel,
    .csp-kpi,
    .csp-kpi-card{
        padding:16px;
    }
}

@media (max-width: 640px){
    .csp-portal-nav__link{
        min-height:36px;
        padding:8px 10px;
        font-size:13px;
    }

    .csp-portal-nav__section{
        font-size:10px;
    }
}
.csp-sidebar{
    display:flex;
    flex-direction:column;
    height:100%;
}

.csp-sidebar-nav{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.csp-sidebar-account{
    margin-top:18px; /* instead of auto */
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,0.08);
}

/* Dashboard home */
.csp-dashboard-table-wrap{
    overflow-x:auto;
}

.csp-dashboard-table{
    width:100%;
    min-width:760px;
    border-collapse:collapse;
    table-layout:fixed;
}

.csp-dashboard-table thead th{
    text-align:left;
    vertical-align:middle;
    padding:12px 14px;
    font-size:13px;
    font-weight:700;
    color:#4b5563;
    border-bottom:1px solid rgba(15,23,42,.10);
    background:transparent;
}

.csp-dashboard-table tbody td{
    text-align:left;
    vertical-align:middle;
    padding:14px;
    font-size:15px;
    color:#111827;
    border-top:1px solid rgba(15,23,42,.08);
    background:transparent;
}

.csp-dashboard-table tbody tr:first-child td{
    border-top:none;
}

.csp-dashboard-table th:nth-child(1),
.csp-dashboard-table td:nth-child(1){
    width:70px;
}

.csp-dashboard-table th:nth-child(2),
.csp-dashboard-table td:nth-child(2){
    width:32%;
}

.csp-dashboard-table th:nth-child(3),
.csp-dashboard-table td:nth-child(3){
    width:20%;
}

.csp-dashboard-table th:nth-child(4),
.csp-dashboard-table td:nth-child(4){
    width:16%;
}

.csp-dashboard-table th:nth-child(5),
.csp-dashboard-table td:nth-child(5){
    width:120px;
}

.csp-dashboard-status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:600;
}

.csp-dashboard-status::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:999px;
    background:#16a34a;
    display:inline-block;
}

.csp-dashboard-status.is-inactive::before{
    background:#9ca3af;
}

/* =========================================================
   CSP SIZE TIGHTENING PATCH
   Keeps same style, just smaller / more uniform
   ========================================================= */

/* ---------- Sidebar width + nav sizing ---------- */

.csp-portal-shell{
    grid-template-columns:180px minmax(0,1fr) !important;
}

.csp-portal-sidebar{
    padding:10px 8px 10px !important;
    gap:10px !important;
}

.csp-portal-brand{
    padding:4px 6px 0 !important;
}

.csp-portal-brand h2{
    font-size:13px !important;
    line-height:1.1 !important;
}

.csp-portal-nav{
    gap:6px !important;
}

.csp-portal-nav__section-group{
    gap:2px !important;
}

.csp-portal-nav__section{
    margin:6px 4px 2px !important;
    font-size:10px !important;
}

.csp-portal-nav__link{
    min-height:30px !important;
    padding:6px 10px !important;
    border-radius:10px !important;
    font-size:13px !important;
    font-weight:600 !important;
}

.csp-portal-sidebar__footer{
    margin-top:10px !important;
    padding-top:10px !important;
}

.csp-portal-user{
    margin-bottom:8px !important;
    line-height:1.25 !important;
}

.csp-portal-user strong{
    font-size:13px !important;
    margin-bottom:2px !important;
}

.csp-portal-user small{
    font-size:11px !important;
}

.csp-portal-logout{
    min-height:32px !important;
    padding:6px 10px !important;
    font-size:12px !important;
    border-radius:9px !important;
}

/* ---------- Bigger key nav labels ---------- */

.csp-portal-nav__link[href*="view=home"],
.csp-portal-nav__link[href*="view=overview"],
.csp-portal-nav__link[href*="view=operations"],
.csp-portal-nav__link[href*="view=customers"]{
    font-size:15px !important;
    font-weight:700 !important;
}

/* ---------- Header / content ---------- */

.csp-portal-header{
    padding:14px 18px 10px !important;
}

.csp-portal-header h1{
    font-size:24px !important;
    line-height:1.05 !important;
}

.csp-portal-content{
    padding:18px !important;
}

/* ---------- Cards ---------- */

.csp-card,
.csp-panel{
    padding:16px !important;
    margin-bottom:14px !important;
    border-radius:16px !important;
}

.csp-card h3,
.csp-panel h2,
.csp-panel h3{
    font-size:16px !important;
    margin-bottom:8px !important;
}

.csp-card p{
    font-size:14px !important;
    line-height:1.45 !important;
    margin-bottom:8px !important;
}

/* ---------- KPI cards ---------- */



.csp-kpi__label,
.csp-kpi-label{
    font-size:11px !important;
    margin-bottom:6px !important;
}

.csp-kpi__value,
.csp-kpi-value{
    font-size:22px !important;
    line-height:1 !important;
}

/* ---------- Uniform form fields ---------- */

.csp-form-grid,
.csp-grid-2{
    gap:12px !important;
}

.csp-form-row label,
.csp-field label,
.csp-card label{
    display:block !important;
    margin-bottom:5px !important;
    font-size:13px !important;
    font-weight:700 !important;
    color:#374151 !important;
}

.csp-form-row input,
.csp-field input[type="text"],
.csp-field input[type="email"],
.csp-field input[type="number"],
.csp-field input[type="date"],
.csp-field input[type="password"],
.csp-field select,
.csp-field textarea,
.csp-card input[type="text"],
.csp-card input[type="email"],
.csp-card input[type="number"],
.csp-card input[type="date"],
.csp-card input[type="password"],
.csp-card select,
.csp-card textarea,
.csp-card .regular-text,
.csp-card .small-text{
    width:100% !important;
    height:36px !important;
    min-height:36px !important;
    padding:7px 10px !important;
    font-size:13px !important;
    line-height:1.2 !important;
    border:1px solid #d1d5db !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#111827 !important;
    box-sizing:border-box !important;
    margin:0 !important;
    appearance:auto;
}

.csp-form-row textarea,
.csp-field textarea,
.csp-card textarea{
    height:auto !important;
    min-height:88px !important;
    padding:9px 10px !important;
    resize:vertical !important;
}

/* Fix WP tiny width utility classes from making fields inconsistent */
.csp-card .small-text{
    max-width:none !important;
}

.csp-card .regular-text{
    max-width:none !important;
}

/* ---------- Checkboxes ---------- */

.csp-checkbox,
.csp-card label:has(input[type="checkbox"]){
    min-height:auto !important;
}

.csp-checkbox input[type="checkbox"],
.csp-card input[type="checkbox"]{
    width:14px !important;
    height:14px !important;
    min-height:14px !important;
    margin:0 !important;
}

/* ---------- Uniform buttons ---------- */

.csp-btn,
.csp-btn--secondary,
.csp-btn-secondary,
.csp-card .button,
.csp-card button,
.csp-card input[type="submit"],
.csp-card .button-primary{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    height:34px !important;
    padding:0 12px !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
}

.csp-card .button + .button,
.csp-card .button + button,
.csp-card button + .button,
.csp-card button + button{
    margin-left:6px !important;
}

/* ---------- Tables ---------- */

.csp-table th,
.csp-table td{
    padding:10px 12px !important;
    font-size:13px !important;
}

.csp-table th{
    font-size:11px !important;
}

.csp-table-wrap{
    border-radius:14px !important;
}

/* ---------- Dashboard table tightening ---------- */

.csp-dashboard-table thead th{
    padding:10px 12px !important;
    font-size:12px !important;
}

.csp-dashboard-table tbody td{
    padding:11px 12px !important;
    font-size:14px !important;
}

/* ---------- Responsive ---------- */

@media (max-width: 1100px){
    .csp-portal-shell{
        grid-template-columns:170px minmax(0,1fr) !important;
    }
}

@media (max-width: 860px){
    .csp-portal-shell{
        grid-template-columns:1fr !important;
    }

    .csp-portal-header{
        padding:12px 14px 10px !important;
    }

    .csp-portal-content{
        padding:14px !important;
    }
}

/* Vehicle detail grid */

.csp-vehicle-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
}

.csp-field--full{
    grid-column:1 / -1;
}

/* Upgrade to 3 columns on wide screens */
@media (min-width:1200px){
    .csp-vehicle-grid{
        grid-template-columns:repeat(3, minmax(0,1fr));
    }
}

/* Vehicles Overview */
.csp-page-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}

.csp-page-title{
    margin:0 0 4px;
    font-size:22px;
    line-height:1.2;
}

.csp-page-subtitle{
    margin:0;
    color:#6b7280;
    font-size:13px;
}

.csp-page-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}


.csp-kpi-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:14px 16px;
}

.csp-kpi-label{
    font-size:12px;
    font-weight:600;
    color:#6b7280;
    margin-bottom:8px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.csp-kpi-value{
    font-size:28px;
    font-weight:700;
    line-height:1;
    color:#111827;
}

.csp-overview-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:16px;
}

.csp-card--span-2{
    grid-column:span 1;
}

.csp-card-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}

.csp-card-header h3{
    margin:0;
}

.csp-table-wrap{
    overflow-x:auto;
}

.csp-table{
    width:100%;
    border-collapse:collapse;
}

.csp-table th,
.csp-table td{
    padding:10px 12px;
    border-bottom:1px solid #e5e7eb;
    text-align:left;
    vertical-align:middle;
    font-size:13px;
}

.csp-table th{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#6b7280;
    background:#f9fafb;
}

.csp-row-meta{
    color:#6b7280;
    font-size:12px;
    margin-top:2px;
}

.csp-badge{
    display:inline-flex;
    align-items:center;
    padding:4px 8px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
    line-height:1;
    white-space:nowrap;
}

.csp-badge--good{
    background:#ecfdf5;
    color:#065f46;
}

.csp-badge--warning{
    background:#fffbeb;
    color:#92400e;
}

.csp-badge--danger{
    background:#fef2f2;
    color:#991b1b;
}

.csp-text-link,
.csp-table-link{
    color:#2563eb;
    text-decoration:none;
    font-weight:600;
}

.csp-text-link:hover,
.csp-table-link:hover{
    text-decoration:underline;
}

.csp-stack-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.csp-mini-stat{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fafafa;
}

.csp-mini-stat__label{
    font-size:13px;
    color:#374151;
}

.csp-mini-stat__value{
    font-size:16px;
    font-weight:700;
    color:#111827;
}

.csp-card-actions{
    margin-top:14px;
}

.csp-compact-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.csp-compact-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 0;
    border-bottom:1px solid #e5e7eb;
}

.csp-compact-item:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.csp-empty{
    margin:0;
    color:#6b7280;
}

.csp-btn--small{
    padding:7px 10px;
    font-size:12px;
}

@media (max-width: 1200px){
    .csp-kpi-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    .csp-overview-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 780px){
    .csp-page-head{
        flex-direction:column;
    }

    .csp-kpi-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

/* Parts Inventory */
.csp-kpi-grid--parts{
    grid-template-columns:repeat(5, minmax(0, 1fr));
}

.csp-parts-layout{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:16px;
    margin-bottom:16px;
}

.csp-parts-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}

.csp-overview-grid--bottom{
    margin-top:0;
}

.csp-field--checkbox{
    display:flex;
    align-items:end;
}

.csp-checkbox-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:36px;
    font-weight:500;
}

.csp-checkbox-label input[type="checkbox"]{
    width:16px;
    height:16px;
    margin:0;
}

@media (max-width: 1200px){
    .csp-parts-layout{
        grid-template-columns:1fr;
    }
}

@media (max-width: 780px){
    .csp-parts-grid{
        grid-template-columns:1fr;
    }

    .csp-kpi-grid--parts{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

/* Parts Alerts */
.csp-kpi-grid--parts-alerts{
    grid-template-columns:repeat(4, minmax(0, 1fr));
}

.csp-overview-grid--alerts{
    grid-template-columns:2fr 1fr;
    gap:16px;
}

.csp-card--alerts-main{
    grid-row:span 2;
}

@media (max-width: 1200px){
    .csp-kpi-grid--parts-alerts{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .csp-overview-grid--alerts{
        grid-template-columns:1fr;
    }

    .csp-card--alerts-main{
        grid-row:auto;
    }
}

@media (max-width: 780px){
    .csp-kpi-grid--parts-alerts{
        grid-template-columns:1fr 1fr;
    }
}

/* ========================================
   Vehicles dynamic parts UI
   ======================================== */

.csp-parts-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.csp-part-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 120px 120px 110px;
    gap: 10px;
    align-items: center;
}

.csp-part-col select,
.csp-part-col input {
    width: 100%;
}

.csp-part-stock {
    display: inline-block;
    font-size: 12px;
    color: #666;
    white-space: nowrap;
}

.csp-part-col-remove {
    display: flex;
    justify-content: flex-end;
}

.csp-remove-part-row {
    white-space: nowrap;
}

@media (max-width: 900px) {
    .csp-part-row {
        grid-template-columns: 1fr;
    }

    .csp-part-col-remove {
        justify-content: flex-start;
    }
}

/* ========================================
   Vehicles dynamic parts UI
   ======================================== */

.csp-parts-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.csp-part-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 120px 120px 110px;
    gap: 10px;
    align-items: center;
}

.csp-part-col select,
.csp-part-col input {
    width: 100%;
}

.csp-part-stock {
    display: inline-block;
    font-size: 12px;
    color: #666;
    white-space: nowrap;
}

.csp-part-col-remove {
    display: flex;
    justify-content: flex-end;
}

.csp-remove-part-row {
    white-space: nowrap;
}

/* ========================================
   Cost summary
   ======================================== */

.csp-cost-summary {
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 10px;
    background: rgba(0,0,0,0.02);
}

.csp-cost-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
    font-size: 14px;
}

.csp-cost-row:last-child {
    margin-bottom: 0;
}

.csp-cost-total {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(0,0,0,0.1);
    font-size: 16px;
}

/* ========================================
   Vendor reorder group
   ======================================== */

.csp-vendor-groups {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.csp-vendor-group {}



/* =========================================================
   CSP RUNS - PANEL / ACTION / FORM LAYOUT FIX
   ========================================================= */

.csp-page--runs .csp-grid,
.csp-page--runs .csp-grid--2{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:16px !important;
    align-items:start !important;
}

.csp-page--runs .csp-card{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    overflow:visible !important;
}

.csp-page--runs .csp-card__header{
    margin-bottom:12px !important;
}

.csp-page--runs .csp-card__body{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    min-width:0 !important;
    overflow:visible !important;
}

/* Top form grid */
.csp-page--runs .csp-form-grid,
.csp-page--runs .csp-form-grid--4{
    display:grid !important;
    grid-template-columns:1.3fr 1fr 90px 90px !important;
    gap:12px !important;
    align-items:end !important;
    margin-bottom: 12px;
}

/* Force the active checkbox field to align properly */
.csp-page--runs .csp-field--checkbox,
.csp-page--runs .csp-field--inline-end{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-height:36px !important;
    padding-bottom:2px !important;
}

/* Slot builder should stay inside the card and form a real table */
.csp-page--runs .csp-slot-builder{
    width:100% !important;
    border:1px solid #d1d5db !important;
    border-radius:12px !important;
    padding:12px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}

.csp-page--runs .csp-slot-builder__head,
.csp-page--runs .csp-slot-builder__row{
    display:grid !important;
    grid-template-columns:1.1fr 1fr 90px 1.1fr 1fr 90px !important;
    gap:12px !important;
    align-items:center !important;
}

.csp-page--runs .csp-slot-builder__head{
    margin-bottom:8px !important;
    font-size:12px !important;
    font-weight:700 !important;
    color:#6b7280 !important;
}

.csp-page--runs .csp-slot-builder__row{
    margin-bottom:10px !important;
}

.csp-page--runs .csp-slot-builder__row:last-child{
    margin-bottom:0 !important;
}

/* Assignment panel */
.csp-page--runs .csp-assignment-grid{
    display:grid !important;
    grid-template-columns:120px 90px minmax(180px,1fr) !important;
    gap:10px 12px !important;
    align-items:center !important;
}

.csp-page--runs .csp-assignment-grid__head{
    font-size:12px !important;
    font-weight:700 !important;
    color:#6b7280 !important;
    padding-bottom:4px !important;
}

.csp-page--runs .csp-assignment-grid__cell{
    min-width:0 !important;
}

/* Make actions always visible and not drift outside the card */
.csp-page--runs .csp-actions,
.csp-page--runs .csp-form-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    align-items:center !important;
    justify-content:flex-start !important;
    margin-top:12px !important;
    padding-top:4px !important;
}

/* Prevent buttons from collapsing */
.csp-page--runs .csp-actions .button,
.csp-page--runs .csp-actions button,
.csp-page--runs .csp-form-actions .button,
.csp-page--runs .csp-form-actions button{
    min-width:110px !important;
}

/* Tables */
.csp-page--runs .csp-table-wrap{
    overflow:auto !important;
    max-width:100% !important;
}

.csp-page--runs .csp-table{
    width:100% !important;
    min-width:760px !important;
}

.csp-page--runs .csp-table th:last-child,
.csp-page--runs .csp-table td:last-child{
    white-space:nowrap !important;
    width:140px !important;
}

/* Responsive */
@media (max-width: 1200px){
    .csp-page--runs .csp-form-grid,
    .csp-page--runs .csp-form-grid--4{
        grid-template-columns:1fr 1fr !important;
    }

    .csp-page--runs .csp-slot-builder__head,
    .csp-page--runs .csp-slot-builder__row{
        grid-template-columns:1fr 1fr 90px !important;
    }
}

@media (max-width: 980px){
    .csp-page--runs .csp-grid,
    .csp-page--runs .csp-grid--2{
        grid-template-columns:1fr !important;
    }
}

@media (max-width: 680px){
    .csp-page--runs .csp-form-grid,
    .csp-page--runs .csp-form-grid--4,
    .csp-page--runs .csp-slot-builder__head,
    .csp-page--runs .csp-slot-builder__row,
    .csp-page--runs .csp-assignment-grid{
        grid-template-columns:1fr !important;
    }
}
.csp-dashboard-shell {
    display: flex;
    min-height: 100vh;
}

.csp-dashboard-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    flex: 0 0 250px;
}

.csp-dashboard-main {
    flex: 1 1 auto;
    min-width: 0;
}

.csp-leg-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    margin-right: 6px;
}

.csp-leg-badge--am { background: #dbeafe; color: #1e3a8a; }
.csp-leg-badge--pm { background: #ede9fe; color: #5b21b6; }
.csp-leg-badge--hol-am { background: #fef3c7; color: #92400e; }
.csp-leg-badge--sun-am { background: #dcfce7; color: #166534; }
.csp-grid-1 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
/* ========================================
   WEEKLY ENTRY — SINGLE SOURCE OF TRUTH
   ======================================== */
/* ========================================
   FINAL ALIGNMENT POLISH
   ======================================== */

/* tighten spacing between controls + table actions */
.csp-weekly-controls-card{
    margin-bottom:10px;
}

/* make toolbar feel attached to table */

/* make buttons visually align with table edge */
.csp-weekly-inline-form--build{
    margin-left:2px;
}

.csp-weekly-inline-form--save{
    margin-right:2px;
}

/* tighten help text spacing */
.csp-weekly-action-help{
    margin-top:2px;
}

/* optional: make buttons feel slightly more "system" */
.csp-btn{
    border-radius:8px;
    font-weight:600;
}
/* Header */
.csp-weekly-page-header{
    margin-bottom:18px;
}

.csp-weekly-page-title{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin:0 0 8px;
}

.csp-weekly-page-subtitle{
    margin:0;
    color:#4b5563;
    font-size:15px;
    line-height:1.5;
}

/* Pills */
.csp-week-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    height:30px;
    padding:0 12px;
    margin-left:8px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
    border:1px solid transparent;
}

.csp-week-pill--default{
    background:#eff6ff;
    color:#1d4ed8;
    border-color:#93c5fd;
}

.csp-week-pill--saved{
    background:#ecfdf5;
    color:#166534;
    border-color:#86efac;
}

/* Controls card */
.csp-weekly-controls-card{
    margin-bottom:16px;
}

.csp-weekly-controls-shell{
    display:block;
}

.csp-weekly-controls-left{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.csp-weekly-toolbar-main{
    display:flex;
    align-items:end;
    gap:12px;
    flex-wrap:wrap;
}

.csp-weekly-field-week{
    min-width:200px;
    max-width:220px;
    flex:0 0 200px;
}

.csp-weekly-top-actions{
    display:flex;
    align-items:end;
    gap:10px;
}

.csp-weekly-toolbar-secondary{
    margin-top:2px;
}

.csp-weekly-checkbox{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    font-weight:600;
    color:#374151;
}

.csp-weekly-checkbox input[type="checkbox"]{
    width:16px;
    height:16px;
    margin:0;
}

.csp-weekly-small-note{
    font-size:13px;
    line-height:1.5;
    color:#6b7280;
    max-width:560px;
}
.csp-weekly-table-actions{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    width:100%;
    margin:0 0 10px;
    padding:0;
    border-bottom:none !important;
}

.csp-weekly-table-actions__spacer{
    display:none;
}

.csp-weekly-inline-form{
    margin:0;
    display:flex;
    align-items:flex-start;
    gap:12px;
    flex:0 0 auto;
    max-width:48%;
}

.csp-weekly-inline-form--build{
    justify-content:flex-start;
}

.csp-weekly-inline-form--save{
    justify-content:flex-end;
    margin-left:auto;
    text-align:right;
}

.csp-weekly-inline-form .button,
.csp-weekly-inline-form .csp-btn{
    flex:0 0 auto;
    white-space:nowrap;
}

.csp-weekly-action-help{
    font-size:12px;
    line-height:1.45;
    color:#6b7280;
    margin:0;
    max-width:240px;
}

.csp-weekly-inline-form--save .csp-weekly-action-help{
    text-align:right;
}

@media (max-width: 900px){
    .csp-weekly-table-actions{
        flex-direction:column;
        align-items:flex-start;
        gap:14px;
    }

    .csp-weekly-inline-form{
        max-width:none;
        width:100%;
        margin-left:0;
        text-align:left;
    }

    .csp-weekly-inline-form--save{
        justify-content:flex-start;
    }

    .csp-weekly-inline-form--save .csp-weekly-action-help{
        text-align:left;
    }
}

/* Table area */
.csp-weekly-save-form{
    width:100%;
}

.csp-weekly-matrix-wrap{
    width:100%;
    overflow:auto;
    border:1px solid #d7dde5;
    border-radius:14px;
    background:#fff;
    margin-top:6px;
}

.csp-weekly-matrix-table{
    width:max-content;
    min-width:100%;
    border-collapse:collapse;
    table-layout:fixed;
    font-size:12px;
}

.csp-weekly-matrix-table th,
.csp-weekly-matrix-table td{
    border:1px solid #cfd6de;
    padding:0;
    text-align:center;
    vertical-align:middle;
}

.csp-weekly-matrix-table thead th{
    font-weight:700;
}

.csp-weekly-matrix-table thead tr:first-child th{
    background:#e8eef5;
    color:#111827;
    font-size:14px;
    height:34px;
    padding:4px 6px;
}

.csp-weekly-matrix-table thead tr:nth-child(2) th{
    background:#123f69;
    color:#fff;
    font-size:11px;
    height:22px;
    padding:0 4px;
}

.csp-weekly-matrix-left-top{
    background:#f3f6fa !important;
    color:#111827 !important;
}

.csp-weekly-matrix-col-date{
    width:62px;
    min-width:62px;
}

.csp-weekly-matrix-col-employee{
    width:120px;
    min-width:120px;
}

.csp-weekly-matrix-col-slot{
    width:40px;
    min-width:40px;
}

.csp-weekly-matrix-col-total{
    width:70px;
    min-width:70px;
}

.csp-weekly-matrix-table tbody tr:nth-child(odd) td{
    background:#eef3f8;
}

.csp-weekly-matrix-table tbody tr:nth-child(even) td{
    background:#ffffff;
}

.csp-weekly-matrix-table tbody td.csp-weekly-matrix-identity{
    text-align:left;
    padding:4px 6px;
    font-size:12px;
    white-space:nowrap;
}

.csp-weekly-matrix-date{
    font-weight:700;
    white-space:nowrap;
}

.csp-weekly-matrix-name{
    font-weight:600;
}

.csp-weekly-matrix-slot{
    position:relative;
    height:22px;
}

.csp-weekly-matrix-slot input[type="checkbox"]{
    width:12px;
    height:12px;
    margin:0;
    transform:scale(0.9);
    accent-color:#123f69;
}

.csp-weekly-matrix-slot.is-checked{
    background:#dceec7 !important;
}

.csp-weekly-matrix-slot.is-disabled{
    background:#f3f4f6 !important;
    opacity:.5;
}

.csp-weekly-matrix-total{
    font-weight:700;
    text-align:right !important;
    padding:0 10px !important;
    font-size:13px;
    background:#f4f6f9 !important;
}

.csp-weekly-day-divider td{
    border-top:2px solid #b8c4d1 !important;
}

/* Responsive */
@media (max-width: 900px){
    .csp-weekly-table-actions{
        flex-direction:column;
        align-items:flex-start;
    }

    .csp-weekly-table-actions__spacer{
        display:none;
    }

    .csp-weekly-inline-form--save{
        align-items:flex-start;
    }

    .csp-weekly-inline-form--save .csp-weekly-action-help{
        text-align:left;
    }
}

@media (max-width: 680px){
    .csp-weekly-toolbar-main{
        flex-direction:column;
        align-items:stretch;
    }

    .csp-weekly-field-week{
        min-width:0;
        max-width:none;
        flex:1 1 auto;
    }

    .csp-week-pill{
        margin-left:0;
    }
}
/* ========================================
   VEHICLE LINK (LEFT COLUMN)
   ======================================== */

.csp-vehicle-link{
    display:inline-block;
    font-weight:800;
    font-size:15px;
    color:#1f2937;
    text-decoration:none;
    transition:.15s ease;
}

.csp-vehicle-link:visited{
    color:#1f2937;
}

.csp-vehicle-link:hover{
    color:#111827;
    transform:translateY(-1px);
}

.csp-vehicle-meta{
    display:block;
    margin-top:3px;
    font-size:12.5px;
    font-weight:600;
    color:#6b7280;
}

/* ========================================
   ACTION BUTTONS (RIGHT COLUMN)
   ======================================== */

.csp-vehicle-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

/* Base pill */
.csp-action-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
    border:1px solid #dbe3ec;
    background:#f8fafc;
    color:#334155;
    transition:.15s ease;
}

.csp-action-link:hover{
    transform:translateY(-1px);
}

/* View */
.csp-action-link--view{
    background:#f8fafc;
    color:#334155;
}

.csp-action-link--view:hover{
    background:#eef2f7;
}

/* Edit */
.csp-action-link--edit{
    background:#f5f3ff;
    border-color:#ddd6fe;
    color:#5b21b6;
}

.csp-action-link--edit:hover{
    background:#ede9fe;
}
/* ========================================
   VEHICLES TABLE — LINK POLISH
   ======================================== */

/* Vehicle title cell */
.csp-vehicle-link{
    display:inline-block;
    font-weight:800;
    font-size:16px;
    line-height:1.2;
    color:#1f2937;
    text-decoration:none;
    transition:all .18s ease;
}

.csp-vehicle-link:visited{
    color:#1f2937;
}

.csp-vehicle-link:hover{
    color:#111827;
    text-decoration:none;
    transform:translateY(-1px);
}

.csp-vehicle-meta{
    display:block;
    margin-top:4px;
    font-size:13px;
    font-weight:600;
    line-height:1.35;
    color:#6b7280;
}

/* Actions */
.csp-vehicle-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.csp-action-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:58px;
    min-height:34px;
    padding:0 14px;
    border-radius:999px;
    background:#ffffff;
    border:1px solid #d7dce3;
    color:#374151;
    font-size:13px;
    font-weight:800;
    line-height:1;
    text-decoration:none;
    box-shadow:0 1px 0 rgba(17,24,39,.04);
    transition:all .18s ease;
}

.csp-action-link:visited{
    color:#374151;
}

.csp-action-link:hover{
    background:#f8fafc;
    border-color:#c4ccd6;
    color:#111827;
    text-decoration:none;
    transform:translateY(-1px);
}

.csp-action-link--edit{
    background:#f5f3ff;
    border-color:#ddd6fe;
    color:#5b21b6;
}

.csp-action-link--edit:visited{
    color:#5b21b6;
}

.csp-action-link--edit:hover{
    background:#ede9fe;
    border-color:#c4b5fd;
    color:#4c1d95;
}

.csp-action-link--view{
    background:#f8fafc;
    border-color:#dbe3ec;
    color:#334155;
}

.csp-action-link--view:visited{
    color:#334155;
}

.csp-action-link--view:hover{
    background:#eef2f7;
    border-color:#cbd5e1;
    color:#0f172a;
}

/* Optional: tighten vehicle table look a little */
.csp-vehicles-table td{
    vertical-align:middle;
}

.csp-vehicles-table td:first-child{
    min-width:280px;
}

.csp-vehicles-table td:last-child{
    width:150px;
}
/* ========================================
   VEHICLE DETAIL HEADER ACTIONS
   ======================================== */

.csp-vehicle-detail-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:8px;
}

.csp-top-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:36px;
    padding:0 14px;
    border-radius:999px;
    border:1px solid #d9dee7;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
    transition:.15s ease;
}

/* Back */
.csp-top-action--secondary{
    background:#f8fafc;
    color:#334155;
}

.csp-top-action--secondary:hover{
    background:#eef2f7;
    color:#0f172a;
}

/* Edit */
.csp-top-action--primary{
    background:#f5f3ff;
    border-color:#ddd6fe;
    color:#5b21b6;
}

.csp-top-action--primary:hover{
    background:#ede9fe;
    color:#4c1d95;
}
/* ========================================
   HISTORY PAGE
   ======================================== */

.csp-history-kpi-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
    gap:16px;
    margin-bottom:18px;
}

.csp-history-shell{
    display:grid;
    grid-template-columns:minmax(320px, 420px) minmax(0, 1fr);
    gap:18px;
    align-items:start;
}

.csp-history-stack{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.csp-history-kpi-card{
    padding:14px 16px;
}

.csp-history-kpi-label{
    font-size:12px;
    color:#6b7280;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:4px;
    font-weight:700;
}

.csp-history-kpi-value{
    font-size:18px;
    font-weight:800;
    line-height:1.2;
    color:#111827;
}

.csp-history-kpi-value--large{
    font-size:28px;
}

.csp-history-section-title{
    margin:0 0 6px;
}

.csp-history-section-subtitle{
    margin:0;
    color:#6b7280;
}

.csp-history-form-label{
    display:block;
    font-weight:700;
    margin-bottom:6px;
}

.csp-history-search-form{
    display:flex;
    gap:8px;
    align-items:end;
    flex-wrap:wrap;
    margin-bottom:14px;
}

.csp-history-search-field{
    flex:1;
    min-width:200px;
}

.csp-history-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:10px;
    font-size:13px;
    color:#6b7280;
}

.csp-history-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

/* Archive library rows */
.csp-history-library-item{
    border:1px solid #d7dde6;
    border-radius:16px;
    padding:14px 16px;
    background:rgba(255,255,255,.55);
    transition:.15s ease;
}

.csp-history-library-item.is-selected{
    border-color:#2271b1;
    background:#eef6ff;
}

.csp-history-library-row{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
}

.csp-history-library-main{
    min-width:0;
    flex:1 1 auto;
}

.csp-history-library-title{
    margin:0 0 6px;
    font-size:15px;
    font-weight:800;
    line-height:1.25;
}

.csp-history-library-title a{
    color:#4c1d95;
    text-decoration:none;
}

.csp-history-library-title a:hover{
    text-decoration:none;
    color:#3b157f;
}

.csp-history-library-meta{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    font-size:13px;
    color:#6b7280;
    line-height:1.45;
}

.csp-history-library-notes{
    margin-top:6px;
    font-size:13px;
    color:#6b7280;
}

.csp-history-library-actions{
    display:flex;
    gap:8px;
    align-items:center;
    flex-shrink:0;
}

.csp-history-library-actions .button,
.csp-history-library-actions button.button{
    min-width:74px;
    height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    font-size:13px;
    font-weight:800;
    line-height:1;
    padding:0 14px;
    box-shadow:none;
}

.csp-history-library-actions .button:not(.button-primary){
    background:#f8fafc;
    border-color:#dbe3ec;
    color:#4c1d95;
}

.csp-history-library-actions .button:not(.button-primary):hover{
    background:#eef2f7;
    border-color:#cfd8e3;
    color:#3b157f;
}

/* Pagination */
.csp-history-pagination{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin-top:14px;
}

/* Detail header */
.csp-history-detail-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

.csp-history-detail-meta{
    text-align:right;
}

/* Summary cards */
.csp-history-summary-cards{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
    gap:12px;
    margin-bottom:16px;
}

.csp-history-summary-card{
    padding:12px;
    border:1px solid #dcdcde;
    border-radius:12px;
    background:rgba(255,255,255,.45);
}

.csp-history-summary-card-label{
    font-size:12px;
    color:#6b7280;
    text-transform:uppercase;
    font-weight:700;
    margin-bottom:2px;
}

.csp-history-summary-card-value{
    font-size:18px;
    font-weight:800;
    color:#111827;
}

/* Notes box */
.csp-history-notes-box{
    margin-bottom:16px;
    padding:12px;
    border:1px solid #dcdcde;
    border-radius:12px;
    background:#fafafa;
}

.csp-history-notes-box-label{
    font-size:12px;
    color:#6b7280;
    text-transform:uppercase;
    margin-bottom:6px;
    font-weight:700;
}

/* Shared table wrap */
.csp-history-table-wrap{
    overflow:auto;
}

/* Summary table */
.csp-history-summary-table{
    width:100%;
    min-width:760px;
    border-collapse:collapse;
    table-layout:fixed;
    margin-bottom:16px;
}

.csp-history-summary-table th,
.csp-history-summary-table td{
    padding:8px 10px;
    vertical-align:middle;
    border-bottom:1px solid #e8edf3;
}

.csp-history-summary-table thead th{
    font-size:13px;
    font-weight:800;
    color:#374151;
    background:transparent;
}

.csp-history-summary-table tbody td{
    font-size:14px;
    color:#111827;
}

.csp-history-summary-table tfoot th,
.csp-history-summary-table tfoot td{
    padding-top:10px;
    border-top:1px solid #dbe3ec;
    border-bottom:none;
    font-weight:800;
}

.csp-history-summary-table th:nth-child(1),
.csp-history-summary-table td:nth-child(1){
    width:40%;
}

.csp-history-summary-table th:nth-child(2),
.csp-history-summary-table td:nth-child(2){
    width:20%;
    text-align:right;
}

.csp-history-summary-table th:nth-child(3),
.csp-history-summary-table td:nth-child(3){
    width:22%;
    text-align:right;
}

.csp-history-summary-table th:nth-child(4),
.csp-history-summary-table td:nth-child(4){
    width:18%;
    text-align:right;
}

/* Employee detail cards */
.csp-history-employee-card{
    margin-bottom:16px;
    border:1px solid #dcdcde;
    border-radius:12px;
    overflow:hidden;
    background:rgba(255,255,255,.45);
}

.csp-history-employee-head{
    padding:12px 14px;
    background:#f6f7f7;
    border-bottom:1px solid #dcdcde;
    font-weight:800;
    color:#111827;
}

/* Detail table */
.csp-history-detail-table{
    width:100%;
    min-width:860px;
    border-collapse:collapse;
    table-layout:fixed;
    margin:0;
}

.csp-history-detail-table th,
.csp-history-detail-table td{
    padding:8px 10px;
    border-bottom:1px solid #edf2f7;
    vertical-align:middle;
}

.csp-history-detail-table thead th{
    font-size:12px;
    font-weight:800;
    color:#4b5563;
}

.csp-history-detail-table tbody td{
    font-size:14px;
    color:#111827;
}

.csp-history-detail-table tbody tr:last-child td{
    border-bottom:none;
}

.csp-history-detail-table th:nth-child(1),
.csp-history-detail-table td:nth-child(1){
    width:22%;
}

.csp-history-detail-table th:nth-child(2),
.csp-history-detail-table td:nth-child(2){
    width:14%;
}

.csp-history-detail-table th:nth-child(3),
.csp-history-detail-table td:nth-child(3){
    width:10%;
    text-align:center;
}

.csp-history-detail-table th:nth-child(4),
.csp-history-detail-table td:nth-child(4){
    width:12%;
    text-align:right;
}

.csp-history-detail-table th:nth-child(5),
.csp-history-detail-table td:nth-child(5){
    width:14%;
    text-align:center;
}

.csp-history-detail-table th:nth-child(6),
.csp-history-detail-table td:nth-child(6){
    width:28%;
}

@media (max-width: 1080px){
    .csp-history-shell{
        grid-template-columns:1fr;
    }

    .csp-history-library-row{
        flex-direction:column;
    }

    .csp-history-library-actions{
        width:100%;
        justify-content:flex-start;
    }
}

.cs-dashboard-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:16px;
    margin-bottom:20px;
}

.cs-dashboard-kpi-card,
.cs-portal-panel{
    background:#fff;
    border:1px solid rgba(0,0,0,0.08);
    border-radius:16px;
    padding:18px;
}

.cs-dashboard-kpi-label{
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    opacity:.7;
    margin-bottom:6px;
}

.cs-dashboard-kpi-value{
    font-size:28px;
    font-weight:800;
}

.cs-portal-toolbar{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    align-items:center;
}

.cs-portal-toolbar input,
.cs-portal-toolbar select{
    min-height:40px;
    padding:8px 12px;
}

.cs-portal-grid--2{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:20px;
}

.cs-detail-stack{
    display:grid;
    gap:12px;
}

.cs-detail-box{
    margin-top:6px;
    padding:12px;
    border-radius:12px;
    background:#f7f7f7;
    white-space:pre-wrap;
}

.cs-file-list{
    margin:8px 0 0;
    padding-left:18px;
}

.cs-status-pill{
    display:inline-flex;
    align-items:center;
    padding:4px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
}

.cs-status-pill--new{ background:#e8f1ff; color:#1d4ed8; }
.cs-status-pill--contacted{ background:#fef3c7; color:#92400e; }
.cs-status-pill--quoted{ background:#ede9fe; color:#6d28d9; }
.cs-status-pill--won{ background:#dcfce7; color:#166534; }
.cs-status-pill--lost{ background:#fee2e2; color:#991b1b; }

@media (max-width: 1100px){
    .cs-dashboard-kpi-grid,
    .cs-portal-grid--2{
        grid-template-columns:1fr;
    }
}



.csp-quote-approval-layout{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:20px;
    margin-top:20px;
}

.csp-admin-card{
    background:#fff;
    border:1px solid #d9dee7;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(0,0,0,0.05);
}

.csp-admin-card__header{
    padding:16px 18px;
    border-bottom:1px solid #e5e7eb;
    background:#f9fafb;
}

.csp-admin-card__header--space{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

.csp-admin-card__body{
    padding:18px;
}

.csp-approval-list__item{
    display:block;
    padding:14px 16px;
    border-bottom:1px solid #eee;
    text-decoration:none;
    color:#111;
}

.csp-approval-list__item:hover{
    background:#f9fafb;
}

.csp-approval-list__item.is-active{
    background:#eef6ff;
    border-left:4px solid #2563eb;
}

.csp-status-badge{
    font-size:12px;
    padding:4px 8px;
    border-radius:999px;
    font-weight:600;
}

.csp-status-badge--pending{
    background:#fff7ed;
    color:#9a3412;
}

.csp-status-badge--approved{
    background:#ecfdf5;
    color:#065f46;
}

.csp-status-badge--revision{
    background:#fef2f2;
    color:#991b1b;
}

.csp-status-badge--sent{
    background:#eff6ff;
    color:#1d4ed8;
}

.csp-preview-meta-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-bottom:20px;
}

.csp-preview-meta-card{
    background:#f9fafb;
    padding:12px;
    border-radius:10px;
    border:1px solid #e5e7eb;
}

.csp-preview-meta-card__label{
    font-size:11px;
    text-transform:uppercase;
    color:#6b7280;
    display:block;
    margin-bottom:4px;
}

.csp-preview-section{
    margin-top:20px;
}

.csp-preview-box{
    border:1px solid #e5e7eb;
    border-radius:10px;
    padding:14px;
    background:#fff;
}


/* ========================================
   QUOTE APPROVAL QUEUE
   ======================================== */

.csp-quote-approval-layout{
    display:grid;
    grid-template-columns:340px minmax(0,1fr);
    gap:20px;
    margin-top:20px;
    align-items:start;
}

.csp-admin-card{
    background:#fff;
    border:1px solid #d9dee7;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(0,0,0,0.05);
}

.csp-admin-card__header{
    padding:16px 18px;
    border-bottom:1px solid #e5e7eb;
    background:#f9fafb;
}

.csp-admin-card__header--space{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.csp-admin-card__body{
    padding:18px;
}

/* ========================================
   LEFT LIST
   ======================================== */

.csp-approval-list{
    display:flex;
    flex-direction:column;
}

.csp-approval-list__item{
    display:block;
    padding:14px 16px;
    border-bottom:1px solid #eee;
    text-decoration:none;
    color:#111;
    transition:background-color .18s ease;
}

.csp-approval-list__item:hover{
    background:#f9fafb;
}

.csp-approval-list__item.is-active{
    background:#eef6ff;
    box-shadow:inset 4px 0 0 #2563eb;
}

.csp-approval-list__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:6px;
}

.csp-approval-list__meta{
    margin-top:4px;
    font-size:13px;
    color:#374151;
}

/* ========================================
   STATUS BADGES
   ======================================== */

.csp-status-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    padding:0 8px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
    white-space:nowrap;
}

.csp-status-badge--pending{
    background:#fff7ed;
    color:#9a3412;
}

.csp-status-badge--approved{
    background:#ecfdf5;
    color:#065f46;
}

.csp-status-badge--revision{
    background:#fef2f2;
    color:#991b1b;
}

.csp-status-badge--sent{
    background:#eff6ff;
    color:#1d4ed8;
}

/* ========================================
   PREVIEW
   ======================================== */

.csp-preview-meta-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:20px;
}

.csp-preview-meta-card{
    background:#f9fafb;
    border:1px solid #e5e7eb;
    border-radius:10px;
    padding:12px;
}

.csp-preview-meta-card__label{
    display:block;
    margin-bottom:4px;
    font-size:11px;
    text-transform:uppercase;
    color:#6b7280;
}

.csp-preview-section{
    margin-top:20px;
}

.csp-preview-box{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:10px;
    padding:14px;
}

/* ========================================
   ACTIONS
   ======================================== */

.csp-approval-actions{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
}

.csp-inline-action-form,
.csp-revision-form{
    margin:0;
    display:flex;
    align-items:center;
    gap:10px;
}

/* stable button base */
.csp-approval-actions .button{
    appearance:none;
    -webkit-appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:42px;
    min-height:42px;
    padding:0 18px;
    border:none !important;
    border-radius:10px;
    box-shadow:none !important;
    text-shadow:none !important;
    background-image:none !important;
    text-decoration:none !important;
    outline:none !important;
    font-size:14px;
    font-weight:600;
    line-height:1;
    cursor:pointer;
    transform:none !important;
    position:static !important;
    top:auto !important;
    transition:background-color .18s ease, opacity .18s ease;
}

.csp-approval-actions .button:hover,
.csp-approval-actions .button:focus,
.csp-approval-actions .button:active,
.csp-approval-actions .button:visited{
    box-shadow:none !important;
    text-decoration:none !important;
    outline:none !important;
    transform:none !important;
    position:static !important;
    top:auto !important;
}

/* approve */
.csp-approve-btn,
.csp-approve-btn:visited{
    background:#16a34a !important;
    color:#fff !important;
}

.csp-approve-btn:hover,
.csp-approve-btn:focus,
.csp-approve-btn:active{
    background:#15803d !important;
    color:#fff !important;
}

/* send */
.csp-send-btn,
.csp-send-btn:visited{
    background:#2563eb !important;
    color:#fff !important;
}

.csp-send-btn:hover,
.csp-send-btn:focus,
.csp-send-btn:active{
    background:#1d4ed8 !important;
    color:#fff !important;
}

/* revision */
.csp-revision-textarea{
    width:260px;
    height:42px;
    min-height:42px;
    max-height:42px;
    margin:0;
    padding:0 12px;
    background:#fff;
    border:1px solid #d1d5db;
    border-radius:10px;
    box-shadow:none;
    font-size:13px;
    line-height:40px;
    resize:none;
    overflow:hidden;
}

.csp-revision-textarea:focus{
    outline:none;
    border-color:#94a3b8;
    box-shadow:none;
}

.csp-btn-revision,
.csp-btn-revision:visited{
    background:#f59e0b !important;
    color:#fff !important;
}

.csp-btn-revision:hover,
.csp-btn-revision:focus,
.csp-btn-revision:active{
    background:#d97706 !important;
    color:#fff !important;
}

.csp-approval-actions .button:disabled,
.csp-approval-actions .button[disabled]{
    opacity:.5;
    cursor:not-allowed;
    pointer-events:none;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width:1100px){
    .csp-quote-approval-layout{
        grid-template-columns:1fr;
    }

    .csp-preview-meta-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:700px){
    .csp-preview-meta-grid{
        grid-template-columns:1fr;
    }

    .csp-revision-form{
        flex-wrap:wrap;
    }

    .csp-revision-textarea{
        width:100%;
    }
}
.csp-vehicle-maintenance-page .csp-card {
    margin-bottom: 18px;
}

.csp-vm-filter-form {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.csp-vm-filter-form label {
    font-weight: 700;
    color: #213a28;
}

.csp-vm-filter-form select {
    min-width: 220px;
}

.csp-vm-log-card {
    padding: 20px;
}

.csp-vm-history-card {
    padding: 20px;
}

.csp-form-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 14px 18px;
}

.csp-vm-form-split {
    display: grid;
    grid-template-columns: minmax(420px, 1fr) minmax(360px, 1fr);
    gap: 22px;
    margin-top: 20px;
}

.csp-vm-parts-box h4 {
    margin: 0 0 10px;
}

.csp-vm-parts-head,
.csp-vm-part-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 100px;
    gap: 10px;
    align-items: center;
}

.csp-vm-parts-head {
    font-size: 12px;
    font-weight: 800;
    color: #6b7280;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.csp-vm-part-row {
    margin-bottom: 8px;
}

.csp-vm-part-row select,
.csp-vm-part-row input,
.csp-vm-form input,
.csp-vm-form select,
.csp-vm-form textarea {
    width: 100%;
}

.csp-vm-notes-box label {
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
    color: #213a28;
}

.csp-vm-notes-box textarea {
    min-height: 150px;
}

.csp-vm-notes-box .csp-form-actions {
    justify-content: flex-end;
    margin-top: 14px;
}

.csp-empty-state {
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
}

@media (max-width: 1100px) {
    .csp-form-grid-4,
    .csp-vm-form-split {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 720px) {
    .csp-form-grid-4,
    .csp-vm-form-split {
        grid-template-columns: 1fr;
    }

    .csp-vm-parts-head,
    .csp-vm-part-row {
        grid-template-columns: 1fr;
    }
}

.csp-action-link--maintenance {
    background: #e8f7ee;
    color: #217a3d;
    border: 1px solid #9fd6b1;
}

.csp-action-link--maintenance:hover {
    background: #d8f0e0;
    color: #17612f;
}

.csp-vm-parts-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.csp-vm-parts-head-5,
.csp-vm-part-row-5 {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 120px 90px 120px 44px;
    gap: 10px;
    align-items: center;
}

.csp-vm-parts-head-5 {
    font-size: 12px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.csp-vm-part-row-5 {
    margin-bottom: 8px;
}

.csp-part-line-total {
    background: #f8fafc;
    font-weight: 700;
}

.csp-remove-part {
    min-width: 40px;
    padding: 0;
    font-weight: 700;
}

@media (max-width: 900px) {
    .csp-vm-parts-head-5 {
        display: none;
    }

    .csp-vm-part-row-5 {
        grid-template-columns: 1fr;
    }
}

.csp-vm-grand-total-bar {
    position: sticky;
    bottom: 0;
    z-index: 20;
    margin-top: 18px;
    padding: 14px 16px;
    background: rgba(255,255,255,0.96);
    border: 1px solid #dbe3ef;
    border-radius: 14px;
    box-shadow: 0 5px 5px rgba(15,23,42,0.08);
    display: flex;
    justify-content: flex-end;
    gap: 22px;
    align-items: center;
}

.csp-vm-grand-total-bar span {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #64748b;
}

.csp-vm-grand-total-bar strong {
    font-size: 15px;
    color: #111827;
}

.csp-vm-grand-total-main strong {
    font-size: 20px;
    color: #1f3f2a;
}
/* =========================================================
   VEHICLE QUICK CARDS — 4 COLUMNS / 2 ROWS
   ========================================================= */

.csp-vehicles-page .csp-vehicle-quick-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 18px 0 26px !important;
}

.csp-vehicles-page .csp-vehicle-quick-card {
    appearance: none !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 82px !important;
    height: auto !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    border: 1px solid #e5e7eb !important;
    background: #fff !important;
    color: #111827 !important;
    text-align: left !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.05) !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
}

.csp-vehicles-page .csp-vehicle-quick-card:hover {
    background: #fff !important;
    color: #111827 !important;
    transform: translateY(-1px);
}

.csp-vehicles-page .csp-vehicle-quick-label {
    display: block !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    color: #6b7280 !important;
    font-weight: 800 !important;
    margin: 0 0 8px !important;
}

.csp-vehicles-page .csp-vehicle-quick-value {
    display: block !important;
    font-size: 24px !important;
    line-height: 1 !important;
    color: #111827 !important;
    font-weight: 900 !important;
}

.csp-vehicles-page .csp-vehicle-quick-meta {
    display: block !important;
    margin-top: 8px !important;
    color: #6b7280 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
}

/* responsive */
@media (max-width: 1100px) {
    .csp-vehicles-page .csp-vehicle-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .csp-vehicles-page .csp-vehicle-quick-grid {
        grid-template-columns: 1fr !important;
    }
}

.csp-inv-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 12px;
}

/* RED */
.csp-inv-danger {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

/* AMBER */
.csp-inv-warning {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
}

/* GREEN */
.csp-inv-good {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #bbf7d0;
}

/* fallback */
.csp-inv-neutral {
    background: #f1f5f9;
    color: #475569;
}


.csp-inv-neutral {
    background: #f1f5f9;
    color: #475569;
    border-color: #e2e8f0;
}

/* ========================================
   VEHICLE EDIT MODE (REAL VISUAL STATE)
   ======================================== */

/* Entire edit card stands out */
.csp-vehicle-edit-form {
    border: 2px solid #c7d2fe;
    background: linear-gradient(180deg, #f8faff 0%, #ffffff 100%);
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 10px 30px rgba(37, 99, 235, 0.08);
}

/* Edit header */
.csp-card h3:has(+ .csp-vehicle-edit-form),
.csp-vehicle-edit-form h3 {
    color: #1d4ed8;
}

/* Inputs pop more in edit mode */
.csp-vehicle-edit-form input,
.csp-vehicle-edit-form select,
.csp-vehicle-edit-form textarea {
    border-color: #c7d2fe !important;
    background: #ffffff;
}

/* Focus state (important UX upgrade) */
.csp-vehicle-edit-form input:focus,
.csp-vehicle-edit-form select:focus,
.csp-vehicle-edit-form textarea:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 2px rgba(37,99,235,0.15);
    outline: none;
}

/* Save button = strong blue (not purple) */
.csp-vehicle-edit-form .csp-top-action--primary {
    background: linear-gradient(180deg,#2563eb,#1d4ed8);
    color: #fff;
    border: none;
}

.csp-vehicle-edit-form .csp-top-action--primary:hover {
    background: linear-gradient(180deg,#1d4ed8,#1e40af);
}

/* Cancel button toned down */
.csp-vehicle-edit-form .csp-top-action--secondary {
    background: #f1f5f9;
}

/* Form spacing improvement */
.csp-vehicle-edit-form .csp-field {
    margin-bottom: 10px;
}

/* Checkbox alignment fix */
.csp-vehicle-edit-form .csp-field input[type="checkbox"] {
    transform: scale(1.1);
}

/* ========================================
   VEHICLE EDIT GRID (FIX SPACING)
   ======================================== */

/* Main edit grid */
.csp-vehicle-edit-form .csp-grid,
.csp-vehicle-edit-form .csp-grid-2 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px !important;
}

/* Each field */
.csp-vehicle-edit-form .csp-field {
    margin: 0 !important;
}

/* Full width fields */
.csp-vehicle-edit-form .csp-field--full {
    grid-column: 1 / -1;
}

/* Make textareas span full */
.csp-vehicle-edit-form textarea {
    grid-column: 1 / -1;
}

/* Better alignment for checkbox */
.csp-vehicle-edit-form .csp-field input[type="checkbox"] {
    margin-top: 10px;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 1200px) {
    .csp-vehicle-edit-form .csp-grid,
    .csp-vehicle-edit-form .csp-grid-2 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 800px) {
    .csp-vehicle-edit-form .csp-grid,
    .csp-vehicle-edit-form .csp-grid-2 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .csp-vehicle-edit-form .csp-grid,
    .csp-vehicle-edit-form .csp-grid-2 {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   VEHICLE DETAIL INFO GRID
   ======================================== */

.csp-vehicle-info-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid #e5e7eb;
    border-radius:16px;
    overflow:hidden;
    background:#fff;
}

.csp-vehicle-info-row{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    min-height:42px;
    border-bottom:1px solid #e5e7eb;
}

.csp-vehicle-info-row:nth-child(odd){
    border-right:1px solid #e5e7eb;
}

.csp-vehicle-info-row--full{
    grid-column:1 / -1;
    border-right:none !important;
}

.csp-vehicle-info-label{
    display:flex;
    align-items:center;
    padding:10px 14px;
    background:#f8fafc;
    color:#6b7280;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.csp-vehicle-info-value{
    display:flex;
    align-items:center;
    padding:10px 14px;
    color:#374151;
    font-size:14px;
    font-weight:700;
    min-width:0;
    word-break:break-word;
}

@media (max-width: 1000px){
    .csp-vehicle-info-grid{
        grid-template-columns:1fr;
    }

    .csp-vehicle-info-row{
        border-right:none !important;
    }
}

@media (max-width: 640px){
    .csp-vehicle-info-row{
        grid-template-columns:1fr;
    }

    .csp-vehicle-info-label{
        padding-bottom:4px;
    }

    .csp-vehicle-info-value{
        padding-top:4px;
    }
}

/* ========================================
   HEADER ACTION BUTTONS (INLINE FIX)
   ======================================== */

.csp-vehicle-detail-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:10px;
    flex-wrap:wrap; /* prevents breaking layout on smaller screens */
}

/* ensure buttons stay inline and consistent */
.csp-vehicle-detail-actions .csp-top-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
}

/* add bottom spacing from content below */
.csp-page-header{
    margin-bottom:16px;
}

/* ========================================
   CSP PAGE HEADERS + ACTION BUTTONS
   ======================================== */

.csp-page-head,
.csp-vm-page-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}

.csp-page-title{
    margin:0 0 6px;
    font-size:32px;
    line-height:1.05;
    font-weight:900;
    letter-spacing:-0.04em;
    color:#112718;
}

.csp-page-subtitle{
    margin:0;
    font-size:15px;
    line-height:1.45;
    color:#4b5563;
}

.csp-page-actions,
.csp-vehicle-detail-actions{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:wrap !important;
}

.csp-top-action{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 14px !important;
    border-radius:999px !important;
    border:1px solid #d9dee7 !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

.csp-top-action--secondary{
    background:#f8fafc !important;
    color:#1f2937 !important;
}

.csp-top-action--secondary:hover{
    background:#eef2f7 !important;
    color:#111827 !important;
}

.csp-top-action--primary{
    background:#f5f3ff !important;
    border-color:#ddd6fe !important;
    color:#5b21b6 !important;
}

.csp-top-action--primary:hover{
    background:#ede9fe !important;
    color:#4c1d95 !important;
}

/* ========================================
   MAINTENANCE FORM POLISH
   ======================================== */

.csp-vm-form .csp-form-grid-4{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    gap:12px !important;
}

.csp-vm-form-split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    align-items:start;
    margin-top:18px;
}

.csp-vm-parts-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}

.csp-vm-parts-title-row h4{
    margin:0;
    font-size:16px;
    font-weight:900;
    color:#1f3323;
}

.csp-vm-parts-head-5,
.csp-vm-part-row-5{
    display:grid;
    grid-template-columns:minmax(220px,1fr) 120px 90px 120px 44px;
    gap:8px;
    align-items:center;
}

.csp-vm-parts-head{
    margin-bottom:6px;
    color:#6b7280;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.csp-vm-part-row{
    margin-bottom:8px;
}

.csp-vm-grand-total-bar{
    display:flex;
    justify-content:flex-end;
    gap:26px;
    margin-top:12px;
    padding:14px 16px;
    border:1px solid #e5e7eb;
    border-radius:14px;
    background:#fff;
    box-shadow:0 6px 14px rgba(15,23,42,.06);
}

.csp-vm-grand-total-bar span{
    display:block;
    font-size:11px;
    font-weight:900;
    color:#64748b;
    text-transform:uppercase;
}

.csp-vm-grand-total-bar strong{
    display:block;
    font-size:16px;
    font-weight:900;
    color:#111827;
}

.csp-vm-grand-total-main strong{
    font-size:22px;
    color:#14532d;
}

.csp-vm-notes-box textarea{
    min-height:130px !important;
}

.csp-vm-save-actions{
    justify-content:flex-end;
}

.csp-action-link--edit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:#f5f3ff;
    border:1px solid #ddd6fe;
    color:#5b21b6;
    font-size:12px;
    font-weight:900;
    text-decoration:none;
}

.csp-action-link--edit:hover{
    background:#ede9fe;
    color:#4c1d95;
    text-decoration:none;
}

@media (max-width:1200px){
    .csp-vm-form .csp-form-grid-4{
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    }

    .csp-vm-form-split{
        grid-template-columns:1fr;
    }
}

@media (max-width:760px){
    .csp-page-head,
    .csp-vm-page-head{
        flex-direction:column;
    }

    .csp-vm-form .csp-form-grid-4,
    .csp-vm-parts-head-5,
    .csp-vm-part-row-5{
        grid-template-columns:1fr !important;
    }

    .csp-vm-grand-total-bar{
        justify-content:space-between;
        gap:12px;
    }
}
/* CSP Quote workflow tabs */
.csp-quote-tabs-shell{
  width:100%;
}
.csp-quote-tabs{
  display:flex;
  align-items:flex-end;
  gap:8px;
  margin:0 0 -1px;
  padding:0 0 0 10px;
  position:relative;
  z-index:2;
}
.csp-quote-tab{
  appearance:none;
  border:1px solid rgba(207,217,210,.95);
  border-bottom:0;
  background:rgba(255,255,255,.72);
  color:#253a31;
  border-radius:16px 16px 0 0;
  padding:13px 18px;
  font-size:22px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 -8px 18px rgba(20,35,28,.035);
}
.csp-quote-tab:hover{
  background:#fff;
}
.csp-quote-tab.is-active{
  background:#fff;
  color:#20392f;
  border-color:#d7e0da;
  box-shadow:0 -10px 24px rgba(20,35,28,.06);
}
.csp-quote-tab-panel{
  display:none;
}
.csp-quote-tab-panel.is-active{
  display:block;
}
.csp-quote-tab-panel > .csp-admin-card,
.csp-quote-tab-panel > .csp-estimate-builder-card{
  margin-top:0 !important;
}
.csp-quote-tab-panel[data-csp-tab-panel="draft"] > .csp-admin-card{
  margin-top:0 !important;
}
@media(max-width:900px){
  .csp-quote-tabs{overflow-x:auto;padding-left:0;}
  .csp-quote-tab{font-size:17px;white-space:nowrap;padding:12px 14px;}
}

/* =========================================================
   CSP alignment patch — dashboard, payroll, history, weekly
   ========================================================= */
.csp-portal-content,
.csp-admin-wrap{
  box-sizing:border-box !important;
}
.csp-portal-content > *:first-child,
.csp-admin-wrap > *:first-child{
  margin-top:0 !important;
}
.csp-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
  margin:0 0 16px !important;
}
.csp-grid > .csp-kpi,
.csp-grid > .csp-kpi-card,
.csp-kpi-grid > .csp-kpi,
.csp-kpi-grid > .csp-kpi-card{
  min-height:76px !important;
  padding:14px 16px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:5px !important;
}
.csp-kpi__label,
.csp-kpi-label{
  display:block !important;
  margin:0 !important;
  font-size:11px !important;
  line-height:1.15 !important;
  white-space:normal !important;
}
.csp-kpi__value,
.csp-kpi-value{
  display:block !important;
  margin:0 !important;
  font-size:24px !important;
  line-height:1.05 !important;
}
.csp-dashboard-table-wrap,
.csp-table-wrap,
.csp-history-table-wrap,
.csp-weekly-table-scroll{
  width:100% !important;
  max-width:100% !important;
  overflow:auto !important;
}
.csp-dashboard-table,
.csp-history-table,
.csp-table{
  width:100% !important;
  border-collapse:collapse !important;
}
.csp-dashboard-table th,
.csp-dashboard-table td,
.csp-history-table th,
.csp-history-table td,
.csp-table th,
.csp-table td{
  padding:10px 12px !important;
  vertical-align:middle !important;
}
.csp-payroll-topbar,
.csp-history-layout,
.csp-history-main,
.csp-history-detail,
.csp-history-summary-grid,
.csp-payroll-kpi-grid{
  max-width:100% !important;
  box-sizing:border-box !important;
}
.csp-payroll-topbar{
  display:grid !important;
  grid-template-columns:minmax(280px,1fr) auto !important;
  gap:14px !important;
  align-items:end !important;
}
.csp-payroll-topbar select,
.csp-payroll-topbar input{
  max-width:100% !important;
}
.csp-history-layout{
  display:grid !important;
  grid-template-columns:minmax(300px,420px) minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
}
.csp-history-summary-grid,
.csp-payroll-kpi-grid,
.csp-kpi-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
  gap:14px !important;
}
@media(max-width:1180px){
  .csp-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .csp-history-layout{grid-template-columns:1fr !important;}
}
@media(max-width:720px){
  .csp-grid{grid-template-columns:1fr !important;}
  .csp-payroll-topbar{grid-template-columns:1fr !important;}
}


/* =========================================================
   CSP 6.4 compact portal normalization
   - fixes settings template overflow
   - cleans work projects, invoices, quote tabs, and parts grids
   ========================================================= */

.csp-portal-content{
  padding:14px 16px !important;
}
.csp-admin-wrap,
.csp-page,
.csp-page-wrap{
  max-width:100% !important;
  box-sizing:border-box !important;
}
.csp-card,
.csp-panel,
.csp-admin-card,
.csp-kpi-card{
  box-sizing:border-box !important;
}
.csp-card,
.csp-panel,
.csp-admin-card__body{
  padding:14px 16px !important;
}
.csp-admin-card__header,
.csp-card-head,
.csp-card-header{
  padding:14px 16px !important;
}
.csp-grid,
.csp-grid-2,
.csp-kpi-grid,
.csp-overview-grid,
.csp-overview-grid--bottom{
  gap:12px !important;
}

/* Settings / Estimate Templates */
.csp-settings-page,
.csp-settings-page *{
  box-sizing:border-box !important;
}
.csp-settings-page .csp-settings-grid{
  grid-template-columns:310px minmax(0,1fr) !important;
  gap:14px !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
}
.csp-settings-page .csp-admin-card{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  border-radius:16px !important;
}
.csp-settings-page .csp-admin-card__body{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.csp-settings-page .csp-template-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  max-width:100% !important;
}
.csp-settings-page .csp-template-field,
.csp-settings-page .csp-template-field > *{
  min-width:0 !important;
  max-width:100% !important;
}
.csp-settings-page .csp-template-field input,
.csp-settings-page .csp-template-field select,
.csp-settings-page .csp-template-field textarea{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.csp-settings-page .csp-template-field textarea{
  min-height:74px !important;
}
.csp-settings-page .csp-template-list a{
  padding:11px 14px !important;
}
.csp-settings-page .csp-template-items-scroll{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
}
.csp-settings-page .csp-template-items-grid{
  grid-template-columns:minmax(220px,1.6fr) 64px 90px 110px 64px 98px 38px !important;
  min-width:720px !important;
}
.csp-settings-page .csp-template-item-row textarea,
.csp-settings-page .csp-template-item-row input[type="hidden"]{
  display:none !important;
}
@media(max-width:1050px){
  .csp-settings-page .csp-settings-grid,
  .csp-settings-page .csp-template-form-grid{
    grid-template-columns:1fr !important;
  }
}

/* Work Projects */
.csp-work-projects-page > .wp-heading-inline{
  display:none !important;
}
.csp-work-projects-page .csp-work-projects-admin__header{
  margin:0 0 14px !important;
  padding:0 0 14px !important;
  border-bottom:1px solid rgba(15,23,42,.12) !important;
}
.csp-work-projects-page .csp-work-projects-admin__header h1{
  font-size:30px !important;
  line-height:1.1 !important;
  color:#20392f !important;
}
.csp-work-projects-page .csp-work-projects-admin__grid{
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr) !important;
  gap:14px !important;
}
.csp-work-projects-page .postbox{
  border:1px solid #d9e0e8 !important;
  border-radius:16px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 12px 28px rgba(15,23,42,.055) !important;
}
.csp-work-projects-page .postbox-header{
  padding:12px 16px !important;
  border-bottom:1px solid #e5e7eb !important;
  background:#f8fafc !important;
}
.csp-work-projects-page .inside{
  padding:14px 16px !important;
  margin:0 !important;
}
.csp-work-projects-page .widefat{
  border:0 !important;
  box-shadow:none !important;
}
.csp-work-projects-page .widefat th,
.csp-work-projects-page .widefat td{
  padding:9px 8px !important;
}
.csp-work-projects-page input[type="text"],
.csp-work-projects-page input[type="date"],
.csp-work-projects-page input[type="number"],
.csp-work-projects-page select,
.csp-work-projects-page textarea{
  width:100% !important;
  max-width:100% !important;
  min-height:34px !important;
  border:1px solid #cfd7e3 !important;
  border-radius:10px !important;
  padding:7px 10px !important;
  background:#fff !important;
  box-sizing:border-box !important;
}
@media(max-width:1050px){
  .csp-work-projects-page .csp-work-projects-admin__grid{grid-template-columns:1fr !important;}
}

/* Invoices */
.csp-invoices-page .csp-invoice-filters{
  display:grid !important;
  grid-template-columns:minmax(220px,320px) minmax(190px,260px) auto auto !important;
  gap:10px !important;
  align-items:center !important;
  padding:14px 16px !important;
  border:1px solid #d9e0e8 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.045) !important;
}
.csp-invoices-page .csp-invoice-filters input,
.csp-invoices-page .csp-invoice-filters select{
  height:38px !important;
  min-height:38px !important;
}
.csp-invoices-page .csp-invoice-grid{
  grid-template-columns:minmax(260px,340px) minmax(0,1fr) !important;
  gap:14px !important;
  margin-top:14px !important;
}
.csp-invoices-page .csp-admin-card{
  border-color:#d9e0e8 !important;
  border-radius:16px !important;
}
.csp-invoices-page .csp-card-body{
  padding:16px !important;
}
@media(max-width:900px){
  .csp-invoices-page .csp-invoice-filters,
  .csp-invoices-page .csp-invoice-grid{grid-template-columns:1fr !important;}
}

/* Quote workspace tabs: tabs, not blue buttons */
.csp-quote-tabs{
  gap:2px !important;
  padding-left:10px !important;
  margin:0 0 -1px !important;
}
.csp-quote-tab{
  background:#f8fafc !important;
  color:#243f34 !important;
  border:1px solid #d7e0da !important;
  border-bottom:1px solid #d7e0da !important;
  border-radius:14px 14px 0 0 !important;
  box-shadow:none !important;
  padding:11px 15px !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
}
.csp-quote-tab:hover{
  background:#fff !important;
}
.csp-quote-tab.is-active{
  background:#fff !important;
  color:#1f3a2f !important;
  border-bottom-color:#fff !important;
  box-shadow:0 -6px 16px rgba(15,23,42,.045) !important;
}

/* Parts & Inventory */
.csp-grid.csp-grid-2{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.csp-grid.csp-grid-2 > .csp-card{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.csp-card .csp-table-wrap,
.csp-table-wrap{
  max-width:100% !important;
  overflow-x:auto !important;
  border-radius:14px !important;
}
.csp-card .csp-table{
  width:100% !important;
}
.csp-form-grid-2,
.csp-card .csp-form-grid-2{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px 12px !important;
}
.csp-field,
.csp-form-grid-2 > *{
  min-width:0 !important;
}
.csp-card input,
.csp-card select,
.csp-card textarea{
  box-sizing:border-box !important;
  max-width:100% !important;
}
.csp-field-checkbox,
.csp-field.csp-field-checkbox{
  display:flex !important;
  align-items:end !important;
  min-height:54px !important;
}
.csp-overview-grid--bottom,
.csp-grid + .csp-grid{
  margin-top:12px !important;
}
@media(max-width:1100px){
  .csp-grid.csp-grid-2,
  .csp-form-grid-2,
  .csp-card .csp-form-grid-2{grid-template-columns:1fr !important;}
}


/* =========================================================
   CSP 6.3.6 Operational Compact Mode
   Clean density pass based on Weekly Entry scale.
   Scope: main portal content only; sidebar/nav left untouched.
   ========================================================= */

body.csp-portal-page .csp-portal-main{
  font-size:14px !important;
}

body.csp-portal-page .csp-portal-header{
  padding:14px 20px 10px !important;
}

body.csp-portal-page .csp-portal-header h1,
body.csp-portal-page .csp-admin-wrap > h1,
body.csp-portal-page .csp-page-head h1,
body.csp-portal-page .csp-dashboard-page-title{
  font-size:28px !important;
  line-height:1.08 !important;
  letter-spacing:-.025em !important;
  margin:0 0 6px !important;
}

body.csp-portal-page .csp-portal-header p,
body.csp-portal-page .csp-page-subtitle,
body.csp-portal-page .csp-subtitle,
body.csp-portal-page .csp-admin-wrap > p{
  font-size:14px !important;
  line-height:1.38 !important;
  margin:0 0 12px !important;
  color:#4b5563 !important;
}

body.csp-portal-page .csp-portal-content{
  padding:16px 18px !important;
}

/* Panels/cards: smaller, but not cramped */
body.csp-portal-page .csp-card,
body.csp-portal-page .csp-panel,
body.csp-portal-page .csp-admin-card,
body.csp-portal-page .csp-kpi,
body.csp-portal-page .csp-kpi-card,
body.csp-portal-page .csp-payroll-kpi,
body.csp-portal-page .csp-payroll-detail-card{
  border-radius:14px !important;
  box-shadow:0 5px 16px rgba(15,23,42,.045) !important;
}

body.csp-portal-page .csp-card,
body.csp-portal-page .csp-panel,
body.csp-portal-page .csp-admin-card,
body.csp-portal-page .csp-payroll-detail-card{
  padding:14px 16px !important;
  margin-bottom:14px !important;
}

body.csp-portal-page .csp-card h2,
body.csp-portal-page .csp-card h3,
body.csp-portal-page .csp-panel h2,
body.csp-portal-page .csp-panel h3,
body.csp-portal-page .csp-admin-card h2,
body.csp-portal-page .csp-admin-card h3{
  font-size:17px !important;
  line-height:1.18 !important;
  margin:0 0 9px !important;
  letter-spacing:-.015em !important;
}

body.csp-portal-page .csp-card p,
body.csp-portal-page .csp-panel p,
body.csp-portal-page .csp-admin-card p{
  font-size:13px !important;
  line-height:1.42 !important;
  margin:0 0 8px !important;
}

/* KPI cards */
body.csp-portal-page .csp-kpi-grid,
body.csp-portal-page .csp-grid,
body.csp-portal-page .csp-payroll-kpis,
body.csp-portal-page .csp-payroll-kpi-grid,
body.csp-portal-page .csp-history-summary-grid{
  gap:12px !important;
  margin-bottom:14px !important;
}

body.csp-portal-page .csp-kpi,
body.csp-portal-page .csp-kpi-card,
body.csp-portal-page .csp-payroll-kpi{
  min-height:62px !important;
  padding:11px 14px !important;
}

body.csp-portal-page .csp-kpi__label,
body.csp-portal-page .csp-kpi-label,
body.csp-portal-page .csp-payroll-kpi-label{
  font-size:10px !important;
  line-height:1.15 !important;
  margin:0 0 4px !important;
  letter-spacing:.055em !important;
}

body.csp-portal-page .csp-kpi__value,
body.csp-portal-page .csp-kpi-value,
body.csp-portal-page .csp-payroll-kpi-value{
  font-size:22px !important;
  line-height:1 !important;
}

/* Forms/controls */
body.csp-portal-page .csp-form-grid,
body.csp-portal-page .csp-form-grid-2,
body.csp-portal-page .csp-form-grid-3,
body.csp-portal-page .csp-form-grid-4,
body.csp-portal-page .csp-grid-2{
  gap:10px 12px !important;
}

body.csp-portal-page label,
body.csp-portal-page .csp-field label,
body.csp-portal-page .csp-form-row label{
  font-size:12px !important;
  line-height:1.2 !important;
  margin-bottom:4px !important;
}

body.csp-portal-page .csp-portal-main input[type="text"],
body.csp-portal-page .csp-portal-main input[type="email"],
body.csp-portal-page .csp-portal-main input[type="number"],
body.csp-portal-page .csp-portal-main input[type="date"],
body.csp-portal-page .csp-portal-main input[type="password"],
body.csp-portal-page .csp-portal-main input[type="search"],
body.csp-portal-page .csp-portal-main select,
body.csp-portal-page .csp-portal-main textarea,
body.csp-portal-page .csp-portal-main .regular-text,
body.csp-portal-page .csp-portal-main .small-text{
  min-height:34px !important;
  height:34px !important;
  padding:7px 10px !important;
  font-size:13px !important;
  line-height:1.2 !important;
  border-radius:9px !important;
  box-sizing:border-box !important;
}

body.csp-portal-page .csp-portal-main textarea{
  height:auto !important;
  min-height:78px !important;
}

/* Safe dropdown arrows only on selects inside main content */
body.csp-portal-page .csp-portal-main select{
  appearance:none !important;
  -webkit-appearance:none !important;
  padding-right:32px !important;
  background-color:#fff !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #526258 50%),
    linear-gradient(135deg, #526258 50%, transparent 50%) !important;
  background-position:
    calc(100% - 16px) 50%,
    calc(100% - 10px) 50% !important;
  background-size:6px 6px,6px 6px !important;
  background-repeat:no-repeat !important;
}

/* Buttons: compact, scoped, no sidebar/nav changes */
body.csp-portal-page .csp-portal-main .csp-btn,
body.csp-portal-page .csp-portal-main button,
body.csp-portal-page .csp-portal-main input[type="submit"],
body.csp-portal-page .csp-portal-main input[type="button"],
body.csp-portal-page .csp-portal-main .button,
body.csp-portal-page .csp-portal-main .button-primary{
  min-height:32px !important;
  height:32px !important;
  padding:0 11px !important;
  border-radius:9px !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease, border-color .14s ease !important;
}

body.csp-portal-page .csp-portal-main .csp-btn:hover,
body.csp-portal-page .csp-portal-main button:hover,
body.csp-portal-page .csp-portal-main input[type="submit"]:hover,
body.csp-portal-page .csp-portal-main input[type="button"]:hover,
body.csp-portal-page .csp-portal-main .button:hover,
body.csp-portal-page .csp-portal-main .button-primary:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 8px 16px rgba(15,23,42,.13) !important;
}

/* Tables: use Weekly Entry density */
body.csp-portal-page .csp-table th,
body.csp-portal-page .csp-table td,
body.csp-portal-page .widefat th,
body.csp-portal-page .widefat td,
body.csp-portal-page .csp-dashboard-table th,
body.csp-portal-page .csp-dashboard-table td,
body.csp-portal-page .csp-history-table th,
body.csp-portal-page .csp-history-table td{
  padding:8px 10px !important;
  font-size:12.5px !important;
  line-height:1.25 !important;
}

body.csp-portal-page .csp-table th,
body.csp-portal-page .widefat th,
body.csp-portal-page .csp-dashboard-table th,
body.csp-portal-page .csp-history-table th{
  font-size:10.5px !important;
  letter-spacing:.055em !important;
}

body.csp-portal-page .csp-table-wrap,
body.csp-portal-page .csp-history-table-wrap,
body.csp-portal-page .csp-dashboard-table-wrap{
  border-radius:12px !important;
}

/* Payroll: tighter employee detail rows */
body.csp-portal-page .csp-payroll-shell{
  gap:12px !important;
}

body.csp-portal-page .csp-payroll-topbar{
  padding:12px 14px !important;
}

body.csp-portal-page .csp-payroll-kpis{
  gap:12px !important;
}

body.csp-portal-page .csp-payroll-kpi{
  gap:10px !important;
}

body.csp-portal-page .csp-payroll-kpi-icon{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
}

body.csp-portal-page .csp-payroll-table-grid{
  min-height:auto !important;
}

body.csp-portal-page .csp-payroll-table-head > div,
body.csp-portal-page .csp-payroll-table-row > div,
body.csp-portal-page .csp-payroll-footer > div{
  padding:9px 10px !important;
  font-size:13px !important;
}

body.csp-portal-page .csp-payroll-table-row{
  min-height:46px !important;
}

body.csp-portal-page .csp-payroll-pill{
  min-height:30px !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  font-size:12px !important;
  gap:7px !important;
}

body.csp-portal-page .csp-payroll-pill-icon,
body.csp-portal-page .csp-payroll-pill svg{
  width:13px !important;
  height:13px !important;
}

body.csp-portal-page .csp-payroll-actions .csp-payroll-btn{
  min-height:30px !important;
  height:30px !important;
  padding:0 10px !important;
  font-size:12px !important;
}

/* Quote tabs: tabs, not oversized buttons */
body.csp-portal-page .csp-quote-tabs{
  gap:4px !important;
  padding-left:8px !important;
}

body.csp-portal-page .csp-quote-tab{
  min-height:34px !important;
  height:34px !important;
  padding:0 14px !important;
  font-size:13px !important;
  border-radius:11px 11px 0 0 !important;
}

/* Template/settings pages: stop panels from spilling */
body.csp-portal-page .csp-settings-page,
body.csp-portal-page .csp-settings-layout,
body.csp-portal-page .csp-template-editor,
body.csp-portal-page .csp-template-line-items{
  max-width:100% !important;
  box-sizing:border-box !important;
}

body.csp-portal-page .csp-template-list a{
  min-height:42px !important;
  padding:9px 14px !important;
}

body.csp-portal-page .csp-template-line-items{
  overflow:auto !important;
}

/* Prevent accidental blue-painting of ordinary content links/text */
body.csp-portal-page .csp-portal-main a:not(.button):not(.button-primary):not(.csp-btn):not(.csp-quote-tab):not(.csp-portal-nav__link){
  text-decoration:none;
}

@media(max-width:900px){
  body.csp-portal-page .csp-portal-content{padding:12px !important;}
  body.csp-portal-page .csp-card,
  body.csp-portal-page .csp-panel,
  body.csp-portal-page .csp-admin-card{padding:12px !important;}
}


/* ===== Global size calm-down (leave Weekly Entry matrix alone) ===== */
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix){
  font-size:14px !important;
}
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-page-title,
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-dashboard-page-title{
  font-size:24px !important;
  line-height:1.08 !important;
}
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-page-subtitle{
  font-size:13px !important;
}
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-card,
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-panel,
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-admin-card,
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-payroll-detail-card{
  padding:12px 14px !important;
  margin-bottom:12px !important;
  border-radius:12px !important;
}
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-card h2,
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-card h3,
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-panel h2,
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-panel h3{
  font-size:15px !important;
  margin-bottom:8px !important;
}
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) input[type="text"],
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) input[type="email"],
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) input[type="number"],
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) input[type="date"],
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) select,
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) textarea{
  min-height:32px !important;
  height:32px !important;
  font-size:12px !important;
  padding:6px 9px !important;
}
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) textarea{
  height:auto !important;
  min-height:72px !important;
}
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-btn,
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) button,
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) input[type="submit"],
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) input[type="button"]{
  min-height:32px !important;
  height:32px !important;
  font-size:12px !important;
  padding:0 11px !important;
}
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-table th,
body.csp-portal-page .csp-page:not(.csp-page--weekly-entry-matrix) .csp-table td{
  padding:8px 10px !important;
  font-size:12px !important;
}


/* ===== CSP compact cleanup pass: gutters, KPI cards, tabs, headers, inventory notes ===== */
body.csp-portal-page .csp-page--runs .csp-runs-editor-grid{
  gap:24px !important;
}

body.csp-portal-page .csp-vehicles-page .csp-kpi-grid{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:14px 0 18px !important;
  align-items:stretch !important;
}
body.csp-portal-page .csp-vehicles-page .csp-kpi-card{
  min-height:64px !important;
  height:auto !important;
  padding:12px 14px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  overflow:visible !important;
}
body.csp-portal-page .csp-vehicles-page .csp-kpi-label{
  font-size:10px !important;
  line-height:1.15 !important;
  margin:0 0 6px !important;
  white-space:normal !important;
}
body.csp-portal-page .csp-vehicles-page .csp-kpi-value{
  font-size:22px !important;
  line-height:1 !important;
  margin:0 !important;
}
body.csp-portal-page .csp-vehicles-page .csp-vehicle-quick-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:18px 0 26px !important;
  align-items:stretch !important;
}
body.csp-portal-page .csp-vehicles-page .csp-vehicle-quick-card{
  min-height:76px !important;
  height:auto !important;
  padding:12px 14px !important;
  overflow:visible !important;
}
body.csp-portal-page .csp-vehicles-page .csp-vehicle-quick-label{
  font-size:10px !important;
  line-height:1.15 !important;
  margin-bottom:6px !important;
}
body.csp-portal-page .csp-vehicles-page .csp-vehicle-quick-value{
  font-size:22px !important;
  line-height:1 !important;
}
body.csp-portal-page .csp-vehicles-page .csp-vehicle-quick-meta{
  font-size:12px !important;
  line-height:1.2 !important;
  margin-top:7px !important;
}
@media (max-width:1300px){
  body.csp-portal-page .csp-vehicles-page .csp-kpi-grid,
  body.csp-portal-page .csp-vehicles-page .csp-vehicle-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width:800px){
  body.csp-portal-page .csp-vehicles-page .csp-kpi-grid,
  body.csp-portal-page .csp-vehicles-page .csp-vehicle-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:560px){
  body.csp-portal-page .csp-vehicles-page .csp-kpi-grid,
  body.csp-portal-page .csp-vehicles-page .csp-vehicle-quick-grid{grid-template-columns:1fr !important;}
}

body.csp-portal-page .csp-row-note{
  margin-top:5px !important;
  color:#4b5563 !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:500 !important;
}
body.csp-portal-page .csp-row-note strong{
  font-weight:800 !important;
  color:#374151 !important;
}

body.csp-portal-page .csp-admin-card,
body.csp-portal-page .csp-card,
body.csp-portal-page .csp-panel{
  overflow:hidden !important;
}
body.csp-portal-page .csp-admin-card__header,
body.csp-portal-page .csp-card-header,
body.csp-portal-page .csp-panel-header{
  border-top-left-radius:inherit !important;
  border-top-right-radius:inherit !important;
}
body.csp-portal-page .csp-admin-card__header:first-child,
body.csp-portal-page .csp-card-header:first-child,
body.csp-portal-page .csp-panel-header:first-child{
  margin-top:calc(-1 * 12px) !important;
  margin-left:calc(-1 * 14px) !important;
  margin-right:calc(-1 * 14px) !important;
  padding:14px 16px !important;
}

body.csp-portal-page .csp-quote-tabs-shell{
  margin-top:-8px !important;
}
body.csp-portal-page .csp-quote-tabs{
  display:flex !important;
  align-items:flex-end !important;
  gap:4px !important;
  padding-left:8px !important;
  margin:0 0 -1px !important;
  position:relative !important;
  z-index:2 !important;
}
body.csp-portal-page .csp-quote-tab{
  height:30px !important;
  min-height:30px !important;
  padding:0 12px !important;
  border-radius:9px 9px 0 0 !important;
  border:1px solid #d6dee8 !important;
  background:#f8fafc !important;
  color:#243328 !important;
  font-size:12px !important;
  font-weight:850 !important;
  box-shadow:none !important;
}
body.csp-portal-page .csp-quote-tab:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 6px 14px rgba(15,23,42,.08) !important;
}
body.csp-portal-page .csp-quote-tab.is-active{
  background:#fff !important;
  border-bottom-color:#fff !important;
  color:#14251a !important;
  position:relative !important;
  z-index:3 !important;
}
body.csp-portal-page .csp-quote-tab-panel > .csp-admin-card{
  border-top-left-radius:12px !important;
  border-top-right-radius:12px !important;
}

/* =========================================================
   6.3.4-4 compact Payroll-style portal pass
   Applies to portal pages except Weekly Entry matrix/page.
   ========================================================= */
.csp-portal-content:not(.csp-page-view--weekly-entry){
    padding:18px 14px 22px !important;
    background:#f3f4f6 !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) > .csp-page-header,
.csp-portal-content:not(.csp-page-view--weekly-entry) > .csp-payroll-shell > .csp-page-header,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-topbar{
    margin:0 0 58px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-page-header h1,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-weekly-page-title,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-title,
.csp-portal-content:not(.csp-page-view--weekly-entry) > h1{
    margin:0 0 8px !important;
    font-size:28px !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    color:#1d3a25 !important;
    font-weight:900 !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-page-header p,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-weekly-page-subtitle,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-subtitle,
.csp-portal-content:not(.csp-page-view--weekly-entry) > p{
    margin:0 !important;
    color:#4b5563 !important;
    font-size:15px !important;
    line-height:1.45 !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-panel,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-card,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-panel{
    background:#fff !important;
    border:1px solid #dbe2ec !important;
    border-radius:14px !important;
    box-shadow:0 12px 28px rgba(15,23,42,.055) !important;
    overflow:hidden;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-panel{
    padding:16px !important;
    margin-bottom:16px !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card h2,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card h3,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-panel h2,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-panel h3,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-card-title,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-panel-title{
    color:#374151 !important;
    font-size:17px !important;
    line-height:1.2 !important;
    font-weight:850 !important;
    margin:0 0 8px !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card p,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-panel p,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-card-subtitle,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-panel-subtitle{
    color:#667085 !important;
    font-size:14px !important;
    line-height:1.45 !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-kpi-grid,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-dashboard-kpi-grid,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-vehicle-kpi-grid,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-stats-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
    gap:14px !important;
    margin:0 0 20px !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-kpi,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-kpi-card,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-stat-card,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-vehicle-kpi{
    min-height:62px !important;
    padding:14px 16px !important;
    border-radius:13px !important;
    overflow:hidden !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-table-wrap,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-table-shell,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-settings-table-shell,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-assign-table-shell{
    border-radius:12px !important;
    border:1px solid #e1e7f0 !important;
    overflow:hidden !important;
    background:#fff !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-table,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-table,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-settings-table,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-assign-table{
    border-collapse:separate !important;
    border-spacing:0 !important;
    width:100% !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-table thead th,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-table thead th,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-settings-table thead th,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-assign-table thead th{
    background:#f8fafc !important;
    color:#6b7280 !important;
    font-size:11px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    letter-spacing:.035em !important;
    text-transform:uppercase !important;
    padding:11px 12px !important;
    border-bottom:1px solid #e1e7f0 !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-table tbody td,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-table tbody td,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-settings-table tbody td,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-assign-table tbody td{
    padding:11px 12px !important;
    font-size:13px !important;
    line-height:1.28 !important;
    border-bottom:1px solid #e6ebf2 !important;
    vertical-align:middle !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-row-note{
    display:block !important;
    margin-top:5px !important;
    color:#586174 !important;
    font-size:12px !important;
    line-height:1.3 !important;
    background:transparent !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-editor-grid,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-grid-2,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-form-grid{
    gap:22px !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-tabs,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-tabs{
    display:flex !important;
    align-items:flex-end !important;
    gap:4px !important;
    margin:0 0 -1px 8px !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-tabs a,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-tabs button,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-tabs a,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-tabs button{
    min-height:32px !important;
    padding:0 12px !important;
    border-radius:9px 9px 0 0 !important;
    border:1px solid #dbe2ec !important;
    background:#f8fafc !important;
    color:#243126 !important;
    font-size:12px !important;
    font-weight:850 !important;
    box-shadow:none !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-tabs .is-active,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-tabs [aria-selected="true"],
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-tabs .is-active,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-tabs [aria-selected="true"]{
    background:#fff !important;
    border-bottom-color:#fff !important;
    color:#15261a !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-panel-header,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card-header,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-section-header,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-panel-header,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-card-head,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-panel-head{
    border-top-left-radius:13px !important;
    border-top-right-radius:13px !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) input[type="text"],
.csp-portal-content:not(.csp-page-view--weekly-entry) input[type="email"],
.csp-portal-content:not(.csp-page-view--weekly-entry) input[type="number"],
.csp-portal-content:not(.csp-page-view--weekly-entry) input[type="date"],
.csp-portal-content:not(.csp-page-view--weekly-entry) select,
.csp-portal-content:not(.csp-page-view--weekly-entry) textarea{
    border-radius:10px !important;
    border-color:#cfd8e5 !important;
    box-shadow:none !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .button,
.csp-portal-content:not(.csp-page-view--weekly-entry) button,
.csp-portal-content:not(.csp-page-view--weekly-entry) input[type="submit"],
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-btn{
    border-radius:10px !important;
    transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease !important;
}

.csp-portal-content:not(.csp-page-view--weekly-entry) .button:hover,
.csp-portal-content:not(.csp-page-view--weekly-entry) button:hover,
.csp-portal-content:not(.csp-page-view--weekly-entry) input[type="submit"]:hover,
.csp-portal-content:not(.csp-page-view--weekly-entry) .csp-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(15,23,42,.12) !important;
}


/* =========================================================
   6.3.4-5 portal header rhythm pass
   Match the Vehicles/Payroll page spacing across the portal.
   Weekly Entry title/subtitle are included; Weekly Entry matrix is untouched.
   ========================================================= */
body.csp-portal-page .csp-portal-content > .csp-page-header,
body.csp-portal-page .csp-portal-content > .csp-payroll-shell > .csp-page-header,
body.csp-portal-page .csp-portal-content .csp-vehicles-page > .csp-page-header,
body.csp-portal-page .csp-portal-content .csp-page--weekly-entry-matrix > .csp-page-header,
body.csp-portal-page .csp-portal-content .csp-runs-topbar{
    margin:0 0 16px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

body.csp-portal-page .csp-portal-content .csp-page-header h1,
body.csp-portal-page .csp-portal-content .csp-weekly-page-title,
body.csp-portal-page .csp-portal-content .csp-runs-title,
body.csp-portal-page .csp-portal-content > h1{
    margin:0 0 8px !important;
    font-size:28px !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    color:#1d3a25 !important;
    font-weight:900 !important;
}

body.csp-portal-page .csp-portal-content .csp-page-header p,
body.csp-portal-page .csp-portal-content .csp-weekly-page-subtitle,
body.csp-portal-page .csp-portal-content .csp-runs-subtitle,
body.csp-portal-page .csp-portal-content > p{
    margin:0 !important;
    color:#4b5563 !important;
    font-size:15px !important;
    line-height:1.45 !important;
}

body.csp-portal-page .csp-portal-content .csp-page-header + .csp-card,
body.csp-portal-page .csp-portal-content .csp-page-header + .csp-panel,
body.csp-portal-page .csp-portal-content .csp-page-header + .csp-kpi-grid,
body.csp-portal-page .csp-portal-content .csp-page-header + .csp-vehicle-kpi-grid,
body.csp-portal-page .csp-portal-content .csp-page-header + .csp-payroll-topbar,
body.csp-portal-page .csp-portal-content .csp-page-header + form.csp-card{
    margin-top:0 !important;
}

body.csp-portal-page .csp-page--weekly-entry-matrix .csp-week-pill{
    height:28px !important;
    min-height:28px !important;
    padding:0 12px !important;
    margin-left:8px !important;
    font-size:12px !important;
    line-height:1 !important;
    transform:translateY(-1px);
}

body.csp-portal-page .csp-page--weekly-entry-matrix .csp-weekly-controls-card{
    margin-top:0 !important;
}

/* =========================================================
   6.3.4-6 unified portal page chrome
   Match Work Projects page header rhythm, divider, and rounded panel tops.
   Weekly Entry matrix/table remains untouched.
   ========================================================= */
body.csp-portal-page .csp-portal-content{
    --csp-page-title-size:28px;
    --csp-page-title-color:#1d3a25;
    --csp-page-subtitle-color:#4b5563;
    --csp-page-divider:#d7dde6;
    --csp-panel-head-bg:#f8fafc;
    --csp-panel-border:#d9e1ec;
}

/* Top page title/subtitle blocks */
body.csp-portal-page .csp-portal-content > .csp-page-header,
body.csp-portal-page .csp-portal-content > .csp-payroll-shell > .csp-page-header,
body.csp-portal-page .csp-portal-content .csp-vehicles-page > .csp-page-header,
body.csp-portal-page .csp-portal-content .csp-page--weekly-entry-matrix > .csp-page-header,
body.csp-portal-page .csp-portal-content .csp-runs-topbar,
body.csp-portal-page .csp-portal-content .csp-page-head{
    display:block !important;
    margin:0 0 14px !important;
    padding:0 0 14px !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid var(--csp-page-divider) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

body.csp-portal-page .csp-portal-content .cs-portal-screen > h1,
body.csp-portal-page .csp-portal-content .wrap.csp-admin-wrap > h1,
body.csp-portal-page .csp-portal-content > h1{
    margin:0 0 8px !important;
    padding:0 0 14px !important;
    border-bottom:1px solid var(--csp-page-divider) !important;
}

body.csp-portal-page .csp-portal-content .cs-portal-screen > h1 + p,
body.csp-portal-page .csp-portal-content > h1 + p{
    margin:-8px 0 14px !important;
    padding:0 0 14px !important;
    border-bottom:1px solid var(--csp-page-divider) !important;
}

body.csp-portal-page .csp-portal-content .csp-page-header h1,
body.csp-portal-page .csp-portal-content .csp-page-title,
body.csp-portal-page .csp-portal-content .csp-weekly-page-title,
body.csp-portal-page .csp-portal-content .csp-runs-title,
body.csp-portal-page .csp-portal-content .cs-portal-screen > h1,
body.csp-portal-page .csp-portal-content .wrap.csp-admin-wrap > h1,
body.csp-portal-page .csp-portal-content > h1{
    font-size:var(--csp-page-title-size) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    color:var(--csp-page-title-color) !important;
    font-weight:900 !important;
}

body.csp-portal-page .csp-portal-content .csp-page-header p,
body.csp-portal-page .csp-portal-content .csp-page-subtitle,
body.csp-portal-page .csp-portal-content .csp-weekly-page-subtitle,
body.csp-portal-page .csp-portal-content .csp-runs-subtitle,
body.csp-portal-page .csp-portal-content .cs-portal-screen > p,
body.csp-portal-page .csp-portal-content > p{
    color:var(--csp-page-subtitle-color) !important;
    font-size:15px !important;
    line-height:1.45 !important;
    font-weight:500 !important;
}

body.csp-portal-page .csp-portal-content .csp-page-header h1,
body.csp-portal-page .csp-portal-content .csp-runs-title,
body.csp-portal-page .csp-portal-content .csp-weekly-page-title{
    margin:0 0 8px !important;
    padding:0 !important;
    border:0 !important;
}

body.csp-portal-page .csp-portal-content .csp-page-header p,
body.csp-portal-page .csp-portal-content .csp-runs-subtitle,
body.csp-portal-page .csp-portal-content .csp-weekly-page-subtitle{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}

/* WordPress admin-style pages that use h1 + wp-header-end */
body.csp-portal-page .csp-portal-content .wrap.csp-admin-wrap > .wp-header-end{
    display:block !important;
    height:1px !important;
    margin:0 0 14px !important;
    padding:0 !important;
    border:0 !important;
    border-top:1px solid var(--csp-page-divider) !important;
    background:transparent !important;
}

/* First content block should tuck up to the divider consistently */
body.csp-portal-page .csp-portal-content .csp-page-header + *,
body.csp-portal-page .csp-portal-content .csp-page-head + *,
body.csp-portal-page .csp-portal-content .csp-runs-topbar + *,
body.csp-portal-page .csp-portal-content .wp-header-end + *{
    margin-top:0 !important;
}

/* Rounded grey panel tops like Work Projects */
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-panel,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-admin-card,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-card,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-panel,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-work-card,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-shell,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-card{
    border-radius:14px !important;
    overflow:hidden !important;
}

body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card-header,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-panel-header,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-section-header,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card-head,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-admin-card > .csp-card-head,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-card-head,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-panel-head,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-panel-header,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-card-header{
    background:var(--csp-panel-head-bg) !important;
    border-bottom:1px solid #e3e8f0 !important;
    border-top-left-radius:14px !important;
    border-top-right-radius:14px !important;
    overflow:hidden !important;
}

/* Panels that only have a heading as the first child get the same grey cap. */
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card > h2:first-child,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-panel > h2:first-child,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-admin-card > h2:first-child{
    margin:-18px -18px 16px !important;
    padding:18px 20px !important;
    background:var(--csp-panel-head-bg) !important;
    border-bottom:1px solid #e3e8f0 !important;
    border-radius:14px 14px 0 0 !important;
}

/* Keep page actions aligned on headers that have a right-side control group. */
body.csp-portal-page .csp-portal-content .csp-page-head{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:18px !important;
}

body.csp-portal-page .csp-portal-content .csp-page-head .csp-page-actions{
    margin-top:2px !important;
}

/* =========================================================
   6.3.4-7 final page chrome normalization
   One divider below subtitle, Vehicles-style panel rhythm.
   Weekly Entry matrix/table remains untouched.
   ========================================================= */
body.csp-portal-page .csp-portal-content{
    --csp-page-divider:#d7dde6;
    --csp-page-title-size:28px;
    --csp-page-title-color:#1d3a25;
    --csp-page-subtitle-color:#4b5563;
    --csp-page-head-gap:14px;
    --csp-panel-gap:16px;
    --csp-panel-radius:14px;
    --csp-panel-head-bg:#f8fafc;
    --csp-panel-border:#d9e1ec;
}

/* Page title/subtitle: one horizontal break only below the subtitle. */
body.csp-portal-page .csp-portal-content > .csp-page-header,
body.csp-portal-page .csp-portal-content > .csp-payroll-shell > .csp-page-header,
body.csp-portal-page .csp-portal-content .csp-vehicles-page > .csp-page-header,
body.csp-portal-page .csp-portal-content .csp-page--weekly-entry-matrix > .csp-page-header,
body.csp-portal-page .csp-portal-content .csp-runs-topbar,
body.csp-portal-page .csp-portal-content .csp-work-projects-admin__header,
body.csp-portal-page .csp-portal-content .csp-page-head{
    display:block !important;
    margin:0 0 var(--csp-page-head-gap) !important;
    padding:0 0 var(--csp-page-head-gap) !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid var(--csp-page-divider) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

/* WP-admin-style pages: h1 + subtitle + one hr. */
body.csp-portal-page .csp-portal-content .wrap.csp-admin-wrap > h1,
body.csp-portal-page .csp-portal-content .cs-portal-screen > h1,
body.csp-portal-page .csp-portal-content > h1{
    margin:0 0 8px !important;
    padding:0 !important;
    border:0 !important;
    font-size:var(--csp-page-title-size) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    color:var(--csp-page-title-color) !important;
    font-weight:900 !important;
}

body.csp-portal-page .csp-portal-content .wrap.csp-admin-wrap > .csp-admin-page-subtitle,
body.csp-portal-page .csp-portal-content .cs-portal-screen > p,
body.csp-portal-page .csp-portal-content > h1 + p{
    margin:0 0 var(--csp-page-head-gap) !important;
    padding:0 !important;
    border:0 !important;
    color:var(--csp-page-subtitle-color) !important;
    font-size:15px !important;
    line-height:1.45 !important;
    font-weight:500 !important;
}

body.csp-portal-page .csp-portal-content .wrap.csp-admin-wrap > .wp-header-end{
    display:block !important;
    height:1px !important;
    margin:0 0 var(--csp-page-head-gap) !important;
    padding:0 !important;
    border:0 !important;
    border-top:1px solid var(--csp-page-divider) !important;
    background:transparent !important;
}

body.csp-portal-page .csp-portal-content .cs-portal-screen > p{
    padding-bottom:var(--csp-page-head-gap) !important;
    border-bottom:1px solid var(--csp-page-divider) !important;
}

body.csp-portal-page .csp-portal-content .csp-page-header h1,
body.csp-portal-page .csp-portal-content .csp-page-title,
body.csp-portal-page .csp-portal-content .csp-weekly-page-title,
body.csp-portal-page .csp-portal-content .csp-runs-title,
body.csp-portal-page .csp-portal-content .csp-dashboard-page-title,
body.csp-portal-page .csp-portal-content .csp-work-projects-admin__header h1{
    margin:0 0 8px !important;
    padding:0 !important;
    border:0 !important;
    font-size:var(--csp-page-title-size) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    color:var(--csp-page-title-color) !important;
    font-weight:900 !important;
}

body.csp-portal-page .csp-portal-content .csp-page-header p,
body.csp-portal-page .csp-portal-content .csp-page-subtitle,
body.csp-portal-page .csp-portal-content .csp-weekly-page-subtitle,
body.csp-portal-page .csp-portal-content .csp-runs-subtitle,
body.csp-portal-page .csp-portal-content .csp-dashboard-page-subtitle,
body.csp-portal-page .csp-portal-content .csp-work-projects-admin__header p{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    color:var(--csp-page-subtitle-color) !important;
    font-size:15px !important;
    line-height:1.45 !important;
    font-weight:500 !important;
}

/* Remove accidental second dividers created by previous shrink/chrome passes. */
body.csp-portal-page .csp-portal-content .cs-portal-screen > h1 + p,
body.csp-portal-page .csp-portal-content > h1 + p{
    border-top:0 !important;
}

/* Vehicles-style vertical rhythm after the single divider. */
body.csp-portal-page .csp-portal-content .csp-page-header + *,
body.csp-portal-page .csp-portal-content .csp-page-head + *,
body.csp-portal-page .csp-portal-content .csp-runs-topbar + *,
body.csp-portal-page .csp-portal-content .wp-header-end + *,
body.csp-portal-page .csp-portal-content .csp-work-projects-admin__header + *{
    margin-top:0 !important;
}

body.csp-portal-page .csp-portal-content .csp-grid,
body.csp-portal-page .csp-portal-content .csp-dashboard-grid,
body.csp-portal-page .csp-portal-content .csp-kpi-grid,
body.csp-portal-page .csp-portal-content .csp-stats-grid,
body.csp-portal-page .csp-portal-content .csp-settings-grid,
body.csp-portal-page .csp-portal-content .csp-invoice-grid,
body.csp-portal-page .csp-portal-content .csp-quotes-layout,
body.csp-portal-page .csp-portal-content .csp-runs-edit-grid,
body.csp-portal-page .csp-portal-content .csp-work-projects-admin__grid,
body.csp-portal-page .csp-portal-content .csp-parts-grid,
body.csp-portal-page .csp-portal-content .csp-history-grid{
    gap:var(--csp-panel-gap) !important;
}

/* Rounded grey card tops everywhere, matching the Work Projects/Vehicles look. */
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-panel,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-admin-card,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-card,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-panel,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-work-card,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-shell,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-card,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .postbox{
    border-radius:var(--csp-panel-radius) !important;
    border-color:var(--csp-panel-border) !important;
    overflow:hidden !important;
}

body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card-header,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-panel-header,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-section-header,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card-head,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-admin-card__header,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-admin-card > .csp-card-head,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-card-head,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-runs-panel-head,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-panel-header,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-quote-card-header,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .postbox-header{
    background:var(--csp-panel-head-bg) !important;
    border-bottom:1px solid #e3e8f0 !important;
    border-top-left-radius:var(--csp-panel-radius) !important;
    border-top-right-radius:var(--csp-panel-radius) !important;
    overflow:hidden !important;
}

body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-card > h2:first-child,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-panel > h2:first-child,
body.csp-portal-page .csp-portal-content:not(.csp-page-view--weekly-entry) .csp-admin-card > h2:first-child{
    margin:-18px -18px 16px !important;
    padding:18px 20px !important;
    background:var(--csp-panel-head-bg) !important;
    border-bottom:1px solid #e3e8f0 !important;
    border-radius:var(--csp-panel-radius) var(--csp-panel-radius) 0 0 !important;
}

/* Keep Weekly Entry's actual matrix/table sizing untouched; only the title chrome is standardized above. */
