/* ══ RESET ══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;-webkit-tap-highlight-color:transparent;}
body{font-family:'Noto Sans KR',sans-serif;background:#f8f9fa;color:#1a2535;
  display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

/* ══ 리플렛 기반 색상 시스템 ══ */
:root{
  --mint:     #00C4B4;   /* 밝은 민트틸 — W, a 상단 */
  --teal:     #00938A;   /* 진한 틸 — T, 나무줄기 */
  --teal-d:   #006B6B;   /* 더 진한 틸 */
  --gold:     #E8A020;   /* 골드앰버 — ch */
  --gold-l:   #FDF3E0;   /* 연한 골드 배경 */
  --lime:     #8CC31F;   /* 라임 — 나무가지 */
  --lime-l:   #F2F8E6;
  --navy:     #1a2535;   /* 본문 텍스트 */
  --sub:      #5a6e6e;
  --bg:       #f8f9fa;
  --card:     #ffffff;
  --border:   #e4eded;
  --sidebar-w: 248px;
  --header-h:  60px;
  --radius:   14px;
  --shadow:   0 2px 16px rgba(0,120,110,.08);
  --trans:    .2s ease;
}

/* ══ HEADER ══ */
.header{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:var(--header-h);
  background:#fff;
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;
  padding:0 16px;gap:10px;
  box-shadow:0 1px 8px rgba(0,100,100,.07);
}
.menu-btn{
  width:38px;height:38px;border-radius:8px;
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  flex-shrink:0;padding:5px 7px;
  transition:background var(--trans);
}
.menu-btn:hover{background:rgba(0,196,180,.1);}
.menu-btn span{display:block;height:2px;background:var(--teal);border-radius:2px;transition:all var(--trans);}
.menu-btn.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px);}
.menu-btn.open span:nth-child(2){opacity:0;}
.menu-btn.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px);}

.header-logo{display:flex;align-items:center;gap:10px;}
.header-logo-img{height:40px;width:auto;object-fit:contain;}
.header-logo-texts{line-height:1.25;}
.header-logo-name{
  display:block;font-size:1.1rem;font-weight:800;
  color:var(--teal-d);letter-spacing:-.02em;
}
.header-logo-sub{
  display:block;font-size:.72rem;color:var(--sub);
  font-weight:400;letter-spacing:.05em;margin-top:3px;
}

.header-right{margin-left:auto;display:flex;align-items:center;gap:6px;}
.notif-btn{
  width:36px;height:36px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.05rem;position:relative;
  transition:background var(--trans);color:var(--sub);
}
.notif-btn:hover{background:#e6f7f6;}
.notif-dot{
  position:absolute;top:7px;right:7px;
  width:7px;height:7px;border-radius:50%;
  background:var(--gold);border:1.5px solid #fff;
}

/* ══ OVERLAY ══ */
.overlay{
  display:none;position:fixed;inset:0;z-index:299;
  background:rgba(0,0,0,.35);backdrop-filter:blur(2px);
}
.overlay.open{display:block;}

/* ══ SIDEBAR ══ */
.sidebar{
  position:fixed;top:0;left:0;bottom:0;z-index:300;
  width:var(--sidebar-w);
  background:#fff;
  display:flex;flex-direction:column;
  transform:translateX(-100%);
  transition:transform var(--trans);
  box-shadow:4px 0 24px rgba(0,0,0,.1);
}
.sidebar.open{transform:translateX(0);}

.sidebar-head{
  background:linear-gradient(135deg, var(--teal-d) 0%, var(--teal) 100%);
  padding:16px 18px;
  display:flex;align-items:center;gap:12px;
  min-height:var(--header-h);
}
.sidebar-logo-img{height:38px;width:auto;object-fit:contain;filter:brightness(0) invert(1);}
.sidebar-logo-texts{line-height:1.3;}
.sidebar-logo-name{font-size:1rem;font-weight:800;color:#fff;letter-spacing:-.01em;line-height:1.3;}
.sidebar-logo-sub{font-size:.68rem;color:rgba(255,255,255,.75);margin-top:4px;line-height:1.4;}

.sidebar-scroll{flex:1;overflow-y:auto;padding:10px 0 20px;}
.sidebar-section{padding:14px 14px 4px;}
.sidebar-section-label{
  font-size:.65rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#aac4c4;margin-bottom:6px;
  padding:0 4px;
}
.nav-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:10px;margin-bottom:2px;
  font-size:1rem;font-weight:500;color:var(--sub);
  cursor:pointer;transition:all var(--trans);
}
.nav-item:hover{background:#f0faf9;color:var(--teal);}
.nav-item.active{background:#e6f7f6;color:var(--teal);font-weight:700;}
.nav-item.active .nav-item-icon{opacity:1;}
.nav-item-icon{font-size:.95rem;width:20px;text-align:center;flex-shrink:0;opacity:.75;}
.nav-badge{
  margin-left:auto;font-size:.63rem;font-weight:700;
  padding:2px 7px;border-radius:20px;
}
.nav-badge.teal{background:var(--mint);color:#fff;}
.nav-badge.gold{background:var(--gold);color:#fff;}

.sidebar-footer{
  padding:12px 18px;border-top:1px solid var(--border);
  font-size:.77rem;color:var(--sub);line-height:1.85;
  background:#f5f5f5;text-align:right;
}

/* ══ CHIP-SQ (사각형 탭 버튼) ══ */
.chip-sq{border-radius:10px !important;padding:8px 14px !important;}
.nav-sup{font-size:.68em;font-weight:400;opacity:.72;vertical-align:super;margin-left:3px;letter-spacing:-.01em;}

/* ══ MAIN ══ */
.main{
  margin-top:var(--header-h);
  flex:1;padding:20px 16px 88px;
  max-width:700px;
  margin-left:auto;margin-right:auto;
  width:100%;
}

/* ══ PAGE ══ */
.page{display:none;}
.page.active{display:block;}

/* ══ WELCOME CARD ══ */
.welcome-card{
  background:linear-gradient(135deg, var(--teal-d) 0%, var(--teal) 55%, var(--mint) 100%);
  border-radius:var(--radius);padding:24px 24px 20px;margin-bottom:18px;
  color:#fff;position:relative;overflow:hidden;
}

.welcome-eyebrow{
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.7);margin-bottom:8px;font-weight:500;
}
.welcome-title{font-size:1.35rem;font-weight:800;margin-bottom:5px;line-height:1.6;}
.welcome-desc{font-size:.82rem;color:rgba(255,255,255,.78);line-height:1.65;}
.welcome-date{
  margin-top:14px;font-size:.82rem;color:rgba(255,255,255,.6);
  display:flex;align-items:center;gap:5px;
}

/* ══ STATS ══ */
.stats-row{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:10px;margin-bottom:20px;
}
.stat-card{
  background:var(--card);border-radius:12px;
  padding:14px 10px;text-align:center;
  border:1px solid var(--border);box-shadow:var(--shadow);
}
.stat-num{font-size:1.55rem;font-weight:800;color:var(--teal);line-height:1;}
.stat-label{font-size:.7rem;color:var(--sub);margin-top:4px;line-height:1.3;}

/* ══ SECTION HEADER ══ */
.sec-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;margin-top:4px;
}
.sec-title{font-size:.9rem;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:6px;}
.sec-accent{color:var(--teal);}
.sec-more{font-size:.76rem;color:var(--teal);font-weight:600;cursor:pointer;}
.sec-more:hover{opacity:.7;}

/* ══ PROGRAM CARDS ══ */
.prog-list{display:flex;flex-direction:column;gap:8px;margin-bottom:22px;}
.prog-card{
  background:var(--card);border-radius:var(--radius);
  border:1.5px solid var(--border);
  padding:11px 14px;display:flex;gap:12px;align-items:center;
  box-shadow:0 4px 20px rgba(0,0,0,.05);cursor:pointer;
  transition:all var(--trans);
}
.prog-card:hover{border-color:var(--mint);transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,196,180,.13);}
.prog-card-icon{
  width:46px;height:46px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.prog-icon-circle img{width:40px;height:auto;}
.prog-icon-teal{background:#e6f7f6;font-size:1.3rem;}
.prog-icon-gold{background:var(--gold-l);font-size:1.3rem;}
.prog-icon-lime{background:var(--lime-l);font-size:1.3rem;}
.prog-icon-purple{background:#f2f0fd;font-size:1.3rem;}
.prog-card-body{flex:1;min-width:0;}
.prog-card-name{font-size:.9rem;font-weight:700;color:var(--navy);margin-bottom:2px;}
.prog-card-desc{font-size:.76rem;color:var(--sub);line-height:1.55;}
.prog-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;}
.prog-tag{
  font-size:.66rem;padding:2px 8px;border-radius:20px;
  background:#e6f7f6;color:var(--teal);font-weight:600;
}
.prog-tag.gold{background:var(--gold-l);color:#9a5f00;}
.prog-tag.lime{background:var(--lime-l);color:#4e720a;}
.prog-card-arrow{color:#ccc;font-size:1rem;flex-shrink:0;transition:all var(--trans);}
.prog-card:hover .prog-card-arrow{color:var(--mint);transform:translateX(3px);}

/* ══ NOTICE ══ */
.notice-list{
  background:var(--card);border-radius:var(--radius);
  border:1px solid var(--border);overflow:hidden;
  margin-bottom:22px;box-shadow:var(--shadow);
}
.notice-item{
  padding:13px 16px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:10px;cursor:pointer;
  transition:background var(--trans);
}
.notice-item:last-child{border-bottom:none;}
.notice-item:hover{background:#f6fafa;}
.notice-item.has-content{cursor:pointer;}
.notice-item.has-content:active{background:rgba(0,128,128,.08);}
.notice-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);flex-shrink:0;}
.notice-dot.new{background:var(--gold);}
.notice-text{flex:1;font-size:.82rem;color:var(--navy);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.notice-date{font-size:.7rem;color:var(--sub);flex-shrink:0;}

/* ══ BLOG CARD ══ */
.blog-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.blog-card{
  background:var(--card);border-radius:var(--radius);
  border:1px solid var(--border);padding:16px;
  cursor:pointer;box-shadow:var(--shadow);transition:all var(--trans);
}
.blog-card:hover{border-color:var(--mint);transform:translateY(-1px);}
.blog-meta{font-size:.7rem;color:var(--sub);margin-bottom:5px;display:flex;gap:8px;}
.blog-cat{color:var(--mint);font-weight:700;font-size:.85rem;}
.blog-title{font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:5px;line-height:1.45;}
.blog-excerpt{font-size:.76rem;color:var(--sub);line-height:1.65;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ══ SUBPAGE HEADER ══ */
.subpage-hero{
  border-radius:var(--radius);
  padding:22px 20px;margin-bottom:16px;
  border:1px solid var(--border);background:var(--card);
  box-shadow:var(--shadow);
  display:flex;align-items:center;gap:16px;
}
.subpage-hero-icon{
  width:56px;height:56px;border-radius:14px;
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:#f0faf9;
}
.subpage-hero-icon img{width:48px;height:auto;}
.subpage-hero-texts{}
.subpage-hero-name{font-size:1.05rem;font-weight:800;color:var(--teal-d);margin-bottom:3px;}
.subpage-hero-desc{font-size:.78rem;color:var(--sub);line-height:1.6;}

/* ══ LINK LIST ══ */
.link-list{
  background:var(--card);border-radius:var(--radius);
  border:1px solid var(--border);overflow:hidden;
  margin-bottom:16px;box-shadow:var(--shadow);
}
.link-item{
  padding:14px 16px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:12px;cursor:pointer;
  transition:background var(--trans);
}
.link-item:last-child{border-bottom:none;}
.link-item:hover{background:#f6fafa;}
.link-icon{
  width:38px;height:38px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:.95rem;background:#e6f7f6;
}
.link-icon.gold{background:var(--gold-l);}
.link-icon.lime{background:var(--lime-l);}
.link-body{flex:1;}
.link-name{font-size:.86rem;font-weight:600;color:var(--navy);}
.link-sub{font-size:.73rem;color:var(--sub);}
.link-arrow{color:#ccc;font-size:.9rem;}

/* ══ INFO CARD ══ */
.info-card{
  background:var(--card);border-radius:var(--radius);
  border:1px solid var(--border);padding:16px;
  margin-bottom:12px;box-shadow:var(--shadow);
}
.info-card-title{
  font-size:.82rem;font-weight:700;color:var(--teal-d);
  margin-bottom:12px;padding-bottom:8px;
  border-bottom:1px solid var(--border);
}
.info-row{display:flex;gap:10px;margin-bottom:8px;font-size:.8rem;}
.info-row:last-child{margin-bottom:0;}
.info-label{color:var(--sub);flex-shrink:0;width:62px;}
.info-value{color:var(--navy);font-weight:500;}

/* ══ CHIP TABS ══ */
.chip-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.chip{
  padding:6px 14px;border-radius:20px;font-size:.76rem;font-weight:600;
  border:1.5px solid var(--border);background:#fff;color:var(--sub);
  cursor:pointer;transition:all var(--trans);
}
.chip:hover{border-color:var(--mint);color:var(--teal);}
.chip.active{background:var(--mint);color:#fff;border-color:var(--mint);}

/* ══ FORM ══ */
.form-card{
  background:var(--card);border-radius:var(--radius);
  border:1px solid var(--border);padding:20px;
  box-shadow:var(--shadow);
}
.form-group{margin-bottom:14px;}
.form-label{font-size:.78rem;font-weight:700;color:var(--navy);margin-bottom:3px;display:block;}
.form-input,.form-select,.form-textarea{
  width:100%;padding:11px 13px;border-radius:9px;
  border:1.5px solid var(--border);background:#f8f9fa;
  font-family:inherit;font-size:.84rem;color:var(--navy);
  transition:border-color var(--trans);
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  outline:none;border-color:var(--mint);
}
.form-textarea{resize:vertical;min-height:96px;line-height:1.65;}
.form-submit{
  width:100%;padding:13px;border-radius:10px;
  background:linear-gradient(135deg,var(--teal) 0%,var(--mint) 100%);
  color:#fff;font-size:.9rem;font-weight:700;
  transition:all var(--trans);margin-top:4px;cursor:pointer;border:none;
}
.form-submit:hover{opacity:.9;transform:translateY(-1px);}

/* ══ FAQ ══ */
.faq-item{
  background:var(--card);border-radius:var(--radius);
  border:1px solid var(--border);margin-bottom:16px;overflow:hidden;
}
.faq-q{
  padding:14px 16px;font-size:.84rem;font-weight:600;color:var(--navy);
  display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;transition:background var(--trans);gap:12px;
}
.faq-q:hover{background:#f6fafa;}
.faq-arrow{color:var(--teal);transition:transform var(--trans);flex-shrink:0;display:flex;align-items:center;}
.faq-item.open .faq-arrow{transform:rotate(180deg);}
.faq-item.open .faq-q{color:var(--teal);}
.faq-a{
  display:none;padding:12px 16px 14px;
  font-size:.79rem;color:var(--sub);line-height:1.72;
  border-top:1px solid var(--border);
}
.faq-item.open .faq-a{display:block;}

/* ══ GOLD ACCENT BAR ══ */
.accent-bar{
  background:linear-gradient(135deg,var(--gold) 0%,#f5b740 100%);
  border-radius:var(--radius);padding:16px 20px;
  color:#fff;margin-bottom:16px;
  display:flex;align-items:center;gap:12px;
}
.accent-bar-icon{font-size:1.4rem;}
.accent-bar-text{font-size:.82rem;font-weight:600;line-height:1.55;}

/* ══ FLOATING CTA ══ */
.float-cta{
  position:fixed;bottom:22px;right:16px;z-index:100;
  background:var(--gold);color:#fff;
  padding:12px 22px;border-radius:50px;
  font-size:.84rem;font-weight:700;border:none;cursor:pointer;
  box-shadow:0 4px 18px rgba(232,160,32,.45);
  display:flex;align-items:center;gap:7px;
  transition:all var(--trans);
}
.float-cta:hover{background:#d08a10;transform:translateY(-2px);}

/* ══ APPLY MODAL (신청 바텀시트) ══ */
.apply-modal{
  display:none;position:fixed;inset:0;z-index:350;
  background:rgba(0,0,0,.45);
  align-items:flex-end;justify-content:center;
}
.apply-modal.open{display:flex;}
.apply-modal-box{
  background:#fff;border-radius:20px 20px 0 0;
  width:100%;max-width:560px;
  max-height:88vh;overflow-y:auto;
  padding:8px 20px 48px;
  animation:slideUpSheet .22s ease;
}
@keyframes slideUpSheet{from{transform:translateY(100%);}to{transform:translateY(0);}}
.apply-modal-handle{
  width:40px;height:4px;background:#dde3e3;border-radius:2px;
  margin:12px auto 20px;
}
.apply-modal-title{font-size:1.02rem;font-weight:800;color:var(--navy);margin-bottom:18px;
  display:flex;align-items:center;justify-content:space-between;}
.apply-modal-close{font-size:1.4rem;color:var(--sub);background:none;border:none;
  cursor:pointer;line-height:1;padding:4px;}

/* ══ FLOAT APPLY BTN ══ */
.float-apply{
  display:none;position:fixed;bottom:22px;left:50%;transform:translateX(-50%);
  z-index:100;background:var(--teal);color:#fff;
  padding:14px 40px;border-radius:50px;
  font-size:.9rem;font-weight:700;
  box-shadow:0 6px 24px rgba(0,147,138,.38);
  border:none;cursor:pointer;white-space:nowrap;
  transition:all .2s;
}
.float-apply.visible{display:block;}
.float-apply:hover{transform:translateX(-50%) translateY(-2px);box-shadow:0 8px 28px rgba(0,147,138,.45);}
@media(min-width:768px){.float-apply{left:calc(var(--sidebar-w)/2 + 50%);}}

/* ══ 상담 유형 카드 선택 인터랙션 ══ */
.type-select-card{cursor:pointer;transition:all var(--trans);user-select:none;}
.type-select-card:hover{border-color:rgba(0,196,180,.5)!important;}
.type-select-card.selected{
  border-color:var(--teal)!important;
  background:linear-gradient(135deg,#f0faf9 0%,#e6f7f6 100%)!important;
  box-shadow:0 0 0 3px rgba(0,196,180,.15),0 4px 20px rgba(0,0,0,.05)!important;
}
.type-select-card.selected .prog-card-name{color:var(--teal-d);}
.type-select-check{
  display:none;width:20px;height:20px;border-radius:50%;
  background:var(--teal);color:#fff;font-size:.7rem;flex-shrink:0;
  align-items:center;justify-content:center;
}
.type-select-card.selected .type-select-check{display:flex;}

/* ══ NAV ICON (solid brand color) ══ */
.nav-item-icon{font-size:.95rem;width:20px;text-align:center;flex-shrink:0;
  color:var(--teal);opacity:.8;display:flex;align-items:center;justify-content:center;}
.nav-item:hover .nav-item-icon,.nav-item.active .nav-item-icon{opacity:1;color:var(--teal);}

/* ══ TOAST ══ */
.toast{
  position:fixed;bottom:84px;left:50%;transform:translateX(-50%) translateY(16px);
  background:var(--teal-d);color:#fff;
  padding:10px 22px;border-radius:50px;font-size:.78rem;font-weight:500;
  opacity:0;transition:all .3s;z-index:500;white-space:nowrap;
  box-shadow:0 4px 16px rgba(0,100,100,.2);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ══ DIVIDER ══ */
.divider{height:1px;background:var(--border);margin:20px 0;}

/* ══ DESKTOP ══ */
@media(min-width:768px){
  .sidebar{transform:translateX(0) !important;box-shadow:none;border-right:1px solid var(--border);}
  .overlay{display:none !important;}
  .menu-btn{display:none;}
  .main{margin-left:var(--sidebar-w);}
  .float-cta{right:32px;bottom:32px;}
}
/* ══ ADMIN ══ */
.admin-badge{background:var(--navy);color:#fff;font-size:.63rem;font-weight:700;padding:3px 9px;border-radius:5px;letter-spacing:.04em;margin-right:4px;}
.admin-sidebar-nav{display:none;padding:10px 0 20px;}
.admin-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;margin-bottom:2px;font-size:1rem;font-weight:500;color:var(--sub);cursor:pointer;transition:all var(--trans);}
.admin-nav-item:hover{background:#f0faf9;color:var(--teal);}
.admin-nav-item.active{background:#e6f7f6;color:var(--teal);font-weight:700;}
.admin-nav-icon{width:20px;text-align:center;flex-shrink:0;opacity:.75;}
.admin-nav-item.active .admin-nav-icon,.admin-nav-item:hover .admin-nav-icon{opacity:1;}
.admin-nav-logout{color:#dc2626!important;}.admin-nav-logout:hover{background:#fee2e2!important;}
.admin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.admin-section-title{font-size:.95rem;font-weight:800;color:var(--navy);}
.admin-page{display:none;padding:16px 16px 40px;}
.admin-page.active{display:block;}
/* Admin list items */
.nadm-item{background:#f9fafb;border:1px solid var(--border);border-radius:12px;padding:13px 14px;margin-bottom:8px;}
.nadm-pin{font-size:.62rem;background:var(--teal);color:#fff;padding:2px 7px;border-radius:4px;display:inline-block;margin-bottom:5px;}
.nadm-title{font-size:.88rem;font-weight:600;color:var(--navy);line-height:1.4;}
.nadm-date{font-size:.71rem;color:var(--sub);margin-top:3px;}
.nadm-actions{display:flex;gap:6px;margin-top:9px;}
.btn-sm{font-size:.72rem;padding:5px 11px;border-radius:6px;border:none;cursor:pointer;font-weight:600;}
.btn-edit{background:#e6f7f6;color:var(--teal);}
.btn-del{background:#fee2e2;color:#dc2626;}
.btn-confirm{background:#d1fae5;color:#059669;}
.btn-primary{background:var(--teal);color:#fff;padding:12px 0;border-radius:10px;border:none;font-size:.9rem;font-weight:700;cursor:pointer;width:100%;}
.btn-outline{background:#fff;color:var(--teal);padding:12px 0;border-radius:10px;border:1.5px solid var(--teal);font-size:.9rem;font-weight:700;cursor:pointer;}
.badge-status{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:4px;color:#fff;}
.badge-pending{background:#f59e0b;}.badge-confirmed{background:var(--teal);}.badge-cancelled{background:#dc2626;}
/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:400;display:none;align-items:center;justify-content:center;padding:16px;}
.modal-overlay.open{display:flex;}
.modal-box{background:#fff;border-radius:18px;padding:22px 18px;width:100%;max-width:380px;max-height:88vh;overflow-y:auto;box-shadow:0 16px 48px rgba(0,0,0,.22);}
.modal-title{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:16px;}
.modal-actions{display:flex;gap:8px;margin-top:14px;}
.modal-actions .btn-outline{flex:none;padding:12px 20px;}
.modal-actions .btn-primary{flex:1;margin-top:0!important;}

