/* MATCHSIK v32 unified portal + small-group visual system
   Current main-page tone: deep navy, electric blue, white and restrained orange.
   This file intentionally overrides legacy deep-green portal/group rules. */
:root{
  --v32-navy:#071b36;
  --v32-navy-2:#102f5d;
  --v32-blue:#1769ff;
  --v32-blue-2:#4b8fff;
  --v32-orange:#ff7029;
  --v32-ink:#10244b;
  --v32-text:#3c5477;
  --v32-muted:#71839e;
  --v32-line:#dce6f4;
  --v32-soft:#f3f7fd;
  --v32-soft-blue:#edf4ff;
  --v32-white:#fff;
  --v32-shadow:0 18px 48px rgba(7,27,54,.08);
}

body[data-portal-page],body[data-group-page]{background:var(--v32-soft)!important;color:var(--v32-ink)!important}
body[data-portal-page] .topbar,
body[data-portal-page] .portal-topbar,
body[data-group-page] .g-header{background:rgba(7,27,54,.98)!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 8px 30px rgba(7,27,54,.12)!important;backdrop-filter:blur(18px)}
body[data-portal-page] .brand-copy b,body[data-portal-page] .brand-copy small,body[data-portal-page] .support,body[data-portal-page] .home-btn{color:#fff!important}
body[data-portal-page] .home-btn{background:#173a72!important;border-color:#2d4f7e!important}
body[data-portal-page] .brand img{filter:none!important}
body[data-portal-page] .hero{background:radial-gradient(circle at 88% 0,rgba(23,105,255,.34),transparent 34%),linear-gradient(122deg,#071b36 0%,#0f2f60 58%,#174a91 100%)!important;color:#fff!important;border-radius:22px!important;box-shadow:0 22px 58px rgba(7,27,54,.15)!important}
body[data-portal-page] .hero:before,body[data-portal-page] .hero:after{display:none!important}
body[data-portal-page] .hero .eyebrow{color:#84b8ff!important}
body[data-portal-page] .hero p{color:#c9d9f0!important}
body[data-portal-page] .security-pill{border-color:rgba(255,255,255,.16)!important;background:rgba(255,255,255,.08)!important}
body[data-portal-page] .security-pill i{background:#6da8ff!important;box-shadow:0 0 0 5px rgba(109,168,255,.13)!important}
body[data-portal-page] .card,body[data-portal-page] .section-card,body[data-portal-page] .student-header,body[data-portal-page] .payment-card{background:#fff!important;border-color:var(--v32-line)!important;border-radius:16px!important;box-shadow:var(--v32-shadow)!important}
body[data-portal-page] .student-header{background:linear-gradient(115deg,#fff,#f2f7ff)!important}
body[data-portal-page] .eyebrow{color:var(--v32-blue)!important}
body[data-portal-page] .privacy-badge,body[data-portal-page] .secure-tag{background:var(--v32-soft-blue)!important;color:#225fb8!important}
body[data-portal-page] .portal-tabs{top:78px!important;border-color:var(--v32-line)!important;background:rgba(255,255,255,.96)!important;border-radius:14px!important;box-shadow:0 8px 24px rgba(7,27,54,.07)!important}
body[data-portal-page] .tab{color:#57708f!important;border:0!important}
body[data-portal-page] .tab.active{background:var(--v32-blue)!important;color:#fff!important}
body[data-portal-page] .summary-card{border-color:var(--v32-line)!important;background:#fff!important;border-radius:14px!important}
body[data-portal-page] .summary-card.accent{background:linear-gradient(140deg,#071b36,#174883)!important;color:#fff!important}
body[data-portal-page] .summary-card.accent small,body[data-portal-page] .summary-card.accent em{color:#c9dcf7!important}
body[data-portal-page] .next-class{background:linear-gradient(135deg,#eef5ff,#fbfdff)!important;border-color:#d6e5fb!important}
body[data-portal-page] .date-box{color:var(--v32-blue)!important}
body[data-portal-page] .application-row,body[data-portal-page] .schedule-mobile article{border-color:var(--v32-line)!important;background:#fff!important}
body[data-portal-page] .application-row strong,body[data-portal-page] .payment-total strong{color:#174b93!important}
body[data-portal-page] .calendar-event.approved,body[data-portal-page] .calendar-event.confirmed,body[data-portal-page] .status-pill.approved,body[data-portal-page] .status-pill.confirmed{background:#eaf2ff!important;color:#185dba!important;border-color:#cfe0fb!important}
body[data-portal-page] .calendar-event.checking,body[data-portal-page] .status-pill.checking{background:#fff4e9!important;color:#9a541d!important;border-color:#f4d8c0!important}
body[data-portal-page] .account-box{background:linear-gradient(135deg,#081c3b,#0e3568)!important;color:#fff!important}
body[data-portal-page] .lookup-guide,body[data-portal-page] .privacy-note,body[data-portal-page] .payment-note{background:#edf4ff!important;color:#4e6788!important;border-color:#d8e5f8!important}
body[data-portal-page] .field label{color:#294d7c!important}
body[data-portal-page] .control:focus{border-color:#6da5ff!important;box-shadow:0 0 0 3px rgba(23,105,255,.10)!important}

/* Unified class-type label */
.v32-class-type{display:inline-flex;align-items:center;gap:6px;margin-bottom:7px;padding:5px 9px;border-radius:999px;background:#edf4ff;color:#1c60bd;font-size:10px;font-weight:900;letter-spacing:.02em}
.v32-class-type.group{background:#fff0e7;color:#b8521d}
.v32-group-panel{margin-top:18px;padding:22px;border:1px solid var(--v32-line);border-radius:16px;background:#fff;box-shadow:var(--v32-shadow)}
.v32-group-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.v32-group-panel-head h3{margin:0;font-size:22px;letter-spacing:-.04em}
.v32-group-panel-head p{margin:4px 0 0;color:var(--v32-muted);font-size:12px}
.v32-group-list{display:grid;gap:12px}
.v32-group-item{padding:17px;border:1px solid #dfe8f4;border-radius:14px;background:linear-gradient(120deg,#fff,#f8fbff)}
.v32-group-item-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.v32-group-item h4{margin:4px 0 5px;font-size:17px}
.v32-group-item p{margin:0;color:#657c9b;font-size:12px}
.v32-group-price{font-size:19px;font-weight:950;color:#173f78;white-space:nowrap}
.v32-group-session-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}
.v32-group-session{padding:9px;border-radius:10px;background:#eef5ff;color:#315b91;font-size:11px;font-weight:750}
.v32-group-notes{display:grid;gap:8px;margin-top:12px}
.v32-group-note{padding:11px 12px;border-left:3px solid var(--v32-blue);border-radius:8px;background:#f5f9ff;color:#4e6382;font-size:11px;white-space:pre-wrap}
.v32-group-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.v32-group-actions .btn{min-height:42px}
.v32-meeting-link{background:var(--v32-blue)!important;color:#fff!important;border-color:var(--v32-blue)!important}

/* Small-group public / manage pages */
body[data-group-page] .g-wrap{width:min(1180px,calc(100% - 36px));margin-top:28px}
body[data-group-page] .g-header{position:sticky;top:0;z-index:60;padding-top:14px;padding-bottom:14px}
body[data-group-page] .g-brand{font-size:22px;letter-spacing:-.04em}
body[data-group-page] .g-header nav a{color:#d9e7fb!important}
body[data-group-page] .g-header nav a:hover{color:#fff!important}
body[data-group-page] .g-hero{position:relative;overflow:hidden;min-height:360px;border-radius:22px!important;padding:48px!important;background:linear-gradient(90deg,rgba(4,19,42,.95),rgba(6,30,67,.68),rgba(10,46,94,.24)),url('/assets/exam-season/online-group.webp') 72% center/cover!important;box-shadow:0 24px 64px rgba(7,27,54,.16)!important}
body[data-group-page] .g-hero:after{content:"";position:absolute;right:-80px;top:-120px;width:360px;height:360px;border-radius:50%;background:rgba(23,105,255,.13)}
body[data-group-page] .g-hero>div{position:relative;z-index:1}
body[data-group-page] .g-kicker{color:#83b7ff!important}
body[data-group-page] .g-hero h1{max-width:680px;font-size:clamp(36px,5vw,60px)!important;line-height:1.12!important;margin:12px 0 18px!important}
body[data-group-page] .g-hero p{max-width:610px;color:#d1e1f8!important;font-size:15px;line-height:1.75}
body[data-group-page] .g-stat-grid{gap:12px;margin:18px 0 26px}
body[data-group-page] .g-stat-grid div{position:relative;overflow:hidden;padding:20px;border:1px solid var(--v32-line);border-radius:14px;background:#fff;box-shadow:0 8px 28px rgba(7,27,54,.055)}
body[data-group-page] .g-stat-grid b{font-size:28px;color:var(--v32-blue)!important;letter-spacing:-.04em}
body[data-group-page] .g-monthly{gap:14px}
body[data-group-page] .g-card{border:1px solid var(--v32-line)!important;border-radius:16px!important;padding:22px!important;background:#fff!important;box-shadow:0 10px 30px rgba(7,27,54,.055)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
@media(hover:hover){body[data-group-page] .g-card:hover{transform:translateY(-3px);border-color:#c4d8f5!important;box-shadow:0 18px 42px rgba(7,27,54,.09)!important}}
body[data-group-page] .g-card h2,body[data-group-page] .g-card h3{color:#10244b!important;letter-spacing:-.04em}
body[data-group-page] .g-price{font-size:30px!important;color:var(--v32-orange)!important;letter-spacing:-.035em}
body[data-group-page] .g-tag{background:#eaf2ff!important;color:#175ebc!important;border-radius:999px!important;padding:6px 10px!important}
body[data-group-page] .g-meta{color:#6b7f9b!important}
body[data-group-page] .g-detail{background:#edf4ff!important;color:#526c8e!important;border:1px solid #d9e5f7!important}
body[data-group-page] .g-sessions span{background:#eef5ff!important;color:#315b91!important;border:1px solid #d9e6f8!important;border-radius:8px!important}
body[data-group-page] .g-summary{background:#fff4ec!important;color:#82451f!important;border-left-color:var(--v32-orange)!important}
body[data-group-page] .g-btn{border-radius:10px!important;border-color:#cfddf1!important;color:#154f9d!important;font-weight:850!important}
body[data-group-page] .g-btn.primary{background:var(--v32-blue)!important;color:#fff!important;border-color:var(--v32-blue)!important}
body[data-group-page] .g-btn.orange{background:var(--v32-orange)!important;color:#fff!important;border-color:var(--v32-orange)!important;box-shadow:0 9px 20px rgba(255,112,41,.18)}
body[data-group-page] .g-form label{color:#2f4e76!important}
body[data-group-page] .g-form input,body[data-group-page] .g-form select,body[data-group-page] .g-form textarea{border-radius:10px!important;background:#fff!important;border-color:#cddbef!important}
body[data-group-page] dialog.g-dialog{border-radius:20px!important;box-shadow:0 34px 100px rgba(4,18,38,.27)!important}
body[data-group-page] .g-table th{background:#edf4ff!important;color:#315b91!important}
body[data-group-page] #cohorts>h2{font-size:30px;letter-spacing:-.05em;margin-bottom:15px}

/* Teacher detail media cleanup */
body.apply-standalone #teacherDetailBody .m2813-media-section{margin:16px 28px 0!important;padding:18px!important;border:1px solid #e0e8f2!important;border-radius:14px!important;background:#fbfdff!important}
body.apply-standalone #teacherDetailBody .m2813-media-label{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:12px!important;margin:0 0 12px!important;padding:0!important}
body.apply-standalone #teacherDetailBody .m2813-media-label small{color:#1767ff!important;font-size:9px!important;font-weight:900!important;letter-spacing:.13em!important;order:2}
body.apply-standalone #teacherDetailBody .m2813-media-label b{color:#173a67!important;font-size:15px!important;order:1}
body.apply-standalone #teacherDetailBody .m2813-media-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
body.apply-standalone #teacherDetailBody .m2813-media-grid img{display:block!important;width:100%!important;aspect-ratio:4/3!important;height:auto!important;object-fit:cover!important;border:1px solid #dfe8f2!important;border-radius:12px!important;background:#f3f7fc!important}
body.apply-standalone #teacherDetailBody .m2813-media-grid img:nth-child(n+5){display:none!important}

/* Stable Kakao icon asset — remove clip-path pseudo logo. */
body.apply-standalone #appPage [data-student-kakao-connect-now]::before{content:""!important;width:22px!important;height:19px!important;min-width:22px!important;margin-right:3px!important;border:0!important;border-radius:0!important;background-color:transparent!important;background-image:url('/icons/kakao-talk.svg')!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;clip-path:none!important}

/* Main page: keep group price and mobile navigation readable */
body[data-matchsik-build] .small-group-promo b{color:var(--v32-orange)}

@media(max-width:900px){
  body[data-portal-page] .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-portal-page] .overview-grid{grid-template-columns:1fr!important}
  .v32-group-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-group-page] .g-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body[data-portal-page] .topbar{min-height:62px!important;padding:9px 14px!important}
  body[data-portal-page] .brand img{width:38px!important;height:38px!important;flex-basis:38px!important}
  body[data-portal-page] .brand-copy b{font-size:16px!important}
  body[data-portal-page] .support{display:none!important}
  body[data-portal-page] .wrap{width:calc(100% - 20px)!important;margin-top:14px!important;margin-bottom:42px!important}
  body[data-portal-page] .hero{padding:23px 20px!important;border-radius:17px!important;margin-bottom:12px!important}
  body[data-portal-page] .hero h1{font-size:30px!important}
  body[data-portal-page] .hero p{font-size:13px!important}
  body[data-portal-page] .card{padding:18px!important}
  body[data-portal-page] .lookup-head{display:block!important}
  body[data-portal-page] .privacy-badge{display:inline-flex!important;margin-top:10px!important}
  body[data-portal-page] .lookup-grid{grid-template-columns:1fr!important;gap:10px!important}
  body[data-portal-page] .lookup-submit{width:100%!important;min-width:0!important;min-height:50px!important}
  body[data-portal-page] .portal-tabs{top:64px!important;gap:5px!important;padding:6px!important;margin-inline:-2px!important}
  body[data-portal-page] .tab{min-width:104px!important;padding:10px 11px!important;font-size:12px!important}
  body[data-portal-page] .summary-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  body[data-portal-page] .summary-card{padding:14px!important}
  body[data-portal-page] .summary-card strong{font-size:18px!important}
  body[data-portal-page] .section-card{padding:17px!important}
  body[data-portal-page] .section-head{display:block!important}
  body[data-portal-page] .next-meta{grid-template-columns:1fr!important}
  body[data-portal-page] .payment-grid{grid-template-columns:1fr 1fr!important}
  body[data-portal-page] .account-box{grid-template-columns:1fr!important}
  body[data-portal-page] .schedule-table-wrap{display:none!important}
  body[data-portal-page] .schedule-mobile{display:grid!important}
  .v32-group-panel{padding:16px!important}
  .v32-group-panel-head,.v32-group-item-top{display:block!important}
  .v32-group-price{display:block;margin-top:8px}
  .v32-group-session-grid{grid-template-columns:1fr 1fr}
  body[data-group-page] .g-header{padding:12px 14px!important;align-items:center!important}
  body[data-group-page] .g-brand{font-size:20px!important;white-space:nowrap}
  body[data-group-page] .g-header nav{max-width:72%!important;gap:7px!important;overflow-x:auto!important;flex-wrap:nowrap!important;justify-content:flex-start!important;padding-bottom:2px!important}
  body[data-group-page] .g-header nav a{white-space:nowrap!important;font-size:11px!important}
  body[data-group-page] .g-wrap{width:calc(100% - 20px)!important;margin:14px auto 44px!important}
  body[data-group-page] .g-hero{min-height:330px!important;padding:28px 20px!important;border-radius:17px!important;background-position:62% center!important}
  body[data-group-page] .g-hero h1{font-size:36px!important}
  body[data-group-page] .g-stat-grid{grid-template-columns:1fr!important;gap:8px!important}
  body[data-group-page] .g-stat-grid div{display:grid!important;grid-template-columns:110px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:13px 15px!important}
  body[data-group-page] .g-stat-grid b{font-size:21px!important}
  body[data-group-page] .g-grid,body[data-group-page] .g-monthly{grid-template-columns:1fr!important;gap:10px!important}
  body[data-group-page] .g-card{padding:17px!important}
  body[data-group-page] .g-price{font-size:26px!important}
  body[data-group-page] .g-actions{display:grid!important;grid-template-columns:1fr!important}
  body[data-group-page] .g-actions .g-btn{width:100%!important}
  body[data-group-page] dialog.g-dialog{width:calc(100% - 14px)!important;max-height:94dvh!important;padding:20px 16px calc(18px + env(safe-area-inset-bottom))!important;border-radius:18px!important}
  body[data-group-page] .g-form{grid-template-columns:1fr!important;gap:11px!important}
  body[data-group-page] .g-form input,body[data-group-page] .g-form select,body[data-group-page] .g-form textarea{font-size:16px!important;min-height:48px!important}
  body.apply-standalone #teacherDetailBody .m2813-media-section{margin:12px 16px 0!important;padding:14px!important}
  body.apply-standalone #teacherDetailBody .m2813-media-grid{gap:7px!important}
  body.apply-standalone #teacherDetailBody .m2813-media-grid img{border-radius:9px!important}
}
@media(max-width:430px){
  body[data-portal-page] .summary-grid{grid-template-columns:1fr!important}
  body[data-portal-page] .payment-grid{grid-template-columns:1fr!important}
  .v32-group-session-grid{grid-template-columns:1fr!important}
  body[data-group-page] .g-stat-grid div{grid-template-columns:92px minmax(0,1fr)!important}
  body[data-group-page] .g-hero h1{font-size:32px!important}
  body.apply-standalone #teacherDetailBody .m2813-media-label{display:block!important}
  body.apply-standalone #teacherDetailBody .m2813-media-label small{display:block!important;margin-top:3px!important}
}
