:root{--green:#25584b;--green-light:#edf4ef;--ink:#21352e;--muted:#7b8780;--paper:#f7f8f4;--line:#e4e9e2;--orange:#dba668;--white:#fff;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--paper)}[hidden]{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{opacity:.55;cursor:wait}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px;background:white;color:var(--ink)}textarea{resize:vertical;min-height:95px}input:focus,textarea:focus,select:focus{outline:2px solid #88ac9c;outline-offset:1px}label{display:block;font-size:13px;font-weight:600;margin:18px 0 12px}label input,label textarea,label select{display:block;margin-top:9px}a{color:inherit;text-decoration:none}.primary{background:var(--green);color:white;padding:14px 20px;border-radius:10px;font-weight:600;display:inline-flex;justify-content:space-between;gap:24px;align-items:center}.secondary{padding:10px 15px;border:1px solid var(--line);border-radius:8px;background:white}.wide{width:100%}.text-button{color:var(--green);padding:18px 0}.muted,.hint{color:var(--muted);line-height:1.7}.hint{font-size:12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h2{letter-spacing:-1px;font-size:24px}h3{font-size:17px}.wordmark{display:flex;gap:12px;align-items:center;font-weight:750;letter-spacing:1px;font-size:15px}.light{font-weight:400;font-size:11px;letter-spacing:2px}.logo{display:grid;place-items:center;width:38px;height:38px;background:var(--green);color:white;border-radius:12px;font-family:Georgia,serif;font-size:23px}.wordmark small{display:block;letter-spacing:0;color:var(--muted);font-size:11px;margin-top:6px;font-weight:400}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.welcome{padding:54px 11%;background:#e9eee6;position:relative;overflow:hidden;display:flex;flex-direction:column}.welcome>.eyebrow{margin-top:85px;color:var(--green)}.welcome h1{font-size:48px;line-height:1.35;letter-spacing:-2px;margin:22px 0}.welcome p{line-height:1.9;color:#68786d}.welcome>small{margin-top:auto;color:#809085;font-size:11px;padding-top:22px}.welcome-art{height:240px;position:relative;margin-top:18px}.arch{position:absolute;bottom:0;width:100px;height:200px;border-radius:80px 80px 0 0;background:#c5d1c0}.a1{left:5%;height:155px}.a2{left:28%;background:#aabb9f;width:120px;height:220px}.a3{left:58%;background:#d3dbc9;width:105px;height:175px}.sun{position:absolute;right:10%;top:0;background:#e0b88c;width:50px;height:50px;border-radius:50%}.verse{position:absolute;bottom:25px;width:100%;text-align:center;font-size:13px;color:#314b3b}.verse span{display:block;font-size:10px;margin-top:12px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:48px}.auth-card{width:360px}.auth-card h2{margin:18px 0 10px}.auth-card form{margin-top:32px}.auth-card .primary{margin-top:12px}.privacy-note{font-size:11px;color:var(--muted);text-align:center;border-top:1px solid var(--line);padding-top:28px;margin-top:12px}#shell{display:flex;min-height:100vh}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:32px 22px 18px;display:flex;flex-direction:column}.workspace-label{font-size:10px;color:#9ba49d;margin:46px 14px 14px}nav{display:flex;flex-direction:column;gap:6px}nav button{display:flex;align-items:center;text-align:left;padding:13px 15px;border-radius:10px;font-size:13px;color:#6a776f;gap:13px}nav button>span{font-size:21px;width:22px;text-align:center}nav button.active{background:var(--green-light);color:var(--green);font-weight:700}nav button:hover{background:#f5f7f2}nav i{font-style:normal;background:var(--green);color:white;border-radius:10px;font-size:10px;margin-left:auto;padding:1px 6px}nav i:empty{display:none}.sidebar-note{margin-top:auto;font-size:10px;color:var(--muted);padding:20px 8px}.status-dot{display:inline-block;width:6px;height:6px;background:#8aa88b;border-radius:50%;margin-right:5px}.profile{display:flex;align-items:center;gap:10px;padding-top:20px;border-top:1px solid var(--line)}.avatar{width:38px;height:38px;border-radius:13px;background:#e8ede1;color:#617652;display:grid;place-items:center;flex-shrink:0;font-size:13px;font-weight:600}.profile strong{font-size:12px}.profile small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.profile button{margin-left:auto}.icon-button{font-size:21px;padding:5px 10px;color:var(--muted)}main{margin-left:240px;width:calc(100% - 240px);padding:38px 46px 18px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.topbar h2{margin:9px 0 0}.date-label{font-size:11px;color:var(--muted)}.hero{background:#e8eee3;min-height:210px;border:1px solid #e0e8dc;border-radius:18px;padding:32px 35px;position:relative;overflow:hidden;margin-bottom:28px}.hero h1{font-size:29px;line-height:1.5;letter-spacing:-1.5px;margin:15px 0 10px}.hero p{font-size:12px;color:#71816d;margin-bottom:0}.hero .hero-art{position:absolute;right:45px;bottom:0;width:225px;height:180px;opacity:.8}.hero-art .arch{width:68px}.hero-art .a1{height:115px}.hero-art .a2{height:167px;width:90px}.hero-art .a3{height:132px;width:76px}.hero-art .sun{width:34px;height:34px;right:0}.grid{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.card{border:1px solid var(--line);background:white;border-radius:15px;padding:23px;margin-bottom:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.card-head h3{margin:0}.card-head button{font-size:11px;color:var(--muted)}.badge{background:var(--green-light);color:var(--green);font-size:10px;padding:5px 8px;border-radius:5px;display:inline-block}.badge.orange{background:#fbf1e4;color:#ad8149}.notice-feature{padding:18px;border-radius:10px;background:#f8f9f4;border:1px solid #edf0e6}.notice-feature h3{margin:12px 0 8px;font-size:15px;line-height:1.7}.notice-feature p{font-size:12px;color:var(--muted);line-height:1.8;white-space:pre-wrap}.tiny{font-size:10px;color:var(--muted)}.row{display:flex;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid #f0f2ec;width:100%;text-align:left}.row:last-child{border-bottom:0}.row-copy{min-width:0;flex:1}.row-copy strong{font-size:12px}.row-copy p{color:var(--muted);font-size:11px;margin:7px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.count{font-size:10px;background:var(--green);color:white;border-radius:12px;min-width:18px;text-align:center;padding:3px}.event-date{width:42px;padding:8px 0;border-radius:8px;background:#f6f7f2;text-align:center;font-size:19px;font-weight:650}.event-date span{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-bottom:3px}.quick-links{display:flex;gap:10px;margin-top:18px}.quick-links button{background:white;border:1px solid var(--line);border-radius:9px;padding:12px;flex:1;font-size:11px}.section-actions{display:flex;justify-content:space-between;gap:12px;margin-bottom:22px;align-items:center}.section-actions p{margin:0;font-size:12px;color:var(--muted)}.empty{padding:32px 15px;text-align:center;color:var(--muted);line-height:1.9;font-size:13px}.prayer-body{white-space:pre-wrap;line-height:1.9;font-size:14px;margin:18px 0}.card-bottom{display:flex;align-items:center;gap:10px;margin-top:15px}.card-bottom button{font-size:11px}.chat-layout{display:grid;grid-template-columns:280px 1fr;min-height:570px;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.chat-list{border-right:1px solid var(--line);padding:17px}.chat-list .row{padding:16px 8px;border-radius:8px}.chat-list .selected{background:var(--green-light)}.chat-panel{display:flex;flex-direction:column;min-width:0}.chat-header{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.chat-header h3{margin:0;font-size:15px}.messages{padding:24px;flex:1;overflow:auto;height:390px;max-height:55vh;background:#fafbf8}.message{display:flex;gap:10px;margin-bottom:20px;align-items:flex-start}.message.mine{flex-direction:row-reverse}.message .bubble{padding:12px 15px;border:1px solid var(--line);border-radius:0 12px 12px 12px;background:white;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;max-width:100%}.message.mine .bubble{background:var(--green);color:white;border:0;border-radius:12px 0 12px 12px}.message-content{max-width:80%;min-width:0}.message-name{font-size:10px;color:var(--muted);margin-bottom:6px}.message-meta{display:flex;gap:8px;align-items:center;font-size:9px;color:var(--muted);margin-top:6px}.message-meta button{font-size:9px;padding:0}.attachment{display:block;margin-top:8px;text-decoration:underline;text-align:left;font-size:12px}.composer{padding:15px;border-top:1px solid var(--line)}.compose-line{display:flex;gap:10px}.compose-line textarea{min-height:48px;height:48px;max-height:120px}.compose-line button{flex-shrink:0}.file-label{margin:10px 0 0;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:10px}.file-label input{padding:0;border:0;font-size:10px;max-width:230px;margin:0}.person-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.person-grid .card{text-align:center;margin:0}.person-grid .avatar{margin:0 auto 13px;width:48px;height:48px}.person-grid h3{font-size:15px;margin-bottom:6px}.person-grid .card-bottom{justify-content:center}footer{font-size:10px;color:#9aa399;display:flex;justify-content:space-between;padding-top:32px;padding-bottom:12px}footer span{letter-spacing:1.5px;font-size:9px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#213b30;color:white;padding:13px 22px;border-radius:10px;z-index:100;font-size:13px;max-width:90vw;display:none}dialog{border:1px solid var(--line);border-radius:17px;padding:26px;width:480px;max-width:94vw;max-height:90vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#142e2855;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:21px;margin:0}.check-list{max-height:190px;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:10px}.check-list label{display:flex;align-items:center;gap:10px;margin:8px}.check-list input{width:auto;margin:0}.admin-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.admin-row strong{margin-right:auto}.admin-row select{width:auto;max-width:180px;padding:8px}.scroll-table{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.offline-banner{background:#fff1d9;color:#7d602e;padding:10px 16px;font-size:12px;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){main{padding-left:70px;padding-right:70px}#content{max-width:1250px;margin:auto}}@media(max-width:1100px){main{padding:30px 25px}.sidebar{width:205px;padding:28px 14px}main{margin-left:205px;width:calc(100% - 205px)}.grid{grid-template-columns:1fr 1fr;gap:16px}.hero .hero-art{right:12px;opacity:.4}.hero h1,.hero p{position:relative;z-index:1}.chat-layout{grid-template-columns:225px 1fr}.person-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.auth-layout{grid-template-columns:1fr}.welcome{padding:25px;min-height:245px}.welcome>.eyebrow{margin-top:25px}.welcome h1{font-size:30px;margin:12px 0}.welcome p{font-size:12px;margin:0}.welcome-art,.welcome>small{display:none}.auth-panel{padding:35px 25px}.auth-card{width:100%;max-width:400px}.sidebar{position:fixed;top:auto;bottom:0;width:100%;height:72px;padding:0 5px;z-index:20;border-right:0;border-top:1px solid var(--line)}.sidebar>.wordmark,.workspace-label,.sidebar-note,.profile{display:none}nav{flex-direction:row;justify-content:space-around;overflow:auto;gap:0;height:100%}nav button{flex-direction:column;gap:2px;padding:9px 9px;font-size:9px;flex-shrink:0;border-radius:0;justify-content:center;position:relative}nav button>span{font-size:22px}nav i{position:absolute;top:5px;right:1px}main{width:100%;margin:0;padding:24px 18px 86px}.topbar{margin-bottom:23px}.topbar h2{font-size:22px}.date-label{font-size:10px}.hero{min-height:185px;padding:25px}.hero h1{font-size:24px}.hero .hero-art{width:140px;right:0;opacity:.35}.grid{grid-template-columns:1fr;gap:0}.card{padding:20px}.chat-layout{display:flex;flex-direction:column;min-height:550px}.chat-list{border-right:0;border-bottom:1px solid var(--line);display:flex;gap:8px;overflow:auto;padding:10px}.chat-list .row{min-width:150px;width:150px;border:0;padding:10px}.chat-list .row .avatar{display:none}.chat-list .row-copy p{max-width:130px}.messages{height:350px;max-height:48vh;padding:18px}.chat-header{padding:16px}.chat-header h3{font-size:13px}.section-actions{gap:10px}.section-actions .primary{padding:12px;font-size:12px}.person-grid{gap:10px}.person-grid .card{padding:20px 10px}footer{font-size:9px}#toast{bottom:88px}.event-date{flex-shrink:0}}
.recovery-codes{background:#f3f5ef;padding:20px;border-radius:10px;line-height:1.8;user-select:all}.church-logo-image{width:38px;height:38px;object-fit:contain;border-radius:9px}.card>button{margin:5px 8px 5px 0}.card input[type=file]{margin-bottom:10px}
.search-results{max-height:48vh;overflow:auto}.search-result{border-top:1px solid var(--line);padding:14px 0}.search-result p{white-space:pre-wrap;overflow-wrap:anywhere}.search-result small{color:var(--muted)}

.enter-setting{display:flex;align-items:center;gap:10px;cursor:pointer}.enter-setting input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--green)}.composer-hint{margin:8px 0 0;font-size:11px;color:var(--muted)}
.bubble-photo{display:block;margin-top:7px;padding:0;border:0;border-radius:var(--radius-md,12px);overflow:hidden;line-height:0;max-width:240px;width:100%;background:var(--surface-soft,#f1f3ef);cursor:pointer}
.bubble-photo img{display:block;width:100%;height:auto;max-height:300px;object-fit:cover}
.bubble-photo:focus-visible{outline:2px solid var(--green,#173d30);outline-offset:2px}
.bubble-photo-fallback{display:block;padding:12px;font-size:13px;line-height:1.5;color:var(--muted,#657069)}
.unread-count{color:var(--orange,#a17a37);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.unread-count[hidden]{display:none}
.message-meta .clock{white-space:nowrap}
.message.pending .bubble{opacity:.6}
.message.pending .send-state{color:var(--muted,#657069)}
.message.failed .bubble{opacity:1;background:var(--error,#a83d39);color:#fff}
.message.failed .send-state{color:var(--error,#a83d39)}
.send-retry{color:var(--error,#a83d39);text-decoration:underline;font-size:inherit;padding:0}
.avatar.avatar-large{width:76px;height:76px;border-radius:24px;font-size:26px;margin-bottom:12px}
.avatar.avatar-large img{width:100%;height:100%;object-fit:cover}
/* 첨부 버튼을 입력줄 안으로. 파일 선택창 자체는 숨기고 ＋만 보여 줍니다. */
.attach-button{flex:none;margin:0;display:grid;place-items:center;width:44px;min-height:44px;border:1px solid var(--line,#e2e5e1);border-radius:var(--radius-sm,9px);background:var(--surface,#fff);color:var(--muted,#657069);cursor:pointer}
.attach-button:hover{background:var(--green-light,#e7eee9);color:var(--green,#173d30)}
.attach-button:focus-within{outline:2px solid var(--green,#173d30);outline-offset:2px}
.attach-glyph{font-size:20px;line-height:1}
.attach-button input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.compose-line{align-items:flex-end}
/* 휴대폰에서 대화방을 '실제로 보이는 영역'에 정확히 맞춥니다.
   키보드가 올라오면 --vv-height 가 줄고 --vv-top 이 밀리므로,
   입력창은 항상 키보드 바로 위에 남습니다.
   대화방에서는 하단 탭을 감춰 움직이는 요소를 하나로 줄입니다(← 로 목록 복귀). */
@media(max-width:760px){
  .chat-layout.room-open{
    position:fixed;left:0;right:0;
    top:var(--vv-top,0px);
    height:var(--vv-height,100dvh);
    z-index:60;margin:0;
    display:flex;flex-direction:column;min-height:0;overflow:hidden;
    background:var(--paper,#f7f5ef);border:0;border-radius:0;
  }
  body.room-open{overflow:hidden}
  body.room-open .sidebar{display:none}
  .chat-layout.room-open .chat-panel{
    display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;
    width:100%;max-height:none;
  }
  .chat-layout.room-open .messages{
    flex:1;min-height:0;height:auto;max-height:none;margin:0;
  }
  .chat-layout.room-open .composer{
    position:static;flex:none;margin:0;bottom:auto;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));
  }
  .chat-layout.room-open .attachment-preview,
  .chat-layout.room-open .attachment-status{margin:4px 0 0}
  .chat-layout.room-open .scroll-jump{bottom:76px}
  .chat-layout.room-open .emoji-board{max-height:132px}
}
.hidden-rooms{margin-top:8px;border-top:1px solid var(--line,#e2e5e1);padding-top:6px}
.hidden-rooms-toggle{font-size:12px;color:var(--muted,#657069);padding:8px 4px}
.hidden-rooms-list{display:none}
.hidden-rooms.open .hidden-rooms-list{display:block}
.hidden-room{font-size:13px;color:var(--muted,#657069)}
#boot-error{position:fixed;inset:0;z-index:999;margin:0;padding:28px 22px;background:#fff;color:#202622;font-size:15px;line-height:1.7;overflow:auto}
#boot-error strong{display:block;font-size:19px;margin-bottom:10px}
#boot-error p{margin:0 0 16px;overflow-wrap:anywhere}
#boot-error small{display:block;color:#657069;font-size:12px;overflow-wrap:anywhere}
.bubble-link{color:inherit;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.message.mine .bubble-link{color:inherit}
.channel-time{font-size:11px;color:var(--muted,#657069);white-space:nowrap}
.channel-state{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.compose-line textarea{resize:none;overflow-y:auto}
.unread-divider{display:flex;align-items:center;gap:10px;margin:14px 0 10px;color:var(--orange,#a17a37);font-size:11px}
.unread-divider::before,.unread-divider::after{content:'';flex:1;height:1px;background:var(--orange,#a17a37);opacity:.35}
.chat-panel{position:relative}
.scroll-jump{position:absolute;left:50%;transform:translateX(-50%);bottom:84px;z-index:5;
  padding:8px 16px;border-radius:999px;background:var(--green,#173d30);color:#fff;font-size:12px;
  box-shadow:0 6px 18px rgba(23,61,48,.25)}
.scroll-jump[hidden]{display:none}
.typing-line{padding:4px 14px 6px;font-size:12px;color:var(--muted,#657069);min-height:20px}
/* 답장 인용 */
.quote{display:block;width:100%;text-align:left;margin:0 0 7px;padding:7px 10px;border:0;
  border-left:3px solid currentColor;border-radius:6px;background:rgba(0,0,0,.05);
  color:inherit;opacity:.85;font-size:12.5px;line-height:1.5;cursor:pointer}
.message.mine .quote{background:rgba(255,255,255,.16)}
.quote-author{display:block;font-weight:600;margin-bottom:2px}
.quote-body{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quote-gone{font-style:italic;opacity:.6}
.message.flash>.message-content>.bubble-line .bubble{animation:flash 1.2s ease-out}
@keyframes flash{0%,60%{box-shadow:0 0 0 3px var(--orange,#a17a37)}100%{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.message.flash>.message-content>.bubble-line .bubble{animation:none;outline:2px solid var(--orange,#a17a37)}}

/* 반응 */
.reaction-bar{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.message.mine .reaction-bar{justify-content:flex-end}
.reaction{min-height:26px;padding:2px 9px;border:1px solid var(--line,#e2e5e1);border-radius:999px;
  background:var(--surface,#fff);font-size:12.5px;line-height:1.6;color:var(--ink,#202622)}
.reaction.mine{border-color:var(--green,#173d30);background:var(--green-light,#e7eee9);font-weight:600}
.reaction-add{color:var(--muted,#657069);padding:2px 10px}
.reaction-bar:hover .reaction-add,.reaction-add:focus-visible{opacity:1}
.reaction-add{opacity:.55}
.reaction-picker{position:fixed;z-index:200;display:flex;gap:4px;padding:5px 7px;
  border:1px solid var(--line,#e2e5e1);border-radius:999px;background:var(--surface,#fff);
  box-shadow:0 8px 20px rgba(23,61,48,.18);width:max-content}
.reaction-choice{font-size:19px;line-height:1;padding:4px 5px;border-radius:8px}
.reaction-choice:hover{background:var(--green-light,#e7eee9)}
.reply-button{font-size:10px;color:var(--muted,#657069);text-decoration:underline;padding:0}

/* 답장 대상 표시줄 */
.reply-bar{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:8px;
  border-left:3px solid var(--green,#173d30);border-radius:8px;background:var(--surface-soft,#f1f3ef)}
.reply-copy{flex:1;min-width:0;font-size:12.5px;line-height:1.5}
.reply-copy strong{display:block;font-size:12px;color:var(--green,#173d30)}
.reply-copy span{display:block;color:var(--muted,#657069);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 이모티콘 판 */
.emoji-button{flex:none;width:40px;min-height:44px;display:grid;place-items:center;
  font-size:19px;color:var(--muted,#657069);border:1px solid var(--line,#e2e5e1);
  border-radius:var(--radius-sm,9px);background:var(--surface,#fff)}
.emoji-button:hover{background:var(--green-light,#e7eee9);color:var(--green,#173d30)}
.emoji-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:2px;
  margin-bottom:8px;padding:6px;border:1px solid var(--line,#e2e5e1);border-radius:12px;
  background:var(--surface,#fff);max-height:150px;overflow-y:auto}
.emoji-choice{font-size:22px;line-height:1;min-height:40px;border-radius:8px}
.emoji-choice:hover{background:var(--green-light,#e7eee9)}
.sound-setting{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0 0 4px}
.sound-setting input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:var(--green,#173d30)}
.sound-result{margin-top:8px;min-height:20px;color:var(--green,#173d30)}
/* 알림이 왜 안 되는지 눈에 띄게 알려 주는 안내와, 전화로 읽어 주실 수 있는 상태 한 줄 */
.notify-advice{background:#fbf1e4;color:#8a6631;border-radius:9px;padding:11px 13px;margin:4px 0 8px;line-height:1.75}
.notify-state{color:#96a09a;font-size:11px;margin:0 0 10px;overflow-wrap:anywhere}
.push-result{margin-top:8px;min-height:20px;color:var(--green,#173d30)}
/* 긴급 공지 — 관리자만 보이는 발송 카드와, 모두에게 보이는 말풍선 표시 */
.urgent-card{border-color:#e6c4a8;background:#fffaf4}
.urgent-card h3{color:#a5522a}
.urgent-card textarea{min-height:78px;margin-top:6px}
.urgent-send{background:#b1552b;margin-top:12px;justify-content:center}
.urgent-send.urgent-armed{background:#8c3d1a}
.urgent-result{margin-top:8px;min-height:20px;color:#8a6631}
/* 표딱지는 본문과 붙지 않도록 제 줄을 차지합니다 */
.urgent-tag{display:block;width:fit-content;font-size:10px;font-weight:700;letter-spacing:1px;color:#fff;background:#b1552b;padding:3px 8px;border-radius:6px;margin-bottom:8px}
.urgent-bubble{border-color:#e0a97f;background:#fff6ec;box-shadow:inset 4px 0 0 #b1552b}
.message.mine .urgent-bubble{background:#b1552b;color:#fff;border:0}
.message.mine .urgent-bubble .urgent-tag{color:#fff;background:#8c3d1a}
.message.mine .urgent-bubble{box-shadow:inset 4px 0 0 #8c3d1a}
/* 숨긴 대화방에서 바로 나가기 — 쌓인 방을 그 자리에서 정리할 수 있게 */
.hidden-room-line{display:flex;align-items:center;gap:8px}
.hidden-room-line .hidden-room{flex:1;min-width:0;text-align:left}
.hidden-room-leave{font-size:11px;color:#a9563a;padding:8px 10px;border:1px solid #ecd9cd;border-radius:8px;flex-shrink:0}
/* 메시지 하나를 고치거나 지우는 ⋯ 버튼과 그 메뉴 */
.message-more{font-size:13px;line-height:1;min-width:34px;min-height:30px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#5c6a63;font-weight:600}
.message-more-wide{font-size:11px;letter-spacing:.3px;color:#a9563a;border-color:#e8d3c6;background:#fff8f2}
.message-more:hover{background:#eef1ea;color:var(--ink)}
.message-sheet .room-sheet-action{width:100%;text-align:left}
.bulletin-problem{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:8px 10px;margin:6px 0 0;font-size:.92em;overflow-wrap:anywhere}
