/* admin.css v15.66.38: extracted from admin.html top style block; UI unchanged */
    :root{
      --bg:#24292e;--panel:#ffffff;--soft:#f6f8fa;--soft2:#eef2f7;--line:#d8dee4;--line2:#afb8c1;
      --text:#24292f;--muted:#57606a;--accent:#2563eb;--accent2:#1d4ed8;--danger:#dc2626;--ok:#15803d;
      --radius:18px;--radius2:13px;
    }
    *{box-sizing:border-box} html,body{margin:0;min-height:100%}
    body{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:13px}
    button,input,select,textarea{font-family:inherit} button{cursor:pointer}
    .wrap{width:min(1280px,calc(100% - 32px));margin:18px auto 42px}
    .top{margin:0 0 14px}.top h1{margin:0 0 6px;color:#fff;font-size:22px;letter-spacing:-.04em}.top p{margin:0;color:#c9d1d9;line-height:1.5}
    .layout{display:grid;grid-template-columns:292px 1fr;gap:14px;align-items:start}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.head{padding:15px 16px;border-bottom:1px solid var(--line);background:#fff}.head h2{margin:0 0 5px;font-size:15px}.head p{margin:0;color:var(--muted);line-height:1.45}.body{padding:15px 16px}
    .field{margin:0 0 12px}.field label{display:block;margin:0 0 6px;font-size:11.5px;font-weight:800;color:#334155}.field .hint,.small{color:var(--muted);font-size:11.5px;line-height:1.45}
    input,select,textarea{width:100%;border:1px solid var(--line2);border-radius:12px;background:#fff;color:var(--text);font-size:13px;outline:none} input,select{height:36px;padding:0 11px} textarea{min-height:92px;padding:10px 11px;line-height:1.55;resize:vertical} input:focus,select:focus,textarea:focus{border-color:var(--accent)}
    input[type="checkbox"]{width:15px;height:15px;min-width:15px;accent-color:var(--accent)}
    button{height:34px;border:1px solid transparent;border-radius:11px;padding:0 12px;font-size:12px;font-weight:800;background:#fff;color:var(--text)} .primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:var(--accent2)}.ghost{background:#fff;border-color:#d0d7de;color:#24292f}.ghost:hover{background:#f6f8fa}.danger{background:#fff1f2;border-color:#fecaca;color:var(--danger)}.mini{height:28px;padding:0 9px;font-size:11px}.btns{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
    .status{display:none;margin:0 0 12px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:#f8fafc;color:#334155;line-height:1.45}.status.show{display:block}.status.ok{background:#f0fdf4;border-color:#bbf7d0;color:var(--ok)}.status.error{background:#fff1f2;border-color:#fecaca;color:#be123c}
    hr{border:0;border-top:1px solid var(--line);margin:15px 0}.install{white-space:pre-wrap;word-break:break-word;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px;color:#334155;font-size:11.5px;line-height:1.55}.badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:800}.pill{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:800}
    .selected{margin:12px 0 14px;padding:10px 11px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:13px}.selected-label{font-size:11px;font-weight:900;color:#2563eb;margin-bottom:4px}.selected-title{font-size:14px;font-weight:900;color:#1e293b}.selected-meta{margin-top:4px;font-size:11px;font-weight:700;color:#64748b}.church-list-box{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.church-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:900}.church-list{display:grid;gap:5px}.church-item{width:100%;height:auto;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px 10px}.church-item.active{border-color:var(--accent);background:#eff6ff}.church-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:900}.church-meta{color:#64748b;font-size:11px;font-weight:750}.empty{padding:10px;border:1px dashed var(--line);border-radius:12px;background:#f8fafc;color:var(--muted);font-size:12px}
    .nav{margin:14px;border:1px solid var(--line);border-radius:16px;background:#f6f8fa;padding:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.nav-group{border:1px solid var(--line);background:#fff;border-radius:15px;padding:12px}.nav-title{margin:0 0 8px;color:#475569;font-size:11px;font-weight:900}.nav-buttons{display:flex;gap:6px;flex-wrap:wrap}.tab{height:34px;border-radius:999px;background:#f1f5f9;border-color:#e2e8f0;color:#475569;white-space:nowrap}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}
    .panel{display:none;padding:14px}.panel.active{display:block}.panel-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:0 0 12px}.panel-title h2{margin:0;font-size:17px;letter-spacing:-.03em}.panel-title p{margin:4px 0 0;color:var(--muted);line-height:1.45}
    .stat-grid,.usage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}.stat-card,.usage-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px}.stat-label,.usage-label{font-size:11px;color:var(--muted);font-weight:900;margin-bottom:6px}.stat-value,.usage-value{font-size:28px;font-weight:950;letter-spacing:-.04em}.ops-box{margin:14px 0;padding:14px;border:1px solid var(--line);background:#fff;border-radius:16px}.ops-box h3{margin:0 0 10px;font-size:15px}.result-box{display:none;margin-top:14px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px}.result-box.show{display:block}.email-preview{height:520px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#f4f2ed;padding:12px;max-width:100%}.email-preview table{min-width:0!important}.html-email-layout{display:grid;grid-template-columns:minmax(300px,.48fr) minmax(420px,.52fr);gap:12px;align-items:start}.html-email-panel{min-width:0}.html-email-panel-label{display:block;margin-bottom:6px;font-size:12px;font-weight:900;color:#334155}.html-email-help{margin-bottom:12px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;color:#475569;font-size:12px;line-height:1.65}.code-textarea{height:520px;min-height:520px!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;line-height:1.55;word-break:normal;white-space:pre;overflow:auto;background:#0f172a!important;color:#e5e7eb!important;border-color:#334155!important}.html-email-source-note{margin-top:7px;color:#64748b;font-size:11px;line-height:1.5}@media(max-width:1100px){.html-email-layout{grid-template-columns:1fr}.code-textarea,.email-preview{height:420px;min-height:420px!important}}
    .table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}table{width:100%;border-collapse:collapse;min-width:820px}th,td{border-bottom:1px solid var(--line);padding:8px 9px;text-align:left;font-size:12px;vertical-align:top}th{background:#f6f8fa;color:#57606a;font-size:11px;font-weight:900}tr:last-child td{border-bottom:0}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.filters.church{grid-template-columns:2fr 1fr 1fr 1fr}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quick-row{display:grid;grid-template-columns:160px 1fr auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;padding:8px}.check-grid{display:grid;gap:9px}.check-grid label{display:flex;gap:8px;align-items:flex-start;line-height:1.45;font-weight:650;color:#334155}.wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.wizard-step{border:1px solid var(--line);border-radius:15px;background:#fff;padding:12px}.wizard-step strong{display:block;font-size:13px;margin-bottom:5px}.wizard-step span{display:block;color:var(--muted);font-size:11.5px;line-height:1.45}.wizard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wizard-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
    @media(max-width:980px){.layout{grid-template-columns:1fr}.nav{grid-template-columns:1fr}.stat-grid,.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two,.filters,.filters.church,.wizard-grid,.wizard-grid.two-col,.wizard-steps{grid-template-columns:1fr}.quick-row{grid-template-columns:1fr}.wrap{width:min(100% - 18px,1280px);margin-top:12px}}
  
    .report-flow{display:grid;gap:16px}
    .report-step{border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px}
    .report-step-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
    .report-step-no{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:13px;font-weight:700;flex:0 0 auto}
    .report-step-head h3{margin:0 0 4px;font-size:16px}
    .report-step-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
    .report-primary-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
    .report-send-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:10px}
    .report-optional{margin-top:12px}
    .report-optional summary{cursor:pointer;color:var(--muted);font-size:13px}
    .report-optional[open] summary{margin-bottom:10px}
    .report-hidden-support{display:none!important}
    @media(max-width:900px){.report-send-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:640px){.report-step{padding:14px}.report-send-grid{grid-template-columns:1fr}}
    /* v15.36 responsive layout and button placement */
    .grid{display:grid;gap:10px}
    .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
    .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
    .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
    .grid>button{height:auto;min-height:68px;padding:12px 14px;text-align:left;white-space:normal;line-height:1.35}
    .grid>button strong{font-size:13px}
    .layout>aside.card{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto}
    .nav-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:6px}
    .nav-buttons .tab{width:100%;padding-inline:10px}
    .panel-title{flex-wrap:wrap}
    .panel-title>.btns{margin-left:auto}
    .btns>button,.report-primary-actions>button{max-width:100%}
    .filters>*{min-width:0}
    .report-step,.ops-box,.result-box,.stat-card,.usage-card{min-width:0}
    .report-primary-actions{align-items:stretch}
    .report-primary-actions>button{min-width:132px}
    .html-email-layout>*{min-width:0}
    .code-textarea{max-width:100%}

    @media(max-width:1180px){
      .nav{grid-template-columns:repeat(2,minmax(0,1fr))}
      .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
      .filters.church{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    @media(max-width:980px){
      .layout>aside.card{position:static;max-height:none;overflow:visible}
      .nav{grid-template-columns:1fr}
      .nav-buttons{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
      .panel{padding:12px}
      .panel-title>.btns{margin-left:0;width:100%}
    }
    @media(max-width:760px){
      .wrap{width:min(100% - 14px,1280px);margin:8px auto 24px}
      .top h1{font-size:19px}
      .top p{font-size:12px}
      .body,.head{padding:13px}
      .nav{margin:10px;padding:9px;gap:9px}
      .nav-group{padding:10px}
      .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
      .stat-grid,.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
      .stat-card,.usage-card{padding:11px}
      .stat-value,.usage-value{font-size:23px}
      .filters,.filters.church,.two,.wizard-grid,.wizard-grid.two-col,.wizard-steps,.report-send-grid{grid-template-columns:1fr}
      .btns,.report-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
      .btns>button,.report-primary-actions>button{width:100%;min-width:0;height:auto;min-height:38px;padding:8px 10px;white-space:normal}
      .email-preview,.code-textarea{height:360px;min-height:360px!important}
      .table-wrap{border-radius:12px}
      table{min-width:720px}
    }
    /* v15.37 final visual polish */
    .top{padding:2px 2px 0}
    .top p{max-width:980px}
    .card{box-shadow:0 8px 24px rgba(15,23,42,.10)}
    .nav-group{min-height:104px}
    .nav-title{letter-spacing:-.01em}
    .tab{font-weight:850}
    .tab:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}
    .panel-title h2{line-height:1.25}
    .panel-title p{max-width:760px}
    .grid>button{display:flex;flex-direction:column;justify-content:center;border-color:#d8dee4;background:#fff}
    .grid>button:hover{border-color:#93c5fd;background:#f8fbff}
    .grid>button .small{line-height:1.45}
    .stat-card,.usage-card{min-height:104px;display:flex;flex-direction:column;justify-content:center}
    .ops-box>h3:first-child,.report-step-head h3{letter-spacing:-.02em}
    .table-wrap{scrollbar-gutter:stable}
    .table-wrap th{position:sticky;top:0;z-index:1}
    .status{word-break:keep-all}
    .selected-title,.church-name{letter-spacing:-.02em}
    .church-item{transition:border-color .15s ease,background .15s ease,transform .15s ease}
    .church-item:hover{border-color:#93c5fd;background:#f8fbff;transform:translateY(-1px)}
    .report-step{scroll-margin-top:16px}
    .html-email-help{word-break:keep-all}
    @media(min-width:981px){
      .grid.grid-3>button{min-height:82px}
      .panel.active{animation:panelIn .14s ease-out}
      @keyframes panelIn{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
    }
    @media(max-width:760px){
      .top{padding:2px 4px 0}
      .top p{line-height:1.55}
      .nav-title{font-size:10.5px}
      .grid>button{min-height:62px}
      .grid>button strong{font-size:12.5px}
      .panel-title{margin-bottom:10px}
      .panel-title h2{font-size:16px}
      .panel-title p{font-size:12px}
      .status{padding:9px 10px}
    }

    @media(max-width:520px){
      .nav-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
      .tab{height:auto;min-height:36px;padding:8px 7px;white-space:normal;line-height:1.2}
      .btns,.report-primary-actions{grid-template-columns:1fr}
      .stat-grid,.usage-grid{grid-template-columns:1fr 1fr}
      .panel{padding:9px}
      .report-step,.ops-box,.result-box{padding:12px}
      .report-step-head{gap:9px}
      .report-step-no{width:27px;height:27px}
      .quick-row{padding:9px}
      input,select{height:40px}
      textarea{min-height:110px}
      .email-preview,.code-textarea{height:310px;min-height:310px!important}
    }

    /* v15.46 design accessibility and sticky preview */
    #design .design-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:14px;align-items:start}
    #design .design-preview-sticky{position:sticky;top:14px;align-self:start;max-height:calc(100vh - 28px);overflow:auto;scrollbar-gutter:stable}
    #design .design-a11y-panel{margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}
    #design .design-a11y-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
    #design .design-a11y-head h3{margin:0 0 5px;font-size:15px}
    #design .design-a11y-head p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.5}
    #design .design-a11y-summary{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
    #design .contrast-badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:850;border:1px solid}
    #design .contrast-badge.pass{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
    #design .contrast-badge.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}
    #design .contrast-badge.fail{background:#fff1f2;border-color:#fecdd3;color:#be123c}
    #design .contrast-list{display:grid;gap:7px;margin-top:11px}
    #design .contrast-item{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
    #design .contrast-item strong{display:block;font-size:12px;margin-bottom:2px}
    #design .contrast-item span{display:block;color:var(--muted);font-size:11px;line-height:1.4}
    #design .contrast-ratio{font-size:12px;font-weight:900;white-space:nowrap}
    #design .contrast-item.pass .contrast-ratio{color:#166534}
    #design .contrast-item.warn .contrast-ratio{color:#92400e}
    #design .contrast-item.fail .contrast-ratio{color:#be123c}
    /* v15.46.1 flat preview and sticky fix */
    .layout>section.card{overflow:visible}
    #design{overflow:visible}
    #design .design-layout{overflow:visible}
    #design .design-preview-sticky{position:-webkit-sticky;position:sticky;top:16px;align-self:start;height:max-content;max-height:calc(100vh - 32px);overflow:auto;z-index:4}
    #design .design-preview-sticky,#designPreview,#designPreviewChat{box-shadow:none!important;background-image:none!important}
    #designPreviewChat{filter:none!important}
    #designPreview *,#designPreview *::before,#designPreview *::after{box-shadow:none!important;text-shadow:none!important;filter:none!important}
    #design .design-a11y-details{margin:0 0 14px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
    #design .design-a11y-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;font-size:15px;font-weight:800;color:var(--text);user-select:none}
    #design .design-a11y-details>summary::-webkit-details-marker{display:none}
    #design .design-a11y-details>summary::after{content:"펼치기";font-size:11px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 9px;background:#f8fafc}
    #design .design-a11y-details[open]>summary{border-bottom:1px solid var(--line)}
    #design .design-a11y-details[open]>summary::after{content:"접기"}
    #design .design-a11y-details .design-a11y-panel{margin:0;border:0;border-radius:0;padding:14px}
    @media(max-width:1100px){#design .design-layout{grid-template-columns:1fr}#design .design-preview-sticky{position:static;max-height:none;overflow:visible}}
    @media(max-width:520px){#design .contrast-item{grid-template-columns:1fr}#design .contrast-ratio{justify-self:start}}
    #design .design-change-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
    #design .design-change-copy{display:flex;align-items:center;gap:9px;min-width:0}
    #design .design-change-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8;flex:0 0 auto}
    #design .design-change-bar.saved{background:#f0fdf4;border-color:#bbf7d0}
    #design .design-change-bar.saved .design-change-dot{background:#16a34a}
    #design .design-change-bar.dirty{background:#fffbeb;border-color:#fde68a}
    #design .design-change-bar.dirty .design-change-dot{background:#d97706}
    #design .design-change-bar.loading{background:#f8fafc;border-color:#cbd5e1}
    #design .design-change-title{font-size:12px;font-weight:800;color:var(--text)}
    #design .design-change-note{font-size:11px;color:var(--muted);line-height:1.4}
    #design .design-change-bar .btns{margin-left:auto}
    #design .design-change-bar button:disabled,#design #saveDesignBtn:disabled{opacity:.5;cursor:not-allowed}
    @media(max-width:640px){#design .design-change-bar{align-items:stretch}#design .design-change-bar .btns{width:100%;margin-left:0}#design .design-change-bar .btns button{flex:1}}
    #design .design-live-check{margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}
    #design .design-live-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
    #design .design-live-head h3{margin:0 0 5px;font-size:15px}
    #design .design-live-head p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.55}
    #design .design-live-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
    #design .design-live-item{padding:10px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;min-width:0}
    #design .design-live-item span{display:block;color:var(--muted);font-size:10.5px;margin-bottom:4px}
    #design .design-live-item strong{display:block;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
    #design .design-live-url{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;font-size:11px;line-height:1.55;word-break:break-all}
    #design .design-live-note{margin-top:9px;color:var(--muted);font-size:11px;line-height:1.55}
    @media(max-width:900px){#design .design-live-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:520px){#design .design-live-summary{grid-template-columns:1fr}#design .design-live-head .btns{width:100%}#design .design-live-head .btns button{flex:1}}
