:root{
      --navy:#111827;
      --navy2:#1d2638;
      --navy3:#232d40;
      --gold:#c3984e;
      --bg:#f5f6f8;
      --paper:#ffffff;
      --line:#e1e5ea;
      --ink:#111827;
      --muted:#8992a1;
      --blue:#4b65d8;
      --red:#c95555;
      --green:#2f7a61;
      --orange:#c8922d;
      --sidebar:272px;
      --shadow:0 10px 28px rgba(17,24,39,.07);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:var(--bg);
      color:var(--ink);
      font-family:Pretendard,"Noto Sans KR","Segoe UI",sans-serif;
    }
    a{text-decoration:none;color:inherit}
    button,input{font:inherit}

    .app{
      min-height:100vh;
      display:grid;
      grid-template-columns:var(--sidebar) minmax(0,1fr);
    }

    /* SIDEBAR */
    .sidebar{
      position:sticky;top:0;height:100vh;
      background:linear-gradient(180deg,#151d2b 0%,#101722 100%);
      color:#fff;
      display:flex;flex-direction:column;
      border-right:1px solid rgba(255,255,255,.04);
      z-index:50;
    }
    .brand{
      min-height:92px;
      display:flex;align-items:center;gap:12px;
      padding:18px 20px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .brand-mark{
      width:46px;height:46px;border-radius:12px;
      background:#b9965e;
      display:grid;place-items:center;
      font-size:19px;font-weight:900;color:#fff;
      flex:none;
    }
    .brand strong{display:block;font-size:17px;letter-spacing:-.03em}
    .brand small{display:block;margin-top:4px;color:#aeb7c3;font-size:11px}
    .side-scroll{overflow:auto;padding:14px 10px 18px}
    .side-home{
      display:flex;align-items:center;gap:11px;
      min-height:49px;padding:0 14px;
      background:#fff;color:#1f2937;
      border-radius:11px;
      font-weight:800;font-size:15px;
      box-shadow:inset 0 0 0 2px #172033;
    }
    .side-section-title{
      padding:21px 12px 8px;
      font-size:10px;
      color:#7e8898;
      letter-spacing:.04em;
      font-weight:800;
    }
    .side-link{
      display:flex;align-items:center;gap:12px;
      min-height:48px;padding:0 13px;
      border-radius:10px;
      color:#d4dae2;
      font-weight:750;font-size:14px;
      margin:2px 0;
    }
    .side-link:hover{background:rgba(255,255,255,.075);color:#fff}
    .side-ico{width:22px;text-align:center;font-size:16px}
    .side-footer{
      margin-top:auto;
      padding:18px 20px 24px;
      border-top:1px solid rgba(255,255,255,.08);
    }
    .side-footer strong{display:block;color:#d1ae72;font-size:13px;letter-spacing:.05em}
    .side-footer span{display:block;margin-top:6px;color:#798494;font-size:10px;line-height:1.5}

    /* TOPBAR */
    .main{min-width:0}
    .topbar{
      height:92px;
      background:#fff;
      border-bottom:1px solid var(--line);
      display:flex;align-items:center;
      padding:0 28px;
      position:sticky;top:0;z-index:30;
    }
    .top-title h1{font-size:24px;line-height:1;margin:0;letter-spacing:-.04em}
    .top-title p{margin:9px 0 0;color:var(--muted);font-size:12px}
    .top-actions{
      margin-left:auto;display:flex;align-items:center;gap:12px;
    }
    .month-box .label{
      font-size:10px;color:#70798a;font-weight:800;margin-bottom:5px;
    }
    .month-input{
      height:39px;border:1px solid #dfe4ea;border-radius:10px;
      background:#fff;padding:0 10px;font-size:12px;font-weight:800;
    }
    .refresh{
      height:42px;padding:0 15px;border:1px solid #dfe4ea;background:#fff;
      border-radius:10px;font-weight:800;color:#4b5563;cursor:pointer;
    }
    .admin-box{
      height:46px;padding:0 12px;
      border:1px solid #dfe4ea;border-radius:11px;
      display:flex;align-items:center;gap:9px;background:#fff;
    }
    .admin-icon{
      width:31px;height:31px;border-radius:9px;background:#192233;color:#fff;
      display:grid;place-items:center;font-size:11px;font-weight:900;
    }
    .admin-box strong{display:block;font-size:12px}
    .admin-box small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
    .mobile-toggle{display:none}

    .page{
      max-width:1500px;
      margin:auto;
      padding:27px 28px 40px;
    }

    /* HERO */
    .hero{
      min-height:198px;
      border-radius:21px;
      background:linear-gradient(125deg,#20293c 0%,#1c2639 65%,#192235 100%);
      color:#fff;
      padding:33px;
      display:grid;
      grid-template-columns:minmax(0,1fr) 228px;
      align-items:center;
      gap:28px;
      box-shadow:var(--shadow);
    }
    .eyebrow{font-size:11px;font-weight:900;letter-spacing:.16em;color:#d4af72}
    .hero h2{
      font-size:29px;line-height:1.4;margin:10px 0 12px;
      letter-spacing:-.045em;
    }
    .hero p{margin:0;color:#c9d0da;font-size:13px}
    .hero-side{
      min-height:94px;border:1px solid rgba(255,255,255,.15);
      background:rgba(255,255,255,.055);
      border-radius:17px;padding:22px;
      display:flex;flex-direction:column;justify-content:center;
    }
    .hero-side strong{font-size:18px}
    .hero-side span{margin-top:7px;color:#bbc4d0;font-size:11px}

    /* SECTION */
    .section{margin-top:26px;scroll-margin-top:108px}
    .section-head{
      display:flex;justify-content:space-between;align-items:flex-end;
      gap:16px;margin-bottom:13px;
    }
    .section-head h3{font-size:18px;margin:0;letter-spacing:-.035em}
    .section-head p{font-size:11px;color:var(--muted);margin:6px 0 0}
    .version{
      padding:6px 11px;border-radius:20px;background:#eee8dc;
      color:#8e6e32;font-size:10px;font-weight:900;
    }

    /* STATUS */
    .status-grid{
      display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;
    }
    .status-card{
      min-height:130px;
      background:#fff;border:1px solid var(--line);border-radius:16px;
      padding:18px;
      box-shadow:0 3px 12px rgba(17,24,39,.03);
      position:relative;
    }
    .status-card.emphasis::before{
      content:"";position:absolute;left:0;right:0;top:0;height:3px;
      border-radius:16px 16px 0 0;background:#b88934;
    }
    .status-label{font-size:11px;color:#737d8c;font-weight:800}
    .status-value{font-size:26px;font-weight:900;margin-top:17px;letter-spacing:-.04em}
    .status-desc{font-size:10px;color:#a0a7b2;margin-top:13px}

    /* HOME LOWER */
    .home-lower{
      display:grid;grid-template-columns:minmax(0,2fr) minmax(310px,.9fr);
      gap:16px;margin-top:15px;
    }
    .panel{
      background:#fff;border:1px solid var(--line);border-radius:17px;
      padding:22px;box-shadow:0 4px 14px rgba(17,24,39,.035);
    }
    .panel-head{
      display:flex;justify-content:space-between;align-items:start;gap:12px;
      margin-bottom:12px;
    }
    .panel-head h3{margin:0;font-size:20px;line-height:1.3}
    .panel-head p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
    .panel-head a{font-size:12px;color:#5368d7;font-weight:800;padding:3px 0}

    .quick-grid{
      display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;
    }
    .quick{
      min-height:138px;
      border:1px solid var(--line);
      border-radius:14px;padding:20px;
      background:#fff;
      display:flex;flex-direction:column;justify-content:space-between;
      position:relative;transition:.15s;
    }
    .quick:hover{transform:translateY(-2px);border-color:#c8ced7;box-shadow:0 8px 18px rgba(17,24,39,.06)}
    .quick-ico{font-size:30px;line-height:1}
    .quick strong{font-size:15px;line-height:1.35}
    .quick small{display:block;margin-top:7px;font-size:12px;line-height:1.45;color:var(--muted)}
    .badge{
      min-width:19px;height:19px;padding:0 5px;border-radius:14px;
      background:#c84e4e;color:#fff;display:none;place-items:center;
      font-size:9px;position:absolute;right:-5px;top:-6px;
    }

    .alert-list{display:flex;flex-direction:column;gap:11px}
    .alert-item{
      min-height:76px;border:1px solid var(--line);border-radius:13px;
      padding:15px 14px;display:grid;grid-template-columns:14px minmax(0,1fr) auto;
      gap:12px;align-items:center;
    }
    .dot{width:10px;height:10px;border-radius:50%;background:#c05a58}
    .dot.gold{background:#b98931}
    .dot.green{background:#4e8d70}
    .alert-item strong{display:block;font-size:14px;line-height:1.35}
    .alert-item small{display:block;font-size:11px;line-height:1.45;color:var(--muted);margin-top:5px}
    .alert-item a{font-size:12px;color:#5568d8;font-weight:800;padding:8px 4px}

    .attendance-roster-count{
      flex:0 0 auto;color:#1f5f49;font-size:18px;line-height:1.3;
    }
    .attendance-name-list{
      display:flex;flex-direction:column;gap:9px;max-height:296px;
      overflow-y:auto;padding-right:4px;
    }
    .attendance-person{
      min-height:54px;border:1px solid var(--line);border-radius:12px;
      padding:10px 12px;display:flex;align-items:center;
      justify-content:space-between;gap:12px;background:#fff;
    }
    .attendance-person-info{min-width:0}
    .attendance-person-info strong{display:block;font-size:14px;line-height:1.35}
    .attendance-person-info small{
      display:block;margin-top:4px;color:var(--muted);font-size:11px;
    }
    .attendance-state{
      flex:0 0 auto;padding:6px 9px;border-radius:999px;
      font-size:10px;font-weight:800;white-space:nowrap;
    }
    .attendance-state.working{background:#e6f4ed;color:#277255}
    .attendance-state.completed{background:#eef1f5;color:#697386}
    .attendance-empty{
      min-height:78px;border:1px dashed var(--line);border-radius:12px;
      display:grid;place-items:center;padding:16px;text-align:center;
      color:var(--muted);font-size:12px;
    }

    /* MODULES */
    .module-grid{
      display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;
    }
    .module{
      background:#fff;border:1px solid var(--line);border-radius:18px;
      box-shadow:0 4px 14px rgba(17,24,39,.035);overflow:hidden;
    }
    .module-head{
      min-height:72px;padding:16px 18px;
      display:flex;align-items:center;gap:12px;
      border-bottom:1px solid var(--line);
    }
    .module-icon{
      width:41px;height:41px;border-radius:11px;background:#eef1f5;
      display:grid;place-items:center;font-size:19px;
    }
    .module-head h4{margin:0;font-size:15px}
    .module-head p{margin:4px 0 0;color:var(--muted);font-size:10px}
    .module-body{padding:16px 18px 18px}
    .group + .group{margin-top:16px}
    .group-title{font-size:10px;font-weight:800;color:#7b8492;margin-bottom:8px}
    .task-grid{
      display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
    }
    .task{
      min-height:43px;padding:10px 11px;border:1px solid #e7eaf0;
      border-radius:10px;background:#f8f9fb;font-size:11px;font-weight:750;
      display:flex;align-items:center;justify-content:space-between;gap:8px;
      position:relative;
    }
    .task:hover{background:#f1f4f7}
    .task::after{content:"↗";color:#9aa3af;font-weight:400}
    .task.primary{background:#192233;color:#fff;border-color:#192233}
    .task.primary::after{color:#cdd4dc}
    .task.secure::after{content:"🔒";font-size:9px}
    .admin-note{
      padding:11px;border-radius:10px;background:#f7f2e8;color:#8a7350;
      font-size:9px;line-height:1.6;margin-top:12px;
    }

    footer{text-align:center;color:#9aa2ae;font-size:9px;padding:22px}

    @media(max-width:1280px){
      .status-grid{grid-template-columns:repeat(3,1fr)}
      .quick-grid{grid-template-columns:repeat(3,1fr)}
    }
    @media(max-width:980px){
      .app{display:block}
      .sidebar{position:fixed;left:-290px;width:272px;transition:.2s}
      body.menu-open .sidebar{left:0}
      body.menu-open::after{
        content:"";position:fixed;inset:0;background:rgba(0,0,0,.32);z-index:45
      }
      .sidebar{z-index:60}
      .mobile-toggle{
        display:grid;place-items:center;width:40px;height:40px;border:0;
        border-radius:10px;background:#eef1f4;margin-right:10px;
      }
      .hero{grid-template-columns:1fr}
      .hero-side{display:none}
      .home-lower{grid-template-columns:1fr}
      .module-grid{grid-template-columns:1fr}
    }
    @media(max-width:650px){
      .topbar{height:72px;padding:0 14px}
      .top-title h1{font-size:18px}
      .top-title p,.month-box,.refresh{display:none}
      .page{padding:16px}
      .hero{padding:24px;min-height:165px}
      .hero h2{font-size:23px}
      .status-grid{grid-template-columns:repeat(2,1fr)}
      .quick-grid{grid-template-columns:repeat(2,1fr)}
      .task-grid{grid-template-columns:1fr}
    }


/* ===== 좌측 메뉴형 ERP 화면 전환 ===== */
[hidden]{display:none !important}
.side-home.active,
.side-link.active{
  background:#ffffff;
  color:#1f2937;
  box-shadow:inset 0 0 0 2px #172033;
}
.side-link.active .side-ico{filter:none}
.work-view{margin-top:0}
.work-view > .section-head{margin-bottom:14px}
.work-view .module-grid{display:block}
.work-view .module{
  width:100%;
  min-height:430px;
  border-radius:18px;
}
.work-view .module-head{
  min-height:88px;
  padding:20px 24px;
}
.work-view .module-icon{width:48px;height:48px;font-size:22px}
.work-view .module-head h4{font-size:20px}
.work-view .module-head p{font-size:11px;margin-top:6px}
.work-view .module-body{padding:24px}
.work-view .task-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.work-view .task{min-height:70px;padding:16px;font-size:13px;background:#fff;border-color:#e2e6eb}
.work-view .task.primary{background:#192233}
@media(max-width:1100px){.work-view .task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.work-view .task-grid{grid-template-columns:1fr}.work-view .module{min-height:0}}
/* 상단 기준월 · 새로고침 · 관리자 최종 정렬 */
.top-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.top-actions .month-box,
.top-actions .refresh,
.top-actions .admin-box {
  height: 62px !important;
  box-sizing: border-box !important;
  border: 1px solid #dfe4ea !important;
  border-radius: 12px !important;
  background: #fff !important;
  margin: 0 !important;
}

.top-actions .month-box {
  width: 158px !important;
  padding: 8px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.top-actions .month-box .label {
  margin: 0 0 4px !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

.top-actions .month-input {
  width: 100% !important;
  height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
}

.top-actions .refresh {
  padding: 0 18px !important;
}

.top-actions .admin-box {
  padding: 0 14px !important;
}

@media (max-width: 650px) {
  .top-actions .admin-box {
    height: 46px !important;
  }
}

/* ===== KOREA HOUSE HOME IMAGE CARDS V9 ===== */
.hero-koreahouse{
  position:relative;overflow:hidden;min-height:245px;padding:38px 40px;
  background:
    linear-gradient(90deg,rgba(9,19,30,.95) 0%,rgba(9,19,30,.76) 44%,rgba(9,19,30,.22) 74%,rgba(9,19,30,.48) 100%),
    url("assets/hero-koreahouse.jpg") center/cover no-repeat;
  box-shadow:0 15px 32px rgba(17,24,39,.13);
}
.hero-koreahouse h2{font-size:34px;line-height:1.32;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero-koreahouse h2 em{font-style:normal;color:#efb75c}
.hero-koreahouse p{color:#eef2f5;line-height:1.7;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.hero-koreahouse .hero-side{background:rgba(16,24,34,.66);backdrop-filter:blur(5px);border-color:rgba(255,255,255,.20)}

.quick-grid .quick{
  position:relative;overflow:hidden;min-height:154px;padding:78px 14px 15px;
  display:flex;align-items:flex-end;background:#fff;border:1px solid #e5e7eb;
}
.quick-grid .quick::before{
  content:"";position:absolute;left:0;right:0;top:0;height:68px;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  border-bottom:1px solid rgba(17,24,39,.08);
  transition:transform .2s ease;
}
.quick-grid .quick:hover::before{transform:scale(1.035)}
.quick-grid .quick::after{
  content:"›";position:absolute;right:13px;bottom:24px;font-size:21px;color:#94a3b8
}
.quick-grid .quick .quick-ico{
  position:absolute;z-index:2;left:12px;top:45px;width:42px;height:42px;
  display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.96);
  box-shadow:0 5px 14px rgba(15,23,42,.14);font-size:22px
}
.quick-grid .quick > span:last-child{display:flex;flex-direction:column;gap:4px;padding-right:18px}
.quick-grid .quick strong{font-size:14px}.quick-grid .quick small{font-size:11px}

.quick-reservation::before{background-image:linear-gradient(0deg,rgba(25,18,13,.15),rgba(25,18,13,.02)),url("assets/quick-reservation.jpg")}
.quick-sales::before{background-image:linear-gradient(0deg,rgba(10,31,52,.12),rgba(10,31,52,.01)),url("assets/quick-sales.jpg")}
.quick-weekly::before{background-image:linear-gradient(0deg,rgba(58,43,25,.10),rgba(58,43,25,.01)),url("assets/quick-weekly.jpg")}
.quick-monthly::before{background-image:linear-gradient(0deg,rgba(58,43,25,.10),rgba(58,43,25,.01)),url("assets/quick-monthly.jpg")}
.quick-attendance::before{background-image:linear-gradient(0deg,rgba(10,35,31,.13),rgba(10,35,31,.01)),url("assets/quick-attendance.jpg")}
.quick-foreign::before{background-image:linear-gradient(0deg,rgba(8,39,50,.12),rgba(8,39,50,.01)),url("assets/quick-foreign.jpg")}
.quick-parttime::before{background-image:linear-gradient(0deg,rgba(41,31,23,.12),rgba(41,31,23,.01)),url("assets/quick-parttime.jpg")}
.quick-daily::before{background-image:linear-gradient(0deg,rgba(65,41,19,.12),rgba(65,41,19,.01)),url("assets/quick-daily.jpg")}
.quick-interview::before{background-image:linear-gradient(0deg,rgba(25,38,45,.12),rgba(25,38,45,.01)),url("assets/quick-interview.jpg")}
.quick-order::before{background-image:linear-gradient(0deg,rgba(61,39,20,.12),rgba(61,39,20,.01)),url("assets/quick-order.jpg")}

@media(max-width:650px){
  .hero-koreahouse{min-height:215px;padding:25px 22px}
  .hero-koreahouse h2{font-size:25px}
  .quick-grid .quick{min-height:145px;padding-top:74px}
}

/* =========================================================
   KOREA HOUSE ERP PHOTO DESIGN V10
   실제 업무별 개별 JPG + 더큰코리아형 컴팩트 메인
   ========================================================= */

.page{max-width:1500px;padding:18px 22px 28px}

/* 승인 시안의 실제 배너 이미지를 그대로 사용 */
.hero-koreahouse{
  min-height:218px !important;
  border-radius:16px !important;
  padding:0 !important;
  background:url("assets/hero-koreahouse.jpg") center/cover no-repeat !important;
  box-shadow:0 8px 24px rgba(17,24,39,.12) !important;
}
/* 배너 이미지 자체에 카피가 있으므로 기존 HTML 카피는 중복 표시하지 않음 */
.hero-koreahouse > *{visibility:hidden !important}

/* 현황 영역을 첫 시안처럼 낮고 촘촘하게 */
.section{margin-top:16px}
.section-head{margin-bottom:9px}
.section-head h3{font-size:17px}
.status-grid{gap:9px}
.status-card{
  min-height:103px;
  padding:13px 14px;
  border-radius:12px;
}
.status-label{font-size:10px}
.status-value{font-size:23px;margin-top:11px}
.status-desc{font-size:9px;margin-top:8px}
.status-grid .status-card:nth-child(1){background:#fff1f0}
.status-grid .status-card:nth-child(2){background:#eef6ff}
.status-grid .status-card:nth-child(3){background:#edf9f3}
.status-grid .status-card:nth-child(4){background:#fff6e3}
.status-grid .status-card:nth-child(5){background:#f5efff}
.status-grid .status-card:nth-child(6){background:#fff0ed}

/* 하단 패널 */
.home-lower{
  grid-template-columns:minmax(0,2.15fr) minmax(300px,.82fr);
  gap:12px;margin-top:11px;
}
.panel{padding:14px;border-radius:14px}
.panel-head{margin-bottom:8px}
.panel-head h3{font-size:17px}
.panel-head p{font-size:10px;margin-top:4px}

/* 더큰코리아처럼: 5 x 2, 낮은 사진 카드 */
.quick-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.quick-grid .quick{
  min-height:122px !important;
  padding:67px 11px 10px !important;
  border-radius:10px !important;
  align-items:stretch !important;
  justify-content:flex-end !important;
  box-shadow:0 2px 8px rgba(17,24,39,.045);
}
.quick-grid .quick::before{
  height:61px !important;
  background-position:center !important;
  background-size:cover !important;
}
.quick-grid .quick .quick-ico{
  left:9px !important;top:45px !important;
  width:32px !important;height:32px !important;
  border-radius:8px !important;font-size:17px !important;
}
.quick-grid .quick > span:last-child{
  gap:1px !important;padding-right:12px !important;
}
.quick-grid .quick strong{font-size:12px !important;line-height:1.25}
.quick-grid .quick small{font-size:9px !important;margin-top:3px !important}
.quick-grid .quick::after{right:8px !important;bottom:17px !important;font-size:16px !important}

/* 카드마다 실제 별도 이미지 */
.quick-reservation::before{background-image:url("assets/quick-reservation.jpg") !important}
.quick-sales::before{background-image:url("assets/quick-sales.jpg") !important}
.quick-weekly::before{background-image:url("assets/quick-weekly.jpg") !important}
.quick-monthly::before{background-image:url("assets/quick-monthly.jpg") !important}
.quick-attendance::before{background-image:url("assets/quick-attendance.jpg") !important}
.quick-foreign::before{background-image:url("assets/quick-foreign.jpg") !important}
.quick-parttime::before{background-image:url("assets/quick-parttime.jpg") !important}
.quick-daily::before{background-image:url("assets/quick-daily.jpg") !important}
.quick-interview::before{background-image:url("assets/quick-interview.jpg") !important}
.quick-order::before{background-image:url("assets/quick-order.jpg") !important}

/* 출근 예정자 패널도 첫 시안 비율로 */
.attendance-name-list{max-height:248px;gap:6px}
.attendance-person{min-height:44px;padding:7px 9px;border-radius:10px}
.attendance-person-info strong{font-size:12px}
.attendance-person-info small{font-size:9px;margin-top:2px}
.attendance-state{font-size:9px;padding:5px 8px}
.attendance-roster-count{font-size:16px}

footer{padding:13px;font-size:8px}

@media(max-width:1280px){
  .quick-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:980px){
  .page{padding:15px}
  .hero-koreahouse{min-height:190px !important}
  .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .hero-koreahouse{min-height:145px !important;background-position:center !important}
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-grid .quick{min-height:120px !important}
}



/* V11 - 자주 쓰는 업무: HTML 아이콘 제거 후 사진 중심 카드 */
.quick-grid .quick .quick-ico{
  display:none !important;
}
.quick-grid .quick{
  padding:67px 11px 10px !important;
}


/* =========================================================
   V12 MOBILE HARD FIX - 2026-09-16
   휴대폰에서 데스크톱 폭/카드 찌그러짐/가로 넘침 방지
   ========================================================= */
@media (max-width: 650px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body { min-width: 0 !important; }
  .app, .main, .page, .home-view, .section, .panel, .home-lower,
  .status-grid, .quick-grid, .attendance-roster-panel {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .topbar {
    height: 64px !important;
    padding: 0 12px !important;
    gap: 8px !important;
  }
  .mobile-toggle {
    display: grid !important;
    flex: 0 0 40px !important;
    margin-right: 2px !important;
  }
  .top-title { min-width: 0 !important; }
  .top-title h1 { font-size: 17px !important; white-space: nowrap; }
  .top-title p { display: none !important; }
  .top-actions { margin-left: auto !important; gap: 0 !important; }
  .top-actions .month-box,
  .top-actions .refresh { display: none !important; }
  .top-actions .admin-box {
    display: flex !important;
    width: auto !important;
    height: 42px !important;
    padding: 0 8px !important;
    border: 0 !important;
    background: transparent !important;
  }
  .admin-box small { display: none !important; }

  .page {
    margin: 0 !important;
    padding: 12px !important;
  }
  .hero-koreahouse {
    width: 100% !important;
    min-height: 150px !important;
    border-radius: 14px !important;
    background-size: cover !important;
    background-position: center !important;
  }

  .section { margin-top: 14px !important; }
  .section-head { align-items: center !important; gap: 8px !important; }
  .section-head h3 { font-size: 17px !important; }
  .section-head p { font-size: 10px !important; }
  .version { display: none !important; }

  .status-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .status-card {
    width: auto !important;
    min-width: 0 !important;
    min-height: 116px !important;
    padding: 13px !important;
    overflow: hidden !important;
  }
  .status-label, .status-value, .status-desc {
    overflow-wrap: anywhere !important;
    word-break: keep-all !important;
  }
  .status-value { font-size: 22px !important; }

  .home-lower {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 10px !important;
  }
  .panel {
    padding: 12px !important;
    overflow: hidden !important;
  }
  .quick-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .quick-grid .quick {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 122px !important;
    padding: 68px 10px 10px !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }
  .quick-grid .quick > span,
  .quick-grid .quick strong,
  .quick-grid .quick small {
    width: auto !important;
    min-width: 0 !important;
    writing-mode: horizontal-tb !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }
  .quick-grid .quick strong { font-size: 12px !important; }
  .quick-grid .quick small { font-size: 9px !important; }

  .attendance-name-list { max-height: none !important; }
  .work-view .module { width: 100% !important; min-width: 0 !important; }
  .work-view .module-head, .work-view .module-body { padding: 14px !important; }
  .work-view .task-grid, .task-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
  .task { width: 100% !important; min-width: 0 !important; }
}

@media (max-width: 380px) {
  .page { padding: 9px !important; }
  .status-grid, .quick-grid { gap: 7px !important; }
  .status-card { padding: 11px !important; }
}

/* =========================================================
   V13 HOME LARGE CARDS - 2026-09-17
   자주 쓰는 업무 + 오늘 출근 예정자 확대 / 배지 가독성 강화
   ========================================================= */
@media (min-width: 981px) {
  .home-lower{
    grid-template-columns:minmax(0,2.35fr) minmax(390px,1fr) !important;
    gap:16px !important;
    align-items:stretch !important;
  }

  .home-lower > .panel{
    padding:18px !important;
    border-radius:16px !important;
  }

  .quick-grid{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:11px !important;
  }

  .quick-grid .quick{
    min-height:154px !important;
    padding:91px 13px 13px !important;
    border-radius:12px !important;
    overflow:visible !important;
  }

  .quick-grid .quick::before{
    height:82px !important;
    border-radius:12px 12px 0 0 !important;
  }

  .quick-grid .quick strong{
    font-size:14px !important;
    line-height:1.3 !important;
  }

  .quick-grid .quick small{
    font-size:10px !important;
    margin-top:4px !important;
  }

  .quick-grid .quick::after{
    right:10px !important;
    bottom:18px !important;
    font-size:18px !important;
  }

  /* 일용직/면접 등 숫자 배지가 카드 밖에서도 확실히 보이게 */
  .quick-grid .quick .badge{
    z-index:20 !important;
    min-width:25px !important;
    height:25px !important;
    padding:0 7px !important;
    right:-8px !important;
    top:-9px !important;
    border:2px solid #fff !important;
    border-radius:999px !important;
    font-size:11px !important;
    font-weight:900 !important;
    box-shadow:0 4px 10px rgba(185,28,28,.28) !important;
  }

  .attendance-roster-panel{
    min-height:360px !important;
    display:flex !important;
    flex-direction:column !important;
  }

  .attendance-roster-panel .panel-head h3{
    font-size:20px !important;
  }

  .attendance-roster-panel .panel-head p{
    font-size:11px !important;
  }

  .attendance-roster-count{
    font-size:20px !important;
  }

  .attendance-name-list{
    max-height:310px !important;
    gap:8px !important;
    flex:1 1 auto !important;
  }

  .attendance-person{
    min-height:52px !important;
    padding:9px 11px !important;
    border-radius:11px !important;
  }

  .attendance-person-info strong{
    font-size:13px !important;
  }

  .attendance-person-info small{
    font-size:10px !important;
    margin-top:3px !important;
  }

  .attendance-state{
    font-size:10px !important;
    padding:6px 9px !important;
  }
}


/* =========================================================
   V14 STATUS + ATTENDANCE ICONS - 2026-09-17
   통합현황 카드 아이콘 / 출근예정자 원형 이니셜 아이콘
   ========================================================= */
.status-card{
  padding-left:66px !important;
}
.status-icon{
  position:absolute;
  left:15px;
  top:17px;
  width:40px;
  height:40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-size:21px;
  line-height:1;
  background:rgba(255,255,255,.72);
  box-shadow:0 3px 10px rgba(17,24,39,.06);
}
.status-grid .status-card:nth-child(1) .status-icon{background:#ffdedd}
.status-grid .status-card:nth-child(2) .status-icon{background:#dceaff}
.status-grid .status-card:nth-child(3) .status-icon{background:#d8f4e6}
.status-grid .status-card:nth-child(4) .status-icon{background:#ffebbd}
.status-grid .status-card:nth-child(5) .status-icon{background:#e9dcff}
.status-grid .status-card:nth-child(6) .status-icon{background:#ffdeda}

.attendance-person-main{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  flex:1 1 auto;
}
.attendance-avatar{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:900;
  color:#fff;
  box-shadow:0 2px 7px rgba(17,24,39,.10);
}
.attendance-avatar.role-hall{background:#79c96b}
.attendance-avatar.role-kitchen{background:#27c5bd}
.attendance-avatar.role-prep{background:#3788e8}
.attendance-avatar.role-exit{background:#7758df}
.attendance-avatar.role-wash{background:#4056c7}
.attendance-avatar.unexpected{background:#d45a52}

@media(max-width:650px){
  .status-card{padding:13px 11px 13px 54px !important}
  .status-icon{
    left:10px;
    top:13px;
    width:34px;
    height:34px;
    border-radius:10px;
    font-size:18px;
  }
  .attendance-avatar{
    width:31px;
    height:31px;
    flex-basis:31px;
    font-size:11px;
  }
}

/* ===== 더큰코리아 경영대시보드 카드 이미지 V16 ===== */
.quick-management-dashboard::before{
  background-image:url("assets/quick-management-dashboard.jpg") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}


/* ===== 계약 만료예정 상세 팝업 V17 ===== */
body.contract-modal-open{overflow:hidden}
.contract-expire-modal{
  position:fixed;inset:0;z-index:2000;
  display:grid;place-items:center;padding:22px;
}
.contract-expire-modal[hidden]{display:none !important}
.contract-expire-backdrop{
  position:absolute;inset:0;background:rgba(15,23,42,.52);
  backdrop-filter:blur(3px);
}
.contract-expire-dialog{
  position:relative;z-index:1;width:min(760px,100%);
  max-height:min(760px,88vh);overflow:hidden;
  background:#fff;border-radius:20px;
  box-shadow:0 28px 80px rgba(15,23,42,.28);
  display:flex;flex-direction:column;
}
.contract-expire-head{
  display:flex;justify-content:space-between;gap:20px;
  padding:24px 26px 18px;border-bottom:1px solid #e7eaf0;
}
.contract-expire-kicker{
  display:block;margin-bottom:7px;color:#9a7539;
  font-size:10px;font-weight:900;letter-spacing:.12em;
}
.contract-expire-head h3{margin:0;font-size:23px;letter-spacing:-.04em}
.contract-expire-head p{margin:7px 0 0;color:#8992a1;font-size:11px;line-height:1.5}
.contract-expire-close{
  flex:0 0 auto;width:38px;height:38px;border:0;border-radius:10px;
  background:#f1f3f6;color:#596273;font-size:25px;line-height:1;cursor:pointer;
}
.contract-expire-summary{
  display:flex;align-items:baseline;gap:9px;
  padding:16px 26px;background:#faf7f1;border-bottom:1px solid #eee7da;
}
.contract-expire-summary strong{font-size:24px;color:#9a6e27}
.contract-expire-summary span{font-size:11px;color:#8a7350;font-weight:800}
.contract-expire-list{
  overflow:auto;padding:14px 18px 20px;
  display:flex;flex-direction:column;gap:9px;
}
.contract-expire-item{
  min-height:94px;padding:15px 16px;border:1px solid #e5e8ed;
  border-radius:14px;background:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
}
.contract-expire-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.contract-expire-name-row strong{font-size:15px}
.contract-source{
  display:inline-flex;align-items:center;min-height:22px;padding:0 8px;
  border-radius:999px;font-size:9px;font-weight:900;
}
.contract-source.legacy{background:#f4eee2;color:#8b672d}
.contract-source.new{background:#eaf0ff;color:#4b60b8}
.contract-expire-meta{margin-top:7px;color:#6f7887;font-size:11px}
.contract-expire-date{margin-top:5px;color:#343d4d;font-size:11px;font-weight:800}
.contract-expire-side{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px;
}
.contract-dday{font-size:17px;color:#c04f4f}
.contract-expire-link{
  padding:7px 10px;border-radius:8px;background:#192233;color:#fff;
  font-size:10px;font-weight:800;
}
.contract-expire-empty{
  min-height:150px;border:1px dashed #d8dde5;border-radius:14px;
  display:grid;place-items:center;text-align:center;padding:22px;
  color:#8992a1;font-size:12px;background:#fafbfc;
}
@media(max-width:650px){
  .contract-expire-modal{padding:12px}
  .contract-expire-dialog{max-height:90vh;border-radius:16px}
  .contract-expire-head{padding:19px 18px 15px}
  .contract-expire-head h3{font-size:20px}
  .contract-expire-summary{padding:13px 18px}
  .contract-expire-list{padding:11px 12px 15px}
  .contract-expire-item{align-items:flex-start;padding:13px}
  .contract-expire-side{gap:7px}
}


/* ===== V18 한국의집 ERP 로그아웃 버튼 ===== */
.kh-logout-btn{
  height:42px;padding:0 14px;border:1px solid #d9e0e6;border-radius:12px;
  background:#fff;color:#24333c;font:800 12px/1 inherit;white-space:nowrap;cursor:pointer;
}
.kh-logout-btn:hover{background:#f5f7f8;}
@media(max-width:650px){
  .top-actions{display:flex!important;align-items:center!important;gap:6px!important;}
  .top-actions .admin-box{padding:0 5px!important;}
  .kh-logout-btn{display:inline-flex!important;align-items:center;justify-content:center;height:40px!important;padding:0 10px!important;font-size:11px!important;border-radius:10px!important;}
}
@media(max-width:380px){
  .admin-box>div:last-child{display:none!important;}
  .kh-logout-btn{padding:0 8px!important;}
}
\n\n/* ===== V19 관리자 카드 내부 로그아웃 - PC/MOBILE 확실한 표시 ===== */\n.top-actions .admin-box.admin-box-with-logout{\n  display:flex!important;align-items:center!important;gap:9px!important;\n  padding:0 8px 0 10px!important;min-width:190px!important;\n}\n.admin-box-with-logout .admin-user-copy{min-width:64px;}\n.admin-box-with-logout .kh-logout-btn{\n  display:inline-flex!important;align-items:center!important;justify-content:center!important;\n  height:34px!important;margin-left:auto!important;padding:0 11px!important;\n  border:1px solid #d8dee7!important;border-radius:9px!important;\n  background:#f6f8fb!important;color:#263445!important;font-size:11px!important;font-weight:900!important;\n  white-space:nowrap!important;cursor:pointer!important;flex:0 0 auto!important;\n}\n.admin-box-with-logout .kh-logout-btn:hover{background:#edf1f5!important;}\n@media(max-width:650px){\n  .top-actions .admin-box.admin-box-with-logout{\n    min-width:0!important;width:auto!important;height:44px!important;padding:0 5px!important;gap:5px!important;\n    border:0!important;background:transparent!important;\n  }\n  .admin-box-with-logout .admin-icon{width:34px!important;height:34px!important;flex:0 0 34px!important;}\n  .admin-box-with-logout .admin-user-copy{display:none!important;}\n  .admin-box-with-logout .kh-logout-btn{height:36px!important;padding:0 9px!important;font-size:11px!important;}\n}\n