/* 앱 화면 추가 스타일 (2026-10-07) */
[hidden]{display:none!important}
body{background:var(--bg)}
.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--side)}
.auth-box{width:100%;max-width:400px;display:grid;gap:14px}
.auth-logo{display:flex;gap:10px;align-items:center}.auth-logo b{font-size:20px;font-weight:800}.auth-logo small{display:block;color:var(--mute);font-size:12px}
.seg2{display:grid;grid-template-columns:1fr 1fr;background:var(--line2);border-radius:10px;padding:3px}
.seg2 button{height:34px;border:0;background:none;border-radius:8px;font-weight:700;color:var(--ink2);cursor:pointer;font:inherit}
.seg2 button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}
#authForm{display:grid;gap:10px}.signup-only{display:none!important}.is-signup .signup-only{display:grid!important}
.f{display:grid;gap:5px;font-size:12px;font-weight:700;color:var(--ink2)}
.f input,.f select,.f textarea,.dsub,.dbody,.contact input{font:inherit;font-size:14px;font-weight:500;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--card);width:100%;min-width:0}
.f textarea,.dbody{resize:vertical;line-height:1.55}
.wide{width:100%}.err{color:var(--red);font-size:13px;min-height:1em}.fine{font-size:12px;color:var(--mute);line-height:1.6}
.red{color:var(--red)}.beta{font-size:11px;font-weight:700;color:var(--blue);background:var(--blue-soft);border-radius:99px;padding:3px 9px;margin-left:auto;white-space:nowrap}
.me .btn{margin-left:4px}.top{gap:12px}
.loading{color:var(--mute)}
.warn{display:flex;gap:10px;align-items:flex-start;background:var(--amber-soft);border-color:#F3DFAE}.warn a{color:var(--brand);font-weight:700}
.hero h2{font-size:18px;font-weight:800;margin-bottom:12px}
.sform{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:8px}
.progress{display:flex;gap:12px;align-items:center;background:var(--brand-soft);border-radius:12px;padding:12px 14px;margin:6px 0}
.progress span{display:block;font-size:12px;color:var(--ink2)}
.spin{width:22px;height:22px;border-radius:50%;border:3px solid #BFE5D9;border-top-color:var(--brand);animation:sp 1s linear infinite;flex:none}@keyframes sp{to{transform:rotate(360deg)}}
.two2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}.two2.wide-l{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.blist{display:grid;gap:2px}
.brow{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 8px;border-radius:12px}
.brow:hover{background:var(--line2)}
.brow .nm{font-weight:800;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.brow .meta{font-size:12px;color:var(--mute)}
.brow .why{font-size:12.5px;color:var(--ink2);display:flex;gap:6px;margin-top:3px}.brow .why svg{flex:none;width:14px;color:var(--pin)}
.brow .why span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bct{font-size:12px}.ok{color:var(--brand);font-weight:700;display:inline-flex;gap:4px;align-items:center}.ok svg{width:14px}
.hist{display:grid}.hist a{display:grid;padding:10px 6px;border-bottom:1px solid var(--line2)}.hist a:hover{background:var(--line2)}
.hist span{font-size:12px;color:var(--ink2)}.hist small{font-size:11px;color:var(--mute)}.hist em{font-style:normal}
.bhead2{display:flex;gap:14px;align-items:center}.bhead2 h2{font-size:19px;font-weight:800}
.bhead2 .meta{font-size:13px;color:var(--brand);display:inline-flex;gap:4px;align-items:center}.bhead2 .meta svg{width:14px}
.sum{margin:14px 0 4px;line-height:1.6;color:var(--ink2)}
.h3{font-size:13px;font-weight:800;margin:18px 0 8px}
.bars{display:grid;gap:7px}.bars div{display:grid;grid-template-columns:72px minmax(0,1fr) 44px;gap:10px;align-items:center;font-size:12px}
.bars i{height:8px;background:var(--line2);border-radius:99px;overflow:hidden}.bars i b{display:block;height:100%;background:var(--brand2);border-radius:99px}
.bars em{font-style:normal;text-align:right;color:var(--ink2);font-weight:700}
.evid{display:grid;gap:7px;padding-left:0;list-style:none;font-size:13px;color:var(--ink2);line-height:1.5}
.evid li{background:var(--line2);border-radius:10px;padding:9px 11px;overflow-wrap:anywhere}.evid a{color:var(--brand);font-weight:700;display:inline-flex;gap:3px;align-items:center;font-size:12px}.evid svg{width:12px}
.contact{display:flex;gap:8px}.stbtns{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.draft{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;margin-bottom:12px}
.dstep{font-size:11px;font-weight:800;color:var(--pin)}.dsub{font-weight:700}
.ko{font-size:13px;color:var(--ink2);line-height:1.6;background:var(--line2);border-radius:10px;padding:10px;margin-top:6px}
details summary{cursor:pointer;font-size:12px;color:var(--brand);font-weight:700}
.dact{display:flex;gap:8px;flex-wrap:wrap}
dialog{border:0;border-radius:18px;padding:0;width:min(640px,calc(100vw - 32px));box-shadow:0 20px 60px rgba(0,0,0,.25)}
dialog::backdrop{background:rgba(12,42,41,.5)}
.pv{padding:20px;display:grid;gap:14px}.pv-h{display:flex;justify-content:space-between;align-items:center}.pv-h h2{font-size:17px;font-weight:800}
.pv-mail{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pv-mail>div{display:grid;grid-template-columns:84px minmax(0,1fr);padding:8px 12px;border-bottom:1px solid var(--line2);font-size:13px;overflow-wrap:anywhere}
.pv-mail span{color:var(--mute)}
.pv-mail pre{white-space:pre-wrap;font:inherit;font-size:13.5px;line-height:1.6;padding:14px 12px;margin:0;max-height:42vh;overflow:auto;overflow-wrap:anywhere}
.checks2{list-style:none;padding:0;display:grid;gap:6px;font-size:13px}
.checks2 li{display:flex;gap:7px;align-items:center}.checks2 svg{width:15px;flex:none}.checks2 .ok{color:var(--brand)}.checks2 .no{color:var(--amber);font-weight:600}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.setf{display:grid;gap:10px}.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.conn{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
@media (max-width:980px){.two2,.two2.wide-l{grid-template-columns:minmax(0,1fr)}.sform{grid-template-columns:minmax(0,1fr)}.beta{display:none}}
@media (max-width:560px){.brow{grid-template-columns:44px minmax(0,1fr)}.brow .ring{--s:44px}.bct{grid-column:2}.me span{display:none}.top{padding:0 16px}.page{padding:16px}}
/* 발송기 화면 (2026-10-07) */
.nav a.soon{opacity:.45;cursor:default}.on-t{color:var(--brand2)}
.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.steps3 a{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px}
.steps3 a b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--line2);font-weight:800;flex:none}
.steps3 a.done b{background:var(--brand);color:#fff}.steps3 a.done b svg{width:16px}
.steps3 strong{display:block;font-size:14px}.steps3 span{font-size:12px;color:var(--mute)}
.runrow{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.runrow .big{font-size:18px;font-weight:800;display:flex;align-items:center;gap:8px}
.dot-on{width:10px;height:10px;border-radius:50%;background:var(--brand2);box-shadow:0 0 0 4px var(--brand-soft)}
.kpis{display:flex;gap:18px;margin-right:auto}.kpis div,.stbar div{display:grid}.kpis b,.stbar b{font-size:20px;font-weight:800}.kpis span,.stbar span{font-size:12px;color:var(--mute)}
.stbar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.chip.r{background:var(--red-soft);color:var(--red)}.chip.b{background:var(--blue-soft);color:var(--blue)}.chip.g{background:var(--brand-soft);color:var(--brand)}.chip.a{background:var(--amber-soft);color:var(--amber)}
.drop{display:grid;place-items:center;gap:6px;text-align:center;border:2px dashed var(--line);border-radius:14px;padding:28px 16px;cursor:pointer;color:var(--ink2)}
.drop.over,.drop:hover{border-color:var(--brand);background:var(--brand-soft)}.drop svg{width:26px;color:var(--brand)}.drop span{font-size:12px;color:var(--mute)}
.more2{margin-left:auto}.paste{margin-top:10px}.paste textarea{width:100%;margin:8px 0;font:inherit;font-size:13px;border:1px solid var(--line);border-radius:10px;padding:10px}
.mapw{margin-top:16px;border-top:1px solid var(--line2);padding-top:6px}
.maps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.sumline{margin:10px 0;font-size:13px}.g-t{color:var(--brand)}
.tbl{overflow:auto;max-height:420px;border:1px solid var(--line2);border-radius:10px}
.tbl table{border-collapse:collapse;width:100%;font-size:12.5px}.tbl th{position:sticky;top:0;background:var(--head);text-align:left;font-weight:700;color:var(--ink2)}
.tbl th,.tbl td{padding:7px 9px;border-bottom:1px solid var(--line2);white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.tbl tr.bad td{background:#FFF6F5;color:#8A3B36}.tbl .em{font-family:ui-monospace,monospace;font-size:12px}
.acts{display:flex;gap:4px}.ibtn.sm{width:28px;height:28px;border-radius:8px}.ibtn.sm svg{width:14px}
code{background:var(--line2);border-radius:5px;padding:1px 5px;font-size:12px}
.keys{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.keys .chip{border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:700}
.days{width:52px;padding:3px 6px;border:1px solid var(--line);border-radius:6px;font:inherit}
.provs{display:flex;gap:8px;flex-wrap:wrap}.prov{height:44px;padding:0 18px;border-radius:12px;border:1px solid var(--line);background:var(--card);font:inherit;font-weight:800;cursor:pointer}
.prov.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.howto{margin:14px 0 0 18px;display:grid;gap:7px;font-size:13.5px;line-height:1.6;color:var(--ink2)}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.agree{display:flex;gap:8px;font-size:12.5px;line-height:1.5;color:var(--ink2)}.agree input{margin-top:3px}.agree a{color:var(--brand);font-weight:700}
.warn2{display:flex;gap:8px;background:var(--amber-soft);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5;margin:8px 0}.warn2 svg{flex:none;width:16px;color:var(--amber)}
@media (max-width:980px){.steps3,.maps,.row2{grid-template-columns:minmax(0,1fr)}.stbar{grid-template-columns:repeat(4,minmax(0,1fr))}.kpis{margin-right:0}}
/* 발송기 v2 — 여러 목록·틀·서명·편집기·점검 (2026-10-07 저녁) */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-size:13px;font-weight:600;z-index:99;box-shadow:var(--shadow);max-width:calc(100vw - 32px)}
.toast.bad{background:var(--red)}
dialog.wide{width:min(860px,calc(100vw - 32px))}
.sender .sb-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:10px;align-items:end}
.sb-act{display:flex;gap:8px;align-items:center;height:42px}
.sender .fine{margin-top:6px}.sender a,.fine a{color:var(--brand);font-weight:700}
.ltabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ltab{display:grid;text-align:left;gap:2px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:9px 13px;cursor:pointer;font:inherit;min-width:120px;max-width:240px;position:relative}
.ltab b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ltab span{font-size:11.5px;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ltab em{position:absolute;top:6px;right:8px;font-style:normal;font-size:10px;color:var(--mute)}
.ltab.on{border-color:var(--brand);background:var(--brand-soft)}
.lbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.lbar .f{min-width:160px;flex:1}.lbar .dact{align-self:end;padding-bottom:2px}
.swrow{display:flex;gap:8px;align-items:center;height:42px;font-weight:600;color:var(--ink)}
.sw{position:relative;display:inline-block;width:40px;height:22px;flex:none}.sw input{opacity:0;width:0;height:0;position:absolute}
.sw i{position:absolute;inset:0;background:var(--line);border-radius:99px;cursor:pointer;transition:.15s}
.sw i::after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.sw input:checked+i{background:var(--brand)}.sw input:checked+i::after{left:21px}
.iflow{list-style:none;padding:0;display:grid;gap:14px}
.iflow>li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px}
.iflow>li>b{width:28px;height:28px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-weight:800;font-size:13px}
.iflow>li>div{display:grid;gap:8px;min-width:0}.iflow strong{font-size:14px}
.sheetpic{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--head);overflow:auto}
.sheetpic table{border-collapse:collapse;font-size:12px;min-width:520px}.sheetpic th,.sheetpic td{border:1px solid #D6DDDA;padding:5px 9px;text-align:left;white-space:nowrap}
.sheetpic th{background:#EEF2F0}.sheetpic .em{background:var(--hl);font-weight:800}.sheetpic td.em{font-weight:500}.sheetpic .add{color:var(--blue);background:var(--blue-soft)}
.gs{display:flex;gap:8px;margin-top:8px}.gs input{flex:1;min-width:0;font:inherit;font-size:13px;border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.atts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:8px}
.att{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:8px;align-content:start}
.att-h{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:13px}
.afile{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:2px 8px;align-items:center;font-size:12.5px;background:var(--line2);border-radius:8px;padding:6px 8px}
.afile svg{width:14px;color:var(--ink2)}.afile span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.afile small{grid-column:2;color:var(--mute);font-size:11px}.afile .ibtn{grid-row:1/3;grid-column:3}
label.btn{cursor:pointer}
.fchips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.fchips .chip{border:1px solid transparent;cursor:pointer;font:inherit;font-size:12px;font-weight:700}
.fchips .chip.on{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}
.warn2.okc{background:var(--brand-soft);align-items:center;flex-wrap:wrap}.warn2.okc svg{color:var(--brand)}.warn2.okc span{flex:1;min-width:200px}
.note-acc{display:flex;gap:6px;align-items:flex-start;margin-top:10px}.note-acc svg{width:14px;flex:none;color:var(--amber);margin-top:2px}
.tbl th.em-h{background:var(--hl)}.tbl.tall{max-height:640px}
/* 편집기 */
.ed{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.tb{display:flex;flex-wrap:wrap;gap:2px;align-items:center;padding:6px;border-bottom:1px solid var(--line2);background:var(--head);border-radius:12px 12px 0 0;position:sticky;top:0;z-index:2}
.tb button,.tb .clr,.tb .tbtn{height:30px;min-width:30px;padding:0 6px;border:0;border-radius:6px;background:none;font:inherit;font-size:13px;cursor:pointer;color:var(--ink);display:inline-grid;place-items:center;position:relative}
.tb button:hover,.tb .clr:hover,.tb .tbtn:hover{background:var(--line2)}
.tb select{height:30px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:12.5px;padding:0 4px;background:var(--card);max-width:130px}
.tb .clr input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.tb .hl{background:#fff59d;padding:0 3px;border-radius:3px}
.tb .sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.area{background:#fff;min-height:220px;max-height:60vh;overflow:auto;padding:14px 16px;line-height:1.55;outline:none;color:#222;overflow-wrap:anywhere}
.area img{max-width:100%;height:auto;cursor:pointer}.area table td{border:1px dashed #ccd}.area a{color:#1a6dd6}
.imgbar{position:absolute;display:flex;gap:2px;background:var(--ink);border-radius:8px;padding:3px;z-index:3}
.imgbar button{border:0;background:none;color:#fff;font:inherit;font-size:12px;padding:4px 8px;border-radius:6px;cursor:pointer}.imgbar button:hover{background:rgba(255,255,255,.15)}
.topt{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:10px 0}
.topt .attn{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;width:200px}
.chk{display:inline-flex;gap:6px;align-items:center;font-size:13px;font-weight:600;color:var(--ink2);cursor:pointer}
.chks{display:flex;gap:6px 14px;flex-wrap:wrap;font-weight:500}
.tpl .f+.f,.tpl>.f{margin-bottom:8px}
.sticky-save{position:sticky;bottom:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;box-shadow:var(--shadow);align-items:center;z-index:5}
.bgx{display:flex;align-items:end;height:42px}.bgx input[type=color]{width:44px;height:40px;border:1px solid var(--line);border-radius:10px;padding:2px;background:var(--card)}
/* 스팸 점검 */
.spam{border-radius:12px;padding:12px 14px;margin-top:10px;display:grid;gap:6px;border:1px solid var(--line)}
.spam.lo{background:var(--brand-soft);border-color:#BFE5D9}.spam.mid{background:var(--amber-soft);border-color:#F3DFAE}.spam.hi{background:var(--red-soft);border-color:#F2C4C0}
.spam-h{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.spam-h b{font-size:15px}.spam-h span{font-size:13px;color:var(--ink2)}
.spam ul{margin:0 0 0 18px;display:grid;gap:4px;font-size:13px;line-height:1.5}.spam li small{color:var(--ink2)}
.pv-frame{width:100%;height:52vh;border:0;background:#fff;display:block}
/* 서명·메일 계정·점검 */
.sigpv{border:1px dashed var(--line);border-radius:12px;padding:18px;background:#fff;overflow:auto}
.mbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mbc{border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:10px;min-width:0}.mbc.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.mbc-h{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.mbc-h b{font-size:14px;overflow-wrap:anywhere;margin-right:auto}
.mbc-b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.dom{background:var(--line2);border-radius:12px;padding:12px 14px;font-size:13px;margin-top:6px}
.dom ul{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}.dom li small{color:var(--mute);overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:11.5px}
.dom li.ok b{color:var(--brand)}.dom li.no b{color:var(--red)}.dom li.q b{color:var(--amber)}
.okline{display:flex;gap:6px;align-items:center}.okline svg{width:14px;color:var(--brand)}
.seeds{list-style:none;padding:0;display:grid;gap:6px;margin-bottom:12px}
.seeds li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;background:var(--line2);border-radius:10px;padding:8px 10px;font-size:13px}
.seeds small{grid-column:1;color:var(--mute);font-size:11.5px}.seeds .ibtn{grid-row:1/3;grid-column:2}
.provs.sm .prov{height:34px;padding:0 12px;font-size:13px}
.run1{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:10px}
.run1-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.run1-h small{color:var(--mute);margin-right:auto}
.run1 ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px;font-size:13px}.run1 li{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.run1 li>span:first-child{flex:1;min-width:160px;overflow-wrap:anywhere}
.danger{border-color:#F2C4C0}.danger h2{color:var(--red)}.pw{font:inherit;font-size:14px;border:1px solid var(--line);border-radius:10px;padding:9px 12px;min-width:200px}
.red-b{color:var(--red)!important;border-color:#F2C4C0!important}
@media (max-width:980px){.sender .sb-in,.atts,.mbs,.mbc-b{grid-template-columns:minmax(0,1fr)}.sb-act{height:auto}.lbar .f{min-width:100%}}
@media (max-width:560px){.iflow>li{grid-template-columns:minmax(0,1fr)}.iflow>li>b{display:none}.gs{flex-direction:column}.tb select{max-width:96px}.pv-frame{height:60vh}.topt .attn{width:100%}}
/* 구글 시트에서 쓰기 3단계 그림 */
.gshow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px}.gshow>.fine{grid-column:1/-1}
.gstep{display:grid;gap:4px;align-content:start;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--card)}
.gstep b{font-size:13px}.gstep>span{font-size:12px;color:var(--mute);line-height:1.5}
.gpic{height:96px;border-radius:10px;background:var(--head);display:grid;place-items:center;padding:8px;overflow:hidden;font-size:11.5px;color:#222}
.gpic .x{width:16px;height:18px;border-radius:3px;background:#1E7E45;display:inline-block;flex:none}
.gp-file,.gp-row{display:flex;gap:6px;align-items:center;background:#fff;border:1px solid #DADCE0;border-radius:8px;padding:6px 8px;white-space:nowrap;overflow:hidden;max-width:100%}
.gp-arrow{font-weight:700;color:var(--ink2);margin-top:4px;text-align:center}
.gp-drive{display:grid;gap:4px;width:100%}.gp-menu{display:grid;background:#fff;border:1px solid #DADCE0;border-radius:8px;overflow:hidden;margin-left:30%;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.gp-menu em{font-style:normal;padding:3px 8px}.gp-menu em.on{background:#E8F0FE;color:#1A56C4;font-weight:700}
.gp-share{display:grid;gap:5px;background:#fff;border:1px solid #DADCE0;border-radius:10px;padding:8px 10px;width:100%;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.gp-sel{display:flex;justify-content:space-between;gap:6px;background:#F1F3F4;border-radius:6px;padding:4px 6px;white-space:nowrap}.gp-sel em{font-style:normal;color:#1A56C4;font-weight:700}
.gp-btn{justify-self:start;border:1px solid #1A56C4;color:#1A56C4;border-radius:99px;padding:2px 10px;font-weight:700}
@media (max-width:980px){.gshow{grid-template-columns:minmax(0,1fr)}}
/* 사용 신청·관리자 (초대·승인제) */
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
#applyForm{display:grid;gap:10px}#applyForm[hidden]{display:none}
.join-only{display:none}.is-join .join-only{display:block}
.applied{background:var(--brand-soft);border-radius:12px;padding:16px;text-align:center}.applied b{font-size:16px}
.adrow{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:8px}
.adrow input{font:inherit;font-size:14px;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--field);min-width:0}
.warn2 code{overflow-wrap:anywhere}
@media (max-width:760px){.adrow{grid-template-columns:minmax(0,1fr)}}
.is-signup .agree.signup-only{display:flex!important}.is-join .seg2{display:none}
#authErr .toApply{font-weight:800;text-decoration:underline;color:inherit;white-space:nowrap}
/* ── 쉽게·크게 (2026-10-07 대표님 «왜 어렵게 만들어, 쉽게 가시성 있게») — 본문 15~16px, 제목 24px↑, 버튼 44px↑ */
body{font-size:15.5px}
.top h1{font-size:26px}
.card-h h2{font-size:19px}
.btn{height:44px;padding:0 18px;font-size:15px;border-radius:11px}
.btn.sm{height:36px;padding:0 12px;font-size:13.5px}
.btn.lg{height:52px;padding:0 24px;font-size:16.5px;border-radius:13px}
.btn.xl{height:62px;padding:0 40px;font-size:19px;font-weight:800;border-radius:15px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.f{font-size:14px}.f input,.f select,.f textarea{font-size:15.5px;padding:12px 14px}
.tbl td,.tbl th{font-size:14.5px}
.nav.big{margin-top:18px;gap:4px}.nav.big a{font-size:16.5px;padding:13px 14px;font-weight:600}.nav.big a svg{width:20px;height:20px}
.nav-send:not(.on){color:var(--side-hi)}.nav-send svg{color:var(--lime)}
.stack{display:grid;gap:18px}
.top .newsend{margin-left:auto}.top .newsend+.modebtn{margin-left:0}
/* 계정 메뉴 (설정·신청 관리·로그아웃) */
.me{position:relative}
.mebtn{display:flex;align-items:center;gap:9px;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink);background:none;border:1px solid var(--line);border-radius:12px;padding:4px 10px 4px 4px;cursor:pointer}
.mebtn .av{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-weight:800}.mebtn>svg{width:16px;color:var(--mute)}
.mebtn .cnt{margin:0}
.memenu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px;min-width:210px;box-shadow:0 12px 40px rgba(0,0,0,.25);display:grid}
.memenu[hidden]{display:none}
.memenu a,.memenu button{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;font:inherit;font-size:15px;color:var(--ink);background:none;border:0;cursor:pointer;text-align:left}
.memenu a:hover,.memenu button:hover{background:var(--line2)}.memenu svg{width:18px;color:var(--mute)}.memenu .cnt{margin-left:auto}
/* ⓘ 설명 */
.tipbtn{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--mute);background:none;color:var(--mute);font:700 13px/1 Georgia,serif;font-style:italic;cursor:pointer;display:inline-grid;place-items:center;flex:none;margin-left:6px}
.tipbtn:hover,.tipbtn.on{border-color:var(--brand);color:var(--brand)}
.card.has-tip{position:relative}.card.has-tip>.tipbtn{position:absolute;top:16px;right:16px}
.tipbox{background:var(--line2);border-radius:12px;padding:10px 14px;margin:2px 0 10px}.tipbox .fine{font-size:14px;color:var(--ink2);margin:4px 0}
/* 첫 화면 3단계 */
.home3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.h3{display:grid;align-content:start;gap:10px;padding:28px 24px;min-height:260px}
.h3 .h3n{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:24px;font-weight:900;background:var(--line2);color:var(--mute)}
.h3 h2{font-size:24px;font-weight:900;letter-spacing:-.03em;margin:6px 0 0}.h3 p{font-size:16px;color:var(--ink2);margin:0 0 8px;overflow-wrap:anywhere}
.h3 .btn{margin:auto 0 0;justify-self:start}
.h3.next{border:2px solid var(--lime);box-shadow:0 0 0 6px var(--pin-soft)}.h3.next .h3n{background:var(--lime);color:var(--on-lime)}
.h3.done .h3n{background:var(--brand-soft);color:var(--brand)}.h3.done .h3n svg{width:26px;height:26px}
.h3.later{opacity:.6}
.sgo{display:grid;justify-items:center;gap:8px;padding:6px 0 10px}
/* 메일 쓰기 탭 */
.wtabs{display:flex;gap:6px;background:var(--line2);padding:5px;border-radius:14px;justify-self:start}
.wtabs a{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;font-size:16px;font-weight:700;color:var(--mute)}
.wtabs a.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}.wtabs svg{width:18px}
/* 발송하기 */
.sstep .card-h{gap:12px}
.sn{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--lime);color:var(--on-lime);font-weight:900;font-size:17px;flex:none}
.sbody{display:grid;gap:12px}
.srow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.srow3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lab{font-size:14px;font-weight:700;color:var(--ink2)}.sinfo{font-size:15.5px;padding:12px 0}.sinfo a{color:var(--brand);font-weight:700;margin-left:8px}
.scount{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.scount div{background:var(--line2);border-radius:12px;padding:14px 16px;display:grid;gap:2px}.scount b{font-size:28px;font-weight:900}.scount span{font-size:14px;color:var(--ink2)}
.scount div:first-child{background:var(--pin-soft)}.scount div:first-child b{color:var(--brand)}
.bigq{font-size:20px;font-weight:800;margin:4px 0}
.sup{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.sup .btn{margin:0}
.spv .pv-mail{max-height:none}.spv .pv-frame{height:340px}
.sp-act{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.sp-act .btn{margin:0}
.meter.big{height:14px;margin:6px 0}
.sendprog.on{border:2px solid var(--lime)}
@media (max-width:980px){.home3,.srow,.srow3{grid-template-columns:minmax(0,1fr)}.h3{min-height:0}}
@media (max-width:760px){.scount{grid-template-columns:minmax(0,1fr)}.top .newsend{padding:0 10px}.mebtn #meName{display:none}.btn.xl{width:100%}}
.h3 .btn[disabled]{background:var(--line2);color:var(--mute);border:1px solid var(--line);opacity:1}
@media (max-width:760px){.top{flex-wrap:wrap;gap:8px}.top h1{font-size:21px;white-space:normal}.top .beta{display:none}.top .newsend{margin-left:auto}.home3 .h3 h2{font-size:22px}}
.h3s{font-size:16px;font-weight:800;margin:14px 0 6px}.bigq2{font-size:16px;margin:4px 0}.bigq2 a{color:var(--brand);font-weight:700}
.scount.plain div:first-child{background:var(--line2)}.scount.plain div:first-child b{color:var(--ink)}.ld{color:var(--mute)}
.gram{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:10px;font-size:15px}.gram.ok{display:flex;gap:8px;align-items:center;color:var(--brand)}.gram.ok svg{width:18px}
.gram ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:8px}.gram li{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.gram li small{flex-basis:100%;color:var(--mute);font-size:13px}
.gk{font-size:12px;font-weight:800;padding:2px 7px;border-radius:6px}.gk.sp{background:var(--red-soft);color:var(--red)}.gk.gr{background:var(--amber-soft);color:var(--amber)}
.gbad{text-decoration:underline wavy var(--red);text-underline-offset:3px;font-weight:700}.gram .chip{cursor:pointer}
.side-foot .num.big{font-size:24px;font-weight:900;margin-right:6px}.side-foot .row span#uB{font-size:13px;color:var(--side-mute)}
.side-foot .meter{height:10px}.side-foot .meter i.low{background:var(--red)!important}
.uleft{display:flex;align-items:baseline;gap:6px;margin:6px 0 2px;white-space:nowrap}.uleft b{font-size:30px;font-weight:900;color:var(--side-hi);line-height:1}.uleft span{font-size:15px;color:var(--side-mute);font-weight:600}
.capfix{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.capfix b{font-size:26px;font-weight:900}.capfix span{color:var(--ink2);font-size:15px}
.direct{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:14px;border:1px dashed var(--line);border-radius:12px}
.direct textarea{font:inherit;font-size:15.5px;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--field);width:100%;resize:vertical}
.direct small{font-weight:500;color:var(--mute)}.direct .err{grid-column:1/-1;margin:0}.direct .btn{margin:0}
@media (max-width:760px){.direct{grid-template-columns:minmax(0,1fr)}}

@media (max-width:1280px) and (min-width:981px){.home3{grid-template-columns:repeat(2,minmax(0,1fr))}}
