.cwx-ambassador-dashboard{max-width:1180px;margin:0 auto;padding:20px;color:#172033}.cwx-task-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.cwx-task-summary div{border:1px solid #e5e7eb;border-radius:14px;padding:16px;background:#fff}.cwx-task-summary strong{display:block;font-size:28px;line-height:1}.cwx-task-summary span{font-size:13px;color:#555}.cwx-task-table-wrap{overflow-x:auto;border:1px solid #dfe5ef;border-radius:14px;background:#fff;box-shadow:0 7px 24px rgba(31,42,68,.06)}.cwx-task-table{width:100%;min-width:780px;border-collapse:collapse;font-size:14px}.cwx-task-table th,.cwx-task-table td{padding:15px 14px;border-bottom:1px solid #e8ecf3;text-align:left;vertical-align:middle}.cwx-task-table thead th{background:#f7f9fc;color:#344056;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.cwx-task-table-row:hover{background:#fbfcff}.cwx-task-title{display:block;font-size:15px}.cwx-task-priority{display:block;margin-top:4px;color:#7a8496;font-size:12px;font-weight:400}.cwx-task-table .cwx-task-toggle-cell{text-align:right}.cwx-task-toggle{padding:8px 12px;border:1px solid #3157d5;border-radius:8px;background:#fff;color:#2445ae;font-weight:700;white-space:nowrap;cursor:pointer}.cwx-task-toggle:hover,.cwx-task-toggle:focus,.cwx-task-toggle[aria-expanded=true]{background:#3157d5;color:#fff}.cwx-task-details-row[hidden]{display:none}.cwx-task-details-row>td{padding:0;border-bottom:1px solid #dfe5ef;background:#f8faff}.cwx-task-details{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:26px;padding:24px}.cwx-task-details h3{margin:0 0 12px;font-size:18px}.cwx-task-description{font-size:14px;color:#222}.cwx-task-detail-list{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0}.cwx-task-detail-list>div{min-width:150px;padding:11px 13px;border:1px solid #e2e7f0;border-radius:9px;background:#fff}.cwx-task-detail-list dt{color:#687285;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.cwx-task-detail-list dd{margin:3px 0 0;font-weight:700}.cwx-badge{display:inline-flex;font-size:12px;font-weight:700;border-radius:999px;padding:5px 10px;background:#f3f4f6;white-space:nowrap}.cwx-status-approved .cwx-badge{background:#dcfce7;color:#166534}.cwx-status-submitted .cwx-badge{background:#fef3c7;color:#854d0e}.cwx-status-needs_revision .cwx-badge{background:#ffedd5;color:#9a3412}.cwx-status-rejected .cwx-badge{background:#fee2e2;color:#991b1b}.cwx-task-form{display:grid;gap:8px;padding:18px;border:1px solid #dfe5ef;border-radius:12px;background:#fff}.cwx-task-form label{font-weight:600;font-size:13px}.cwx-task-form input,.cwx-task-form select,.cwx-task-form textarea{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:9px}.cwx-task-form button{border:0;border-radius:10px;padding:10px 14px;background:#111;color:#fff;font-weight:700;cursor:pointer}.cwx-review-comment{background:#fff;border-left:4px solid #3157d5;padding:10px;margin:16px 0 0}.cwx-approved-message{background:#dcfce7;border-radius:10px;padding:14px}.cwx-ambassador-notice{padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
@media(max-width:850px){.cwx-task-details{grid-template-columns:1fr}}
@media(max-width:700px){.cwx-task-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cwx-ambassador-dashboard{padding:16px}}

.cwx-assignment-page{max-width:1280px;margin:0 auto;padding:24px;color:#172033}
.cwx-assignment-header{margin-bottom:22px}
.cwx-assignment-header h2{margin:4px 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.15}
.cwx-assignment-header p{max-width:780px;margin:0;color:#596274}
.cwx-assignment-eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#3157d5!important}
.cwx-assignment-messages{display:grid;gap:10px;margin-bottom:18px}
.cwx-assignment-notice{padding:13px 15px;border:1px solid #dbe2ef;border-radius:10px;background:#fff}
.cwx-assignment-notice--success{border-color:#9ad4ad;background:#effbf3;color:#166534}
.cwx-assignment-notice--error{border-color:#f2b2b2;background:#fff3f3;color:#991b1b}
.cwx-assignment-notice--warning{border-color:#f1d28a;background:#fff9e8;color:#854d0e}
.cwx-assignment-filters,.cwx-assignment-task-picker,.cwx-assignment-table-wrap{border:1px solid #dfe5ef;border-radius:14px;background:#fff;box-shadow:0 7px 24px rgba(31,42,68,.06)}
.cwx-assignment-filters{padding:18px;margin-bottom:18px}
.cwx-assignment-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cwx-assignment-filter-grid label{display:block}
.cwx-assignment-filter-grid label>span:not(.screen-reader-text){display:block;margin-bottom:6px;font-size:13px;font-weight:700}
.cwx-assignment-filter-grid input,.cwx-assignment-filter-grid select{width:100%;min-height:44px;padding:9px 11px;border:1px solid #cfd7e5;border-radius:9px;background:#fff;color:#172033}
.cwx-assignment-filter-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.cwx-assignment-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 17px;border:1px solid #244ac7;border-radius:9px;background:#3157d5;color:#fff!important;font-weight:700;text-decoration:none!important;cursor:pointer}
.cwx-assignment-button:hover,.cwx-assignment-button:focus{background:#2445ae;color:#fff}
.cwx-assignment-button--secondary{border-color:#cfd7e5;background:#fff;color:#243047!important}
.cwx-assignment-button--secondary:hover,.cwx-assignment-button--secondary:focus{background:#f3f6fb;color:#172033}
.cwx-assignment-task-picker{position:relative;padding:18px;margin-bottom:22px}
.cwx-assignment-task-picker label{display:block;margin-bottom:8px;font-weight:800}
.cwx-assignment-task-picker select{width:100%}
.cwx-assignment-task-picker p{margin:8px 0 0;color:#687285;font-size:13px}
.cwx-assignment-task-picker .cwx-task-select2-container{display:block;min-height:48px;width:100%}
.cwx-assignment-task-picker .select2-container--classic .select2-selection--multiple{min-height:48px;padding:5px 38px 5px 8px;border:1px solid #cfd7e5;border-radius:9px;background:#fff}
.cwx-assignment-task-picker .select2-container--classic.select2-container--focus .select2-selection--multiple{border-color:#3157d5}
.cwx-assignment-task-picker .select2-selection__rendered{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:0;padding:0}
.cwx-assignment-task-picker .select2-selection__choice{margin:0;padding:5px 8px;border:1px solid #d9e1f0;border-radius:6px;background:#eef3ff;color:#243047}
.cwx-assignment-task-picker .select2-search--inline .select2-search__field{min-width:190px;margin:0;padding:0px;border:0;box-shadow:none}
.cwx-assignment-task-picker .select2-dropdown{z-index:20;border-color:#cfd7e5;border-radius:8px}
.cwx-assignment-task-picker .select2-container--open .select2-dropdown--below{margin-top:4px}
.cwx-assignment-task-picker .select2-dropdown .select2-search__field{border:1px solid #cfd7e5;border-radius:6px}
.cwx-assignment-task-picker .select2-results__option--highlighted[aria-selected]{background:#3157d5}
.cwx-assignment-results-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:24px 0 10px}
.cwx-assignment-results-heading h3,.cwx-assignment-results-heading p{margin:0}
.cwx-assignment-results-heading p{color:#687285}
.cwx-assignment-table-wrap{overflow-x:auto}
.cwx-assignment-table{width:100%;min-width:1120px;border-collapse:collapse;font-size:14px}
.cwx-assignment-table th,.cwx-assignment-table td{padding:13px 12px;border-bottom:1px solid #e8ecf3;text-align:left;vertical-align:top}
.cwx-assignment-table th{background:#f7f9fc;color:#344056;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.cwx-assignment-table tbody tr:last-child td{border-bottom:0}
.cwx-assignment-table tbody tr:hover{background:#fbfcff}
.cwx-assignment-table small{display:block;margin-top:3px;color:#7a8496}
.cwx-assignment-table input[type=checkbox]{width:18px;height:18px}
.cwx-assignment-select-column{width:65px}
.cwx-assignment-submit{display:flex;justify-content:flex-end;margin-top:18px}
.cwx-assignment-pagination{margin-top:24px}
.cwx-assignment-pagination .page-numbers{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.cwx-assignment-pagination a,.cwx-assignment-pagination span{display:flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:7px 10px;border:1px solid #d5dce8;border-radius:8px;background:#fff;color:#243047;text-decoration:none}
.cwx-assignment-pagination .current{border-color:#3157d5;background:#3157d5;color:#fff}
@media(max-width:900px){.cwx-assignment-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cwx-assignment-page{padding:16px}.cwx-assignment-filter-grid{grid-template-columns:1fr}.cwx-assignment-filter-actions,.cwx-assignment-results-heading{align-items:stretch;flex-direction:column}.cwx-assignment-button{width:100%}.cwx-assignment-submit .cwx-assignment-button{width:100%}}

.cwx-submissions-page{max-width:1360px;margin:0 auto;padding:18px;color:#172033}
.cwx-submissions-filters{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(160px,.75fr) minmax(210px,1fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #dfe5ef;border-radius:8px;background:#fff}
.cwx-submissions-filters label>span,.cwx-submission-review-form label>span{display:block;margin-bottom:5px;font-size:12px;font-weight:700}
.cwx-submissions-filters input,.cwx-submissions-filters select,.cwx-submission-review-form select,.cwx-submission-review-form textarea{width:100%;min-height:40px;padding:8px 10px;border:1px solid #cfd7e5;border-radius:6px;background:#fff;color:#172033}
.cwx-submissions-filter-actions{display:flex;gap:7px}
.cwx-submissions-page .cwx-assignment-button{min-height:40px;padding:8px 13px;border-color:#3157d5;border-radius:6px;background:#3157d5}
.cwx-submissions-page .cwx-assignment-button--secondary{border-color:#cfd7e5;background:#fff}
.cwx-submissions-page .cwx-assignment-results-heading{margin:18px 0 8px}
.cwx-submissions-page .cwx-assignment-results-heading h3{font-size:18px}
.cwx-submissions-table-wrap{overflow-x:auto;border:1px solid #dfe5ef;border-radius:8px;background:#fff}
.cwx-submissions-table{width:100%;min-width:1050px;border-collapse:collapse;font-size:13px}
.cwx-submissions-table th,.cwx-submissions-table td{padding:11px 12px;border-bottom:1px solid #e8ecf3;text-align:left;vertical-align:middle}
.cwx-submissions-table thead th{background:#f7f9fc;color:#344056;font-size:11px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.cwx-submissions-table-row:hover{background:#fbfcff}
.cwx-submissions-table-row th[scope=row]{max-width:220px}
.cwx-submissions-table-row strong,.cwx-submissions-table-row small{display:block}
.cwx-submissions-table-row small{max-width:220px;margin-top:2px;overflow:hidden;color:#7a8496;font-weight:400;text-overflow:ellipsis;white-space:nowrap}
.cwx-submission-sort{display:inline-flex;gap:5px;align-items:center;color:inherit;text-decoration:none}
.cwx-submission-sort:hover,.cwx-submission-sort:focus,.cwx-submission-sort.is-active{color:#2445ae}
.cwx-submission-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f7;color:#344056;font-size:11px;font-weight:800;white-space:nowrap}
.cwx-submission-status--submitted{background:#fef3c7;color:#854d0e}
.cwx-submission-status--approved{background:#dcfce7;color:#166534}
.cwx-submission-status--needs_revision{background:#ffedd5;color:#9a3412}
.cwx-submission-status--rejected{background:#fee2e2;color:#991b1b}
.cwx-submission-evidence-cell{white-space:nowrap}
.cwx-submission-evidence-cell a{margin-right:8px;color:#2445ae}
.cwx-submissions-table .cwx-submission-toggle-cell{text-align:right}
.cwx-submission-toggle{min-width:70px;padding:7px 10px;border:1px solid #c7d0df;border-radius:6px;background:#fff;color:#243047;font-weight:700;cursor:pointer}
.cwx-submission-toggle:hover,.cwx-submission-toggle:focus,.cwx-submission-toggle[aria-expanded=true]{border-color:#3157d5;background:#3157d5;color:#fff}
.cwx-submission-details-row[hidden]{display:none}
.cwx-submission-details-row>td{padding:0;background:#f8faff}
.cwx-submission-review-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:22px;padding:18px}
.cwx-submission-review-context h4{margin:0 0 6px;font-size:14px}
.cwx-submission-review-context p{margin:0 0 14px;white-space:pre-wrap}
.cwx-submission-evidence{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.cwx-submission-evidence a{padding:7px 10px;border:1px solid #d9e1f0;border-radius:6px;background:#fff;color:#2445ae;text-decoration:none}
.cwx-submission-review-form{display:grid;grid-template-columns:1fr;gap:10px;padding:14px;border:1px solid #dfe5ef;border-radius:8px;background:#fff}
.cwx-submission-review-form textarea{min-height:72px;resize:vertical}
.cwx-submission-review-form .cwx-assignment-button{justify-self:start}
.cwx-submissions-table .cwx-submissions-empty{padding:28px;text-align:center;color:#687285}

.cwx-pagination{margin-top:30px;}
.cwx-pagination ul{ display:flex; gap:8px; list-style:none; margin:0; padding:0; }
.cwx-pagination a, .cwx-pagination span{ display:flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; border:1px solid #d5d9e2; border-radius:6px; text-decoration:none; }
.cwx-pagination .active{ background:var(--cl-yellow); border-color:var(--cl-yellow);; color:#000; }
.cwx-task-filters button { min-height: 40px; padding: 8px 13px; border-radius: 6px; }
.cwx-assigned-task-table a { text-decoration: initial; }

@media(max-width:1000px){.cwx-submissions-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.cwx-submission-review-panel{grid-template-columns:1fr}}
@media(max-width:600px){.cwx-submissions-page{padding:14px}.cwx-submissions-filters{grid-template-columns:1fr}.cwx-submissions-filter-actions{align-items:stretch;flex-direction:column}.cwx-submissions-filter-actions .cwx-assignment-button{width:100%}}


/* Ambassador Task Creation Form */
.cwx-ambassador-create-task {
    padding: 24px 28px;
    background: #ffffff;
    border: 1px solid #e2e4e7;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.cwx-ambassador-create-task h2 {
    margin: 0 0 18px;
    font-size: 22px;
    font-weight: 600;
    color: #1d2327;
}
.cwx-ambassador-success {
    margin-bottom: 18px;
    padding: 10px 14px;
    background: #edfaef;
    border: 1px solid #b7e4c7;
    border-left: 4px solid #2fa84f;
    border-radius: 4px;
    color: #1e6b35;
    font-size: 14px;
}
.cwx-ambassador-notice {
    max-width: 640px;
    margin: 24px 0;
    padding: 14px 16px;
    background: #fff8e5;
    border: 1px solid #f0d999;
    border-left: 4px solid #dba617;
    border-radius: 4px;
    color: #6b5300;
    font-size: 14px;
}
.cwx-create-task-form .cwx-field {
    margin: 0 0 18px;
}
.cwx-create-task-form label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 13px;
    color: #1d2327;
}
.cwx-create-task-form .description {
    margin: 4px 0 0;
    font-size: 12px;
    color: #6b7280;
}
.cwx-create-task-form input[type="text"],
.cwx-create-task-form input[type="number"],
.cwx-create-task-form input[type="date"],
.cwx-create-task-form input[type="url"],
.cwx-create-task-form textarea,
.cwx-create-task-form select {
    width: 100%;
    padding: 9px 12px;
    font-size: 14px;
    line-height: 1.4;
    color: #1d2327;
    background: #fff;
    border: 1px solid #c3c4c7;
    border-radius: 5px;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cwx-create-task-form textarea {
    resize: vertical;
    min-height: 110px;
}
.cwx-create-task-form input:focus,
.cwx-create-task-form textarea:focus,
.cwx-create-task-form select:focus {
    outline: none;
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
}
.cwx-create-task-form select {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23555' d='M4 6l4 4 4-4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px;
    padding-right: 32px;
}
.cwx-create-task-form button[type="submit"] {
    display: inline-block;
    margin-top: 6px;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 600;
    color: #000;
    background: var(--cl-yellow);
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.15s ease;
}
.cwx-create-task-form button[type="submit"]:hover {
    background: #135e96;
}
.cwx-create-task-form button[type="submit"]:active {
    background: #0a4b78;
}
.cwx-cancel-edit {
    display: inline-block;
    margin-left: 12px;
    color: #6b7280;
    text-decoration: underline;
    font-size: 14px;
}
.cwx-task-list-wrap {
    padding: 24px 28px;
    background: #ffffff;
    border: 1px solid #e2e4e7;
    border-radius: 8px;
    margin-top: 20px;
}
.cwx-task-list-wrap h2 {
    margin: 0 0 16px;
    font-size: 20px;
    font-weight: 600;
    color: #1d2327;
}
.cwx-task-list-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.cwx-task-list-table th,
.cwx-task-list-table td {
    text-align: left;
    padding: 10px 12px;
    border-bottom: 1px solid #e2e4e7;
}
.cwx-task-list-table th {
    font-weight: 600;
    color: #1d2327;
    background: #f6f7f7;
}
.cwx-task-list-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}
.cwx-edit-link {
    color: #2271b1;
    text-decoration: none;
    font-weight: 600;
}
.cwx-edit-link:hover {
    text-decoration: underline;
}
.cwx-delete-form {
    margin: 0;
}
.cwx-delete-link {
    background: none;
    border: none;
    padding: 0;
    color: #b32d2e;
    font-weight: 600;
    cursor: pointer;
    font-size: 14px;
}
.cwx-delete-link:hover {
    text-decoration: underline;
}
.cwx-task-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.cwx-task-list-header h2 {
    margin: 0;
}
.cwx-add-task-btn {
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 600;
    color: #000;
    background: var(--cl-yellow);
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.15s ease;
    white-space: nowrap;
    text-decoration: none;
    float: right;
    margin-bottom: 20px;
}
.cwx-add-task-btn:hover {
    background: #000;
    color: var(--cl-yellow);
}
button.cwx-cancel-edit {
    display: inline-block;
    margin-left: 12px;
    color: #6b7280;
    text-decoration: underline;
    font-size: 14px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}
span.select2-selection.select2-selection--multiple {
    height: 45px;
}


@media (max-width: 700px) {
    .cwx-task-list-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

@media (max-width: 600px) {
    .cwx-ambassador-create-task {
        padding: 18px 16px;
        margin: 16px 0;
        border-radius: 6px;
    }
    .cwx-task-list-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/* Student task list: stack the table into per-task cards on phones so it
   no longer forces 780px of horizontal scroll. Pairs with the data-label
   attributes rendered in render_student_task_rows(). */
@media(max-width:700px){
    .cwx-task-table-wrap{overflow-x:visible;border:0;background:transparent;box-shadow:none;border-radius:0}
    .cwx-task-table{display:block;width:100%;min-width:0}
    .cwx-task-table thead{display:none}
    .cwx-task-table-item{display:block;margin:0 0 14px;border:1px solid #dfe5ef;border-radius:14px;background:#fff;box-shadow:0 7px 24px rgba(31,42,68,.06);overflow:hidden}
    .cwx-task-table-row{display:block;padding:14px 16px}
    .cwx-task-table-row>th,.cwx-task-table-row>td{display:block;padding:0;border:0;text-align:left}
    .cwx-task-table-row>th[scope=row]{margin-bottom:10px}
    .cwx-task-table-row>td[data-label]{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:8px 0;border-top:1px solid #eef1f6}
    .cwx-task-table-row>td[data-label]::before{content:attr(data-label);color:#687285;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
    .cwx-task-table .cwx-task-toggle-cell{margin-top:12px;text-align:left}
    .cwx-task-toggle{display:block;width:100%;text-align:center}
    .cwx-task-details-row{display:block}
    .cwx-task-details-row>td{display:block;padding:0;border:0}
    .cwx-task-details{padding:16px}
}
