/* Existing SEOA palette; the weekly timeline and quest rows carry the daily workflow. */
.missions-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.missions-main,.missions-rail{min-width:0}.missions-rail{display:grid;gap:20px}.mission-date{color:var(--muted);font-size:12px;white-space:nowrap}.daily-attendance{padding:20px;background:var(--surface);margin-bottom:20px}.mission-gate{display:flex;align-items:flex-start;gap:20px;padding:15px 18px;background:#faf6e9;border:1px solid #e6dbba;border-radius:10px;margin-bottom:20px;color:#735b27}.mission-gate h3{font-size:13px;margin-bottom:6px}.mission-gate p{font-size:11px;line-height:1.8;color:#735b27;max-width:80ch}.mission-gate p+p{margin-top:5px}.mission-gate>strong{font-size:15px;white-space:nowrap;margin-left:auto}.mission-gate.eligible{background:#f0f6ef;border-color:#d4e4d0;color:#41663a}.mission-gate.eligible p{color:#41663a}.attendance-week-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;align-items:center}.attendance-summary{border-right:1px solid var(--line);padding-right:20px}.attendance-summary h2{font-size:15px}.attendance-streak{display:block;font:650 38px/1.25 Outfit,sans-serif;color:var(--brand);margin:5px 0}.attendance-streak span{font:500 13px 'Noto Sans KR',sans-serif;margin-left:5px}.attendance-summary p{font-size:11px;margin-bottom:13px}.attendance-summary p b{color:var(--brand)}.attendance-summary .mission-button{width:100%;font-size:11px;padding:10px 5px}.attendance-history-link{padding:9px 0 0;background:transparent;color:var(--brand);font-size:11px;text-decoration:underline;text-underline-offset:3px;min-height:34px}.mission-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;position:relative}.mission-week:before{content:'';position:absolute;top:49px;left:6%;right:6%;height:2px;background:var(--line)}.mission-week-day{display:flex;align-items:center;flex-direction:column;position:relative;min-width:0;font-size:11px}.mission-week-day>span{color:var(--muted);height:29px;white-space:nowrap}.mission-week-day small{font-size:9px;color:var(--brand)}.mission-week-day>b{display:grid;place-items:center;background:#fff;border:1.5px solid #d9d0e5;border-radius:50%;width:40px;height:40px;font-size:10px;font-weight:600;color:var(--muted);margin-bottom:8px}.mission-week-day.today>b{border:2px dashed var(--brand);background:#f6f2fc}.mission-week-day.paid>b{background:var(--brand);border-color:var(--brand);color:white}.mission-week-day.pending>b{background:#faf4e2;border-color:#b98c33;color:#795b20}.mission-week-day.weekend>b{background:var(--paper);color:#8a8295}.mission-week-day time{font-family:Outfit,sans-serif;font-size:12px}.mission-week-day>strong{font-size:10px;font-weight:600;color:var(--brand);white-space:nowrap;margin-top:2px}.mission-week-day.weekend>strong{color:var(--muted)}.attendance-footnote{font-size:10px;margin-top:17px;color:var(--muted)}
.mission-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:38px;border:1px solid var(--brand);border-radius:8px;background:var(--brand);color:#fff;font-weight:600;font-size:12px;padding:9px 14px;white-space:nowrap}.mission-button.secondary{background:#faf8fd;color:#65499a;border-color:#dcd1eb}.mission-button.secondary:hover:not(:disabled){background:var(--tint)}.mission-button:disabled{opacity:1;color:#8b8494;background:#f5f3f7;border-color:var(--line)}.mission-action-complete{display:block;text-align:center;color:var(--brand);font-size:12px}.mission-quests,.mission-wallet,.mission-sequence{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}.quest-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:15px 18px}.quest-heading h2{font-size:16px}.mission-filters{display:flex;gap:4px}.mission-filters button{min-height:36px;padding:7px 12px;border-radius:7px;color:var(--muted);background:transparent;font-size:12px;white-space:nowrap}.mission-filters button[aria-pressed=true]{background:var(--tint);color:var(--brand);font-weight:650}.mission-filters span{font-family:Outfit,sans-serif;margin-left:3px}.quest-completion{font-size:11px;margin-left:auto;white-space:nowrap;color:var(--muted)}.quest-completion strong{font:650 21px Outfit,sans-serif;color:var(--brand);margin-left:4px}.quest-policy{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 18px;font-size:10px;background:#fcfbfd;line-height:1.8;color:#796746}.quest-list{padding:0 18px}.quest-row{display:grid;grid-template-columns:34px minmax(150px,1fr) minmax(85px,140px) 58px 94px;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);min-width:0}.quest-row:last-child{border-bottom:0}.quest-copy{min-width:0}.quest-copy h3{font-size:13px;line-height:1.5}.quest-copy p{font-size:10px;line-height:1.7;margin-top:4px;overflow-wrap:anywhere}.quest-copy p>span{display:inline-block;margin-right:5px;color:var(--brand);font-weight:550}.quest-copy .quest-condition{color:#716879}.quest-progress{display:flex;gap:7px;align-items:center}.quest-progress progress{width:100%;min-width:20px;height:4px}.quest-progress span{font:12px Outfit,sans-serif;white-space:nowrap;color:var(--muted)}.missions-layout progress{border:0;border-radius:5px;overflow:hidden;appearance:none;color:var(--brand);background:var(--line)}.missions-layout progress::-webkit-progress-bar{background:var(--line)}.missions-layout progress::-webkit-progress-value{background:var(--brand)}.missions-layout progress::-moz-progress-bar{background:var(--brand)}.quest-reward{text-align:right;font:600 17px Outfit,sans-serif;color:var(--brand);white-space:nowrap}.quest-reward span{font-size:11px;margin-left:3px}.quest-row>.mission-button,.quest-row>form>.mission-button{width:100%;font-size:11px;padding:9px 5px}.quest-row form{margin:0}.quest-row.is-complete .quest-copy h3{color:var(--muted)}.quest-footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:13px 18px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.quest-footer a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.mission-program-summary{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;padding:14px 3px;color:var(--muted)}.mission-program-summary strong{color:var(--ink);overflow-wrap:anywhere}.mission-program-summary>span{margin-left:auto}.mission-result{padding:13px 18px;border-radius:10px;background:var(--tint);color:#5c408b;margin-bottom:20px;font-size:13px}.mission-empty{padding:28px 15px;text-align:center;font-size:12px}
.mission-wallet{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:14px;padding:22px}.mission-wallet h2,.mission-sequence h2{font-size:17px;margin-bottom:15px}.mission-wallet div>strong{display:block;font:600 34px/1.2 Outfit,sans-serif;color:var(--brand);overflow-wrap:anywhere}.mission-wallet strong>span{font-size:16px}.mission-wallet p{font-size:11px;margin-top:6px}.mission-wallet nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;grid-column:1/-1;margin-top:4px}.mission-wallet nav a{border:1px solid #dcd1eb;border-radius:8px;text-align:center;padding:11px 5px;font-size:12px;color:var(--brand)}.mission-wallet nav a:hover{background:var(--tint)}.mission-sequence{padding:22px}.sequence-position{font-size:11px;color:var(--brand);font-weight:600}.sequence-description h3{font-size:16px;margin-top:8px}.sequence-description p{font-size:11px;line-height:1.8;margin-top:7px}.sequence-description>strong{display:block;margin-top:22px;font:650 26px Outfit,sans-serif;color:var(--brand)}.sequence-description>strong span{font-size:15px;margin-left:3px}.sequence-steps{padding:0;margin:18px -4px 10px;list-style:none;display:flex;justify-content:space-between;gap:2px}.sequence-steps li{flex:1;min-width:0;display:flex;justify-content:center}.sequence-steps button{min-width:27px;height:32px;border:1px solid var(--line);border-radius:50%;font:12px Outfit,sans-serif;background:#fff;color:var(--muted);padding:0 4px}.sequence-steps button[aria-pressed=true]{color:var(--brand);border-color:var(--brand);background:var(--tint)}.sequence-steps button.complete{background:var(--brand);color:white;border-color:var(--brand)}.mission-sequence>progress{display:block;width:100%;height:6px}.sequence-total{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin:7px 0 15px}.mission-sequence>.mission-button,.mission-sequence>form>.mission-button{width:100%}.sequence-note{font-size:10px;margin-top:14px;line-height:1.8}.missions-rail .panel{margin:0;padding:22px}.missions-rail .youtube-connection h2{font-size:15px}.missions-rail .youtube-connection .section-heading{gap:8px;flex-wrap:wrap;margin-bottom:11px}.missions-rail .youtube-connection>p{font-size:11px}.missions-rail .youtube-actions{margin-top:14px;gap:6px}.missions-rail .youtube-actions button{font-size:11px;padding:9px 12px;min-height:36px}.missions-rail .youtube-profile{margin:14px 0 8px;gap:10px}.missions-rail .youtube-profile strong{font-size:12px}.missions-rail .youtube-mark{width:24px;height:18px;flex-basis:24px}.mission-program-form{margin-top:20px}.mission-program-form label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.mission-program-form input{width:100%;height:44px;border:1px solid #d5cade;border-radius:8px;padding:8px 12px;color:var(--ink);background:white;font-size:16px;caret-color:var(--brand)}.mission-program-form p{font-size:12px;line-height:1.8;margin-top:8px}.mission-program-form>button{margin-top:20px;width:100%}
.attendance-history-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;padding-bottom:18px;border-bottom:1px solid var(--line);color:var(--muted)}.attendance-history-summary strong{display:block;color:var(--brand);font:600 23px Outfit,sans-serif;margin-top:5px}.attendance-month-control{display:flex;align-items:center;justify-content:space-between;margin:18px 0}.attendance-month-control h3{font-size:17px}.attendance-month-control button{width:36px;height:36px;display:grid;place-items:center;background:var(--paper);border-radius:7px}.attendance-month-control svg{width:18px;height:18px;fill:none;stroke:var(--brand);stroke-width:1.7}.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{font-size:11px;color:var(--muted);text-align:center;margin-bottom:8px}.calendar-day{min-height:60px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:8px;border:1px solid transparent;margin-top:4px;background:#faf9fc}.calendar-day time{font:500 14px Outfit,sans-serif}.calendar-day span{font-size:9px;min-height:15px;margin-top:3px;color:var(--muted)}.calendar-day.paid{background:var(--tint);color:var(--brand)}.calendar-day.paid span{color:var(--brand)}.calendar-day.pending{background:#faf3df;color:#7b5d20}.calendar-day.pending span{color:#7b5d20}.calendar-day.missed,.calendar-day.unpaid{background:#f6f2f0;color:#8b6d61}.calendar-day.weekend{background:#f0edf3;color:#8b8394}.calendar-day.today{border-color:var(--brand)}.calendar-day.outside{opacity:.42}.calendar-day.future,.calendar-day.unavailable{color:#aaa2b5;background:transparent}.attendance-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:17px;font-size:10px;color:var(--muted)}.attendance-legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;background:var(--line)}.attendance-legend .paid:before{background:var(--brand)}.attendance-legend .pending:before{background:#c7a356}.attendance-legend .missed:before{background:#baa599}.attendance-legend .weekend:before{background:#aaa0b4}.attendance-calendar-note{font-size:11px;line-height:1.8;margin-top:15px}
@media(min-width:1500px){.missions-layout{grid-template-columns:minmax(0,1fr) 330px}.quest-row{grid-template-columns:34px minmax(180px,1fr) minmax(90px,150px) 60px 100px}}
@media(max-width:1250px){.missions-layout{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.attendance-week-layout{grid-template-columns:1fr;gap:16px}.attendance-summary{border:0;padding:0;display:grid;grid-template-columns:1fr auto;column-gap:15px}.attendance-summary h2,.attendance-summary>p{grid-column:1}.attendance-streak{grid-column:1;grid-row:2;font-size:30px}.attendance-summary>form,.attendance-summary>.mission-button{grid-column:2;grid-row:1/3;align-self:center}.attendance-summary>.attendance-history-link{grid-column:2;grid-row:3;justify-self:end}.attendance-summary>p{margin-bottom:0}.quest-row{grid-template-columns:30px minmax(0,1fr) 55px 82px;gap:9px;padding:15px 0}.quest-row>.brand-icon{width:30px;height:30px}.quest-progress{grid-column:2;grid-row:2}.quest-copy{grid-column:2}.quest-reward{grid-column:3;grid-row:1/3}.quest-row>form,.quest-row>.mission-button,.quest-row>.mission-action-complete{grid-column:4;grid-row:1/3}.quest-heading{gap:9px}.quest-heading h2{font-size:15px}.quest-completion{margin-left:auto}.mission-filters{order:3;width:100%}.missions-rail .panel,.mission-wallet,.mission-sequence{padding:18px}.mission-wallet{grid-template-columns:minmax(0,1fr) 65px}.mission-wallet>.brand-icon{width:65px;height:65px}.mission-wallet div>strong{font-size:30px}}
@media(max-width:1000px){.missions-layout{grid-template-columns:1fr}.missions-rail{grid-template-columns:1fr 1fr;gap:18px}.missions-rail>.youtube-connection{grid-column:1}.mission-wallet{grid-column:2;grid-row:1}.mission-sequence{grid-column:1/-1}.sequence-steps{max-width:440px}.attendance-week-layout{grid-template-columns:180px minmax(0,1fr)}.attendance-summary{display:block;border-right:1px solid var(--line);padding-right:16px}.attendance-summary>p{margin-bottom:12px}.quest-row{grid-template-columns:34px minmax(0,1fr) minmax(75px,130px) 55px 92px}.quest-progress{grid-column:3;grid-row:1}.quest-reward{grid-column:4;grid-row:1}.quest-row>form,.quest-row>.mission-button,.quest-row>.mission-action-complete{grid-column:5;grid-row:1}.quest-heading .mission-filters{order:0;width:auto}}
@media(max-width:720px){.mission-date{display:none}.daily-attendance{padding:16px}.mission-gate{padding:13px;display:block;margin-bottom:17px}.mission-gate>strong{display:block;font-size:13px;margin-top:9px}.mission-gate h3{font-size:12px}.mission-gate p{font-size:10px}.attendance-week-layout{grid-template-columns:1fr;gap:17px}.attendance-summary{border:0;padding:0;display:grid;grid-template-columns:1fr auto;column-gap:12px}.attendance-summary>p{font-size:10px;margin:0}.attendance-summary>form,.attendance-summary>.mission-button{grid-column:2;grid-row:1/3;align-self:center}.attendance-summary>.attendance-history-link{grid-column:2;grid-row:3;justify-self:end}.attendance-summary h2{font-size:14px}.attendance-streak{font-size:32px}.mission-week{gap:2px}.mission-week-day>b{width:34px;height:34px;font-size:9px}.mission-week:before{top:46px}.mission-week-day>strong{font-size:8px;letter-spacing:-.2px}.mission-week-day>span{font-size:10px}.mission-week-day small{font-size:8px}.mission-week-day time{font-size:11px}.attendance-footnote{font-size:9px;line-height:1.8}.quest-heading{padding:14px}.quest-heading .mission-filters{order:3;width:100%}.mission-filters button{flex:1;font-size:12px;min-height:40px}.quest-policy{padding:10px 14px;font-size:10px}.quest-list{padding:0 14px}.quest-row{grid-template-columns:28px minmax(0,1fr) 72px;gap:8px;padding:16px 0}.quest-copy{grid-column:2/4;grid-row:1}.quest-copy h3{font-size:13px}.quest-copy p{font-size:10px}.quest-progress{grid-column:2;grid-row:2}.quest-reward{grid-column:2;grid-row:3;justify-self:start;font-size:17px}.quest-row>form,.quest-row>.mission-button,.quest-row>.mission-action-complete{grid-column:3;grid-row:2/4}.quest-row>.brand-icon{width:28px;height:28px;align-self:start;margin-top:3px}.quest-row>.mission-button,.quest-row>form>.mission-button{font-size:11px;min-height:40px}.quest-footer{font-size:10px;gap:8px;padding:12px 14px}.missions-rail{grid-template-columns:1fr;gap:18px}.missions-rail>.youtube-connection,.mission-wallet,.mission-sequence{grid-column:1;grid-row:auto}.mission-wallet{grid-template-columns:minmax(0,1fr) 88px}.mission-wallet>.brand-icon{width:88px;height:88px}.mission-wallet div>strong{font-size:34px}.mission-sequence{padding:22px}.sequence-steps button{min-width:30px;height:34px}.mission-program-summary{font-size:10px;gap:5px}.mission-program-summary>span{width:100%;margin:0}.calendar-day{min-height:51px}.calendar-day span{font-size:8px}.calendar-weekdays,.calendar-week{gap:3px}.attendance-history-summary{font-size:11px}.attendance-history-summary strong{font-size:21px}.attendance-legend{font-size:9px;gap:10px}}
