/* PICAC CPD Submission Form Styles */
#picac-cpd-wrap { font-family: inherit; max-width: 820px; margin: 0 auto; }

/* Step nav */
.pcpd-step-nav { display: flex; gap: 0; margin-bottom: 0; flex-wrap: wrap; }
.pcpd-step-btn { flex: 1; min-width: 80px; padding: 10px 4px; background: none; border: none;
    border-bottom: 3px solid #DDD8CE; cursor: pointer; font-size: 0.72rem; font-weight: 500;
    color: #5A6472; letter-spacing: .05em; text-transform: uppercase; transition: all .2s; }
.pcpd-step-btn.active { border-bottom-color: #B89A5C; color: #1C2B3A; font-weight: 700; }
.pcpd-step-btn.done   { border-bottom-color: #27AE60; color: #27AE60; }

/* Progress bar */
.pcpd-progress { height: 3px; background: #DDD8CE; margin-bottom: 28px; }
.pcpd-progress-fill { height: 100%; background: #B89A5C; transition: width .3s ease; }

/* Panels */
.pcpd-panel { display: none; }
.pcpd-panel.active { display: block; }

/* Section titles */
.pcpd-section-title { font-size: 1.2rem; font-weight: 600; color: #1C2B3A; margin-bottom: 4px; }
.pcpd-section-sub   { font-size: 0.85rem; color: #5A6472; margin-bottom: 24px; }

/* Field rows */
.pcpd-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.pcpd-row-3 { grid-template-columns: 1fr 1fr 1fr; }
@media(max-width:600px){ .pcpd-row, .pcpd-row-3 { grid-template-columns: 1fr; } }
.pcpd-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 16px; }
.pcpd-field label { font-size: 0.8rem; font-weight: 600; color: #1C2B3A; }
.pcpd-req  { color: #C0392B; margin-left: 2px; }
.pcpd-note { font-size: 0.72rem; font-weight: 400; color: #5A6472; margin-left: 6px; }
.pcpd-field input[type=text], .pcpd-field input[type=email],
.pcpd-field input[type=number], .pcpd-field input[type=date],
.pcpd-field input[type=time], .pcpd-field input[type=file],
.pcpd-field select, .pcpd-field textarea {
    border: 1.5px solid #DDD8CE; border-radius: 5px; padding: 9px 12px;
    font-size: 0.88rem; font-family: inherit; color: #1C2B3A;
    background: #fff; transition: border-color .18s; width: 100%; }
.pcpd-field input:focus, .pcpd-field select:focus, .pcpd-field textarea:focus {
    outline: none; border-color: #B89A5C; box-shadow: 0 0 0 3px rgba(184,154,92,.12); }
.pcpd-field textarea { resize: vertical; min-height: 88px; }

/* Radio / checkbox groups */
.pcpd-radio-group, .pcpd-check-group { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.pcpd-radio-stack { flex-direction: column; gap: 8px; }
.pcpd-radio-group label, .pcpd-check-group label {
    display: flex; align-items: center; gap: 7px;
    font-size: 0.85rem; color: #1C2B3A; cursor: pointer; font-weight: 400; }
.pcpd-radio-group input, .pcpd-check-group input { accent-color: #B89A5C; width: 15px; height: 15px; }

/* Objectives table */
.pcpd-obj-table { width: 100%; border-collapse: collapse; margin-top: 8px; }
.pcpd-obj-num {
    width: 36px; background: #F7F5F0; border: 1.5px solid #DDD8CE; border-right: none;
    text-align: center; font-size: 0.8rem; font-weight: 700; color: #B89A5C;
    vertical-align: middle; padding: 8px 0; }
.pcpd-obj-input {
    border: 1.5px solid #DDD8CE; border-left: none; padding: 9px 12px;
    font-size: 0.85rem; font-family: inherit; color: #1C2B3A; width: 100%; }
.pcpd-obj-table tr + tr .pcpd-obj-num,
.pcpd-obj-table tr + tr .pcpd-obj-input { border-top: none; }
.pcpd-obj-input:focus { outline: none; border-color: #B89A5C; }

/* Warning box */
.pcpd-warn {
    background: #FEF9E7; border-left: 4px solid #F0A500;
    border-radius: 0 5px 5px 0; padding: 12px 16px;
    font-size: 0.82rem; color: #7D6608; margin-bottom: 20px; line-height: 1.6; }

/* Hint accordion */
.pcpd-hint { border: 1.5px solid #DDD8CE; border-radius: 6px; overflow: hidden; margin-bottom: 20px; }
.pcpd-hint summary { padding: 11px 16px; background: #F7F5F0; font-size: 0.82rem;
    font-weight: 600; color: #1C2B3A; cursor: pointer; }
.pcpd-hint-body { padding: 14px 18px; font-size: 0.82rem; color: #1C2B3A;
    line-height: 1.7; border-top: 1.5px solid #DDD8CE; }
.pcpd-hint-body p { margin-bottom: 10px; }
.pcpd-hint-body a { color: #B89A5C; }

/* Document checklist */
.pcpd-doc-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 8px; }
.pcpd-doc-item { display: flex; align-items: flex-start; gap: 12px;
    padding: 12px 16px; background: #F7F5F0; border-radius: 6px;
    border: 1.5px solid #DDD8CE; cursor: pointer; }
.pcpd-doc-item input { margin-top: 3px; accent-color: #B89A5C; width: 15px; height: 15px; flex-shrink: 0; }
.pcpd-doc-item strong { display: block; font-size: 0.85rem; color: #1C2B3A; }
.pcpd-doc-item span   { font-size: 0.77rem; color: #5A6472; }

/* Declaration */
.pcpd-declaration { background: #F7F5F0; border-left: 4px solid #1C2B3A;
    border-radius: 0 6px 6px 0; padding: 16px 20px; font-size: 0.83rem;
    color: #1C2B3A; line-height: 1.75; margin: 20px 0 16px; }
.pcpd-declaration ul { padding-left: 18px; margin-top: 8px; }
.pcpd-declaration li { margin-bottom: 4px; }

/* Nav buttons */
.pcpd-nav { display: flex; justify-content: space-between; align-items: center;
    margin-top: 28px; padding-top: 20px; border-top: 1.5px solid #DDD8CE; }
.pcpd-btn { padding: 10px 26px; border-radius: 5px; font-family: inherit;
    font-size: 0.88rem; font-weight: 600; cursor: pointer; border: none; transition: all .18s; }
.pcpd-btn-ghost  { background: none; color: #5A6472; border: 1.5px solid #DDD8CE; }
.pcpd-btn-ghost:hover { border-color: #1C2B3A; color: #1C2B3A; }
.pcpd-btn-next   { background: #1C2B3A; color: #fff; }
.pcpd-btn-next:hover { background: #2a3f57; }
.pcpd-btn-submit { background: #B89A5C; color: #1C2B3A; }
.pcpd-btn-submit:hover { background: #D4B87A; }
.pcpd-btn:disabled { opacity: .6; cursor: not-allowed; }

/* Field-level error highlight */
.pcpd-field-error,
input.pcpd-field-error,
select.pcpd-field-error,
textarea.pcpd-field-error {
    border-color: #C0392B !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,.12) !important;
}
.pcpd-radio-group.pcpd-field-error,
.pcpd-check-group.pcpd-field-error {
    outline: 2px solid #C0392B;
    outline-offset: 4px;
    border-radius: 4px;
}

/* Error */
.pcpd-error { background: #FDEDEC; border-left: 4px solid #C0392B;
    border-radius: 0 5px 5px 0; padding: 12px 16px; color: #922B21;
    font-size: 0.85rem; margin-top: 12px; }

/* Success */
#pcpd-success { text-align: center; padding: 48px 24px; }
.pcpd-success-icon { width: 64px; height: 64px; background: #27AE60; border-radius: 50%;
    margin: 0 auto 16px; display: flex; align-items: center; justify-content: center;
    font-size: 28px; color: #fff; }
