/* CHARME 2.0 · one-pass instructor enrollment · isolated route styles */
.cm20-ir{max-width:1030px;margin:0 auto;color:#163f33}
.cm20-ir *{box-sizing:border-box}
.cm20-ir-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 24px}
.cm20-ir-step{border:1px solid #d8e3da;border-radius:17px;background:#fff;padding:17px 18px;display:flex;align-items:center;gap:13px;min-width:0;box-shadow:0 8px 30px #143f3010}
.cm20-ir-step>span{display:grid;place-items:center;flex:0 0 44px;height:44px;background:#e9f0e9;color:#176043;border-radius:13px;font-size:17px;font-weight:800}
.cm20-ir-step strong{display:block;font-size:15px;letter-spacing:-.03em;line-height:1.35;color:#214c3d}
.cm20-ir-step small{display:block;color:#65766c;line-height:1.5;font-size:12px;margin-top:4px}
.cm20-ir-step.is-current{border-color:#c2a46d;background:linear-gradient(130deg,#143c31,#205946);color:#fff}
.cm20-ir-step.is-current>span{background:#dabc7e;color:#173b31}
.cm20-ir-step.is-current strong{color:#fff}
.cm20-ir-step.is-current small{color:#d9e7dd}
.cm20-ir .cm20-card{border-radius:20px;border-color:#dee5dc;box-shadow:0 14px 40px #1542340b}
.cm20-ir-form{display:block!important}
.cm20-ir-panel{padding:clamp(20px,3.4vw,39px)!important;margin:0 0 18px!important}
.cm20-ir-section{display:flex;gap:14px;align-items:flex-start;margin-bottom:26px;padding-bottom:19px;border-bottom:1px solid #e9eee8}
.cm20-ir-section>span{font-size:12px;font-weight:800;letter-spacing:.06em;background:#e6eee6;border-radius:11px;padding:11px 13px;color:#2c6b4c}
.cm20-ir-section h2{font-size:clamp(21px,2.9vw,27px);letter-spacing:-.045em;line-height:1.3;margin:0 0 8px;color:#163c31}
.cm20-ir-section p{font-size:14px;line-height:1.75;margin:0;color:#62776d}
.cm20-ir-panel>.cm20-grid{margin-bottom:18px}
.cm20-ir-panel>label{margin-bottom:18px}
.cm20-ir label em{font-size:11px;font-weight:750;color:#a77837;font-style:normal}
.cm20-ir label small{color:#728178;font-size:12px;font-weight:500}
.cm20-ir-photo-row{display:flex;align-items:center;gap:20px;background:#f5f8f4;border:1px dashed #bfd1c2;border-radius:15px;padding:19px;margin-bottom:24px}
.cm20-ir-avatar{width:93px;height:103px;flex:none;display:grid;place-items:center;background:linear-gradient(140deg,#234f40,#153c31);border-radius:14px;font-size:13px;font-weight:800;letter-spacing:.08em;color:#dfc591}
.cm20-ir-photo-label{flex:1;min-width:0}
.cm20-ir-photo-label small{display:block;margin:5px 0 9px}
.cm20-ir-photo-label input{width:100%;min-height:42px!important;background:#fff}
.cm20-ir-price{background:#f5f7f1;border:1px solid #e0e7d9;padding:22px;border-radius:15px;margin:12px 0 15px}
.cm20-ir-price strong{font-size:16px}
.cm20-ir-price>p{font-size:13px;color:#64796b;margin:7px 0 17px}
.cm20-ir-price .cm20-grid{margin-bottom:15px}
.cm20-ir .cm20-check{display:flex!important;flex-direction:row;align-items:flex-start!important;gap:10px!important;line-height:1.7;font-weight:500!important}
.cm20-ir .cm20-check input{width:20px;height:20px;min-width:20px;accent-color:#185940;flex:none;margin:2px 0 0}
.cm20-ir-consent .cm20-check{margin:0 0 17px}
.cm20-ir-consent .cm20-check a{font-weight:750}
.cm20-ir-main-submit{margin-top:9px;width:100%;padding:17px!important;min-height:60px;font-size:16px!important;gap:12px}
.cm20-ir .cm20-button:disabled{opacity:.5;cursor:not-allowed}
.cm20-ir-hint{font-size:13px;color:#5b6d63;line-height:1.8;margin:14px 0 0}
.cm20-ir-login{text-align:center;font-size:14px;color:#68766d;margin:24px 0}
.cm20-ir-login a{font-weight:800}
.cm20-ir-verify{max-width:730px;margin:0 auto!important;padding:clamp(26px,4vw,46px)!important}
.cm20-ir-eyebrow{font-weight:850;font-size:12px;letter-spacing:.13em;color:#95753c}
.cm20-ir-verify h2,.cm20-ir-complete h2{font-size:clamp(23px,3.2vw,32px);line-height:1.4;margin:14px 0;color:#153b31;letter-spacing:-.045em}
.cm20-ir-verify>p,.cm20-ir-complete>p{color:#53685c;line-height:1.9;font-size:15px}
.cm20-ir-verify-form{margin-top:25px;display:grid;gap:14px}
.cm20-ir-verify-form #cm20-ir-code{height:72px!important;text-align:center;letter-spacing:.32em;font-size:27px;font-weight:800;font-variant-numeric:tabular-nums;min-width:0}
.cm20-ir-verify-form button{min-height:54px;font-size:16px}
.cm20-ir-resend{display:flex;align-items:center;gap:13px;margin-top:22px;flex-wrap:wrap;font-size:14px;color:#67766c}
.cm20-ir-resend-btn{border:0;background:transparent;color:#185c46;font-size:14px;font-weight:800;cursor:pointer;text-decoration:underline;padding:7px 0}
.cm20-ir-complete{text-align:center;padding:clamp(30px,5vw,58px)!important;max-width:780px;margin:0 auto!important}
.cm20-ir-check{display:grid;place-items:center;border-radius:50%;width:72px;height:72px;margin:0 auto 20px;background:#e4f2e8;color:#24694a;font-size:35px;font-weight:800}
.cm20-ir-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.cm20-ir-form .cm20-form input:focus-visible,.cm20-ir-form input:focus-visible,.cm20-ir-form select:focus-visible,.cm20-ir-form textarea:focus-visible,.cm20-ir button:focus-visible{outline:3px solid #d5b472;outline-offset:2px}
@media(max-width:780px){.cm20-ir-steps{grid-template-columns:1fr;gap:8px}.cm20-ir-step{padding:12px 14px}.cm20-ir-step>span{height:40px;flex-basis:40px}.cm20-ir-step small{margin-top:1px}.cm20-ir-photo-row{align-items:flex-start}}
@media(max-width:460px){.cm20-ir-section{gap:10px}.cm20-ir-avatar{width:75px;height:85px;font-size:10px}.cm20-ir-photo-row{gap:12px;padding:12px}.cm20-ir-panel{padding:20px!important}.cm20-ir-verify-form #cm20-ir-code{font-size:22px;letter-spacing:.22em}.cm20-ir-actions{flex-direction:column}.cm20-ir-actions .cm20-button{width:100%}}
/* Revision 02: accessible divided signup / managed intake / normalized portrait preview */
.cm20-ir [hidden]{display:none!important}
.cm20-ir-live{display:block;min-height:1.7em;margin-top:5px;color:#236248!important;font-weight:650!important}
.cm20-ir-evidence{margin:18px 0 12px;padding:20px;border:1px dashed #8cae9c;border-radius:16px;background:#f1f6f1}
.cm20-ir-evidence small{display:block;margin:8px 0 10px;line-height:1.7}
.cm20-ir-evidence input[type=file]{width:100%;background:white}
.cm20-ir-pii{border-left:4px solid #bd9454;border-radius:8px;padding:15px 17px;background:#fff9eb;color:#55472e;font-size:13px;line-height:1.8;margin:15px 0 25px}
.cm20-ir-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 22px}
.cm20-ir-choice{display:flex!important;flex-direction:row!important;gap:14px!important;align-items:flex-start!important;border:1px solid #c7d7cb;border-radius:15px;padding:18px;background:#f8faf7;cursor:pointer}
.cm20-ir-choice:has(input:checked){border-color:#be9b5d;background:#eef5ee;box-shadow:0 0 0 1px #be9b5d}
.cm20-ir-choice input{width:20px;min-width:20px;height:20px;accent-color:#20664c;flex:0 0 20px}
.cm20-ir-choice strong{display:block;color:#1b4938;font-size:16px}
.cm20-ir-choice small{display:block;color:#52695c;margin-top:7px;line-height:1.65}
.cm20-ir-self,.cm20-ir-delegated{padding:22px;background:#f7f9f6;border-radius:16px;margin-bottom:22px;border:1px solid #e1e9df}
.cm20-ir-self label{display:block;margin-bottom:15px}
.cm20-ir-delegated{line-height:1.8;color:#456557}
.cm20-ir-delegated .cm20-check{margin:16px 0;border-radius:10px;padding:12px;background:#fff}
.cm20-ir-avatar{width:112px;height:140px;overflow:hidden}
.cm20-ir-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.cm20-ir-review-dl{display:grid;grid-template-columns:140px 1fr;gap:0;border:1px solid #e0e8e1;border-radius:14px;overflow:hidden;margin:18px 0}
.cm20-ir-review-dl dt,.cm20-ir-review-dl dd{padding:12px;border-bottom:1px solid #edf0ea;margin:0;overflow-wrap:anywhere;white-space:normal}
.cm20-ir-review-dl dt{font-weight:700;background:#f4f8f4}
.cm20-ir-review-actions{display:grid;gap:12px;max-width:600px}
.cm20-admin-intakes .cm20-ir-panel{background:white}
.cm20-ir .cm20-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:650px){.cm20-ir-choices{grid-template-columns:1fr}.cm20-ir-review-dl{grid-template-columns:1fr}.cm20-ir-review-dl dt{border-bottom:0}.cm20-ir-review-dl dd{border-bottom:1px solid #e7eae5}}


/* 2026-10-29: accessible region multiple-choice dropdown + hourly fee reading. */
.cm20-ir-activity-grid{align-items:start}
.cm20-ir-region-field{min-width:0;max-width:100%;padding:0;margin:0;border:0}
.cm20-ir-region-field legend{padding:0 0 7px;font-size:15px;font-weight:800;color:#173e31}
.cm20-ir-region-field legend em{font-style:normal;color:#925e15;font-weight:800;font-size:13px;margin-left:5px}
.cm20-ir-region-select{position:relative;width:100%;min-width:0;border:1px solid #b9cec1;border-radius:13px;background:#fff;color:#183f32}
.cm20-ir-region-select summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:12px 16px;cursor:pointer;list-style:none}
.cm20-ir-region-select summary::-webkit-details-marker{display:none}
.cm20-ir-region-select summary:focus-visible{outline:3px solid #bb9253;outline-offset:3px;border-radius:12px}
.cm20-ir-region-summary-label{min-width:0;max-width:calc(100% - 32px);font-size:15px;font-weight:750;color:#163d31;overflow-wrap:anywhere}
.cm20-ir-region-summary-label small{display:block;color:#587364;font-size:12px;font-weight:550;line-height:1.6}
.cm20-ir-region-chevron{font-size:25px;line-height:1;color:#345d4a;flex:none}
.cm20-ir-region-select[open] .cm20-ir-region-chevron{transform:rotate(180deg)}
.cm20-ir-region-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px;border-top:1px solid #d8e6db;max-height:310px;overflow-y:auto}
.cm20-ir-region-option{display:flex!important;align-items:center!important;gap:9px!important;min-height:43px;padding:9px 10px;border:1px solid #e0e9e1;border-radius:9px;background:#fff;cursor:pointer;font-size:14px!important;line-height:1.4!important;font-weight:700!important;color:#24493b!important}
.cm20-ir-region-option:has(input:checked){background:#e8f2ea;border-color:#60947b;color:#164531!important}
.cm20-ir-region-option input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px;flex:none;margin:0!important;accent-color:#165940}
.cm20-ir-region-option.cm20-ir-region-nationwide{grid-column:1/-1;background:#f4f8f3;border:1px solid #b0c7b7;font-weight:900!important}
.cm20-ir-region-option:focus-within{outline:2px solid #bb9253;outline-offset:2px}
.cm20-ir-region-help{display:block;margin-top:8px;color:#365f4a!important;font-size:13px!important;line-height:1.6}
.cm20-ir-region-live{margin:7px 0 0;font-size:13px;line-height:1.65;color:#175b40;font-weight:700;overflow-wrap:anywhere}
.cm20-ir-fee-grid input[type=text]{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:19px!important;font-weight:800!important;color:#163e30!important;background:#fff!important}
.cm20-ir-fee-readout{display:block;min-height:1.65em;margin-top:8px;padding:8px 11px;border-radius:9px;background:#e7f1e9;color:#164e37;font-size:15px;font-weight:800;line-height:1.65;overflow-wrap:anywhere}
.cm20-ir-fee-help{margin:10px 0 15px!important;font-size:13px!important;color:#3a5946!important;line-height:1.7!important}
.cm20-ir-fee-help strong{color:#164b35}
@media(max-width:720px){.cm20-ir-activity-grid{grid-template-columns:1fr!important}.cm20-ir-region-options{grid-template-columns:repeat(2,minmax(0,1fr))}.cm20-ir-region-select summary{min-height:58px}}
@media(max-width:420px){.cm20-ir-region-options{grid-template-columns:1fr;max-height:280px}.cm20-ir-fee-grid input[type=text]{font-size:18px!important}.cm20-ir-fee-readout{font-size:14px}}


/* 2026-10-29 · Premium instructor self-writing studio. Scoped; no changes to payment/auth/region/fee. */
.cm20-main .cm20-wrap:has(.cm20-ir){max-width:1360px;width:min(100% - 40px,1360px)}
.cm20-ir{max-width:1210px}
.cm20-ir .cm20-ir-self{padding:0!important;margin:0 0 26px!important;border:1px solid #d4e2d8!important;border-radius:23px!important;background:#fff!important;overflow:hidden;box-shadow:0 20px 50px rgba(17,54,41,.065)}
.cm20-ir-self .cm20-ir-studio-head{background:linear-gradient(125deg,#153d31 0%,#205747 74%,#315f4e 100%);padding:clamp(26px,3.7vw,44px) clamp(24px,4vw,49px);color:#fff;position:relative;isolation:isolate}
.cm20-ir-self .cm20-ir-studio-head:after{content:'CHARME';position:absolute;right:18px;bottom:5px;font-size:clamp(44px,8vw,100px);font-weight:900;letter-spacing:-.07em;color:rgba(255,255,255,.055);z-index:-1;pointer-events:none}
.cm20-ir-self .cm20-ir-studio-kicker{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:850;letter-spacing:.16em;color:#e8ca8e}
.cm20-ir-self .cm20-ir-studio-kicker>span:last-child{margin-left:8px;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:0;color:#fff}
.cm20-ir-self .cm20-ir-studio-dot{width:8px;height:8px;border-radius:50%;background:#e5c27a;display:inline-block;box-shadow:0 0 0 4px rgba(229,194,122,.16)}
.cm20-ir-self .cm20-ir-studio-heading{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:end;gap:22px;margin-top:23px}
.cm20-ir-self .cm20-ir-studio-heading h3{margin:0 0 13px!important;color:#fff!important;font-size:clamp(27px,3vw,38px)!important;line-height:1.24!important;font-weight:850!important;letter-spacing:-.045em}
.cm20-ir-self .cm20-ir-studio-heading p{margin:0!important;max-width:680px;color:#e6f1e9!important;font-size:clamp(14px,1.45vw,16px)!important;line-height:1.85!important}
.cm20-ir-self .cm20-ir-studio-status{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.26);padding:13px 14px 15px;border-radius:14px;min-width:0}
.cm20-ir-self .cm20-ir-studio-status>span{font-size:12px;color:#e8f2ec;display:block;margin-bottom:4px}
.cm20-ir-self .cm20-ir-studio-status strong{font-size:26px;line-height:1.3;color:#fff;letter-spacing:-.04em}
.cm20-ir-self .cm20-ir-studio-progress{height:5px;background:rgba(255,255,255,.26);border-radius:99px;overflow:hidden;margin-top:10px}
.cm20-ir-self .cm20-ir-studio-progress>span{display:block;height:100%;width:0;background:#f2cf8c;border-radius:99px;transition:width .2s ease}
.cm20-ir-self .cm20-ir-studio-body{padding:clamp(20px,3.7vw,46px);display:grid;gap:21px}
.cm20-ir-self .cm20-ir-studio-field{border:1px solid #e1e9e3;border-radius:17px;background:#fbfcfa;padding:clamp(18px,2.6vw,29px);min-width:0;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.cm20-ir-self .cm20-ir-studio-field:focus-within{border-color:#377a5d;background:#fff;box-shadow:0 0 0 3px rgba(46,119,84,.09)}
.cm20-ir-self .cm20-ir-studio-label-line{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.cm20-ir-self .cm20-ir-studio-label-line label{display:flex!important;align-items:center;gap:9px;flex-wrap:wrap;margin:0!important;color:#143b2f!important;font-size:clamp(17px,1.5vw,20px)!important;font-weight:850!important;line-height:1.5!important;letter-spacing:-.035em}
.cm20-ir-self .cm20-ir-studio-index{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 5px;border-radius:10px;background:#e5efe8;color:#215a41;font-size:13px;font-weight:850;letter-spacing:0}
.cm20-ir-self .cm20-ir-studio-label-line em{display:inline-flex!important;align-items:center;padding:4px 9px;border-radius:6px;background:#e9f4ec;color:#17553d!important;font-style:normal!important;font-weight:800!important;font-size:12px!important;letter-spacing:0}
.cm20-ir-self .cm20-ir-studio-optional{display:inline-flex;align-items:center;padding:4px 9px;border-radius:6px;background:#f2f1ec;color:#536b5c;font-size:12px;font-weight:750;letter-spacing:0}
.cm20-ir-self .cm20-ir-studio-count{font-variant-numeric:tabular-nums;color:#4d6658;font-size:13px;font-weight:750;white-space:nowrap}
.cm20-ir-self .cm20-ir-studio-desc{margin:0 0 18px!important;font-size:15px!important;line-height:1.75!important;color:#496558!important}
.cm20-ir-self .cm20-ir-studio-field>input[type=text],.cm20-ir-self .cm20-ir-studio-field>textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;border:1px solid #b8cfc0!important;border-radius:12px!important;background:#fff!important;color:#143b2f!important;font:500 16px/1.8 system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif!important;letter-spacing:-.02em;box-shadow:none!important}
.cm20-ir-self .cm20-ir-studio-field>input[type=text]{height:64px!important;min-height:64px!important;padding:16px 19px!important}
.cm20-ir-self .cm20-ir-studio-field>textarea{min-height:226px!important;padding:21px!important;resize:vertical!important;line-height:1.9!important}
.cm20-ir-self .cm20-ir-studio-field>input::placeholder,.cm20-ir-self .cm20-ir-studio-field>textarea::placeholder{color:#6a8275!important;opacity:1!important;font-weight:450}
.cm20-ir-self .cm20-ir-studio-field>input:focus-visible,.cm20-ir-self .cm20-ir-studio-field>textarea:focus-visible{outline:3px solid #c6dfcb!important;outline-offset:2px!important;border-color:#276649!important}
.cm20-ir-self .cm20-ir-studio-examples{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:13px}
.cm20-ir-self .cm20-ir-studio-examples>span{padding:6px 11px;border:1px solid #dce8df;border-radius:999px;font-size:12px;font-weight:650;color:#36644e;background:#f4f8f4}
.cm20-ir-self .cm20-ir-studio-examples>span:first-child{border:0;background:none;padding:6px 6px 6px 0;font-weight:850;color:#4d6456}
.cm20-ir-self .cm20-ir-studio-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;color:#5c7466;font-size:12px;font-weight:600}
.cm20-ir-self .cm20-ir-studio-footer>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.cm20-ir-self .cm20-ir-studio-notice{display:flex;align-items:center;gap:10px;margin:0!important;padding:18px 20px;border-radius:12px;background:#edf6ee;color:#235840!important;font-size:14px!important;line-height:1.75;font-weight:700}
.cm20-ir-self .cm20-ir-studio-notice>span{display:grid;place-items:center;flex:none;width:26px;height:26px;background:#26694b;color:#fff;border-radius:50%}
@media(max-width:800px){.cm20-main .cm20-wrap:has(.cm20-ir){width:calc(100% - 28px)}.cm20-ir-self .cm20-ir-studio-heading{grid-template-columns:1fr;align-items:start}.cm20-ir-self .cm20-ir-studio-status{width:min(100%,260px)}.cm20-ir-self .cm20-ir-studio-body{gap:16px}}
@media(max-width:520px){.cm20-main .cm20-wrap:has(.cm20-ir){width:calc(100% - 24px)}.cm20-ir .cm20-ir-self{border-radius:17px!important}.cm20-ir-self .cm20-ir-studio-head{padding:25px 20px}.cm20-ir-self .cm20-ir-studio-kicker{letter-spacing:.075em;font-size:10px}.cm20-ir-self .cm20-ir-studio-heading{margin-top:19px;gap:15px}.cm20-ir-self .cm20-ir-studio-heading h3{font-size:28px!important}.cm20-ir-self .cm20-ir-studio-heading p{font-size:14px!important}.cm20-ir-self .cm20-ir-studio-body{padding:15px;gap:13px}.cm20-ir-self .cm20-ir-studio-field{padding:17px 15px;border-radius:13px}.cm20-ir-self .cm20-ir-studio-label-line label{font-size:17px!important}.cm20-ir-self .cm20-ir-studio-desc{font-size:14px!important;margin-bottom:13px!important}.cm20-ir-self .cm20-ir-studio-field>input[type=text]{height:58px!important;min-height:58px!important;padding:13px 14px!important;font-size:16px!important}.cm20-ir-self .cm20-ir-studio-field>textarea{min-height:210px!important;padding:15px!important;font-size:16px!important}.cm20-ir-self .cm20-ir-studio-notice{align-items:flex-start;font-size:13px!important;padding:14px 12px}}
@media(prefers-reduced-motion:reduce){.cm20-ir-self .cm20-ir-studio-progress>span,.cm20-ir-self .cm20-ir-studio-field{transition:none}}

/* Instructor-facing one-pass journey notice */
.cm20-ir-join-intro{margin:0 0 22px;border:1px solid #bfdbc9;background:#eef5f0;border-radius:18px;padding:18px 22px;display:grid;gap:7px;color:#174535;line-height:1.7}
.cm20-ir-join-intro strong{font-size:19px;line-height:1.4;color:#123d2c}.cm20-ir-join-intro span{font-size:15px;color:#315b45;word-break:keep-all}
@media(max-width:530px){.cm20-ir-join-intro{padding:15px}.cm20-ir-join-intro strong{font-size:18px}.cm20-ir-join-intro span{font-size:14px}}

.cm20-ir-tags-info{font-size:15px;color:#174f3b;line-height:1.7;margin:9px 0;font-weight:650}
.cm20-ir-tags-info strong{color:#a65418;font-weight:850}
.cm20-ir-live-tags{display:flex;flex-wrap:wrap;gap:8px;padding:15px 16px;border:1px solid #cfdfd4;background:#f3f8f3;border-radius:14px;min-height:56px;align-items:center;margin:12px 0;color:#5a7262;font-size:14px}
.cm20-ir-live-tags b{background:#1d5945;color:#fff;padding:7px 12px;border-radius:50px;font-size:14px;font-weight:800;line-height:1.3;word-break:break-word}
.cm20-ir-live-tags>span{font-size:13px}

/* Photo requirement follows the selected signup method: self=required, delegated=optional. */
.cm20-ir-photo-policy{display:grid;gap:7px;margin:0 0 15px;padding:19px 22px;border-radius:16px;border:2px solid;line-height:1.65;word-break:keep-all}
.cm20-ir-photo-policy strong{display:block;font-size:clamp(19px,2vw,24px);font-weight:900;line-height:1.45}
.cm20-ir-photo-policy span{display:block;font-size:clamp(14px,1.4vw,16px);font-weight:650;line-height:1.75}
.cm20-ir-photo-policy.is-required{border-color:#ca3b3b;background:#fff0f0;color:#922020;box-shadow:0 7px 20px rgba(170,33,33,.08)}
.cm20-ir-photo-policy.is-optional{border-color:#8dbda2;background:#eef8f1;color:#17533a}
.cm20-ir-photo-policy.is-required strong{color:#991b1b!important}
.cm20-ir-photo-policy.is-optional strong{color:#135238!important}
.cm20-ir-photo-row .cm20-ir-photo-mode{display:inline-block;margin-left:8px;font-size:14px;font-weight:900;color:#a31a1a}
.cm20-ir-photo-row:has(input:not(:required)) .cm20-ir-photo-mode{color:#176243}
.cm20-ir-photo-row .cm20-ir-photo-label small{line-height:1.65;color:#4b6756!important;font-size:14px}
.cm20-ir-photo-row .cm20-ir-photo-label input[type=file]{min-height:48px;max-width:100%}
@media(max-width:600px){.cm20-ir-photo-policy{padding:14px 15px}.cm20-ir-photo-row{flex-wrap:wrap}.cm20-ir-photo-row .cm20-ir-photo-label{flex:1 1 190px}}

/* Shared lecture-photo gallery at registration. Separate from mode-dependent portrait requirement. */
.cm20-ir .cm20-sg-upload{margin:20px 0 5px;padding:clamp(17px,2.4vw,26px);border:2px solid #bfd5c6;border-radius:20px;background:linear-gradient(135deg,#f2f8f3,#fff);box-shadow:0 10px 30px rgba(21,71,48,.06)}
.cm20-sg-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}
.cm20-sg-icon{flex:0 0 44px;min-height:44px;display:grid;place-items:center;background:#e1eee6;color:#124936;font-size:22px;border-radius:13px}
.cm20-ir .cm20-sg-head h3{font-size:clamp(19px,2vw,24px);color:#143e2f;margin:0 0 8px;line-height:1.4;letter-spacing:-.03em}
.cm20-sg-head p{font-size:15px;color:#3d5e4d;line-height:1.8;margin:0}.cm20-sg-head p strong{color:#126044}
.cm20-sg-optional{display:inline-block;vertical-align:middle;border-radius:999px;border:1px solid #86b5a0;padding:5px 10px;margin-left:6px;background:#fff;color:#14573d;font-size:13px;font-weight:850;white-space:nowrap}
.cm20-sg-file-label{display:block;font-size:16px;font-weight:850;color:#183f32;margin-bottom:9px}
.cm20-ir .cm20-sg-upload input[type=file]{display:block;width:100%;max-width:100%;min-height:54px;border:1px solid #bdcfc0;border-radius:12px;background:#fff;padding:11px 12px;color:#203d30;font-size:15px}
.cm20-ir .cm20-sg-upload input[type=file]::file-selector-button{border:0;border-radius:9px;background:#164a36;color:#fff;font-weight:800;padding:8px 12px;margin-right:13px;cursor:pointer}
.cm20-sg-hint{color:#405c4e!important;font-size:14px!important;line-height:1.8;margin:11px 0}
.cm20-sg-count{font-size:15px;color:#184736;font-weight:850;margin-top:10px}
.cm20-sg-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}.cm20-sg-preview:empty{display:none}
.cm20-sg-preview img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #ccdbcf;border-radius:11px}
@media(max-width:670px){.cm20-sg-head{gap:11px}.cm20-sg-preview{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:410px){.cm20-sg-optional{display:block;width:max-content;margin:6px 0 0}.cm20-sg-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}
