.ccm-sp-shell{margin:0;background:#f5e8e3;color:#254739;font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.ccm-sp-wrap{--sp-green:#214b3b;--sp-pink:#efc5d1;--sp-cream:#fffdf7;--sp-line:#ced4c8;box-sizing:border-box;max-width:1060px;margin:0 auto;padding:34px 24px 64px;color:var(--sp-green);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.ccm-sp-wrap *{box-sizing:border-box}.ccm-sp-wrap [hidden],.ccm-sp-hidden-ticket{display:none!important}.ccm-sp-narrow{max-width:820px}.ccm-sp-wrap h1,.ccm-sp-wrap h2,.ccm-sp-dialog h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.18;letter-spacing:-.025em;color:inherit}.ccm-sp-wrap h1{font-size:clamp(32px,4.2vw,52px);margin:8px 0 22px}.ccm-sp-wrap h2{font-size:clamp(26px,3vw,36px);margin:0 0 18px}.ccm-sp-wrap p{margin:0 0 18px}.ccm-sp-wrap a{color:inherit;text-underline-offset:4px}.ccm-sp-header{display:flex;justify-content:space-between;gap:20px;background:#214b3b;color:#fffaf1;padding:22px max(24px,calc((100vw - 1012px)/2));font-size:14px;letter-spacing:.1em}.ccm-sp-header a{color:inherit;text-decoration:none;font-weight:650}.ccm-sp-footer{text-align:center;padding:28px;color:#456250;font-size:13px}.ccm-sp-skip{position:absolute;left:12px;top:-80px;background:white;padding:14px;z-index:99999}.ccm-sp-skip:focus{top:8px}.ccm-sp-card{background:var(--sp-cream);border:1px solid #e0d9d1;border-radius:22px;padding:36px;margin:0 0 26px}.ccm-sp-flow ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;counter-reset:steps;gap:24px;padding:0;margin:22px 0 26px}.ccm-sp-flow li{counter-increment:steps;position:relative;padding-top:48px}.ccm-sp-flow li:before{content:counter(steps);position:absolute;top:0;left:0;background:var(--sp-pink);width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-weight:650}.ccm-sp-flow li strong,.ccm-sp-flow li span{display:block}.ccm-sp-flow li span{font-size:14px;margin-top:7px}.ccm-sp-flow>p{font-size:14px;border-top:1px solid var(--sp-line);padding-top:18px;margin-bottom:0}.ccm-sp-wrap input:not([type=checkbox]):not([type=hidden]),.ccm-sp-wrap select,.ccm-sp-wrap textarea{font:inherit;color:#254739;border:1px solid #bac5b6;border-radius:9px;background:#fff;min-height:48px;padding:12px 14px;width:100%;box-shadow:none;max-width:100%}.ccm-sp-wrap input[type=file]{background:#edf2e6!important;padding:16px!important;font-size:14px!important;overflow:hidden}.ccm-sp-wrap input::file-selector-button{font:inherit;font-weight:600;color:#254739;border:1px solid #b3bdaa;background:#fffdf7;border-radius:7px;padding:10px 12px;margin-right:12px;cursor:pointer}.ccm-sp-label{display:block;font-weight:650;margin:22px 0 8px}.ccm-sp-help{font-size:14px;color:#607061;line-height:1.65;margin-top:8px!important}.ccm-sp-student{border:0;border-top:1px solid var(--sp-line);padding:24px 0 16px;margin:30px 0 14px;min-width:0}.ccm-sp-student legend{font-weight:700;padding:0 12px 0 0;font-size:20px}.ccm-sp-remove{float:right}.ccm-sp-button,.ccm-sp-secondary{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:48px;text-decoration:none!important;border-radius:10px;padding:12px 22px;border:1px solid transparent;cursor:pointer;font:600 16px/1.45 system-ui,sans-serif}.ccm-sp-button{background:#214b3b!important;color:#fffdf7!important}.ccm-sp-button:hover{background:#163d2d!important}.ccm-sp-secondary{background:#f4f5eb!important;color:#214b3b!important;border-color:#b8c6af}.ccm-sp-button:disabled,.ccm-sp-secondary:disabled{opacity:.65;cursor:wait}.ccm-sp-application>.ccm-sp-button,.ccm-sp-response>.ccm-sp-button{width:100%;margin-top:12px}.ccm-sp-remove,.ccm-sp-link-button{border:0;background:transparent;color:#214b3b;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:5px}.ccm-sp-check{display:flex;align-items:flex-start;gap:12px;margin:24px 0;font-weight:400}.ccm-sp-check input{flex:0 0 21px;width:21px;height:21px;margin:3px 0 0;accent-color:#214b3b}.ccm-sp-notice{border:1px solid #b8c6af;background:#eaf0df;border-radius:10px;padding:18px 22px;margin-bottom:24px}.ccm-sp-error,.ccm-sp-popup-error{color:#8b2034!important;background:#fbe9ed;padding:12px 16px;border-radius:8px;line-height:1.5}.ccm-sp-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.ccm-sp-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:650}.ccm-sp-status-list{list-style:none;padding:0;margin:28px 0 0}.ccm-sp-status-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--sp-line)}.ccm-sp-badge{display:inline-block;white-space:nowrap;background:#eee9dc;padding:5px 11px;border-radius:20px;font:600 12px/1.5 system-ui,sans-serif}.ccm-sp-status-approved,.ccm-sp-status-booked{background:#dcebd0;color:#204b3b}.ccm-sp-status-more,.ccm-sp-status-awaiting_customer{background:#f6e4bd;color:#674c14}.ccm-sp-status-declined{background:#f6dbe0;color:#8b2034}.ccm-sp-history{list-style:none;padding:0;margin:0}.ccm-sp-history li{padding:22px 0;border-bottom:1px solid var(--sp-line)}.ccm-sp-history li:first-child{padding-top:0}.ccm-sp-history li:last-child{border:0;padding-bottom:0}.ccm-sp-history li>div{display:flex;gap:12px;flex-wrap:wrap;font-size:14px}.ccm-sp-history time{display:block;color:#687261;font-size:12px;margin:4px 0 12px}.ccm-sp-history p{overflow-wrap:anywhere;margin:0}.ccm-sp-event-error{color:#8b2034}.ccm-sp-dialog{border:0;border-radius:20px;padding:36px;max-width:640px;width:calc(100% - 32px);max-height:86vh;overflow:auto;background:#fffdf7;color:#214b3b;font:16px/1.65 system-ui,sans-serif;box-shadow:0 20px 80px #0005}.ccm-sp-dialog::backdrop{background:#173b2cc9}.ccm-sp-close{float:right;background:transparent;border:0;font-size:28px;cursor:pointer}.ccm-sp-dialog a{color:inherit}.ccm-sp-booking .wc-bookings-booking-form{border:0;padding:0}.ccm-sp-booking .single_add_to_cart_button{background:#214b3b!important;color:white!important;border-radius:10px;padding:15px 24px}.ccm-sp-booking .wc-bookings-date-picker{padding:0}.ccm-sp-booking .wc-bookings-date-picker .ui-datepicker{padding:0;width:100%;max-width:none;box-shadow:none}.ccm-sp-booking .wc-bookings-date-picker .ui-datepicker-header{background:#214b3b}.ccm-sp-booking .block-picker li a.selected{background:#214b3b!important;color:#fff!important}.ccm-sp-portal{max-width:1240px}.ccm-sp-portal-nav{display:flex;gap:24px;align-items:center;border-bottom:1px solid #c5cfc0;padding-bottom:16px;margin-bottom:32px}.ccm-sp-portal-nav details{position:relative}.ccm-sp-portal-nav summary{cursor:pointer}.ccm-sp-portal-nav details div{position:absolute;top:40px;left:0;min-width:220px;background:#fffdf7;box-shadow:0 8px 26px #15302122;border-radius:12px;padding:12px;z-index:20}.ccm-sp-portal-nav details a{display:block;padding:10px}.ccm-sp-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.ccm-sp-title-row h2{margin:0}.ccm-sp-filters{display:flex;align-items:end;gap:16px;margin:20px 0}.ccm-sp-filters label{flex:1}.ccm-sp-filters input,.ccm-sp-filters select{display:block;margin-top:6px}.ccm-sp-table-scroll{overflow-x:auto;background:#fffdf7;border-radius:12px}.ccm-sp-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.ccm-sp-table th,.ccm-sp-table td{padding:16px;border-bottom:1px solid #d9dfd2}.ccm-sp-table th{background:#e3ecd9}.ccm-sp-pagination{display:flex;gap:16px;margin:22px 0}.ccm-sp-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ccm-sp-review-student{padding:20px;border:1px solid var(--sp-line);border-radius:14px;min-width:0}.ccm-sp-review-student .ccm-sp-title-row{align-items:start;gap:8px}.ccm-sp-review-student .ccm-sp-check{margin:0}.ccm-sp-review-student>p{font-size:14px;margin:10px 0}.ccm-sp-image-stage{overflow:auto;background:#e5e9df;height:340px;display:grid;place-items:center;border-radius:8px;padding:24px}.ccm-sp-id-image{display:block;max-width:100%;max-height:290px;object-fit:contain}.ccm-sp-pdf{width:100%;height:420px;border:1px solid var(--sp-line);border-radius:8px}.ccm-sp-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.ccm-sp-file .ccm-sp-secondary{padding:7px 10px;min-height:38px;font-size:13px}.ccm-sp-file>p:last-child{font-size:13px}.ccm-sp-utility{border-top:1px solid var(--sp-line);padding-top:18px}.ccm-sp-wrap :focus-visible,.ccm-sp-dialog :focus-visible{outline:3px solid #b57a93;outline-offset:3px}.ccm-sp-settings details{padding:15px;background:#fff;max-width:900px}.ccm-sp-settings summary{cursor:pointer;font-weight:650}.ccm-sp-settings .ccm-sp-table-scroll{max-height:430px;overflow:auto;margin-top:15px}.ccm-sp-settings .regular-text{max-width:100%}@media(max-width:760px){.ccm-sp-wrap{padding:22px 16px 36px}.ccm-sp-card{padding:26px 22px;border-radius:18px;margin-bottom:20px}.ccm-sp-flow ol{grid-template-columns:1fr;gap:24px}.ccm-sp-flow li{padding:0 0 0 48px;min-height:34px}.ccm-sp-header{padding:18px 20px;font-size:11px}.ccm-sp-header span{letter-spacing:0}.ccm-sp-review-grid{grid-template-columns:1fr}.ccm-sp-filters{flex-direction:column;align-items:stretch}.ccm-sp-status-list li{align-items:flex-start;flex-direction:column;gap:8px}.ccm-sp-dialog{padding:26px 24px}.ccm-sp-actions>.ccm-sp-button{width:100%}.ccm-sp-review-student{padding:16px}.ccm-sp-review-student .ccm-sp-title-row{display:block}.ccm-sp-review-student .ccm-sp-badge{margin-top:10px}.ccm-sp-booking .block-picker li{min-width:44%}}

/* The Elementor container controls the embedded form width and outer spacing. */
.ccm-sp-wrap.ccm-sp-embed{width:100%;max-width:none;padding:0}.ccm-sp-embed>.ccm-sp-card:last-child{margin-bottom:0}

/* Upload guidance and request access remain visible without horizontal scrolling. */
.ccm-sp-upload-summary{border-left:4px solid #b8c6af;background:#eef3e8;padding:14px 18px;border-radius:5px;font-size:14px}
.ccm-sp-request-list{display:grid;gap:18px}
.ccm-sp-request-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:24px;align-items:center;background:#fffdf7;border:1px solid #dddcd1;border-radius:18px;padding:24px;min-width:0}
.ccm-sp-request-card>div{min-width:0}
.ccm-sp-request-card h2{font:700 21px/1.4 system-ui,sans-serif;letter-spacing:0;margin:0 0 10px}
.ccm-sp-request-card p{overflow-wrap:anywhere;margin:4px 0 12px}
.ccm-sp-request-card p:last-child{margin-bottom:0}
.ccm-sp-request-contact>span{font-size:12px;font-weight:650;color:#607061}
.ccm-sp-request-contact p{font-size:14px}
.ccm-sp-request-card>.ccm-sp-button{gap:12px;white-space:nowrap}
@media(max-width:760px){.ccm-sp-request-card{grid-template-columns:minmax(0,1fr);padding:22px;gap:18px}.ccm-sp-request-card>.ccm-sp-button{width:100%}.ccm-sp-image-stage{height:300px;padding:12px}.ccm-sp-id-image{max-height:276px}}

/* Named outcomes stay readable on phone and desktop. */
.ccm-sp-result-note{font-size:14px;font-weight:400;white-space:normal;overflow-wrap:anywhere;margin:8px 0 0!important}
.ccm-sp-status-partially_approved{background:#e5eed9;color:#214b3b}
.ccm-sp-status-revoked{background:#f6dbe0;color:#8b2034}
.ccm-sp-wrap .ccm-sp-danger{border-color:#af6374;color:#8b2034!important;background:#fff5f5!important}
.ccm-sp-status-list li>div{min-width:0}.ccm-sp-status-list .ccm-sp-badge{flex-shrink:0}
.ccm-sp-review-student select{font-size:14px;white-space:normal}
@media(max-width:760px){.ccm-sp-actions>.ccm-sp-danger{width:100%}}

/* Customer corrections start with the task, with history collapsed below. */
.ccm-sp-correction{padding:26px}.ccm-sp-correction h2{margin-bottom:8px}
.ccm-sp-correction-form .ccm-sp-student{margin:16px 0 8px;padding:14px 0 8px}
.ccm-sp-correction-form .ccm-sp-student:first-of-type{border-top:0;margin-top:8px;padding-top:8px}
.ccm-sp-correction-form .ccm-sp-label{margin:12px 0 5px}
.ccm-sp-correction-form .ccm-sp-notice{margin:4px 0 12px;padding:12px 14px;font-size:15px}
.ccm-sp-correction-form .ccm-sp-help{margin-bottom:8px;font-size:13px}
.ccm-sp-correction-ref{font-size:12px;color:#607061;overflow-wrap:anywhere;margin:12px 0 0!important}
.ccm-sp-message-history summary{font-weight:650;cursor:pointer}.ccm-sp-message-history[open] summary{margin-bottom:20px}
.ccm-sp-other-students h3{font-size:18px;margin:0}.ccm-sp-other-students .ccm-sp-status-list{margin-top:12px}
@media(max-width:760px){.ccm-sp-correction{padding:20px 18px}.ccm-sp-correction h2{font-size:27px}.ccm-sp-message-history{padding:18px}.ccm-sp-other-students{padding:20px}}

.ccm-sp-status-withdrawn,.ccm-sp-status-closed{background:#e8e8e3;color:#5d655c}
.ccm-sp-group .ccm-sp-status-list{margin:12px 0 20px}.ccm-sp-group .ccm-sp-remove-member{margin:8px 0;font-size:14px;white-space:normal}
.ccm-sp-withdrawn{margin-top:20px}.ccm-sp-withdrawn summary{cursor:pointer;font-size:14px}.ccm-sp-withdrawn ul{font-size:14px}

.ccm-sp-review-student [data-review-outcome]{border:2px solid #9eaf95;background:#f3f7eb;font-weight:600;margin-bottom:18px}
.ccm-sp-review-student [data-review-explanation]{border-top:1px solid #ced4c8;margin-top:18px;padding-top:4px}

.ccm-sp-link-button:disabled{opacity:.5;cursor:not-allowed}
