@import url('/design/vendor/tabler/tabler-icons.min.css?v=20260628');

/* === v1.3 토큰 오버라이드(대시보드 스코프) — 라이브 본문/JS 무수정, 색만 토큰으로 전환 === */
body.dashboard-v13{
  --color-bg:#F4F3EF; --color-card-bg:#FFFFFF; --color-card-border:#E8E6DF;
  --color-primary:#10A968; --color-primary-hover:#0B8A55; --color-secondary:#2F6FE0; --color-highlight:#E0892F;
  --color-text-primary:#16201C; --color-text-secondary:#5C6B63; --color-text-muted:#8B978F; --color-border:#E8E6DF;
  --color-success:#10A968; --color-warning:#E0892F; --color-info:#2F6FE0; --color-danger:#E0533D;
  --color-status-done-bg:#10A968; --color-status-progress-bg:#E0892F; --color-status-pending-bg:#EDEBE4; --color-status-pending-text:#5C6B63;
  --color-sidebar-bg:#0F2A22; --color-sidebar-text:#D9E5DF; --color-sidebar-text-muted:#7FA395; --color-sidebar-active-bg:rgba(16,169,104,.18);
  --color-status-progress-text:#fff; --color-status-done-text:#fff;
  --radius-sm:9px; --radius-md:12px; --radius-lg:16px;
  --shadow-sm:0 1px 2px rgba(16,42,34,.05); --shadow-md:0 1px 2px rgba(16,42,34,.04),0 12px 30px -16px rgba(16,42,34,.18); --shadow-lg:0 24px 60px -28px rgba(16,42,34,.32);
  --v-side:#0F2A22; --v-side2:#0A1F18; --v-brand:#10A968; --v-brandsoft:#E6F6EE; --v-line:#E8E6DF;
  font-family:'Pretendard',-apple-system,system-ui,sans-serif; letter-spacing:-.01em;
}
body.dashboard-v13 .app{grid-template-columns:248px 1fr;}
/* ---- 사이드바(v1.3 짙은녹색) ---- */
.dashboard-v13 .side{background:linear-gradient(178deg,var(--v-side),var(--v-side2));color:#CFE0D8;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;max-height:100vh;overflow-y:auto}
.dashboard-v13 .side .brand{display:flex;align-items:center;gap:11px;padding:20px 18px 16px}
.dashboard-v13 .side .logo{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--v-brand),#0AC77B);display:flex;align-items:center;justify-content:center;color:#04261A;font-size:20px}
.dashboard-v13 .side .brand b{font-size:16px;color:#fff;font-weight:800;display:block;line-height:1.15}
.dashboard-v13 .side .brand span{font-size:11px;color:#7FA395;font-weight:600;font-family:Consolas,monospace;letter-spacing:.04em}
.dashboard-v13 .side-search{margin:0 12px 8px;display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:8px 11px;color:#7FA395}
.dashboard-v13 .side-search input{border:0;outline:0;background:0;font:inherit;font-size:13px;color:#CFE0D8;flex:1}
.dashboard-v13 .nav{padding:4px 10px 14px;display:flex;flex-direction:column;gap:1px;flex:1}
.dashboard-v13 .nav .grp{font-size:10.5px;font-weight:700;color:#5E7C70;letter-spacing:.05em;padding:14px 10px 6px;text-transform:uppercase}
.dashboard-v13 .nav .navlink{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:10px;color:#B9CCC3;font-size:13.5px;font-weight:500;text-decoration:none;cursor:pointer;position:relative;transition:.15s}
.dashboard-v13 .nav .navlink i{font-size:18px;width:20px;text-align:center;color:#7FA395;transition:.15s}
.dashboard-v13 .nav .navlink:hover{background:rgba(255,255,255,.05);color:#fff}
.dashboard-v13 .nav .navlink:hover i{color:#CFE8DC}
.dashboard-v13 .nav .navlink.is-active{background:rgba(16,169,104,.16);color:#fff}
.dashboard-v13 .nav .navlink.is-active i{color:#2BD68C}
.dashboard-v13 .nav .navlink.is-active::before{content:"";position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:#2BD68C}
.dashboard-v13 .nav .bdg{margin-left:auto;font-size:10.5px;font-weight:700;background:rgba(43,214,140,.18);color:#7DEAB6;padding:1px 8px;border-radius:999px}
.dashboard-v13 .nav .bdg.warn{background:rgba(224,137,47,.22);color:#F4C089}
.dashboard-v13 .side-foot{padding:12px;border-top:1px solid rgba(255,255,255,.08)}
.dashboard-v13 .side-foot .me{display:flex;align-items:center;gap:10px;padding:6px}
.dashboard-v13 .side-foot .av{width:34px;height:34px;border-radius:50%;background:#1C4D3C;color:#9FE9C7;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.dashboard-v13 .side-foot b{font-size:13px;color:#fff;font-weight:700;display:block;line-height:1.2}
.dashboard-v13 .side-foot span{font-size:11px;color:#7FA395}
/* ---- 토픽바(글래스) ---- */
.dashboard-v13 .top{display:flex;align-items:center;gap:16px;padding:13px 26px;background:rgba(244,243,239,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--v-line);position:sticky;top:0;z-index:20;box-shadow:0 1px 0 rgba(16,42,34,.05)}
.dashboard-v13 .top .menu-btn{display:none;background:#fff;border:1px solid var(--v-line);width:38px;height:38px;border-radius:11px;cursor:pointer;font-size:18px;align-items:center;justify-content:center}
.dashboard-v13 .top .ttl h1{font-size:19px;font-weight:800;letter-spacing:-.02em;margin:0}
.dashboard-v13 .top .ttl p{font-size:12px;color:var(--color-text-muted);margin:2px 0 0}
.dashboard-v13 .top .search2{margin-left:8px;flex:1;max-width:360px;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--v-line);border-radius:11px;padding:9px 13px;color:var(--color-text-muted)}
.dashboard-v13 .top .search2 input{border:0;outline:0;background:0;font:inherit;font-size:13px;color:var(--color-text-primary);flex:1}
.dashboard-v13 .top .acts{margin-left:auto;display:flex;align-items:center;gap:9px}
.dashboard-v13 .top .iconbtn{width:38px;height:38px;border-radius:11px;border:1px solid var(--v-line);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);cursor:pointer;font-size:18px;position:relative}
.dashboard-v13 .top .iconbtn .rdot{position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--color-danger);border:2px solid #fff}
.dashboard-v13 .top .dbb{display:inline-flex;align-items:center;gap:6px;min-width:104px;justify-content:center;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;background:var(--v-brandsoft);color:var(--brand-ink,#0A5236)}
.dashboard-v13 .top .meTop{display:flex;align-items:center;gap:9px;padding-left:10px;border-left:1px solid var(--v-line)}
.dashboard-v13 .top .av2{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--v-brand),#0AC77B);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.dashboard-v13 .top .meInfo .nm{font-size:13px;font-weight:700;line-height:1.2}
.dashboard-v13 .top .meInfo .rl{font-size:11.5px;color:var(--color-text-muted)}
/* ---- 본문 카드 v1.3 폴리시(색은 토큰으로 자동) ---- */
.dashboard-v13 .content{max-width:1480px;padding:26px 30px 48px}
.dashboard-v13 .card-block{border-radius:16px;box-shadow:var(--shadow-md);border-color:var(--v-line)}
.dashboard-v13 .kpi{border-radius:16px;box-shadow:var(--shadow-md)}
.dashboard-v13 .kpi::before{height:3px}
.dashboard-v13 .cb-title{font-weight:800;letter-spacing:-.02em}
/* 차트 색상 v1.3로(프레젠테이션 속성은 CSS가 우선) */
.dashboard-v13 #db-chart .bar{fill:var(--color-secondary)}
.dashboard-v13 #db-chart path[stroke]{stroke:var(--color-primary)}
.dashboard-v13 #db-chart path[fill]:not([stroke]){fill:var(--color-primary)}
.dashboard-v13 #db-chart circle{fill:var(--color-primary)}
/* 반응형(새 셸) */
@media(max-width:1024px){.dashboard-v13 .app{grid-template-columns:64px 1fr}.dashboard-v13 .side .brand span,.dashboard-v13 .side-search,.dashboard-v13 .nav .grp,.dashboard-v13 .nav .navlink span,.dashboard-v13 .side-foot b,.dashboard-v13 .side-foot span{display:none}.dashboard-v13 .nav .navlink{justify-content:center}}
@media(max-width:768px){.dashboard-v13 .app{grid-template-columns:1fr}.dashboard-v13 .side{display:none}.dashboard-v13 .top .menu-btn{display:flex}.dashboard-v13 .top .search2{display:none}}
/* === codex 검수 반영: 접근성·반응형 보강 (라이브 JS 무수정) === */
.dashboard-v13 .top .av2{color:#04261A}
.dashboard-v13 .nav .grp{color:#8FAEA2;font-size:11px}
body.dashboard-v13{--color-status-progress-text:#16201C;--color-status-done-text:#04261A}
.dashboard-v13 .card-block:has(.ship-tbl){overflow-x:auto}
.dashboard-v13 .ship-tbl{min-width:560px}
@media(max-width:1024px){.dashboard-v13 .top .meTop{display:none}.dashboard-v13 .top .search2{max-width:240px}}
@media(max-width:768px){.dashboard-v13 .content{padding:18px 14px 36px}}


/* app-shell.css(design.html) 전용 토큰 보강 */
body.dashboard-v13, html.dashboard-v13{
  --color-content-bg:#F4F3EF; --color-content-border:#E8E6DF;
  --color-topicbar-bg:#FFFFFF; --color-topicbar-border:#E8E6DF;
  --color-topicbar-title:#16201C; --color-topicbar-subtitle:#5C6B63;
  --color-sidebar-bg-hover:#16382E; --color-sidebar-bg-active:#1B4638;
  --color-sidebar-brand:#10A968; --color-sidebar-badge:#10A968; --color-sidebar-badge-admin:#0B8A55;
  --color-fab-bg:#10A968; --color-fab-hover:#0B8A55;
}

/* === v1.3 자체호스팅 폰트/아이콘 (2026-06-28) === */
@font-face{font-family:'Pretendard';font-style:normal;font-weight:100 900;font-display:swap;src:url('/design/vendor/PretendardVariable.woff2?v=20260628') format('woff2');}
.dashboard-v13 .sb-link,.dashboard-v13 .sb-flat{display:flex;align-items:center;gap:8px;}
.dashboard-v13 .sb-link .ti,.dashboard-v13 .sb-flat .ti{flex:0 0 auto;width:1.2em;font-size:1.05rem;color:currentColor;text-align:center;line-height:1;}
.dashboard-v13 .sb-link .badge-count,.dashboard-v13 .sb-link .pill,.dashboard-v13 .sb-flat .pill{margin-left:auto;}
