/* ═══════════════════════════════════════════════════════════
   aitnag.com 좌측 메뉴 복제 — 목록 페이지에서만 씁니다.
   규칙·수치는 실제 서비스의 diagnosis.css / inquiry.css 에서 그대로 가져왔습니다.
   (진단 기록·상담 신청·계정은 실제로는 로그인 상태에 따라 채워지는 영역이라
    여기서는 비어 있는 모습 그대로 둡니다.)
   ═══════════════════════════════════════════════════════════ */
.app-body{--app-ink:#17181a;--app-muted:#7a7d84;--app-line:#ebe9e6;--app-soft:#f6f5f3;min-height:100vh;background:#f1f0ee}
.app{display:grid;grid-template-columns:228px minmax(0,1fr);height:100vh;min-height:640px;margin:0;background:#f1f0ee;overflow:hidden}
.app svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

.app-side{position:relative;z-index:20;display:flex;flex-direction:column;gap:6px;padding:26px 16px 16px;border-right:1px solid var(--app-line);overflow-y:auto}
.app-side-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:22px}
.app-logo{display:inline-flex;padding:0 10px;color:var(--app-ink)}
.app-side-top .app-logo{margin-bottom:0}
.app-logo img{display:block;width:auto;height:26px}
.app-side-btns{display:flex;align-items:center;gap:2px}
.app-panel-btn{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:9px;background:none;color:#6b6e74;cursor:pointer;transition:background .15s,color .15s}
.app-panel-btn:hover{background:rgba(0,0,0,.06);color:var(--app-ink)}
.app-panel-btn svg{width:20px;height:20px;stroke-width:1.7}

.app-nav{display:grid;gap:2px}
.app-nav a{display:flex;align-items:center;gap:12px;height:38px;padding:0 12px;border-radius:10px;font-size:.9rem;font-weight:600;color:#55585e;transition:background .15s,color .15s}
.app-nav a:hover{background:rgba(0,0,0,.04);color:var(--app-ink)}
.app-nav a.is-on{background:#fff;color:var(--app-ink);font-weight:750;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.app-nav-count{margin-left:auto;min-width:24px;height:22px;padding:0 7px;display:grid;place-items:center;border-radius:999px;background:rgba(0,0,0,.06);font-size:.72rem;font-weight:800;color:#55585e}

.app-nav-title{margin:20px 12px 6px;font-size:.8rem;font-weight:750;color:var(--app-muted)}
.app-recent-toggle{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 24px);margin-bottom:0;padding:4px 0;border:0;background:none;font:inherit;font-size:.8rem;font-weight:750;color:var(--app-muted);text-align:left;cursor:pointer}
.app-recent-toggle:hover{color:var(--app-ink)}
.app-recent-toggle svg{width:16px;height:16px;transition:transform .2s}
.app-recent-toggle[aria-expanded="false"] svg{transform:rotate(-90deg)}
#consult-toggle{margin-top:12px}

.app-recent{list-style:none;margin:0;margin-top:-4px;padding:0;display:grid;align-content:start;gap:0;min-height:0;overflow:hidden}
.app-recent-empty{padding:4px 12px;font-size:.8rem;line-height:1.5;color:var(--app-muted)}

.app-side-bottom{margin-top:auto}
.app-side-auth{position:relative;margin:0 10px 10px}
.acct{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:12px;background:none;color:var(--app-ink);font:inherit;text-align:left;cursor:pointer;transition:background .15s}
.acct:hover{background:var(--app-soft)}
.acct__face{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;object-fit:cover;background:var(--app-ink);color:#fff;font-size:.74rem;font-weight:750;letter-spacing:.02em;overflow:hidden}
.acct__txt{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.acct__txt b{font-size:.83rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct__txt em{font-style:normal;font-size:.69rem;font-weight:500;color:var(--app-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct__arrow{width:15px;height:15px;flex:0 0 15px;margin-left:auto;fill:none;stroke:var(--app-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.acct--out .acct__face{background:#fff;box-shadow:inset 0 0 0 1px var(--app-line)}
.acct--out .acct__face img{width:17px;height:17px}

.app-side-inquiry{display:block;width:calc(100% - 20px);margin:0 10px 10px;padding:8px 10px;border:0;border-radius:10px;background:none;font:inherit;font-size:.8rem;font-weight:650;color:var(--app-muted);text-align:left;cursor:pointer;transition:background .15s,color .15s}
.app-side-inquiry:hover{background:var(--app-soft);color:var(--app-ink)}

/* 가운데 — 이 시안에서는 안쪽 여백을 .wrap 이 맡습니다 */
.app-main{position:relative;overflow-y:auto;padding:0}

@media (max-width:900px){
  .app-body{background:#f3f1ef}
  .app{display:block;height:auto;min-height:0}
  .app-side{flex-direction:row;align-items:center;gap:4px;padding:14px 16px;border-right:0;border-bottom:1px solid var(--app-line);overflow-x:auto;position:sticky;top:0;z-index:10;background:rgba(243,241,239,.96)}
  .app-side::-webkit-scrollbar{display:none}
  .app-logo{margin:0 8px 0 0;padding:0}
  .app-logo img{height:21px}
  .app-side-top{margin:0}
  .app-panel-btn{display:none}
  .app-nav{display:flex;gap:2px}
  .app-nav a{height:34px;padding:0 10px;white-space:nowrap;font-size:.82rem}
  .app-nav a svg{display:none}
  .app-nav-title,.app-nav-count,.app-recent,.app-recent-toggle,.app-side-bottom{display:none}
  .app-main{overflow:visible}
}
