
:root{--navy:#08233a;--navy2:#102f4b;--cream:#f5efe3;--paper:#fffaf1;--gold:#dca72b;--line:#e2d3b8;--muted:#6f7e8e}
*{box-sizing:border-box}.cm-app{max-width:1180px;margin:0 auto;padding:28px 18px 120px;color:var(--navy);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.cm-top{background:var(--navy);color:#fff;border-radius:26px;padding:30px;display:flex;justify-content:space-between;gap:20px;align-items:center}.cm-top small,.cm-section-head small{color:var(--gold);font-weight:800;letter-spacing:.18em}.cm-top h1{font-family:Georgia,serif;font-size:38px;margin:5px 0}.cm-top p{margin:0;color:#c7d1da}.cm-top-actions{display:flex;gap:10px;align-items:center}.cm-preview,.cm-save,.cm-add-day,.cm-add-item{border:0;border-radius:999px;padding:13px 18px;font-weight:800;text-decoration:none;cursor:pointer}.cm-preview{color:#fff;border:1px solid #547086}.cm-save{background:var(--gold);color:var(--navy)}.cm-nav{position:sticky;top:0;z-index:20;display:flex;gap:8px;overflow:auto;background:#fff;padding:12px 0;margin:8px 0 20px}.cm-nav button{white-space:nowrap;border:0;background:#edf0f2;color:var(--navy);padding:10px 15px;border-radius:999px;font-weight:750;cursor:pointer}.cm-nav button.active{background:var(--navy);color:#fff}.cm-section{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:26px;margin:18px 0}.cm-section-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.cm-section-head h2{font-family:Georgia,serif;font-size:31px;margin:3px 0}.cm-section-head p{color:var(--muted);margin:0}.cm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cm-field{display:flex;flex-direction:column;gap:7px}.cm-field span,.cm-image-field>span{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#667789}.cm-field input,.cm-field textarea,.cm-item input{width:100%;border:1px solid #d8c9af;background:#fff;border-radius:13px;padding:14px 15px;font:inherit;color:var(--navy);outline:none}.cm-field textarea{min-height:120px;resize:vertical}.cm-field input:focus,.cm-field textarea:focus,.cm-item input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #dca72b22}.cm-image-field{display:flex;flex-direction:column;gap:7px}.cm-image-preview{height:150px;border:1px dashed #c5aa78;border-radius:16px;background:#eee4d3 center/cover no-repeat;display:grid;place-items:center;color:var(--navy);cursor:pointer}.cm-image-preview.has-image b{background:#ffffffdd;padding:8px 12px;border-radius:999px}.cm-img-actions{display:flex;gap:8px}.cm-img-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;cursor:pointer}.cm-day,.cm-course{border:1px solid var(--line);background:#fff;border-radius:20px;padding:20px;margin:13px 0}.cm-day-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}.cm-day-top strong{flex:1;letter-spacing:.08em}.cm-day-top em{font-style:normal;color:var(--gold)}.cm-handle{font-size:22px;color:#a39274}.cm-delete-day,.cm-delete-item{border:0;background:#fff0ed;color:#a23727;border-radius:10px;padding:8px 11px;cursor:pointer}.cm-items{margin-top:18px;border-top:1px solid #eee2cf;padding-top:15px}.cm-items h3{font-size:14px}.cm-item{display:grid;grid-template-columns:120px 1fr 42px;gap:8px;margin:8px 0}.cm-add-day,.cm-add-item{background:var(--navy);color:#fff}.cm-course h3{font-family:Georgia,serif;font-size:22px}.cm-switch{display:flex;align-items:center;gap:10px;font-weight:750}.cm-switch input{display:none}.cm-switch i{width:46px;height:26px;background:#c8c8c8;border-radius:99px;position:relative}.cm-switch i:after{content:"";width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;transition:.2s}.cm-switch input:checked+i{background:var(--navy)}.cm-switch input:checked+i:after{left:23px}.cm-bottom{position:fixed;z-index:50;bottom:16px;left:50%;transform:translateX(-50%);width:min(920px,calc(100% - 24px));background:var(--navy);color:#fff;border-radius:18px;padding:11px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 15px 50px #0005}.cm-bottom .cm-state{flex:1;color:#cad3db}.cm-bottom a{color:#fff}.cm-login{max-width:430px;margin:80px auto;padding:30px;border:1px solid #ddd;border-radius:20px}.cm-login input{width:100%;padding:12px}.cm-login .button{width:auto}.cm-toast{position:fixed;right:20px;bottom:90px;background:#173d2b;color:#fff;padding:13px 17px;border-radius:12px;z-index:100}
@media(max-width:720px){.cm-app{padding:12px 10px 110px}.cm-top{padding:22px;border-radius:20px;align-items:flex-start}.cm-top h1{font-size:30px}.cm-top p{font-size:14px}.cm-top-actions{flex-direction:column;align-items:stretch}.cm-top-actions .cm-preview{display:none}.cm-grid{grid-template-columns:1fr}.cm-section{padding:18px 14px;border-radius:18px}.cm-section-head{align-items:flex-start}.cm-section-head h2{font-size:27px}.cm-section-head p{display:none}.cm-item{grid-template-columns:78px 1fr 38px}.cm-bottom{bottom:8px}.cm-bottom .cm-state{display:none}.cm-bottom a{font-size:13px}.cm-bottom .cm-save{margin-left:auto}.cm-nav{top:0}.cm-image-preview{height:180px}}

/* v1.0.1 — hard override theme/Elementor colors */
.cm-app button,.cm-app a,.cm-app input,.cm-app textarea{accent-color:var(--navy)}
.cm-app .cm-save,.cm-app button.cm-save,.cm-app .cm-add-day,.cm-app .cm-add-item{
 background:var(--gold)!important;color:var(--navy)!important;border:0!important;box-shadow:none!important
}
.cm-app .cm-preview,.cm-app button.cm-preview{
 background:transparent!important;color:#fff!important;border:1px solid #61788c!important;box-shadow:none!important
}
.cm-app .cm-bottom-preview{
 background:transparent!important;color:#fff!important;border:0!important;text-decoration:none!important;padding:10px 8px;font-weight:700
}
.cm-app button:hover,.cm-app button:focus,.cm-app a:hover,.cm-app a:focus{outline-color:var(--gold)!important}
.cm-preview-modal{position:fixed;inset:0;z-index:999999;background:#fff;display:none;flex-direction:column}
.cm-preview-modal.open{display:flex}
.cm-preview-bar{height:58px;flex:0 0 58px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.cm-preview-bar strong{font-size:14px;letter-spacing:.04em}
.cm-preview-close{width:38px;height:38px;border-radius:50%!important;border:1px solid #ffffff55!important;background:#ffffff10!important;color:#fff!important;font-size:27px!important;line-height:1!important;padding:0!important}
.cm-preview-modal iframe{width:100%;height:calc(100dvh - 58px);border:0;background:#fff}
body.cm-preview-lock{overflow:hidden!important}
@media(max-width:720px){
 .cm-preview-bar{height:54px;flex-basis:54px}
 .cm-preview-modal iframe{height:calc(100dvh - 54px)}
 .cm-top-actions .cm-save{background:var(--gold)!important;color:var(--navy)!important}
}

/* v1.0.2 — device-sized preview, manager visible behind */
.cm-preview-modal{
 position:fixed!important;inset:0!important;z-index:999999!important;
 background:rgba(4,18,31,.62)!important;backdrop-filter:blur(7px);
 display:none!important;align-items:center!important;justify-content:center!important;
 padding:28px!important;
}
.cm-preview-modal.open{display:flex!important}
.cm-preview-modal::before{content:"";position:absolute;inset:0}
.cm-preview-bar{
 position:absolute!important;z-index:3!important;
 width:min(1120px,calc(100vw - 80px))!important;height:52px!important;
 top:50%!important;left:50%!important;
 transform:translate(-50%,calc(-50% - min(39vh,390px)))!important;
 border-radius:20px 20px 0 0!important;
 background:#08233a!important;padding:0 16px!important;
 box-shadow:0 -12px 45px #0003!important;
}
.cm-preview-modal iframe{
 position:relative!important;z-index:2!important;
 width:min(1120px,calc(100vw - 80px))!important;
 height:min(78vh,780px)!important;
 border:0!important;border-radius:0 0 20px 20px!important;
 background:#fff!important;box-shadow:0 24px 80px #0008!important;
 margin-top:52px!important;
}
@media(max-width:720px){
 .cm-preview-modal{padding:14px!important;align-items:center!important}
 .cm-preview-bar{
   width:calc(100vw - 28px)!important;height:48px!important;
   top:50%!important;
   transform:translate(-50%,calc(-50% - min(34vh,310px)))!important;
   border-radius:18px 18px 0 0!important;
 }
 .cm-preview-modal iframe{
   width:calc(100vw - 28px)!important;
   height:min(68dvh,620px)!important;
   margin-top:48px!important;border-radius:0 0 18px 18px!important;
 }
}

/* v1.1.0 */
.cm-field input[type=url]{font-size:13px}
.cm-image-preview.has-image{background-size:cover!important;background-position:center 22%!important}

/* v1.2.0 — dynamic courses + compact WordPress media popup */
.cm-course-actions{display:flex;justify-content:flex-end;margin:-8px 0 12px}
.cm-add-course{border:0!important;background:var(--navy)!important;color:#fff!important;border-radius:999px!important;padding:12px 17px!important;font-weight:800!important;cursor:pointer}
.cm-course-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cm-delete-course{border:0!important;background:#fff0ed!important;color:#a23727!important;border-radius:10px!important;padding:8px 11px!important;cursor:pointer}
/* Media Library: smaller dialog on desktop/tablet, still usable on phone */
.media-modal{top:7%!important;left:8%!important;right:8%!important;bottom:7%!important;max-width:1180px!important;max-height:820px!important;margin:auto!important}
.media-modal-backdrop{background:rgba(4,18,31,.62)!important}
@media(max-width:700px){
 .media-modal{top:6%!important;left:12px!important;right:12px!important;bottom:8%!important;width:auto!important;height:auto!important;border-radius:18px!important;overflow:hidden!important}
 .media-modal-content{border-radius:18px!important}
 .media-frame-title h1{font-size:18px!important}
}

/* v1.2.1 — collapsed days */
.cm-day{padding:0!important;overflow:hidden}
.cm-day-top{margin:0!important;display:flex!important;gap:8px!important;align-items:stretch!important}
.cm-day-toggle{flex:1;min-width:0;border:0!important;background:#fff!important;color:var(--navy)!important;padding:17px 18px!important;display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;cursor:pointer}
.cm-day-toggle strong{white-space:nowrap;letter-spacing:.08em}
.cm-day-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#667789;font-size:14px;font-weight:600}
.cm-day-toggle>i{font-style:normal;font-size:20px;transition:transform .2s}
.cm-day.is-open .cm-day-toggle>i{transform:rotate(180deg)}
.cm-day-top>.cm-delete-day{margin:11px 12px 11px 0}
.cm-day-body{display:none;border-top:1px solid #eee2cf;padding:20px}
.cm-day.is-open .cm-day-body{display:block}
@media(max-width:700px){
 .cm-day-toggle{grid-template-columns:auto 1fr auto;padding:15px 12px!important;gap:8px}
 .cm-day-toggle .cm-handle{display:none}
 .cm-day-toggle strong{font-size:13px}
 .cm-day-summary{grid-column:1/4;grid-row:2;font-size:12px;padding-left:0}
 .cm-day-top>.cm-delete-day{font-size:0;width:38px;padding:0!important}
 .cm-day-top>.cm-delete-day:after{content:"×";font-size:20px}
 .cm-day-body{padding:16px 12px}
}

/* v1.2.2 — collapsed golf courses */
.cm-course{padding:0!important;overflow:hidden}
.cm-course-head{display:flex!important;align-items:stretch!important;gap:8px!important}
.cm-course-toggle{flex:1;min-width:0;border:0!important;background:#fff!important;color:var(--navy)!important;padding:17px 18px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;cursor:pointer}
.cm-course-toggle strong{white-space:nowrap;letter-spacing:.08em}
.cm-course-toggle em{font-style:normal;color:var(--gold)}
.cm-course-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#667789;font-size:14px;font-weight:600}
.cm-course-toggle>i{font-style:normal;font-size:20px;transition:transform .2s}
.cm-course.is-open .cm-course-toggle>i{transform:rotate(180deg)}
.cm-course-head>.cm-delete-course{margin:11px 12px 11px 0}
.cm-course-body{display:none;border-top:1px solid #eee2cf;padding:20px}
.cm-course.is-open .cm-course-body{display:block}
@media(max-width:700px){
 .cm-course-toggle{grid-template-columns:1fr auto;padding:15px 12px!important;gap:8px}
 .cm-course-toggle strong{font-size:13px}
 .cm-course-summary{grid-column:1/3;grid-row:2;font-size:12px}
 .cm-course-head>.cm-delete-course{font-size:0;width:38px;padding:0!important}
 .cm-course-head>.cm-delete-course:after{content:"×";font-size:20px}
 .cm-course-body{padding:16px 12px}
}

/* v1.3.0 reliability */
.cm-add-day,.cm-add-course,.cm-add-item,.cm-save,.cm-pick,.cm-remove,.cm-day-toggle,.cm-course-toggle{pointer-events:auto!important;touch-action:manipulation}
.cm-section-head .cm-add-day{position:relative;z-index:2}

/* v1.4.0 — simplified app dashboard */
.cm-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:start;margin-top:18px}
.cm-sidebar{position:sticky;top:16px;background:#fff;border:1px solid #e5d8c2;border-radius:20px;padding:9px;display:flex;flex-direction:column;gap:4px}
.cm-sidebar button{border:0!important;background:transparent!important;color:#536a7d!important;border-radius:13px!important;padding:11px 10px!important;display:grid!important;grid-template-columns:34px 1fr;align-items:center;text-align:left;cursor:pointer;font-weight:750}
.cm-sidebar button b{font-size:11px;color:#9b7421}.cm-sidebar button.active{background:#08233a!important;color:#fff!important}.cm-sidebar button.active b{color:#dca72b}
.cm-content{min-width:0}.cm-home,#cm-form>.cm-section{display:none}.cm-home.cm-view-active,#cm-form>.cm-section.cm-view-active{display:block}
.cm-home{background:#f7f2e9;border:1px solid #e2d3b8;border-radius:24px;padding:30px}
.cm-home-head small{color:#b0801f;font-weight:850;letter-spacing:.16em}.cm-home-head h2{font-family:Georgia,serif;font-size:38px;margin:7px 0}.cm-home-head p{color:#6f7e8e;margin:0}
.cm-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
.cm-home-card{border:1px solid #e1d3bb!important;background:#fff!important;color:#08233a!important;border-radius:18px!important;padding:20px!important;display:grid!important;grid-template-columns:40px minmax(0,1fr) auto;gap:13px;align-items:center;text-align:left!important;cursor:pointer}
.cm-home-card>b{width:38px;height:38px;border-radius:11px;background:#f1e5cd;display:grid;place-items:center;color:#9b7421;font-size:11px}
.cm-home-card div{display:flex;flex-direction:column;gap:4px;min-width:0}.cm-home-card strong{font-family:Georgia,serif;font-size:21px}.cm-home-card span{font-size:13px;color:#70808d;line-height:1.35}.cm-home-card i{font-style:normal;font-size:20px;color:#b0801f}
.cm-section{margin-top:0!important}.cm-section-head{border-bottom:1px solid #e8dcc8;padding-bottom:18px}
.cm-section-head:after{content:"";display:none}
.cm-add-day,.cm-add-course{background:#08233a!important;color:#fff!important}
.cm-day,.cm-course{margin:10px 0!important;border-radius:16px!important}
.cm-day-toggle,.cm-course-toggle{min-height:62px}
.cm-bottom{width:min(760px,calc(100% - 24px))!important}
@media(max-width:760px){
 .cm-workspace{display:block;margin-top:12px}
 .cm-sidebar{position:sticky;top:0;z-index:30;display:flex;flex-direction:row;overflow-x:auto;border-radius:15px;padding:6px;margin-bottom:10px}
 .cm-sidebar button{grid-template-columns:1fr!important;min-width:76px;text-align:center!important;justify-items:center;padding:8px 9px!important}
 .cm-sidebar button b{display:none}.cm-sidebar button span{font-size:12px;white-space:nowrap}
 .cm-home{padding:20px 14px;border-radius:18px}.cm-home-head h2{font-size:30px}
 .cm-home-grid{grid-template-columns:1fr;gap:9px;margin-top:20px}
 .cm-home-card{padding:15px!important}.cm-home-card strong{font-size:19px}
 .cm-section{margin:0!important}
}

/* v1.5.0 — mobile polish + live saving */
.cm-live-badge{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid #ffffff35;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em;color:#d9b34b}
.cm-state.is-saving{color:#f0cf76!important}.cm-state.is-ok{color:#b9e2c6!important}.cm-state.is-error{color:#ffb0a8!important}

/* No label should collide with active blue navigation pill */
@media(max-width:760px){
 .cm-sidebar{scrollbar-width:none;gap:3px}
 .cm-sidebar::-webkit-scrollbar{display:none}
 .cm-sidebar button{min-width:auto!important;padding:10px 13px!important}
 .cm-sidebar button span{font-size:11px!important}
 .cm-sidebar button.active{padding-left:15px!important;padding-right:15px!important}
 .cm-section-head{gap:10px!important}
 .cm-section-head h2{font-size:26px!important;line-height:1.05}
}

/* Delete controls: clean icon buttons, same style everywhere */
.cm-delete-day,.cm-delete-course,.cm-delete-item{
 width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;
 display:grid!important;place-items:center!important;border:1px solid #ead9d3!important;
 background:#fff8f6!important;color:#a34a3f!important;border-radius:12px!important;
 font-size:0!important;line-height:1!important
}
.cm-delete-day:after,.cm-delete-course:after,.cm-delete-item:after{content:"×";font-size:20px;font-weight:500}
.cm-day-top>.cm-delete-day,.cm-course-head>.cm-delete-course{margin:12px 12px 12px 0!important}

/* Media modal: compact and correctly centered on iPhone */
@media(max-width:700px){
 .media-modal{top:76px!important;left:14px!important;right:14px!important;bottom:92px!important;max-height:none!important;margin:0!important;border-radius:20px!important;overflow:hidden!important}
 .media-modal-content{border-radius:20px!important}
 .media-frame-title{height:58px!important}
 .media-frame-title h1{font-size:20px!important;line-height:58px!important}
 .media-modal-close{width:52px!important;height:52px!important;top:3px!important;right:3px!important}
 .media-frame-router{top:58px!important}
 .media-frame-content{top:108px!important}
 .media-frame-toolbar{height:64px!important}
 .attachments-browser .media-toolbar{height:auto!important;min-height:82px!important}
}

/* Program and Courses use exactly the same compact row rhythm */
.cm-day,.cm-course{border:1px solid #e7dcc9!important;background:#fff!important}
.cm-day-top,.cm-course-head{min-height:62px}
.cm-day-toggle,.cm-course-toggle{border-radius:15px!important}

/* v1.5.1 centered circular close/delete controls */
.cm-preview-close,.media-modal-close{width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;line-height:1!important;font-size:0!important}
.cm-preview-close:before,.media-modal-close:before{content:"×"!important;font-family:Arial,sans-serif!important;font-size:27px!important;font-weight:400!important;line-height:1!important;position:static!important;display:block!important;transform:translateY(-1px)!important;margin:0!important}
.media-modal-close .media-modal-icon{display:none!important}
.cm-delete-day,.cm-delete-course,.cm-delete-item{border-radius:50%!important;display:grid!important;place-items:center!important;padding:0!important;line-height:1!important}
.cm-delete-day:after,.cm-delete-course:after,.cm-delete-item:after{line-height:1!important;display:block!important;transform:translateY(-1px)}

/* v1.6.0 photo layout selector */
.cm-layout-choice{grid-column:1/-1;margin-top:4px}
.cm-field-label{display:block;font-size:12px;font-weight:850;letter-spacing:.12em;color:#66798a;margin-bottom:9px}
.cm-layout-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.cm-layout-options label{position:relative;cursor:pointer}
.cm-layout-options input{position:absolute;opacity:0}
.cm-layout-icon{height:56px;border:1px solid #dfd2bc;border-radius:11px;background:#fff;display:block;position:relative;margin-bottom:6px}
.cm-layout-options b{display:block;text-align:center;font-size:12px;color:#647688}
.cm-layout-options input:checked+.cm-layout-icon{border:2px solid #0a2942;background:#f5ead4}
.cm-layout-options input:checked~b{color:#0a2942}
.cm-layout-auto:before{content:"AUTO";position:absolute;inset:0;display:grid;place-items:center;font-size:10px;font-weight:900;color:#a87b1c}
.cm-layout-side:before{content:"";position:absolute;left:8px;top:9px;bottom:9px;width:45%;background:#e8decc;border-radius:5px}
.cm-layout-side:after{content:"";position:absolute;right:8px;top:9px;bottom:9px;width:32%;background:#0a2942;border-radius:5px}
.cm-layout-wide:before{content:"";position:absolute;left:8px;right:8px;top:8px;height:23px;background:#0a2942;border-radius:5px}
.cm-layout-wide:after{content:"";position:absolute;left:8px;right:8px;bottom:9px;height:9px;background:#e8decc;border-radius:4px}
.cm-layout-help{display:block;color:#84919c;margin-top:8px}

/* v1.7.0 undo */
.cm-undo{border:1px solid rgba(255,255,255,.25)!important;background:transparent!important;color:#fff!important;border-radius:12px!important;padding:11px 15px!important;font-weight:800!important;white-space:nowrap}
@media(max-width:620px){.cm-bottom{gap:7px!important}.cm-undo{padding:10px 9px!important;font-size:12px!important}}
