.ct-switch{display:flex;gap:8px;flex-wrap:wrap}.ct-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.ct-card{border:1px solid #eadfd7;border-radius:18px;padding:16px;display:flex;justify-content:space-between;gap:14px;background:#fff}.ct-card img{width:90px;height:70px;object-fit:cover;border-radius:12px;float:left;margin-right:12px}.ct-card h3{margin:4px 0}.ct-card p{margin:4px 0}.ct-card-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.ct-days{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.ct-days label{border:1px solid #ddd4cd;border-radius:10px;padding:8px 10px;background:#fff}.ct-photo-preview img{max-width:180px;max-height:120px;border-radius:14px;margin:8px 0}.ct-section{margin-top:18px}.agn-app button.agn-primary,.agn-modal button.agn-primary,.agn-app input[type=submit].agn-primary{background:#1D3730!important;color:#fff!important;border:2px solid #1D3730!important;opacity:1!important;visibility:visible!important;box-shadow:none!important}.agn-app button.agn-primary:hover,.agn-modal button.agn-primary:hover{background:#198C8A!important;border-color:#198C8A!important;color:#fff!important}.agn-app button.agn-secondary,.agn-modal button.agn-secondary{background:#F1EEEB!important;color:#1D3730!important;border:1px solid #E1D8D0!important;opacity:1!important;visibility:visible!important}.agn-modal-actions{display:flex!important;justify-content:flex-end;gap:10px;margin-top:20px;padding-bottom:4px}.agn-form-msg{display:none;margin-top:14px;padding:11px 13px;border-radius:12px;font-weight:700}.agn-form-msg.show{display:block}.agn-form-msg.ok{background:#E7F4EF;color:#17664f}.agn-form-msg.error{background:#FCE7E5;color:#9e352e}.ct-danger{background:#fff!important;color:#9e352e!important;border:1px solid #e6c2be!important;border-radius:12px;padding:10px 12px;font-weight:800;cursor:pointer}@media(max-width:700px){.ct-list{grid-template-columns:1fr}.ct-card{display:block}.ct-card-actions{margin-top:12px}.ct-card-actions button{flex:1}}
/* v1.20 app-style Clases/Talleres */
[data-panel="clases"]>.agn-box{background:linear-gradient(180deg,#fff 0%,#fcfaf8 100%)}
.ct-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.ct-app-card{overflow:hidden;border:1px solid #eadfd7;border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(29,55,48,.06);transition:transform .18s ease,box-shadow .18s ease}.ct-app-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(29,55,48,.1)}
.ct-cover{width:100%;height:170px;object-fit:cover;display:block}.ct-cover-empty{display:grid;place-items:center;background:#f4eee9;color:#a77e5d;font-size:54px;font-weight:800}.ct-card-body{padding:18px}.ct-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.ct-pill{font-size:11px;letter-spacing:.08em;font-weight:900;color:#a77e5d}.ct-live{font-size:12px;color:#198c8a;font-weight:800}.ct-app-card h3{font-size:22px;margin:8px 0 4px;color:#1d3730}.ct-meta,.ct-schedule{margin:4px 0;color:#6f5847}.ct-prices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.ct-prices span{padding:11px;border-radius:14px;background:#f7f3ef}.ct-prices small{display:block;color:#806a59}.ct-prices b{display:block;margin-top:2px;color:#1d3730}.ct-card-actions{display:flex;gap:8px}.ct-card-actions button{flex:1}.ct-zero{grid-column:1/-1;padding:30px;border:1px dashed #dccfc5;border-radius:20px;background:#faf7f4;text-align:center;color:#6f5847}.ct-zero b,.ct-zero span{display:block}.ct-zero b{font-size:18px;color:#1d3730;margin-bottom:5px}.ct-zero.compact{padding:20px}.ct-booking{display:flex;justify-content:space-between;gap:16px;padding:14px 4px;border-bottom:1px solid #eee5df}.ct-booking div{display:flex;flex-direction:column}.ct-booking span,.ct-booking small{color:#806a59}.ct-save-status{position:sticky;bottom:0;margin:14px -4px 0;padding:13px 15px;border-radius:14px;font-weight:800;z-index:4}.ct-save-status.busy{background:#f5f0ea;color:#6f5847}.ct-save-status.ok{background:#e7f4ef;color:#17664f}.ct-save-status.error{background:#fce7e5;color:#9e352e}.ct-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:ctspin .7s linear infinite}@keyframes ctspin{to{transform:rotate(360deg)}}.ct-toast{position:fixed;right:22px;top:22px;z-index:100000;background:#1d3730;color:#fff;padding:13px 16px;border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.18);font-weight:800;opacity:0;transform:translateY(-8px);transition:.2s}.ct-toast.show{opacity:1;transform:none}.ct-toast.error{background:#9e352e}
@media(max-width:700px){.ct-prices{grid-template-columns:1fr}.ct-booking{flex-direction:column}.ct-toast{left:14px;right:14px;top:14px}}

/* v1.20.2 compact app cards */
.ct-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important;gap:14px!important}
.ct-app-card{border-radius:18px!important;box-shadow:0 5px 18px rgba(29,55,48,.055)!important}
.ct-cover{height:118px!important;aspect-ratio:auto!important}
.ct-cover-empty{height:118px!important;font-size:38px!important}
.ct-card-body{padding:14px!important}
.ct-app-card h3{font-size:17px!important;line-height:1.25!important;margin:6px 0 5px!important}
.ct-meta,.ct-schedule{font-size:12.5px!important;line-height:1.35!important}
.ct-prices{margin:11px 0!important;gap:6px!important}
.ct-prices span{padding:8px 9px!important;border-radius:11px!important}
.ct-prices small{font-size:10px!important}.ct-prices b{font-size:13px!important}
.ct-card-actions button{padding:8px 10px!important;font-size:12px!important;border-radius:10px!important}
.ct-pill,.ct-live{font-size:10px!important}
@media(min-width:1180px){.ct-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* v1.21 session calendar + attendance */
.ct-calendar-box{margin-top:18px}.ct-cal-nav{display:flex;align-items:center;gap:9px}.ct-cal-nav button{width:38px;height:38px;padding:0!important}.ct-cal-nav b{text-transform:capitalize;min-width:150px;text-align:center}.ct-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:18px}.ct-cal-dow{text-align:center;font-size:11px;font-weight:850;color:#8b7767;padding:5px}.ct-cal-day{min-height:76px;border:1px solid #eadfd7!important;border-radius:14px!important;background:#fff!important;color:#1d3730!important;padding:8px!important;text-align:left;display:flex;flex-direction:column;gap:3px;cursor:pointer}.ct-cal-day:disabled{opacity:.42;cursor:default}.ct-cal-day.has-class{background:#f2f8f6!important;border-color:#bcd8cf!important}.ct-cal-day.full{background:#f9eeee!important;border-color:#e6c7c2!important}.ct-cal-day.today{box-shadow:inset 0 0 0 2px #198c8a}.ct-cal-day>span{font-weight:900}.ct-cal-day i{font-style:normal;font-size:18px}.ct-cal-day small{font-size:9px;color:#6f5847}.ct-session-detail{margin-top:14px}.ct-detail-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border-radius:16px;background:#f7f3ef}.ct-detail-head h3{margin:3px 0 0;font-size:18px}.ct-att-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #eee5df}.ct-att-row div:first-child{display:flex;flex-direction:column}.ct-att-row small{color:#806a59}.ct-att-actions{display:flex;gap:6px}.ct-att-actions button{border:1px solid #ddd4cd!important;background:#fff!important;color:#1d3730!important;border-radius:10px!important;padding:7px 9px!important;font-size:11px!important}.ct-att-actions button.active{background:#1d3730!important;color:#fff!important;border-color:#1d3730!important}@media(max-width:700px){.ct-calendar{gap:3px}.ct-cal-day{min-height:58px;padding:5px!important;border-radius:10px!important}.ct-cal-day small{display:none}.ct-cal-day i{font-size:15px}.ct-att-row,.ct-detail-head{align-items:flex-start;flex-direction:column}.ct-att-actions{width:100%}.ct-att-actions button{flex:1}}

.ct-settings-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.ct-settings-form label{display:grid;gap:6px;min-width:280px;flex:1}.ct-settings-form input{width:100%;padding:13px 14px;border:1px solid #ded4ca;border-radius:12px;background:#fff}.ct-settings-form #ct-settings-status{font-weight:700;color:#1d3730}
