@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');
/* ASGG — 통합 디자인 시스템 v2.0 (G.L. 로고 정합판) */
:root {
  --ug-font-body: Pretendard, 'Apple SD Gothic Neo', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans KR', sans-serif;
  --ug-font-display: var(--ug-font-body);
  --ug-paper: #F7F6F3; --ug-surface: #FFFFFF; --ug-ink: #1A1A18; --ug-ink-strong: #111111;
  --ug-muted: #6C685F; --ug-line: #E5E2DB; --ug-line-strong: #C9C5BC;
  --ug-status-active: #E07A2F; --ug-status-done: #2E7D4F; --ug-status-risk: #C43D2F; --ug-status-draft: #8A8578;
  --ug-radius: 4px; --ug-radius-pill: 999px;
  --ug-shadow: 0 1px 2px rgba(26,26,24,.05), 0 4px 16px rgba(26,26,24,.06);
  --ug-track-caps: 0.18em; --ug-track-title: 0.06em;
}
html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body { font-family: var(--ug-font-body) !important; background-color: var(--ug-paper) !important; color: var(--ug-ink); }
h1 { font-family: var(--ug-font-body) !important; font-weight: 800 !important; letter-spacing: var(--ug-track-title); color: var(--ug-ink-strong); }
h2 { font-family: var(--ug-font-body) !important; font-weight: 700 !important; letter-spacing: 0.02em; }
h3, h4, h5, h6 { font-family: var(--ug-font-body) !important; font-weight: 700; }
[class*="eyebrow"], [class*="label-en"], [class*="section-label"], [class*="kicker"] {
  letter-spacing: var(--ug-track-caps); text-transform: uppercase; font-weight: 600; color: var(--ug-muted);
}
.ug-gl-line { position: relative; height: 3px; background: var(--ug-ink-strong); margin-bottom: 14px; max-width: 64px; }
.ug-gl-line::after { content: ''; position: absolute; right: -14px; bottom: 0; width: 8px; height: 8px;
  border: 2px solid var(--ug-ink-strong); border-top: none; border-right: none; transform: rotate(-45deg) translateY(-3px); }
button, .btn, [class*="btn"], input[type="button"], input[type="submit"] {
  font-family: var(--ug-font-body) !important; border-radius: var(--ug-radius);
  transition: background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
button[style*="rgb(17, 24, 39)"], button.btn-primary, button[class*="btn-primary"], a.btn-primary { background-color: var(--ug-ink-strong); color: #fff; }
button:hover { filter: brightness(1.06); }
button:active { filter: brightness(.96); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--ug-ink-strong) !important; outline-offset: 2px; border-radius: var(--ug-radius);
}
input, select, textarea { font-family: var(--ug-font-body) !important; border-radius: var(--ug-radius); accent-color: var(--ug-ink-strong); }
input::placeholder, textarea::placeholder { color: #A29D92; }
[class*="card"], [class*="panel"] { border-radius: var(--ug-radius); }
table { font-family: var(--ug-font-body); }
th { font-weight: 600; color: var(--ug-muted); }
::selection { background: var(--ug-ink-strong); color: var(--ug-paper); }
span[class*="badge"], span[class*="chip"], span[class*="tag"], small[class*="badge"], em[class*="status"] { border-radius: var(--ug-radius-pill); font-family: var(--ug-font-body) !important; }
[class*="amount"], [class*="price"], [class*="num"], [class*="metric"], [class*="stat"] { font-variant-numeric: tabular-nums; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--ug-paper); }
::-webkit-scrollbar-thumb { background: var(--ug-line-strong); border-radius: 8px; border: 2px solid var(--ug-paper); }
::-webkit-scrollbar-thumb:hover { background: var(--ug-muted); }
.ug-brand { display: inline-flex; align-items: center; gap: .55em; text-decoration: none; color: var(--ug-ink-strong); }
.ug-brand-mark { width: 1.9em; height: 1.9em; border-radius: 2px; }
.ug-brand-word { font-weight: 800; letter-spacing: .14em; font-size: 1em; }
.ug-brand-sub { font-size: .58em; font-weight: 600; letter-spacing: var(--ug-track-caps); text-transform: uppercase; color: var(--ug-muted); }
header [class*="logo"], header [class*="brand"], nav [class*="logo"], nav [class*="brand"], .top-navbar [class*="brand"], .entry-brand-text, [id*="logo"] { font-family: var(--ug-font-body) !important; font-weight: 800; letter-spacing: .1em; }
[class*="logo"] small, [class*="brand"] small, [class*="logo"] span[class*="sub"], [class*="brand"] span[class*="sub"] { font-weight: 600; letter-spacing: var(--ug-track-caps); }
a { color: inherit; text-underline-offset: 3px; }
a:hover { color: var(--ug-ink-strong); }
@media print { body { background: #fff !important; } ::-webkit-scrollbar { display: none; } }
body[data-ug-page="schedule"] table, body[data-ug-page="schedule"] td, body[data-ug-page="schedule"] th { font-family: var(--ug-font-body) !important; letter-spacing: normal; }
body[data-ug-page="idea-plan"] h1, body[data-ug-page="memo"] h1 { font-family: var(--ug-font-body) !important; font-weight: 800 !important; }

/* 허브 메인 타이틀 - 로고 방향(산세리프 800) 통일 */
.entry-brand-text, .entry-brand-text strong {
  font-family: var(--ug-font-body) !important;
  font-weight: 800 !important;
  letter-spacing: .09em;
}


/* GL-SANS-OVERRIDE v2: 런타임 주입 스킨보다 높은 특이도로 새 브랜드 서체 강제 */
html body #view-entry .entry-hero h1,
html body #view-entry .entry-brand-mark span,
html body #view-entry .entry-brand-text strong,
html body header.asgg-topbar .brand-name b, html body .asgg-brand-name-v2 b,
html body .top-navbar.asgg-topbar .brand-name.asgg-brand-name-v2 b,
html body #view-dashboard .flow-display {
  font-family: Pretendard, 'Apple SD Gothic Neo', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: .07em;
}
html body #view-entry .entry-hero h1 { line-height: 1.05; }

/* 아이디어플러 제안서 편집기 툴바 브랜드 - G.L. 로고 스타일 */
.report-editor-toolbar__brand strong {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
}
.report-editor-toolbar__brand strong::before {
  content: '';
  display: inline-block;
  width: 26px; height: 26px;
  border-radius: 2px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' fill='%23111111'/%3E%3Cline x1='10' y1='21' x2='54' y2='21' stroke='%23F7F6F3' stroke-width='2.6'/%3E%3Cpath d='M 42.4 13.4 L 49.6 13.4 L 46 19.7 Z' fill='none' stroke='%23F7F6F3' stroke-width='1.7'/%3E%3Cg fill='%23F7F6F3'%3E%3Cg transform='translate(21,52.5) scale(0.03,-0.03)'%3E%3Cpath d='M384 -14C582 -14 682 99 682 350V745H510V331C510 190 465 140 384 140C302 140 260 190 260 331V745H82V350C82 99 185 -14 384 -14Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex: 0 0 auto;
}
.report-editor-toolbar__brand strong {
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  font-size: 15px;
  color: #111;
}

/* brand-home-cursor: 편집기 브랜드 클릭 → 메인 이동 */
.report-editor-toolbar__brand strong { cursor: pointer; }
.report-editor-toolbar__brand strong:hover { opacity: .65; }


/* AUTH-GATE-BRAND v2: 로그인 전 화면 — 중앙 단일 카드 */
.asgg-auth-gate { background: var(--ug-paper) !important; overflow-y: auto !important; }
.asgg-auth-landing-copy, .asgg-public-modules { display: none !important; }
.asgg-auth-card { display: block !important; width: min(430px, 92vw) !important; max-width: none !important; margin: 7vh auto !important; padding: 30px 30px 26px !important; border: 1px solid var(--ug-line) !important; border-radius: 10px !important; background: #fff !important; box-shadow: var(--ug-shadow) !important; float: none !important; position: static !important; }
.asgg-auth-brand { position: static !important; display: flex !important; align-items: center; gap: 12px; margin-bottom: 22px; }
.asgg-auth-mark { width: 40px !important; height: 40px !important; border-radius: 3px !important; background-color: #111 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 64 64%22%3E%3Crect width=%2264%22 height=%2264%22 fill=%22%23111111%22/%3E%3Cline x1=%2210%22 y1=%2221%22 x2=%2254%22 y2=%2221%22 stroke=%22%23F7F6F3%22 stroke-width=%222.6%22/%3E%3Cpath d=%22M 42.4 13.4 L 49.6 13.4 L 46 19.7 Z%22 fill=%22none%22 stroke=%22%23F7F6F3%22 stroke-width=%221.7%22/%3E%3Cg fill=%22%23F7F6F3%22%3E%3Cg transform=%22translate(21,52.5) scale(0.03,-0.03)%22%3E%3Cpath d=%22M384 -14C582 -14 682 99 682 350V745H510V331C510 190 465 140 384 140C302 140 260 190 260 331V745H82V350C82 99 185 -14 384 -14Z%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important; background-size: contain !important; background-repeat: no-repeat !important; background-position: center !important; }
.asgg-auth-mark * { visibility: hidden !important; }
.asgg-auth-overline { letter-spacing: var(--ug-track-caps); text-transform: uppercase; font-weight: 700; font-size: 12px; color: var(--ug-ink-strong); }
.asgg-auth-subtitle, .asgg-auth-title + p { color: var(--ug-muted); }
.asgg-auth-title { font-weight: 800 !important; letter-spacing: .04em; }
.asgg-auth-tabs { margin-bottom: 14px; }
.asgg-auth-tab { letter-spacing: .1em; font-weight: 700; }
.asgg-auth-form button[type="submit"], .asgg-auth-form .asgg-auth-submit { width: 100%; background: var(--ug-ink-strong) !important; border-color: var(--ug-ink-strong) !important; color: #fff !important; border-radius: var(--ug-radius) !important; letter-spacing: .08em; }
.asgg-auth-gate input[type="text"], .asgg-auth-gate input[type="password"], .asgg-auth-gate input[type="email"] { border-radius: var(--ug-radius); }

/* AUTH-GATE-POLISH: 로그인 카드 디테일 */
.asgg-auth-overline { display: none !important; }
.asgg-auth-brand { margin-bottom: 24px !important; }
.asgg-auth-title { font-size: 20px !important; letter-spacing: .1em !important; }
.asgg-auth-form label, .asgg-auth-field label { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ug-muted); margin-top: 10px; display: inline-block; }
.asgg-auth-form input[type="text"], .asgg-auth-form input[type="password"] { padding: 10px 12px; border: 1px solid var(--ug-line-strong); }
.asgg-auth-form input[type="text"]:focus, .asgg-auth-form input[type="password"]:focus { border-color: var(--ug-ink-strong); }
.asgg-auth-form button[type="submit"], .asgg-auth-form .asgg-auth-submit { margin-top: 14px; padding: 12px 0; font-weight: 700; }
.asgg-auth-card hr, .asgg-auth-divider { border-color: var(--ug-line); }
