.aps-cca-wrap{max-width:1100px;margin:20px auto;font-family:Arial,sans-serif}
.aps-cca-header{margin-bottom:20px}
.aps-cca-header h2{margin-bottom:8px}
.aps-cca-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.aps-cca-auth{grid-template-columns:1.1fr .9fr}
.aps-cca-card{border:1px solid #ddd;border-radius:12px;padding:20px;background:#fff}
.aps-cca-card h3{margin-top:0}
.aps-cca-card label{display:block;margin:0 0 12px}
.aps-cca-card input:not([type=file]):not([type=radio]),.aps-cca-card select{width:100%;padding:10px;margin-top:6px;box-sizing:border-box}
.aps-cca-button,.aps-cca-card button,.aps-cca-file-trigger{display:inline-flex;align-items:center;justify-content:center;background:#a3276b;color:#fff !important;border:0;padding:12px 20px;border-radius:999px;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.2;transition:background .2s ease, transform .2s ease}
.aps-cca-button:hover,.aps-cca-card button:hover,.aps-cca-file-trigger:hover{background:#8c225d;transform:translateY(-1px)}
.aps-cca-toolbar{display:flex;justify-content:space-between;align-items:flex-start;margin:0 0 20px;gap:18px}
.aps-cca-toolbar .aps-cca-userbox{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.aps-cca-table{width:100%;border-collapse:collapse}
.aps-cca-table th,.aps-cca-table td{border-bottom:1px solid #e3e3e3;padding:10px;text-align:left;vertical-align:top}
.aps-cca-alert{padding:12px 16px;border-radius:8px;margin-bottom:18px}
.aps-cca-success{background:#ecf9f0;color:#1c6c34}
.aps-cca-error{background:#fff2f2;color:#8e1d1d}
.aps-cca-package{display:flex;gap:10px;align-items:flex-start;border:1px solid #eee;border-radius:8px;padding:10px;margin-bottom:10px}
.aps-cca-package input{width:auto;margin-top:3px}
.aps-cca-note{font-size:12px;color:#555}
.aps-cca-card fieldset{border:0;padding:0;margin:0 0 10px}
.aps-cca-card legend{font-weight:700;margin-bottom:10px}
.aps-cca-actions{display:flex;gap:48px;align-items:center;flex-wrap:wrap;margin-top:18px}
.aps-cca-actions-stack{gap:14px}
.aps-cca-file-input{display:none !important}
.aps-cca-file-upload{margin:0 0 14px}
.aps-cca-file-dropzone{border:2px dashed #d6bfd0;border-radius:16px;padding:16px;background:#fcf8fb;transition:border-color .2s ease, background .2s ease}
.aps-cca-file-dropzone.is-dragover{border-color:#a3276b;background:#f8edf4}
.aps-cca-file-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.aps-cca-file-meta{display:flex;flex-direction:column;gap:4px;min-width:220px}
.aps-cca-file-name{font-size:13px;color:#333;word-break:break-word}
.aps-cca-file-help{font-size:12px;color:#666}
@media (max-width:900px){.aps-cca-grid,.aps-cca-auth{grid-template-columns:1fr}.aps-cca-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.aps-cca-actions{gap:18px}}

.aps-cca-file-title{font-weight:700;margin:0 0 12px;color:#333}


/* v24 layout fixes for logged-in portal */
.aps-cca-wrap,
.aps-cca-header,
.aps-cca-grid,
.aps-cca-card,
.aps-cca-toolbar,
.aps-cca-userbox,
.aps-cca-payment-form,
.aps-cca-payment-summary,
.aps-cca-history-wrap{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    box-sizing:border-box;
}

.aps-cca-auth{
    grid-template-columns:1fr !important;
    align-items:start !important;
}

.aps-cca-card{
    align-self:start;
}

.aps-cca-history-wrap{
    width:100%;
    overflow-x:auto !important;
    overflow-y:visible !important;
}

.aps-cca-table{
    width:100%;
    table-layout:auto;
}

.aps-cca-table th,
.aps-cca-table td{
    word-break:break-word;
}

@media (max-width:900px){
    .aps-cca-auth{grid-template-columns:1fr !important;}
}


/* v25 logged-in layout cleanup */
.aps-cca-grid.aps-cca-auth{
    display:block !important;
}

.aps-cca-grid.aps-cca-auth > .aps-cca-card{
    width:100% !important;
    display:block !important;
    margin:0 0 24px 0 !important;
}

.aps-cca-history-wrap{
    width:100%;
    overflow-x:auto !important;
    overflow-y:visible !important;
    -webkit-overflow-scrolling:touch;
}

.aps-cca-history-wrap .aps-cca-table{
    min-width:860px !important;
    width:100% !important;
    table-layout:auto !important;
}

.aps-cca-history-wrap .aps-cca-table th,
.aps-cca-history-wrap .aps-cca-table td{
    white-space:nowrap !important;
    word-break:normal !important;
}

.aps-cca-payment-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:18px !important;
}

@media (max-width: 900px){
    .aps-cca-payment-grid{
        grid-template-columns:1fr !important;
    }
}


/* v28 payment / portal layout cleanup */
.aps-cca-wrap,
.aps-cca-container,
.aps-cca-card,
.aps-cca-auth,
.aps-cca-grid{
    box-sizing:border-box;
}

.aps-cca-grid.aps-cca-auth{
    display:block !important;
}

.aps-cca-grid.aps-cca-auth > .aps-cca-card{
    width:100% !important;
    max-width:none !important;
}

.aps-cca-history-wrap{
    width:100%;
    overflow-x:auto !important;
    overflow-y:visible !important;
}

.aps-cca-history-wrap .aps-cca-table{
    min-width:960px !important;
    width:max-content !important;
    table-layout:auto !important;
}

.aps-cca-history-wrap .aps-cca-table th,
.aps-cca-history-wrap .aps-cca-table td{
    white-space:nowrap !important;
    word-break:normal !important;
}

.aps-cca-payment-card,
.aps-cca-payment-wrap{
    width:100% !important;
    max-width:none !important;
}
