.cdm-dashboard,.cdm-panel{--red:#c8102e;--dark:#181818;--muted:#707070;--border:#e6e6e6;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--dark)}.cdm-dashboard *,.cdm-panel *{box-sizing:border-box}.cdm-dashboard{background:#f6f6f6;padding:28px;border-radius:14px}.cdm-dashboard header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px}.cdm-dashboard header small,.cdm-panel>small{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--red)}.cdm-dashboard header h2{margin:5px 0;font-size:32px}.cdm-dashboard header p{margin:0;color:var(--muted)}.cdm-dashboard header time{background:#fff;border:1px solid var(--border);padding:12px 15px;border-radius:9px;font-size:12px;color:var(--muted)}.cdm-dashboard header time b{color:var(--dark);font-size:15px}.cdm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.cdm-stat{background:#fff;border:1px solid var(--border);border-radius:11px;padding:20px}.cdm-stat span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.cdm-stat strong{font-size:26px}.cdm-stat.green{border-left:4px solid #46a65a}.cdm-stat.yellow{border-left:4px solid #e0a800}.cdm-stat.blue{border-left:4px solid #3178ad}.cdm-stat.red{border-left:4px solid var(--red)}.cdm-stat.purple{border-left:4px solid #7458a8}.cdm-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:20px}.cdm-panel{background:#fff;border:1px solid var(--border);border-radius:11px;padding:22px;margin-bottom:20px}.cdm-panel h3{margin:5px 0 17px;font-size:18px}.cdm-placeholder{min-height:150px;border:1px dashed #d6d6d6;background:#fafafa;border-radius:9px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px}.cdm-placeholder strong{margin-bottom:6px}.cdm-placeholder span{font-size:13px;color:var(--muted);line-height:1.5}.cdm-placeholder.small{min-height:120px}.cdm-panel ul{list-style:none;padding:0;margin:0}.cdm-panel li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #eee;font-size:13px}.cdm-panel li:last-child{border:0}.cdm-calendar{border:1px solid #eee;border-radius:8px;overflow:hidden}.cdm-calendar>strong,.cdm-calendar>span{display:block;padding:10px 13px;background:#fafafa;font-size:12px}.cdm-calendar>span{padding-top:0;color:var(--muted)}.days{display:grid;grid-template-columns:repeat(7,1fr)}.days i{min-height:43px;border-top:1px solid #eee;border-right:1px solid #eee;padding:7px;font-style:normal;font-size:10px;color:#777}.bars{height:170px;display:flex;align-items:flex-end;gap:7px;border-bottom:1px solid #ddd;padding:0 5px;margin-bottom:28px}.bars i{flex:1;background:var(--red);border-radius:4px 4px 0 0;position:relative;min-height:12px}.bars em{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);font-style:normal;font-size:8px;color:#777}.muted{font-size:12px;color:var(--muted)}.cdm-progress{background:#fff;border:1px solid var(--border);border-radius:11px;padding:20px;display:flex;justify-content:space-between;gap:30px;align-items:center}.cdm-progress p{font-size:13px;color:var(--muted);margin:5px 0 0}.track{width:220px;height:8px;background:#eee;border-radius:10px;overflow:hidden;margin-bottom:8px}.track span{display:block;width:25%;height:100%;background:var(--red)}.cdm-notice{padding:16px 20px;background:#fff8e5;border:1px solid #eedca7;border-radius:9px;margin-bottom:20px}.cdm-denied{background:#fff0f0;border-color:#efcaca}@media(max-width:950px){.cdm-stats{grid-template-columns:repeat(2,1fr)}.cdm-grid{grid-template-columns:1fr}}@media(max-width:600px){.cdm-dashboard{padding:16px}.cdm-dashboard header{flex-direction:column}.cdm-stats{grid-template-columns:1fr}.cdm-progress{flex-direction:column;align-items:flex-start}.track{width:100%}}
/* Phase 3 — Franchise Management */
.cdm-manager {
	--cdm-red:#c8102e;
	--cdm-dark:#171717;
	--cdm-muted:#747474;
	--cdm-border:#e7e7e7;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
	color:var(--cdm-dark);
	background:#f6f6f6;
	padding:28px;
	border-radius:14px;
}
.cdm-manager-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.cdm-manager-header h2{margin:0 0 6px;font-size:34px;line-height:1.1}
.cdm-manager-header p{margin:0;color:var(--cdm-muted);font-size:14px}
.cdm-back-link{display:block;margin-bottom:13px;color:#555;text-decoration:none;font-size:12px}
.cdm-back-link:hover{color:var(--cdm-red)}
.cdm-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 16px;border-radius:8px;text-decoration:none;border:1px solid transparent;font-size:13px;font-weight:500;cursor:pointer;line-height:1.2}
.cdm-button-primary{background:var(--cdm-red);color:#fff!important}
.cdm-button-primary:hover{background:#a80d27;color:#fff!important}
.cdm-button-dark{background:#222;color:#fff!important}
.cdm-button-light{background:#fff;color:#333!important;border-color:#ddd}
.cdm-filter-card,.cdm-list-card,.cdm-form-card{background:#fff;border:1px solid var(--cdm-border);border-radius:12px;padding:20px;margin-bottom:20px}
.cdm-filter-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(170px,1fr) auto;gap:14px;align-items:end}
.cdm-filter-row label,.cdm-field label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}
.cdm-filter-row input,.cdm-filter-row select,.cdm-field input,.cdm-field select,.cdm-field textarea{width:100%;border:1px solid #dcdcdc;border-radius:7px;background:#fff;padding:11px 12px;font-size:14px;color:#222;box-shadow:none}
.cdm-filter-row input:focus,.cdm-field input:focus,.cdm-field select:focus,.cdm-field textarea:focus{outline:none;border-color:#999}
.cdm-filter-actions{display:flex;gap:7px}
.cdm-list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.cdm-list-heading h3{margin:0;font-size:19px}
.cdm-table-wrap{overflow-x:auto}
.cdm-franchisee-table{width:100%;border-collapse:collapse;min-width:780px}
.cdm-franchisee-table th{text-align:left;padding:11px 12px;background:#fafafa;border-bottom:1px solid #e5e5e5;color:#666;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.cdm-franchisee-table td{padding:14px 12px;border-bottom:1px solid #eee;vertical-align:middle;font-size:13px}
.cdm-franchisee-table tr:last-child td{border-bottom:0}
.cdm-franchisee-table td strong,.cdm-franchisee-table td span,.cdm-franchisee-table td small{display:block}
.cdm-franchisee-table td small{color:#888;margin-top:4px;font-size:11px}
.cdm-number{display:inline-block!important;background:#f3f3f3;border-radius:5px;padding:5px 8px;font-weight:700;font-size:12px!important;color:#333}
.cdm-status{display:inline-block!important;border-radius:30px;padding:5px 9px;font-size:10px!important;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.cdm-status-active{background:#eaf6ed;color:#20733a}
.cdm-status-pending{background:#fff5d9;color:#876000}
.cdm-status-suspended{background:#ffe8e8;color:#a42020}
.cdm-status-inactive{background:#eee;color:#666}
.cdm-actions{white-space:nowrap}
.cdm-actions a{font-size:12px;font-weight:700;color:var(--cdm-red);text-decoration:none;margin-left:10px}
.cdm-actions a:first-child{margin-left:0}
.cdm-notice{padding:14px 17px;border-radius:9px;margin-bottom:18px;background:#f3f3f3;border:1px solid #ddd;font-size:13px}
.cdm-notice.cdm-success{background:#edf8ef;border-color:#cfe8d3;color:#216b32}
.cdm-notice.cdm-error,.cdm-notice.cdm-denied{background:#fff0f0;border-color:#edcccc;color:#9b2020}
.cdm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cdm-form-card{margin-bottom:0}
.cdm-form-full{grid-column:1/-1}
.cdm-form-title{margin-bottom:17px}
.cdm-form-title h3{margin:0;font-size:18px}
.cdm-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.cdm-field-full{grid-column:1/-1}
.cdm-field small{display:block;color:#888;font-size:11px;line-height:1.45;margin-top:5px}
.cdm-field em{color:var(--cdm-red);font-style:normal}
.cdm-form-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.cdm-profile-hero{display:flex;align-items:center;gap:17px;background:#fff;border:1px solid var(--cdm-border);border-radius:12px;padding:22px;margin-bottom:15px}
.cdm-profile-avatar{width:58px;height:58px;flex:0 0 58px;border-radius:50%;background:#f1f1f1;display:grid;place-items:center;font-weight:800;font-size:20px}
.cdm-profile-hero h3{margin:0 0 4px;font-size:21px}
.cdm-profile-hero p{margin:0;color:#777;font-size:13px}
.cdm-profile-hero>.cdm-status{margin-left:auto}
.cdm-profile-tabs{display:flex;gap:0;overflow-x:auto;background:#fff;border:1px solid var(--cdm-border);border-radius:10px;margin-bottom:20px}
.cdm-profile-tabs span,.cdm-profile-tabs a{padding:13px 15px;font-size:12px;font-weight:700;color:#777;border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none}.cdm-profile-tabs a.active{color:var(--cdm-red);border-bottom-color:var(--cdm-red)}
.cdm-profile-tabs span.active{color:var(--cdm-red);border-bottom-color:var(--cdm-red)}
.cdm-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cdm-detail-list{margin-top:17px}
.cdm-detail-list>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #eee}
.cdm-detail-list>div:last-child{border-bottom:0}
.cdm-detail-list span{color:#888;font-size:12px}
.cdm-detail-list strong{font-size:13px;text-align:right}
.cdm-profile-notes{margin-top:15px;background:#fafafa;border-radius:8px;padding:15px;min-height:80px;font-size:13px;line-height:1.6}
.cdm-profile-notes span{color:#888}
@media(max-width:800px){
	.cdm-manager{padding:18px}
	.cdm-manager-header{flex-direction:column}
	.cdm-filter-row,.cdm-form-grid,.cdm-profile-grid{grid-template-columns:1fr}
	.cdm-form-full{grid-column:auto}
	.cdm-field-grid{grid-template-columns:1fr}
	.cdm-field-full{grid-column:auto}
	.cdm-filter-actions{justify-content:flex-start}
	.cdm-profile-hero{align-items:flex-start;flex-wrap:wrap}
	.cdm-profile-hero>.cdm-status{margin-left:0}
}

/* Franchisee Dashboard — calendar section */
.cdm-franchisee-calendar-wrap{grid-column:1/-1;margin-top:0}
.cdm-franchisee-calendar-wrap .cdm-events{background:#fff;border:1px solid #e6e6e6;border-radius:11px;padding:22px}
.cdm-franchisee-calendar-wrap .cdm-events-head h2{font-size:24px}
@media(max-width:600px){.cdm-franchisee-calendar-wrap .cdm-events{padding:16px}.cdm-franchisee-calendar-wrap .cdm-calendar-day{min-height:95px;padding:6px}.cdm-franchisee-calendar-wrap .cdm-event-item{font-size:9px}}


/* Head Office — temporary user switcher */
.cdm-ho-header-tools{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cdm-user-switcher{background:#fff;border:1px solid #e6e6e6;border-radius:9px;padding:9px 10px}
.cdm-user-switcher form{display:flex;align-items:center;gap:7px;margin:0}
.cdm-user-switcher label{font-size:10px;font-weight:800;letter-spacing:.08em;color:#c8102e;white-space:nowrap}
.cdm-user-switcher select{min-width:210px;border:1px solid #dcdcdc;border-radius:6px;background:#fff;padding:7px 9px;font-size:11px;color:#222}.cdm-switch-user-fields{display:flex;gap:6px;flex:1;min-width:420px}.cdm-switch-user-search{min-width:250px;flex:1;border:1px solid #dcdcdc;border-radius:6px;background:#fff;padding:7px 9px;font-size:11px;color:#222}.cdm-switch-user-fields select{min-width:260px;flex:1}
.cdm-user-switcher .cdm-button{padding:8px 11px;font-size:10px}
.cdm-impersonation-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;padding:12px 14px;background:#fff8e5;border:1px solid #eedca7;border-radius:9px}
.cdm-impersonation-banner strong{display:block;font-size:12px}
.cdm-impersonation-banner span{display:block;color:#777;font-size:10px;margin-top:3px}
.cdm-impersonation-banner .cdm-button{white-space:nowrap}
@media(max-width:800px){.cdm-ho-header-tools{width:100%;justify-content:flex-start}.cdm-user-switcher{width:100%}.cdm-user-switcher form{flex-wrap:wrap}.cdm-switch-user-fields{width:100%;min-width:0;flex-wrap:wrap}.cdm-switch-user-search,.cdm-user-switcher select{flex:1;min-width:180px}.cdm-impersonation-banner{align-items:flex-start;flex-direction:column}}

/* Phase 4 — Events & Calendar */
.cdm-events{--cdm-red:#c8102e;--cdm-dark:#171717;--cdm-muted:#747474;--cdm-border:#e7e7e7;background:#f6f6f6;padding:28px;border-radius:14px;color:var(--cdm-dark);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.cdm-events *{box-sizing:border-box}
.cdm-events-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}
.cdm-events-head small{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--cdm-red)}
.cdm-events-head h2{margin:5px 0;font-size:34px;line-height:1.1}
.cdm-events-head p{margin:0;color:var(--cdm-muted);font-size:14px}
.cdm-calendar-toolbar{display:flex;gap:8px;justify-content:center;margin-bottom:15px}
.cdm-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#222;color:#fff;border-radius:10px 10px 0 0;overflow:hidden}
.cdm-calendar-weekdays span{text-align:center;padding:10px 5px;font-size:11px;font-weight:700}
.cdm-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);background:#ddd;gap:1px;border:1px solid #ddd;border-top:0}
.cdm-calendar-day{background:#fff;min-height:125px;padding:8px;position:relative}
.cdm-calendar-day.empty{background:#f5f5f5}
.cdm-calendar-day.today{box-shadow:inset 0 0 0 2px var(--cdm-red)}
.cdm-day-number{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.cdm-day-number span{font-size:12px;font-weight:800}
.cdm-day-number a{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#f1f1f1;color:#555;text-decoration:none;font-size:15px;line-height:1}
.cdm-day-number a:hover{background:var(--cdm-red);color:#fff}
.cdm-event-item{display:block;text-decoration:none;background:#f8e8eb;border-left:3px solid var(--cdm-red);border-radius:4px;padding:5px 6px;margin:4px 0;color:#222;font-size:10px;line-height:1.35}
.cdm-event-item:hover{background:#f2d5db}
.cdm-event-item b{font-size:9px;color:var(--cdm-red)}
.cdm-event-item small{display:block;margin-top:2px;color:#777;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdm-empty-day{display:block;color:#bbb;font-size:9px;margin-top:16px}
.cdm-event-list{background:#fff;border:1px solid var(--cdm-border);border-radius:12px;padding:20px;margin-top:20px}
.cdm-event-list .cdm-list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cdm-event-list .cdm-list-heading h3{margin:0;font-size:19px}
.cdm-event-list .cdm-list-heading span{color:#888;font-size:12px}
.cdm-event-row{display:grid;grid-template-columns:58px 1fr auto;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid #eee}
.cdm-event-row:last-child{border-bottom:0}
.cdm-event-date{width:50px;height:50px;border-radius:8px;background:#f5f5f5;display:flex;flex-direction:column;align-items:center;justify-content:center}
.cdm-event-date b{font-size:18px;line-height:1}
.cdm-event-date span{font-size:9px;color:#777;text-transform:uppercase;margin-top:3px}
.cdm-event-main strong,.cdm-event-main span,.cdm-event-main small{display:block}
.cdm-event-main strong{font-size:13px}
.cdm-event-main span{font-size:11px;color:#666;margin-top:3px}
.cdm-event-main small{font-size:10px;color:#888;margin-top:3px}
.cdm-text-link,.cdm-dashboard-link{color:var(--cdm-red);font-size:12px;font-weight:600;text-decoration:none}
.cdm-dashboard-link{display:inline-block;margin-top:13px}
.cdm-dashboard-event-list{padding:5px 0}
.cdm-dashboard-event-list>div{display:grid;grid-template-columns:55px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid #eee}
.cdm-dashboard-event-list>div:last-child{border-bottom:0}
.cdm-dashboard-event-list b{font-size:11px}
.cdm-dashboard-event-list span,.cdm-dashboard-event-list small{display:block;font-size:11px}
.cdm-dashboard-event-list small{color:#888}
.cdm-upcoming-list{display:flex;flex-direction:column}
.cdm-upcoming-list>div{padding:12px 0;border-bottom:1px solid #eee}
.cdm-upcoming-list>div:last-child{border-bottom:0}
.cdm-upcoming-list strong,.cdm-upcoming-list span,.cdm-upcoming-list small{display:block}
.cdm-upcoming-list strong{font-size:13px}
.cdm-upcoming-list span{font-size:11px;color:#666;margin-top:3px}
.cdm-upcoming-list small{font-size:10px;color:#888;margin-top:3px}
.cdm-event-form-wrap .cdm-events-head{margin-bottom:18px}
.cdm-event-form .cdm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cdm-event-form .cdm-form-card{background:#fff;border:1px solid var(--cdm-border);border-radius:12px;padding:20px}
.cdm-event-form .cdm-form-full{grid-column:1/-1}
.cdm-event-form .cdm-form-title{margin-bottom:17px}
.cdm-event-form .cdm-form-title small{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--cdm-red)}
.cdm-event-form .cdm-form-title h3{margin:4px 0 0;font-size:18px}
.cdm-event-form .cdm-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.cdm-event-form .cdm-field-full{grid-column:1/-1}
.cdm-event-form .cdm-field label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}
.cdm-event-form .cdm-field em{color:var(--cdm-red);font-style:normal}
.cdm-event-form .cdm-field input,.cdm-event-form .cdm-field select,.cdm-event-form .cdm-field textarea{width:100%;border:1px solid #dcdcdc;border-radius:7px;background:#fff;padding:11px 12px;font-size:14px;color:#222;box-shadow:none}
.cdm-event-form .cdm-field input:focus,.cdm-event-form .cdm-field select:focus,.cdm-event-form .cdm-field textarea:focus{outline:none;border-color:#999}
.cdm-event-form .cdm-form-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.cdm-delete-event{color:#a42020!important}
@media(max-width:800px){.cdm-events{padding:18px}.cdm-events-head{flex-direction:column}.cdm-calendar-day{min-height:90px;padding:5px}.cdm-event-item{font-size:8px}.cdm-event-item small{display:none}.cdm-event-form .cdm-form-grid,.cdm-event-form .cdm-field-grid{grid-template-columns:1fr}.cdm-event-form .cdm-form-full,.cdm-event-form .cdm-field-full{grid-column:auto}.cdm-event-row{grid-template-columns:50px 1fr}.cdm-event-row>div:last-child{grid-column:2}.cdm-calendar-weekdays span{font-size:9px}}

/* Phase 4.1 — Dashboard workspace / event guest count */
.cdm-quick-actions{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 20px}
.cdm-workspace{background:#fff;border:1px solid var(--border);border-radius:12px;padding:0;margin:0 0 20px;overflow:hidden;scroll-margin-top:20px}
.cdm-workspace-empty{padding:38px 24px;text-align:center;background:#fafafa}
.cdm-workspace-empty small{font-size:10px;font-weight:800;letter-spacing:.15em;color:#c8102e}
.cdm-workspace-empty h3{margin:7px 0 5px;font-size:20px}
.cdm-workspace-empty p{margin:0;color:#747474;font-size:13px}
.cdm-workspace-loading{padding:50px;text-align:center;color:#747474;font-size:14px}
.cdm-workspace .cdm-manager,.cdm-workspace .cdm-events{border-radius:0}
.cdm-field input[type=number]{appearance:textfield}
@media(max-width:650px){.cdm-quick-actions{flex-direction:column}.cdm-quick-actions .cdm-button{width:100%}}

.cdm-dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.cdm-workspace-shell{margin-top:20px}
[data-cdm-workspace]{position:relative}
.cdm-workspace-loading,.cdm-workspace-empty{padding:35px 20px;text-align:center;border:1px dashed #ddd;border-radius:8px;background:#fff}
.cdm-loading{opacity:.75;pointer-events:none}
.cdm-form-footer .cdm-notice{margin:0 0 12px}
.cdm-button:disabled{opacity:.65;cursor:wait}


/* Phase 5 dashboard simplification — Head Office */
.cdm-head-office-dashboard{background:#f6f6f6}
.cdm-ho-topcards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.cdm-ho-card{background:#fff;border:1px solid var(--border);border-radius:11px;padding:17px 18px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;border-left:4px solid #aaa}
.cdm-ho-card.green{border-left-color:#46a65a}.cdm-ho-card.blue{border-left-color:#3178ad}.cdm-ho-card.red{border-left-color:var(--red)}.cdm-ho-card.yellow{border-left-color:#e0a800}
.cdm-ho-card span{display:block;font-size:10px;letter-spacing:.12em;font-weight:800;color:#666}
.cdm-ho-card strong{display:block;font-size:28px;line-height:1;margin:7px 0 4px}
.cdm-ho-card small{display:block;color:#888;font-size:11px}
.cdm-ho-card a{font-size:11px;font-weight:600;color:var(--red);white-space:nowrap;text-decoration:none}
.cdm-ho-two-col{display:grid;grid-template-columns:1.25fr .9fr;gap:18px;margin-bottom:18px}
.cdm-ho-section{background:#fff;border:1px solid var(--border);border-radius:11px;padding:20px}
.cdm-ho-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:14px}
.cdm-ho-section-head small{display:block;color:var(--red);font-size:10px;font-weight:800;letter-spacing:.14em}
.cdm-ho-section-head h3{margin:4px 0 4px;font-size:19px}
.cdm-ho-section-head p{margin:0;color:#777;font-size:12px}
.cdm-ho-network-list,.cdm-ho-simple-list{border-top:1px solid #eee}
.cdm-ho-network-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #eee}
.cdm-ho-avatar{width:34px;height:34px;border-radius:50%;background:#f1f1f1;display:grid;place-items:center;font-size:12px;font-weight:800;flex:0 0 34px}
.cdm-ho-network-main{flex:1;min-width:0}
.cdm-ho-network-main strong{display:block;font-size:13px}
.cdm-ho-network-main span{display:block;color:#888;font-size:11px;margin-top:3px}
.cdm-ho-network-row>a{font-size:11px;font-weight:600;color:var(--red);text-decoration:none}
.cdm-ho-create-strip{margin-top:14px;padding:13px 14px;background:#fafafa;border:1px solid #eee;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.cdm-ho-create-strip strong{display:block;font-size:13px}.cdm-ho-create-strip span{display:block;color:#888;font-size:11px;margin-top:3px}
.cdm-ho-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cdm-ho-action-grid a{display:block;border:1px solid #eee;border-radius:8px;padding:13px;text-decoration:none;color:#222;background:#fafafa}
.cdm-ho-action-grid a:hover{border-color:#ddd;background:#fff}
.cdm-ho-action-grid span{display:block;font-size:12px;font-weight:700}.cdm-ho-action-grid b{display:block;font-size:20px;margin:5px 0}.cdm-ho-action-grid small{display:block;color:#888;font-size:10px}
.cdm-ho-simple-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eee}
.cdm-ho-simple-list>div:last-child{border-bottom:0}
.cdm-ho-simple-list strong{display:block;font-size:12px}.cdm-ho-simple-list span,.cdm-ho-simple-list small{display:block;color:#888;font-size:11px;margin-top:3px}
.cdm-ho-pill{background:#fff4f4;color:var(--red)!important;border-radius:20px;padding:5px 8px;font-weight:600;white-space:nowrap}
.cdm-ho-calendar-section{margin-bottom:0}
.cdm-ho-calendar{border:1px solid #ddd;border-radius:9px;overflow:hidden}
.cdm-ho-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#222;color:#fff}
.cdm-ho-weekdays span{text-align:center;padding:8px 4px;font-size:10px;font-weight:700}
.cdm-ho-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);background:#ddd;gap:1px}
.cdm-ho-cal-day{background:#fff;min-height:105px;padding:6px;overflow:hidden}
.cdm-ho-cal-day.empty{background:#f5f5f5}
.cdm-ho-cal-day.today{box-shadow:inset 0 0 0 2px var(--red)}
.cdm-ho-cal-day>b{display:block;font-size:11px;margin-bottom:5px}
.cdm-ho-cal-day>a{display:block;background:#f8e8eb;border-left:2px solid var(--red);border-radius:3px;padding:4px;margin:3px 0;text-decoration:none;color:#222}
.cdm-ho-cal-day>a strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdm-ho-cal-day>a small{display:block;color:#777;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.cdm-ho-cal-day>em{display:block;color:var(--red);font-size:9px;font-style:normal;margin-top:4px}
.cdm-ho-cal-day .empty-note{color:#ccc;font-size:10px}
@media(max-width:1000px){.cdm-ho-topcards{grid-template-columns:repeat(2,1fr)}.cdm-ho-two-col{grid-template-columns:1fr}}
@media(max-width:600px){.cdm-ho-topcards{grid-template-columns:1fr}.cdm-ho-card{align-items:center}.cdm-ho-section{padding:15px}.cdm-ho-section-head{flex-direction:column}.cdm-ho-create-strip{align-items:flex-start;flex-direction:column}.cdm-ho-action-grid{grid-template-columns:1fr}.cdm-ho-cal-day{min-height:80px}}

/* v2.5.1 navigation helpers */
/* v3.1.2 — clearer page navigation links */
.cdm-page-return{margin-bottom:12px;}
.cdm-page-return .cdm-back-link,
.cdm-panel > .cdm-back-link{
	display:inline-flex;
	align-items:center;
	gap:5px;
	padding:7px 11px;
	border:1px solid #e3e3e3;
	border-radius:6px;
	background:#fafafa;
	color:#c8102e;
	font-size:11px;
	font-weight:700;
	line-height:1.2;
	text-decoration:none;
	margin-bottom:10px;
}
.cdm-page-return .cdm-back-link:hover,
.cdm-panel > .cdm-back-link:hover{
	background:#fff4f4;
	border-color:#efc7cf;
	color:#a70d27;
}
.cdm-panel > small{
	display:block;
	margin:0 0 5px;
	color:#c8102e;
	font-size:9px;
	font-weight:800;
	letter-spacing:.08em;
	line-height:1.2;
}
.cdm-ho-section-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.cdm-ho-cal-day a em{display:block;font-style:normal;font-size:10px;margin-top:2px;opacity:.7;}

/* v2.5.2 — Head Office dashboard button visibility */
.cdm-head-office-dashboard .cdm-button-primary,
.cdm-head-office-dashboard .cdm-button-primary:visited,
.cdm-head-office-dashboard .cdm-button-primary:hover,
.cdm-head-office-dashboard .cdm-button-primary:focus,
.cdm-head-office-dashboard .cdm-button-primary:active {
	background:#c8102e !important;
	color:#fff !important;
	border-color:#c8102e !important;
	text-decoration:none !important;
}
.cdm-head-office-dashboard .cdm-button-light,
.cdm-head-office-dashboard .cdm-button-light:visited,
.cdm-head-office-dashboard .cdm-button-light:hover,
.cdm-head-office-dashboard .cdm-button-light:focus,
.cdm-head-office-dashboard .cdm-button-light:active {
	color:#333 !important;
	text-decoration:none !important;
}
/* Franchise enquiries */
.cdm-enquiry-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.cdm-enquiry-stats>div{background:#fafafa;border:1px solid #e5e5e5;border-radius:9px;padding:14px 16px}.cdm-enquiry-stats span{display:block;font-size:11px;color:#777;margin-bottom:6px}.cdm-enquiry-stats strong{font-size:24px}.cdm-enquiry-stats .pending{border-left:4px solid #e0a800}.cdm-enquiry-stats .approved{border-left:4px solid #46a65a}.cdm-enquiry-list>div{align-items:center}.cdm-enquiry-list .cdm-ho-pill{text-decoration:none;white-space:nowrap}.cdm-enquiry-detail-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:20px}.cdm-enquiry-detail-grid .cdm-form-card{margin-bottom:0}@media(max-width:800px){.cdm-enquiry-stats{grid-template-columns:1fr}.cdm-enquiry-detail-grid{grid-template-columns:1fr}}


/* Notifications Centre */
.cdm-notifications{
	--cdm-red:#c8102e;
	--cdm-dark:#171717;
	--cdm-muted:#747474;
	--cdm-border:#e7e7e7;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
	color:var(--cdm-dark);
	background:#f6f6f6;
	padding:28px;
	border-radius:14px;
}
.cdm-notifications *{box-sizing:border-box}
.cdm-notifications-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}
.cdm-notifications-head h2{margin:4px 0 6px;font-size:32px;line-height:1.1}
.cdm-notifications-head p{margin:0;color:var(--cdm-muted);font-size:14px}
.cdm-notifications-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cdm-notifications-head-actions form{margin:0}
.cdm-notification-count{font-size:12px;font-weight:700;color:#666;background:#fff;border:1px solid var(--cdm-border);padding:9px 12px;border-radius:8px}
.cdm-notification-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.cdm-notification-section{background:#fff;border:1px solid var(--cdm-border);border-radius:12px;padding:20px}
.cdm-notification-history{margin-top:0}
.cdm-notification-section-head{margin-bottom:12px}
.cdm-notification-section-head small{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--cdm-red)}
.cdm-notification-section-head h3{margin:4px 0 4px;font-size:19px}
.cdm-notification-section-head p{margin:0;color:#888;font-size:12px}
.cdm-notification-list{display:flex;flex-direction:column}
.cdm-notification-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #eee}
.cdm-notification-item:last-child{border-bottom:0}
.cdm-notification-icon{width:32px;height:32px;border-radius:8px;background:#f3f3f3;display:grid;place-items:center;font-size:12px;font-weight:800;color:#666}
.cdm-notification-item.feedback .cdm-notification-icon{background:#fff0f0;color:var(--cdm-red)}
.cdm-notification-item.pending .cdm-notification-icon{background:#fff7df;color:#8b6800}
.cdm-notification-item.message .cdm-notification-icon{background:#edf3fa;color:#356d9c}
.cdm-notification-item.upcoming .cdm-notification-icon{background:#f0f0f0;color:#555}
.cdm-notification-main{min-width:0}
.cdm-notification-main strong,.cdm-notification-main span,.cdm-notification-main small{display:block}
.cdm-notification-main strong{font-size:13px}
.cdm-notification-main span{font-size:11px;color:#555;margin-top:3px}
.cdm-notification-main small{font-size:10px;color:#888;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdm-notification-item>a{font-size:11px;font-weight:700;color:var(--cdm-red);text-decoration:none;white-space:nowrap}
.cdm-notification-item>a:hover{text-decoration:underline}
.cdm-notification-item.stored.is-unread{background:#fffafa;margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:7px}
.cdm-notification-item.stored.is-unread .cdm-notification-icon{background:#f8e8eb;color:var(--cdm-red)}
.cdm-notification-empty{padding:28px 15px;text-align:center;background:#fafafa;border:1px dashed #ddd;border-radius:9px}
.cdm-notification-empty strong,.cdm-notification-empty span{display:block}
.cdm-notification-empty strong{font-size:13px;margin-bottom:5px}
.cdm-notification-empty span{font-size:11px;color:#888;line-height:1.5}
.cdm-notification-message-detail{background:#fff;border:1px solid var(--cdm-border);border-radius:12px;padding:20px;margin-bottom:20px}
.cdm-notification-detail-top{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:15px}
.cdm-notification-detail-top small{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--cdm-red)}
.cdm-notification-detail-top h3{margin:4px 0 0;font-size:20px}
.cdm-message-meta{padding:12px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}
.cdm-message-meta strong,.cdm-message-meta span{display:block}
.cdm-message-meta strong{font-size:13px}
.cdm-message-meta span{font-size:10px;color:#888;margin-top:3px}
.cdm-message-body{padding:18px 0;font-size:13px;line-height:1.7}
.cdm-message-body p:first-child{margin-top:0}
.cdm-message-body p:last-child{margin-bottom:0}
.cdm-message-reply{border-top:1px solid #eee;padding-top:17px}
.cdm-message-reply label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}
.cdm-message-reply textarea{width:100%;border:1px solid #dcdcdc;border-radius:7px;padding:11px 12px;font-size:13px;resize:vertical;min-height:120px}
.cdm-message-reply textarea:focus{outline:none;border-color:#999}
.cdm-message-reply>div{display:flex;justify-content:flex-end;margin-top:9px}
@media(max-width:800px){
	.cdm-notifications{padding:18px}
	.cdm-notifications-head{flex-direction:column}
	.cdm-notifications-head-actions{justify-content:flex-start}
	.cdm-notification-grid{grid-template-columns:1fr}
	.cdm-notification-detail-top{flex-direction:column}
}
@media(max-width:560px){
	.cdm-notification-item{grid-template-columns:32px minmax(0,1fr)}
	.cdm-notification-item>a{grid-column:2}
}

/* Head Office message composer */
.cdm-message-compose label{display:block;font-weight:600;margin:14px 0 6px}.cdm-message-compose .cdm-select-wrap{position:relative}.cdm-message-compose .cdm-select-wrap:after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2px solid #666;border-bottom:2px solid #666;transform:translateY(-65%) rotate(45deg);pointer-events:none}.cdm-message-compose select,.cdm-message-compose input[type=text],.cdm-message-compose textarea{width:100%;box-sizing:border-box;border:1px solid #d9dee5;border-radius:8px;padding:11px 12px;background:#fff;font:inherit}.cdm-message-compose select{height:48px;line-height:48px;padding-right:42px;appearance:none;-webkit-appearance:none;cursor:pointer;color:#222 !important;font-size:13px !important;font-weight:400 !important;font-family:Arial,sans-serif !important;-webkit-text-size-adjust:100%}.cdm-message-compose select:invalid{color:#777 !important;font-size:13px !important}.cdm-message-compose select option{color:#222 !important;background:#fff;font-size:13px !important;font-weight:400 !important;font-family:Arial,sans-serif !important}.cdm-message-compose select:focus,.cdm-message-compose input[type=text]:focus,.cdm-message-compose textarea:focus{outline:none;border-color:#b51f2a;box-shadow:0 0 0 2px rgba(181,31,42,.08)}.cdm-message-compose>div:last-child{margin-top:14px}.cdm-message-list .is-unread{border-left:3px solid #b51f2a;padding-left:12px}

/* Chip'n Dip Manager 3.1.6 — Head Office message franchisee selector */
#cdm-message-franchisee {
  font-size: 13px !important;
  font-family: Arial, sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  height: 48px !important;
  padding: 11px 42px 11px 12px !important;
  box-sizing: border-box !important;
}
#cdm-message-franchisee option {
  font-size: 13px !important;
  font-family: Arial, sans-serif !important;
  font-weight: 400 !important;
}


/* Public Event Request review - compact Head Office layout */
.cdm-event-request-detail .cdm-event-request-contact{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 10px;
    margin:8px 0 16px;
}
.cdm-event-request-detail .cdm-event-request-contact strong,
.cdm-event-request-detail .cdm-event-request-contact span{display:inline-block;}
.cdm-event-request-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:0 0 18px;
}
.cdm-event-request-summary>div{
    min-width:0;
    background:#fafafa;
    border:1px solid #e7e7e7;
    border-radius:8px;
    padding:10px 12px;
}
.cdm-event-request-summary strong{
    display:block;
    margin:0 0 4px;
    font-size:10px;
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#777;
}
.cdm-event-request-summary span{
    display:block;
    font-size:12px;
    line-height:1.4;
    color:#222;
    overflow-wrap:anywhere;
}
.cdm-event-form-detail-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px 12px;
    margin-top:10px;
}
.cdm-event-form-detail-item{
    min-width:0;
    border:1px solid #ececec;
    border-radius:7px;
    background:#fff;
    padding:9px 10px;
}
.cdm-event-form-detail-item strong{
    display:block;
    margin:0 0 4px;
    font-size:10px;
    line-height:1.3;
    color:#666;
}
.cdm-event-form-detail-item span{
    display:block;
    margin:0;
    font-size:11px;
    line-height:1.45;
    color:#222;
    overflow-wrap:anywhere;
}
@media(max-width:1000px){
    .cdm-event-request-summary,.cdm-event-form-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
    .cdm-event-request-summary,.cdm-event-form-detail-grid{grid-template-columns:1fr;}
}


/* v3.3.2 Event completion, unit sales and comparison reporting */
.cdm-feedback-manager .cdm-manager-header{margin-bottom:18px}
.cdm-feedback-event-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.cdm-feedback-event-summary>div,.cdm-unit-comparison-cards>div,.cdm-unit-mini-stats>div,.cdm-unit-item-totals>div{background:#fff;border:1px solid #e5e5e5;border-radius:9px;padding:14px 16px;box-shadow:0 2px 7px rgba(0,0,0,.035)}
.cdm-feedback-event-summary span,.cdm-unit-comparison-cards span,.cdm-unit-mini-stats span,.cdm-unit-item-totals span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#777;margin-bottom:5px}
.cdm-feedback-event-summary strong{display:block;font-size:14px;line-height:1.4;color:#171717}
.cdm-feedback-form{display:grid;gap:14px}
.cdm-unit-sales-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.cdm-unit-sales-grid label{display:block;background:#fafafa;border:1px solid #dedede;border-radius:8px;padding:13px}
.cdm-unit-sales-grid label span{display:block;font-size:13px;font-weight:800;margin-bottom:8px;color:#191919}
.cdm-unit-sales-grid input{width:100%!important;box-sizing:border-box;height:45px!important;border:1px solid #ccc!important;border-radius:6px!important;padding:0 10px!important;font-size:17px!important;font-weight:700!important}
.cdm-unit-sales-grid small{display:block;margin-top:5px;color:#777;font-size:11px}
.cdm-unit-comparison-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.cdm-unit-comparison-cards strong,.cdm-unit-mini-stats strong,.cdm-unit-item-totals strong{display:block;font-size:23px;line-height:1.1;color:#151515;margin-bottom:5px}
.cdm-unit-comparison-cards small,.cdm-unit-mini-stats small,.cdm-unit-item-totals small{font-size:11px;color:#757575;line-height:1.35}
.cdm-unit-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}
.cdm-unit-item-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px}
.cdm-unit-chart-wrap{width:100%;overflow-x:auto;padding-top:5px}
.cdm-unit-chart{display:block;width:100%;min-width:680px;height:auto;background:#fff}
.cdm-unit-chart text{font-family:Arial,sans-serif;font-size:11px;fill:#666}
.cdm-chart-bar.current{fill:#e71920}
.cdm-chart-bar.previous{fill:#a9a9a9}
.cdm-unit-chart-legend{display:flex;gap:18px;justify-content:flex-end;font-size:12px;font-weight:700;margin-bottom:4px}
.cdm-unit-chart-legend span{display:flex;align-items:center;gap:6px}
.cdm-unit-chart-legend i{display:inline-block;width:12px;height:12px;border-radius:2px}
.cdm-unit-chart-legend i.current{background:#e71920}.cdm-unit-chart-legend i.previous{background:#a9a9a9}
.cdm-event-row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.cdm-event-row-actions a:last-child{font-size:11px}
.cdm-upcoming-list .cdm-dashboard-link{display:inline-block;margin-top:6px;font-weight:800;color:#e71920}
@media(max-width:900px){.cdm-feedback-event-summary,.cdm-unit-comparison-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cdm-unit-sales-grid,.cdm-unit-item-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cdm-feedback-event-summary,.cdm-unit-comparison-cards,.cdm-unit-mini-stats,.cdm-unit-sales-grid,.cdm-unit-item-totals{grid-template-columns:1fr}.cdm-event-row-actions{align-items:flex-start}}


/* v3.3.2 - Head Office bulk event unit correction */
.cdm-bulk-unit-form{display:block}
.cdm-bulk-unit-meta{display:grid;grid-template-columns:1.25fr 1.25fr .75fr;gap:16px;margin:18px 0 22px}
.cdm-bulk-unit-meta label{display:flex;flex-direction:column;gap:7px;font-weight:700}
.cdm-bulk-unit-heading{display:flex;flex-direction:column;gap:3px;margin:8px 0 12px}
.cdm-bulk-unit-heading strong{font-size:16px}
.cdm-bulk-unit-heading span,.cdm-bulk-unit-help{color:#666;font-size:13px}
.cdm-bulk-unit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}
.cdm-bulk-unit-grid label{position:relative;display:flex;flex-direction:column;gap:7px;padding:14px;border:1px solid #e2e2e2;border-radius:9px;background:#fafafa;font-weight:700}
.cdm-bulk-unit-grid input{width:100%;box-sizing:border-box}
.cdm-bulk-unit-grid small{font-weight:400;color:#777}
.cdm-bulk-unit-help{padding:12px 14px;background:#f7f7f7;border-left:4px solid #d71920;border-radius:4px;margin:2px 0 16px}
@media(max-width:1000px){.cdm-bulk-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cdm-bulk-unit-meta{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.cdm-bulk-unit-grid,.cdm-bulk-unit-meta{grid-template-columns:1fr}}

/* v3.3.2 franchise import/account terms */
.cdm-account-terms-panel{margin:18px 0}.cdm-account-readonly{font-size:12px;color:#777;margin:10px 0 0}.cdm-franchise-importer .cdm-report-table{min-width:1180px;width:100%;border-collapse:collapse}.cdm-franchise-importer .cdm-report-table th,.cdm-franchise-importer .cdm-report-table td{padding:10px;border-bottom:1px solid #e7e7e7;text-align:left;vertical-align:top;font-size:12px}.cdm-franchise-importer .cdm-report-table th{font-weight:800;background:#fafafa;position:sticky;top:0}.cdm-franchise-importer ul{margin:0;padding-left:20px}.cdm-franchise-importer li{margin:5px 0}

/* v3.4.0 ensure temporary-user return control stays visible on every screen */
.cdm-impersonation-banner .cdm-button,.cdm-impersonation-banner .cdm-button:link,.cdm-impersonation-banner .cdm-button:visited{background:#c8102e!important;color:#fff!important;border-color:#c8102e!important;text-decoration:none!important;opacity:1!important;visibility:visible!important}
.cdm-impersonation-banner .cdm-button:hover,.cdm-impersonation-banner .cdm-button:focus{background:#a90d27!important;color:#fff!important}

/* v3.4.0 Head Office document folders and annual target controls */
.cdm-document-scope-tabs,.cdm-folder-links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.cdm-folder-tools{display:flex;flex-direction:column;gap:14px}
.cdm-folder-create,.cdm-target-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.cdm-folder-create input,.cdm-target-form input{min-height:42px;border:1px solid #ddd;border-radius:7px;padding:8px 11px}
.cdm-target-form label{display:flex;flex-direction:column;gap:6px;font-weight:700}
.cdm-head-office-downloads{grid-column:1/-1}
@media(max-width:700px){.cdm-folder-create,.cdm-target-form{align-items:stretch;flex-direction:column}}

/* v3.5.0 completion: compact dashboards, role frames, documents and event offers */
.cdm-head-office-dashboard .cdm-ho-section,.cdm-head-office-dashboard .cdm-ho-card{border-color:#e7a0ad;box-shadow:0 1px 5px rgba(200,16,46,.04)}
.cdm-franchisee-dashboard .cdm-panel,.cdm-documents-franchisee .cdm-list-card{border-color:#bba4d2;box-shadow:0 1px 5px rgba(111,63,160,.04)}
.cdm-franchisee-dashboard{--role-purple:#6f3fa0}
.cdm-franchisee-dashboard .cdm-panel>small,.cdm-documents-franchisee .cdm-section-label{color:#6f3fa0}
.cdm-dashboard{padding:20px}.cdm-dashboard header{margin-bottom:16px}.cdm-stats{margin-bottom:14px}.cdm-stat{padding:14px 16px}.cdm-panel{padding:17px;margin-bottom:14px}.cdm-panel h3{margin-bottom:12px}.cdm-ho-section{padding:16px}.cdm-ho-two-col{gap:14px;margin-bottom:14px}.cdm-ho-section-head{margin-bottom:10px}.cdm-ho-card{padding:14px}.cdm-placeholder.small{min-height:82px}.cdm-placeholder-tight{min-height:62px;padding:12px}.cdm-account-terms-panel{margin:12px 0}
.cdm-ho-calendar-section{padding:14px}.cdm-ho-cal-day{min-height:92px;padding:5px}.cdm-ho-weekdays span{padding:7px 4px}.cdm-ho-cal-day>a{padding:4px 5px;margin-top:3px}.cdm-ho-cal-day>a strong{font-size:9px}.cdm-ho-cal-day>a small{font-size:8px}.cdm-ho-cal-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.cdm-ho-day-add{display:inline-flex!important;width:19px;height:19px;align-items:center;justify-content:center;border-radius:50%!important;background:#c8102e!important;color:#fff!important;text-decoration:none!important;font-size:14px!important;line-height:1!important;padding:0!important;margin:0!important}.cdm-ho-day-add:hover{background:#9f0d25!important}
.cdm-feedback-upcoming{margin-top:12px;padding-top:10px;border-top:1px solid #eee}.cdm-feedback-upcoming>small{display:block;color:#777;font-size:9px;font-weight:800;letter-spacing:.07em;margin-bottom:5px}.cdm-franchise-number{font-size:15px!important;color:#c8102e}.cdm-number-primary{display:inline-block;font-size:15px;font-weight:900;color:#c8102e;background:#fff4f6;border:1px solid #f0c7cf;border-radius:6px;padding:5px 8px;white-space:nowrap}
.cdm-compact-list>.cdm-compact-hidden{display:none!important}.cdm-show-more{margin-top:8px;border:0;background:transparent;color:#c8102e;font-weight:800;font-size:11px;cursor:pointer;padding:4px 0}.cdm-show-more:hover{text-decoration:underline}
.cdm-document-action-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.cdm-document-action-cards>a{display:block;padding:14px;border:1px solid #e7a0ad;border-radius:9px;background:#fff;text-decoration:none;color:#171717}.cdm-document-action-cards strong{display:block;color:#c8102e;font-size:13px;margin-bottom:4px}.cdm-document-action-cards span{display:block;color:#777;font-size:11px;line-height:1.4}.cdm-documents-franchisee .cdm-document-action-cards>a{border-color:#bba4d2}.cdm-documents-layout{gap:14px}.cdm-list-card{padding:16px}.cdm-document-row{padding:10px 0}.cdm-document-form textarea{min-height:72px}.cdm-document-upload-card{position:sticky;top:15px;align-self:start}.cdm-doc-owner{border:1px solid #e4e4e4;background:#fafafa;border-radius:8px;padding:10px 12px;margin-bottom:8px}.cdm-doc-owner strong,.cdm-doc-owner span{display:block}.cdm-doc-owner span{font-size:11px;color:#777;margin-top:3px}
.cdm-event-offers{border:2px solid #6f3fa0!important}.cdm-event-offers>small{color:#6f3fa0!important}.cdm-compact-copy{margin:-5px 0 12px;color:#777;font-size:12px}.cdm-offer-list{display:grid;gap:8px}.cdm-offer-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border:1px solid #e4d9ee;background:#fbf9fd;border-radius:9px;padding:12px}.cdm-offer-row strong,.cdm-offer-row span,.cdm-offer-row small{display:block}.cdm-offer-row span{font-size:12px;margin-top:4px}.cdm-offer-row small{font-size:11px;color:#777;margin-top:3px}.cdm-offer-row form{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:850px){.cdm-document-action-cards{grid-template-columns:1fr}.cdm-document-upload-card{position:static}.cdm-offer-row{align-items:flex-start;flex-direction:column}.cdm-offer-row form{justify-content:flex-start}}
@media(max-width:600px){.cdm-dashboard{padding:14px}.cdm-ho-cal-day{min-height:68px}.cdm-ho-cal-day>a:not(.cdm-ho-day-add){display:none}.cdm-document-row{grid-template-columns:35px 1fr}.cdm-document-actions{grid-column:2;justify-content:flex-start}}

/* v3.6.0 production access portals */
.cdm-access-card{max-width:520px;margin:48px auto;padding:32px;background:#fff;border:1px solid #e7e7e7;border-radius:14px;box-shadow:0 12px 35px rgba(0,0,0,.07)}
.cdm-access-card small{font-weight:800;letter-spacing:.12em;color:#e71920}.cdm-access-card h2{margin:6px 0 8px}.cdm-access-card p{color:#555}
.cdm-access-card label{display:block;font-weight:700;margin:16px 0 6px}.cdm-access-card input[type=text],.cdm-access-card input[type=password]{width:100%;box-sizing:border-box;padding:12px;border:1px solid #ccc;border-radius:7px}
.cdm-access-card .login-remember label{font-weight:500}.cdm-access-card input[type=submit]{border:0;border-radius:7px;padding:12px 20px;background:#e71920;color:#fff;font-weight:800;cursor:pointer}.cdm-access-help{margin-top:18px}

/* v3.6.1 — High-visibility Head Office / Franchisee login */
.cdm-access-shell{
	--cdm-access-red:#ef3f36;
	--cdm-access-purple:#4d139b;
	--cdm-access-ink:#171717;
	--cdm-access-muted:#626262;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
	width:min(100%,920px);
	margin:46px auto;
	padding:0 18px;
	box-sizing:border-box;
}
.cdm-access-shell *{box-sizing:border-box}
.cdm-access-card{
	background:#fff;
	border:1px solid #e2e2e2;
	border-radius:18px;
	box-shadow:0 18px 55px rgba(0,0,0,.12);
	overflow:hidden;
	color:var(--cdm-access-ink);
}
.cdm-access-brand{
	min-height:150px;
	padding:25px 30px 20px;
	background:var(--cdm-access-red);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	gap:12px;
}
.cdm-access-logo{display:block!important;width:auto!important;height:auto!important;max-width:270px!important;max-height:105px!important;object-fit:contain!important;margin:0 auto!important}
.cdm-access-brand span{display:inline-block;background:var(--cdm-access-purple);color:#fff;padding:7px 14px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.12em}
.cdm-access-copy{padding:30px 38px 10px;text-align:center}
.cdm-access-copy h2{margin:0 0 8px!important;color:#111!important;font-size:34px!important;line-height:1.15!important;font-weight:800!important}
.cdm-access-copy p{margin:0!important;color:#555!important;font-size:16px!important;line-height:1.55!important}
.cdm-access-form-wrap{padding:20px 38px 34px;max-width:660px;margin:0 auto}
.cdm-access-form-wrap form{margin:0!important}
.cdm-access-form-wrap form>p{margin:0 0 20px!important}
.cdm-access-form-wrap label{display:block!important;color:#111!important;font-size:15px!important;font-weight:750!important;line-height:1.35!important;margin:0 0 8px!important}
.cdm-access-form-wrap input[type="text"],
.cdm-access-form-wrap input[type="password"]{
	display:block!important;
	width:100%!important;
	height:56px!important;
	padding:12px 16px!important;
	border:2px solid #cfcfcf!important;
	border-radius:10px!important;
	background:#fff!important;
	color:#111!important;
	font-size:17px!important;
	font-weight:500!important;
	box-shadow:none!important;
	opacity:1!important;
}
.cdm-access-form-wrap input[type="text"]:focus,
.cdm-access-form-wrap input[type="password"]:focus{outline:3px solid rgba(77,19,155,.16)!important;border-color:var(--cdm-access-purple)!important}
.cdm-access-form-wrap .login-remember{display:flex!important;align-items:center!important;gap:9px!important;margin-bottom:18px!important}
.cdm-access-form-wrap .login-remember label{display:flex!important;align-items:center!important;gap:9px!important;margin:0!important;font-size:14px!important;cursor:pointer}
.cdm-access-form-wrap input[type="checkbox"]{width:18px!important;height:18px!important;margin:0!important;accent-color:var(--cdm-access-purple)}
.cdm-access-form-wrap .login-submit{margin:0!important}
.cdm-access-form-wrap input[type="submit"]{
	display:block!important;
	width:100%!important;
	min-height:56px!important;
	padding:14px 24px!important;
	border:0!important;
	border-radius:10px!important;
	background:var(--cdm-access-purple)!important;
	color:#fff!important;
	font-size:17px!important;
	font-weight:800!important;
	letter-spacing:.02em!important;
	box-shadow:0 8px 20px rgba(77,19,155,.22)!important;
	text-shadow:none!important;
	cursor:pointer!important;
	opacity:1!important;
}
.cdm-access-form-wrap input[type="submit"]:hover{background:#36106e!important;transform:translateY(-1px)}
.cdm-access-help{margin:18px 0 0!important;text-align:center!important}
.cdm-access-help a{color:#d82727!important;font-size:14px!important;font-weight:700!important;text-decoration:underline!important;text-underline-offset:3px}
.cdm-access-footer{padding:13px 20px;background:#f6f6f6;border-top:1px solid #e8e8e8;text-align:center;color:#777;font-size:11px;font-weight:650;letter-spacing:.04em}
.cdm-dashboard-logout{white-space:nowrap;background:#222!important;color:#fff!important;border-color:#222!important;font-weight:700!important}
.cdm-dashboard-logout:hover{background:#000!important;color:#fff!important}
.cdm-franchisee-header-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@media(max-width:700px){
	.cdm-access-shell{margin:24px auto;padding:0 12px}
	.cdm-access-brand{min-height:125px;padding:20px}
	.cdm-access-logo{max-width:220px!important;max-height:88px!important}
	.cdm-access-copy{padding:25px 22px 8px}
	.cdm-access-copy h2{font-size:28px!important}
	.cdm-access-copy p{font-size:14px!important}
	.cdm-access-form-wrap{padding:18px 22px 28px}
	.cdm-access-form-wrap input[type="text"],.cdm-access-form-wrap input[type="password"],.cdm-access-form-wrap input[type="submit"]{height:52px!important;min-height:52px!important}
	.cdm-franchisee-header-tools{width:100%;justify-content:flex-start}
}

/* v3.7.0 usability: crisp standard buttons and visual document folders */
.cdm-manager .cdm-button,
.cdm-dashboard .cdm-button,
.cdm-events .cdm-button,
.cdm-manager button,
.cdm-dashboard button {
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.25 !important;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
.cdm-manager .cdm-button,
.cdm-dashboard .cdm-button { min-height: 42px; padding: 10px 16px; border-radius: 6px; }
.cdm-button-danger{background:#fff!important;color:#b42318!important;border:1px solid #f0b4ae!important}
.cdm-button-danger:hover,.cdm-button-danger:focus{background:#fff1ef!important;color:#8d1b13!important;border-color:#e99c94!important}
.cdm-ho-card>a,.cdm-ho-network-row>a,.cdm-dashboard-link{
	font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;text-rendering:optimizeLegibility;
}
.cdm-franchisee-table .cdm-actions a{font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}

.cdm-folder-manager-card{background:#fff;border:1px solid #e2e2e2;border-radius:12px;padding:18px;margin:0 0 18px}
.cdm-folder-manager-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.cdm-folder-manager-heading h3{margin:4px 0 4px;font-size:20px}
.cdm-folder-manager-heading p{margin:0;color:#6f6f6f;font-size:13px}
.cdm-folder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 16px}
.cdm-folder-card{display:flex;flex-direction:column;min-height:112px;padding:15px;border:1px solid #dedede;border-radius:10px;background:#fafafa;color:#202020!important;text-decoration:none!important;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.cdm-folder-card:hover{background:#fff;border-color:#c8102e;box-shadow:0 3px 12px rgba(0,0,0,.06)}
.cdm-documents-franchisee .cdm-folder-card:hover{border-color:#6f3fa0}
.cdm-folder-card.is-active{background:#fff7f8;border:2px solid #c8102e;padding:14px}
.cdm-documents-franchisee .cdm-folder-card.is-active{background:#f8f4fc;border-color:#6f3fa0}
.cdm-folder-card .cdm-folder-icon{font-size:25px;line-height:1;color:#c8102e;margin-bottom:10px}
.cdm-documents-franchisee .cdm-folder-card .cdm-folder-icon{color:#6f3fa0}
.cdm-folder-card strong{font-family:Arial,Helvetica,sans-serif!important;font-size:14px;font-weight:700;line-height:1.3;margin-bottom:5px}
.cdm-folder-card small{font-family:Arial,Helvetica,sans-serif!important;color:#777;font-size:12px}
.cdm-folder-create-visual{padding-top:14px;border-top:1px solid #eee}
.cdm-folder-create-visual input[type=text]{flex:1;min-width:240px;font-family:Arial,Helvetica,sans-serif!important;font-size:14px}
.cdm-franchise-document-selector label{font-weight:700;color:#222;margin-bottom:7px;display:block}
.cdm-document-edit-card{margin:0 0 18px;border:2px solid #ecd2d7}
.cdm-documents-franchisee .cdm-document-edit-card{border-color:#d5c4e5}
.cdm-document-actions{gap:7px;flex-wrap:wrap}
.cdm-document-actions .cdm-button{min-height:36px!important;padding:8px 11px!important;font-size:12px!important}
.cdm-document-form label{font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important;color:#222!important;font-size:13px!important}
.cdm-document-form input,.cdm-document-form select,.cdm-document-form textarea,.cdm-filter-card input,.cdm-filter-card select{
	font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;color:#222!important;background:#fff!important;
}
@media(max-width:1100px){.cdm-folder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.cdm-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cdm-folder-grid{grid-template-columns:1fr}.cdm-folder-create-visual input[type=text]{min-width:0;width:100%}}


/* v3.7.1 franchise assignment fields + truly standard readable buttons */
.cdm-admin-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.cdm-admin-choice{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 12px;border:1px solid #d9dde3;border-radius:7px;background:#fff;color:#111;font-family:Arial,Helvetica,sans-serif!important;font-size:15px;font-weight:600;cursor:pointer}
.cdm-admin-choice:hover{border-color:#b8bec7;background:#fafafa}
.cdm-admin-choice input[type="checkbox"]{width:18px!important;height:18px!important;margin:0!important;flex:0 0 auto;accent-color:#e71920}
.cdm-choice-field>small{display:block;margin-top:2px;color:#666}
@media(max-width:650px){.cdm-admin-choice-grid{grid-template-columns:1fr}}
.cdm-access-form-wrap input[type="submit"],.cdm-access-form-wrap .button,.cdm-access-form-wrap button,.cdm-manager .cdm-button,.cdm-dashboard .cdm-button,.cdm-manager button,.cdm-dashboard button{font-family:Arial,Helvetica,sans-serif!important;font-style:normal!important;font-stretch:normal!important;font-variant:normal!important;text-transform:none!important;letter-spacing:0!important;text-shadow:none!important;-webkit-font-smoothing:antialiased!important;text-rendering:auto!important;filter:none!important;transform:none!important}
.cdm-access-form-wrap input[type="submit"]{border-radius:7px!important;box-shadow:none!important;font-size:16px!important;font-weight:700!important;background:#4d139b!important}
.cdm-access-form-wrap input[type="submit"]:hover{background:#36106e!important;transform:none!important}


/* v3.8.2 OPS 2x2 compact dashboard */
.cdm-ops-dashboard .cdm-ho-hero{align-items:flex-start}
.cdm-ops-grid-2x2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.cdm-ops-grid-2x2>.cdm-ho-section{min-width:0;height:100%}
.cdm-ops-summary-list{display:grid;gap:9px}
.cdm-ops-summary-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid #ececec;border-left:4px solid #e71920;border-radius:7px;background:#fff;text-decoration:none!important;color:inherit!important;transition:.15s ease}
.cdm-ops-summary-item:hover{transform:translateY(-1px);box-shadow:0 3px 12px rgba(0,0,0,.07)}
.cdm-ops-summary-item.purple{border-left-color:#6517a6}.cdm-ops-summary-item.blue{border-left-color:#2c73d2}.cdm-ops-summary-item.yellow{border-left-color:#e3ad00}
.cdm-ops-summary-item div{min-width:0}.cdm-ops-summary-item span{display:block;font-size:10px;font-weight:800;letter-spacing:.04em}.cdm-ops-summary-item strong{display:block;font-size:25px;line-height:1.05;margin:2px 0}.cdm-ops-summary-item small{display:block;color:#777}.cdm-ops-summary-item b{font-size:11px;white-space:nowrap;color:#e71920}
.cdm-ops-upcoming .cdm-upcoming-list{max-height:250px;overflow:auto;padding-right:3px}
.cdm-ops-franchise-panel{min-width:0}
.cdm-ops-search{display:flex;align-items:center;gap:10px;margin:0 0 10px;background:#fff;padding:2px 0 6px}
.cdm-ops-search input{flex:1;min-width:0;height:38px;border:1px solid #d7d7d7;border-radius:7px;padding:0 12px;font:14px Arial,Helvetica,sans-serif}
.cdm-ops-search span{font-size:11px;color:#777;white-space:nowrap}
.cdm-ops-network-list{overflow:hidden;padding-right:3px}
.cdm-ops-network-list.is-expanded{max-height:410px;overflow:auto}
.cdm-ops-network-row{grid-template-columns:auto minmax(0,1fr) auto!important}
.cdm-ops-franchise-link{display:block;color:inherit!important;text-decoration:none!important;min-width:0}
.cdm-ops-franchise-link:hover strong,.cdm-ops-franchise-link:focus strong{text-decoration:underline}
.cdm-ops-list-footer{display:flex;justify-content:center;padding-top:10px}
.cdm-ops-list-footer .cdm-button{min-width:120px;justify-content:center}
.cdm-ops-calendar .cdm-ho-calendar-grid{min-width:0}
.cdm-ops-calendar .cdm-ho-cal-day{min-height:66px;padding:4px}
.cdm-ops-calendar .cdm-ho-weekdays span{font-size:10px}
.cdm-ops-calendar .cdm-ho-cal-day-head b{font-size:11px}
.cdm-ops-cal-event{display:block;margin-top:2px;padding:2px 3px;border-radius:4px;background:#f7f7f7;line-height:1.1}
.cdm-ops-cal-event strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdm-ops-cal-event small{display:block;font-size:8px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1050px){.cdm-ops-grid-2x2{grid-template-columns:1fr}.cdm-ops-network-list.is-expanded{max-height:420px}}
@media(max-width:700px){.cdm-ops-search{align-items:stretch;flex-direction:column}.cdm-ops-search span{white-space:normal}.cdm-ops-network-row{grid-template-columns:auto minmax(0,1fr)!important}.cdm-ops-network-row .cdm-document-actions{grid-column:1/-1;padding-left:0}.cdm-ops-calendar{overflow:auto}.cdm-ops-calendar .cdm-ho-calendar{min-width:620px}}

/* v3.8.4 Franchisee usability */
.cdm-stat-link{display:block;text-decoration:none;color:inherit;position:relative;transition:transform .15s ease,box-shadow .15s ease}.cdm-stat-link:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(0,0,0,.07)}.cdm-stat-link small{display:block;font-size:10px;color:#777;margin-top:5px;line-height:1.3}.cdm-stat-link em{display:block;font-style:normal;font-size:10px;font-weight:800;color:#c8102e;margin-top:8px}.cdm-franchise-number-hero,.cdm-profile-number-hero{display:inline-block;margin:4px 0 6px;padding:6px 11px;border-radius:7px;background:#fff2f4;border:1px solid #edb8c1;color:#c8102e;font-weight:950;font-size:25px;line-height:1;letter-spacing:.03em}.cdm-profile-number-hero{font-size:30px;margin-top:8px}.cdm-profile-number-inline{font-size:22px;font-weight:950;color:#c8102e;margin:3px 0 2px}.cdm-fr-section{max-width:1100px;margin:0 auto}.cdm-message-grid{grid-template-columns:1fr 1fr}.cdm-message-reply input,.cdm-message-reply textarea{width:100%;border:1px solid #ddd;border-radius:7px;padding:11px 12px;margin:6px 0 13px}.cdm-message-reply label{display:block;font-size:12px;font-weight:800}.cdm-account-terms-panel .cdm-dashboard-link{display:inline-block;margin-top:10px}.cdm-brand-options label{display:inline-flex;gap:7px;align-items:center;margin:0 16px 10px 0;font-size:13px}.cdm-franchisee-dashboard header h2{margin-top:4px}@media(max-width:800px){.cdm-message-grid{grid-template-columns:1fr}.cdm-franchise-number-hero{font-size:21px}}


/* v3.8.5 - persistent button visibility / readable states */
.cdm-manager .cdm-button-primary,.cdm-dashboard .cdm-button-primary,.cdm-events .cdm-button-primary,
.cdm-manager .cdm-button-primary:link,.cdm-dashboard .cdm-button-primary:link,.cdm-events .cdm-button-primary:link,
.cdm-manager .cdm-button-primary:visited,.cdm-dashboard .cdm-button-primary:visited,.cdm-events .cdm-button-primary:visited{background:#c8102e!important;color:#fff!important;border:1px solid #c8102e!important;opacity:1!important;visibility:visible!important}
.cdm-manager .cdm-button-primary:hover,.cdm-dashboard .cdm-button-primary:hover,.cdm-events .cdm-button-primary:hover,
.cdm-manager .cdm-button-primary:focus,.cdm-dashboard .cdm-button-primary:focus,.cdm-events .cdm-button-primary:focus{background:#9f0d25!important;color:#fff!important;border-color:#9f0d25!important}
.cdm-manager .cdm-button-light,.cdm-dashboard .cdm-button-light,.cdm-events .cdm-button-light,
.cdm-manager .cdm-button-light:link,.cdm-dashboard .cdm-button-light:link,.cdm-events .cdm-button-light:link,
.cdm-manager .cdm-button-light:visited,.cdm-dashboard .cdm-button-light:visited,.cdm-events .cdm-button-light:visited{background:#fff!important;color:#202020!important;border:1px solid #bfc3c8!important;opacity:1!important;visibility:visible!important}
.cdm-manager .cdm-button-light:hover,.cdm-dashboard .cdm-button-light:hover,.cdm-events .cdm-button-light:hover{background:#fff4f6!important;color:#9f0d25!important;border-color:#c8102e!important}
.cdm-manager .cdm-button:disabled,.cdm-dashboard .cdm-button:disabled,.cdm-events .cdm-button:disabled,
.cdm-public-submit:disabled{background:#e4e4e4!important;color:#666!important;border-color:#cfcfcf!important;opacity:1!important;cursor:not-allowed!important}
.cdm-public-submit.is-submitting{background:#555!important;color:#fff!important}


/* v3.8.6 - compact franchisee workspace + strong action visibility */
.cdm-franchisee-dashboard .cdm-stats{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.cdm-franchisee-dashboard .cdm-stat{padding:12px 13px;min-height:104px}
.cdm-franchisee-dashboard .cdm-stat strong{font-size:22px}
.cdm-franchisee-dashboard .cdm-stat span{font-size:10px;margin-bottom:5px}
.cdm-franchisee-dashboard .cdm-stat-link small{font-size:9px;margin-top:4px}
.cdm-franchisee-dashboard .cdm-stat-link em{font-size:9px;margin-top:5px}

.cdm-franchisee-dashboard .cdm-account-terms-panel{padding:14px 16px;margin:10px 0 12px}
.cdm-franchisee-dashboard .cdm-account-terms-panel h3{margin-bottom:7px}
.cdm-franchisee-dashboard .cdm-account-terms-panel .cdm-detail-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0 14px;
  margin-top:8px;
}
.cdm-franchisee-dashboard .cdm-account-terms-panel .cdm-detail-list>div{
  display:block;
  min-width:0;
  padding:8px 0;
  border-bottom:0;
}
.cdm-franchisee-dashboard .cdm-account-terms-panel .cdm-detail-list span,
.cdm-franchisee-dashboard .cdm-account-terms-panel .cdm-detail-list strong{
  display:block;
  text-align:left;
  overflow-wrap:anywhere;
}
.cdm-franchisee-dashboard .cdm-account-terms-panel .cdm-detail-list span{font-size:10px;margin-bottom:3px}
.cdm-franchisee-dashboard .cdm-account-terms-panel .cdm-detail-list strong{font-size:12px}
.cdm-franchisee-dashboard .cdm-account-readonly{margin:5px 0 9px;font-size:10px}

.cdm-franchisee-dashboard .cdm-edit-profile-cta,
.cdm-franchisee-dashboard .cdm-edit-profile-cta:link,
.cdm-franchisee-dashboard .cdm-edit-profile-cta:visited{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  margin-top:2px!important;
  padding:10px 15px!important;
  background:#c8102e!important;
  border:1px solid #c8102e!important;
  color:#fff!important;
  border-radius:7px!important;
  font-size:11px!important;
  font-weight:800!important;
  text-decoration:none!important;
  box-shadow:0 2px 5px rgba(200,16,46,.16);
}
.cdm-franchisee-dashboard .cdm-edit-profile-cta:hover,
.cdm-franchisee-dashboard .cdm-edit-profile-cta:focus{
  background:#9f0d25!important;
  border-color:#9f0d25!important;
  color:#fff!important;
}

.cdm-franchisee-dashboard .cdm-franchisee-main-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.cdm-franchisee-dashboard .cdm-franchisee-main-grid>.cdm-panel{margin:0;min-width:0;padding:14px}
.cdm-franchisee-dashboard .cdm-franchisee-main-grid>.cdm-panel h3{font-size:16px;margin-bottom:8px}
.cdm-franchisee-dashboard .cdm-franchisee-main-grid>.cdm-panel .cdm-placeholder.small{min-height:72px;padding:10px}
.cdm-franchisee-dashboard .cdm-franchisee-main-grid>.cdm-panel .cdm-placeholder strong{font-size:11px}
.cdm-franchisee-dashboard .cdm-franchisee-main-grid>.cdm-panel .cdm-placeholder span{font-size:10px}
.cdm-franchisee-dashboard .cdm-franchisee-main-grid>.cdm-panel .cdm-dashboard-link{font-size:10px;margin-top:8px}
.cdm-franchisee-dashboard .cdm-franchisee-main-grid .cdm-upcoming-list>div{padding:8px 0}
.cdm-franchisee-dashboard .cdm-franchisee-main-grid .cdm-upcoming-list strong{font-size:11px}
.cdm-franchisee-dashboard .cdm-franchisee-main-grid .cdm-upcoming-list span{font-size:10px}
.cdm-franchisee-dashboard .cdm-franchisee-main-grid .cdm-upcoming-list small{font-size:9px}

.cdm-franchisee-dashboard .cdm-unit-performance{grid-column:span 2}
.cdm-franchisee-dashboard .cdm-unit-performance .cdm-unit-mini-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:7px 0}
.cdm-franchisee-dashboard .cdm-unit-performance .cdm-unit-mini-stats>div{padding:9px}
.cdm-franchisee-dashboard .cdm-unit-performance .cdm-unit-mini-stats span{font-size:8px}
.cdm-franchisee-dashboard .cdm-unit-performance .cdm-unit-mini-stats strong{font-size:18px}
.cdm-franchisee-dashboard .cdm-unit-performance .cdm-unit-mini-stats small{font-size:9px}
.cdm-franchisee-dashboard .cdm-unit-performance .cdm-unit-chart{min-width:500px}

.cdm-franchisee-dashboard .cdm-franchisee-calendar-wrap{
  grid-column:1/-1;
  margin-top:0;
}
.cdm-franchisee-dashboard .cdm-franchisee-calendar-wrap .cdm-events{padding:14px}
.cdm-franchisee-dashboard .cdm-franchisee-calendar-wrap .cdm-events-head{margin-bottom:10px}
.cdm-franchisee-dashboard .cdm-franchisee-calendar-wrap .cdm-events-head h2{font-size:19px}
.cdm-franchisee-dashboard .cdm-franchisee-calendar-wrap .cdm-calendar-day{min-height:68px;padding:4px}
.cdm-franchisee-dashboard .cdm-franchisee-calendar-wrap .cdm-calendar-day-number{font-size:10px}
.cdm-franchisee-dashboard .cdm-franchisee-calendar-wrap .cdm-event-item{font-size:8px;padding:2px 3px}
.cdm-franchisee-dashboard .cdm-franchisee-calendar-wrap .cdm-event-item small{font-size:7px}

/* Save button must remain clearly visible on the franchisee profile form. */
.cdm-franchisee-dashboard .cdm-form-footer .cdm-button-primary,
.cdm-franchisee-dashboard .cdm-form-footer button.cdm-button-primary,
.cdm-franchisee-dashboard .cdm-form-footer button.cdm-button-primary:not(:disabled){
  background:#c8102e!important;
  color:#fff!important;
  border:1px solid #c8102e!important;
  opacity:1!important;
  visibility:visible!important;
  min-width:132px;
  box-shadow:none!important;
}
.cdm-franchisee-dashboard .cdm-form-footer button.cdm-button-primary:hover,
.cdm-franchisee-dashboard .cdm-form-footer button.cdm-button-primary:focus{
  background:#9f0d25!important;
  color:#fff!important;
  border-color:#9f0d25!important;
}
.cdm-franchisee-dashboard .cdm-form-footer button.cdm-button-primary:disabled{
  background:#8a8a8a!important;
  color:#fff!important;
  border-color:#8a8a8a!important;
  opacity:1!important;
}

@media(max-width:1050px){
  .cdm-franchisee-dashboard .cdm-franchisee-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cdm-franchisee-dashboard .cdm-unit-performance{grid-column:span 2}
  .cdm-franchisee-dashboard .cdm-account-terms-panel .cdm-detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .cdm-franchisee-dashboard .cdm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cdm-franchisee-dashboard .cdm-franchisee-main-grid{grid-template-columns:1fr}
  .cdm-franchisee-dashboard .cdm-unit-performance{grid-column:auto}
  .cdm-franchisee-dashboard .cdm-account-terms-panel .cdm-detail-list{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .cdm-franchisee-dashboard .cdm-stats{grid-template-columns:1fr}
  .cdm-franchisee-dashboard .cdm-account-terms-panel .cdm-detail-list{grid-template-columns:1fr}
}

/* v3.9.0 Franchise Asset Manager */
.cdm-assets-panel{margin-top:16px}.cdm-assets-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.cdm-assets-head h3{margin:3px 0}.cdm-assets-head p{margin:0;color:#667085}.cdm-asset-list{display:grid;gap:10px;margin-top:14px}.cdm-asset-card{display:flex;align-items:center;gap:12px;border:1px solid #dbe4ee;border-radius:12px;padding:12px;background:#fff}.cdm-asset-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:#f3f6fa;font-size:24px}.cdm-asset-main{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.cdm-asset-main strong{font-size:15px}.cdm-asset-main span{font-size:12px;color:#344054;overflow-wrap:anywhere}.cdm-asset-main small{font-size:11px;color:#667085}.cdm-asset-actions{display:flex;gap:7px;align-items:center}.cdm-asset-actions form{margin:0}.cdm-asset-form-wrap{margin-top:16px;padding:14px;border:2px solid #e5e7eb;border-radius:14px;background:#fafafa}.cdm-asset-form-wrap h4{margin:0 0 10px}.cdm-asset-lock-note{font-size:12px;background:#fff4d6;padding:9px 11px;border-radius:8px}.cdm-asset-types{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}.cdm-asset-types label{cursor:pointer}.cdm-asset-types input{position:absolute;opacity:0}.cdm-asset-types span{display:block;text-align:center;padding:12px;border:2px solid #d0d5dd;border-radius:10px;background:#fff;font-weight:700}.cdm-asset-types input:checked+span{border-color:#c8102e;background:#fff1f3;color:#9f0d25}.cdm-asset-extra{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.cdm-asset-extra label{font-weight:700;font-size:12px}.cdm-asset-extra input{display:block;width:100%;margin-top:5px}.cdm-asset-brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px}.cdm-asset-brands>strong{grid-column:1/-1}.cdm-asset-brands label{font-size:12px}.cdm-asset-submit{display:flex;gap:8px;margin-top:12px}.cdm-form-card .cdm-assets-panel{box-shadow:none;border:1px solid #dbe4ee}.cdm-form-card .cdm-assets-panel .cdm-assets-head>div>small{display:none}
@media(max-width:720px){.cdm-assets-head{flex-direction:column}.cdm-asset-card{align-items:flex-start;flex-wrap:wrap}.cdm-asset-actions{width:100%;padding-left:58px}.cdm-asset-types,.cdm-asset-brands,.cdm-asset-extra{grid-template-columns:1fr}}

/* v3.9.4 Calendar visibility and franchisee controls */
.cdm-events{max-width:1500px!important;margin-left:auto;margin-right:auto}
.cdm-calendar-day{min-height:165px!important;padding:9px!important}
.cdm-day-number span{font-size:15px!important}
.cdm-event-item{font-size:12px!important;line-height:1.4!important;padding:7px 8px!important;margin:5px 0!important}
.cdm-event-item b{font-size:11px!important}
.cdm-event-item small.cdm-event-franchise{font-size:10px!important;color:#4b4b4b!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;margin-top:4px!important}
.cdm-event-item small.cdm-event-franchise strong{font-size:11px!important;color:#111!important}
.cdm-calendar-jump{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:-4px 0 16px}
.cdm-calendar-jump label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.cdm-calendar-jump select{min-width:125px;height:38px;border:1px solid #ccc;border-radius:6px;background:#fff;padding:0 10px;font-weight:700}
.cdm-calendar-jump select[name=cdm_year]{min-width:90px}
.cdm-franchisee-dashboard .cdm-franchisee-calendar-wrap .cdm-calendar-day{min-height:165px!important;padding:9px!important}
.cdm-franchisee-dashboard .cdm-franchisee-calendar-wrap .cdm-event-item{font-size:12px!important;padding:7px 8px!important}
.cdm-franchisee-dashboard .cdm-franchisee-calendar-wrap .cdm-event-item small{display:block!important;font-size:10px!important}
.cdm-ho-calendar-section .cdm-ho-cal-day{min-height:125px!important;padding:7px!important}
.cdm-ho-calendar-section .cdm-ho-cal-day>a strong{font-size:11px!important;white-space:normal!important}
.cdm-ho-calendar-section .cdm-ho-cal-day>a small{font-size:10px!important;color:#444!important;white-space:normal!important;line-height:1.3!important}
.cdm-ops-calendar .cdm-ho-cal-day{min-height:95px!important}
.cdm-ops-calendar .cdm-ops-cal-event strong{font-size:10px!important}
.cdm-ops-calendar .cdm-ops-cal-event small{font-size:9px!important}
@media(max-width:800px){.cdm-calendar-grid,.cdm-calendar-weekdays{min-width:900px}.cdm-events{overflow-x:auto}.cdm-calendar-day{min-height:140px!important}.cdm-calendar-jump{justify-content:flex-start}}

/* v3.9.5 calendar history + CRM stability */
.cdm-event-status-completed{opacity:.82}
.cdm-event-status-completed:after{content:'Completed';display:inline-block;margin-top:4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.cdm-event-status-cancelled{opacity:.65;text-decoration:none}
.cdm-event-status-cancelled:after{content:'Cancelled';display:inline-block;margin-top:4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.cdm-event-status-label{display:block;margin-top:3px;font-size:10px;font-weight:700;text-transform:uppercase}

/* v3.9.6 Event Reports workflow + clickable detail records */
.cdm-report-click-stats>a{display:block;color:inherit;text-decoration:none}
.cdm-report-click-stats>a:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.cdm-report-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 18px}.cdm-report-legend small{color:#666}
.cdm-report-status{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}
.cdm-report-status:before{content:'';width:9px;height:9px;border-radius:50%;background:currentColor}
.cdm-report-status-red{background:#ffe3e6;color:#bd1027}.cdm-report-status-yellow{background:#fff2bd;color:#7b5b00}.cdm-report-status-green{background:#dff5e6;color:#15763b}
.cdm-event-results-table tbody tr{cursor:pointer;transition:.15s ease}.cdm-event-results-table tbody tr:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(0,0,0,.07)}
.cdm-event-results-table tr.cdm-event-result-red td:first-child{border-left:5px solid #d7193f}.cdm-event-results-table tr.cdm-event-result-yellow td:first-child{border-left:5px solid #e4b600}.cdm-event-results-table tr.cdm-event-result-green td:first-child{border-left:5px solid #20934b}
.cdm-event-result-link{color:#111;text-decoration:none}.cdm-event-result-link:hover{text-decoration:underline}.cdm-view-event-button{white-space:nowrap}
.cdm-event-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.cdm-event-detail-grid>div{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:4px}.cdm-event-detail-grid small{font-size:10px;font-weight:800;text-transform:uppercase;color:#777;letter-spacing:.04em}.cdm-event-detail-grid strong{font-size:14px;color:#111}.cdm-event-detail-grid span{font-size:12px;color:#666}.cdm-event-detail-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:900px){.cdm-event-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.cdm-event-detail-grid{grid-template-columns:1fr}}
