:root{--navy:#143b47;--deep:#102f39;--green:#168c71;--green-dark:#0d755d;--mint:#e8f5ef;--ink:#20323b;--muted:#667984;--line:#e3eae8;--bg:#f7f9f7;--warm:#f7f1e8;--shadow:0 14px 42px rgba(20,59,71,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Pretendard,'Apple SD Gothic Neo','Malgun Gothic',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#fff;line-height:1.55;word-break:keep-all}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}p,h1,h2,h3{margin-top:0}h1,h2,h3{line-height:1.35;letter-spacing:-.055em}h2{font-size:clamp(1.65rem,3vw,2.4rem)}h3{font-size:1.16rem}.container{width:min(1160px,calc(100% - 48px));margin:auto}.narrow{max-width:790px}.site-shell{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid #edf0ed;backdrop-filter:blur(14px)}.nav-wrap{height:79px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand-icon{width:43px;height:41px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;line-height:1.25}.brand-copy strong{font-size:18px;letter-spacing:-.055em;color:var(--navy)}.brand-copy small{font-size:11px;color:#8a9a9c;font-weight:650;letter-spacing:.055em;margin-top:5px}.main-nav{display:flex;align-items:center;gap:25px}.nav-item{font-size:14px;font-weight:700;color:#52656c;transition:color .2s}.nav-item:hover,.nav-item.active{color:var(--green)}.nav-user{font-size:12px;color:#70808a}.inline-form{display:inline;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid transparent;border-radius:10px;padding:13px 21px;font-weight:750;font-size:14px;transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{background:#c7d3d1;color:#fff;cursor:not-allowed}.button-small{padding:9px 15px;font-size:13px}.button-full{width:100%}.button-primary{color:#fff;background:var(--green)}.button-primary:hover{background:var(--green-dark);box-shadow:0 9px 25px rgba(22,140,113,.16)}.button-secondary{border-color:#d8e2df;background:#fff;color:var(--navy)}.button-secondary:hover{background:#f2f7f5}.button-quiet{border-color:#e4e9e7;background:#fff;color:var(--navy)}.button-white{background:#fff;color:var(--navy)}.button-white:hover{background:#f3faf6}.button-hero-outline{border-color:rgba(255,255,255,.37);color:#fff;background:rgba(255,255,255,.04)}.button-hero-outline:hover{background:rgba(255,255,255,.14)}.demo-strip{background:#fff8eb;border-bottom:1px solid #f1e4c9;padding:8px 0;font-size:11px;color:#815d24;text-align:center}.flash{padding:13px 17px;border-radius:11px;margin-top:18px;font-size:14px;font-weight:650;background:#eef5f1;color:#1b765b;border:1px solid #d2eadc}.flash-error{background:#fff2f0;border-color:#f4d5d0;color:#a83b32}.hero{overflow:hidden;position:relative;background:linear-gradient(120deg,#163f4c 0%,#103643 54%,#16444c 100%);color:#fff}.hero:before{content:"";position:absolute;width:760px;height:760px;right:-320px;top:-350px;border-radius:50%;background:radial-gradient(circle,rgba(53,151,138,.18),transparent 65%)}.hero-layout{min-height:572px;display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:45px;position:relative}.hero-copy{padding:80px 0}.eyebrow{display:flex;align-items:center;gap:11px;color:#b7e1d7;font-weight:800;font-size:11px;letter-spacing:.18em;margin-bottom:28px}.eyebrow-dot,.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#7cddb6}.hero h1{font-size:clamp(2.8rem,5vw,4.5rem);line-height:1.19;letter-spacing:-.068em;margin:0 0 22px}.hero h1 em{font-style:normal;color:#92dfbb}.hero-copy>p{font-size:15px;line-height:1.95;max-width:490px;color:#cadbdc;margin-bottom:31px}.hero-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.hero-footnote{margin-top:34px;color:#b4d1cd;font-size:12px;display:flex;align-items:center;gap:9px}.hero-visual{height:480px;position:relative}.visual-orbit{position:absolute;border:1px solid rgba(159,226,199,.13);border-radius:50%;width:420px;height:420px;top:32px;left:35px}.ring-two{width:300px;height:300px;top:94px;left:100px}.visual-card{position:absolute;background:#fff;border-radius:20px;box-shadow:0 35px 60px rgba(0,0,0,.16);color:var(--ink)}.card-main{width:344px;top:65px;left:74px;padding:25px;transform:rotate(-3deg)}.visual-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.mini-label{font-weight:800;font-size:17px}.circle-check{background:#e9f6ee;border-radius:50%;color:var(--green);display:grid;place-items:center;width:27px;height:27px;font-size:15px}.calendar-graphic{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;text-align:center}.calendar-graphic div{color:#9cadb0;font-size:11px}.calendar-graphic span{height:29px;display:grid;place-items:center;font-size:12px;color:#5f757d;border-radius:7px}.calendar-graphic .selected-date{background:var(--green);color:#fff;font-weight:800}.visual-times{display:flex;gap:8px;margin-top:22px}.visual-times span{border-radius:8px;padding:7px 13px;background:#f3f6f5;font-size:11px;font-weight:700}.visual-times .selected-time{background:#e3f6eb;color:#0b805c}.visual-floating{position:absolute;left:0;bottom:38px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.13);border-radius:14px;padding:15px 18px;display:flex;align-items:center;gap:12px;transform:rotate(3deg);color:var(--ink)}.float-symbol{display:grid;place-items:center;width:45px;height:45px;background:#e4f4ed;color:var(--green);border-radius:11px;font-size:26px}.visual-floating b{font-size:12px;display:block}.visual-floating small{font-size:10px;display:block;color:#78908f;margin-top:3px}.section{padding:82px 0}.overline,.form-eyebrow{color:var(--green);font-size:11px;font-weight:850;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:38px}.section-top h2{margin-bottom:0}.section-top h2 span,.steps-section h2 span{color:var(--green)}.section-top>p{max-width:310px;color:var(--muted);font-size:14px;line-height:1.85;margin-bottom:4px}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.program-card{border:1px solid #e6ebe7;border-radius:15px;background:#fff;padding:22px;min-height:342px;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s,border-color .2s}.program-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#bfd9ce}.program-card-header{display:flex;justify-content:space-between;align-items:center}.program-category{color:var(--green);background:#eaf5ee;font-size:11px;font-weight:800;border-radius:100px;padding:6px 10px}.arrow-circle{height:28px;width:28px;display:grid;place-items:center;border-radius:50%;border:1px solid #e1e8e4;color:#70858b}.program-illustration{height:100px;display:grid;place-items:center;font-size:62px;color:#90c8b1;text-shadow:0 5px 21px #d5f3e5}.program-card-1 .program-illustration{color:#f0bb8c;text-shadow:0 5px 21px #f9e3d2}.program-card-2 .program-illustration{color:#99bbd0;text-shadow:0 5px 21px #dcecf4}.program-card-3 .program-illustration{color:#c0abd2;text-shadow:0 5px 21px #ebdff3}.program-card h3{font-size:17px;margin-bottom:10px;line-height:1.35}.program-card p{color:#7b8b90;font-size:12px;line-height:1.8;flex:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.program-card-footer{margin-top:17px;padding-top:13px;border-top:1px solid #edf0ed;display:flex;justify-content:space-between;color:#85949b;font-size:11px}.steps-section{background:#f7faf8}.steps-section h2{margin-bottom:35px}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step-card{background:#fff;border-radius:16px;padding:27px;min-height:224px;border:1px solid #ebf0ed}.step-card-link{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.step-card-link:hover{border-color:#84aa9d;box-shadow:0 8px 24px rgba(12,70,54,.09);transform:translateY(-2px)}.step-card-link:focus-visible{outline:3px solid #276c58;outline-offset:4px}.step-card-link h3,.step-card-link p{color:inherit}.step-card-link p{color:#73888b}.step-index{color:#91aaa1;letter-spacing:.12em;font-size:12px;font-weight:850}.step-glyph{float:right;background:#eef7f1;color:var(--green);border-radius:50%;width:56px;height:56px;display:grid;place-items:center;font-size:25px}.step-card h3{margin-top:36px;margin-bottom:9px}.step-card p{font-size:13px;color:#73888b;line-height:1.8;margin-bottom:0}.cta-section{padding:50px 0}.cta-inner{background:var(--warm);padding:38px 44px;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:25px}.cta-inner h2{font-size:27px;margin:0}.site-footer{background:#f6f8f7;padding:38px 0 18px;border-top:1px solid #ecf0ed}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-brand{font-size:16px;font-weight:850;color:var(--navy)}.footer-brand span{color:var(--green)}.footer-grid p,.footer-links{font-size:12px;color:#829195;margin-top:9px}.footer-links{display:flex;gap:22px;flex-wrap:wrap;align-content:flex-start;max-width:530px}.footer-links a:hover{color:var(--green)}.footer-copy{border-top:1px solid #e3e9e5;padding-top:16px;margin-top:28px;color:#9ba8a9;font-size:11px}.inner-hero{background:#f3f8f5;padding:53px 0 48px}.inner-hero h1{font-size:34px;margin:0 0 8px;color:var(--navy)}.inner-hero p{margin:0;color:#647b81;font-size:14px}.back-link{display:inline-block;margin-bottom:20px;font-size:13px;font-weight:750;color:#5f8380}.booking-section{padding-top:44px}.booking-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:35px;align-items:start}.program-info-panel,.calendar-pane,.my-aside,.auth-card,.admin-panel{background:#fff;border:1px solid #e5ece8;border-radius:17px;box-shadow:0 3px 16px rgba(21,65,57,.025)}.program-info-panel{padding:28px;position:sticky;top:104px}.info-icon{height:84px;display:grid;place-items:center;background:#eff7f0;border-radius:14px;font-size:44px;color:#77b99a;margin-bottom:19px}.program-info-panel h2{font-size:19px;margin:18px 0 12px}.program-info-panel>p{font-size:13px;line-height:1.9;color:#6c8187}.info-facts{margin:24px 0;border-top:1px solid var(--line)}.info-facts>div{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);gap:10px;font-size:13px}.info-facts span{color:#8a9ca0}.info-facts strong{color:#35545b;text-align:right}.alert-note{border-radius:10px;background:#f2f7f3;color:#637b72;padding:14px 15px;font-size:12px;line-height:1.85}.calendar-pane{padding:32px}.section-inline-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.section-inline-heading h2,.section-inline-heading h3{margin-bottom:0}.section-inline-heading h2{font-size:22px}.step-marker{background:#edf6f0;border-radius:100px;padding:7px 12px;font-size:10px;color:#479178;font-weight:800;white-space:nowrap}.calendar-widget{border:1px solid var(--line);border-radius:15px;overflow:hidden}.calendar-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #edf1ee}.calendar-head strong{font-size:18px;color:var(--navy)}.calendar-nav{height:31px;width:31px;border:1px solid #e3e9e5;border-radius:8px;background:#fff;color:#47636a;font-size:23px;display:grid;place-items:center;line-height:1}.calendar-nav:disabled{opacity:.3;cursor:default}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;padding:13px 16px 7px;gap:5px;color:#879597;font-weight:700;font-size:12px}.weekdays span:first-child{color:#d08476}.weekdays span:last-child{color:#7b9abb}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:7px 16px 18px}.calendar-cell{min-height:59px;border-radius:10px;border:1px solid transparent;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:13px;color:#a4aeb1;position:relative}.calendar-cell.day-live{color:#294850;background:#f2f9f4;border-color:#e4f3e9;font-weight:750}.calendar-cell.day-live:hover{background:#e2f3e9;border-color:#89c4a9}.calendar-cell.day-selected{background:var(--green);border-color:var(--green);color:#fff;font-weight:850}.calendar-cell.day-selected:hover{background:var(--green-dark)}.calendar-cell .day-status{font-size:10px;font-weight:750;color:#9ba7a6}.calendar-cell.day-live .day-status{color:#5b9a75}.calendar-cell.day-selected .day-status{color:#e7fff0}.calendar-cell:disabled{cursor:default}.calendar-cell.day-outside{opacity:.15}.calendar-cell.today-ring:not(.day-selected){box-shadow:inset 0 0 0 1px #a2b9ad}.calendar-legend{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:12px 17px;border-top:1px solid #edf0ee;color:#8b9b9e;font-size:10px;flex-wrap:wrap}.legend-dot{display:inline-block;height:8px;width:8px;border-radius:50%;margin-right:5px}.available-dot{background:#75bb94}.selected-dot{background:var(--green)}.disabled-dot{background:#cdd7d2}.time-section{margin-top:27px;padding-bottom:26px;border-bottom:1px solid var(--line)}.time-section h3{margin-bottom:5px;font-size:16px}.muted{color:#829497;font-size:12px}.times-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.time-choice{border:1px solid #dce7e0;background:#fff;border-radius:10px;padding:13px 15px;min-width:125px;text-align:center;color:#46636b;font-size:13px;font-weight:750}.time-choice span{display:block;margin-top:4px;color:#92a59e;font-size:10px;font-weight:600}.time-choice.selected{color:#fff;background:var(--green);border-color:var(--green)}.time-choice.selected span{color:#e2fff3}.time-choice:disabled{background:#f3f4f3;color:#b2babb;cursor:default}.time-placeholder{width:100%;color:#9aa7a5;font-size:12px;background:#f8faf8;padding:17px;border:1px dashed #e1e8e3;border-radius:11px;text-align:center}.booking-form-wrap{margin-top:27px}.booking-form-wrap .section-inline-heading{margin-bottom:20px}.form-stack{display:flex;flex-direction:column;gap:17px}.form-stack label{display:flex;flex-direction:column;font-size:13px;font-weight:750;gap:8px;color:#3f5961}.form-stack input,.form-stack textarea,.form-stack select{min-height:46px;border:1px solid #dce5e3;border-radius:9px;padding:10px 13px;outline:none;background:#fff;color:#2f4852;min-width:0;width:100%}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:#59a487;box-shadow:0 0 0 3px #e4f5e9}.form-stack textarea{resize:vertical}.form-stack input::placeholder,.form-stack textarea::placeholder{color:#b1bdbc}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.selected-summary{padding:13px 15px;background:#eef6f1;color:#32785f;border-radius:10px;font-size:12px;font-weight:750}.small-note{color:#94a2a4;font-size:11px;line-height:1.8;margin:0}.notice-card{border:1px solid #dce9e0;padding:19px;border-radius:11px;background:#f4f9f6;color:#456b5c;font-size:13px;line-height:1.9;margin-bottom:21px}.notice-card a{color:var(--green-dark);font-weight:800;text-decoration:underline}.auth-section{background:linear-gradient(120deg,#f4f9f6,#fcfdfb);min-height:650px}.auth-wrap{display:grid;grid-template-columns:.9fr 1fr;align-items:center;gap:80px}.auth-side{position:relative;align-self:stretch;padding:65px 0;overflow:hidden}.auth-side h1{font-size:clamp(2.2rem,4vw,3.3rem);margin:20px 0}.auth-side h1 span{color:var(--green)}.auth-side p{color:#75888b;font-size:14px;line-height:1.9;max-width:380px}.auth-deco{font-size:230px;line-height:1;color:#d9ece0;transform:rotate(-13deg);position:absolute;bottom:-75px;left:50px}.auth-card{padding:36px;z-index:1}.auth-card h2{font-size:25px;margin:0 0 7px}.auth-card>.muted{margin-bottom:25px}.auth-bottom{font-size:12px;color:#7f9095;text-align:center;margin:20px 0 0}.auth-bottom a{font-weight:850;color:var(--green-dark)}.auth-card .small-note{margin-top:14px;text-align:center}.check-row{flex-direction:row!important;align-items:flex-start;gap:9px!important;font-weight:500!important;font-size:12px!important;line-height:1.6}.check-row input{width:16px;height:16px;min-height:0;accent-color:var(--green);margin-top:2px}.check-row a{color:var(--green-dark);font-weight:750;text-decoration:underline}.check-row em{color:#e05f51;font-style:normal}.page-title{font-size:30px}.content-paper{padding:34px;border-radius:15px;border:1px solid var(--line);font-size:14px;color:#52656d}.content-paper h2{font-size:17px;margin:27px 0 9px}.content-paper p{line-height:1.85}.my-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px;align-items:start}.page-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-section-title h2{font-size:24px;margin:0}.request-card{border:1px solid var(--line);border-radius:13px;padding:25px;margin-bottom:15px}.request-top{display:flex;align-items:center;justify-content:space-between}.request-top small{color:#99a8a8}.request-card h3{margin:13px 0}.request-data{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:#647f80}.request-note{background:#f6f9f7;color:#647b7b;border-radius:8px;padding:12px;font-size:12px;margin-top:16px}.request-card form{margin-top:16px}.text-danger{background:none;border:0;padding:0;color:#b35950;font-size:12px;font-weight:750}.my-aside{padding:25px;position:sticky;top:100px}.my-aside h3{font-size:17px;margin-bottom:24px}.timeline{position:relative}.timeline>div{display:flex;gap:14px;margin-bottom:26px}.timeline>div>span{flex:0 0 34px;height:34px;border-radius:50%;background:#e9f4eb;color:var(--green);font-weight:850;font-size:11px;display:grid;place-items:center}.timeline p{margin:0}.timeline strong{display:block;font-size:13px}.timeline small{font-size:11px;color:#9cadab}.my-aside .alert-note{margin-top:22px}.empty-state{text-align:center;border:1px dashed #d9e5de;border-radius:15px;padding:52px 24px;color:#7f9295}.empty-illustration{font-size:54px;color:#b6d5c0}.empty-state h3{color:var(--ink);margin:12px 0}.empty-state p{font-size:13px}.empty-state .button{margin-top:16px}.admin-top{background:#f2f8f4;padding:48px 0 0}.admin-top h1{font-size:30px;margin:0 0 8px}.admin-top p{color:#65817c;font-size:13px;margin-bottom:28px}.admin-tabs{display:flex;gap:5px;overflow-x:auto}.admin-tabs a{font-size:13px;font-weight:750;color:#68847c;padding:13px 18px;border-radius:9px 9px 0 0;white-space:nowrap}.admin-tabs a.active{background:#fff;color:var(--green-dark);box-shadow:0 -2px 10px rgba(17,53,37,.03)}.admin-content{background:#fbfcfb;min-height:530px;padding-top:43px}.admin-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.admin-stat{border:1px solid var(--line);border-radius:13px;background:#fff;padding:25px;display:flex;flex-direction:column;gap:8px}.admin-stat small{font-size:12px;color:#81918f;font-weight:700}.admin-stat strong{font-size:35px;color:var(--navy);letter-spacing:-.06em}.admin-stat strong em{font-style:normal;font-size:14px;margin-left:5px}.admin-stat span{color:var(--green);font-size:12px;font-weight:750}.admin-panel{padding:25px;margin-top:22px}.admin-panel h3{margin:0}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;min-width:650px}.data-table th{font-size:11px;color:#869998;text-transform:uppercase;font-weight:800;padding:14px 11px;background:#f6f9f7;border-bottom:1px solid var(--line)}.data-table td{padding:16px 11px;vertical-align:top;border-bottom:1px solid #eef1ef;color:#50676c;line-height:1.7}.data-table tr:last-child td{border-bottom:0}.status-pill{display:inline-block;border-radius:100px;padding:4px 10px;font-size:10px;font-weight:850;white-space:nowrap}.status-pending{color:#996829;background:#fdf0d9}.status-confirmed{color:#24795d;background:#e6f5e9}.status-rejected{color:#b75950;background:#ffedeb}.status-cancelled{color:#879497;background:#edf0ef}.admin-two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:26px;align-items:start}.admin-two-col h2{margin:0}.admin-two-col .admin-panel{margin-top:22px}.admin-two-col .admin-form{margin-top:0}.admin-form h3{margin-bottom:25px}.action-row{display:flex;gap:6px;margin-top:8px;align-items:center}.mini-button{background:#e8f4ed;border:1px solid #d2e9d9;border-radius:7px;padding:5px 9px;color:#247b5c;font-size:11px;font-weight:800}.mini-danger{background:#fff1ef;border-color:#fae1da;color:#a75a4f}.text-link{background:none;border:0;padding:0;color:var(--green-dark);font-size:12px;font-weight:800}.admin-note{max-width:240px;padding:8px;background:#f5f7f6;border-radius:6px;margin:7px 0 0}.admin-content .notice-card{margin-top:22px;margin-bottom:0}
@media(max-width:1020px){.hero-layout{grid-template-columns:1fr .8fr;gap:0}.hero-visual{transform:scale(.85);transform-origin:center left}.program-grid{grid-template-columns:repeat(2,1fr)}.booking-grid{grid-template-columns:270px minmax(0,1fr)}.admin-two-col{grid-template-columns:1fr}.main-nav{gap:14px}.nav-user{display:none}}
@media(max-width:740px){.container{width:min(100% - 30px,1160px)}.nav-wrap{height:auto;min-height:70px;flex-wrap:wrap;gap:9px;padding:12px 0}.brand-icon{height:34px;width:38px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:10px}.main-nav{width:100%;overflow-x:auto;justify-content:flex-start;padding-bottom:5px;gap:14px}.main-nav .nav-item{white-space:nowrap;font-size:12px}.hero-layout{grid-template-columns:1fr;min-height:0}.hero-copy{padding:60px 0 44px}.hero h1{font-size:43px}.hero-visual{height:315px;transform:scale(.66);transform-origin:top left;margin-left:0}.card-main{top:10px}.visual-floating{bottom:40px}.section{padding:57px 0}.section-top{align-items:start;flex-direction:column;gap:18px}.program-grid{grid-template-columns:1fr}.program-card{min-height:280px}.program-illustration{height:80px}.step-grid,.booking-grid,.my-layout,.auth-wrap,.admin-stat-grid{grid-template-columns:1fr}.steps-section h2{margin-bottom:25px}.program-info-panel,.my-aside{position:static}.calendar-pane{padding:20px}.calendar-days{padding:5px 9px 13px;gap:2px}.calendar-cell{min-height:47px;font-size:12px}.calendar-cell .day-count{font-size:8px}.weekdays{padding:12px 9px 6px}.calendar-legend{justify-content:center;gap:10px;font-size:9px}.auth-section{padding-top:20px}.auth-side{padding:20px 0 0}.auth-side h1{font-size:27px;margin:10px 0}.auth-deco{display:none}.auth-card{padding:25px}.cta-inner{align-items:flex-start;flex-direction:column;padding:30px}.cta-inner h2{font-size:22px}.footer-grid{flex-direction:column}.footer-links{gap:12px}.admin-tabs a{font-size:12px;padding:12px}.admin-panel{padding:14px}.admin-top{padding-top:32px}.input-row{grid-template-columns:1fr}.inner-hero{padding:32px 0}.inner-hero h1{font-size:27px}}

/* v0.2: searchable 45-item catalog and default-open reservation controls */
.program-filters { display:grid;grid-template-columns: minmax(200px,2fr) minmax(160px,1fr) minmax(160px,1fr);gap:14px;align-items:end;margin:25px 0 10px; }
.program-filters label { font-weight:650;font-size:13px; }
.program-filters input,.program-filters select { display:block;width:100%;margin-top:8px;min-height:46px;border:1px solid #d9e1e8;border-radius:11px;padding:10px;background:white;color:#263e4d; }
.program-card[hidden] {display:none !important;}
.weekday-checks {display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;margin-bottom:12px;}
.weekday-checks label {display:inline-flex;gap:5px;align-items:center;font-weight:600;}
.checkbox-row {display:flex !important;flex-direction:row !important;gap:9px;align-items:center;}
.checkbox-row input {width:auto !important;margin:0 !important;}
.dept-form {display:flex;gap:6px;align-items:center;}
.dept-form select {max-width:125px;min-width:100px;padding:6px;border-radius:7px;background:#fff;border:1px solid #d9e1e8;}
@media (max-width: 850px) { .program-filters {grid-template-columns:1fr;} }

/* v0.2: two-level booking catalog and 6 custom illustrated category icons */
.program-top-level{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0 25px}
.program-type-tile{position:relative;display:flex;flex-direction:column;text-align:left;align-items:flex-start;min-height:155px;padding:24px 27px;border:2px solid #e1ece9;background:linear-gradient(130deg,#f8fcfb,#fff);border-radius:18px;color:#163d42;transition:.2s;gap:5px}
.program-type-tile:hover{border-color:#72baa6;transform:translateY(-2px)}
.program-type-tile.is-selected{border-color:#1e8d78;box-shadow:0 10px 30px rgba(31,133,113,.09);background:#eef8f4}
.program-type-tile strong{font-size:clamp(19px,2.3vw,26px);letter-spacing:-.055em}
.program-type-tile small{color:#597b77;font-size:12px}.type-number{font-size:11px;letter-spacing:.05em;font-weight:750;color:#388b80}
.type-total{margin-top:auto;font-size:12px;color:#116e60;font-weight:800;padding-top:12px}
.type-tile-improvement{background:linear-gradient(130deg,#fffaf4,#fff)}
.health-category-panel{margin-top:22px;padding:20px 22px 24px;background:#f7faf9;border:1px solid #e4eeeb;border-radius:18px}
.health-category-panel[hidden]{display:none}.subgroup-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:19px}
.subgroup-heading h3{margin:2px 0 0;font-size:22px}.subgroup-heading p{font-size:12px;color:#648078;margin:0}
.program-subcategory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.program-subcategory{min-height:132px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;border:1px solid #e0e8e5;background:#fff;border-radius:13px;color:#244d51;transition:.18s}
.program-subcategory:hover{transform:translateY(-2px);border-color:#8cbfb1}
.program-subcategory.is-selected{background:#e3f3ed;border:2px solid #218a75;padding:15px}
.subcategory-illustration{height:42px;width:42px;border-radius:12px;background:#e9f6f0;display:grid;place-items:center;margin-bottom:4px}
.subcategory-illustration img{height:31px;width:31px;object-fit:contain}
.program-subcategory strong{font-size:14px;font-weight:850;letter-spacing:-.025em}
.program-subcategory small{font-size:11px;color:#66827e}
.program-list-area[hidden]{display:none!important}.program-list-area:not([hidden]){margin-top:18px}.program-filters{grid-template-columns:minmax(220px,2fr) minmax(150px,1fr);margin:10px 0 20px}
.program-illustration img{width:75px;height:75px;object-fit:contain}.program-info-panel .info-icon img{width:47px;height:47px;object-fit:contain}
.empty-search{padding:35px;border:1px dashed #cbdcd5;border-radius:14px;color:#627a78;text-align:center}
.empty-search[hidden]{display:none}
@media(max-width:830px){.program-subcategory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subgroup-heading{align-items:start;flex-direction:column;gap:7px}}
@media(max-width:500px){.program-top-level{grid-template-columns:1fr}.program-type-tile{min-height:130px}.program-subcategory{padding:12px;min-height:128px}.program-subcategory strong{font-size:12px}.health-category-panel{padding:14px}}

/* Center admin accounts: responsive, accessible creation and maintenance controls. */
.account-create-panel{margin-bottom:22px}.account-create-panel h3{margin-bottom:7px}
.account-add-form{display:grid;gap:18px;margin-top:20px}
.admin-account-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.admin-account-fields label,.account-password-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--navy);font-weight:700}
.admin-account-fields input,.account-password-form input{width:100%;min-width:0;padding:11px 12px;border-radius:9px;border:1px solid #cedbd6;background:#fff;font-size:14px}
.admin-account-fields input:focus-visible,.account-password-form input:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.account-add-form>.button{justify-self:start}.account-table td{vertical-align:top}
.account-actions{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}.account-actions form{margin:0}
.account-password-details{position:relative}.account-password-details summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center}
.account-password-details summary::-webkit-details-marker{display:none}
.account-password-details[open] summary{margin-bottom:10px}
.account-password-form{display:grid;gap:8px;min-width:205px;padding:13px;border-radius:10px;background:#f2f7f5;border:1px solid #e0ebe6}
.account-password-form>.mini-button{justify-self:start}
@media(max-width:700px){.admin-account-fields{grid-template-columns:1fr}.account-actions{flex-direction:column}.account-password-form{min-width:180px}}

/* Homepage brochure PDF overlay — original site styles stay unchanged. */
.leaflet-dialog{width:min(1200px,calc(100% - 30px));height:min(92dvh,930px);max-width:none;max-height:calc(100dvh - 26px);margin:auto;padding:0;background:#fff;border:1px solid #dce9e5;border-radius:16px;box-shadow:0 24px 90px rgba(0,28,34,.32);overflow:hidden;color:var(--ink)}
.leaflet-dialog::backdrop{background:rgba(10,31,39,.76);backdrop-filter:blur(3px)}
.leaflet-dialog-inner{display:flex;flex-direction:column;height:100%;min-height:0}
.leaflet-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 20px;border-bottom:1px solid var(--line);background:#fff}
.leaflet-dialog-heading{min-width:0;display:flex;flex-direction:column;gap:3px}
.leaflet-dialog-heading strong{font-size:17px;color:var(--navy);line-height:1.4}
.leaflet-dialog-heading small{font-size:12px;color:var(--muted)}
.leaflet-dialog-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;font-size:13px;font-weight:700}
.leaflet-dialog-actions a{color:var(--green);padding:6px 4px}
.leaflet-dialog-actions a:hover{text-decoration:underline}
.leaflet-dialog-close{border:1px solid #dbe5e2;border-radius:9px;background:#f5f8f6;padding:8px 13px;color:var(--navy);font-size:13px;font-weight:750}
.leaflet-dialog-close:hover{background:#ebf5ef}
.leaflet-dialog-frame{display:block;flex:1;min-height:0;width:100%;border:0;background:#e9eeef}
.leaflet-dialog-fallback{flex:0 0 auto;margin:0;padding:7px 18px;border-top:1px solid var(--line);font-size:12px;text-align:center;color:var(--muted)}
.leaflet-dialog-fallback a{color:var(--green);font-weight:750;text-decoration:underline}
@media(max-width:680px){.leaflet-dialog{width:calc(100% - 14px);height:calc(100dvh - 14px);max-height:calc(100dvh - 14px);border-radius:12px}.leaflet-dialog-toolbar{padding:11px 12px;align-items:flex-start;flex-direction:column;gap:8px}.leaflet-dialog-heading strong{font-size:14px}.leaflet-dialog-heading small{font-size:10px}.leaflet-dialog-actions{width:100%;justify-content:space-between;gap:5px;font-size:11px}.leaflet-dialog-actions a{padding:4px}.leaflet-dialog-close{padding:6px 10px;font-size:11px}.leaflet-dialog-fallback{font-size:10px;padding:7px}}

/* Account-specific annual usage settings and SHE consultation guide */
.quota-admin-cell{min-width:340px}.quota-admin-form{display:flex;flex-direction:column;gap:7px}.quota-admin-form label{font-size:12px;font-weight:700}.quota-admin-form input{width:100%;min-width:70px;max-width:100%;border:1px solid var(--line);border-radius:7px;padding:8px}.quota-admin-form .input-row{gap:8px}.quota-admin-form .input-row>*{min-width:0}.she-quota-guide{padding:0}.she-quota-guide details{padding:18px 22px}.she-quota-guide summary{cursor:pointer}.she-quota-guide .table-scroll{margin:13px 0}.other-time-card{margin-top:25px}.other-time-card h3{color:var(--navy)}

/* Signed-in partner's application calendar: list remains visible below it. */
.my-request-calendar{margin:22px 0 26px}.my-calendar-title h3{margin:2px 0 8px}.my-calendar-title .small-note{margin-bottom:14px}
.my-calendar-widget{padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.my-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.my-calendar-toolbar strong{font-size:18px;color:var(--navy)}
.my-calendar-weekdays,.my-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;text-align:center}
.my-calendar-weekdays{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:8px}
.my-calendar-cell{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;min-height:65px;padding:8px 2px;border:1px solid transparent;border-radius:9px;background:#f6f8f7;color:var(--ink);font-size:13px}
.my-calendar-cell:disabled{opacity:.55;cursor:default}.my-calendar-cell.has-requests{border-color:#b6d9c9;background:#eaf7f0;font-weight:800}.my-calendar-cell.has-other{border-color:#bad4ec;background:#eef5ff}
.my-calendar-cell.has-improvement{border-color:#dfcfae;background:#fff8eb}.my-calendar-cell.is-today{box-shadow:inset 0 0 0 1px var(--green)}
.my-calendar-cell.is-selected{background:var(--navy);border-color:var(--navy);color:#fff}
.my-calendar-cell small{font-size:10px;line-height:1.35}.my-calendar-key{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0 12px;font-size:11px;color:var(--muted)}
.my-calendar-key>span{display:flex;align-items:center;gap:5px}.my-calendar-key-dot{width:9px;height:9px;border-radius:50%;background:#95cdb2}.my-calendar-key-dot.is-other{background:#b0c7eb}.my-calendar-key-dot.is-improvement{background:#dfc998}
.my-calendar-detail{padding:16px;border:1px solid var(--line);background:#fafcfb;border-radius:11px}.my-calendar-detail h4{font-size:14px;color:var(--navy);margin:0 0 10px}
.my-calendar-detail-list{display:grid;gap:8px}.my-calendar-detail-row{display:flex;flex-direction:column;gap:4px;background:#fff;padding:10px 12px;border-radius:8px;border-left:3px solid var(--green)}
.my-calendar-detail-row strong{font-size:13px;line-height:1.5}.my-calendar-detail-row small{font-size:12px;color:var(--muted)}
@media(max-width:620px){.my-calendar-widget{padding:12px 10px}.my-calendar-days,.my-calendar-weekdays{gap:3px}.my-calendar-cell{min-height:52px;font-size:12px;padding:6px 0}.my-calendar-cell small{font-size:9px}.my-calendar-key{gap:7px;font-size:10px}}

/* My Calendar: approval colors. Green follows the site's existing success palette. */
.my-calendar-cell.has-status-confirmed{background:#eaf7f0;border-color:#b6d9c9;color:#166a50}
.my-calendar-cell.has-status-rejected{background:#fff0f0;border-color:#eeb6b6;color:#9f2626}
.my-calendar-cell.has-status-pending{background:#fff7dc;border-color:#f1d482;color:#835d09}
.my-calendar-cell.has-status-cancelled{background:#f1f3f5;border-color:#d5dce0;color:#64747e}
.my-calendar-cell.has-mixed-status{background:#f5f8f7;border-color:#cad9d3;color:var(--navy)}
.my-calendar-cell.has-requests.is-selected{background:var(--navy);border-color:var(--navy);color:#fff}
.my-calendar-status-dots{display:flex;align-items:center;justify-content:center;gap:4px;min-height:9px}
.my-calendar-status-dot{display:block;width:8px;height:8px;border-radius:50%}
.my-calendar-status-dot.status-confirmed,.my-calendar-key-dot.is-confirmed{background:var(--green)}
.my-calendar-status-dot.status-pending,.my-calendar-key-dot.is-pending{background:#e3a81c}
.my-calendar-status-dot.status-rejected,.my-calendar-key-dot.is-rejected{background:#dd4545}
.my-calendar-status-dot.status-cancelled,.my-calendar-key-dot.is-cancelled{background:#9ba8af}
.my-calendar-cell.is-selected .my-calendar-status-dot{box-shadow:0 0 0 1px rgba(255,255,255,.88)}
.my-calendar-detail-row.status-confirmed{border-left-color:var(--green)}
.my-calendar-detail-row.status-pending{border-left-color:#e3a81c}
.my-calendar-detail-row.status-rejected{border-left-color:#dd4545}
.my-calendar-detail-row.status-cancelled{border-left-color:#9ba8af}
.my-calendar-detail-status{display:inline-flex;align-self:flex-start;border-radius:99px;padding:3px 9px;font-size:11px;font-weight:800}
.my-calendar-detail-status.status-confirmed{background:#e7f6ee;color:#147456}
.my-calendar-detail-status.status-pending{background:#fff4ca;color:#835d09}
.my-calendar-detail-status.status-rejected{background:#ffebeb;color:#a62525}
.my-calendar-detail-status.status-cancelled{background:#eef0f2;color:#626d75}
@media(max-width:620px){.my-calendar-status-dots{gap:2px}.my-calendar-status-dot{width:7px;height:7px}}

/* Signup password confirmation feedback; no changes to existing form layout. */
.signup-password-error{color:#b32626;font-weight:700}
.signup-password-success{color:#1b795b;font-weight:700}


/* Official organization and office contact information in the global footer. */
.site-footer{padding:48px 0 22px}
.footer-details{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3vw,52px);align-items:start}
.footer-org,.footer-office{min-width:0}
.footer-org-heading{font-size:19px;letter-spacing:-.045em;color:var(--navy);margin:0 0 18px}
.footer-info{display:grid;gap:8px;margin:0}
.footer-info>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;font-size:12px;line-height:1.8}
.footer-info dt{font-weight:750;color:#647a7c}
.footer-info dd{margin:0;color:#40595d;overflow-wrap:anywhere}
.footer-office{border-left:1px solid #dce7e3;padding-left:24px}
.footer-office h2{font-size:17px;color:var(--navy);margin:0 0 18px;letter-spacing:-.035em}
.footer-office address{font-style:normal;display:flex;flex-direction:column;gap:11px;font-size:13px;line-height:1.8;color:#40595d;overflow-wrap:anywhere}
.footer-office address p{margin:0}
.footer-details a:hover,.footer-details a:focus-visible{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #e3e9e5;padding-top:18px;margin-top:38px}
.site-footer .footer-copy{border:0;margin:0;padding:0;font-size:12px;color:#738789}
.site-footer .footer-links{margin:0;gap:20px;max-width:none;color:#647b7d;font-size:12px}
@media(max-width:960px){
  .footer-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .footer-org{grid-column:1/-1}
  .footer-office--cheongju{border-left:0;padding-left:0}
}
@media(max-width:650px){
  .site-footer{padding:34px 0 22px}
  .footer-details{grid-template-columns:1fr;gap:24px}
  .footer-org{grid-column:auto}
  .footer-info>div{grid-template-columns:98px minmax(0,1fr)}
  .footer-office,.footer-office--cheongju{border-left:0;padding-left:0;border-top:1px solid #e3e9e5;padding-top:22px}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:12px;margin-top:28px}
}


/* Public notices, placed in the left-side margin on wide desktops. */
.site-notice-board{box-sizing:border-box;background:#fff;border:1px solid #dce9e3;border-radius:16px;box-shadow:0 13px 34px rgba(11,51,54,.13);padding:18px;max-height:420px;overflow:auto;width:min(1160px,calc(100% - 48px));margin:20px auto 0;color:var(--ink)}
.site-notice-header{display:flex;justify-content:space-between;gap:9px;align-items:flex-start;border-bottom:1px solid #e4eeea;padding-bottom:12px;margin-bottom:7px}
.site-notice-overline{font-size:10px;letter-spacing:.1em;font-weight:850;color:var(--green)}
.site-notice-header h2{font-size:21px;letter-spacing:-.05em;color:var(--navy);margin:3px 0}
.site-notice-header p{font-size:11px;color:#79908e;margin:0}
.site-notice-admin{color:var(--green);white-space:nowrap;font-weight:700;font-size:11px;padding-top:9px}
.site-notice-list{display:grid;gap:5px}
.site-notice-item{border-bottom:1px solid #edf2ef;padding:7px 0}
.site-notice-item:last-child{border-bottom:0}
.site-notice-item summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:5px;list-style:none}
.site-notice-item summary::-webkit-details-marker{display:none}
.site-notice-title{font-size:13px;font-weight:750;color:#24484d;overflow-wrap:anywhere;flex:1 1 100%}
.site-notice-item time{font-size:10px;color:#7d9293;order:2}
.site-notice-pin{font-size:10px;font-weight:800;color:#087c5d;background:#dff4e9;border-radius:5px;padding:2px 7px}
.site-notice-item[open] summary{margin-bottom:10px}
.site-notice-content{padding:10px;background:#f5faf7;border-radius:9px}
.site-notice-content p{white-space:pre-wrap;overflow-wrap:anywhere;color:#405f60;font-size:12px;line-height:1.8;margin:0 0 5px}
.site-notice-attachment{display:block;font-size:11px;font-weight:750;color:var(--green);overflow-wrap:anywhere;margin-top:9px}
.site-notice-attachment:hover{text-decoration:underline}
.site-notice-empty{color:#778f8e;font-size:12px;margin:14px 0 4px}
.site-notice-admin-form{margin-top:18px}
.site-notice-admin-form input[type="text"],.site-notice-admin-form textarea{width:100%}
.site-notice-admin-form input[type="file"]{display:block;width:100%;margin-top:7px}
.site-notice-form-flags{display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.site-notice-form-flags label,.site-notice-checkbox{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:7px}
.site-notice-admin-existing{margin-top:30px}
.site-notice-admin-existing>h3{margin-bottom:14px}
.site-notice-admin-entry{margin-bottom:14px}
.site-notice-entry-header{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;align-items:center}
.site-notice-entry-header strong{font-size:15px;color:var(--navy)}
.site-notice-entry-header span{font-size:12px;color:var(--muted)}
.site-notice-admin-entry details{margin-top:13px}
.site-notice-admin-entry summary{cursor:pointer;color:var(--green);font-size:13px;font-weight:750}
.site-notice-delete-form{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}
@media(min-width:1780px){
 .site-notice-board{position:fixed;z-index:8;top:108px;left:max(16px,calc((100vw - 1160px)/2 - 288px));width:260px;max-height:calc(100dvh - 132px);margin:0;padding:16px}
}
@media(min-width:900px) and (max-width:1779px){
 .site-notice-board{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;max-height:280px}
 .site-notice-header{border-bottom:0;border-right:1px solid #e4eeea;padding:0 20px 0 0;margin:0}
 .site-notice-list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:0 16px}
}
@media(max-width:650px){
 .site-notice-board{padding:15px;margin:13px auto 0;max-height:290px}
 .site-notice-header h2{font-size:18px}
}


/* Dedicated notices page: menu link appears between Program Guide and Log In. */
.notice-page-section{padding-top:48px}
.notice-page-container{max-width:1050px}
.notice-page-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:23px}
.notice-page-head h2{margin:0 0 5px;color:var(--navy);font-size:24px}
.notice-page-head p{margin:0;color:var(--muted);font-size:13px}
.notice-page-list{border:1px solid #e3ece8;border-radius:16px;background:#fff;box-shadow:0 8px 30px rgba(17,52,55,.045);overflow:hidden}
.notice-page-entry{padding:0;border-bottom:1px solid #e9f0ec}
.notice-page-entry:last-child{border-bottom:0}
.notice-page-entry summary{display:flex;align-items:center;flex-wrap:nowrap;gap:18px;padding:22px 24px;min-height:72px}
.notice-page-entry summary:hover{background:#f7faf8}
.notice-page-entry[open] summary{background:#f7faf8;margin:0;border-bottom:1px solid #e9f0ec}
.notice-page-title-line{min-width:0;display:flex;flex:1;align-items:center;gap:9px}
.notice-page-entry .site-notice-title{flex:1 1 auto;font-size:15px;font-weight:750;line-height:1.6;color:var(--navy)}
.notice-page-entry time{flex:0 0 auto;font-size:12px;color:#7d9293;order:initial}
.notice-page-chevron{color:#78918d;font-size:20px;transition:transform .2s}
.notice-page-entry[open] .notice-page-chevron{transform:rotate(180deg)}
.notice-page-entry .site-notice-content{padding:24px 28px;background:#fbfdfb;border-radius:0}
.notice-page-entry .site-notice-content p{font-size:14px;line-height:1.95;color:#3a5758}
.notice-page-entry .site-notice-attachment{font-size:13px;margin-top:15px}
.notice-page-empty{padding:62px 22px;text-align:center}
.notice-page-empty h3{font-size:19px;color:var(--navy);margin:0 0 9px}
.notice-page-empty p{font-size:13px;color:var(--muted);margin:0}
@media(max-width:650px){
 .notice-page-section{padding-top:28px}
 .notice-page-head{flex-direction:column;align-items:flex-start;gap:12px}
 .notice-page-head h2{font-size:20px}
 .notice-page-entry summary{padding:17px 15px;gap:8px;flex-wrap:wrap}
 .notice-page-title-line{flex:1 1 100%}
 .notice-page-entry .site-notice-title{font-size:13px}
 .notice-page-entry time{font-size:11px}
 .notice-page-chevron{margin-left:auto}
 .notice-page-entry .site-notice-content{padding:18px 15px}
 .notice-page-entry .site-notice-content p{font-size:13px}
}


/* Read-only, all-account application calendar inside the center administration. */
.admin-cal-dashboard-shortcuts{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.admin-cal-heading{align-items:center}
.admin-cal-heading h2{margin-bottom:8px}
.admin-cal-heading p{margin:0;font-size:13px}
.admin-cal-filter{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(130px,1fr)) auto;gap:12px;align-items:end;background:#f6faf8;padding:20px;border:1px solid #dfebe4;border-radius:15px;margin:23px 0}
.admin-cal-filter>label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#426066;font-weight:750;min-width:0}
.admin-cal-filter select{display:block;min-width:0;width:100%;border:1px solid #d0e0db;background:#fff;color:#24484d;border-radius:9px;padding:11px 10px;height:44px}
.admin-cal-filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.admin-cal-filter-actions .button{min-height:44px;padding:10px 13px}
.admin-cal-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.admin-cal-summary>span{display:inline-flex;gap:5px;align-items:center;background:#f2f6f4;border:1px solid #e3ebe7;border-radius:99px;padding:7px 11px;font-size:12px;color:#435e60}
.admin-cal-summary>span:first-child{background:#e7f4ec;color:#147258;border-color:#d1eadd}
.admin-cal-summary>span.status-pending{background:#fff8e4;border-color:#f1dfb4}
.admin-cal-summary>span.status-confirmed{background:#edf8f1;border-color:#bde0ce}
.admin-cal-summary>span.status-rejected{background:#fff0f0;border-color:#efcaca}
.admin-cal-summary>span.status-cancelled{background:#f0f2f4;border-color:#dce1e4}
.admin-cal-box{border:1px solid #dfe9e5;border-radius:18px;box-shadow:0 10px 27px rgba(21,54,48,.06);overflow:hidden;background:#fff}
.admin-cal-toolbar{display:flex;align-items:center;justify-content:center;gap:22px;padding:21px 17px 8px}
.admin-cal-toolbar h3{margin:0;min-width:142px;text-align:center;color:var(--navy);font-size:22px}
.admin-cal-month-nav{width:40px;height:40px;border:1px solid #d4e6db;border-radius:11px;background:#f6faf8;display:grid;place-items:center;color:var(--navy);font-size:26px;line-height:1}
.admin-cal-month-nav:hover,.admin-cal-month-nav:focus-visible{background:#dff3e9}
.admin-cal-legend{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;padding:8px 16px 17px;font-size:11px;color:#6a8585}
.admin-cal-legend>span{display:flex;align-items:center;gap:6px}
.admin-cal-dot{display:inline-block;flex:none;width:9px;height:9px;border-radius:50%;background:#9bacb2}
.admin-cal-dot.status-pending{background:#e3ad2f}
.admin-cal-dot.status-confirmed{background:#278d6b}
.admin-cal-dot.status-rejected{background:#e05454}
.admin-cal-dot.status-cancelled{background:#9eacb7}
.admin-cal-scroll{overflow-x:auto;border-top:1px solid #e6efea}
.admin-cal-grid{min-width:680px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;background:#fff}
.admin-cal-weekname{padding:12px 4px;border-bottom:1px solid #e5eee9;background:#f7faf8;font-weight:800;color:#5b7376;text-align:center;font-size:12px}
.admin-cal-weekname:first-child{color:#bb6571}
.admin-cal-day{display:flex;position:relative;flex-direction:column;text-align:left;min-width:0;min-height:118px;border:0;border-right:1px solid #e9f0ed;border-bottom:1px solid #e9f0ed;background:#fff;color:#2b4f54;padding:9px 7px;gap:5px;transition:background .12s}
button.admin-cal-day:hover{background:#f3faf6}
button.admin-cal-day:focus-visible{outline:3px solid #218c72;outline-offset:-4px;z-index:2}
.admin-cal-day--outside{background:#f6f8f7}
.admin-cal-day.is-today{box-shadow:inset 0 0 0 2px #65ae92}
.admin-cal-day.is-selected{background:#e8f5ef!important;box-shadow:inset 0 0 0 2px #218c72}
.admin-cal-date{display:block;font-weight:800;font-size:14px;line-height:1.2}
.admin-cal-count{font-size:11px;line-height:1;color:#216f5c;font-weight:800}
.admin-cal-statuses{display:flex;gap:4px;margin-bottom:1px}
.admin-cal-preview{display:block;border-left:3px solid #9caaae;background:#f3f6f5;padding:3px 5px;min-width:0;width:100%;font-size:10px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:3px}
.admin-cal-preview.status-pending{border-color:#e3ad2f;background:#fff9e9}
.admin-cal-preview.status-confirmed{border-color:#278d6b;background:#eaf6ef}
.admin-cal-preview.status-rejected{border-color:#e05454;background:#fff2f2}
.admin-cal-preview.status-cancelled{border-color:#9eacb7;background:#f0f2f4}
.admin-cal-more{color:#728a8a;font-size:10px}
.admin-cal-detail{padding:22px 25px 28px}
.admin-cal-detail-head{margin-bottom:18px}
.admin-cal-detail-head h3{margin:0 0 6px;color:var(--navy);font-size:19px}
.admin-cal-detail-head p{font-size:12px;color:#697f80;margin:0}
.admin-cal-detail-day[hidden]{display:none}
.admin-cal-detail-day{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.admin-cal-request{min-width:0;border:1px solid #e2eae6;border-left:4px solid #a6b4b3;border-radius:11px;padding:17px;background:#fff}
.admin-cal-request.status-pending{border-left-color:#e3ad2f}
.admin-cal-request.status-confirmed{border-left-color:#278d6b}
.admin-cal-request.status-rejected{border-left-color:#e05454}
.admin-cal-request.status-cancelled{border-left-color:#9eacb7}
.admin-cal-request-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.admin-cal-request-heading strong{color:var(--navy);font-size:15px;overflow-wrap:anywhere}
.admin-cal-request-title{font-size:14px;font-weight:750;margin:10px 0 12px;color:#355a5e}
.admin-cal-request-facts{display:grid;gap:7px;margin:0 0 13px}
.admin-cal-request-facts>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:7px;font-size:12px;line-height:1.65}
.admin-cal-request-facts dt{font-weight:800;color:#738989}
.admin-cal-request-facts dd{margin:0;overflow-wrap:anywhere;color:#35545a}
.admin-cal-request-note{background:#f6faf8;border-radius:8px;padding:10px;white-space:pre-wrap;overflow-wrap:anywhere;color:#526d70;font-size:12px;margin:0 0 12px}
.admin-cal-request-link{color:#118169;font-weight:800;font-size:12px}
.admin-cal-request-link:hover{text-decoration:underline}
.admin-cal-day-empty{grid-column:1/-1;padding:24px;background:#f6faf8;color:#728889;border:1px dashed #d6e3dc;border-radius:11px;margin:0;text-align:center;font-size:13px}
@media(max-width:1280px){
 .admin-cal-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-cal-filter-actions{grid-column:1/-1}
}
@media(max-width:750px){
 .admin-cal-detail-day{grid-template-columns:1fr}
 .admin-cal-filter{grid-template-columns:1fr;padding:14px}
 .admin-cal-filter-actions{grid-column:auto}
 .admin-cal-heading{align-items:flex-start;flex-direction:column}
 .admin-cal-toolbar h3{font-size:19px}
 .admin-cal-toolbar{padding:14px 10px 8px}
 .admin-cal-day{min-height:98px}
 .admin-cal-detail{padding:16px 12px}
 .admin-cal-request{padding:13px}
}


/* Customer Center: clear contact routes and accessible expandable FAQs. */
.customer-support{padding-top:52px}
.support-section-heading h2{font-size:27px;margin:0 0 8px;color:var(--navy)}
.support-section-heading p{margin:0;color:var(--muted);font-size:14px}
.support-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:23px}
.support-contact-card{display:flex;flex-direction:column;min-width:0;min-height:244px;padding:25px;border:1px solid #dfebe5;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(24,61,53,.045)}
.support-contact-label{font-size:12px;font-weight:800;color:var(--green)}
.support-contact-card h3{font-size:23px;letter-spacing:-.04em;color:var(--navy);margin:14px 0 12px;overflow-wrap:anywhere}
.support-contact-card .support-email{font-size:19px}
.support-contact-card p{font-size:13px;line-height:1.8;color:#617a7e;margin:0 0 20px;flex:1}
.support-action{display:inline-block;color:#108367;font-size:13px;font-weight:800}
.support-action:hover,.support-contact-card h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.support-faq-heading{margin-top:58px}
.support-faq{margin-top:23px;border:1px solid #dfebe5;border-radius:16px;background:#fff;overflow:hidden}
.support-faq details+details{border-top:1px solid #e9eeec}
.support-faq summary{cursor:pointer;padding:20px 23px;font-size:15px;font-weight:800;color:#274651;list-style:none;position:relative;padding-right:50px}
.support-faq summary::-webkit-details-marker{display:none}
.support-faq summary:after{content:'+';position:absolute;right:21px;top:15px;color:var(--green);font-size:25px;font-weight:400}
.support-faq details[open] summary{background:#f6faf8}
.support-faq details[open] summary:after{content:'−'}
.support-faq details>p{font-size:14px;line-height:1.9;color:#516f72;padding:5px 23px 24px;margin:0}
.support-faq details>p a{color:var(--green);font-weight:800;text-decoration:underline}
.support-help{margin-top:34px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 30px;background:#eaf5ef;border-radius:15px}
.support-help strong{font-size:18px;color:var(--navy)}
.support-help p{font-size:13px;color:#628079;margin:7px 0 0}
@media(max-width:900px){.support-contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.customer-support{padding-top:30px}.support-contact-grid{grid-template-columns:1fr}.support-contact-card:last-child{grid-column:auto}.support-contact-card{min-height:auto}.support-help{flex-direction:column;align-items:flex-start;padding:22px}.support-faq summary{font-size:14px}}


/* Character replacement: retain existing .hero gradient and all copy verbatim. */
.hero-visual-owl{display:flex;align-items:center;justify-content:center;height:510px}
.hero-owl{display:block;max-width:100%;width:auto;height:min(100%,505px);object-fit:contain;filter:drop-shadow(0 20px 20px rgba(0,19,23,.26))}
@media(max-width:1020px){
 .hero-visual.hero-visual-owl{transform:none;height:455px}
 .hero-visual-owl .hero-owl{height:min(100%,450px);max-width:100%}
}
@media(max-width:740px){
 .hero-visual.hero-visual-owl{transform:none;height:310px;justify-content:center;margin:0 0 22px}
 .hero-visual-owl .hero-owl{height:310px;max-width:100%}
}


/* Mobile hero: hide only the owl and collapse its former layout slot. */
@media (max-width:740px){
  .hero-layout{display:block;min-height:0}
  .hero-visual.hero-visual-owl{display:none!important;height:0!important;margin:0!important;padding:0!important}
}

/* Self-service member withdrawal: discreet entry, explicit confirmation. */
.member-account-tools{margin-top:34px;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #e2ece7}
.member-account-tools strong{color:var(--navy);font-size:16px}
.member-account-tools p{margin:6px 0 0}
.member-withdraw-link{font-size:13px;color:#a34444;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.member-withdraw-section{padding-top:38px}
.member-withdraw-panel{max-width:700px;margin:0 auto;background:#fff;border:1px solid #e4ece8;border-radius:18px;padding:30px;box-shadow:0 10px 30px rgba(26,57,51,.045)}
.member-withdraw-panel h2{font-size:24px;letter-spacing:-.03em;margin:0 0 20px;color:var(--navy)}
.member-withdraw-panel .notice-card{margin:0}
.member-withdraw-panel .notice-card p{line-height:1.75;margin:10px 0;font-size:14px}
.member-withdraw-panel .notice-card a{font-weight:700;text-decoration:underline}
.member-withdraw-panel .member-withdraw-warning{color:#974042}
.member-withdraw-identity{display:flex;flex-direction:column;gap:6px;padding:21px 0;margin:12px 0 6px;border-bottom:1px solid #e3ece7}
.member-withdraw-identity strong{color:var(--navy);font-size:17px}
.member-withdraw-identity span:last-child{font-size:13px;color:#547078}
.member-withdraw-form{display:flex;flex-direction:column;gap:16px;margin-top:20px}
.member-withdraw-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:14px}
.member-withdraw-form input{width:100%;min-height:44px;border:1px solid #cbded4;border-radius:9px;padding:10px 12px}
.member-withdraw-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:12px;flex-wrap:wrap}
.member-withdraw-submit{background:#a43c42!important;color:#fff!important;border:1px solid #a43c42!important}
.member-withdraw-submit:hover{background:#873136!important}
@media(max-width:650px){.member-withdraw-panel{padding:20px}.member-account-tools{padding:20px 4px;flex-direction:column;align-items:flex-start}.member-withdraw-actions{flex-direction:column-reverse}.member-withdraw-actions>.button{width:100%;text-align:center}}


/* Budget settlement groundwork: amounts intentionally unpriced until rules arrive. */
.settlement-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.settlement-head h2{margin:6px 0;font-size:26px;color:var(--navy)}
.settlement-head p{margin:6px 0}
.settlement-month-filter{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.settlement-month-filter label{font-weight:700;color:var(--navy);font-size:13px}
.settlement-month-filter input{height:42px;padding:7px 12px;border:1px solid #cbded4;border-radius:8px;font:inherit}
.settlement-rule-notice{margin:8px 0 22px}
.settlement-rule-notice p{line-height:1.75;font-size:13px;margin:8px 0}
.settlement-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 26px}
.settlement-stat{background:#fff;border:1px solid #e1eae5;border-radius:14px;padding:19px 20px;display:flex;flex-direction:column;gap:8px}
.settlement-stat span{font-size:13px;color:#59717a;font-weight:700}
.settlement-stat strong{font-size:27px;color:var(--navy)}
.settlement-stat .settlement-unpriced{font-size:23px;color:#85601f}
.settlement-stat small{font-size:12px;color:#71858b}
.settlement-grids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.settlement-grids .admin-panel{min-width:0}
.settlement-details-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.settlement-details-heading h3{margin-bottom:5px}
@media(max-width:1020px){.settlement-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.settlement-grids{grid-template-columns:1fr}}
@media(max-width:650px){.settlement-cards{gap:10px}.settlement-stat{padding:14px}.settlement-stat strong{font-size:23px}.settlement-head{align-items:flex-start}.settlement-month-filter{width:100%}.settlement-month-filter input{flex:1;min-width:130px}}

/* Revised A/B/C/D settlement configuration: accessible responsive controls. */
.settlement-revised{margin:24px 0}
.settlement-revised>.settlement-cards{margin:22px 0 15px}
.settlement-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}
.settlement-config-grid .admin-panel{min-width:0}
.settlement-config-grid .admin-panel h3{margin-bottom:9px}
.settlement-edit-form{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin:18px 0}
.settlement-edit-form label{display:flex;flex-direction:column;gap:6px;min-width:150px;max-width:100%;font-size:13px;font-weight:700}
.settlement-edit-form label:has(input[type="checkbox"]){flex-direction:row;align-items:center;min-width:100%;font-weight:600}
.settlement-edit-form input:not([type="checkbox"]),.settlement-edit-form select{min-height:40px;max-width:100%;padding:8px 10px;border:1px solid #cfddd5;border-radius:7px;background:#fff;font:inherit}
.settlement-program-list{max-height:520px;overflow:auto;border:1px solid #e1ebe5;border-radius:12px;padding:8px 14px}
.settlement-program-grade-form{display:flex;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #eff2ef}
.settlement-program-grade-form:last-child{border-bottom:0}
.settlement-program-grade-form>div{min-width:0;flex:1}
.settlement-program-grade-form strong,.settlement-program-grade-form small{display:block}
.settlement-program-grade-form strong{font-size:13px;line-height:1.45}
.settlement-program-grade-form small{font-size:11px;color:#68817b;margin-top:3px}
.settlement-program-grade-form select{min-height:37px;padding:5px;border:1px solid #cfddd5;border-radius:7px}
.settlement-exception-box{margin-top:20px;border:1px solid #e1ebe5;padding:18px;border-radius:10px}
.settlement-exception-box summary{cursor:pointer;font-weight:700;color:var(--navy)}
.settlement-exception-box .settlement-edit-form label{flex:1}
@media(max-width:950px){.settlement-config-grid{grid-template-columns:1fr}}
@media(max-width:650px){.settlement-edit-form{flex-direction:column;align-items:stretch}.settlement-edit-form label,.settlement-edit-form .button{width:100%}.settlement-program-grade-form{flex-wrap:wrap}.settlement-program-grade-form>div{min-width:100%}}

/* Approved visit: physician participation confirmation. */
.settlement-physician-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:230px}
.settlement-physician-form .physician-check-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}
.settlement-physician-form .physician-check-label input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:#26785e}
.settlement-physician-form input[type=text]{border:1px solid #cfddd5;border-radius:7px;padding:7px 9px;min-height:36px;min-width:120px;flex:1}
.settlement-physician-reset{margin:6px 0 3px}

/* Seasonal mascot management, limited to chief administrators. */
.season-owl-admin .section-top{margin-bottom:20px}
.season-owl-admin .notice-card{margin-bottom:24px}
.season-owl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 26px}
.season-owl-tile{background:#fff;border:1px solid #dce8e3;border-radius:15px;padding:14px;min-width:0}
.season-owl-preview{height:225px;background:linear-gradient(120deg,#163f4c,#103643);border-radius:12px;display:flex;justify-content:center;align-items:center}
.season-owl-preview img{display:block;max-height:94%;max-width:95%;object-fit:contain}
.season-owl-tile h3{font-size:17px;margin:15px 0 6px;color:#173f45}
.season-owl-current{font-size:11px;color:#1d8a69}
.season-owl-tile .small-note{line-height:1.5}
.season-owl-upload-panel{margin:20px 0}
.season-owl-upload-form{display:flex;flex-direction:column;gap:13px;max-width:670px;margin:20px 0}
.season-owl-upload-form label{font-size:14px;font-weight:700}
.season-owl-upload-form input{max-width:100%;border:1px solid #cfddd5;border-radius:10px;padding:13px}
.season-owl-upload-form button{align-self:flex-start}
@media(max-width:980px){.season-owl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.season-owl-grid{grid-template-columns:1fr 1fr;gap:8px}.season-owl-tile{padding:8px}.season-owl-preview{height:160px}.season-owl-tile h3{font-size:15px}}


/* Member My Page: profile and password management inside bottom account tools. */
.mypage-settings{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:18px;margin-bottom:38px;scroll-margin-top:100px}
.mypage-settings-card{background:#fff;border:1px solid #e2ebe6;border-radius:16px;padding:26px;min-width:0;box-shadow:0 8px 26px rgba(20,59,71,.04);scroll-margin-top:100px}
.mypage-settings-head{margin-bottom:20px}
.mypage-settings-head .overline{margin-bottom:7px}
.mypage-settings-head h2{font-size:21px;letter-spacing:-.04em;color:var(--navy);margin:0 0 7px}
.mypage-settings-head p{margin:0}
.mypage-settings-form{display:flex;flex-direction:column;gap:14px}
.mypage-settings-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:750;color:var(--navy)}
.mypage-settings-form input{min-height:43px;width:100%;max-width:100%;border:1px solid #cdded5;background:#fff;border-radius:9px;padding:9px 11px;outline-offset:2px;color:var(--ink)}
.mypage-settings-form input:focus-visible{outline:2px solid var(--green)}
.mypage-settings-form input.mypage-readonly{background:#f0f4f1;color:#62757a;cursor:not-allowed}
.mypage-settings-form .small-note{line-height:1.6;margin:-3px 0 0}
.mypage-settings-form .mypage-company-note{margin:-6px 0 0}
.mypage-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mypage-settings-form>.button{align-self:flex-start;margin-top:4px}
@media(max-width:970px){.mypage-settings{grid-template-columns:1fr}}
@media(max-width:630px){.mypage-settings-card{padding:19px}.mypage-form-grid{grid-template-columns:1fr}.mypage-settings-form>.button{width:100%}}

/* Keep all three account actions grouped below booking history. */
.member-account-settings{display:block;padding:30px 0 0;margin-top:36px}
.member-account-heading{margin-bottom:22px}
.member-account-heading h2{color:var(--navy);font-size:clamp(1.45rem,2.5vw,1.9rem);margin:0}
.member-account-heading p{margin:8px 0 0}
.member-account-settings .mypage-settings{margin-bottom:18px}
.member-account-withdraw{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border:1px solid #e2ebe6;border-radius:14px;background:#fff}
.member-account-withdraw p{margin:4px 0 0}
.member-account-withdraw .member-withdraw-link{white-space:nowrap}
@media(max-width:630px){
  .member-account-settings{padding-top:25px}
  .member-account-withdraw{padding:18px;flex-direction:column;align-items:flex-start}
}

/* Pre-consultation health information: private fields stay in the booking form. */
.k03-intake{border:1px solid #d6e5dd;border-radius:16px;padding:18px;background:#f8fbf9;display:flex;flex-direction:column;gap:15px}
.k03-intake>h3{margin:0;color:var(--navy);font-size:19px}
.k03-intake>.small-note{margin:0;line-height:1.65}
.k03-person{min-width:0;margin:0;border:1px solid #dce8e0;background:#fff;border-radius:12px;padding:15px}
.k03-person legend{color:var(--navy);font-weight:800;padding:0 8px}
.k03-person-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.k03-person-fields label{min-width:0}
.k03-person-fields input{min-width:0;width:100%}
.k03-required{font-size:11px;color:#a23030}
.k03-optional{font-size:11px;color:#647b78}
.k03-consent{margin:0}
.k03-consent .check-row{margin-top:12px}
.k03-detail-table th,.k03-detail-table td{white-space:normal;min-width:84px}
@media(max-width:650px){.k03-intake{padding:12px}.k03-person{padding:12px}.k03-person-fields{grid-template-columns:minmax(0,1fr)}}

/* Explicitly explain zero quota without masking closed days as server outages. */
.booking-availability-diagnostic{margin-bottom:17px;line-height:1.7}
.booking-availability-diagnostic[hidden]{display:none!important}


/* Admin navigation: preserve the existing tabs but make the full list reachable.
   Pointer and keyboard buttons supplement native touch/trackpad horizontal scrolling. */
.admin-tabs-wrap {
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 40px;
  align-items:end;
  column-gap:5px;
  width:100%;
  min-width:0;
}
.admin-tabs-wrap .admin-tabs {
  min-width:0;
  max-width:100%;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-behavior:smooth;
  scrollbar-width:thin;
  scrollbar-color:#a8bdb2 transparent;
  -webkit-overflow-scrolling:touch;
}
.admin-tabs-wrap .admin-tabs::-webkit-scrollbar {height:5px}
.admin-tabs-wrap .admin-tabs::-webkit-scrollbar-thumb {background:#a8bdb2;border-radius:10px}
.admin-tabs-wrap .admin-tabs a {flex:0 0 auto}
.admin-tabs-scroll {
  display:flex;
  justify-content:center;
  align-items:center;
  width:40px;
  height:41px;
  margin-bottom:5px;
  padding:0;
  border:1px solid #d5e4db;
  border-radius:10px;
  background:#fff;
  color:#287d68;
  font-size:28px;
  font-weight:600;
  line-height:1;
  transition:background-color .2s,opacity .2s;
}
.admin-tabs-scroll:not(:disabled):hover {background:#e2efe8}
.admin-tabs-scroll:focus-visible,.admin-tabs-wrap .admin-tabs:focus-visible {
  outline:3px solid #348974;
  outline-offset:2px;
}
.admin-tabs-scroll:disabled {opacity:.28;cursor:default}
@media(max-width:740px) {
  .admin-tabs-wrap {grid-template-columns:34px minmax(0,1fr) 34px;column-gap:3px}
  .admin-tabs-scroll {width:34px;height:37px;font-size:26px;margin-bottom:5px}
  .admin-tabs-wrap .admin-tabs a {padding:12px}
}
@media(prefers-reduced-motion:reduce) {
  .admin-tabs-wrap .admin-tabs {scroll-behavior:auto}
}


/* K03 two-step consultation flow: private participant editing after booking. */
.k03-deferred-note {
  padding:13px 15px;
  border-left:3px solid #168369;
  background:#f1f9f5;
  border-radius:8px;
  line-height:1.7;
}
.k03-deferred-note a {color:#14775c;text-decoration:underline;font-weight:750}
.k03-card-intake {
  margin:15px 0 10px;
  padding:15px;
  border:1px solid #cfe5d8;
  border-radius:11px;
  background:#f4faf6;
}
.k03-card-intake .k03-intake-status {font-size:13px;color:#156b52}
.k03-card-intake .small-note {margin:6px 0 12px}
.k03-calendar-intake-status {font-weight:700;color:#247960}
.my-calendar-detail-row .k03-calendar-intake-link {
  align-self:flex-start;
  margin-top:5px;
  text-decoration:none;
}
.k03-deferred-form {margin-top:20px}
.k03-deferred-form > .button {margin-top:6px}


/* Scoped partner and staff-only occupational-safety Q&A. */
.inquiry-rows {display:grid;gap:12px;margin:14px 0 25px}
.inquiry-list-item {
  display:flex;flex-direction:column;gap:9px;text-decoration:none;
  border:1px solid var(--line);border-radius:14px;
  background:#fff;padding:18px 20px;
  transition:border-color .18s,box-shadow .18s;
}
.inquiry-list-item:hover {border-color:#64a995;box-shadow:0 4px 15px rgba(10,66,56,.08)}
.inquiry-list-item:focus-visible {outline:3px solid #31866f;outline-offset:2px}
.inquiry-list-item strong {font-size:16px;color:var(--navy);line-height:1.55;overflow-wrap:anywhere}
.inquiry-list-item small {font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.inquiry-list-top,.inquiry-message-heading {
  display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap
}
.inquiry-list-top .muted,.inquiry-message-heading .muted {font-size:12px}
.inquiry-composer {max-width:none}
.inquiry-filters {align-items:end;margin:12px 0 22px}
.inquiry-filters label {flex:1;min-width:170px}
.inquiry-thread {display:grid;gap:14px;margin-top:22px}
.inquiry-message {
  padding:20px;border:1px solid #dce9e2;border-radius:14px;
  background:#fff;overflow-wrap:anywhere
}
.inquiry-message.is-staff {background:#f1f9f5;border-color:#b5d9c7}
.inquiry-message-heading strong {font-size:14px;color:var(--navy)}
.inquiry-message-department {display:block;color:#277e65;font-size:12px;margin:6px 0}
.inquiry-message-body {
  margin-top:12px;color:#243f44;font-size:14px;
  line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere
}
.inquiry-staff-actions {max-width:none}
@media(max-width:620px) {
  .inquiry-list-item {padding:14px}
  .inquiry-message {padding:15px}
  .inquiry-filters {flex-direction:column;align-items:stretch}
  .inquiry-filters label {min-width:0;width:100%}
}


/* Program/course follow-up evidence, strictly scoped to the completed booking. */
.post-visit-card {
  margin:14px 0;
  padding:15px;
  border:1px solid #b7d9cc;
  background:#eff9f4;
  border-radius:12px;
}
.post-visit-card > strong {color:#185d4b}
.post-visit-card > .small-note {margin:8px 0 12px}
.post-visit-calendar-status {display:block;font-weight:700;color:#247a61}
.post-visit-calendar-link {align-self:flex-start;margin-top:5px}
.post-visit-material-group {padding:18px 0;border-top:1px solid #d9e9e0}
.post-visit-material-group:first-of-type {border-top:0}
.post-visit-material-group form {margin-top:15px}
.post-visit-material-group .table-scroll {margin-top:12px}
@media(max-width:620px) {
  .post-visit-material-group {padding:14px 0}
  .post-visit-card {padding:12px}
}
