
:root{--ink:#15352f;--deep:#0f5c4a;--deep2:#0d4538;--line:#dfe9e2;--grey:#61766e;--shadow:0 14px 42px rgba(15,56,48,.08);--shadow-hover:0 22px 55px rgba(15,56,48,.14);--bg:#f4f5ef;--panel:#ffffff;}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:radial-gradient(circle at top right,#fff6df 0,#f4f5ef 28%,#f4f5ef 100%);color:var(--ink);font-family:'Noto Sans KR Variable','Malgun Gothic',sans-serif}
button,input,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:4px solid #f4a33d;outline-offset:3px}
.shell{min-height:100vh;display:flex;flex-direction:column}
.top{padding:18px clamp(24px,4vw,72px);display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(21,53,47,.08);box-shadow:0 8px 30px rgba(14,50,38,.05);gap:20px}
.brand-btn{display:flex;align-items:center;min-width:0;flex:1;border:0;background:none;padding:0;text-align:left}
.brand-banner{display:block;height:92px;width:auto;max-width:min(100%,940px);object-fit:contain}
.topright{display:flex;gap:24px;align-items:center;flex-shrink:0}
.clock{text-align:right}
.clock strong{display:block;font-size:32px;letter-spacing:-1px;color:var(--deep2)}
.clock span{font-size:16px;color:var(--grey);font-weight:600}
.quiet{border:1px solid #cfe1d7;background:#fff;padding:13px 18px;border-radius:14px;color:var(--ink);font-weight:800;box-shadow:0 6px 18px rgba(15,56,48,.05)}
.main{flex:1;width:min(1440px,100%);margin:0 auto;padding:32px clamp(24px,4vw,72px) 58px}
.eyebrow{font-size:15px;font-weight:900;color:#4d836f;letter-spacing:3.6px}
.intro{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin:18px 0 28px}
.intro h1{font-size:clamp(42px,3.8vw,68px);letter-spacing:-3px;line-height:1.18;margin:0;font-weight:900;color:#164137}
.intro h1 em{font-style:normal;color:#2e8e73}
.intro p{margin:18px 0 0;color:#61766e;font-size:24px;font-weight:600}
.intro-art{width:230px;height:160px;position:relative;flex-shrink:0}
.round{position:absolute;border-radius:50%}
.r1{width:126px;height:126px;right:0;top:6px;background:#e8f5ef}.r2{width:58px;height:58px;left:38px;bottom:14px;background:#ffe7c6}.r3{width:40px;height:40px;right:42px;bottom:5px;background:#bde7dd}.spark{position:absolute;font-size:70px;right:34px;top:30px;transform:rotate(-8deg)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tile{border:1px solid rgba(17,77,62,.1);box-shadow:var(--shadow);border-radius:28px;min-height:196px;text-align:left;padding:26px 28px;display:flex;justify-content:space-between;align-items:flex-start;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;position:relative;overflow:hidden;text-decoration:none;color:inherit;background:#fff}
.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:rgba(16,96,77,.3)}
.tile::after{content:'';position:absolute;right:-30px;bottom:-35px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.14)}
.tile .symbol{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;font-size:32px;margin-bottom:18px;font-weight:700;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.tile h2{font-size:36px;letter-spacing:-2px;line-height:1.08;margin:0 0 9px;font-weight:900}
.tile .subtitle{font-size:19px;line-height:1.35;margin:0;font-weight:600;opacity:.96}
.arrow{font-size:26px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-weight:900;flex-shrink:0}
.food{background:linear-gradient(135deg,#0d6b57 0%,#1e846c 100%);color:#fff}.food .symbol{background:rgba(255,255,255,.18);color:#fff}.food .subtitle{color:#d7efe7}.food .arrow{background:rgba(255,255,255,.16);color:#fff}
.news{background:linear-gradient(135deg,#fff7e8 0%,#fffdf7 100%);color:#17372f}.news .symbol{background:#fff;color:#db7f14}.news .arrow{background:#fff3df;color:#c97910}
.recruit{background:linear-gradient(135deg,#eef6ff 0%,#ffffff 100%);color:#143c4d}.recruit .symbol{background:#fff;color:#3479c9}.recruit .arrow{background:#e3f0ff;color:#2363ae}
.internet{background:linear-gradient(135deg,#fff0ee 0%,#fffdfc 100%);color:#4b2d24}.internet .symbol{background:#fff;color:#e26d45}.internet .arrow{background:#ffe2d8;color:#c75530}
.floor{background:linear-gradient(135deg,#f3efff 0%,#ffffff 100%);color:#35265e}.floor .symbol{background:#fff;color:#7d58d3}.floor .arrow{background:#ebe4ff;color:#6a47c1}
.schedule{background:linear-gradient(135deg,#eefaf7 0%,#ffffff 100%);color:#0f5148}.schedule .symbol{background:#fff;color:#1b8a74}.schedule .arrow{background:#dff5ee;color:#17725f}
.bottom{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:28px;border-top:1px solid rgba(21,53,47,.09);padding-top:20px;color:#6f857c;font-size:16px;font-weight:600}
.foot{padding:18px 6vw;color:#7f8f86;font-size:13px;text-align:center}
.view{display:none}.view.active{display:block}
.back{border:0;background:none;color:var(--deep);font-weight:900;padding:8px 0 22px;font-size:20px}
.view-heading{font-size:48px;letter-spacing:-2px;margin:0 0 10px;font-weight:900}
.view-sub{color:var(--grey);margin:0 0 28px;font-size:19px}
.notice-list{display:grid;gap:14px}
.notice{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px;align-items:flex-start;box-shadow:0 8px 22px rgba(15,56,48,.05)}
.pill{display:inline-flex;background:#e8f6ec;color:#1a7a52;font-size:13px;font-weight:900;border-radius:999px;padding:7px 13px;white-space:nowrap}.pill.closed{background:#f2f2f2;color:#777}
.notice .content{flex:1;min-width:0}.notice h3{margin:8px 0;font-size:26px;letter-spacing:-.8px}.meta{color:#7f8d84;font-size:15px}.desc{white-space:pre-wrap;color:#50645a;line-height:1.75;font-size:17px;margin:12px 0 0}.notice a{display:inline-block;margin-top:14px;color:#155f4a;font-weight:800}.notice-poster-wrap{width:240px;flex-shrink:0}.notice-poster{display:block;width:100%;border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:0 8px 18px rgba(15,56,48,.06)}.poster-preview-shell{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.poster-preview-box{width:210px;min-height:280px;border:2px dashed #d6e2da;border-radius:18px;background:#fafcfb;display:flex;align-items:center;justify-content:center;padding:10px}.poster-preview-box img{display:block;max-width:100%;max-height:360px;border-radius:12px;border:1px solid var(--line)}.poster-placeholder{color:#7a8e85;font-size:14px;line-height:1.6;text-align:center}.admin-thumb{width:62px;height:82px;border-radius:10px;border:1px solid var(--line);object-fit:cover;flex-shrink:0;background:#fff}.admin-item-main{display:flex;gap:12px;align-items:center;min-width:0}.admin-item-main-text{min-width:0}.poster-note{font-size:13px;color:#74887f;line-height:1.7}.poster-remove[hidden],#posterPreviewImage[hidden]{display:none !important}
.empty{border:2px dashed #cbd8ce;background:white;padding:56px 22px;text-align:center;border-radius:24px}.empty strong{display:block;font-size:26px;margin-top:8px}.empty p{color:var(--grey);font-size:18px}
.links{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.weblink{display:flex;align-items:center;justify-content:space-between;padding:28px;background:white;border-radius:20px;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:26px;font-weight:900;box-shadow:0 8px 20px rgba(15,56,48,.05)}.weblink span{color:var(--deep)}
.site-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.site-toolbar strong{font-size:26px;letter-spacing:-1px}.site-toolbar a{padding:10px 14px;border-radius:12px;background:#edf7f2;color:var(--deep);text-decoration:none;font-weight:800}
.site-frame{width:100%;height:62vh;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 22px rgba(15,56,48,.05)}.site-note{color:#6f857c;font-size:15px;line-height:1.7;margin-top:12px}
.schedule-shell{background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:0 10px 28px rgba(15,56,48,.05)}.schedule-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px}.schedule-head p{margin:4px 0 0;color:#6e837b;font-size:15px;line-height:1.6}
.day-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 22px}.day-tab{border:1px solid #cfe1d7;background:#fff;color:#23483d;padding:12px 18px;border-radius:999px;font-weight:900;box-shadow:0 6px 14px rgba(15,56,48,.04)}.day-tab.active{background:var(--deep);color:#fff;border-color:var(--deep)}
.floor-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 13px;font-size:16px;font-weight:900;vertical-align:middle;margin-left:9px;white-space:nowrap}.floor-2{color:#1b5c9a;background:#e5f2ff}.floor-1{color:#147350;background:#e1f7eb}.floor-b1{color:#7347ae;background:#f0e8ff}.room-card h3{display:flex;align-items:center;flex-wrap:wrap;gap:2px}.schedule-tip{background:#f4f9f6;border:1px solid #dbece1;border-radius:15px;padding:14px 18px;font-size:16px;color:#3c6a55;margin-bottom:20px;font-weight:700}.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.room-card{background:#fafcfb;border:1px solid var(--line);border-radius:22px;padding:18px 18px 14px}.room-card h3{margin:0 0 12px;font-size:24px;letter-spacing:-1px}
.class-item{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:start;padding:10px 0;border-top:1px dashed #d8e4de}.class-item:first-of-type{border-top:0;padding-top:0}.class-time{font-weight:900;color:#11614d;font-size:15px;background:#e8f6f0;border-radius:12px;padding:8px 10px;text-align:center;white-space:nowrap}.class-title{font-size:18px;font-weight:800;line-height:1.35;color:#203a33}.class-meta{font-size:13px;color:#799087;margin-top:4px}.schedule-empty{padding:40px 20px;text-align:center;border:2px dashed #cddbd4;border-radius:24px;background:#fff}
.overlay{position:fixed;inset:0;background:rgba(11,32,22,.55);z-index:20;display:none;align-items:center;justify-content:center;padding:20px}.overlay.open{display:flex}.modal{width:min(780px,100%);max-height:92vh;overflow:auto;border-radius:26px;background:white;padding:28px;box-shadow:0 35px 100px #11291e55}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:16px}.modal-head h2{margin:0;font-size:26px}.x{background:#f3f5f1;border:0;border-radius:10px;padding:9px 13px;font-weight:bold}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px;margin:13px 0}.field label{font-weight:800;font-size:15px}.field input,.field textarea{border:1px solid #d8e2d8;border-radius:12px;padding:13px;background:#fbfcfa;width:100%;font-size:16px}.field textarea{min-height:120px;resize:vertical}
.btn{border:0;background:var(--deep);color:white;padding:13px 18px;border-radius:12px;font-weight:900}.btn.light{background:#edf2ec;color:var(--deep)}.btn.danger{background:#fff0ee;color:#a84132}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.admin-list{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.admin-item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.admin-item strong{font-size:15px}.admin-item small{display:block;color:var(--grey)}.hint{font-size:13px;color:#829188;line-height:1.7}
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--deep);color:white;padding:12px 20px;border-radius:14px;z-index:30;display:none}
@media(max-width:1200px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-grid{grid-template-columns:1fr}.brand-banner{height:80px}.tile{min-height:190px}}
@media(max-width:800px){.top{padding:16px;align-items:flex-start;gap:12px;flex-direction:column}.brand-btn{width:100%}.brand-banner{height:auto;max-width:100%}.topright{width:100%;justify-content:space-between;gap:8px}.clock strong{font-size:24px}.clock span{font-size:13px}.main{padding:24px 16px 40px}.eyebrow{font-size:12px;letter-spacing:2.2px}.intro{margin-bottom:24px}.intro h1{font-size:40px;line-height:1.2}.intro p{font-size:18px}.cards{grid-template-columns:1fr}.tile{min-height:182px;border-radius:22px;padding:22px;gap:12px}.tile h2{font-size:31px}.tile .subtitle{font-size:17px}.tile .symbol{width:56px;height:56px;font-size:28px;margin-bottom:18px}.arrow{width:42px;height:42px;font-size:22px}.bottom{display:block}.bottom span{display:block;margin:6px 0}.formgrid,.links{grid-template-columns:1fr}.notice{padding:18px;display:block}.notice-poster-wrap{width:100%;margin-top:14px}.notice-poster{max-width:360px}.poster-preview-box{width:100%;min-height:220px}.view-heading{font-size:34px}.view-sub{font-size:16px}.weblink{font-size:21px;padding:22px}.site-frame{height:55vh}.schedule-shell{padding:18px}.class-item{grid-template-columns:1fr;gap:8px}.class-time{width:max-content}}
@media(prefers-reduced-motion:reduce){.tile{transition:none}}

/* 강의 검색: 고령 이용자용 큰 검색창과 결과 */
.finder{border:2px solid #c9e6d7;border-radius:25px;background:linear-gradient(135deg,#ecf8f0,#fafffc);padding:24px;margin-bottom:26px}
.finder h2{font-size:30px;margin:0 0 6px;letter-spacing:-1px}.finder-desc{font-size:17px;color:#537466;margin:0 0 16px}
.finder-input-row{display:flex;gap:12px}.finder-input{flex:1;min-width:0;border:2px solid #b5d5c4;background:#fff;border-radius:15px;padding:15px 18px;font-size:25px;font-weight:700;color:#173b2e}
.finder-clear{border:0;border-radius:15px;padding:13px 22px;color:#fff;background:#185f4b;font-size:19px;font-weight:800}
.finder-chips{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0 8px}.finder-chip{border:1px solid #b5d8c4;background:#fff;color:#276c51;border-radius:30px;padding:9px 17px;font-weight:800;font-size:18px}
.finder-results{margin-top:17px}.finder-count{font-size:18px;color:#375a4b;font-weight:800;margin:0 0 12px}
.finder-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.finder-result{background:#fff;border:1px solid #d2e4d9;border-radius:19px;padding:17px;display:flex;flex-direction:column;gap:10px}
.finder-result-title{font-size:25px;font-weight:900;line-height:1.3;letter-spacing:-.7px}
.finder-result-info{font-size:19px;font-weight:700;color:#355c49;line-height:1.45}
.finder-result .floor-pill{font-size:16px}.finder-locate{border:0;background:#e5f4ed;color:#166649;border-radius:12px;padding:11px 14px;font-size:17px;font-weight:900;align-self:flex-start}
.finder-empty{padding:28px;text-align:center;border:1px dashed #b4d6bf;border-radius:17px;background:#fff;color:#506c60;font-size:19px}
@media(max-width:800px){.finder{padding:16px}.finder h2{font-size:25px}.finder-input{font-size:21px}.finder-list{grid-template-columns:1fr}.finder-result-title{font-size:22px}.finder-result-info{font-size:17px}}

/* v12: 큰 공지 띠, 검색 바로가기, 포스터 확대, 직원 편집 */
.important-strip{margin:0 0 22px;border:1px solid #d1e7db;background:linear-gradient(110deg,#eef9f2,#fffaf0);border-radius:22px;padding:17px 22px;display:flex;align-items:center;gap:16px;box-shadow:0 8px 24px rgba(15,56,48,.045)}
.important-strip .label{display:flex;align-items:center;gap:8px;color:#12684f;font-weight:900;font-size:19px;white-space:nowrap}.important-copy{flex:1;min-width:0}.important-copy strong{display:block;font-weight:900;font-size:21px;color:#183d31;line-height:1.4}.important-copy span{display:block;font-size:15px;color:#647c70;margin-top:3px}.important-strip .muted{color:#6a8174;font-size:17px}.important-strip button{border:0;border-radius:12px;padding:10px 15px;background:#dbeee3;color:#0b6146;font-weight:900;white-space:nowrap}
.home-quick{display:flex;align-items:center;gap:14px;margin:0 0 20px;padding:19px 24px;border:2px solid #cce6d9;border-radius:21px;background:#fff;box-shadow:0 6px 22px #1759410d;text-align:left;width:100%;color:#175642}.home-quick .magnifier{font-size:34px}.home-quick .qtext{flex:1}.home-quick strong{display:block;font-size:25px;line-height:1.3}.home-quick small{display:block;font-size:16px;color:#6a8074;margin-top:4px}.home-quick .go{font-size:23px;color:#1d8464}
.poster-zoom{background:none;border:0;padding:0;display:block;width:100%;text-align:left}.poster-zoom .notice-poster{cursor:zoom-in}.poster-zoom-caption{display:block;font-size:14px;font-weight:850;color:#167255;text-align:center;padding:8px}
.poster-lightbox{position:fixed;inset:0;z-index:100;background:rgba(7,22,19,.93);display:none;flex-direction:column;align-items:center;justify-content:center;padding:68px 20px 24px}.poster-lightbox.open{display:flex}.poster-lightbox img{max-width:95vw;max-height:calc(100vh - 135px);object-fit:contain;border-radius:10px;background:white}.poster-lightbox .light-title{color:white;font-size:21px;font-weight:800;margin-top:12px;text-align:center}.poster-lightbox .light-close{position:absolute;right:25px;top:18px;border:2px solid #fff5;background:#fff;color:#184437;border-radius:12px;padding:12px 22px;font-size:20px;font-weight:900}
.admin-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 13px}.admin-tab{border:1px solid #c8dcd0;border-radius:12px;padding:12px 15px;font-weight:900;color:#275646;background:white}.admin-tab.selected{color:white;background:#11624c;border-color:#11624c}.admin-pane[hidden]{display:none!important}.admin-pane h3{font-size:22px;margin:16px 0 8px}.admin-pane .info{font-size:14px;color:#63796d;line-height:1.75}.bulletin-form{border:1px solid #d8e9df;border-radius:18px;padding:16px;background:#f9fcfa}.bulletin-box{display:flex;gap:9px;align-items:center;justify-content:space-between;border-top:1px solid #e5eee7;padding:12px 0}.bulletin-box strong{display:block;font-size:17px}.bulletin-box small{font-size:13px;color:#728276}.schedule-upload-panel{background:#f1f9f4;border:1px solid #d8e8df;border-radius:18px;padding:18px;margin:16px 0}.schedule-upload-panel .field input[type=file]{background:white}.data-status{font-weight:800;font-size:14px;color:#246a4e;margin:10px 0;line-height:1.65}.admin-alert{background:#fff7e7;border:1px solid #f0d9ad;padding:13px 16px;border-radius:13px;font-size:14px;color:#77591e;line-height:1.7}.primary-mini{display:inline-flex;border-radius:9px;background:#e9f6f0;color:#155a43;padding:5px 9px;font-weight:800;font-size:13px}
@media(max-width:800px){.important-strip{align-items:flex-start;flex-wrap:wrap;padding:15px}.important-copy strong{font-size:18px}.home-quick{padding:16px}.home-quick strong{font-size:20px}.home-quick small{font-size:14px}.poster-lightbox{padding:65px 12px 18px}}

/* v13: 안내 PC는 유지하고 휴대폰에서 터치와 가독성을 높이는 적응형 레이아웃 */
.share-strip{display:flex;align-items:center;gap:12px;margin:24px 0 4px;padding:15px 19px;background:#e8f4ed;border:1px solid #cfdfd6;border-radius:18px;flex-wrap:wrap}
.share-strip>span{flex:1;min-width:220px;font-size:17px;font-weight:800;color:#245640}
.share-strip button{border:1px solid #bed9ca;border-radius:13px;background:#fff;color:#12523f;padding:12px 16px;font-size:16px;font-weight:900}
.qr-backdrop[hidden]{display:none!important}.qr-backdrop{position:fixed;inset:0;background:#09251dbe;z-index:120;display:grid;place-items:center;padding:20px}
.qr-dialog{position:relative;border-radius:25px;background:white;padding:30px 24px;max-width:420px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 15px 60px #0004}
.qr-dialog h2{font-size:25px;margin:6px 0 0}.qr-dialog p{font-size:16px;color:#597368;margin:0}.qr-dialog img{display:block;width:230px;height:230px;max-width:100%;object-fit:contain;border:10px solid #f0f7f3;border-radius:15px}
.qr-dialog strong{word-break:break-all;font-size:15px}.qr-close{position:absolute;right:13px;top:13px;border:0;background:#edf4ef;border-radius:10px;width:42px;height:42px;font-size:21px}.qr-copy{border:0;background:#105c47;color:white;border-radius:12px;padding:13px 20px;font-size:17px;font-weight:800}
@media(max-width:650px){
 html{-webkit-text-size-adjust:100%;scroll-padding-top:12px}
 body{background:#f5f7f3}
 .top{padding:11px 15px;gap:6px;background:#fff}
 .brand-banner{max-width:100%;max-height:59px;width:auto;height:auto;object-fit:contain;object-position:left center}
 .topright{width:100%;gap:8px;justify-content:flex-end}
 .clock strong{font-size:16px}.clock span{font-size:11px}
 .quiet{padding:9px 13px;min-height:42px;font-size:14px}
 .main{padding:20px 14px 35px;max-width:100%;min-width:0}
 .eyebrow{font-size:11px;letter-spacing:1px}
 .intro{margin:10px 0 15px;display:block}.intro-art{display:none}
 .intro h1{font-size:clamp(29px,8vw,40px);letter-spacing:-1.7px;line-height:1.27}
 .intro p{font-size:15px;margin-top:8px;line-height:1.55}
 .important-strip{border-radius:15px;padding:12px 14px;gap:7px;margin-bottom:12px;display:block}
 .important-strip .label{font-size:15px;margin-bottom:3px}.important-copy strong{font-size:17px;line-height:1.4}.important-copy span{font-size:13px}.important-strip button{min-height:40px;margin-top:6px}
 .home-quick{padding:14px 15px;gap:10px;border-radius:16px;margin-bottom:14px}.home-quick .magnifier{font-size:27px}.home-quick strong{font-size:21px}.home-quick small{font-size:13px;line-height:1.4}.home-quick .go{font-size:20px}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .tile{min-height:155px;border-radius:19px;padding:15px 12px;box-shadow:0 5px 18px #0f38200d;display:block}
 .tile .symbol{width:45px;height:45px;font-size:24px;margin-bottom:14px;border-radius:13px}
 .tile h2{font-size:clamp(19px,5.3vw,24px);letter-spacing:-1px;line-height:1.25;margin:0 0 5px;word-break:keep-all}
 .tile .subtitle{font-size:12px;line-height:1.45;word-break:keep-all}
 .tile .arrow{position:absolute;right:9px;top:12px;width:29px;height:29px;font-size:18px}
 .tile:hover{transform:none}
 .share-strip{margin-top:17px;padding:13px;border-radius:14px;gap:8px}.share-strip>span{min-width:100%;font-size:14px}.share-strip button{flex:1;font-size:14px;padding:11px 8px}
 .bottom{font-size:12px}.foot{font-size:12px;padding:15px}
 .view-heading{font-size:29px;letter-spacing:-1px;margin:12px 0 5px}.view-sub{font-size:15px;line-height:1.6}
 .back{padding:12px 14px;font-size:16px;min-height:46px}
 .finder{padding:14px;border-radius:18px;margin-top:14px}.finder h2{font-size:23px}.finder-desc{font-size:14px;line-height:1.5}
 .finder-input-row{gap:6px}.finder-input{width:100%;min-width:0;padding:13px;font-size:19px}.finder-clear{font-size:15px;padding:12px 13px}
 .finder-chips{gap:7px}.finder-chip{font-size:15px;min-height:43px;padding:8px 13px}
 .finder-list{grid-template-columns:minmax(0,1fr);gap:9px}.finder-result{padding:14px}.finder-result-title{font-size:22px}.finder-result-info{font-size:17px}
 .schedule-shell{padding:14px;border-radius:17px}.schedule-head h2{font-size:22px!important}.schedule-head p{font-size:14px;line-height:1.6}
 .day-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.day-tabs button{min-width:0;padding:12px 2px;font-size:15px;min-height:48px}
 .schedule-grid{grid-template-columns:minmax(0,1fr)}.class-item{min-width:0}.class-title{overflow-wrap:anywhere}
 .notice{display:flex;flex-direction:column;gap:13px;padding:15px;border-radius:18px}.notice-poster-wrap{width:100%;margin:0;order:1}
 .notice-poster{width:100%;max-width:100%;max-height:unset;object-fit:contain}.notice .content{order:0;min-width:0}.notice h3{font-size:23px;line-height:1.45}.desc{font-size:16px}
 .poster-zoom-caption{font-size:15px}.poster-lightbox{padding:70px 8px 20px}.poster-lightbox img{max-width:100%;max-height:calc(100dvh - 150px)}.poster-lightbox .light-close{right:12px;top:12px;min-height:46px}
 .site-toolbar{flex-wrap:wrap;gap:9px}.site-toolbar strong{font-size:18px}.site-toolbar a{font-size:14px}.site-frame{height:68dvh;min-height:400px}
 .links{grid-template-columns:1fr}.weblink{font-size:21px;min-height:70px}
 .overlay{padding:0}.modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;overflow-y:auto;padding:18px 15px 28px}
 .modal-head{position:sticky;top:-18px;background:#fff;z-index:3;padding:13px 0}.admin-tabs{gap:5px}.admin-tab{font-size:14px;padding:11px 9px;flex:1;min-height:48px}
 .formgrid{grid-template-columns:1fr}.field input,.field textarea{max-width:100%;font-size:16px}.actions .btn{min-height:46px}.admin-item{flex-wrap:wrap}
 .qr-dialog{padding:30px 17px 20px}.qr-dialog h2{font-size:23px}
}
@media(max-width:360px){.cards{gap:8px}.tile{padding:12px 10px;min-height:148px}.tile h2{font-size:18px}.tile .subtitle{font-size:11px}.brand-banner{max-height:50px}}

/* v14 calendar */
.tile.calendar{background:linear-gradient(145deg,#eef6ff,#e1eefc);color:#214c79}.tile.calendar .arrow{background:#d2e7fb;color:#23639b}
.cal-wrap{background:#fff;border-radius:25px;padding:24px;border:1px solid #dfe9e4;box-shadow:0 12px 28px #153f2a0b}.cal-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.cal-tools h2{font-size:30px;margin:0}.cal-nav{background:#e8f3ec;border:0;border-radius:14px;padding:12px 18px;font-size:18px;color:#175943;cursor:pointer;font-weight:800}.cal-week,.cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.cal-week span{text-align:center;padding:9px 0;font-size:17px;font-weight:800;color:#63736e}.cal-day{min-width:0;min-height:92px;background:#f6f9f7;border:1px solid #e8eeea;border-radius:13px;padding:10px 6px;text-align:left;cursor:pointer;color:#213d33}.cal-day[aria-pressed=true]{outline:3px solid #188263;background:#e9f7ef}.cal-day.today .cal-num{background:#176d50;color:#fff}.cal-num{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:50%;font-size:18px;font-weight:900}.cal-dotrow{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.cal-dot{width:9px;height:9px;border-radius:50%;background:#2a8d66}.cal-dot.rest{background:#d56d5d}.cal-dot.class{background:#6b68c8}.cal-dot.notice{background:#d5a040}.cal-more{font-size:12px;color:#5b6c63;margin-top:5px}.cal-blank{background:transparent}.cal-selected{margin-top:24px;border-top:1px solid #e1ece4;padding-top:18px}.cal-selected h3{font-size:23px;margin:0 0 14px}.cal-event{border-radius:16px;background:#f5f9f7;margin:9px 0;padding:15px 18px;border-left:5px solid #28936b}.cal-event.rest{border-left-color:#d56d5d}.cal-event.class{border-left-color:#6b68c8}.cal-event.notice{border-left-color:#d5a040}.cal-event strong{display:block;font-size:20px;margin:5px 0}.cal-event p{white-space:pre-wrap;margin:7px 0 0;line-height:1.7;font-size:16px}.cal-event small{font-size:14px;color:#60766b}.cal-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:14px;margin-bottom:18px;color:#526b5d}.cal-admin-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf0ee}.cal-empty{color:#75847b;background:#f7f9f6;padding:22px;border-radius:13px;text-align:center;font-size:17px}
@media(max-width:700px){.cal-wrap{padding:13px;border-radius:17px}.cal-tools h2{font-size:22px}.cal-nav{padding:10px 13px;font-size:16px}.cal-week,.cal-days{gap:3px}.cal-day{min-height:62px;border-radius:9px;padding:5px 2px}.cal-num{width:27px;height:27px;font-size:15px}.cal-dotrow{margin-top:4px;gap:2px}.cal-dot{width:6px;height:6px}.cal-more{font-size:10px}.cal-selected h3{font-size:21px}.cal-event strong{font-size:19px}.cal-legend{gap:9px;font-size:12px}}

/* v14.1 모집공고와 행사 일정표 자동 연동 */
.event-info-panel{padding:20px;border:1px solid #c9ded1;background:#f2f9f4;border-radius:18px;margin:14px 0}.event-info-head{font-size:19px;font-weight:900;color:#17664c}.event-info-head span{font-size:13px;color:#697d74;font-weight:500}.cal-linked-toggle{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;color:#155b46;cursor:pointer;margin-top:10px}.cal-linked-toggle input{width:22px;height:22px;accent-color:#138462}.notice-event-summary{margin:12px 0;padding:12px 16px;border-radius:12px;background:#edf7ee;font-weight:700;color:#15634b;line-height:1.5}.cal-event.notice-linked{border-left:5px solid #158b74}.cal-event-action{margin-top:12px;display:inline-flex;align-items:center;padding:10px 16px;background:#10684e;color:white;border-radius:12px;border:none;font:inherit;font-weight:800;cursor:pointer}@media(max-width:650px){.event-info-panel{padding:14px}.cal-linked-toggle{font-size:16px}}

/* v15 floor guide */
.fg-nav{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.fg-nav button{font:inherit;font-size:22px;font-weight:850;border:2px solid #d8e8de;color:#1e614b;background:#fff;padding:15px 28px;border-radius:18px;cursor:pointer}.fg-nav button.active{background:#126d50;color:white;border-color:#126d50;box-shadow:0 10px 25px #246c5125}.fg-lead{background:linear-gradient(110deg,#e7f4eb,#f8f9ef);border:1px solid #d5e9db;border-radius:24px;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.fg-kicker{font-weight:900;color:#2a8a65;letter-spacing:2px}.fg-lead h2{font-size:28px;margin:6px 0}.fg-lead p{color:#668477;margin:0}.fg-map-btn{padding:16px 22px;border:0;background:#126d50;color:#fff;font:inherit;font-size:17px;font-weight:800;border-radius:15px;cursor:pointer;flex-shrink:0}.fg-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:18px}.fg-map-panel,.fg-side{background:#fff;border:1px solid #e1e8e0;border-radius:24px;padding:18px}.fg-map-panel img{width:100%;display:block;object-fit:contain;max-height:580px;cursor:zoom-in;border-radius:14px}.fg-map-panel p{text-align:center;color:#738778;margin:12px 0}.fg-caution{font-size:13px;color:#8c8067;background:#fbf8ef;border-radius:12px;padding:10px 12px}.fg-side h3{font-size:24px;margin:4px 0 20px}.fg-side label{font-size:15px;color:#638174}.fg-side input{width:100%;font:inherit;font-size:18px;margin-top:8px;min-width:0;padding:16px;border:1px solid #cadad1;border-radius:13px}.fg-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.fg-chips button{font:inherit;font-size:16px;font-weight:700;border:1px solid #d8e9df;background:#f2f8f4;color:#1e614b;padding:10px 13px;border-radius:10px;cursor:pointer}.fg-heading{display:flex;align-items:baseline;justify-content:space-between;margin:32px 0 16px}.fg-heading h2{font-size:30px;margin:0}.fg-heading span{color:#648577}.fg-rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.fg-room{background:white;border:1px solid #e0e8e1;border-radius:22px;padding:17px;min-width:0;box-shadow:0 7px 22px #1f44300b}.fg-photo{width:100%;height:170px;object-fit:contain;background:#f5f7f4;border-radius:16px;padding:7px}.fg-photo-empty{height:170px;background:#edf6ef;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:42px;color:#7cae97}.fg-room h3{font-size:23px;margin:14px 0 7px}.fg-tag{font-size:13px;display:inline-block;padding:5px 9px;background:#e9f5eb;color:#267452;border-radius:100px;font-weight:800}.fg-desc{line-height:1.6;color:#586f62;font-size:16px;min-height:50px;margin:10px 0}.fg-classes{background:#f8faf6;border-radius:12px;padding:12px;margin-top:10px}.fg-classes strong{display:block;font-size:14px;color:#347f5d;margin-bottom:6px}.fg-classes p{margin:5px 0;font-size:14px;line-height:1.5}.fg-room-button{margin-top:12px;width:100%;border:1px solid #cde2d3;background:#edf7f0;color:#176145;border-radius:12px;padding:11px;font:inherit;font-weight:800;cursor:pointer}.fg-bottom{color:#667b71;font-size:14px;margin:26px 0}.fg-bottom a{color:#126d50;font-weight:700}.fg-modal[hidden]{display:none!important}.fg-modal{position:fixed;inset:0;z-index:110;background:#10251ddd;display:flex;align-items:center;justify-content:center;padding:20px}.fg-modal-inner{background:white;border-radius:20px;max-width:1180px;max-height:95vh;width:100%;padding:16px;display:flex;flex-direction:column}.fg-modal-inner img{width:100%;height:auto;max-height:79vh;object-fit:contain}.fg-modal-top{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 12px}.fg-modal-top strong{font-size:22px}.fg-modal-top button{border:0;background:#eaf5ee;padding:11px 18px;border-radius:12px;font:inherit;font-weight:800;cursor:pointer}
@media(max-width:1000px){.fg-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}.fg-layout{grid-template-columns:1fr}.fg-side{padding:14px}.fg-side h3{margin-bottom:9px}.fg-chips{margin-top:10px}.fg-map-panel img{max-height:450px}}@media(max-width:650px){.fg-nav{gap:7px}.fg-nav button{flex:1;padding:12px 6px;font-size:16px;border-radius:12px}.fg-lead{display:block;padding:18px}.fg-lead h2{font-size:21px}.fg-map-btn{width:100%;margin-top:16px}.fg-map-panel{padding:9px}.fg-rooms{grid-template-columns:1fr;gap:12px}.fg-room{padding:14px}.fg-photo{height:175px}.fg-heading h2{font-size:24px}.fg-modal{padding:6px}.fg-modal-inner{padding:8px}}

/* v16 newcomer onboarding */
.tile.welcome{background:linear-gradient(135deg,#e4f4e7,#fffaf1);color:#16513e}.tile.welcome .symbol{background:#fff;color:#1b8061}.tile.welcome .arrow{background:#d4eee1;color:#17684d}
.nm-start{display:flex;gap:22px;align-items:center;background:linear-gradient(110deg,#e8f5ec,#fafdf8);border:1px solid #cce5d8;border-radius:24px;padding:28px;margin:16px 0 34px}.nm-start-icon{display:grid;place-items:center;width:92px;height:92px;border-radius:25px;background:#fff;font-size:47px;flex-shrink:0}.nm-eyebrow{color:#348069;font-size:14px;font-weight:850;letter-spacing:1px}.nm-start h2{font-size:30px;letter-spacing:-1px;margin:6px 0 14px}.nm-start p{margin:13px 0 0;color:#516d61;font-size:16px}.nm-steps{display:flex;gap:9px;flex-wrap:wrap}.nm-steps span{display:flex;align-items:center;gap:7px;padding:11px 14px;background:white;border-radius:12px;font-size:17px;font-weight:750}.nm-steps b{display:grid;place-items:center;color:#fff;background:#217a59;width:27px;height:27px;border-radius:50%;font-size:14px}.nm-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:17px}.nm-heading h2{margin:0;font-size:29px}.nm-heading span{font-size:16px;color:#678278}.nm-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.nm-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;background:#fff;border:2px solid #e0ebe4;border-radius:21px;padding:21px;min-height:173px;transition:.18s;box-shadow:0 8px 25px #173e2910}.nm-card:hover,.nm-card.selected{border-color:#328968;background:#eff8f2;transform:translateY(-2px)}.nm-card>span{font-size:35px}.nm-card strong{font-size:24px;letter-spacing:-1px}.nm-card small{font-size:16px;color:#597669}.nm-detail{background:#fff;border:1px solid #d7e7de;box-shadow:0 10px 28px #173d3010;border-radius:23px;margin:24px 0;padding:28px;scroll-margin-top:18px}.nm-placeholder{text-align:center;padding:42px 10px;font-size:21px;color:#5c7569}.nm-detail h2{font-size:31px;color:#185740;margin:0 0 10px}.nm-detail h3{font-size:22px;margin:22px 0 12px}.nm-detail p,.nm-detail li{font-size:19px;line-height:1.7}.nm-lead{color:#567669;margin:0 0 18px}.nm-note{background:#f4f9f4;border-left:5px solid #4d9a74;border-radius:9px;padding:14px 17px;margin:18px 0;font-size:17px;line-height:1.65}.nm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.nm-action{border:0;border-radius:13px;padding:14px 18px;background:#116d53;color:#fff;font-weight:800;font-size:17px}.nm-action.secondary{background:#e8f3eb;color:#146047}.nm-list{margin:8px 0 14px;padding-left:25px}.nm-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.nm-process div{background:#f2f7f3;border:1px solid #dce9e0;border-radius:14px;padding:15px;font-size:17px;line-height:1.55}.nm-process b{display:block;color:#167459;font-size:25px;margin-bottom:6px}.nm-faq details{border-bottom:1px solid #e2ebe4;padding:0}.nm-faq summary{font-size:19px;line-height:1.5;font-weight:800;padding:17px 6px;cursor:pointer}.nm-faq details p{padding:0 10px 15px;margin:0;color:#4d655b}.nm-contact{background:#195e48;color:white;border-radius:22px;padding:25px;display:flex;gap:20px;justify-content:space-between;align-items:center}.nm-contact div{display:flex;flex-direction:column;gap:5px}.nm-contact span{font-size:18px}.nm-contact strong{font-size:34px}.nm-contact small{color:#d4eee1;font-size:15px}.nm-call{background:#fff;color:#15593f;border-radius:13px;padding:14px 20px;text-decoration:none;font-size:17px;font-weight:900;white-space:nowrap}.nm-disclaimer{color:#62796f;font-size:14px;line-height:1.7;margin-top:17px}
@media(max-width:850px){.nm-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.nm-start{align-items:flex-start}.nm-process{grid-template-columns:1fr}}
@media(max-width:600px){.nm-start{padding:18px;gap:12px}.nm-start-icon{width:52px;height:52px;font-size:28px;border-radius:15px}.nm-start h2{font-size:23px}.nm-steps span{font-size:13px;padding:8px}.nm-start p{font-size:14px}.nm-heading{display:block}.nm-heading h2{font-size:23px}.nm-heading span{font-size:13px}.nm-menu{gap:9px}.nm-card{min-height:137px;padding:14px;gap:5px}.nm-card>span{font-size:28px}.nm-card strong{font-size:18px}.nm-card small{font-size:12px}.nm-detail{padding:19px 15px}.nm-detail h2{font-size:25px}.nm-detail h3{font-size:20px}.nm-detail p,.nm-detail li{font-size:17px}.nm-contact{padding:18px;flex-wrap:wrap}.nm-contact strong{font-size:27px}.nm-contact span{font-size:15px}.nm-contact small{font-size:13px}.nm-call{font-size:15px}}

/* v17 · SNS 소식 */
.tile.sns{background:linear-gradient(135deg,#fbeaf1,#f5eafc);color:#713755}
.sns-hero{border-radius:25px;background:linear-gradient(120deg,#e5f2ea 0%,#f5f3e9 100%);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}
.sns-kicker{font-size:13px;color:#31765a;font-weight:800;letter-spacing:.03em}
.sns-hero h2{font-size:clamp(23px,3.6vw,33px);letter-spacing:-.04em;margin:8px 0;color:#254f40}
.sns-hero p{font-size:17px;color:#557365;margin:0}
.sns-hero-icon{font-size:58px}
.sns-channels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 34px}
.sns-channel{border-radius:22px;min-height:126px;display:flex;align-items:center;gap:16px;padding:23px;text-decoration:none;color:#333;border:1px solid rgba(0,0,0,.06);box-shadow:0 5px 18px rgba(23,50,39,.05);transition:transform .15s,box-shadow .15s}
.sns-channel:focus-visible,.sns-card:focus-visible{outline:4px solid #318a65;outline-offset:3px}
.sns-channel:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(23,50,39,.1)}
.sns-channel.ig{background:linear-gradient(135deg,#fff3ef,#fce9f3)}
.sns-channel.yt{background:linear-gradient(135deg,#fff2ef,#fff9f5)}
.sns-channel-emoji{font-size:38px;flex-shrink:0}.sns-channel strong{display:block;font-size:22px;margin-bottom:6px}.sns-channel small{display:block;font-size:15px;color:#665f62}.sns-channel-arrow{font-size:23px;margin-left:auto}
.sns-bar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-top:15px;flex-wrap:wrap}.sns-bar h2{font-size:25px;margin:0 0 6px}.sns-bar p{margin:0;color:#6b7a75;font-size:16px}
.sns-filter{display:flex;gap:7px;flex-wrap:wrap}.sns-filter-btn{background:#f3f6f3;border:1px solid #d9e3db;border-radius:24px;padding:9px 14px;font-size:15px;color:#365c4b;cursor:pointer}.sns-filter-btn.active{color:#fff;background:#25684e;border-color:#25684e}
.sns-note{padding:15px 3px;color:#617368;font-size:15px}.sns-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-bottom:18px}
.sns-card{display:flex;flex-direction:column;text-decoration:none;color:#234237;background:#fff;border:1px solid #dfe9df;border-radius:19px;padding:21px;min-height:162px;gap:12px;box-shadow:0 5px 17px rgba(20,56,39,.04)}
.sns-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.sns-pill{border-radius:24px;background:#f6e9f1;color:#84415e;font-weight:800;font-size:13px;padding:6px 10px}.sns-pill.youtube{background:#ffeded;color:#a33a36}.sns-date{color:#819187;font-size:13px}.sns-card h3{font-size:21px;line-height:1.4;margin:0;overflow-wrap:anywhere}.sns-card p{font-size:15px;line-height:1.6;color:#587064;margin:0;overflow-wrap:anywhere}.sns-card-more{margin-top:auto;color:#227453;font-weight:800}.sns-footer-note{border-radius:14px;background:#f3f7f2;color:#677b6d;padding:15px;font-size:14px;line-height:1.7}.sns-empty{grid-column:1/-1;text-align:center;background:#f7faf7;border:1px dashed #cbdccf;border-radius:18px;padding:35px 18px;color:#567061}.sns-admin-card{border:1px solid #d6e2da;border-radius:13px;padding:14px;margin-bottom:9px;background:#fff}.sns-admin-card strong{display:block;margin-bottom:6px}.sns-admin-card a{word-break:break-all}.sns-admin-card .actions{margin-top:9px}
@media(max-width:740px){.sns-channels,.sns-feed{grid-template-columns:1fr}.sns-hero{padding:22px}.sns-hero-icon{font-size:40px}.sns-channel{min-height:104px}.sns-channel strong{font-size:20px}.sns-hero p{font-size:15px}.sns-card h3{font-size:19px}}

/* v18: safety and usability */
.tile.safety{background:linear-gradient(135deg,#e3f3e8,#d8edf0);color:#205e4b}
.v18-today{margin:14px 0 19px;padding:19px 22px;border-radius:21px;background:#eaf4ef;border:1px solid #cfe6da;color:#24533f}
.v18-today h2{font-size:21px;margin:0 0 10px}.v18-status{font-size:15px;color:#446b59}.v18-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:11px}.v18-stat{border-radius:13px;background:white;padding:12px;text-align:center}.v18-stat b{font-size:27px;display:block;color:#185b43}.v18-stat span{font-size:13px;color:#4c6a5d}
.v18-safety-hero{background:linear-gradient(125deg,#e4f3e7,#f5f3e8);padding:28px;border-radius:24px;margin:20px 0;color:#225740}.v18-safety-hero h2{font-size:30px;margin:9px 0}.v18-safety-hero p{font-size:18px;line-height:1.7}
.v18-section-title{font-size:25px;margin:28px 0 12px}.v18-safety-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.v18-safety-card{border:1px solid #dfe7df;border-radius:19px;padding:20px;background:#fff;color:#34473e}.v18-safety-card h3{font-size:21px;margin:0 0 10px}.v18-safety-card p{font-size:17px;line-height:1.75;margin:0}.v18-safety-card strong{color:#22674c}.v18-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.v18-metric{border:1px solid #d5e7db;border-radius:16px;text-align:center;background:#f4faf6;padding:16px 8px}.v18-metric strong{display:block;font-size:23px;color:#21664a}.v18-metric small{font-size:14px;color:#526c60}.v18-disclaimer{font-size:14px;color:#65786d;line-height:1.6}.v18-emergency{border-radius:20px;background:#245b46;color:white;padding:24px;margin-top:24px}.v18-emergency strong{font-size:24px}.v18-emergency p{margin:9px 0;color:#e4f2e9;font-size:17px}.v18-emergency a{color:white;font-weight:700}
.v18-font-button{border:1px solid #d4e2da;background:#fff;border-radius:11px;padding:10px 13px;color:#225a44;font-weight:750;cursor:pointer}
body.v18-font-large .view p,body.v18-font-large .view li,body.v18-font-large .view .subtitle{font-size:20px!important;line-height:1.75!important}body.v18-font-xl .view p,body.v18-font-xl .view li,body.v18-font-xl .view .subtitle{font-size:24px!important;line-height:1.85!important}body.v18-font-xl .cards .tile h2{font-size:27px!important}body.v18-font-large .cards .tile h2{font-size:24px!important}
.v18-backup{background:#f2f8f4;border:1px solid #d4e9dc;border-radius:16px;padding:18px;margin:12px 0}.v18-backup p{line-height:1.65}.v18-backup button{border:0;border-radius:12px;background:#266b4f;color:white;font-size:16px;font-weight:700;padding:13px 20px;cursor:pointer}.v18-backup button:disabled{opacity:.45}.v18-backup pre{white-space:pre-wrap;font-size:13px}
@media(max-width:650px){.v18-safety-grid{grid-template-columns:1fr}.v18-metric-grid{grid-template-columns:repeat(2,1fr)}.v18-today{padding:14px}.v18-stat b{font-size:22px}.v18-stat span{font-size:11px}.v18-safety-hero h2{font-size:25px}.v18-safety-card p{font-size:17px}}

/* v19 - responsive unified search, selectable map chips, activities and analytics */
.v19-search{border:1px solid #cfe5d9;background:#f5faf7;border-radius:22px;padding:22px;margin:20px 0}.v19-search h2{margin:0 0 8px;font-size:25px}.v19-search input{width:100%;border:2px solid #b8d8c8;border-radius:14px;background:white;padding:16px;font-size:20px}.v19-search-results{display:grid;gap:9px;margin-top:13px}.v19-result{border:1px solid #d7e5dc;border-radius:14px;background:white;padding:13px 16px;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:9px;color:#233e30;font-size:17px}.v19-result small{font-size:13px;color:#607467}.v19-search-note{font-size:13px;color:#5f7668;margin:9px 0 0}.v19-map-frame{position:relative}.v19-map-room-nav{position:absolute;bottom:12px;left:12px;right:12px;max-height:45%;overflow:auto;display:flex;flex-wrap:wrap;gap:6px;padding:10px;background:rgba(255,255,255,.93);backdrop-filter:blur(5px);border-radius:14px;border:1px solid #d7e8db;box-shadow:0 4px 20px #0002}.v19-map-room-nav button{font-size:13px;border:1px solid #bcdacc;background:#eaf7ed;color:#194e36;border-radius:20px;padding:8px 11px;cursor:pointer;font-weight:800}.v19-map-room-nav button:focus-visible,.v19-result:focus-visible{outline:3px solid #267850}.v19-safety-gallery{margin:20px 0 30px}.v19-activity{background:#f6faf7;border:1px solid #d2e6d7;border-radius:20px;padding:24px;display:grid;grid-template-columns:100px 1fr;gap:20px}.v19-activity-icon{display:flex;align-items:center;justify-content:center;border-radius:18px;background:#dfefe4;font-size:52px}.v19-activity h3{margin:0 0 7px;font-size:21px}.v19-activity p{line-height:1.75}.v19-activity a{display:inline-block;border-radius:12px;background:#226749;color:white;padding:13px 17px;text-decoration:none;font-weight:750}.v19-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.v19-stats-grid>div{background:#f0f7f3;padding:16px;border-radius:14px}.v19-stats-grid strong{display:block;color:#1b6545;font-size:29px}.v19-stat-row{display:flex;align-items:center;gap:10px;margin:10px 0}.v19-stat-row label{width:155px;font-size:14px;flex-shrink:0}.v19-stat-bar{flex:1;border-radius:30px;background:#e1ece5;height:14px;overflow:hidden}.v19-stat-bar i{display:block;height:100%;background:#408e69}.v19-admin-card{margin:16px 0;padding:20px;background:#f6faf7;border:1px solid #d4e6d9;border-radius:18px}.v19-admin-card button,.v19-admin-card select{padding:12px 14px;border-radius:10px;font-size:16px}.v19-admin-card button{background:#23684a;color:white;border:0;cursor:pointer}.v19-admin-card p{line-height:1.6}.v19-stat-status{font-size:14px;color:#56715d;margin:12px 0}.v19-backup-check{margin-top:15px;border-top:1px solid #d9e8df;padding-top:16px}.v19-backup-check input{max-width:100%;font-size:15px}.v19-check-output{white-space:pre-wrap;background:#fff;border:1px solid #e1e9e1;padding:13px;border-radius:12px;line-height:1.8;font-size:14px}@media(max-width:650px){.v19-activity{grid-template-columns:1fr}.v19-activity-icon{height:70px}.v19-stats-grid{grid-template-columns:1fr 1fr}.v19-map-room-nav{max-height:36%;padding:7px}.v19-map-room-nav button{font-size:12px;padding:6px 8px}.v19-search{padding:14px}}

/* v19.2 safety activity catalogue */
.v192-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}
.v192-activity{background:#fff;border:1px solid #d8e9df;border-radius:20px;overflow:hidden;box-shadow:0 7px 22px #1c503014}
.v192-photo{width:100%;height:205px;display:grid;place-items:center;background:#e9f4ec;font-size:62px;overflow:hidden}
.v192-photo img{width:100%;height:100%;object-fit:cover}
.v192-info{padding:20px}.v192-info small{font-size:14px;color:#527461}.v192-info h3{font-size:22px;margin:7px 0;color:#204d38}.v192-info p{font-size:17px;line-height:1.6;color:#455e51;white-space:pre-line}
.v192-info a{display:inline-block;margin-top:8px;font-weight:850;color:#16664a;font-size:17px}
@media(max-width:760px){.v192-activity-grid{grid-template-columns:1fr}.v192-photo{height:200px}}
