:root{--accent:#c43b12;--red:#b91c1c;--ink:#29201b;--muted:#74665f;--line:#efdcd1;--paper:#fff;--wash:#fff7f1}*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font:15px/1.65 system-ui,-apple-system,'Malgun Gothic',sans-serif}a{color:var(--accent);text-decoration:none}header{max-width:1200px;margin:auto;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{font-size:26px;font-weight:900;color:var(--ink)}.brand span{color:var(--accent)}main{max-width:1200px;padding:0 24px;margin:auto}.hero{padding:32px;background:linear-gradient(120deg,#ffead7,#fffaf6);border:1px solid var(--line);border-radius:22px}.hero small{font-weight:800;letter-spacing:3px;color:var(--accent)}h1{font-size:clamp(26px,4vw,40px);line-height:1.25;margin:12px 0}h2{font-size:19px;margin:0 0 16px}h3{font-size:17px;margin:8px 0}p{margin:10px 0}small,.muted{color:var(--muted)}.intro{display:flex;justify-content:space-between;align-items:center;margin:26px 0 0}.layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px;margin:20px 0}.person,.item{border-top:1px solid var(--line);padding:18px 0;overflow-wrap:anywhere}.person:first-of-type,.item:first-of-type{border-top:0}.stats,.fields{display:flex;gap:12px;flex-wrap:wrap}.stats>div{flex:1;min-width:120px;background:var(--wash);padding:14px;border-radius:12px}.stats strong{display:block;font-size:24px}.tag{display:inline-block;background:#fff0e3;color:var(--accent);padding:3px 10px;border-radius:99px;font-size:12px;margin:0 6px}label{display:block;font-weight:600;margin:12px 0;flex:1;min-width:100px}input,select,textarea{display:block;width:100%;min-height:46px;border:1px solid #ddc8bb;background:#fff;color:var(--ink);border-radius:9px;font:inherit;padding:10px;margin-top:5px}textarea{min-height:90px;resize:vertical}button,.button,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:9px 16px;border:1px solid transparent;border-radius:9px;font:inherit;font-weight:700;cursor:pointer;vertical-align:middle;margin:5px 4px 5px 0}button,.button{background:linear-gradient(110deg,var(--accent),var(--red));color:#fff}.secondary{background:#fff7f1;color:var(--accent);border-color:var(--line)}:focus-visible{outline:3px solid #ea6800;outline-offset:3px}.record{background:var(--wash);border-radius:12px;padding:16px;margin:16px 0}summary{cursor:pointer;font-weight:700;min-height:44px;display:list-item;padding:8px 0}.alert{padding:16px;background:#fff0e9;border:1px solid #df8a6c;border-radius:12px}footer{text-align:center;color:var(--muted);padding:30px 20px;font-size:12px}.empty{min-height:240px;display:flex;flex-direction:column;justify-content:center}form{margin:8px 0}@media(max-width:760px){header{padding:16px;align-items:center}header>a:last-child{font-size:12px}main{padding:0 16px}.hero{padding:24px}.layout{grid-template-columns:1fr;gap:0}.card{padding:18px;margin:16px 0}.fields{gap:8px}.fields label{min-width:80px}.stats strong{font-size:20px}.intro{gap:8px}.intro h2{font-size:17px;margin:0}.brand{font-size:22px}}

/* 지릴라 공통 메뉴 배너: 메인과 같은 장식 사진, 모바일은 문구/사진 분리 */
.gc-layout .gym-board-head,.hero{
 position:relative;box-sizing:border-box;min-height:130px;padding:20px 26px!important;
 border:1px solid #f0d7c7;border-radius:10px;overflow:hidden;margin-bottom:20px;
 background-color:#fff3e9;
 background-image:linear-gradient(90deg,rgba(255,244,235,.98) 0%,rgba(255,244,235,.94) 43%,rgba(255,244,235,.68) 64%,rgba(255,244,235,.18) 100%),var(--jirilla-menu-image,url('/files/_etc/jirilla-community-hero.webp?v=20261013'));
 background-position:center,right top;background-size:cover,auto 180%;background-repeat:no-repeat;
}
.gc-layout .gym-board-head>h1,.gc-layout .gym-board-head>p,.hero>h1,.hero>p{max-width:65%;position:relative;z-index:1}
.gc-layout .gym-board-head>h1{margin:5px 0 8px!important;font-size:24px!important;line-height:1.4}
.gc-layout .gym-board-head>p{margin:0!important;font-size:12px!important;line-height:1.8;color:#775447}
.gc-layout .gym-board-head .gym-eyebrow{font-size:10px;letter-spacing:1.4px}
.hero{min-height:180px;border-radius:18px;background-size:cover,auto 150%}
@media(max-width:760px){
 .gc-layout .gym-board-head,.hero{min-height:0;padding:18px!important;background:#fff3e9!important}
 .gc-layout .gym-board-head>h1,.gc-layout .gym-board-head>p,.hero>h1,.hero>p{max-width:100%}
 .gc-layout .gym-board-head::after,.hero::after{content:"";display:block;height:130px;margin:14px -18px -18px;border-top:1px solid #efdfd5;background:linear-gradient(90deg,rgba(255,244,235,.18),rgba(255,244,235,.06)),var(--jirilla-menu-image,url('/files/_etc/jirilla-community-hero.webp?v=20261013')) right center/auto 100% no-repeat}
}

.hero{--jirilla-menu-image:url('/files/_etc/jirilla-menu-banners-20261014/coach.webp');background-size:cover,auto 150%;background-position:center,right top}@media(max-width:760px){.hero::after{background-position:center,right top;background-size:cover,auto 150%}}

/* Blend the photograph edge into the warm banner background. */
.hero{background-image:linear-gradient(90deg,#fff4eb 0%,#fff4eb calc(100% - 540px),rgba(255,244,235,.8) calc(100% - 380px),rgba(255,244,235,.3) calc(100% - 170px),rgba(255,244,235,.12) 100%),var(--jirilla-menu-image)}
@media(max-width:760px){.hero::after{border-top:0;background-image:linear-gradient(180deg,#fff3e9 0%,rgba(255,243,233,.45) 28%,rgba(255,243,233,0) 65%),var(--jirilla-menu-image)}}
/* Mobile coach controls and readable forms. */
.layout>*,.fields>*,.stats>*,.card{min-width:0}
h2,h3,.stats strong,.intro{overflow-wrap:anywhere}
.check{display:flex;align-items:flex-start;gap:10px;line-height:1.6}
.check input[type=checkbox]{width:22px;height:22px;min-height:22px;flex:0 0 22px;margin:2px 0;accent-color:var(--accent)}
@media(max-width:760px){
 header{flex-wrap:wrap;gap:8px 16px}header>a:last-child{min-height:44px;display:inline-flex;align-items:center;padding:8px 0}
 input,select,textarea{font-size:16px;min-width:0;max-width:100%}
 textarea{min-height:140px;scroll-margin-block:100px}
 .fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .fields label{min-width:0;margin:8px 0}
 .fields:has(input[type=datetime-local]){grid-template-columns:1fr}
 input[type=date],input[type=datetime-local]{width:100%;min-width:0}
 .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .stats>div{min-width:0}.stats>div:last-child:nth-child(odd){grid-column:1/-1}
 .stats strong{font-size:22px;line-height:1.5}
 .intro{flex-wrap:wrap}.intro .tag{margin:0}
 .card form>button,.card .person>a,.card .item>a,.card.empty>a{width:100%;margin:8px 0;min-height:48px}
 button,.button,.secondary{white-space:normal;text-align:center;overflow-wrap:anywhere;line-height:1.5}
 summary{min-height:48px;padding:12px 0}main{padding-bottom:env(safe-area-inset-bottom,0px)}
}

/* Save controls above the visible software keyboard. */
.coach-keyboard-actions{position:fixed;z-index:10000;box-sizing:border-box;padding:8px 16px;background:#fff7f1;border-top:1px solid #efdcd1;box-shadow:0 -3px 14px #3928201a}
.coach-keyboard-actions[hidden]{display:none!important}
.coach-keyboard-actions button{width:100%;min-height:48px;margin:0;touch-action:manipulation;font-size:16px;line-height:1.5}
.coach-keyboard-actions button:disabled{opacity:.65}

.coach-install{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;border:1px solid var(--line);border-radius:14px;padding:16px 20px;background:#fff;margin:16px 0}
.coach-install>div{flex:1;min-width:0}.coach-install p{font-size:13px;color:var(--muted);margin:4px 0;overflow-wrap:anywhere}
.coach-install button{flex-shrink:0;min-height:48px;margin:0}.coach-install>#coach-install-help{flex-basis:100%;line-height:1.8}
.coach-install[hidden],#coach-install-help[hidden]{display:none!important}
@media(max-width:760px){.coach-install{padding:16px}.coach-install>div,.coach-install button{width:100%;flex-basis:100%}}
@media(display-mode:standalone){.coach-install{display:none}}

.coach-notify .notify-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.coach-notify .notify-actions button{margin:0;min-height:48px;width:100%;min-width:0}.coach-notify button:disabled{opacity:.6;cursor:default}
@media(max-width:760px){.coach-notify .fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
