﻿*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;color:#0f172a}.admin-body{background:#f1f5f9;min-height:100vh}.auth-card{width:min(460px,calc(100% - 32px));margin:8vh auto;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:30px;box-shadow:0 18px 60px rgba(15,23,42,.08)}.auth-card h1{margin-top:0}.auth-card form,.form-panel{display:grid;gap:16px}.auth-card label,.form-panel label{display:grid;gap:7px;font-weight:700}.auth-card input,.form-panel input,.form-panel select{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}.auth-card button,.form-panel button{border:0;border-radius:10px;background:#0f172a;color:#fff;padding:13px 18px;font-weight:800;cursor:pointer}.back-link{display:inline-block;margin-top:18px;color:#64748b;text-decoration:none}.alert{padding:13px 15px;border-radius:11px;margin-bottom:16px}.alert.error{background:#fef2f2;color:#991b1b}.alert.success{background:#ecfdf5;color:#166534}.alert.info{background:#eff6ff;color:#1e40af}.admin-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:#0f172a;color:#cbd5e1;padding:22px 14px;display:flex;flex-direction:column;gap:5px}.admin-brand{color:#fff;font-size:1.2rem;font-weight:900;padding:10px 12px 22px}.sidebar a,.sidebar .disabled{padding:11px 12px;border-radius:9px;text-decoration:none;color:inherit}.sidebar a:hover,.sidebar a.active{background:#1e293b;color:#fff}.sidebar .disabled{opacity:.48;display:flex;justify-content:space-between}.sidebar small{font-size:.7rem}.admin-main{padding:32px;max-width:1200px;width:100%}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-head h1{margin:0}.page-head p{color:#64748b}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;margin-bottom:20px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat span{display:block;color:#64748b;margin-bottom:8px}.stat strong{font-size:1.25rem}.form-panel{max-width:700px}.check-list{line-height:2}@media(max-width:820px){.admin-shell{grid-template-columns:1fr}.sidebar{position:static}.admin-main{padding:20px}.dashboard-grid{grid-template-columns:1fr}}
.form-panel textarea{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit;resize:vertical}.inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.inline-form label{display:grid;gap:7px;font-weight:700}.inline-form input,.inline-form select{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}.inline-form button,.danger-btn{border:0;border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer}.inline-form button{background:#0f172a;color:#fff}.list-table{display:grid;gap:10px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin-bottom:10px}.list-row small{display:block;color:#64748b;margin-top:4px}.danger-btn{background:#fee2e2;color:#991b1b}.secondary-btn{display:inline-block;padding:10px 14px;border-radius:10px;background:#e2e8f0;color:#0f172a;text-decoration:none;font-weight:800}.button-row{display:flex;gap:10px;align-items:center}.muted{color:#64748b}@media(max-width:760px){.inline-form{grid-template-columns:1fr}.list-row{align-items:flex-start;flex-direction:column}}
.menu-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}
.menu-add-grid label{display:grid;gap:7px;font-weight:700}
.menu-add-grid input,.menu-add-grid select,.preset-panel select{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}
.menu-add-grid button,.preset-panel button{border:0;border-radius:10px;background:#0f172a;color:#fff;padding:12px 16px;font-weight:800;cursor:pointer}
.menu-tree-admin{display:grid;gap:8px}
.menu-admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.menu-admin-row.child{margin-left:32px;background:#f8fafc}
.menu-admin-name small{display:block;color:#64748b;margin-top:4px}
.menu-admin-actions,.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.menu-admin-actions form,.row-actions form{margin:0}
.small-btn{min-width:38px;border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:8px 9px;cursor:pointer;font-weight:700}
.small-btn.danger{background:#fff1f2;color:#9f1239;border-color:#fecdd3}
.preset-panel{display:flex;justify-content:space-between;gap:24px;align-items:end}
.preset-panel form{display:flex;gap:10px;min-width:360px}
@media(max-width:760px){
  .menu-add-grid{grid-template-columns:1fr}
  .menu-admin-row{align-items:flex-start;flex-direction:column}
  .menu-admin-row.child{margin-left:16px}
  .preset-panel{align-items:stretch;flex-direction:column}
  .preset-panel form{min-width:0;width:100%;flex-direction:column}
}

.board-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}
.board-create-grid label{display:grid;gap:7px;font-weight:700}
.board-create-grid input,.board-create-grid select{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}
.board-create-grid button{border:0;border-radius:10px;background:#0f172a;color:#fff;padding:12px 16px;font-weight:800;cursor:pointer}
@media(max-width:760px){.board-create-grid{grid-template-columns:1fr}}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-detail dl{display:grid;grid-template-columns:120px 1fr;border-top:1px solid #e2e8f0}.contact-detail dt,.contact-detail dd{margin:0;padding:13px;border-bottom:1px solid #e2e8f0}.contact-detail dt{font-weight:800;background:#f8fafc}.contact-body{line-height:1.8}.status-form{display:flex;gap:10px;margin:18px 0}.status-form select{padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px}.status-form button{border:0;border-radius:10px;background:#0f172a;color:#fff;padding:10px 14px;font-weight:800}
@media(max-width:650px){.two-col{grid-template-columns:1fr}.contact-detail dl{grid-template-columns:1fr}.contact-detail dt{border-bottom:0}}

.home-block-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}
.home-block-grid label{display:grid;gap:7px;font-weight:700}
.home-block-grid label.wide{grid-column:1/-1}
.home-block-grid input,.home-block-grid select,.home-block-grid textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}
.home-block-grid button{border:0;border-radius:10px;background:#0f172a;color:#fff;padding:12px 16px;font-weight:800;cursor:pointer}
@media(max-width:760px){.home-block-grid{grid-template-columns:1fr}.home-block-grid label.wide{grid-column:auto}}

.design-form{display:grid;gap:20px}
.design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.design-grid label,.logo-field{display:grid;gap:7px;font-weight:700}
.design-grid input,.design-grid select,.logo-field input{width:100%;padding:10px 11px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}
.design-grid input[type=color]{height:48px;padding:4px}
.design-form>button{border:0;border-radius:10px;background:#0f172a;color:#fff;padding:13px 18px;font-weight:800}
.design-preview{display:grid;gap:7px;border:1px solid #e2e8f0;border-radius:14px;padding:16px}
.design-preview-bar{height:18px;border-radius:8px}
.current-logo{display:flex;align-items:center;gap:20px;padding:14px;border:1px solid #e2e8f0;border-radius:12px}
.current-logo img{max-height:70px;max-width:220px;object-fit:contain}
.logo-field small{color:#64748b;font-weight:400}
@media(max-width:700px){.design-grid{grid-template-columns:1fr}.current-logo{align-items:flex-start;flex-direction:column}}

.module-grid{display:grid;gap:12px}
.module-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #e2e8f0;border-radius:14px}
.module-info strong{font-size:1.05rem}.module-info span{margin-left:8px;color:#64748b;font-size:.85rem}.module-info p{margin:6px 0 0;color:#64748b}
.module-card form{margin:0}.module-card button{border:0;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}
.module-on{background:#dcfce7;color:#166534}.module-off{background:#f1f5f9;color:#475569}
.info-callout{margin-bottom:18px;padding:14px 16px;background:#eff6ff;color:#1e3a8a;border-radius:12px;line-height:1.7}
.backup-head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.backup-head h2{margin:0 0 5px}.backup-head p{margin:0;color:#64748b}.backup-head button{border:0;border-radius:10px;background:#0f172a;color:#fff;padding:12px 16px;font-weight:800}
.system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.system-item{padding:16px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.system-item span{display:block;color:#64748b;margin-bottom:6px}.system-item strong{font-size:1.1rem;word-break:break-all}
@media(max-width:760px){.module-card,.backup-head{align-items:flex-start;flex-direction:column}.system-grid{grid-template-columns:1fr}}

.profile-wizard h2{margin-top:28px}.profile-wizard h2:first-child{margin-top:0}
.profile-grid,.mode-grid,.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.profile-grid label,.mode-grid label,.access-grid label{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer}
.profile-grid label:has(input:checked),.mode-grid label:has(input:checked),.access-grid label:has(input:checked){border-color:#334155;background:#f8fafc}
.profile-grid input,.mode-grid input,.access-grid input{margin-top:3px}
.profile-grid strong{display:block}.profile-grid small{display:block;margin-top:4px;color:#64748b}
.profile-actions{margin-top:20px}.profile-actions button,.apply-profile-btn{border:0;border-radius:10px;background:#0f172a;color:#fff;padding:12px 18px;font-weight:800;cursor:pointer}
.recommend-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.recommend-box>div{padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.recommend-box span{display:block;color:#64748b;font-size:.85rem;margin-bottom:5px}
.recommend-box strong{line-height:1.6}
@media(max-width:760px){.profile-grid,.mode-grid,.access-grid,.recommend-box{grid-template-columns:1fr}}

.user-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}
.user-create-grid label{display:grid;gap:7px;font-weight:700}.user-create-grid input,.user-create-grid select{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}
.user-create-grid button{border:0;border-radius:10px;background:#0f172a;color:#fff;padding:12px 16px;font-weight:800}
@media(max-width:700px){.user-create-grid{grid-template-columns:1fr}}

.check-label{display:flex!important;align-items:center;gap:10px}
.check-label input{width:auto!important}
.member-code-list{margin-top:18px;display:grid;gap:8px}
.user-create-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:980px){.user-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.user-create-grid{grid-template-columns:1fr}}

.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.permission-grid label{display:grid;gap:6px;font-weight:700}
.permission-grid input{width:100%;padding:10px 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font:inherit}
.form-panel small{display:block;color:#64748b;font-weight:400;margin-top:4px}
@media(max-width:700px){.permission-grid{grid-template-columns:1fr}}

/* v1.5 template gallery */
.template-next-step{margin-top:20px;padding:16px;border-top:1px solid #e2e8f0}
.template-next-step strong{display:block;margin-bottom:4px}
.template-next-step p{margin:0 0 12px;color:#64748b}
.current-template-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.current-template-info span{color:#64748b}.current-template-info strong{font-size:1.05rem}.current-template-info small{margin-left:auto;color:#94a3b8}
.template-guide{display:flex;align-items:center;justify-content:space-between;gap:20px}
.template-guide strong{display:block;font-size:1.06rem}.template-guide p{margin:5px 0 0;color:#64748b;line-height:1.65}
.template-group-title{margin:28px 0 12px}
.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.template-card{overflow:hidden;border:1px solid #dbe3ea;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.template-card-preview{padding:10px;background:#f1f5f9;border-bottom:1px solid #e2e8f0}
.template-card-body{padding:16px}.template-card-title{display:flex;align-items:center;gap:8px}.template-card-title strong{font-size:1.05rem}
.template-card-body p{min-height:54px;margin:8px 0 15px;color:#64748b;line-height:1.55;font-size:.9rem}
.template-badge{display:inline-flex;padding:3px 7px;border-radius:999px;background:#dcfce7;color:#166534;font-size:.75rem;font-weight:800}
.template-card-actions{display:flex;gap:8px}.template-card-actions a{flex:1;text-align:center}
.primary-link{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:#0f172a;color:#fff;padding:9px 12px;text-decoration:none;font-weight:800}
.tpl-mini{overflow:hidden;border-radius:9px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.08);font-size:7px}
.tpl-mini-head{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:6px 7px;border-bottom:1px solid #e2e8f0}
.tpl-mini-head>b{color:var(--tpl-primary);font-size:8px}.tpl-mini-head>div{display:flex;gap:4px;color:#64748b}
.tpl-mini-hero{height:62px;padding:14px 10px;background:linear-gradient(135deg,color-mix(in srgb,var(--tpl-primary) 10%,white),#fff);display:flex;flex-direction:column;justify-content:center}
.tpl-mini-hero b{font-size:10px;color:var(--tpl-primary)}.tpl-mini-hero i{display:block;width:38%;height:4px;background:#cbd5e1;border-radius:4px;margin-top:5px}
.tpl-mini-block{margin:7px;padding:8px;border-radius:5px;background:#f8fafc;border:1px solid #edf2f7}.tpl-mini-block span{font-weight:800}
.tpl-mini-block.tpl-cards{height:35px;background:linear-gradient(90deg,#f8fafc 0 31%,#fff 31% 34%,#f8fafc 34% 65%,#fff 65% 68%,#f8fafc 68%)}
.tpl-mini-block.tpl-gallery{height:32px;background:linear-gradient(90deg,#e2e8f0 0 23%,#fff 23% 26%,#e2e8f0 26% 49%,#fff 49% 52%,#e2e8f0 52% 75%,#fff 75% 78%,#e2e8f0 78%)}
.template-live-preview{margin-bottom:22px}
.template-preview-shell{overflow:hidden;border:1px solid #dbe3ea;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.08)}
.template-preview-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 26px;border-bottom:1px solid #edf2f7}
.template-preview-top>strong{font-size:1.1rem;color:var(--tpl-primary)}
.template-preview-top nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:15px}.template-preview-top nav span{font-size:.85rem;font-weight:700}.template-preview-top nav small{display:block;color:#94a3b8;font-size:.65rem;font-weight:500}
.tpl-preview-hero{padding:74px 8%;background:linear-gradient(135deg,color-mix(in srgb,var(--tpl-primary) 12%,white),#fff)}
.tpl-preview-hero p{margin:0 0 8px;color:var(--tpl-accent);font-weight:800;letter-spacing:.08em}.tpl-preview-hero h1{max-width:720px;margin:0 0 12px;font-size:2.4rem;line-height:1.2;color:var(--tpl-primary)}.tpl-preview-hero span{display:block;max-width:680px;color:#475569;line-height:1.7}.tpl-preview-hero a{display:inline-flex;margin-top:22px;padding:11px 16px;border-radius:9px;background:var(--tpl-primary);color:#fff;font-weight:800}
.tpl-preview-section{padding:38px 7%;border-top:1px solid #f1f5f9}.tpl-preview-section h2{margin:0 0 10px;color:#172033}.tpl-preview-section>p{color:#64748b;line-height:1.7}
.tpl-preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.tpl-preview-cards b{padding:30px 18px;border-radius:13px;background:#f8fafc;border:1px solid #e2e8f0}
.tpl-preview-list{display:grid;margin-top:14px}.tpl-preview-list span{padding:12px 4px;border-bottom:1px solid #e2e8f0;color:#475569}
.tpl-preview-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.tpl-preview-gallery i{display:block;aspect-ratio:4/3;border-radius:10px;background:linear-gradient(135deg,#dbe5ea,#eef2f4)}
.tpl-preview-text{background:#fbfdff}.tpl-preview-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 7%;background:var(--tpl-primary);color:#fff}.tpl-preview-cta h2{margin:0 0 5px}.tpl-preview-cta p{margin:0;opacity:.8}.tpl-preview-cta a{padding:10px 15px;border-radius:8px;background:#fff;color:var(--tpl-primary);font-weight:800}
.template-preview-shell footer{padding:22px 7%;background:#f8fafc;color:#64748b;font-size:.85rem}
.template-preview-caption{padding:14px 4px}.template-preview-caption strong{font-size:1.1rem}.template-preview-caption p{margin:5px 0;color:#64748b}
.template-apply-panel{scroll-margin-top:20px}.template-apply-form{display:grid;gap:12px}.apply-choice{display:flex!important;align-items:flex-start!important;gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer}.apply-choice input{width:auto!important;margin-top:4px}.apply-choice strong{display:block}.apply-choice small{display:block;margin-top:5px;color:#64748b;line-height:1.55}.danger-choice{border-color:#fed7aa;background:#fffaf5}
.template-apply-form>label:not(.apply-choice){display:grid;gap:7px;font-weight:700}.template-apply-form select{padding:10px 11px;border:1px solid #cbd5e1;border-radius:9px;font:inherit}
.template-apply-form>button{justify-self:start;border:0;border-radius:10px;background:#0f172a;color:#fff;padding:13px 20px;font-weight:900;cursor:pointer}
@media(max-width:1100px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .template-grid{grid-template-columns:1fr}.template-guide,.template-preview-top,.tpl-preview-cta{align-items:flex-start;flex-direction:column}
 .template-preview-top nav{justify-content:flex-start}.tpl-preview-hero{padding:44px 24px}.tpl-preview-hero h1{font-size:1.8rem}
 .tpl-preview-section{padding:28px 22px}.tpl-preview-cards{grid-template-columns:1fr}.tpl-preview-gallery{grid-template-columns:repeat(2,1fr)}
 .current-template-info small{margin-left:0}
}

/* v1.7 newsroom */
.newsroom-guide p{margin-bottom:0;color:#64748b;line-height:1.7}
.news-admin-row small{display:block;margin-top:4px}

/* v1.8 editorial desk */
.newsroom-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.newsroom-flow span{padding:8px 11px;border-radius:9px;background:#f1f5f9;font-weight:800}.newsroom-flow b{color:#94a3b8}
.panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-title-row h2{margin-top:0}.panel-title-row p{margin-bottom:0}
.newsroom-articles{display:grid;gap:0}.newsroom-article-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(500px,1.4fr);gap:20px;padding:16px 0;border-bottom:1px solid #e2e8f0}.newsroom-article-row:last-child{border-bottom:0}
.newsroom-article-info{min-width:0}.newsroom-article-info>strong{display:block;margin:6px 0;font-size:.98rem;line-height:1.45}.newsroom-article-info>small{display:block;color:#64748b}.newsroom-article-flags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.news-breaking-admin,.news-featured-admin{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:.72rem;font-weight:900}.news-breaking-admin{background:#fee2e2;color:#991b1b}.news-featured-admin{background:#e0e7ff;color:#3730a3}
.newsroom-workflow-form{display:grid;grid-template-columns:1fr 1.25fr .8fr auto;gap:8px;align-items:end}.newsroom-workflow-form label{display:grid;gap:5px;font-size:.78rem;font-weight:800}.newsroom-workflow-form select,.newsroom-workflow-form input{width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.newsroom-workflow-form small{font-weight:400;color:#94a3b8}
.newsroom-check{display:flex!important;align-items:center;gap:6px;padding-bottom:9px}.newsroom-check input{width:auto!important}
.newsroom-row-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.newsroom-row-actions button,.newsroom-row-actions a{padding:8px 11px;border-radius:8px;font-size:.82rem;font-weight:800;text-decoration:none}.newsroom-row-actions button{border:0;background:#0f172a;color:#fff;cursor:pointer}.newsroom-row-actions a{border:1px solid #cbd5e1;color:#334155;background:#fff}
.reporter-profile-form{border-color:#bfdbfe;background:#f8fbff}
.tpl-preview-news-headline{display:grid;grid-template-columns:1.5fr .8fr;gap:16px;padding:38px 7%;background:#fff}.tpl-preview-news-main{padding-right:20px;border-right:1px solid #e2e8f0}.tpl-preview-news-main>span{color:#b91c1c;font-size:.78rem;font-weight:900}.tpl-preview-news-main h1{margin:8px 0;font-size:1.75rem;line-height:1.3}.tpl-preview-news-main p{color:#64748b;line-height:1.6}.tpl-preview-news-side{display:grid}.tpl-preview-news-side b{padding:12px 0;border-bottom:1px solid #e2e8f0}
@media(max-width:1000px){.newsroom-article-row{grid-template-columns:1fr}.newsroom-workflow-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.newsroom-workflow-form,.tpl-preview-news-headline{grid-template-columns:1fr}.tpl-preview-news-main{padding-right:0;border-right:0}.panel-title-row{flex-direction:column}}

.news-status{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:.72rem;font-weight:900}
.news-status-draft{background:#f1f5f9;color:#475569}.news-status-review{background:#fef3c7;color:#92400e}.news-status-scheduled{background:#e0e7ff;color:#3730a3}.news-status-approved,.news-status-published{background:#dcfce7;color:#166534}

/* v1.9 newspaper settings */
.news-category-add{display:grid;grid-template-columns:1fr 1.4fr .6fr auto;gap:10px;align-items:end;margin-bottom:18px}.news-category-add label{display:grid;gap:6px;font-weight:700}.news-category-add input{width:100%;padding:10px 11px;border:1px solid #cbd5e1;border-radius:9px}.news-category-add button{border:0;border-radius:9px;background:#0f172a;color:#fff;padding:11px 14px;font-weight:800}
.news-category-list{display:grid;gap:8px}.news-category-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.news-category-row>form:first-child{display:grid;grid-template-columns:1fr 1.5fr .6fr auto auto;gap:8px;align-items:end}.news-category-row label{display:grid;gap:5px;font-size:.78rem;font-weight:800}.news-category-row input{width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.news-category-row button{border:0;border-radius:8px;padding:9px 11px;font-weight:800;cursor:pointer}
.reporter-photo-preview{width:110px;height:110px;border-radius:50%;object-fit:cover;border:1px solid #cbd5e1}.reporter-photo-form{border-color:#c7d2fe}
.news-publication-form{max-width:760px}
.news-status-withdrawn{background:#fee2e2;color:#991b1b}
@media(max-width:900px){.news-category-add,.news-category-row,.news-category-row>form:first-child{grid-template-columns:1fr}.news-category-row>form:last-child{justify-self:start}}

/* v2.0 search/discovery panel */
.news-discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.news-discovery-grid>div{padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;min-width:0}.news-discovery-grid span{display:block;margin-bottom:6px;color:#64748b;font-size:.78rem;font-weight:900}.news-discovery-grid a{display:block;overflow-wrap:anywhere;text-decoration:none;color:#1d4ed8;font-size:.84rem}
@media(max-width:900px){.news-discovery-grid{grid-template-columns:1fr}}

/* v2.1 newspaper analytics */
.news-stats-period{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 20px}
.news-stats-period a{display:inline-flex;padding:9px 13px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#475569;text-decoration:none;font-size:.86rem;font-weight:800}
.news-stats-period a.active{background:#0f172a;color:#fff;border-color:#0f172a}
.news-stats-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:20px}
.news-stats-cards>div{padding:17px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}
.news-stats-cards span{display:block;color:#64748b;font-size:.8rem;font-weight:800;line-height:1.4}
.news-stats-cards strong{display:block;margin-top:7px;font-size:1.45rem;letter-spacing:-.03em}
.news-stats-two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr);gap:20px}
.news-stats-note p{color:#475569;line-height:1.7}
.news-stats-trend{display:grid;gap:7px}
.trend-row{display:grid;grid-template-columns:76px minmax(0,1fr) 70px;gap:10px;align-items:center}
.trend-row>span{color:#64748b;font-size:.8rem;font-weight:700;text-align:right}
.trend-row>div{height:11px;border-radius:999px;background:#eef2f7;overflow:hidden}
.trend-row i{display:block;height:100%;border-radius:999px;background:#334155;min-width:0}
.trend-row>strong{text-align:right;font-size:.84rem}
.news-stats-ranking{list-style:none;margin:0;padding:0;border-top:1px solid #e2e8f0}
.news-stats-ranking li{display:grid;grid-template-columns:34px minmax(0,1fr) 72px;gap:10px;align-items:center;padding:12px 2px;border-bottom:1px solid #e2e8f0}
.news-stats-ranking .rank{font-size:1.1rem;font-weight:900;color:#94a3b8;text-align:center}
.news-stats-ranking a{color:#0f172a;text-decoration:none;font-weight:800;line-height:1.45}
.news-stats-ranking a:hover{text-decoration:underline}
.news-stats-ranking small{display:block;margin-top:4px;color:#94a3b8}
.news-stats-ranking>li>strong{text-align:right;font-size:1rem}
.stats-table-wrap{overflow:auto}
.stats-table{width:100%;border-collapse:collapse;min-width:620px}
.stats-table th,.stats-table td{padding:11px 10px;border-bottom:1px solid #e2e8f0;text-align:right;white-space:nowrap}
.stats-table th:first-child,.stats-table td:first-child{text-align:left}
.stats-table th{background:#f8fafc;color:#64748b;font-size:.78rem}
.stats-table td{font-size:.88rem}
@media(max-width:1150px){.news-stats-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.news-stats-two{grid-template-columns:1fr}}
@media(max-width:650px){.news-stats-cards{grid-template-columns:repeat(2,1fr)}.trend-row{grid-template-columns:50px minmax(0,1fr) 48px}.news-stats-ranking li{grid-template-columns:28px minmax(0,1fr)}.news-stats-ranking>li>strong{grid-column:2}}

/* v2.1.1 membership approval */
.pending-users-panel{border-color:#bfdbfe;background:#f8fbff}
.pending-user-row{background:#fff;border-radius:10px;padding-left:12px;padding-right:12px}
.pending-user-row .row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pending-user-row .row-actions form{margin:0}
.approve-btn{border:0;border-radius:8px;background:#166534;color:#fff;padding:9px 12px;font-weight:800;cursor:pointer}
.membership-approval-guide{border-color:#bbf7d0;background:#f7fff9}
.membership-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}
.membership-flow span{padding:8px 11px;border-radius:9px;background:#fff;border:1px solid #bbf7d0;font-weight:800}
.membership-flow b{color:#94a3b8}
@media(max-width:650px){.pending-user-row{align-items:flex-start}.pending-user-row .row-actions{width:100%}.membership-flow b{display:none}.membership-flow span{width:100%}}

/* v2.1.2 관리자 좌측메뉴 + 우측본문 레이아웃 교정 */
.admin-layout,.admin-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  align-items:start;
  background:#f1f5f9;
}
.admin-layout>.sidebar,.admin-shell>.sidebar{
  position:sticky;
  top:0;
  height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  align-self:start;
  z-index:20;
}
.admin-layout>.admin-main,.admin-shell>.admin-main{
  min-width:0;
  max-width:none;
  width:100%;
  padding:28px 32px 48px;
}
.admin-main>.page-head:first-child,
.admin-main>.alert:first-child{
  margin-top:0;
}
@media(max-width:900px){
  .admin-layout,.admin-shell{
    display:block;
    min-height:100vh;
  }
  .admin-layout>.sidebar,.admin-shell>.sidebar{
    position:sticky;
    top:0;
    z-index:100;
    height:auto;
    max-height:none;
    overflow-x:auto;
    overflow-y:hidden;
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:5px;
    padding:8px 10px;
    white-space:nowrap;
    box-shadow:0 3px 12px rgba(15,23,42,.14);
  }
  .sidebar .admin-brand{
    flex:0 0 auto;
    padding:9px 12px;
    font-size:1rem;
  }
  .sidebar a,.sidebar .disabled{
    flex:0 0 auto;
    padding:9px 11px;
  }
  .admin-layout>.admin-main,.admin-shell>.admin-main{
    padding:18px 16px 36px;
  }
}
@media(max-width:520px){
  .admin-layout>.admin-main,.admin-shell>.admin-main{
    padding:14px 10px 30px;
  }
  .page-head{
    align-items:flex-start;
    gap:10px;
  }
}

/* v2.2 관리자 생성·수정 모달 */
.primary-admin-btn{border:0;border-radius:10px;background:#0f172a;color:#fff;padding:11px 15px;font-weight:900;cursor:pointer}
.cms-modal[aria-hidden="true"]{display:none}
.cms-modal[aria-hidden="false"]{display:block}
.cms-modal{position:fixed;inset:0;z-index:1000}
.cms-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.48)}
.cms-modal-dialog{position:relative;z-index:1;width:min(680px,calc(100% - 28px));max-height:calc(100vh - 40px);overflow:auto;margin:20px auto;background:#fff;border-radius:18px;border:1px solid #dbe2ea;box-shadow:0 22px 70px rgba(15,23,42,.24)}
.cms-modal-dialog.cms-modal-wide{width:min(880px,calc(100% - 28px))}
.cms-modal-dialog>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px 22px 16px;background:#fff;border-bottom:1px solid #e2e8f0}
.cms-modal-dialog>header h2{margin:0 0 5px;font-size:1.18rem}.cms-modal-dialog>header p{margin:0;color:#64748b;font-size:.84rem;line-height:1.5}
.cms-modal-x{border:0;background:#f1f5f9;color:#334155;border-radius:9px;width:38px;height:38px;font-size:1.35rem;line-height:1;cursor:pointer;flex:0 0 auto}
.cms-modal-form{display:grid;gap:14px;padding:20px 22px 24px}
.cms-modal-form label{display:grid;gap:7px;font-weight:800}
.cms-modal-form input,.cms-modal-form select,.cms-modal-form textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font:inherit}
.cms-modal-form textarea{resize:vertical;min-height:110px}
.cms-modal-form .check-label{display:flex;align-items:center;gap:9px}.cms-modal-form .check-label input{width:auto}
.cms-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;padding-top:4px}
.cms-modal-actions button[type="submit"]{border:0;border-radius:10px;background:#0f172a;color:#fff;padding:11px 16px;font-weight:900;cursor:pointer}
.cms-modal-source{display:none!important}
body.cms-modal-open{overflow:hidden}
.add-child-btn{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}
.menu-admin-row.child{position:relative}.menu-admin-row.child:before{content:"↳";color:#94a3b8;margin-right:-4px}
@media(max-width:760px){
  .cms-modal-dialog,.cms-modal-dialog.cms-modal-wide{width:calc(100% - 16px);max-height:calc(100vh - 16px);margin:8px auto;border-radius:14px}
  .cms-modal-dialog>header{padding:16px}
  .cms-modal-form{padding:16px}
  .cms-modal-actions{position:sticky;bottom:0;background:#fff;padding:10px 0 0}
  .page-head{flex-wrap:wrap}.page-head>.primary-admin-btn{width:100%}
}

/* v2.2 template submenu preview */
.tpl-preview-nav-group{position:relative;display:inline-flex!important;align-items:center;gap:5px}
.tpl-preview-nav-group>i{display:none;position:absolute;left:0;top:100%;min-width:150px;padding:7px;background:#fff;border:1px solid #e2e8f0;border-radius:9px;box-shadow:0 9px 25px rgba(15,23,42,.1);font-style:normal;z-index:3}
.tpl-preview-nav-group>i em{display:block;padding:5px 7px;color:#475569;font-style:normal;font-size:.74rem;white-space:nowrap}
.tpl-preview-nav-group:hover>i{display:block}

/* v2.3 메뉴 드래그 정렬 + 접기/펼치기 */
.menu-tree-admin{display:grid;gap:12px}
.menu-admin-group{border:1px solid #dbe2ea;border-radius:14px;background:#fff;overflow:visible;transition:border-color .15s ease,box-shadow .15s ease}
.menu-admin-group.dragging,.menu-sortable-row.dragging{opacity:.48}
.menu-admin-group.drag-over{border-color:#64748b;box-shadow:0 0 0 2px rgba(100,116,139,.14)}
.menu-group-head{position:relative}
.menu-group-head>.menu-admin-row{border:0;border-radius:14px 14px 0 0;margin:0;background:#f8fafc}
.menu-child-list{display:grid;gap:7px;padding:8px 10px 11px;border-top:1px solid #e2e8f0;background:#fff;border-radius:0 0 14px 14px}
.menu-child-list.is-collapsed{display:none}
.menu-child-list .menu-admin-row{margin:0;background:#fff}
.menu-sortable-row{min-width:0}
.menu-drag-handle{flex:0 0 auto;width:34px;height:38px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#64748b;font-weight:900;letter-spacing:-2px;cursor:grab;touch-action:manipulation}
.menu-drag-handle:active{cursor:grabbing}
.menu-sortable-row.drag-over{outline:2px solid #94a3b8;outline-offset:1px}
.menu-collapse-btn{display:block;margin:6px 12px 8px auto;border:0;background:transparent;color:#475569;font-size:.78rem;font-weight:800;cursor:pointer;padding:5px 7px}
.menu-collapse-btn:hover{text-decoration:underline}
.menu-reorder-form{display:none}
.menu-order-saving{position:fixed;right:18px;bottom:18px;z-index:1200;padding:10px 13px;border-radius:10px;background:#0f172a;color:#fff;font-size:.84rem;font-weight:800;box-shadow:0 10px 30px rgba(15,23,42,.22)}
.menu-admin-row.child:before{display:none!important}
@media(max-width:900px){
  .menu-drag-handle{display:none}
  .menu-admin-group,.menu-admin-row{touch-action:auto}
}
@media(max-width:760px){
  .menu-child-list{padding:7px}
  .menu-collapse-btn{margin-right:8px}
}


/* v2.4 하위메뉴 표시방식 선택 */
.submenu-mode-fieldset{border:1px solid #dbe2ea;border-radius:14px;padding:18px;margin:6px 0}
.submenu-mode-fieldset legend{padding:0 7px;font-weight:900;font-size:1.05rem}
.submenu-mode-fieldset>.muted{margin-top:0}
.submenu-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.submenu-mode-card{position:relative;display:grid!important;grid-template-columns:auto 1fr;gap:6px 9px!important;align-content:start;padding:15px;border:1px solid #dbe2ea;border-radius:13px;background:#fff;cursor:pointer;font-weight:400!important}
.submenu-mode-card:hover{border-color:#94a3b8;background:#f8fafc}
.submenu-mode-card input:checked+strong{color:#0f172a;text-decoration:underline;text-underline-offset:4px}
.submenu-mode-card input{width:auto!important;margin-top:3px;grid-row:1/span 3}
.submenu-mode-card strong{font-size:.95rem}
.submenu-mode-card>span{font-size:.8rem;color:#64748b;line-height:1.55}
.submenu-preview{display:grid;min-height:62px;margin-top:4px;padding:8px;border:1px solid #e2e8f0;border-radius:9px;background:#fff;font-style:normal;font-size:.7rem;color:#64748b}
.preview-dropdown{grid-template-columns:1fr;align-content:start;gap:5px}.preview-dropdown b{color:#0f172a}.preview-dropdown em{margin-left:18px;padding:5px;background:#f1f5f9;border-radius:6px;font-style:normal}
.preview-bar{grid-template-columns:1fr;gap:8px}.preview-bar b{color:#0f172a}.preview-bar em{padding:5px;border-top:1px solid #e2e8f0;font-style:normal}
.preview-sidebar{grid-template-columns:72px 1fr;gap:7px}.preview-sidebar b{padding:7px;background:#f1f5f9;border-radius:6px}.preview-sidebar em{padding:7px;border:1px solid #e2e8f0;border-radius:6px;font-style:normal}
@media(max-width:900px){.submenu-mode-grid{grid-template-columns:1fr}}


/* =========================================================
   v2.4.6 파일 선택 취소 UI
   ========================================================= */
.file-input-row{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  min-width:0;
}
.file-input-row input[type="file"]{
  flex:1 1 auto;
  min-width:0;
}
.file-clear-btn{
  flex:0 0 auto;
  min-height:38px;
  padding:8px 12px;
  border:1px solid #cbd5e1;
  border-radius:9px;
  background:#fff;
  color:#334155;
  font:inherit;
  font-size:.86rem;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.file-clear-btn:hover:not(:disabled),
.file-clear-btn:focus-visible:not(:disabled){
  background:#f1f5f9;
  color:#0f172a;
  border-color:#94a3b8;
}
.file-clear-btn:focus-visible{
  outline:3px solid #cbd5e1;
  outline-offset:2px;
}
.file-clear-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
  background:#f8fafc;
  color:#94a3b8;
}
@media(max-width:520px){
  .file-input-row{
    align-items:stretch;
    flex-direction:column;
  }
  .file-clear-btn{
    width:100%;
  }
}


/* =========================================================
   v2.5.14 템플릿 대표이미지 / 작성 이미지 적용
   ========================================================= */
.template-visual-catalog{
  margin-bottom:22px;
}
.template-visual-head strong{
  display:block;
  margin-bottom:6px;
  font-size:1.05rem;
}
.template-visual-head p{
  margin:0;
  color:#64748b;
  line-height:1.65;
}
.template-visual-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:16px;
}
.template-visual-grid figure{
  margin:0;
  overflow:hidden;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
}
.template-visual-grid img{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:top;
  background:#f8fafc;
}
.template-visual-grid figcaption{
  padding:9px 12px;
  border-top:1px solid #edf2f7;
  color:#64748b;
  font-size:.86rem;
  font-weight:700;
}

.template-card-image{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/10;
  background:#f8fafc;
  border-bottom:1px solid #e2e8f0;
}
.template-card-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top;
}
.template-image-admin{
  display:grid;
  gap:8px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #edf2f7;
}
.template-image-current{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#334155;
  font-size:.82rem;
}
.template-image-current small{
  color:#94a3b8;
}
.template-image-current.empty{
  color:#64748b;
}
.template-image-upload{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
}
.template-image-upload .file-input-row{
  min-width:0;
}
.template-image-upload input[type=file]{
  width:100%;
  min-width:0;
  padding:7px;
  border:1px solid #dbe5ef;
  border-radius:8px;
  background:#fff;
  font-size:.8rem;
}
.template-image-remove{
  display:flex;
  justify-content:flex-end;
}
.template-preview-real-image{
  position:relative;
  overflow:hidden;
  margin-bottom:18px;
  border:1px solid #dbe5ef;
  border-radius:16px;
  background:#f8fafc;
}
.template-preview-real-image img{
  display:block;
  width:100%;
  max-height:680px;
  object-fit:contain;
  object-position:top;
  background:#fff;
}
.template-preview-real-image span{
  position:absolute;
  right:10px;
  bottom:10px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(15,23,42,.76);
  color:#fff;
  font-size:.75rem;
  font-weight:700;
}

@media(max-width:900px){
  .template-visual-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .template-image-upload{
    grid-template-columns:1fr;
  }
  .template-image-upload button{
    width:100%;
  }
}


/* =========================================================
   v2.5.15 조합형 디자인 관리자 안내
   ========================================================= */
.adaptive-profile-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,42%);
  gap:24px;
  align-items:center;
  overflow:hidden;
}
.adaptive-summary-copy .eyebrow{
  color:#64748b;
  font-size:.78rem;
  font-weight:800;
}
.adaptive-summary-copy h2{
  margin:7px 0 10px;
}
.adaptive-summary-copy p{
  color:#475569;
  line-height:1.7;
}
.adaptive-summary-copy ul{
  display:grid;
  gap:7px;
  padding:0;
  margin:16px 0 0;
  list-style:none;
}
.adaptive-summary-copy li{
  padding:9px 11px;
  border-radius:9px;
  background:#f8fafc;
  color:#475569;
  line-height:1.5;
}
.adaptive-summary-copy li strong{
  display:inline-block;
  min-width:76px;
  color:#1e293b;
}
.adaptive-summary-visual{
  overflow:hidden;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
}
.adaptive-summary-visual img{
  display:block;
  width:100%;
  max-height:330px;
  object-fit:contain;
}
.adaptive-combination-guide .adaptive-guide-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.adaptive-combination-guide h2{margin:0 0 5px}
.adaptive-combination-guide p{margin:0;color:#64748b}
.adaptive-combination-guide>img{
  display:block;
  width:100%;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
}
@media(max-width:850px){
  .adaptive-profile-summary{grid-template-columns:1fr}
}


/* =========================================================
   v2.5.16 복지기관 스타터
   ========================================================= */
.welfare-starter-panel{
  margin-top:20px;
}
.welfare-starter-copy{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,38%);
  gap:22px;
  align-items:center;
  margin-bottom:14px;
}
.welfare-starter-copy h2{margin:0 0 8px}
.welfare-starter-copy p{
  margin:0 0 10px;
  color:#475569;
  line-height:1.7;
}
.welfare-starter-copy ul{
  margin:0;
  padding-left:18px;
  color:#64748b;
  line-height:1.7;
}
.welfare-starter-copy img{
  display:block;
  width:100%;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
}
@media(max-width:900px){
  .welfare-starter-copy{grid-template-columns:1fr}
}


/* =========================================================
   v2.5.21 사이트 구성 전체 초기화
   ========================================================= */
.site-reset-panel{
  margin-top:24px;
  border:1px solid #fecaca;
  background:#fffafa;
}
.site-reset-kicker{
  display:inline-flex;
  margin-bottom:5px;
  color:#b91c1c;
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.08em;
}
.site-reset-head h2{
  margin:0 0 8px;
  color:#7f1d1d;
}
.site-reset-head p{
  max-width:850px;
  margin:0;
  color:#7c4a4a;
  line-height:1.7;
}
.site-reset-scope{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:18px;
}
.site-reset-scope>div{
  padding:15px 16px;
  border-radius:12px;
}
.site-reset-delete{
  border:1px solid #fecaca;
  background:#fff1f2;
}
.site-reset-keep{
  border:1px solid #bbf7d0;
  background:#f0fdf4;
}
.site-reset-scope strong{
  display:block;
  margin-bottom:6px;
  color:#334155;
}
.site-reset-scope p{
  margin:0;
  color:#64748b;
  font-size:.88rem;
  line-height:1.65;
}
.site-reset-backup-note{
  margin-top:12px;
  padding:13px 15px;
  border:1px solid #bfdbfe;
  border-radius:11px;
  background:#eff6ff;
}
.site-reset-backup-note strong{
  display:block;
  margin-bottom:4px;
  color:#1e40af;
}
.site-reset-backup-note p{
  margin:0;
  color:#475569;
  line-height:1.6;
}
.site-reset-backup-note a{
  color:#1d4ed8;
  font-weight:800;
}
.site-reset-form{
  display:grid;
  gap:12px;
  max-width:680px;
  margin-top:17px;
}
.site-reset-ack{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#475569;
}
.site-reset-ack input{
  width:auto;
  margin-top:3px;
}
.site-reset-phrase{
  display:grid;
  gap:7px;
}
.site-reset-phrase span{
  color:#475569;
  font-size:.9rem;
}
.site-reset-phrase input{
  max-width:360px;
  border-color:#fca5a5;
  background:#fff;
}
.danger-reset-btn{
  justify-self:start;
  border:1px solid #991b1b !important;
  background:#b91c1c !important;
  color:#fff !important;
}
.danger-reset-btn:hover{
  background:#991b1b !important;
}
@media(max-width:760px){
  .site-reset-scope{
    grid-template-columns:1fr;
  }
  .danger-reset-btn,
  .site-reset-phrase input{
    width:100%;
    max-width:none;
  }
}


/* v2.5.23 한글 업로드 파일명 표시 */
.current-logo-name{
  display:block;
  margin-top:7px;
  color:#64748b;
  font-size:.82rem;
  overflow-wrap:anywhere;
}


/* =========================================================
   v2.5.31 메뉴/페이지 미리보기 + 페이지 WYSIWYG
   ========================================================= */
.cms-modal-preview{
  width:min(1180px,calc(100% - 28px));
  max-width:1180px;
}
.admin-preview-toolbar{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:10px 14px;
  border-bottom:1px solid #e2e8f0;
  background:#f8fafc;
}
.admin-preview-frame-wrap{
  height:min(72vh,760px);
  min-height:420px;
  background:#eef2f7;
}
.admin-preview-frame{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#fff;
}
.page-wysiwyg-form{
  gap:14px;
}
.page-meta-grid{
  display:grid;
  grid-template-columns:minmax(160px,.8fr) minmax(220px,1.5fr) minmax(150px,.7fr);
  gap:10px;
}
.page-meta-grid label{
  min-width:0;
}
.cms-modal-wide .wel4u-editor{
  min-width:0;
  width:100%;
}
.cms-modal-wide .wel4u-editor-area{
  min-height:320px;
}
.cms-modal-wide .wel4u-editor-toolbar{
  position:relative;
  z-index:1;
}
.menu-admin-actions .secondary-btn[data-admin-preview],
.row-actions .secondary-btn[data-admin-preview]{
  white-space:nowrap;
}

@media(max-width:760px){
  .page-meta-grid{
    grid-template-columns:1fr;
  }
  .cms-modal-preview{
    width:calc(100% - 16px);
  }
  .admin-preview-frame-wrap{
    min-height:360px;
    height:68vh;
  }
}


/* =========================================================
   v2.5.32 주소 → 지도 자동 미리보기
   ========================================================= */
.page-map-address-field small{
  display:block;
  margin:2px 0 3px;
  color:#64748b;
  font-weight:500;
  line-height:1.5;
}
.admin-map-live-preview{
  overflow:hidden;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
}
.admin-map-live-preview[hidden]{
  display:none!important;
}
.admin-map-live-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-bottom:1px solid #e2e8f0;
  background:#f8fafc;
}
.admin-map-live-head strong{
  color:#334155;
  font-size:.88rem;
}
.admin-map-live-head a{
  color:#475569;
  font-size:.8rem;
  font-weight:800;
  text-decoration:none;
}
.admin-map-live-head a:hover{
  text-decoration:underline;
}
.admin-map-live-preview iframe{
  display:block;
  width:100%;
  height:320px;
  border:0;
  background:#eef2f7;
}
@media(max-width:700px){
  .admin-map-live-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .admin-map-live-preview iframe{
    height:280px;
  }
}


/* v2.5.33 페이지 콘텐츠 블록 안내 */
.page-wysiwyg-form .wel4u-ribbon-tab[data-tab="blocks"]{
  font-weight:900;
}
.page-wysiwyg-form .wel4u-ribbon-tab[data-tab="blocks"]:before{
  content:"▦";
  margin-right:4px;
  font-size:.8em;
}


/* =========================================================
   v2.5.35 페이지 상단 디자인 편집기
   ========================================================= */
.page-hero-admin{
  border:1px solid #cbd5e1;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.page-hero-admin>summary{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 15px;
  cursor:pointer;
  background:#f8fafc;
  list-style:none;
}
.page-hero-admin>summary::-webkit-details-marker{display:none}
.page-hero-admin>summary strong{font-size:.96rem;color:#0f172a}
.page-hero-admin>summary span{color:#64748b;font-size:.82rem}
.page-hero-admin-body{padding:14px}
.page-hero-control-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.page-hero-control-grid label{
  display:grid;
  gap:5px;
  min-width:0;
  color:#475569;
  font-size:.8rem;
  font-weight:800;
}
.page-hero-control-grid label.wide{grid-column:span 2}
.page-hero-control-grid input,
.page-hero-control-grid select{
  width:100%;
  min-width:0;
  padding:9px 10px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  font:inherit;
  color:#0f172a;
}
.page-hero-control-grid input[type="color"]{
  min-height:40px;
  padding:3px;
}
.page-hero-control-grid input[type="range"]{
  padding:0;
}
.page-hero-control-grid .check-label{
  display:flex;
  align-items:center;
  gap:7px;
  align-self:end;
  min-height:40px;
  padding:8px 10px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#f8fafc;
}
.page-hero-control-grid .check-label input{width:auto}
.page-hero-image-tools{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.hero-image-picker{
  display:inline-flex!important;
  align-items:center;
  min-height:38px;
  padding:7px 11px;
  border:1px solid #cbd5e1;
  border-radius:9px;
  background:#fff;
  color:#334155;
  font-size:.82rem!important;
  font-weight:800!important;
  cursor:pointer;
}
.hero-image-picker input{
  width:1px!important;
  height:1px!important;
  overflow:hidden;
  opacity:0;
  position:absolute;
}
.page-hero-image-tools [data-hero-upload-status]{
  color:#64748b;
  font-size:.8rem;
}

.page-hero-live-preview{
  --preview-text:#0f172a;
  --preview-bg:#e2e8f0;
  --preview-overlay:.36;
  --preview-pos:center;
  position:relative;
  display:grid;
  grid-template-columns:42% 58%;
  min-height:220px;
  margin-top:13px;
  overflow:hidden;
  border:1px solid #dbe2ea;
  border-radius:14px;
  background:var(--preview-bg);
  color:var(--preview-text);
}
.page-hero-live-preview[hidden]{display:none!important}
.page-hero-live-preview .hero-preview-image{
  position:relative;
  min-height:220px;
  background:#e2e8f0 center/cover no-repeat;
}
.page-hero-live-preview .hero-preview-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:24px;
  text-align:left;
}
.page-hero-live-preview .hero-preview-copy small{
  margin-bottom:7px;
  font-weight:900;
  letter-spacing:.08em;
  opacity:.72;
}
.page-hero-live-preview .hero-preview-copy strong{
  font-size:1.6rem;
  line-height:1.25;
}
.page-hero-live-preview .hero-preview-copy p{
  margin:9px 0 0;
  line-height:1.6;
  opacity:.82;
}
.page-hero-live-preview .hero-preview-breadcrumb{
  margin-bottom:12px;
  font-size:.73rem;
  opacity:.7;
}

/* 사진형 */
.page-hero-live-preview.mode-photo{
  display:block;
  background:#334155;
}
.page-hero-live-preview.mode-photo .hero-preview-image{
  position:absolute;
  inset:0;
}
.page-hero-live-preview.mode-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,var(--preview-overlay));
}
.page-hero-live-preview.mode-photo .hero-preview-copy{
  min-height:inherit;
  color:var(--preview-text);
}
/* 단색형 */
.page-hero-live-preview.mode-solid{
  display:block;
}
.page-hero-live-preview.mode-solid .hero-preview-image{display:none}
.page-hero-live-preview.mode-solid .hero-preview-copy{min-height:inherit}
/* 분할형 */
.page-hero-live-preview.mode-split .hero-preview-copy{order:1}
.page-hero-live-preview.mode-split .hero-preview-image{order:2}
/* 기본형은 이미지 왼쪽 */
.page-hero-live-preview.mode-default .hero-preview-image{order:1}
.page-hero-live-preview.mode-default .hero-preview-copy{order:2}

.page-hero-live-preview.align-center .hero-preview-copy{
  align-items:center;
  text-align:center;
}
.page-hero-live-preview.height-small{min-height:170px}
.page-hero-live-preview.height-small .hero-preview-image{min-height:170px}
.page-hero-live-preview.height-normal{min-height:220px}
.page-hero-live-preview.height-large{min-height:300px}
.page-hero-live-preview.height-large .hero-preview-image{min-height:300px}

@media(max-width:820px){
  .page-hero-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .page-hero-control-grid{grid-template-columns:1fr}
  .page-hero-control-grid label.wide{grid-column:auto}
  .page-hero-live-preview{grid-template-columns:1fr}
  .page-hero-live-preview .hero-preview-image{min-height:180px}
  .page-hero-live-preview.mode-split .hero-preview-copy,
  .page-hero-live-preview.mode-default .hero-preview-copy{order:2}
  .page-hero-live-preview.mode-split .hero-preview-image,
  .page-hero-live-preview.mode-default .hero-preview-image{order:1}
}


/* =========================================================
   v2.5.38 오시는 길 지도 설정
   ========================================================= */
.page-map-admin{
  overflow:hidden;
  border:1px solid #cbd5e1;
  border-radius:14px;
  background:#fff;
}
.page-map-admin>summary{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 15px;
  cursor:pointer;
  list-style:none;
  background:#f8fafc;
}
.page-map-admin>summary::-webkit-details-marker{display:none}
.page-map-admin>summary strong{color:#0f172a;font-size:.96rem}
.page-map-admin>summary span{color:#64748b;font-size:.82rem}
.page-map-admin-body{padding:14px}
.page-map-control-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.page-map-control-grid label{
  display:grid;
  gap:5px;
  min-width:0;
  color:#475569;
  font-size:.8rem;
  font-weight:800;
}
.page-map-control-grid label.wide{grid-column:1/-1}
.page-map-control-grid input,
.page-map-control-grid select{
  width:100%;
  min-width:0;
  padding:9px 10px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  color:#0f172a;
  font:inherit;
}
.page-map-control-grid .check-label{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:8px 10px;
  border:1px solid #dbe2ea;
  border-radius:8px;
  background:#f8fafc;
}
.page-map-control-grid .check-label input{
  width:auto;
  margin:0;
}
.page-map-help{
  margin:10px 0;
  color:#64748b;
  font-size:.8rem;
  line-height:1.6;
}
.page-map-admin .admin-map-live-preview{
  margin-top:10px;
}
@media(max-width:900px){
  .page-map-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .page-map-control-grid{grid-template-columns:1fr}
}


/* =========================================================
   v2.5.39 상단 사진 생성 프롬프트
   ========================================================= */
.hero-prompt-maker{
  margin-top:12px;
  padding:13px;
  border:1px solid #dbe2ea;
  border-radius:12px;
  background:#f8fafc;
}
.hero-prompt-maker-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.hero-prompt-maker-head>div:first-child{
  display:grid;
  gap:3px;
}
.hero-prompt-maker-head strong{
  color:#0f172a;
  font-size:.9rem;
}
.hero-prompt-maker-head span{
  color:#64748b;
  font-size:.78rem;
  line-height:1.5;
}
.hero-prompt-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.hero-prompt-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:11px;
}
.hero-prompt-options label{
  display:grid;
  gap:5px;
  color:#475569;
  font-size:.78rem;
  font-weight:800;
}
.hero-prompt-options select{
  width:100%;
  padding:8px 9px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  font:inherit;
  color:#0f172a;
}
.hero-prompt-maker textarea{
  display:block;
  width:100%;
  min-height:150px;
  margin-top:10px;
  padding:11px 12px;
  border:1px solid #cbd5e1;
  border-radius:9px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-size:.82rem;
  line-height:1.65;
  resize:vertical;
}
.hero-prompt-note{
  display:block;
  margin-top:7px;
  color:#64748b;
  font-size:.76rem;
  line-height:1.5;
}
@media(max-width:700px){
  .hero-prompt-maker-head{
    flex-direction:column;
  }
  .hero-prompt-options{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v2.5.40 페이지 목록 = 메뉴관리 순서
   ========================================================= */
.page-menu-order-group{
  margin-top:14px;
  overflow:hidden;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fff;
}
.page-menu-order-group:first-child{margin-top:0}
.page-menu-order-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:42px;
  padding:9px 12px;
  border-bottom:1px solid #e2e8f0;
  background:#f8fafc;
}
.page-menu-order-head strong{
  color:#0f172a;
  font-size:.9rem;
}
.page-menu-order-head span{
  color:#64748b;
  font-size:.75rem;
}
.page-menu-order-list .list-row{
  margin:0;
  border:0;
  border-bottom:1px solid #eef2f7;
  border-radius:0;
}
.page-menu-order-list .list-row:last-of-type{
  border-bottom:0;
}
.page-order-row{
  position:relative;
}
.page-order-row.page-order-child{
  padding-left:34px;
}
.page-order-row.page-order-child:before{
  content:"↳";
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  color:#94a3b8;
  font-weight:900;
}
.page-order-row.page-order-top{
  background:#fff;
}
.page-order-name{
  min-width:0;
}
.page-order-name strong{
  display:block;
}
.page-order-name small{
  display:block;
  margin-top:3px;
  color:#64748b;
  line-height:1.45;
}
.page-menu-order-unlinked{
  border-style:dashed;
}
.page-menu-order-unlinked .page-menu-order-head{
  background:#fff7ed;
}
.page-menu-order-unlinked .page-order-row{
  background:#fffdf9;
}

@media(max-width:700px){
  .page-menu-order-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .page-order-row.page-order-child{
    padding-left:26px;
  }
}


/* =========================================================
   v2.5.41 연결 페이지 없는 메뉴 표시 방지
   ========================================================= */
.menu-admin-row.page-target-missing{
  background:#fffaf5;
}
.menu-admin-row.page-target-missing .menu-admin-name small{
  color:#b45309;
}
.menu-missing-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:4px 8px;
  border:1px solid #fed7aa;
  border-radius:7px;
  background:#fff7ed;
  color:#c2410c;
  font-size:.75rem;
  font-weight:900;
}
.menu-visible-label{
  align-items:flex-start!important;
  flex-wrap:wrap;
}
.menu-visible-label small{
  flex-basis:100%;
  margin-left:22px;
  color:#64748b;
  font-size:.73rem;
  font-weight:600;
}
.menu-visible-label.is-disabled{
  color:#94a3b8;
  background:#f8fafc;
}
.menu-visible-label.is-disabled small{
  color:#b45309;
}


/* =========================================================
   v2.5.42 지도 클릭 위치 지정
   ========================================================= */
.page-map-coordinate-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:11px;
}
.page-map-coordinate-actions [data-map-click-status]{
  color:#64748b;
  font-size:.78rem;
  line-height:1.5;
}
.admin-map-click-selector{
  margin-top:11px;
  overflow:hidden;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
}
.admin-map-click-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 11px;
  border-bottom:1px solid #e2e8f0;
  background:#f8fafc;
}
.admin-map-click-head strong{
  color:#0f172a;
  font-size:.84rem;
}
.admin-map-click-head span{
  color:#64748b;
  font-size:.74rem;
}
.admin-map-click-map{
  width:100%;
  height:360px;
  background:#e2e8f0;
}
.admin-map-click-map .leaflet-control-attribution{
  font-size:10px;
}
.admin-map-click-map .leaflet-marker-icon{
  cursor:grab;
}
.admin-map-click-map .leaflet-marker-icon:active{
  cursor:grabbing;
}
@media(max-width:700px){
  .admin-map-click-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .admin-map-click-map{
    height:310px;
  }
}

/* v2.5.44 기관 기본정보 / 오시는 길 카드 */
.institution-info-panel{scroll-margin-top:18px}.institution-info-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:15px}.institution-info-head h2{margin:4px 0 5px}.institution-info-head p{margin:0;color:#64748b;line-height:1.6}.institution-info-kicker{color:#64748b;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.institution-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.institution-info-grid label,.location-card-edit-grid label{display:grid;gap:5px;color:#475569;font-size:.8rem;font-weight:800}.institution-info-grid .wide,.location-card-edit-grid .wide{grid-column:1/-1}.institution-info-grid input,.location-card-edit-grid input{width:100%;min-width:0;padding:9px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font:inherit}
.institution-info-note{margin:12px 0;padding:10px 12px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff}.institution-info-note strong{display:block;color:#1e3a8a;font-size:.82rem}.institution-info-note p{margin:3px 0 0;color:#64748b;font-size:.78rem}
.location-card-admin{overflow:hidden;border:1px solid #cbd5e1;border-radius:14px;background:#fff}.location-card-admin[hidden]{display:none!important}.location-card-admin>summary{display:flex;gap:10px;padding:13px 15px;cursor:pointer;list-style:none;background:#f8fafc}.location-card-admin>summary::-webkit-details-marker{display:none}.location-card-admin>summary span{color:#64748b;font-size:.82rem}.location-card-admin-body{padding:14px}
.location-global-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.location-global-preview>div{padding:9px 10px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc;min-width:0}.location-global-preview span{display:block;color:#64748b;font-size:.7rem;font-weight:800}.location-global-preview strong{display:block;margin-top:4px;overflow-wrap:anywhere;color:#0f172a;font-size:.8rem}.location-card-global-note{margin:9px 0 12px;color:#64748b;font-size:.78rem}.location-card-global-note a{color:#2563eb;font-weight:800}.location-card-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:850px){.institution-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-global-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.institution-info-head{flex-direction:column}.institution-info-grid,.location-global-preview,.location-card-edit-grid{grid-template-columns:1fr}}


/* =========================================================
   v2.5.46 페이지 카드 편집
   ========================================================= */
.page-card-admin{
  overflow:hidden;
  border:1px solid #cbd5e1;
  border-radius:14px;
  background:#fff;
}
.page-card-admin[hidden]{display:none!important}
.page-card-admin>summary{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 15px;
  cursor:pointer;
  list-style:none;
  background:#f8fafc;
}
.page-card-admin>summary::-webkit-details-marker{display:none}
.page-card-admin>summary strong{color:#0f172a;font-size:.96rem}
.page-card-admin>summary span{color:#64748b;font-size:.82rem}
.page-card-admin-body{padding:14px}
.page-card-admin-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.page-card-admin-head p{
  margin:0;
  color:#64748b;
  font-size:.79rem;
  line-height:1.55;
}
.page-card-admin-list{
  display:grid;
  gap:10px;
}
.page-card-admin-item{
  padding:11px;
  border:1px solid #e2e8f0;
  border-radius:11px;
  background:#fbfdff;
}
.page-card-admin-item[hidden]{display:none!important}
.page-card-admin-item-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.page-card-admin-item-head strong{
  color:#0f172a;
  font-size:.82rem;
}
.page-card-admin-item-head label{
  display:flex;
  align-items:center;
  gap:5px;
  color:#475569;
  font-size:.75rem;
  font-weight:800;
}
.page-card-admin-grid{
  display:grid;
  grid-template-columns:minmax(130px,.55fr) minmax(180px,1fr);
  gap:9px;
}
.page-card-admin-grid label{
  display:grid;
  gap:5px;
  color:#475569;
  font-size:.77rem;
  font-weight:800;
}
.page-card-admin-grid label.wide{grid-column:1/-1}
.page-card-admin-grid input{
  width:100%;
  min-width:0;
  padding:9px 10px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  color:#0f172a;
  font:inherit;
}
@media(max-width:680px){
  .page-card-admin-head{align-items:flex-start;flex-direction:column}
  .page-card-admin-grid{grid-template-columns:1fr}
  .page-card-admin-grid label.wide{grid-column:auto}
}


/* =========================================================
   v2.5.47 전체 페이지 블록 편집
   ========================================================= */
.page-layout-admin{overflow:hidden;border:1px solid #b9c7d8;border-radius:14px;background:#fff}
.page-layout-admin>summary{display:flex;align-items:center;gap:10px;padding:14px 15px;cursor:pointer;list-style:none;background:#f3f7fb}
.page-layout-admin>summary::-webkit-details-marker{display:none}
.page-layout-admin>summary strong{font-size:.98rem;color:#0f172a}
.page-layout-admin>summary span{font-size:.81rem;color:#64748b}
.page-layout-admin-body{padding:14px}
.page-layout-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.page-layout-toolbar select{min-width:150px;padding:8px 9px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}
.page-layout-help{margin:10px 0 12px;padding:9px 11px;border-radius:9px;background:#f8fafc;color:#64748b;font-size:.78rem;line-height:1.6}
.page-layout-list{display:grid;gap:10px}
.page-layout-item{overflow:hidden;border:1px solid #dbe2ea;border-radius:12px;background:#fff}
.page-layout-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-bottom:1px solid #e2e8f0;background:#fbfdff}
.page-layout-item-head>div:first-child{display:flex;align-items:center;gap:7px}
.page-layout-item-head>div:first-child>span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:.72rem;font-weight:900}
.page-layout-item-head strong{color:#0f172a;font-size:.84rem}
.page-layout-item-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.page-layout-show{display:flex;align-items:center;gap:4px;margin-right:3px;color:#475569;font-size:.73rem;font-weight:800}
.page-layout-field-grid{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(180px,1fr) minmax(120px,.55fr);gap:9px;padding:11px}
.page-layout-field-grid label,.page-layout-mini-options label,.page-layout-mini-editor label{display:grid;gap:5px;color:#475569;font-size:.76rem;font-weight:800}
.page-layout-field-grid .wide{grid-column:1/-1}
.page-layout-field-grid input,.page-layout-field-grid textarea,.page-layout-field-grid select,.page-layout-mini-options select,.page-layout-mini-editor input{width:100%;min-width:0;padding:8px 9px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font:inherit}
.page-layout-template-note{margin:11px;padding:11px 12px;border:1px dashed #cbd5e1;border-radius:9px;background:#f8fafc;color:#64748b;font-size:.8rem;line-height:1.6}
.page-layout-mini-options{padding:0 11px 10px}
.page-layout-mini-editor{display:grid;gap:8px;padding:0 11px 11px}
.page-layout-mini-editor section{padding:9px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc}
.page-layout-mini-editor section>strong{display:block;margin-bottom:7px;color:#334155;font-size:.75rem}
.page-layout-mini-editor section>div{display:grid;grid-template-columns:minmax(100px,.5fr) minmax(150px,1fr);gap:8px}
.page-layout-mini-editor .wide{grid-column:1/-1}
@media(max-width:760px){
  .page-layout-item-head{align-items:flex-start;flex-direction:column}
  .page-layout-field-grid{grid-template-columns:1fr}
  .page-layout-field-grid .wide{grid-column:auto}
  .page-layout-mini-editor section>div{grid-template-columns:1fr}
  .page-layout-mini-editor .wide{grid-column:auto}
}


/* =========================================================
   v2.5.48 기존 페이지 전체 블록화
   ========================================================= */
.page-layout-mode-banner{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:10px;
  padding:10px 12px;
  border:1px solid #bfdbfe;
  border-radius:10px;
  background:#eff6ff;
}
.page-layout-mode-banner strong{
  flex:0 0 auto;
  color:#1e3a8a;
  font-size:.8rem;
}
.page-layout-mode-banner span{
  color:#475569;
  font-size:.77rem;
  line-height:1.55;
}
.page-layout-mini-item-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:7px;
}
.page-layout-mini-item-head strong{
  margin:0!important;
}
.page-layout-mini-item-head label{
  display:flex!important;
  align-items:center;
  grid-template-columns:none!important;
  gap:5px!important;
  color:#64748b!important;
  font-size:.72rem!important;
}
.page-layout-items-six section{
  background:#fbfdff;
}
.page-layout-mini-options{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:10px;
}
.page-layout-mini-options label{
  min-width:150px;
}

/* v2.5.46의 별도 카드 편집기는 블록 카드 편집으로 통합되었으므로 화면에서 숨긴다.
   입력 필드는 하위호환 저장을 위해 DOM에는 유지한다. */
.page-card-admin{
  display:none!important;
}

@media(max-width:680px){
  .page-layout-mode-banner{flex-direction:column}
  .page-layout-mini-options{align-items:stretch}
  .page-layout-mini-options label{min-width:0;width:100%}
}


/* =========================================================
   v2.5.49 상단 디자인 블록
   ========================================================= */
.page-layout-hero-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:11px;
  padding:11px 12px;
  border:1px solid #c7d2fe;
  border-radius:10px;
  background:#f5f7ff;
}
.page-layout-hero-note>div{
  display:grid;
  gap:3px;
}
.page-layout-hero-note strong{
  color:#312e81;
  font-size:.82rem;
}
.page-layout-hero-note span{
  color:#64748b;
  font-size:.76rem;
  line-height:1.5;
}
@media(max-width:680px){
  .page-layout-hero-note{
    align-items:stretch;
    flex-direction:column;
  }
}


/* =========================================================
   v2.5.50 사진 / 사진+내용 블록
   ========================================================= */
.page-layout-image-editor{
  display:grid;
  grid-template-columns:minmax(180px,.75fr) minmax(260px,1.25fr);
  gap:12px;
  margin:0 11px 11px;
  padding:11px;
  border:1px solid #dbe2ea;
  border-radius:11px;
  background:#f8fafc;
}
.page-layout-image-preview{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:150px;
  overflow:hidden;
  border:1px dashed #cbd5e1;
  border-radius:10px;
  background:#fff;
  color:#94a3b8;
  font-size:.78rem;
}
.page-layout-image-preview img{
  display:block;
  width:100%;
  height:180px;
  object-fit:cover;
}
.page-layout-image-controls{
  display:grid;
  align-content:start;
  gap:9px;
}
.page-layout-image-controls>label{
  display:grid;
  gap:5px;
  color:#475569;
  font-size:.77rem;
  font-weight:800;
}
.page-layout-image-controls input[type="file"]{
  width:100%;
  padding:8px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
}
.page-layout-image-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.page-layout-image-actions span{
  color:#64748b;
  font-size:.75rem;
}
.page-layout-field-grid.compact{
  padding:0;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:780px){
  .page-layout-image-editor{grid-template-columns:1fr}
  .page-layout-field-grid.compact{grid-template-columns:1fr}
}


/* =========================================================
   v2.5.51 블록 자체 디자인
   ========================================================= */
.page-layout-design-options{margin:0 11px 11px;overflow:hidden;border:1px solid #dbe2ea;border-radius:10px;background:#fff}
.page-layout-design-options>summary{padding:9px 11px;cursor:pointer;color:#334155;font-size:.78rem;font-weight:900;background:#f8fafc}
.page-layout-design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:11px}
.page-layout-design-grid>label{display:grid;gap:5px;min-width:0;color:#475569;font-size:.75rem;font-weight:800}
.page-layout-design-grid select,.page-layout-design-grid input[type="text"]{width:100%;min-width:0;padding:8px 9px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a}
.page-layout-color-field>div{display:grid;grid-template-columns:minmax(90px,1fr) 42px auto;gap:5px}
.page-layout-color-field input[type="color"]{width:42px;height:35px;padding:2px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}
.page-layout-design-options>p{margin:0;padding:0 11px 11px;color:#64748b;font-size:.72rem;line-height:1.5}
@media(max-width:760px){.page-layout-design-grid{grid-template-columns:1fr}}


/* v2.5.52 기기별 표시 / 정렬 */
.page-layout-device-field{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 12px;
  min-height:35px;
}
.page-layout-device-field>span{
  width:100%;
  color:#475569;
  font-size:.75rem;
  font-weight:800;
}
.page-layout-device-field label{
  display:flex!important;
  align-items:center;
  gap:5px!important;
  color:#475569;
  font-size:.76rem;
  font-weight:800;
}
.page-layout-device-field input{
  margin:0;
}


/* =========================================================
   v2.5.54 UI/UX 안정화
   ========================================================= */
.admin-mobile-nav-toggle{display:none}
.admin-sidebar-label{
  display:block;
  padding:10px 14px 5px;
  color:#94a3b8;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
}
.page-layout-item-head>div:first-child{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.page-layout-item-head>div:first-child>small{
  color:#94a3b8;
  font-size:.69rem;
  font-weight:800;
}
.page-layout-item-body[hidden]{display:none!important}
.page-layout-item:not(.is-expanded) .page-layout-item-head{border-bottom:0}
.page-layout-edit-toggle{min-width:48px}
.page-layout-item-actions .small-btn,
.page-layout-show{min-height:36px}
.page-layout-item-actions .small-btn{min-width:36px}
.page-save-bar{
  position:sticky;
  bottom:-1px;
  z-index:25;
  margin:18px -18px -18px!important;
  padding:12px 18px!important;
  border-top:1px solid #cbd5e1;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
  box-shadow:0 -8px 24px rgba(15,23,42,.08);
}
[data-menu-target-field][hidden],
[data-home-target-field][hidden]{display:none!important}

@media(max-width:900px){
  .admin-mobile-nav-toggle{
    position:sticky;
    top:0;
    z-index:120;
    display:flex;
    width:100%;
    min-height:48px;
    align-items:center;
    justify-content:center;
    border:0;
    border-bottom:1px solid #cbd5e1;
    background:#0f172a;
    color:#fff;
    font-weight:900;
  }
  .admin-layout{display:block}
  .sidebar{
    display:none;
    position:fixed;
    z-index:119;
    top:48px;
    left:0;
    bottom:0;
    width:min(320px,88vw);
    overflow:auto;
    padding-bottom:30px;
    box-shadow:18px 0 40px rgba(15,23,42,.25);
  }
  .admin-nav-open .sidebar{display:block}
  .admin-nav-open:after{
    content:"";
    position:fixed;
    z-index:118;
    inset:48px 0 0;
    background:rgba(15,23,42,.35);
  }
  .admin-main{padding:16px}
  .page-layout-item-head{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .page-layout-item-actions{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
  }
  .page-layout-item-actions .page-layout-edit-toggle{flex:1 1 80px}
  .page-save-bar{
    margin-left:-14px!important;
    margin-right:-14px!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
}


/* =========================================================
   v2.5.56 기본 사이트 팩
   ========================================================= */
.basic-starter-panel{display:grid;gap:16px}
.basic-starter-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.basic-starter-kicker{
  display:block;
  margin-bottom:5px;
  color:#64748b;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
}
.basic-starter-head h2{margin:0 0 6px}
.basic-starter-head p{margin:0;max-width:760px;color:#64748b;line-height:1.6}
.basic-starter-note{
  flex:0 0 260px;
  padding:10px 12px;
  border:1px solid #fed7aa;
  border-radius:10px;
  background:#fff7ed;
  color:#9a3412;
  font-size:.74rem;
  font-weight:800;
  line-height:1.5;
}
.basic-starter-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.basic-starter-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:9px;
  padding:15px;
  border:1px solid #dbe2ea;
  border-radius:14px;
  background:#fff;
}
.basic-starter-card.is-current{
  border-color:#94a3b8;
  box-shadow:0 0 0 2px rgba(100,116,139,.12);
}
.basic-starter-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.basic-starter-code{
  color:#94a3b8;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.08em;
}
.basic-starter-current{
  padding:3px 7px;
  border-radius:999px;
  background:#e2e8f0;
  color:#334155;
  font-size:.64rem;
  font-weight:900;
}
.basic-starter-card h3{margin:0;color:#0f172a;font-size:1rem}
.basic-starter-card>p{
  flex:1;
  margin:0;
  color:#64748b;
  font-size:.76rem;
  line-height:1.55;
}
.basic-starter-pages{
  display:grid;
  gap:4px;
  padding:9px 10px;
  border-radius:9px;
  background:#f8fafc;
}
.basic-starter-pages strong{color:#475569;font-size:.68rem}
.basic-starter-pages span{color:#64748b;font-size:.69rem;line-height:1.45}
.basic-starter-card form{margin-top:auto}
.basic-starter-card form button{width:100%}
.basic-starter-help{
  padding:12px 14px;
  border-radius:10px;
  background:#f8fafc;
}
.basic-starter-help strong{display:block;margin-bottom:3px;color:#334155;font-size:.8rem}
.basic-starter-help p{margin:0;color:#64748b;font-size:.75rem;line-height:1.55}
@media(max-width:1100px){
  .basic-starter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .basic-starter-head{flex-direction:column}
  .basic-starter-note{flex:auto;width:auto}
  .basic-starter-grid{grid-template-columns:1fr}
}


/* =========================================================
   v2.5.57 기본사이트 대표 이미지
   ========================================================= */
.basic-starter-visual{
  height:128px;
  margin:-15px -15px 2px;
  overflow:hidden;
  border-radius:14px 14px 0 0;
  background:#e2e8f0;
}
.basic-starter-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.basic-starter-card.is-current .basic-starter-visual{
  box-shadow:inset 0 -3px 0 #64748b;
}


/* =========================================================
   v2.5.58 특화 블록 편집
   ========================================================= */
.page-layout-special-note{
  margin:10px 0;
  padding:9px 11px;
  border:1px solid #dbeafe;
  border-radius:9px;
  background:#eff6ff;
  color:#475569;
  font-size:.73rem;
  line-height:1.5;
}


/* v2.5.59 메인 페이지 특화영역 */
.home-feature-admin-hint{
  color:#64748b;
  font-size:.74rem;
}


/* =========================================================
   v2.5.60 기본사이트 안전 적용
   ========================================================= */
.basic-starter-mode-guide{
  flex:0 0 320px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:5px 8px;
  padding:11px 12px;
  border:1px solid #dbeafe;
  border-radius:11px;
  background:#f8fbff;
}
.basic-starter-mode-guide strong{
  color:#1e3a8a;
  font-size:.7rem;
  white-space:nowrap;
}
.basic-starter-mode-guide span{
  color:#64748b;
  font-size:.69rem;
  line-height:1.45;
}
.basic-starter-impact{
  display:grid;
  gap:4px;
  padding:9px 10px;
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#fff;
}
.basic-starter-impact strong{
  color:#475569;
  font-size:.68rem;
}
.basic-starter-impact span{
  color:#64748b;
  font-size:.69rem;
  line-height:1.45;
}
.basic-starter-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:auto;
}
.basic-starter-actions .secondary-btn,
.basic-starter-actions .apply-profile-btn{
  width:100%;
  min-height:40px;
  margin:0;
  padding:8px 10px;
  font-size:.73rem;
}
.basic-starter-actions .starter-safe-btn{
  border-color:#bfdbfe;
  color:#1d4ed8;
  background:#eff6ff;
}
.basic-starter-actions .starter-replace-btn{
  background:#334155;
}
.basic-starter-actions.single{
  grid-template-columns:1fr;
}
@media(max-width:720px){
  .basic-starter-mode-guide{
    flex:auto;
    width:auto;
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v2.5.61 기본사이트 적용 영향 미리보기
   ========================================================= */
.basic-starter-current-snapshot{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 10px;
  padding:11px 13px;
  border:1px solid #dbe2ea;
  border-radius:11px;
  background:#f8fafc;
}
.basic-starter-current-snapshot>strong{
  color:#0f172a;
  font-size:.78rem;
}
.basic-starter-current-snapshot>span{
  padding:4px 7px;
  border-radius:999px;
  background:#fff;
  color:#64748b;
  font-size:.7rem;
}
.basic-starter-current-snapshot>span b{
  color:#334155;
}
.basic-starter-current-snapshot>em{
  flex:1 1 100%;
  color:#64748b;
  font-size:.69rem;
  font-style:normal;
  line-height:1.45;
}
.basic-starter-preview{
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
}
.basic-starter-preview>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:38px;
  padding:8px 10px;
  cursor:pointer;
  list-style:none;
}
.basic-starter-preview>summary::-webkit-details-marker{display:none}
.basic-starter-preview>summary:after{
  content:"⌄";
  color:#64748b;
  font-weight:900;
}
.basic-starter-preview[open]>summary:after{
  transform:rotate(180deg);
}
.basic-starter-preview>summary span{
  color:#334155;
  font-size:.72rem;
  font-weight:900;
}
.basic-starter-preview>summary small{
  margin-left:auto;
  color:#94a3b8;
  font-size:.63rem;
}
.basic-starter-preview-body{
  display:grid;
  gap:9px;
  padding:0 10px 10px;
  border-top:1px solid #f1f5f9;
}
.starter-impact-pages{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding-top:9px;
}
.starter-impact-pages>div{
  display:grid;
  gap:3px;
  padding:8px;
  border-radius:8px;
  background:#f8fafc;
}
.starter-impact-pages span{
  color:#64748b;
  font-size:.64rem;
}
.starter-impact-pages b{
  color:#0f172a;
  font-size:.78rem;
}
.starter-impact-pages small{
  overflow:hidden;
  color:#64748b;
  font-size:.62rem;
  line-height:1.45;
  text-overflow:ellipsis;
}
.starter-impact-mode{
  display:grid;
  gap:5px;
  padding:9px 10px;
  border:1px solid #e2e8f0;
  border-radius:9px;
}
.starter-impact-mode.safe{
  border-color:#bfdbfe;
  background:#f8fbff;
}
.starter-impact-mode.replace{
  border-color:#fed7aa;
  background:#fffaf5;
}
.starter-impact-mode>strong{
  color:#334155;
  font-size:.7rem;
}
.starter-impact-mode.safe>strong{color:#1d4ed8}
.starter-impact-mode.replace>strong{color:#9a3412}
.starter-impact-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.starter-impact-row span{
  color:#64748b;
  font-size:.65rem;
}
.starter-impact-row b{
  color:#334155;
  font-size:.65rem;
  text-align:right;
}
.starter-impact-mode p{
  margin:2px 0 0;
  color:#64748b;
  font-size:.64rem;
  line-height:1.45;
}
.starter-impact-backup{
  padding:7px 9px;
  border-radius:8px;
  background:#f1f5f9;
  color:#64748b;
  font-size:.64rem;
  line-height:1.45;
}
.starter-impact-backup strong{color:#334155}
@media(max-width:720px){
  .starter-impact-pages{grid-template-columns:1fr}
}


/* =========================================================
   v2.5.62 기본사이트 적용 결과·되돌리기
   ========================================================= */
.starter-result-panel{
  display:grid;
  gap:14px;
  border-width:2px;
}
.starter-result-panel.is-ok{
  border-color:#bbf7d0;
  background:linear-gradient(180deg,#fff,#f7fff9);
}
.starter-result-panel.is-warning{
  border-color:#fed7aa;
  background:linear-gradient(180deg,#fff,#fffaf5);
}
.starter-result-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.starter-result-kicker{
  display:block;
  margin-bottom:4px;
  color:#64748b;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.12em;
}
.starter-result-head h2{margin:0 0 4px}
.starter-result-head p{
  margin:0;
  color:#64748b;
  font-size:.75rem;
}
.starter-result-status{
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:999px;
  font-size:.69rem;
  font-weight:900;
}
.is-ok .starter-result-status{
  background:#dcfce7;
  color:#166534;
}
.is-warning .starter-result-status{
  background:#ffedd5;
  color:#9a3412;
}
.starter-result-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.starter-result-grid>div{
  display:grid;
  gap:4px;
  padding:11px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
}
.starter-result-grid span{
  color:#64748b;
  font-size:.68rem;
}
.starter-result-grid strong{
  color:#0f172a;
  font-size:.9rem;
}
.starter-result-message{
  padding:11px 13px;
  border-radius:10px;
}
.starter-result-message strong{
  display:block;
  margin-bottom:3px;
  font-size:.76rem;
}
.starter-result-message p{
  margin:0;
  color:#64748b;
  font-size:.72rem;
  line-height:1.5;
}
.starter-result-message.ok{
  background:#f0fdf4;
}
.starter-result-message.ok strong{color:#166534}
.starter-result-message.warning{
  background:#fff7ed;
}
.starter-result-message.warning strong{color:#9a3412}
.starter-result-links{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.starter-result-backup{
  display:flex;
  align-items:center;
  gap:8px;
  padding-top:11px;
  border-top:1px solid #e2e8f0;
}
.starter-result-backup>div{
  display:grid;
  gap:2px;
  margin-right:auto;
}
.starter-result-backup>div strong{
  color:#334155;
  font-size:.72rem;
}
.starter-result-backup>div span{
  color:#64748b;
  font-size:.67rem;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}
.starter-result-backup form{margin:0}
.starter-rollback-btn{
  min-height:38px;
  border:1px solid #fecaca;
  background:#fff1f2;
  color:#be123c;
  font-weight:900;
}
.starter-rollback-btn:hover{
  background:#ffe4e6;
}
@media(max-width:820px){
  .starter-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .starter-result-backup{
    align-items:stretch;
    flex-direction:column;
  }
  .starter-result-backup>div{margin-right:0}
}
@media(max-width:520px){
  .starter-result-grid{grid-template-columns:1fr}
  .starter-result-head{flex-direction:column}
  .starter-result-links{display:grid;grid-template-columns:1fr 1fr}
  .starter-result-backup form button{width:100%}
}


/* =========================================================
   v2.5.63 새 사이트 시작 마법사
   ========================================================= */
.dash-card-start{
  border-color:#bfdbfe;
  background:linear-gradient(145deg,#eff6ff,#fff);
}
.starter-wizard-page-head{align-items:center}
.starter-wizard-shell{
  display:grid;
  gap:18px;
}
.starter-wizard-progress{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.starter-wizard-progress button{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:8px 10px;
  border:1px solid #e2e8f0;
  border-radius:11px;
  background:#fff;
  color:#64748b;
  text-align:left;
}
.starter-wizard-progress button span{
  display:inline-flex;
  width:26px;
  height:26px;
  flex:0 0 26px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f1f5f9;
  font-size:.7rem;
  font-weight:900;
}
.starter-wizard-progress button b{font-size:.73rem}
.starter-wizard-progress button.is-active{
  border-color:#93c5fd;
  background:#eff6ff;
  color:#1d4ed8;
}
.starter-wizard-progress button.is-active span{
  background:#2563eb;
  color:#fff;
}
.starter-wizard-progress button.is-done span{
  background:#dcfce7;
  color:#166534;
}
.starter-wizard-current{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 9px;
  padding:10px 12px;
  border-radius:10px;
  background:#f8fafc;
}
.starter-wizard-current>span{
  color:#334155;
  font-size:.7rem;
  font-weight:900;
}
.starter-wizard-current>b{
  padding:4px 7px;
  border-radius:999px;
  background:#fff;
  color:#475569;
  font-size:.68rem;
}
.starter-wizard-current>small{
  flex:1 1 100%;
  color:#64748b;
  font-size:.67rem;
}
.starter-wizard-step{
  display:grid;
  gap:18px;
  animation:starterWizardIn .18s ease-out;
}
@keyframes starterWizardIn{
  from{opacity:.3;transform:translateY(5px)}
  to{opacity:1;transform:none}
}
.starter-wizard-step-head span{
  display:block;
  margin-bottom:4px;
  color:#2563eb;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.11em;
}
.starter-wizard-step-head h2{margin:0 0 5px}
.starter-wizard-step-head p{
  margin:0;
  color:#64748b;
  font-size:.75rem;
  line-height:1.55;
}
.starter-wizard-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.starter-wizard-type{
  position:relative;
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:11px;
  min-height:104px;
  padding:10px;
  border:1px solid #dbe2ea;
  border-radius:13px;
  background:#fff;
  cursor:pointer;
}
.starter-wizard-type input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.starter-wizard-type img{
  width:82px;
  height:82px;
  border-radius:9px;
  object-fit:cover;
  background:#e2e8f0;
}
.starter-wizard-type>span{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}
.starter-wizard-type strong{
  color:#0f172a;
  font-size:.82rem;
}
.starter-wizard-type small{
  display:-webkit-box;
  overflow:hidden;
  color:#64748b;
  font-size:.66rem;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.starter-wizard-type>em{
  position:absolute;
  top:7px;
  right:7px;
  padding:3px 6px;
  border-radius:999px;
  background:#e2e8f0;
  color:#475569;
  font-size:.59rem;
  font-style:normal;
  font-weight:900;
}
.starter-wizard-type.is-selected{
  border-color:#60a5fa;
  box-shadow:0 0 0 2px rgba(37,99,235,.12);
  background:#f8fbff;
}
.starter-wizard-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.starter-wizard-form-grid label{
  display:grid;
  gap:5px;
  color:#475569;
  font-size:.72rem;
  font-weight:800;
}
.starter-wizard-form-grid label.wide{grid-column:1/-1}
.starter-wizard-form-grid label>strong{color:#dc2626}
.starter-wizard-form-grid input{
  width:100%;
}
.starter-wizard-mode-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.starter-wizard-mode{
  position:relative;
  display:block;
  cursor:pointer;
}
.starter-wizard-mode>input{
  position:absolute;
  opacity:0;
}
.starter-wizard-mode>span{
  display:grid;
  gap:6px;
  min-height:150px;
  padding:16px;
  border:1px solid #dbe2ea;
  border-radius:13px;
  background:#fff;
}
.starter-wizard-mode strong{
  color:#0f172a;
  font-size:.9rem;
}
.starter-wizard-mode strong em{
  margin-left:5px;
  padding:3px 6px;
  border-radius:999px;
  background:#dcfce7;
  color:#166534;
  font-size:.6rem;
  font-style:normal;
}
.starter-wizard-mode b{
  color:#475569;
  font-size:.72rem;
}
.starter-wizard-mode small{
  color:#64748b;
  font-size:.7rem;
  line-height:1.55;
}
.starter-wizard-mode>input:checked+span{
  border-color:#60a5fa;
  box-shadow:0 0 0 2px rgba(37,99,235,.12);
  background:#f8fbff;
}
.starter-wizard-mode>input:disabled+span{
  opacity:.42;
  cursor:not-allowed;
}
.starter-wizard-impact{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:12px;
  border-radius:11px;
  background:#f8fafc;
}
.starter-wizard-impact>strong,
.starter-wizard-impact>p{
  grid-column:1/-1;
}
.starter-wizard-impact>strong{
  color:#334155;
  font-size:.74rem;
}
.starter-wizard-impact>div{
  display:grid;
  gap:4px;
  padding:9px;
  border-radius:8px;
  background:#fff;
}
.starter-wizard-impact span{
  color:#64748b;
  font-size:.64rem;
}
.starter-wizard-impact b{
  color:#0f172a;
  font-size:.8rem;
}
.starter-wizard-impact p{
  margin:0;
  color:#64748b;
  font-size:.68rem;
}
.starter-wizard-review{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.starter-wizard-review>div{
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
}
.starter-wizard-review>div.wide{grid-column:1/-1}
.starter-wizard-review span{
  color:#64748b;
  font-size:.68rem;
}
.starter-wizard-review strong{
  color:#0f172a;
  font-size:.82rem;
}
.starter-wizard-ack{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:12px;
  border:1px solid #bfdbfe;
  border-radius:10px;
  background:#eff6ff;
}
.starter-wizard-ack input{margin-top:3px}
.starter-wizard-ack span{
  display:grid;
  gap:3px;
}
.starter-wizard-ack strong{
  color:#1e3a8a;
  font-size:.75rem;
}
.starter-wizard-ack small{
  color:#64748b;
  font-size:.68rem;
}
.starter-wizard-final-note{
  padding:12px;
  border-radius:10px;
  background:#f8fafc;
}
.starter-wizard-final-note strong{
  display:block;
  margin-bottom:3px;
  color:#334155;
  font-size:.76rem;
}
.starter-wizard-final-note p{
  margin:0;
  color:#64748b;
  font-size:.7rem;
  line-height:1.5;
}
.starter-wizard-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:3px;
}
.starter-wizard-submit{
  min-height:42px;
  padding-inline:18px;
  background:#1d4ed8;
}
@media(max-width:980px){
  .starter-wizard-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .starter-wizard-progress{grid-template-columns:1fr 1fr}
  .starter-wizard-type-grid{grid-template-columns:1fr}
  .starter-wizard-form-grid,
  .starter-wizard-mode-grid,
  .starter-wizard-review{grid-template-columns:1fr}
  .starter-wizard-form-grid label.wide,
  .starter-wizard-review>div.wide{grid-column:auto}
  .starter-wizard-impact{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .starter-wizard-progress button b{font-size:.67rem}
  .starter-wizard-type{grid-template-columns:68px minmax(0,1fr)}
  .starter-wizard-type img{width:68px;height:68px}
  .starter-wizard-impact{grid-template-columns:1fr}
  .starter-wizard-nav{align-items:stretch;flex-direction:column-reverse}
  .starter-wizard-nav>button{width:100%}
}


/* =========================================================
   v2.5.64 사이트 공개 준비 점검
   ========================================================= */
.dash-card-launch{
  border-color:#bbf7d0;
  background:linear-gradient(145deg,#f0fdf4,#fff);
}
.launch-check-head{align-items:center}
.launch-readiness-hero{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  border-width:2px;
}
.launch-readiness-hero.is-ready{
  border-color:#86efac;
  background:linear-gradient(135deg,#f0fdf4,#fff);
}
.launch-readiness-hero.is-review{
  border-color:#fde68a;
  background:linear-gradient(135deg,#fffbeb,#fff);
}
.launch-readiness-hero.is-fix{
  border-color:#fecaca;
  background:linear-gradient(135deg,#fff1f2,#fff);
}
.launch-score-ring{
  display:flex;
  width:96px;
  height:96px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:8px solid #e2e8f0;
  border-radius:50%;
  background:#fff;
}
.is-ready .launch-score-ring{border-color:#86efac}
.is-review .launch-score-ring{border-color:#fde68a}
.is-fix .launch-score-ring{border-color:#fecaca}
.launch-score-ring strong{
  color:#0f172a;
  font-size:1.7rem;
  line-height:1;
}
.launch-score-ring span{
  margin-top:3px;
  color:#94a3b8;
  font-size:.65rem;
}
.launch-readiness-kicker{
  display:block;
  margin-bottom:4px;
  color:#64748b;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.12em;
}
.launch-readiness-copy h2{margin:0 0 6px}
.launch-readiness-copy p{
  margin:0;
  max-width:720px;
  color:#64748b;
  font-size:.75rem;
  line-height:1.55;
}
.launch-readiness-actions{
  display:grid;
  gap:7px;
}
.launch-check-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.launch-check-card{
  display:grid;
  gap:9px;
  margin:0;
  border-left-width:4px;
}
.launch-check-card.ok{border-left-color:#22c55e}
.launch-check-card.warn{border-left-color:#f59e0b}
.launch-check-card.error{border-left-color:#ef4444}
.launch-check-card.info{border-left-color:#64748b}
.launch-check-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.launch-check-card-head strong{
  color:#0f172a;
  font-size:.82rem;
}
.launch-check-card-head span{
  flex:0 0 auto;
  padding:3px 7px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  font-size:.62rem;
  font-weight:900;
}
.launch-check-card.ok .launch-check-card-head span{
  background:#dcfce7;
  color:#166534;
}
.launch-check-card.warn .launch-check-card-head span{
  background:#fef3c7;
  color:#92400e;
}
.launch-check-card.error .launch-check-card-head span{
  background:#fee2e2;
  color:#991b1b;
}
.launch-check-card p{
  margin:0;
  color:#64748b;
  font-size:.72rem;
  line-height:1.55;
}
.launch-check-card>a{
  width:max-content;
  color:#2563eb;
  font-size:.7rem;
  font-weight:900;
  text-decoration:none;
}
.launch-final-checklist{
  display:grid;
  gap:14px;
}
.launch-final-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.launch-final-head span{
  display:block;
  margin-bottom:4px;
  color:#64748b;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.12em;
}
.launch-final-head h2{margin:0}
.launch-final-items{
  display:grid;
  gap:8px;
}
.launch-final-items label{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:11px 12px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
}
.launch-final-items input{margin-top:3px}
.launch-final-items span{
  display:grid;
  gap:3px;
}
.launch-final-items strong{
  color:#334155;
  font-size:.74rem;
}
.launch-final-items small{
  color:#64748b;
  font-size:.67rem;
  line-height:1.45;
}
.launch-final-note{
  margin:0;
  color:#94a3b8;
  font-size:.65rem;
}
@media(max-width:900px){
  .launch-readiness-hero{
    grid-template-columns:auto minmax(0,1fr);
  }
  .launch-readiness-actions{
    grid-column:1/-1;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .launch-check-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .launch-readiness-hero{
    grid-template-columns:1fr;
    align-items:flex-start;
  }
  .launch-score-ring{
    width:82px;
    height:82px;
  }
  .launch-readiness-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .launch-final-head{flex-direction:column}
}


/* =========================================================
   v2.5.65 유형별 세부 기본사이트
   ========================================================= */
.starter-variant-count{
  display:inline-flex;
  margin-left:5px;
  padding:3px 6px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  font-size:.61rem;
  font-weight:800;
  vertical-align:middle;
}
.starter-variant-select{
  grid-column:1/-1;
  display:grid;
  gap:5px;
  color:#475569;
  font-size:.68rem;
  font-weight:900;
}
.starter-variant-select select{
  width:100%;
  min-height:40px;
  padding:7px 9px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  color:#334155;
  font-size:.69rem;
  line-height:1.4;
}
.starter-variant-select select:focus{
  outline:2px solid #bfdbfe;
  outline-offset:1px;
  border-color:#60a5fa;
}
.starter-variant-help{
  margin-top:7px !important;
  padding-top:7px;
  border-top:1px dashed #e2e8f0;
}


/* =========================================================
   v2.5.66 715개 사이트 조합 자동구성 엔진
   ========================================================= */
.combination-engine-panel{
  display:grid;
  gap:15px;
  border:2px solid #bfdbfe;
  background:linear-gradient(160deg,#eff6ff 0,#fff 45%);
}
.combination-engine-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.combination-engine-kicker{
  display:block;
  margin-bottom:5px;
  color:#2563eb;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.12em;
}
.combination-engine-head h2{margin:0 0 5px}
.combination-engine-head p{
  margin:0;
  max-width:760px;
  color:#64748b;
  font-size:.73rem;
  line-height:1.55;
}
.combination-engine-total{
  display:flex;
  width:100px;
  height:86px;
  flex:0 0 100px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid #93c5fd;
  border-radius:14px;
  background:#fff;
}
.combination-engine-total strong{
  color:#1d4ed8;
  font-size:1.7rem;
  line-height:1;
}
.combination-engine-total span{
  margin-top:5px;
  color:#64748b;
  font-size:.64rem;
  font-weight:800;
}
.combination-current-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.combination-current-row>span{
  display:flex;
  align-items:center;
  gap:5px;
  padding:6px 9px;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#fff;
  color:#334155;
  font-size:.69rem;
}
.combination-current-row b{
  color:#2563eb;
  font-size:.62rem;
}
.combination-recommendation{
  display:grid;
  grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);
  gap:12px;
}
.combination-recommendation-main,
.combination-meta-grid{
  border:1px solid #dbe2ea;
  border-radius:12px;
  background:#fff;
}
.combination-recommendation-main{
  padding:15px;
}
.combination-recommendation-main>span{
  color:#64748b;
  font-size:.65rem;
  font-weight:800;
}
.combination-recommendation-main h3{
  margin:5px 0;
  color:#0f172a;
  font-size:1rem;
}
.combination-recommendation-main p{
  margin:0;
  color:#64748b;
  font-size:.68rem;
  line-height:1.5;
}
.combination-meta-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
}
.combination-meta-grid>div{
  display:grid;
  gap:4px;
  padding:11px 12px;
  border-bottom:1px solid #e2e8f0;
}
.combination-meta-grid>div:nth-child(odd){
  border-right:1px solid #e2e8f0;
}
.combination-meta-grid>div:nth-last-child(-n+2){
  border-bottom:0;
}
.combination-meta-grid span{
  color:#94a3b8;
  font-size:.61rem;
}
.combination-meta-grid strong{
  overflow-wrap:anywhere;
  color:#334155;
  font-size:.7rem;
}
.combination-apply-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:8px;
  align-items:end;
  padding:12px;
  border:1px solid #dbeafe;
  border-radius:11px;
  background:#f8fbff;
}
.combination-apply-note strong{
  display:block;
  margin-bottom:3px;
  color:#1e3a8a;
  font-size:.72rem;
}
.combination-apply-note p{
  margin:0;
  color:#64748b;
  font-size:.66rem;
  line-height:1.45;
}
.combination-engine-explain{
  border-top:1px dashed #cbd5e1;
  padding-top:10px;
}
.combination-engine-explain summary{
  cursor:pointer;
  color:#334155;
  font-size:.7rem;
  font-weight:900;
}
.combination-engine-explain div{
  padding:9px 0 0;
}
.combination-engine-explain p{
  margin:0 0 5px;
  color:#64748b;
  font-size:.67rem;
  line-height:1.5;
}
.combination-result-panel{
  display:grid;
  gap:12px;
  border:2px solid #bbf7d0;
  background:linear-gradient(150deg,#f0fdf4,#fff);
}
.combination-result-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.combination-result-head span{
  display:block;
  color:#15803d;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.11em;
}
.combination-result-head h2{margin:4px 0}
.combination-result-head p{
  margin:0;
  color:#64748b;
  font-size:.66rem;
}
.combination-result-head>strong{
  padding:5px 8px;
  border-radius:999px;
  background:#dcfce7;
  color:#166534;
  font-size:.67rem;
}
.combination-result-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
}
.combination-result-grid>div{
  display:grid;
  gap:4px;
  padding:10px;
  border:1px solid #dcfce7;
  border-radius:9px;
  background:#fff;
}
.combination-result-grid span{
  color:#94a3b8;
  font-size:.61rem;
}
.combination-result-grid b{
  overflow-wrap:anywhere;
  color:#334155;
  font-size:.69rem;
}
.combination-result-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.combination-result-actions form{margin:0}
@media(max-width:900px){
  .combination-recommendation{grid-template-columns:1fr}
  .combination-apply-form{grid-template-columns:1fr 1fr}
  .combination-apply-note{grid-column:1/-1}
}
@media(max-width:720px){
  .combination-engine-head{flex-direction:column}
  .combination-engine-total{
    width:100%;
    height:auto;
    min-height:70px;
    flex-basis:auto;
  }
  .combination-meta-grid{grid-template-columns:1fr}
  .combination-meta-grid>div,
  .combination-meta-grid>div:nth-child(odd),
  .combination-meta-grid>div:nth-last-child(-n+2){
    border-right:0;
    border-bottom:1px solid #e2e8f0;
  }
  .combination-meta-grid>div:last-child{border-bottom:0}
  .combination-result-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .combination-apply-form{grid-template-columns:1fr}
  .combination-result-actions{display:grid;grid-template-columns:1fr}
  .combination-result-actions>a,
  .combination-result-actions form,
  .combination-result-actions button{width:100%}
}


/* =========================================================
   v2.5.67 새 사이트 시작 × 715 조합 엔진
   ========================================================= */
.starter-combination-wizard .starter-wizard-progress{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.starter-purpose-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.starter-mode-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.starter-mode-choice,
.starter-access-choice{
  position:relative;
  display:block;
  cursor:pointer;
}
.starter-mode-choice>input,
.starter-access-choice>input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.starter-mode-choice>span,
.starter-access-choice>span{
  display:grid;
  gap:5px;
  min-height:88px;
  padding:12px;
  border:1px solid #dbe2ea;
  border-radius:11px;
  background:#fff;
}
.starter-mode-choice strong,
.starter-access-choice strong{
  color:#0f172a;
  font-size:.76rem;
}
.starter-mode-choice small,
.starter-access-choice small{
  color:#64748b;
  font-size:.66rem;
  line-height:1.45;
}
.starter-mode-choice.is-selected>span,
.starter-access-choice.is-selected>span{
  border-color:#60a5fa;
  box-shadow:0 0 0 2px rgba(37,99,235,.1);
  background:#f8fbff;
}
.starter-access-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.starter-access-choice>span{
  min-height:112px;
}
.starter-auto-recommend{
  display:grid;
  grid-template-columns:auto minmax(200px,.75fr) minmax(0,1.25fr);
  gap:12px;
  align-items:stretch;
}
.starter-auto-score,
.starter-auto-main,
.starter-auto-details{
  border:1px solid #dbeafe;
  border-radius:12px;
  background:#fff;
}
.starter-auto-score{
  display:flex;
  width:110px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#eff6ff,#fff);
}
.starter-auto-score strong{
  color:#1d4ed8;
  font-size:1.8rem;
  line-height:1;
}
.starter-auto-score span{
  margin-top:5px;
  color:#64748b;
  font-size:.62rem;
  font-weight:800;
}
.starter-auto-main{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:15px;
}
.starter-auto-main>span{
  color:#64748b;
  font-size:.64rem;
  font-weight:900;
}
.starter-auto-main h3{
  margin:5px 0;
  color:#0f172a;
  font-size:1rem;
}
.starter-auto-main p{
  margin:0;
  color:#64748b;
  font-size:.68rem;
  line-height:1.5;
}
.starter-auto-details{
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
}
.starter-auto-details>div{
  display:grid;
  gap:4px;
  padding:10px 11px;
  border-bottom:1px solid #e2e8f0;
}
.starter-auto-details>div:nth-child(odd){
  border-right:1px solid #e2e8f0;
}
.starter-auto-details>div:nth-last-child(-n+2){
  border-bottom:0;
}
.starter-auto-details span{
  color:#94a3b8;
  font-size:.6rem;
}
.starter-auto-details b{
  overflow-wrap:anywhere;
  color:#334155;
  font-size:.68rem;
}
.starter-auto-note{
  padding:11px 12px;
  border:1px solid #dbeafe;
  border-radius:10px;
  background:#eff6ff;
}
.starter-auto-note strong{
  display:block;
  margin-bottom:3px;
  color:#1e3a8a;
  font-size:.73rem;
}
.starter-auto-note p{
  margin:0;
  color:#64748b;
  font-size:.67rem;
  line-height:1.5;
}
.starter-wizard-mode.is-selected>span{
  border-color:#60a5fa;
  box-shadow:0 0 0 2px rgba(37,99,235,.12);
  background:#f8fbff;
}
@media(max-width:1050px){
  .starter-combination-wizard .starter-wizard-progress{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .starter-purpose-grid,
  .starter-mode-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .starter-access-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .starter-auto-recommend{
    grid-template-columns:auto minmax(0,1fr);
  }
  .starter-auto-details{
    grid-column:1/-1;
  }
}
@media(max-width:720px){
  .starter-combination-wizard .starter-wizard-progress{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .starter-purpose-grid,
  .starter-mode-choice-grid,
  .starter-access-choice-grid{
    grid-template-columns:1fr;
  }
  .starter-access-choice>span{
    min-height:0;
  }
  .starter-auto-recommend{
    grid-template-columns:1fr;
  }
  .starter-auto-score{
    width:100%;
    min-height:72px;
  }
  .starter-auto-details{
    grid-column:auto;
    grid-template-columns:1fr;
  }
  .starter-auto-details>div,
  .starter-auto-details>div:nth-child(odd),
  .starter-auto-details>div:nth-last-child(-n+2){
    border-right:0;
    border-bottom:1px solid #e2e8f0;
  }
  .starter-auto-details>div:last-child{
    border-bottom:0;
  }
}

/* =========================================================
   v2.5.68 사이트 출판 · 독립 운영판
   ========================================================= */
.dash-card-publish{
  border-color:#c4b5fd;
  background:linear-gradient(145deg,#f5f3ff,#fff);
}
.published-edition-banner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  border:2px solid #c4b5fd;
  background:linear-gradient(145deg,#f5f3ff,#fff);
}
.published-edition-banner>div:first-child>span,
.publish-kicker,
.publish-builder-head>div>span{
  display:block;
  margin-bottom:4px;
  color:#6d28d9;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.12em;
}
.published-edition-banner h2{margin:0 0 5px}
.published-edition-banner p{
  margin:0;
  color:#64748b;
  font-size:.72rem;
  line-height:1.55;
}
.published-edition-meta{
  display:grid;
  gap:6px;
  min-width:210px;
}
.published-edition-meta span{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:6px 9px;
  border:1px solid #ddd6fe;
  border-radius:8px;
  background:#fff;
  color:#64748b;
  font-size:.64rem;
}
.published-edition-meta b{color:#4c1d95}
.published-sidebar-badge{
  margin:8px 10px 10px;
  padding:8px 9px;
  border:1px solid rgba(196,181,253,.45);
  border-radius:8px;
  background:rgba(109,40,217,.13);
  color:#ede9fe;
  font-size:.66rem;
  font-weight:900;
  text-align:center;
}
.published-info-panel{display:grid;gap:12px}
.published-info-form{display:grid;gap:10px}
.published-info-grid{grid-template-columns:1fr 1fr}
.published-info-form label{
  display:grid;
  gap:5px;
  color:#475569;
  font-size:.72rem;
  font-weight:800;
}
.published-info-grid .wide{grid-column:1/-1}
.published-lock-summary{
  border-left:4px solid #8b5cf6;
  background:#faf5ff;
}
.published-lock-summary strong{color:#5b21b6}
.published-lock-summary p{margin:5px 0 0;color:#64748b;font-size:.7rem;line-height:1.5}
.publish-summary-panel{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  border:2px solid #c4b5fd;
  background:linear-gradient(145deg,#f5f3ff,#fff);
}
.publish-summary-score{
  display:flex;
  width:92px;
  height:92px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:7px solid #c4b5fd;
  border-radius:50%;
  background:#fff;
}
.publish-summary-score strong{color:#5b21b6;font-size:1.55rem;line-height:1}
.publish-summary-score span{margin-top:5px;color:#64748b;font-size:.59rem}
.publish-summary-panel h2{margin:0 0 5px}
.publish-summary-panel p{margin:0;color:#64748b;font-size:.72rem;line-height:1.55}
.publish-summary-flags{display:grid;gap:6px}
.publish-summary-flags span{
  display:flex;
  justify-content:space-between;
  gap:12px;
  min-width:145px;
  padding:7px 9px;
  border:1px solid #ddd6fe;
  border-radius:8px;
  background:#fff;
  color:#64748b;
  font-size:.65rem;
}
.publish-summary-flags b{color:#5b21b6}
.publish-builder-panel{display:grid;gap:16px}
.publish-builder-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.publish-builder-head h2{margin:0 0 5px}
.publish-builder-head p{margin:0;color:#64748b;font-size:.7rem;line-height:1.5}
.publish-runtime-badge{
  flex:0 0 auto;
  padding:7px 10px;
  border-radius:999px;
  background:#ede9fe;
  color:#5b21b6;
  font-size:.65rem;
  font-weight:900;
}
.publish-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.publish-form-grid label{
  display:grid;
  gap:5px;
  color:#475569;
  font-size:.71rem;
  font-weight:800;
}
.publish-form-grid small{color:#94a3b8;font-weight:600}
.publish-scope-fieldset{
  margin:0;
  padding:12px;
  border:1px solid #e2e8f0;
  border-radius:11px;
}
.publish-scope-fieldset legend{
  padding:0 5px;
  color:#334155;
  font-size:.72rem;
  font-weight:900;
}
.publish-scope-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.publish-scope-grid label{position:relative;display:block;cursor:pointer}
.publish-scope-grid input{position:absolute;opacity:0}
.publish-scope-grid span{
  display:grid;
  gap:5px;
  min-height:125px;
  padding:12px;
  border:1px solid #dbe2ea;
  border-radius:10px;
  background:#fff;
}
.publish-scope-grid input:checked+span{
  border-color:#8b5cf6;
  box-shadow:0 0 0 2px rgba(139,92,246,.12);
  background:#faf5ff;
}
.publish-scope-grid strong{color:#0f172a;font-size:.75rem}
.publish-scope-grid em{
  margin-left:4px;
  padding:2px 5px;
  border-radius:999px;
  background:#dcfce7;
  color:#166534;
  font-size:.57rem;
  font-style:normal;
}
.publish-scope-grid small{color:#64748b;font-size:.65rem;line-height:1.45}
.publish-data-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.publish-data-options label{
  display:flex;
  gap:8px;
  align-items:flex-start;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#fff;
}
.publish-data-options input{margin-top:3px}
.publish-data-options span{display:grid;gap:3px}
.publish-data-options strong{color:#334155;font-size:.7rem}
.publish-data-options small{color:#64748b;font-size:.63rem;line-height:1.4}
.publish-file-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.publish-file-summary>div{
  display:grid;
  gap:4px;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#f8fafc;
}
.publish-file-summary span{color:#94a3b8;font-size:.61rem}
.publish-file-summary strong{color:#334155;font-size:.69rem}
.publish-security-note{
  padding:11px 12px;
  border:1px solid #ddd6fe;
  border-radius:10px;
  background:#faf5ff;
}
.publish-security-note strong{display:block;margin-bottom:3px;color:#5b21b6;font-size:.72rem}
.publish-security-note p{margin:0;color:#64748b;font-size:.66rem;line-height:1.5}
.publish-progress{
  display:grid;
  gap:7px;
  padding:11px;
  border:1px solid #dbeafe;
  border-radius:10px;
  background:#f8fbff;
}
.publish-progress>div{display:flex;justify-content:space-between;gap:12px}
.publish-progress strong{color:#334155;font-size:.68rem;overflow-wrap:anywhere}
.publish-progress span{color:#64748b;font-size:.65rem}
.publish-progress progress{width:100%;height:12px}
.publish-actions{display:flex;flex-wrap:wrap;gap:8px}
.publish-build-btn{
  min-height:42px;
  padding:8px 17px;
  border:1px solid #6d28d9;
  background:#6d28d9;
  color:#fff;
  font-weight:900;
}
.publish-build-btn:disabled{opacity:.55;cursor:wait}
.publish-result{
  padding:12px;
  border:1px solid #bbf7d0;
  border-radius:10px;
  background:#f0fdf4;
}
.publish-result strong{display:block;color:#166534;font-size:.75rem}
.publish-result p{margin:4px 0 0;color:#64748b;font-size:.67rem;line-height:1.5}
.publish-deploy-guide{display:grid;gap:12px}
.publish-deploy-guide h2{margin:0}
.publish-deploy-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.publish-deploy-steps span{
  display:flex;
  gap:7px;
  align-items:center;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#fff;
  color:#475569;
  font-size:.67rem;
  font-weight:800;
}
.publish-deploy-steps b{
  display:inline-flex;
  width:24px;
  height:24px;
  align-items:center;
  justify-content:center;
  flex:0 0 24px;
  border-radius:50%;
  background:#ede9fe;
  color:#5b21b6;
}
.publish-deploy-guide>p{margin:0;color:#64748b;font-size:.67rem;line-height:1.5}
@media(max-width:900px){
  .published-edition-banner,
  .publish-summary-panel{grid-template-columns:1fr}
  .published-edition-meta,.publish-summary-flags{min-width:0}
  .publish-summary-score{width:82px;height:82px}
  .publish-scope-grid{grid-template-columns:1fr}
  .publish-scope-grid span{min-height:0}
  .publish-data-options{grid-template-columns:1fr}
  .publish-file-summary{grid-template-columns:1fr 1fr}
  .publish-deploy-steps{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .published-info-grid,
  .publish-form-grid{grid-template-columns:1fr}
  .published-info-grid .wide{grid-column:auto}
  .publish-builder-head{flex-direction:column}
  .publish-file-summary,
  .publish-deploy-steps{grid-template-columns:1fr}
  .publish-actions{display:grid;grid-template-columns:1fr}
  .publish-actions>*{width:100%}
}


/* =========================================================
   v2.5.69 SLIM 독립 운영판 출판
   ========================================================= */
.publish-data-options .publish-slim-option{
  border-color:#bbf7d0;
  background:#f0fdf4;
}
.publish-slim-option strong{
  color:#166534;
}
.publish-slim-option strong em{
  margin-left:5px;
  padding:2px 6px;
  border-radius:999px;
  background:#dcfce7;
  color:#166534;
  font-size:.58rem;
  font-style:normal;
}
.publish-file-summary-slim{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.publish-slim-note{
  padding:11px 12px;
  border:1px solid #bbf7d0;
  border-radius:10px;
  background:#f0fdf4;
}
.publish-slim-note strong{
  display:block;
  margin-bottom:3px;
  color:#166534;
  font-size:.72rem;
}
.publish-slim-note p{
  margin:0;
  color:#64748b;
  font-size:.66rem;
  line-height:1.5;
}
@media(max-width:1000px){
  .publish-file-summary-slim{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .publish-file-summary-slim{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:620px){
  .publish-file-summary-slim{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v2.5.70 납품용 독립사이트 관리자 UX
   ========================================================= */
.published-sidebar-badge{
  display:grid;
  gap:3px;
  text-align:left;
}
.published-sidebar-badge strong{
  color:#f5f3ff;
  font-size:.69rem;
}
.published-sidebar-badge span{
  color:#c4b5fd;
  font-size:.59rem;
  font-weight:700;
  line-height:1.35;
}
.published-dashboard-head{
  align-items:center;
}
.published-dashboard-kicker{
  display:block;
  margin-bottom:4px;
  color:#7c3aed;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.11em;
}
.published-dashboard-head h1{
  margin:0 0 5px;
}
.published-dashboard-head p{
  margin:0;
  max-width:760px;
  color:#64748b;
  font-size:.72rem;
  line-height:1.5;
}
.published-home-view-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:7px 14px;
  border:1px solid #7c3aed;
  border-radius:9px;
  background:#7c3aed;
  color:#fff;
  font-size:.7rem;
  font-weight:900;
  text-decoration:none;
}
.published-delivery-banner{
  margin-bottom:4px;
}
.published-admin-section{
  display:grid;
  gap:10px;
  margin:0 0 16px;
}
.published-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.published-section-head>div>span{
  display:block;
  margin-bottom:3px;
  color:#64748b;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.11em;
}
.published-section-head h2{
  margin:0 0 3px;
  color:#0f172a;
  font-size:1rem;
}
.published-section-head p{
  margin:0;
  color:#64748b;
  font-size:.67rem;
  line-height:1.45;
}
.published-dashboard-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.published-dashboard-grid .dash-card{
  min-height:112px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:6px;
}
.published-dashboard-grid .dash-card strong{
  font-size:.78rem;
}
.published-dashboard-grid .dash-card span{
  line-height:1.45;
}
.published-dashboard-grid .dash-card em{
  margin-top:auto;
  color:#7c3aed;
  font-size:.63rem;
  font-style:normal;
  font-weight:900;
}
.published-primary-card{
  border-color:#c4b5fd;
  background:linear-gradient(145deg,#faf5ff,#fff);
}
.published-structure-card{
  border-color:#bfdbfe;
  background:linear-gradient(145deg,#eff6ff,#fff);
}
.published-advanced-section{
  padding-top:3px;
  border-top:1px dashed #cbd5e1;
}
.published-advanced-card{
  border-color:#fed7aa;
  background:linear-gradient(145deg,#fff7ed,#fff);
}
.published-admin-help{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:flex-start;
  border-left:4px solid #8b5cf6;
  background:#faf5ff;
}
.published-admin-help-icon{
  display:flex;
  width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#ede9fe;
  color:#6d28d9;
  font-size:.8rem;
  font-weight:900;
}
.published-admin-help strong{
  color:#4c1d95;
  font-size:.74rem;
}
.published-admin-help p{
  margin:4px 0 0;
  color:#64748b;
  font-size:.67rem;
  line-height:1.5;
}
@media(max-width:1050px){
  .published-dashboard-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .published-dashboard-head,
  .published-section-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .published-home-view-btn{
    width:100%;
  }
  .published-dashboard-grid{
    grid-template-columns:1fr;
  }
  .published-dashboard-grid .dash-card{
    min-height:0;
  }
}


/* =========================================================
   v2.5.71 고객자료 기반 AI 페이지 완성도우미
   ========================================================= */
.ai-content-page-head{
  align-items:flex-end;
}
.ai-content-kicker{
  display:block;
  margin-bottom:4px;
  color:#2563eb;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.11em;
}
.ai-content-page-head h1{
  margin:0 0 5px;
}
.ai-content-page-head p{
  margin:0;
  max-width:780px;
  color:#64748b;
  font-size:.72rem;
  line-height:1.5;
}
.ai-page-head-actions,
.page-head-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.ai-workflow-overview{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  border:2px solid #bfdbfe;
  background:linear-gradient(145deg,#eff6ff,#fff);
}
.ai-workflow-score{
  display:flex;
  width:88px;
  height:88px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:6px solid #93c5fd;
  border-radius:50%;
  background:#fff;
}
.ai-workflow-score strong{
  color:#1d4ed8;
  font-size:1.45rem;
  line-height:1;
}
.ai-workflow-score span{
  margin-top:5px;
  color:#64748b;
  font-size:.58rem;
}
.ai-workflow-summary h2{
  margin:0 0 5px;
  color:#0f172a;
  font-size:1rem;
}
.ai-workflow-summary p{
  margin:0;
  color:#64748b;
  font-size:.69rem;
  line-height:1.55;
}
.ai-workflow-stats{
  display:grid;
  gap:6px;
  min-width:190px;
}
.ai-workflow-stats span{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:7px 9px;
  border:1px solid #dbeafe;
  border-radius:8px;
  background:#fff;
  color:#64748b;
  font-size:.64rem;
}
.ai-workflow-stats b{
  color:#1e3a8a;
}
.ai-step-badge{
  display:inline-flex;
  min-width:25px;
  height:25px;
  margin-right:6px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:.65rem;
  font-weight:900;
  vertical-align:middle;
}
.ai-customer-material-panel,
.ai-prompt-panel,
.ai-workflow-guide{
  display:grid;
  gap:13px;
}
.ai-customer-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.ai-customer-grid label{
  display:grid;
  gap:5px;
  color:#475569;
  font-size:.7rem;
  font-weight:800;
}
.ai-customer-grid label.wide{
  grid-column:1/-1;
}
.ai-customer-grid textarea{
  width:100%;
  min-height:88px;
  resize:vertical;
  line-height:1.5;
}
.ai-customer-grid label.wide textarea{
  min-height:120px;
}
.ai-customer-grid small{
  color:#94a3b8;
  font-size:.61rem;
  font-weight:600;
  line-height:1.4;
}
.ai-local-file-label input[type="file"]{
  padding:8px;
  border:1px dashed #bfdbfe;
  border-radius:8px;
  background:#f8fbff;
}
.ai-customer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  margin-top:10px;
}
.ai-customer-actions span{
  color:#64748b;
  font-size:.66rem;
}
.ai-customer-actions strong{
  color:#1d4ed8;
}
.ai-customer-clear-form{
  display:flex;
  justify-content:flex-end;
  padding-top:9px;
  border-top:1px dashed #e2e8f0;
}
.ai-prompt-selector{
  display:grid;
  grid-template-columns:minmax(200px,1fr) minmax(220px,1fr) auto;
  gap:9px;
  align-items:end;
  padding:12px;
  border:1px solid #dbeafe;
  border-radius:11px;
  background:#f8fbff;
}
.ai-prompt-selector label{
  display:grid;
  gap:5px;
  color:#475569;
  font-size:.69rem;
  font-weight:800;
}
.ai-selected-page-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.ai-selected-page-summary>div{
  display:grid;
  gap:3px;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#fff;
}
.ai-selected-page-summary span{
  color:#94a3b8;
  font-size:.6rem;
}
.ai-selected-page-summary strong{
  color:#334155;
  font-size:.72rem;
}
.ai-selected-page-summary small{
  color:#94a3b8;
  font-size:.58rem;
}
.ai-block-structure{
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#fff;
}
.ai-block-structure summary{
  padding:10px 11px;
  cursor:pointer;
  color:#475569;
  font-size:.68rem;
  font-weight:900;
}
.ai-block-structure pre{
  max-height:260px;
  margin:0;
  padding:0 11px 11px;
  overflow:auto;
  white-space:pre-wrap;
  color:#64748b;
  font-family:inherit;
  font-size:.64rem;
  line-height:1.5;
}
.ai-prompt-output{
  display:grid;
  gap:8px;
}
.ai-prompt-output-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.ai-prompt-output-head>div:first-child{
  display:grid;
  gap:3px;
}
.ai-prompt-output-head strong{
  color:#0f172a;
  font-size:.76rem;
}
.ai-prompt-output-head span{
  color:#64748b;
  font-size:.63rem;
}
.ai-prompt-output-head>div:last-child{
  display:flex;
  gap:6px;
}
.ai-prompt-output textarea{
  width:100%;
  min-height:520px;
  padding:13px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#0f172a;
  color:#e2e8f0;
  font-family:Consolas,"Courier New",monospace;
  font-size:.68rem;
  line-height:1.55;
  resize:vertical;
}
.ai-copy-status{
  min-height:18px;
  color:#15803d;
  font-size:.63rem;
  font-weight:800;
}
.ai-workflow-steps{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
}
.ai-workflow-steps span{
  display:flex;
  min-height:64px;
  gap:7px;
  align-items:center;
  padding:9px;
  border:1px solid #dbeafe;
  border-radius:9px;
  background:#fff;
  color:#475569;
  font-size:.64rem;
  font-weight:800;
}
.ai-workflow-steps b{
  display:inline-flex;
  width:24px;
  height:24px;
  flex:0 0 24px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#dbeafe;
  color:#1d4ed8;
}
.ai-safety-note{
  padding:11px 12px;
  border:1px solid #fde68a;
  border-radius:10px;
  background:#fffbeb;
}
.ai-safety-note strong{
  display:block;
  margin-bottom:3px;
  color:#92400e;
  font-size:.7rem;
}
.ai-safety-note p{
  margin:0;
  color:#78716c;
  font-size:.65rem;
  line-height:1.5;
}
.ai-page-helper-link{
  border-color:#93c5fd;
  color:#1d4ed8;
  background:#eff6ff;
}
.dash-card-ai{
  border-color:#bfdbfe;
  background:linear-gradient(145deg,#eff6ff,#fff);
}
@media(max-width:1050px){
  .ai-workflow-overview{
    grid-template-columns:auto 1fr;
  }
  .ai-workflow-stats{
    grid-column:1/-1;
    grid-template-columns:1fr 1fr;
  }
  .ai-workflow-steps{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .ai-content-page-head,
  .ai-prompt-output-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .ai-page-head-actions,
  .ai-prompt-output-head>div:last-child{
    width:100%;
  }
  .ai-page-head-actions>*,
  .ai-prompt-output-head>div:last-child>*{
    flex:1;
  }
  .ai-workflow-overview{
    grid-template-columns:1fr;
  }
  .ai-workflow-score{
    width:78px;
    height:78px;
  }
  .ai-workflow-stats{
    grid-column:auto;
    grid-template-columns:1fr;
  }
  .ai-customer-grid,
  .ai-selected-page-summary,
  .ai-prompt-selector{
    grid-template-columns:1fr;
  }
  .ai-customer-grid label.wide{
    grid-column:auto;
  }
  .ai-workflow-steps{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:520px){
  .ai-workflow-steps{
    grid-template-columns:1fr;
  }
  .ai-prompt-output textarea{
    min-height:420px;
  }
}


/* =========================================================
   v2.5.72 AI 결과 가져오기 · 블록별 미리보기 · 선택 적용
   ========================================================= */
.ai-result-import-panel{
  display:grid;
  gap:13px;
  border:2px solid #c7d2fe;
  background:linear-gradient(150deg,#eef2ff 0,#fff 48%);
}
.ai-import-safety-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 9px;
  border:1px solid #bbf7d0;
  border-radius:999px;
  background:#f0fdf4;
  color:#166534;
  font-size:.62rem;
  font-weight:900;
}
.ai-result-paste-form{
  display:grid;
  gap:8px;
}
.ai-result-paste-form>label{
  display:grid;
  gap:5px;
  color:#475569;
  font-size:.7rem;
  font-weight:800;
}
.ai-result-paste-form textarea{
  width:100%;
  min-height:270px;
  padding:12px;
  border:1px solid #c7d2fe;
  border-radius:10px;
  background:#fff;
  color:#334155;
  font-family:Consolas,"Courier New",monospace;
  font-size:.67rem;
  line-height:1.5;
  resize:vertical;
}
.ai-result-paste-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  justify-content:flex-end;
}
.ai-import-format-guide{
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#fff;
}
.ai-import-format-guide summary{
  padding:10px 11px;
  cursor:pointer;
  color:#475569;
  font-size:.67rem;
  font-weight:900;
}
.ai-import-format-guide pre{
  max-height:320px;
  margin:0;
  padding:0 11px 11px;
  overflow:auto;
  white-space:pre-wrap;
  color:#64748b;
  font-family:Consolas,"Courier New",monospace;
  font-size:.63rem;
  line-height:1.5;
}
.ai-import-analysis-head{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.ai-import-analysis-head>div{
  display:grid;
  gap:4px;
  padding:10px;
  border:1px solid #c7d2fe;
  border-radius:9px;
  background:#fff;
}
.ai-import-analysis-head span{
  color:#94a3b8;
  font-size:.6rem;
}
.ai-import-analysis-head strong{
  overflow-wrap:anywhere;
  color:#3730a3;
  font-size:.72rem;
}
.ai-import-apply-form{
  display:grid;
  gap:12px;
}
.ai-import-top-preview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.ai-import-top-preview>label{
  display:flex;
  gap:8px;
  align-items:flex-start;
  padding:10px;
  border:1px solid #dbe2ea;
  border-radius:9px;
  background:#fff;
  cursor:pointer;
}
.ai-import-top-preview input{
  margin-top:3px;
}
.ai-import-top-preview span{
  display:grid;
  gap:3px;
  min-width:0;
}
.ai-import-top-preview b{
  color:#4f46e5;
  font-size:.61rem;
}
.ai-import-top-preview strong{
  overflow-wrap:anywhere;
  color:#334155;
  font-size:.7rem;
}
.ai-import-top-preview small{
  overflow-wrap:anywhere;
  color:#64748b;
  font-size:.62rem;
  line-height:1.4;
}
.ai-import-block-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.ai-import-block-card{
  display:grid;
  align-content:start;
  gap:7px;
  padding:11px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
}
.ai-import-block-card.is-extra{
  border-style:dashed;
  background:#f8fafc;
  opacity:.88;
}
.ai-import-block-card header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding-bottom:7px;
  border-bottom:1px solid #e2e8f0;
}
.ai-import-block-card header>div{
  display:grid;
  gap:2px;
}
.ai-import-block-card header span{
  color:#6366f1;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.08em;
}
.ai-import-block-card header strong{
  color:#0f172a;
  font-size:.72rem;
}
.ai-import-block-card header label{
  display:flex;
  gap:5px;
  align-items:center;
  color:#475569;
  font-size:.63rem;
  font-weight:900;
  cursor:pointer;
}
.ai-import-block-card header em{
  padding:3px 6px;
  border-radius:999px;
  background:#f1f5f9;
  color:#94a3b8;
  font-size:.58rem;
  font-style:normal;
  font-weight:900;
}
.ai-import-type-compare{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.ai-import-type-compare span{
  padding:3px 6px;
  border-radius:999px;
  background:#eef2ff;
  color:#4338ca;
  font-size:.58rem;
  font-weight:800;
}
.ai-import-type-compare b{
  padding:3px 6px;
  border-radius:999px;
  background:#fffbeb;
  color:#92400e;
  font-size:.58rem;
}
.ai-import-block-card h3{
  margin:0;
  color:#0f172a;
  font-size:.82rem;
}
.ai-import-block-card p{
  margin:0;
  color:#64748b;
  font-size:.64rem;
  line-height:1.5;
  white-space:pre-wrap;
}
.ai-import-block-card p small{
  color:#6366f1;
}
.ai-import-block-card ul{
  display:grid;
  gap:5px;
  margin:2px 0 0;
  padding:0;
  list-style:none;
}
.ai-import-block-card li{
  display:grid;
  gap:2px;
  padding:6px 7px;
  border-radius:7px;
  background:#f8fafc;
}
.ai-import-block-card li b{
  color:#334155;
  font-size:.62rem;
}
.ai-import-block-card li span{
  color:#64748b;
  font-size:.59rem;
  line-height:1.4;
}
.ai-import-warning{
  padding:7px 8px;
  border:1px solid #fde68a;
  border-radius:7px;
  background:#fffbeb;
  color:#92400e;
  font-size:.61rem;
  line-height:1.4;
}
.ai-import-policy{
  padding:10px 11px;
  border:1px solid #bfdbfe;
  border-radius:9px;
  background:#eff6ff;
}
.ai-import-policy strong{
  display:block;
  margin-bottom:3px;
  color:#1e3a8a;
  font-size:.69rem;
}
.ai-import-policy p{
  margin:0;
  color:#64748b;
  font-size:.63rem;
  line-height:1.48;
}
.ai-import-apply-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  justify-content:flex-end;
}
.ai-import-empty{
  padding:11px;
  border:1px solid #fecaca;
  border-radius:9px;
  background:#fef2f2;
}
.ai-import-empty strong{
  color:#991b1b;
  font-size:.7rem;
}
.ai-import-empty p{
  margin:4px 0 0;
  color:#7f1d1d;
  font-size:.63rem;
  line-height:1.45;
}
.ai-import-result-panel{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  border:2px solid #bbf7d0;
  background:linear-gradient(145deg,#f0fdf4,#fff);
}
.ai-import-result-panel>div:first-child>span{
  display:block;
  margin-bottom:3px;
  color:#15803d;
  font-size:.59rem;
  font-weight:900;
  letter-spacing:.1em;
}
.ai-import-result-panel h2{
  margin:0 0 4px;
  color:#14532d;
  font-size:.9rem;
}
.ai-import-result-panel p{
  margin:0;
  color:#64748b;
  font-size:.65rem;
  line-height:1.45;
}
.ai-import-result-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  justify-content:flex-end;
}
.ai-import-result-actions form{
  margin:0;
}
.ai-import-rollback-panel{
  display:block;
  border-color:#bfdbfe;
  background:#eff6ff;
}
.ai-import-rollback-panel>strong{
  color:#1e3a8a;
  font-size:.72rem;
}
.ai-import-rollback-panel>p{
  margin-top:4px;
}
.ai-workflow-steps-seven{
  grid-template-columns:repeat(7,minmax(0,1fr));
}
@media(max-width:1100px){
  .ai-workflow-steps-seven{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .ai-import-top-preview,
  .ai-import-analysis-head{
    grid-template-columns:1fr;
  }
  .ai-import-result-panel{
    flex-direction:column;
  }
  .ai-import-result-actions{
    justify-content:flex-start;
  }
}
@media(max-width:760px){
  .ai-import-block-grid{
    grid-template-columns:1fr;
  }
  .ai-workflow-steps-seven{
    grid-template-columns:1fr 1fr;
  }
  .ai-result-paste-actions,
  .ai-import-apply-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .ai-result-paste-actions>*,
  .ai-import-apply-actions>*{
    width:100%;
  }
}
@media(max-width:520px){
  .ai-workflow-steps-seven{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v2.5.74 앨범게시판
   ========================================================= */
.dash-card-album{
  border-color:#c7d2fe;
  background:linear-gradient(145deg,#eef2ff,#fff);
}
.album-admin-guide{
  border-left:4px solid #6366f1;
  background:#f8faff;
}
.album-admin-guide strong{
  color:#312e81;
  font-size:.76rem;
}
.album-admin-guide p{
  margin:4px 0 0;
  color:#64748b;
  font-size:.67rem;
  line-height:1.5;
}
.album-admin-row small{
  line-height:1.45;
}


/* =========================================================
   v2.5.74 앨범게시판 관리자
   ========================================================= */
.album-admin-guide{
  border-left:4px solid #6366f1;
  background:#f8faff;
}
.album-admin-guide strong{
  color:#3730a3;
  font-size:.76rem;
}
.album-admin-guide p{
  margin:4px 0 0;
  color:#64748b;
  font-size:.66rem;
  line-height:1.5;
}
.album-admin-row .row-actions{
  flex-wrap:wrap;
}


/* =========================================================
   v2.5.75 팝업 WYSIWYG + 메뉴 손잡이 순서변경
   ========================================================= */
.popup-wysiwyg-modal .wel4u-editor{
  margin-top:3px;
}
.popup-wysiwyg-modal .wel4u-editor-area{
  min-height:220px;
  max-height:440px;
  overflow:auto;
}
.menu-drag-handle{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  touch-action:none!important;
  user-select:none;
  -webkit-user-select:none;
}
body.menu-pointer-sorting{
  cursor:grabbing;
  user-select:none;
  -webkit-user-select:none;
}
.menu-sortable-row.pointer-dragging,
.menu-admin-group.pointer-dragging{
  opacity:.72;
}
.menu-admin-group.pointer-dragging{
  outline:2px solid #93c5fd;
  outline-offset:2px;
  border-radius:10px;
}
.menu-sortable-row.child.pointer-dragging{
  outline:2px solid #93c5fd;
  outline-offset:1px;
}
@media(max-width:900px){
  .menu-drag-handle{
    display:inline-flex!important;
    touch-action:none!important;
  }
}


/* =========================================================
   v2.5.77 메인화면 블록 편집 통합
   ========================================================= */
.home-editor-page-head{
  align-items:flex-end;
}
.home-editor-guide{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border:1px solid #bfdbfe;
  background:linear-gradient(145deg,#eff6ff,#fff);
}
.home-editor-guide strong{
  display:block;
  color:#1e3a8a;
  font-size:.78rem;
}
.home-editor-guide p{
  margin:4px 0 0;
  color:#64748b;
  font-size:.66rem;
  line-height:1.5;
}
.home-editor-guide-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
}
.home-editor-guide-badges span{
  display:inline-flex;
  min-height:27px;
  align-items:center;
  padding:4px 8px;
  border:1px solid #bfdbfe;
  border-radius:999px;
  background:#fff;
  color:#1d4ed8;
  font-size:.59rem;
  font-weight:900;
}
.home-block-admin-list{
  display:grid;
  gap:8px;
}
.home-block-admin-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.home-block-admin-row:hover{
  border-color:#cbd5e1;
  box-shadow:0 5px 15px rgba(15,23,42,.04);
}
.home-block-admin-row.pointer-dragging{
  z-index:5;
  opacity:.72;
  border-color:#93c5fd;
  box-shadow:0 12px 28px rgba(37,99,235,.13);
}
.home-block-drag-handle{
  display:inline-flex;
  width:32px;
  height:42px;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid #dbe2ea;
  border-radius:8px;
  background:#f8fafc;
  color:#64748b;
  font-size:1rem;
  font-weight:900;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
}
.home-block-drag-handle:active{
  cursor:grabbing;
}
body.home-block-sorting{
  cursor:grabbing;
  user-select:none;
  -webkit-user-select:none;
}
.home-block-admin-info{
  display:grid;
  min-width:0;
  gap:4px;
}
.home-block-admin-title{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.home-block-admin-title strong{
  overflow-wrap:anywhere;
  color:#0f172a;
  font-size:.76rem;
}
.home-block-admin-title span{
  padding:3px 6px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  font-size:.57rem;
  font-weight:800;
}
.home-block-admin-title em{
  padding:3px 6px;
  border-radius:999px;
  font-size:.56rem;
  font-style:normal;
  font-weight:900;
}
.home-block-admin-title em.is-on{
  background:#dcfce7;
  color:#166534;
}
.home-block-admin-title em.is-off{
  background:#f1f5f9;
  color:#64748b;
}
.home-block-admin-info p{
  overflow:hidden;
  margin:0;
  color:#64748b;
  font-size:.63rem;
  line-height:1.4;
  text-overflow:ellipsis;
}
.home-block-admin-info small{
  overflow-wrap:anywhere;
  color:#94a3b8;
  font-size:.58rem;
}
.home-block-admin-actions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  align-items:center;
  justify-content:flex-end;
}
.home-block-admin-actions form{
  margin:0;
}
.home-block-editor-modal .cms-modal-dialog{
  max-height:94vh;
}
.home-block-editor-modal .cms-modal-form{
  overflow:auto;
}
.home-block-editor-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.home-block-editor-grid>label{
  display:grid;
  gap:5px;
}
.home-block-basic-row{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.home-block-basic-row>label{
  display:grid;
  gap:5px;
  min-width:0;
}
.home-block-basic-row input,
.home-block-basic-row select{
  width:100%;
  min-width:0;
}
.home-block-editor-grid>label.wide{
  grid-column:1/-1;
}
.home-block-editor-grid small{
  color:#94a3b8;
  font-size:.6rem;
  line-height:1.4;
}
.home-block-editor-form .wel4u-editor-area{
  min-height:240px;
}
.sticky-modal-actions{
  position:sticky;
  z-index:4;
  bottom:0;
  margin:10px -2px -2px;
  padding:10px 2px 2px;
  border-top:1px solid #e2e8f0;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
}
.home-block-editor-form .sticky-save-bar{
  position:sticky;
  z-index:5;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding:10px 12px;
  border:1px solid #bfdbfe;
  border-radius:10px;
  background:rgba(239,246,255,.97);
  backdrop-filter:blur(8px);
}
.home-block-editor-form .sticky-save-bar span{
  color:#64748b;
  font-size:.64rem;
}
@media(max-width:980px){
  .home-block-admin-row{
    grid-template-columns:auto minmax(0,1fr);
  }
  .home-block-admin-actions{
    grid-column:1/-1;
    justify-content:flex-end;
  }
}
@media(max-width:760px){
  .home-editor-guide{
    align-items:flex-start;
    flex-direction:column;
  }
  .home-editor-guide-badges{
    justify-content:flex-start;
  }
  .home-block-editor-grid{
    grid-template-columns:1fr;
  }
  .home-block-editor-grid>label.wide{
    grid-column:auto;
  }
}
@media(max-width:560px){
  .home-block-basic-row{
    grid-template-columns:1fr;
  }
  .home-block-admin-row{
    grid-template-columns:auto minmax(0,1fr);
  }
  .home-block-admin-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-block-admin-actions>*{
    width:100%;
  }
  .home-block-admin-actions button,
  .home-block-admin-actions a{
    width:100%;
    justify-content:center;
  }
  .home-block-editor-form .sticky-save-bar{
    align-items:stretch;
    flex-direction:column;
  }
}


/* v2.5.77 메인 카드 세부 편집 */
.home-card-items-editor,
.home-link-fields{
  display:grid;
  gap:9px;
  padding:11px;
  border:1px solid #dbe2ea;
  border-radius:10px;
  background:#f8fafc;
}
.home-card-items-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
}
.home-card-items-head strong{
  color:#334155;
  font-size:.72rem;
}
.home-card-items-head span{
  color:#94a3b8;
  font-size:.6rem;
}
.home-card-items-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.home-card-item-editor{
  display:grid;
  gap:7px;
  padding:9px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
}
.home-card-item-editor>label{
  display:grid;
  gap:4px;
}
.home-card-item-editor .check-label{
  display:flex;
  gap:6px;
  align-items:center;
  color:#475569;
  font-weight:800;
}
.home-link-fields{
  grid-template-columns:1fr 2fr;
}
.home-link-fields>label{
  display:grid;
  gap:5px;
}
.home-link-fields>small{
  grid-column:1/-1;
  color:#94a3b8;
  font-size:.6rem;
}
@media(max-width:760px){
  .home-card-items-grid,
  .home-link-fields{
    grid-template-columns:1fr;
  }
  .home-link-fields>small{
    grid-column:auto;
  }
}


/* v1.7.9.11 대표 배너 기관카드 편집 */
.home-hero-detail-editor{grid-column:1/-1;display:grid;gap:10px;padding:11px;border:1px solid #dbe2ea;border-radius:10px;background:#f8fafc}
.home-hero-brand-head{margin-top:3px;padding-top:10px;border-top:1px solid #e2e8f0}
.home-hero-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.home-hero-detail-grid>label{display:grid;gap:5px}
.home-hero-detail-grid>label.wide,.home-hero-detail-grid>small.wide{grid-column:1/-1}
.home-hero-detail-grid .check-label{display:flex;align-items:center;gap:6px;min-height:38px;color:#475569;font-weight:800}
.home-hero-detail-grid small a{color:#2563eb;font-weight:800}
@media(max-width:760px){.home-hero-detail-grid{grid-template-columns:1fr}.home-hero-detail-grid>label.wide,.home-hero-detail-grid>small.wide{grid-column:auto}}

/* =========================================================
   v2.5.78 메인 자동영역 + 빠른메뉴 편집기
   ========================================================= */
.home-adaptive-editor{
  display:grid;
  gap:14px;
}
.home-adaptive-head{
  align-items:flex-end;
}
.home-adaptive-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.home-adaptive-card{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #dbe2ea;
  border-radius:12px;
  background:#fbfdff;
}
.home-adaptive-card>label{
  display:grid;
  gap:5px;
}
.home-adaptive-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding-bottom:8px;
  border-bottom:1px solid #e2e8f0;
}
.home-adaptive-card-head>div{
  display:grid;
  gap:3px;
}
.home-adaptive-card-head strong{
  color:#0f172a;
  font-size:.75rem;
}
.home-adaptive-card-head span{
  color:#94a3b8;
  font-size:.58rem;
}
.home-adaptive-custom-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.home-adaptive-custom-fields[hidden],
.home-quick-auto-note[hidden],
.home-quick-custom-panel[hidden]{
  display:none!important;
}
.home-adaptive-custom-fields label{
  display:grid;
  gap:4px;
}
.home-module-label-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.home-module-label-grid>label{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:6px;
  align-items:center;
  padding:7px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
}
.home-module-label-grid>label>span{
  display:flex;
  gap:5px;
  align-items:center;
  color:#475569;
  font-size:.62rem;
  font-weight:800;
  white-space:nowrap;
}
.home-module-label-grid input[type="text"],
.home-module-label-grid input:not([type]){
  min-width:0;
}
.home-quick-editor{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
}
.home-quick-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.home-quick-head>div:first-child{
  display:grid;
  gap:3px;
}
.home-quick-head strong{
  color:#0f172a;
  font-size:.76rem;
}
.home-quick-head span{
  color:#64748b;
  font-size:.61rem;
}
.home-quick-head-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
}
.home-quick-auto-note{
  padding:9px 10px;
  border:1px dashed #bfdbfe;
  border-radius:9px;
  background:#eff6ff;
  color:#475569;
  font-size:.63rem;
}
.home-quick-custom-panel{
  display:grid;
  gap:9px;
}
.home-quick-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.home-quick-toolbar span{
  color:#64748b;
  font-size:.61rem;
}
.home-quick-list{
  display:grid;
  gap:7px;
}
.home-quick-row{
  display:grid;
  grid-template-columns:auto auto 78px minmax(120px,1fr) minmax(150px,1.2fr) 118px minmax(150px,1.1fr) auto;
  gap:7px;
  align-items:end;
  padding:8px;
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#f8fafc;
}
.home-quick-row.pointer-dragging{
  opacity:.7;
  border-color:#93c5fd;
  box-shadow:0 10px 22px rgba(37,99,235,.12);
}
.home-quick-row>label{
  display:grid;
  gap:4px;
  color:#64748b;
  font-size:.57rem;
  font-weight:800;
}
.home-quick-show{
  align-self:center!important;
  display:flex!important;
  gap:5px!important;
  align-items:center;
  white-space:nowrap;
}
.home-quick-drag-handle{
  align-self:center;
  display:inline-flex;
  width:30px;
  height:38px;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid #dbe2ea;
  border-radius:7px;
  background:#fff;
  color:#64748b;
  font-weight:900;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
}
.home-quick-drag-handle:active{
  cursor:grabbing;
}
body.home-quick-sorting{
  cursor:grabbing;
  user-select:none;
  -webkit-user-select:none;
}
.home-quick-clear{
  align-self:end;
  min-height:36px;
}
.home-adaptive-savebar{
  position:sticky;
  z-index:6;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid #bfdbfe;
  border-radius:10px;
  background:rgba(239,246,255,.97);
  backdrop-filter:blur(8px);
}
.home-adaptive-savebar span{
  color:#64748b;
  font-size:.61rem;
}
@media(max-width:1200px){
  .home-quick-row{
    grid-template-columns:auto auto 72px minmax(130px,1fr) minmax(140px,1fr) 110px;
  }
  .home-quick-target{
    grid-column:3/7;
  }
  .home-quick-clear{
    grid-column:7;
    grid-row:1/3;
    align-self:center;
  }
}
@media(max-width:900px){
  .home-adaptive-grid{
    grid-template-columns:1fr;
  }
  .home-quick-head,
  .home-quick-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .home-quick-head-actions{
    justify-content:flex-start;
  }
  .home-quick-row{
    grid-template-columns:auto auto 74px minmax(0,1fr);
    align-items:end;
  }
  .home-quick-row>label:nth-of-type(4),
  .home-quick-row>label:nth-of-type(5),
  .home-quick-target{
    grid-column:2/-1;
  }
  .home-quick-clear{
    grid-column:2/-1;
    grid-row:auto;
    width:max-content;
  }
}
@media(max-width:620px){
  .home-adaptive-custom-fields,
  .home-module-label-grid{
    grid-template-columns:1fr;
  }
  .home-adaptive-card-head{
    flex-direction:column;
  }
  .home-quick-row{
    grid-template-columns:auto 1fr;
  }
  .home-quick-row>label{
    grid-column:2;
  }
  .home-quick-drag-handle{
    grid-row:1/8;
    align-self:start;
  }
  .home-quick-clear{
    grid-column:2;
  }
  .home-adaptive-savebar{
    align-items:stretch;
    flex-direction:column;
  }
}


/* =========================================================
   v2.5.79 페이지편집 삽입형 블록 UX
   ========================================================= */
.page-layout-toolbar-v2579{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.page-layout-insert-bar{
  position:relative;
  display:flex;
  min-height:22px;
  align-items:center;
  justify-content:center;
  margin:2px 0;
}
.page-layout-insert-bar:before,
.page-layout-insert-bar:after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:#e2e8f0;
  transition:background .15s ease;
}
.page-layout-insert-bar button{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  gap:4px;
  margin:0 8px;
  padding:4px 9px;
  border:1px solid #dbe2ea;
  border-radius:999px;
  background:#fff;
  color:#64748b;
  font-size:.58rem;
  font-weight:850;
  cursor:pointer;
  opacity:.58;
  transition:opacity .15s ease,border-color .15s ease,background .15s ease,color .15s ease;
}
.page-layout-insert-bar button span{
  font-size:.84rem;
  line-height:1;
}
.page-layout-insert-bar:hover button,
.page-layout-insert-bar button:focus-visible{
  opacity:1;
  border-color:#93c5fd;
  background:#eff6ff;
  color:#1d4ed8;
  outline:none;
}
.page-layout-insert-bar:hover:before,
.page-layout-insert-bar:hover:after{
  background:#bfdbfe;
}
.page-layout-item-title{
  display:flex!important;
  min-width:0;
  align-items:center;
  gap:7px;
}
.page-layout-drag-handle{
  display:inline-flex;
  width:29px;
  height:31px;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid #dbe2ea;
  border-radius:7px;
  background:#f8fafc;
  color:#64748b;
  font-size:.88rem;
  font-weight:900;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
}
.page-layout-drag-handle:active{
  cursor:grabbing;
}
body.page-layout-sorting{
  cursor:grabbing;
  user-select:none;
  -webkit-user-select:none;
}
.page-layout-item.pointer-dragging{
  opacity:.58;
  border-color:#93c5fd!important;
}
.page-layout-item.is-drop-target{
  position:relative;
}
.page-layout-item.is-drop-target:before{
  content:"";
  position:absolute;
  z-index:8;
  top:-5px;
  right:0;
  left:0;
  height:4px;
  border-radius:999px;
  background:#3b82f6;
}
.page-layout-item.is-drop-target.drop-after:before{
  top:auto;
  bottom:-5px;
}
.page-layout-item.page-layout-just-moved{
  animation:pageLayoutMovedFlash .65s ease;
}
@keyframes pageLayoutMovedFlash{
  0%{box-shadow:0 0 0 4px rgba(59,130,246,.22)}
  100%{box-shadow:none}
}
.page-body-block-insert{
  display:flex;
  justify-content:center;
  margin:12px 0 2px;
  padding-top:10px;
  border-top:1px dashed #dbe2ea;
}
.page-body-block-insert button{
  font-size:.62rem;
}
.page-layout-rich-label>.wel4u-editor{
  margin-top:4px;
}
.page-layout-rich-label .wel4u-editor-area{
  min-height:170px;
  max-height:420px;
  overflow:auto;
}

/* 아이콘형 블록 선택기 */
.page-layout-picker{
  position:fixed;
  z-index:1300;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
}
.page-layout-picker[hidden]{
  display:none!important;
}
.page-layout-picker-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.48);
  backdrop-filter:blur(3px);
}
.page-layout-picker-dialog{
  position:relative;
  z-index:1;
  width:min(880px,96vw);
  max-height:min(86vh,780px);
  overflow:auto;
  border:1px solid #dbe2ea;
  border-radius:16px;
  background:#fff;
  box-shadow:0 28px 80px rgba(15,23,42,.22);
}
.page-layout-picker-dialog>header{
  position:sticky;
  z-index:2;
  top:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 15px;
  border-bottom:1px solid #e2e8f0;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
}
.page-layout-picker-dialog>header>div{
  display:grid;
  gap:2px;
}
.page-layout-picker-dialog>header strong{
  color:#0f172a;
  font-size:.86rem;
}
.page-layout-picker-dialog>header span{
  color:#64748b;
  font-size:.62rem;
}
.page-layout-picker-dialog>header>button{
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid #dbe2ea;
  border-radius:9px;
  background:#fff;
  color:#475569;
  font-size:1.2rem;
  cursor:pointer;
}
.page-layout-picker-groups{
  display:grid;
  gap:14px;
  padding:15px;
}
.page-layout-picker-group{
  display:grid;
  gap:7px;
}
.page-layout-picker-group h4{
  margin:0;
  color:#64748b;
  font-size:.65rem;
  letter-spacing:.02em;
}
.page-layout-picker-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.page-layout-picker-item{
  display:grid;
  min-height:104px;
  grid-template-columns:38px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  gap:3px 9px;
  align-items:start;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:11px;
  background:#fff;
  color:#334155;
  text-align:left;
  cursor:pointer;
}
.page-layout-picker-item:hover,
.page-layout-picker-item:focus-visible{
  border-color:#93c5fd;
  background:#eff6ff;
  outline:none;
  box-shadow:0 5px 14px rgba(37,99,235,.08);
}
.page-layout-picker-item>b{
  grid-row:1/3;
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border-radius:10px;
  background:#f1f5f9;
  font-size:1.12rem;
}
.page-layout-picker-item>strong{
  align-self:end;
  color:#0f172a;
  font-size:.68rem;
}
.page-layout-picker-item>small{
  color:#64748b;
  font-size:.56rem;
  line-height:1.35;
}
body.page-layout-picker-open{
  overflow:hidden;
}
@media(max-width:820px){
  .page-layout-picker-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:520px){
  .page-layout-toolbar-v2579>*{
    flex:1 1 100%;
  }
  .page-layout-picker{
    padding:8px;
  }
  .page-layout-picker-dialog{
    width:100%;
    max-height:94vh;
    border-radius:12px;
  }
  .page-layout-picker-grid{
    grid-template-columns:1fr;
  }
  .page-layout-picker-item{
    min-height:82px;
  }
}


/* =========================================================
   v2.5.79.1 페이지 블록 삭제/되돌리기
   ========================================================= */
.page-layout-delete-undo{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:4px 0 8px;
  padding:9px 11px;
  border:1px solid #fbbf24;
  border-radius:9px;
  background:#fffbeb;
  color:#92400e;
  font-size:.62rem;
}
.page-layout-delete-undo span{
  min-width:0;
  line-height:1.45;
}
.page-layout-empty-state{
  display:grid;
  justify-items:center;
  gap:7px;
  margin:8px 0 12px;
  padding:26px 16px;
  border:1px dashed #cbd5e1;
  border-radius:12px;
  background:#f8fafc;
  text-align:center;
}
.page-layout-empty-icon{
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:14px;
  background:#fff;
  box-shadow:0 4px 12px rgba(15,23,42,.06);
  font-size:1.4rem;
}
.page-layout-empty-state strong{
  color:#334155;
  font-size:.75rem;
}
.page-layout-empty-state p{
  max-width:540px;
  margin:0;
  color:#64748b;
  font-size:.62rem;
  line-height:1.5;
}
.page-layout-empty-state>div:last-child{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  justify-content:center;
  margin-top:3px;
}
@media(max-width:560px){
  .page-layout-delete-undo{
    align-items:stretch;
    flex-direction:column;
  }
  .page-layout-delete-undo button{
    width:100%;
  }
}

/* 울산무거복지센터 V1.5 관리자 안전작업 UX */
.mugeo-admin-safety-section{margin-top:24px}
.mugeo-admin-safety-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mugeo-admin-safety-grid .dash-card{min-height:132px}
.mugeo-recent-audit-panel{margin-top:14px}
.mugeo-recent-audit-panel h3{margin:0;font-size:18px}
.sticky-save-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media (max-width:900px){.mugeo-admin-safety-grid{grid-template-columns:1fr}.sticky-save-bar{align-items:flex-start}.sticky-save-actions{width:100%}.sticky-save-actions button{flex:1}}

/* v1.7.9.8 - 상단 바로가기 관리 */
.mugeo-shortcut-settings .panel-title-row{align-items:flex-start}
.mugeo-shortcut-bar-option{padding:14px 16px;border:1px solid #dbe4ee;border-radius:12px;background:#f8fafc;margin-bottom:14px}
.mugeo-checkline{display:flex!important;align-items:flex-start;gap:10px;margin:0!important}
.mugeo-checkline input{width:auto!important;margin-top:4px}
.mugeo-checkline span{display:flex;flex-direction:column;gap:3px}
.mugeo-checkline small{color:#64748b;font-weight:400;line-height:1.45}
.mugeo-shortcut-list{display:flex;flex-direction:column;gap:10px}
.mugeo-shortcut-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:end;padding:14px;border:1px solid #dbe4ee;border-radius:12px;background:#fff}
.mugeo-shortcut-fields{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(240px,1.5fr);gap:10px}
.mugeo-shortcut-row label{margin:0!important}
.mugeo-shortcut-visible{display:flex!important;align-items:center;gap:7px;min-height:42px;white-space:nowrap}
.mugeo-shortcut-visible input{width:auto!important}
.mugeo-shortcut-remove{min-height:42px}
.mugeo-shortcut-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px}
.danger-lite{border:1px solid #fecaca!important;background:#fff!important;color:#b91c1c!important}
.danger-lite:hover{background:#fef2f2!important}
@media(max-width:760px){
  .mugeo-shortcut-row{grid-template-columns:1fr auto}
  .mugeo-shortcut-fields{grid-column:1/-1;grid-template-columns:1fr}
  .mugeo-shortcut-visible{align-self:center}
}


/* =========================================================
   v1.7.9.19 복합 블록 / 카드 그리드 편집기
   ========================================================= */
.home-composite-editor{
  display:grid;
  gap:12px;
  padding:12px;
  border:1px solid #dbe2ea;
  border-radius:12px;
  background:#f8fafc;
}
.home-composite-editor .home-card-items-head>div{display:grid;gap:3px}
.home-composite-editor .home-card-items-head>small{color:#64748b;font-size:.72rem;text-align:right;line-height:1.45}
.home-composite-settings{
  display:grid;
  grid-template-columns:repeat(2,minmax(150px,190px));
  gap:9px;
  align-items:end;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
}
.home-composite-settings>label{display:grid;gap:5px}
.home-composite-settings .check-label{display:flex;align-items:center;gap:7px;min-height:39px;font-weight:800;color:#475569}
.home-composite-table-head{
  display:grid;
  grid-template-columns:64px minmax(210px,.9fr) minmax(300px,1.45fr) minmax(160px,.7fr);
  gap:10px;
  padding:0 10px;
  color:#64748b;
  font-size:.68rem;
  font-weight:900;
}
.home-composite-items{display:grid;gap:8px}
.home-composite-item-editor{
  display:grid;
  grid-template-columns:64px minmax(210px,.9fr) minmax(300px,1.45fr) minmax(160px,.7fr);
  gap:10px;
  align-items:start;
  padding:10px;
  border:1px solid #dbe2ea;
  border-radius:10px;
  background:#fff;
}
.home-composite-item-editor[hidden]{display:none!important}
.home-composite-item-no{
  display:grid;
  place-items:center;
  align-content:center;
  min-height:100%;
  padding:8px 4px;
  border-radius:8px;
  background:#eef5f0;
  color:#2f6b47;
}
.home-composite-item-no b{font-size:1.35rem;line-height:1}
.home-composite-item-no span{margin-top:4px;font-size:.65rem;font-weight:900}
.home-composite-item-source,
.home-composite-item-target,
.home-composite-item-display{display:grid;gap:7px;min-width:0}
.home-composite-item-editor label{display:grid;gap:4px;min-width:0}
.home-composite-item-display .check-label{display:flex;align-items:center;gap:6px;min-height:28px;color:#475569;font-weight:800}
.home-composite-item-target>[hidden],
.home-composite-item-display>[hidden]{display:none!important}
.home-composite-rich-editor{grid-column:1/-1}
.home-composite-rich-editor>.wel4u-editor{min-width:0}
.home-composite-rich-editor .wel4u-editor-area{min-height:160px}
.home-composite-help{margin:0;color:#64748b;font-size:.74rem;line-height:1.55}
@media(max-width:1180px){
  .home-composite-table-head{display:none}
  .home-composite-item-editor{grid-template-columns:56px repeat(2,minmax(0,1fr))}
  .home-composite-item-display{grid-column:2/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
}
@media(max-width:760px){
  .home-composite-settings{grid-template-columns:1fr}
  .home-composite-item-editor{grid-template-columns:48px minmax(0,1fr)}
  .home-composite-item-source,
  .home-composite-item-target,
  .home-composite-item-display{grid-column:2}
  .home-composite-item-display{grid-template-columns:1fr}
  .home-composite-editor .home-card-items-head{align-items:flex-start;flex-direction:column}
  .home-composite-editor .home-card-items-head>small{text-align:left}
}

/* Homepage noticeboard editor. */
.home-notice-editor{min-width:0;padding:16px;border:1px solid #ccd7e5;border-radius:12px;background:#f8fafc}
.home-notice-editor[hidden]{display:none!important}
.home-notice-editor>label,.home-notice-editor .notice-edit-row>label{margin:10px 0}
.notice-edit-row{min-width:0;margin:14px 0;padding:14px;border:1px solid #b9c9dc;border-radius:10px;background:#fff}
.notice-edit-row legend{padding:0 6px;font-weight:700}
.notice-edit-row>img{display:block;max-width:180px;max-height:110px;object-fit:contain;margin-bottom:10px}
.notice-row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.notice-row-actions button{min-height:40px}

[data-category-row]{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:12px 0}
[data-category-row] label{flex:1 1 220px;min-width:0}
[data-category-row] button{min-height:44px}

/* Category sorting uses a dedicated handle; text inputs remain selectable. */
.category-drag-handle{flex:0 0 44px;min-width:44px;min-height:44px;touch-action:none;cursor:grab;user-select:none;background:#edf3f8;color:#234463;border:1px solid #bdcbd8;border-radius:8px}
.category-drag-handle:focus-visible{outline:3px solid #145dcc;outline-offset:2px}
[data-category-row].category-dragging{background:#e9f3ff;outline:2px solid #2369ad;border-radius:8px;opacity:.85}
[data-category-row].category-drop-before{box-shadow:0 -3px 0 #2369ad}
[data-category-row].category-drop-after{box-shadow:0 3px 0 #2369ad}
.category-pointer-sorting,.category-pointer-sorting *{cursor:grabbing!important;user-select:none!important}
.category-sort-status{color:#234463;min-height:1.5em;font-size:.9em}
