        .paintops-customers-table { width:100%; border-collapse:collapse; background:var(--po-card-bg,#fff); border-radius:8px; overflow:hidden; box-shadow:0 1px 2px rgba(0,0,0,.04); }
        .paintops-customers-table th, .paintops-customers-table td { text-align:left; padding:10px; border-bottom:1px solid var(--po-line,#eee); font-size:14px; color:var(--po-text,#333); }
        .paintops-customers-table th { background:var(--po-accent-soft,rgba(70,130,180,0.08)); color:var(--po-heading,#2f5aae); font-weight:600; border-bottom:2px solid var(--po-accent-line,rgba(70,130,180,0.25)); }
        .paintops-customers-table tbody tr:hover td { background:var(--po-hover,#f8fafc); }
        .paintops-customers-search {
            margin:16px 0 20px;
            display:flex;
            gap:10px;
            flex-wrap:wrap;
            align-items:center;
            background:var(--po-card-bg,#fff);
            border:1px solid var(--po-card-border,#ddd);
            border-radius:8px;
            padding:14px 16px;
            box-shadow:0 1px 2px rgba(0,0,0,.04);
        }
        .paintops-customers-search input[type="text"] { padding:9px 11px; flex:1; min-width:200px; border:1px solid var(--po-input-border,#ccc); border-radius:5px; }

        /* Inline primary-address editor (Mike 2026-07-23). At rest the
         * cell keeps its one-line address text plus a quiet pencil; in
         * edit mode the text swaps for a compact street/city/state/zip
         * strip that still reads as one line on large screens (the
         * inputs are sized to fit the cell and only wrap when the
         * viewport forces it). */
        .po-cust-addr { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
        .po-cust-addr-edit { background:none; border:none; padding:2px; cursor:pointer; color:var(--po-text-muted,#999); line-height:1; border-radius:4px; }
        .po-cust-addr-edit:hover { color:var(--po-accent,#4682B4); background:var(--po-hover,#f0f4f8); }
        .po-cust-addr-edit .dashicons { font-size:16px; width:16px; height:16px; }
        .po-cust-addr-form { display:none; align-items:center; gap:6px; flex-wrap:wrap; }
        .po-cust-addr-form input[type="text"] { padding:6px 8px; border:1px solid var(--po-input-border,#ccc); border-radius:4px; font-size:13px; }
        .po-cust-addr-form .po-ca-street { flex:1 1 150px; min-width:130px; }
        .po-cust-addr-form .po-ca-city { width:100px; }
        .po-cust-addr-form .po-ca-state { width:48px; }
        .po-cust-addr-form .po-ca-zip { width:74px; }
        .po-cust-addr-form .paintops-btn { padding:6px 10px; font-size:13px; }
        .po-cust-addr.is-editing .po-cust-addr-line, .po-cust-addr.is-editing .po-cust-addr-edit { display:none; }
        .po-cust-addr.is-editing .po-cust-addr-form { display:flex; }

        /* Below 768px, this is a list of records (one row per customer),
         * not a single record's key/value details, the generic
         * "stack every <td> as a block" rule used elsewhere in the app
         * (see job-style.php) leaves the column headers behind as one
         * row up top with no way to tell which value is which further
         * down. Each row becomes its own labeled card instead, using
         * the data-label attribute on each <td> as the visible label. */
        @media (max-width: 768px) {
            .paintops-customers-table thead { display: none; }
            .paintops-customers-table, .paintops-customers-table tbody, .paintops-customers-table tr, .paintops-customers-table td {
                display: block;
                width: 100%;
            }
            .paintops-customers-table tr {
                margin-bottom: 14px;
                border: 1px solid var(--po-line,#eee);
                border-radius: 6px;
                padding: 4px 10px;
            }
            .paintops-customers-table tr td:first-child {
                font-weight: 400;
                background: none;
            }
            .paintops-customers-table td {
                border-bottom: none;
                padding: 6px 0;
            }
            .paintops-customers-table td::before {
                content: attr(data-label);
                display: block;
                font-weight: 600;
                font-size: 12px;
                text-transform: uppercase;
                letter-spacing: 0.3px;
                color: #777;
            }
        }
