/* =========================================================
   eHub · 웹사이트 허브
   앱 탭/앱 설정/안내/보안 제외 + 큰 글자 UI
   ========================================================= */
.hub-page{--hub:#0b6473;--hub-dark:#16434e;--hub-soft:#edf7f8;font-size:16px}
.hub-page .section-head span{font-size:13px}
.hub-page .section-head h2{font-size:34px}
.hub-page .section-head p{font-size:16px;line-height:1.75}
.hub-local-badge{background:#e9f6f7;border:1px solid #bddfe2;color:#165e68;border-radius:999px;padding:10px 15px;font-size:14px;font-weight:900}

.hub-source-note{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px 18px;margin-bottom:12px;background:linear-gradient(135deg,#f4fbfc,#fbfcfd)}
.hub-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#0c6070;color:#fff;font-size:22px;font-weight:900}
.hub-source-note b{font-size:18px;color:#244d55}
.hub-source-note p{font-size:14px;line-height:1.75;color:#5d747b;margin:5px 0}
.hub-source-note small{font-size:12px;line-height:1.6;color:#7c8b90}

.hub-tabs{display:flex;gap:8px;overflow:auto;padding:3px 0 14px;scrollbar-width:none}
.hub-tabs::-webkit-scrollbar{display:none}
.hub-tabs button{border:1px solid #d6e2e4;background:#fff;color:#526c73;border-radius:999px;padding:11px 20px;font-size:15px;font-weight:900;cursor:pointer;white-space:nowrap}
.hub-tabs button.active{background:#0b6473;color:#fff;border-color:#0b6473}
.hub-pane{display:none}.hub-pane.active{display:block}

.hub-home-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-bottom:12px}
.hub-main-card,.hub-direct-card,.hub-sites-card,.hub-preview-card,.hub-recent-card,.hub-settings-editor,.hub-settings-data,.hub-manage-card{padding:17px}
.hub-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.hub-card-title span{font-size:12px;color:#71858b;font-weight:800}
.hub-card-title b{display:block;font-size:19px;color:#244e57}
.hub-card-title small{display:block;font-size:13px;color:#7b898d;margin-top:3px;line-height:1.5;word-break:break-all}
.hub-card-title>span{background:#edf3f4;border-radius:999px;padding:5px 9px}
.hub-home-badge{background:#0b6473;color:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900}
.hub-main-card>p,.hub-direct-card>small{font-size:14px;line-height:1.7;color:#64787e}
.hub-home-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.hub-home-actions button,.hub-soft{border:1px solid #d3e0e3;background:#fff;color:#3d626a;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:900;cursor:pointer}
.hub-home-actions button.primary{background:#0b6473;color:#fff;border-color:#0b6473}

.hub-direct-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.hub-direct-row input,.hub-site-toolbar input,.hub-field input{width:100%;box-sizing:border-box;border:1px solid #d6e2e4;border-radius:11px;padding:12px 13px;background:#fff;color:#314c54;font-size:15px}
.hub-direct-row button,.hub-site-toolbar button{border:0;background:#0b6473;color:#fff;border-radius:10px;padding:11px 15px;font-size:13px;font-weight:900;cursor:pointer}

.hub-site-toolbar{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:12px}
.hub-site-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.hub-site-card{border:1px solid #dde6e8;background:#fff;border-radius:14px;padding:12px;display:grid;grid-template-columns:auto 1fr;gap:10px}
.hub-site-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:#edf5f6;font-size:20px}
.hub-site-main{min-width:0}
.hub-site-name{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.hub-site-name b{font-size:15px;color:#294f57;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}
.hub-site-name span,.hub-site-name em,.hub-manage-main span,.hub-manage-main em{font-style:normal;font-size:10px;border-radius:999px;padding:3px 6px;background:#dff2ee;color:#28665e}
.hub-site-name em,.hub-manage-main em{background:#eaf0fa;color:#43658a}
.hub-site-main small{display:block;font-size:12px;color:#7d8b90;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hub-site-actions{grid-column:1/-1;display:flex;gap:6px}
.hub-site-actions button{flex:1;border:1px solid #d8e3e5;background:#f8fbfb;color:#49686f;border-radius:8px;padding:8px;font-size:12px;font-weight:800;cursor:pointer}

.hub-preview-card{margin-top:12px;padding:0;overflow:hidden}
.hub-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f7fafb;border-bottom:1px solid #dfe7e9}
.hub-preview-title{min-width:0}
.hub-preview-title span,.hub-preview-title b,.hub-preview-title small{display:block}
.hub-preview-title span{font-size:11px;color:#708188}
.hub-preview-title b{font-size:17px;color:#274f58}
.hub-preview-title small{font-size:12px;color:#7f8d91;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
.hub-preview-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.hub-preview-actions button{border:1px solid #d3dfe2;background:#fff;color:#45646b;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800;cursor:pointer}
.hub-frame-note{padding:9px 14px;background:#fff8e8;color:#725a2a;font-size:12px;line-height:1.55;border-bottom:1px solid #eee0bc}
.hub-frame-wrap{height:650px;background:#eef2f3}
.hub-frame-wrap:fullscreen{height:100vh;background:#fff}
.hub-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#fff}

.hub-history-list,.hub-manage-list{display:grid;gap:8px}
.hub-history-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid #dfe7e9;border-radius:12px;padding:11px;background:#fff}
.hub-history-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#eef5f6;color:#2d6870;font-size:18px}
.hub-history-row b,.hub-history-row small,.hub-history-row em{display:block}
.hub-history-row b{font-size:15px;color:#2d5159}
.hub-history-row small{font-size:12px;color:#76868b;word-break:break-all;margin-top:2px}
.hub-history-row em{font-style:normal;font-size:11px;color:#929da0;margin-top:3px}
.hub-history-row button,.hub-danger-soft{border:1px solid #d7e2e4;background:#f9fbfb;color:#45656c;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:800;cursor:pointer}
.hub-danger-soft{color:#9c4e49;background:#fff7f6;border-color:#efd8d5}

.hub-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.hub-field{display:grid;gap:6px;margin-bottom:11px;font-size:14px;font-weight:900;color:#506970}
.hub-check{display:flex;gap:9px;align-items:flex-start;padding:9px 0;font-size:13px;color:#536970}
.hub-check input{margin-top:4px}
.hub-check b,.hub-check small{display:block}
.hub-check b{font-size:14px;color:#3c5b63}
.hub-check small{font-size:12px;color:#7b898e;margin-top:2px}
.hub-primary-full{width:100%;border:0;background:#0b6473;color:#fff;border-radius:11px;padding:12px 16px;font-size:15px;font-weight:900;cursor:pointer}
.hub-setting-help{background:#eef7f8;border:1px solid #d2e7e9;border-radius:11px;padding:11px;margin-top:12px}
.hub-setting-help b{font-size:13px;color:#315e66}
.hub-setting-help p{font-size:12px;line-height:1.65;color:#677c81;margin:4px 0 0}

.hub-data-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hub-data-stats>div{background:#f5f8f9;border:1px solid #e0e7e9;border-radius:11px;padding:11px}
.hub-data-stats span{display:block;font-size:12px;color:#74858a}
.hub-data-stats b{font-size:27px;color:#285a63}
.hub-data-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.hub-data-actions button{border:1px solid #d6e2e4;background:#fff;color:#45656c;border-radius:9px;padding:9px 11px;font-size:12px;font-weight:800;cursor:pointer}
.hub-data-actions button.danger{color:#a04d48;background:#fff4f3;border-color:#eed5d2}
.hub-settings-data>p{font-size:12px;line-height:1.65;color:#75858a;margin-top:11px}

.hub-manage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #dfe7e9;border-radius:12px;padding:12px;background:#fff}
.hub-manage-main>div{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.hub-manage-main b{font-size:15px;color:#2b5159}
.hub-manage-main small{display:block;font-size:12px;color:#78888d;margin-top:3px;word-break:break-all}
.hub-manage-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.hub-manage-actions button{border:1px solid #d7e2e4;background:#f9fbfb;color:#45656c;border-radius:8px;padding:8px 9px;font-size:11px;font-weight:800;cursor:pointer}
.hub-manage-actions button:disabled{opacity:.4;cursor:not-allowed}
.hub-manage-actions button.danger{color:#9d4d48;background:#fff5f4}
.hub-empty{grid-column:1/-1;text-align:center;padding:28px;border:1px dashed #d6e1e3;border-radius:12px;color:#7a898e;font-size:14px;background:#fafcfc}

@media(max-width:980px){
  .hub-site-grid{grid-template-columns:1fr 1fr}
  .hub-home-grid,.hub-settings-grid{grid-template-columns:1fr}
  .hub-frame-wrap{height:560px}
}
@media(max-width:650px){
  .hub-page{font-size:16px}
  .hub-page .section-head h2{font-size:29px}
  .hub-page .section-head p{font-size:15px}
  .hub-tabs button{font-size:14px;padding:10px 16px}
  .hub-source-note{grid-template-columns:1fr}
  .hub-site-grid{grid-template-columns:1fr}
  .hub-site-toolbar,.hub-direct-row{grid-template-columns:1fr}
  .hub-site-toolbar button,.hub-direct-row button{width:100%}
  .hub-preview-head{align-items:flex-start;flex-direction:column}
  .hub-preview-actions{justify-content:flex-start}
  .hub-frame-wrap{height:470px}
  .hub-history-row,.hub-manage-row{grid-template-columns:1fr}
  .hub-history-row button{width:100%}
  .hub-manage-actions{justify-content:flex-start}
  .hub-card-title b{font-size:18px}
  .hub-field input,.hub-direct-row input,.hub-site-toolbar input{font-size:16px}
}

/* cache-fix visual safeguard */
#ehub.hub-page{padding-top:46px}
#ehub.hub-page>.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
#ehub .hub-tabs{margin-bottom:4px}
#ehub .card{background:#fff;border:1px solid #dfe7e9;border-radius:16px;box-shadow:0 8px 24px rgba(30,62,70,.06)}
@media(max-width:650px){
  #ehub.hub-page{padding-top:28px}
  #ehub.hub-page>.section-head{flex-direction:column}
}
