/* Shared navigation shell copied from the approved home screen layout. */
:root{--shell-bg:#f3eee5;--shell-paper:#fffdf8;--shell-line:#e9e1d5;--shell-ink:#292d35;--shell-muted:#777b82;--shell-blue:#526d91;--shell-purple:#8072a5;--shell-shadow:0 12px 34px rgba(64,52,35,.07)}
body.ifo-shell{margin:0!important;min-height:100vh;background:var(--shell-bg)!important;color:var(--shell-ink);font-family:Inter,"Noto Sans KR","Apple SD Gothic Neo",sans-serif;line-height:1.55}
.ifo-sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#f8f4ec;border-right:1px solid var(--shell-line);padding:25px 17px;z-index:50;display:flex;flex-direction:column}
.ifo-brand{display:flex;gap:10px;align-items:center;padding:0 10px 27px;text-decoration:none;color:inherit}.ifo-mark{width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,#647e9d,#8275a8);display:grid;place-items:center;color:white;font-weight:800;font-size:19px}.ifo-brand b{font-size:20px;letter-spacing:-.7px}.ifo-brand small{display:block;font-size:9px;letter-spacing:1.6px;color:#888}
.ifo-navlabel{font-size:10px;letter-spacing:1.5px;color:#a09a90;padding:7px 12px 9px;font-weight:800}.ifo-nav{display:grid;gap:4px}.ifo-nav a{border:0;background:transparent;color:#646872;text-decoration:none;text-align:left;padding:11px 12px;border-radius:11px;display:flex;align-items:center;gap:11px;font-size:12px;font-weight:650}.ifo-nav a:hover{background:#eee8dd}.ifo-nav a.active{background:#e8edf3;color:#405c7f}.ifo-nav .ico{width:20px;text-align:center;font-size:15px}.ifo-navsep{height:1px;background:var(--shell-line);margin:15px 8px}.ifo-sidefoot{margin-top:auto;padding:14px;border-radius:14px;background:#eee8dd;color:#77736c;font-size:10px}.ifo-sidefoot b{display:block;color:#45484e;font-size:11px;margin-bottom:4px}
.ifo-main{margin-left:245px!important;margin-right:auto!important;max-width:1600px!important;padding:0 40px 50px!important;min-width:0;box-sizing:border-box}.ifo-topbar{height:70px!important;min-height:70px;box-sizing:border-box;padding:0!important;background:transparent!important;color:var(--shell-ink)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border:0!important;border-bottom:1px solid rgba(220,211,198,.8)!important;border-radius:0!important;margin:0 0 27px!important;gap:16px!important;box-shadow:none!important}.ifo-crumb{font-size:11px;color:#89877f}.ifo-topright{display:flex;align-items:center;gap:12px}.ifo-topright a,.ifo-topright button{border:0;background:transparent;color:#777;font-size:11px;text-decoration:none}.ifo-avatar{width:32px;height:32px;border-radius:50%;background:#ded8eb;color:#665b86;display:grid;place-items:center;font-size:11px;font-weight:800}.ifo-page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 22px;padding:0}.ifo-page-intro h1{font-size:29px;letter-spacing:-1.2px;margin:0 0 7px}.ifo-page-intro p{font-size:12px;color:var(--shell-muted);margin:0}.ifo-page-intro .badges{display:flex;gap:8px;flex-wrap:wrap}.ifo-page-intro .badges span{font-size:11px;color:#52657b;background:#f1f5f9;padding:8px 11px;border-radius:9px}
.ifo-shell main{max-width:none!important;margin:0!important;padding:0 0 24px!important}.ifo-shell .toolbar{flex-wrap:wrap}.ifo-shell .panel,.ifo-shell .contentpanel{background:var(--shell-paper);border-color:var(--shell-line);border-radius:19px;box-shadow:var(--shell-shadow)}
.ifo-topbar .ifo-crumb{padding:0!important;margin:0!important;background:transparent!important}.ifo-topbar .ifo-topright{padding:0!important;margin:0!important;background:transparent!important}.ifo-topbar a{padding:0!important}.ifo-mobile-toggle{display:none}
@media(max-width:760px){.ifo-sidebar{position:sticky;inset:auto;width:auto;padding:12px 14px;display:block;border:0;border-bottom:1px solid var(--shell-line)}.ifo-brand{padding:0}.ifo-navlabel,.ifo-navsep,.ifo-sidefoot{display:none}.ifo-nav{display:flex;overflow:auto;margin-top:10px}.ifo-nav a{white-space:nowrap;padding:8px 10px;font-size:10px}.ifo-nav .ico{display:none}.ifo-main{margin:0!important;padding:0 14px 30px!important}.ifo-topbar{height:50px;margin-bottom:20px}.ifo-page-intro{display:block}.ifo-page-intro .badges{margin-top:12px}.ifo-page-intro h1{font-size:24px}}
/* Reset legacy page-wide header rules on the generated shared top bar. */
body.ifo-shell header.ifo-topbar,
body.ifo-shell .ifo-topbar {
  padding: 0 !important;
  background: transparent !important;
  color: var(--shell-ink) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(220,211,198,.8) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 0 27px !important;
  min-height: 70px;
  height: 70px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  box-sizing: border-box;
}
body.ifo-shell .ifo-topbar .ifo-crumb,
body.ifo-shell .ifo-topbar .ifo-topright {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
body.ifo-shell .ifo-topbar a {
  padding: 0 !important;
}

/* Typography follows the supplied IFOnlyI screen mockup. Link colors remain page-owned. */
body.ifo-shell {
  color: #292d35;
  font-family: Inter, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  line-height: 1.55;
}

/* Exact top-right controls from ifonlyi_all_screens_mockup.html */
body.ifo-shell .ifo-topbar .ifo-login {
  border: 1px solid #e9e1d5 !important;
  background: #fffdf8 !important;
  color: #526d91 !important;
  border-radius: 9px !important;
  padding: 8px 13px !important;
  font: inherit !important;
  font-size: 11px !important;
  cursor: pointer;
}
body.ifo-shell .ifo-topbar .ifo-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  background: #ded8eb; color: #665b86;
  display: grid; place-items: center;
  font-size: 11px; font-weight: 800;
}

/* ===== 홈 화면(home.html) 글꼴·크기·색·버튼·마우스오버를 모든 화면에 동일하게 적용 =====
   값은 home.html 의 스타일에서 그대로 가져왔다: 제목 29/17/13px, 본문 11px, 표 10px, 버튼 11px/750 radius 9px,
   입력 11px, 보조 글씨 9~10px, 호버 색 #435e82, 말풍선(마우스오버 설명) 흰 카드 + 얇은 테두리. */
body.ifo-shell{font-size:12px}
body.ifo-shell .ifo-heading h1,body.ifo-shell .ifo-main h1{font-size:29px!important;letter-spacing:-1.2px!important;margin:0 0 7px!important;font-weight:700;color:#292d35!important}
body.ifo-shell .ifo-main h1+p,body.ifo-shell .ifo-heading p{font-size:12px!important;color:#777b82!important;margin:0!important}
body.ifo-shell .ifo-main header b,body.ifo-shell .ifo-heading b{font-size:10px!important;letter-spacing:1.7px!important;font-weight:800!important;color:#b58b53!important}
body.ifo-shell h2:not(:where(.pfn-asset *)){font-size:17px!important;letter-spacing:-.4px!important;margin:0 0 5px!important}
body.ifo-shell h3:not(:where(.pfn-asset *)){font-size:13px!important;margin:0 0 6px!important}
body.ifo-shell .muted:not(:where(.pfn-asset *)),body.ifo-shell .muted-small:not(:where(.pfn-asset *)){font-size:11px!important;color:#777b82!important}
body.ifo-shell .badges span:not(:where(.pfn-asset *)),body.ifo-shell .note:not(:where(.pfn-asset *)){font-size:10px!important;color:#827b70!important;background:#fffaf1!important;border:1px solid #e9e1d5!important;padding:10px 13px!important;border-radius:11px!important;font-weight:400!important}
body.ifo-shell .tag:not(:where(.pfn-asset *)){font-size:9px!important;font-weight:800!important;padding:4px 8px!important;border-radius:6px!important;background:#f5eddf!important;color:#987544!important;border:0!important}
body.ifo-shell .status:not(:where(.pfn-asset *)){font-size:11px!important}
body.ifo-shell label:not(:where(.pfn-asset *)){font-size:11px!important;font-weight:750!important;color:#292d35}
body.ifo-shell label>select:not(:where(.pfn-asset *)),body.ifo-shell label>input:not(:where(.pfn-asset *)){margin-top:7px}
body.ifo-shell input:not(:where(.pfn-asset *)),body.ifo-shell select:not(:where(.pfn-asset *)),body.ifo-shell textarea:not(:where(.pfn-asset *)){padding:10px 11px!important;border:1px solid #e4ddd2!important;border-radius:9px!important;background:#fffefa!important;color:#42464d!important;font-size:11px!important;font-weight:400}
body.ifo-shell input:focus:not(:where(.pfn-asset *)),body.ifo-shell select:focus:not(:where(.pfn-asset *)),body.ifo-shell textarea:focus:not(:where(.pfn-asset *)){border-color:#9baac0!important;box-shadow:none!important;outline:none}
body.ifo-shell button:not(:where(.pfn-asset *)){border:0;border-radius:9px!important;padding:10px 15px!important;font-size:11px!important;font-weight:750!important;background:#526d91;color:#fff;cursor:pointer;transition:background .16s}
body.ifo-shell button:hover:not(:disabled):not(:where(.pfn-asset *)){background:#435e82}
body.ifo-shell button.secondary:not(:where(.pfn-asset *)){background:#f0ece4!important;color:#68655f!important;border:0!important}
body.ifo-shell button.secondary:hover:not(:disabled):not(:where(.pfn-asset *)){background:#e8e3d9!important}
body.ifo-shell button:disabled:not(:where(.pfn-asset *)){opacity:.5;cursor:not-allowed}
body.ifo-shell .ifo-nav a,body.ifo-shell .ifo-nav button{font-size:12px}
body.ifo-shell .ifo-topbar .ifo-login{padding:8px 13px!important;font-weight:400!important}
body.ifo-shell table:not(:where(.pfn-asset *)){font-size:10px}
body.ifo-shell table th:not(:where(.pfn-asset *)){color:#969188!important;font-weight:650!important;padding:10px 8px!important;border-bottom:1px solid #e9e1d5!important;background:transparent!important;text-align:left}
body.ifo-shell table td:not(:where(.pfn-asset *)){padding:11px 8px!important;border-bottom:1px solid #f1ede6!important}
body.ifo-shell .panel:not(:where(.pfn-asset *)),body.ifo-shell .contentpanel:not(:where(.pfn-asset *)){padding:22px}
body.ifo-shell .panel:hover:not(:where(.pfn-asset *)){border-color:#e9e1d5!important}
/* 마우스오버 설명: 홈 화면의 흰 카드 말풍선과 같은 모양 */
body.ifo-shell .help-layer:not(:where(.pfn-asset *)),.ifo-tip{background:#fffdf8!important;color:#292d35!important;border:1px solid #e9e1d5!important;border-radius:10px!important;box-shadow:0 6px 18px rgba(60,50,30,.12)!important;padding:10px 12px!important;font-size:11px!important;line-height:1.55!important;max-width:310px}
.ifo-tip{position:fixed;z-index:2000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s}
.ifo-tip.on{opacity:1;visibility:visible}
/* AG Grid 표도 홈 화면 표와 같은 글꼴·크기·색 */
body.ifo-shell .ag-theme-quartz:not(:where(.pfn-asset *)){--ag-font-family:Inter,"Noto Sans KR","Apple SD Gothic Neo",sans-serif;--ag-font-size:11px;--ag-foreground-color:#292d35;--ag-background-color:#fffdf8;--ag-header-background-color:#faf6ee;--ag-header-foreground-color:#969188;--ag-header-font-weight:650;--ag-border-color:#e9e1d5;--ag-row-border-color:#f1ede6;--ag-row-hover-color:#faf6ee;--ag-odd-row-background-color:#fffdf8;--ag-selected-row-background-color:#e9eff6;--ag-input-focus-border-color:#9baac0;--ag-wrapper-border-radius:12px}
body.ifo-shell .ag-theme-quartz button:not(:where(.pfn-asset *)){padding:6px 10px!important;font-size:10px!important}
body.ifo-shell .ag-theme-quartz .sc-acts:not(:where(.pfn-asset *)){gap:4px}
/* 홈 화면과 동일한 로그인(글자만) · 빈 상태줄 숨김 */
body.ifo-shell .ifo-topbar .ifo-login{border:0!important;background:transparent!important;color:#777!important;padding:0!important;font-size:11px!important;font-weight:400!important}
body.ifo-shell .ifo-topbar .ifo-login:hover:not(:disabled){background:transparent!important;color:#526d91!important}
body.ifo-shell .status:empty:not(:where(.pfn-asset *)),body.ifo-shell .toolbar:empty:not(:where(.pfn-asset *)){display:none!important}
