/* =========================================================
   EASY UI / GLOBAL SEARCH / QUICK MENU
   - One global search entry point
   - Site-context action sheet
   - User-configurable quick menu
   ========================================================= */
.topbar-nav-tools{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.topbar-search-btn{font-size:23px;font-weight:800;color:#1d4ed8}

.easy-search-backdrop,.easy-site-backdrop,.easy-quick-backdrop{
  position:fixed;inset:0;z-index:1450;display:grid;place-items:start center;
  padding:78px 18px 24px;background:rgba(15,23,42,.44);box-sizing:border-box;
  overflow:auto;
}
.easy-search-backdrop[hidden],.easy-site-backdrop[hidden],.easy-quick-backdrop[hidden]{display:none!important}
.easy-search-sheet,.easy-site-sheet,.easy-quick-sheet{
  width:min(680px,100%);max-height:min(760px,calc(100vh - 104px));overflow:auto;
  border:1px solid #cbd5e1;border-radius:var(--ui-radius-lg);background:#fff;
  box-shadow:0 22px 58px rgba(15,23,42,.24);box-sizing:border-box;
}
.easy-site-sheet{width:min(520px,100%)}
.easy-quick-sheet{width:min(560px,100%)}
.easy-search-head,.easy-site-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:16px;border-bottom:1px solid #e2e8f0;background:#fff;
  position:sticky;top:0;z-index:2;
}
.easy-search-head>div,.easy-site-head>div{display:grid;gap:4px;min-width:0}
.easy-search-head strong,.easy-site-head strong{font-size:18px;line-height:1.2;color:#0f172a}
.easy-search-head span{font-size:12px;line-height:1.45;color:#64748b}
.easy-ui-close{
  width:var(--ui-control-height-sm);height:var(--ui-control-height-sm);flex:0 0 var(--ui-control-height-sm);border:1px solid #cbd5e1;border-radius:var(--ui-radius-sm);
  background:#fff;color:#475569;font-size:23px;line-height:1;cursor:pointer;
}
.easy-search-input-wrap{
  display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;
  margin:14px 16px 10px;border:2px solid #93b8eb;border-radius:9px;background:#fff;
  min-height:50px;overflow:hidden;
}
.easy-search-input-wrap>span{text-align:center;color:#2563eb;font-size:22px;font-weight:900}
.easy-search-input-wrap input{
  width:100%;height:48px;border:0!important;outline:0!important;box-shadow:none!important;
  padding:0 12px 0 0;font-size:16px;background:transparent;color:#0f172a;
}
.easy-search-results{padding:4px 16px 18px;display:grid;gap:14px}
.easy-search-group{display:grid;gap:7px}
.easy-search-group-title{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;color:#64748b;padding:0 2px}
.easy-search-site,.easy-search-menu{
  width:100%;display:grid;align-items:center;gap:3px;border:1px solid #dbe4ef;border-radius:var(--ui-radius);
  background:#fff;padding:11px 12px;box-sizing:border-box;text-align:left;color:#0f172a;cursor:pointer;text-decoration:none;
}
.easy-search-site{grid-template-columns:minmax(0,1fr) auto}
.easy-search-site:hover,.easy-search-site:focus-visible,.easy-search-menu:hover,.easy-search-menu:focus-visible{border-color:#8eb7ec;background:#f8fbff;outline:none}
.easy-search-site-main{min-width:0;display:grid;gap:3px}
.easy-search-site strong,.easy-search-menu strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}
.easy-search-site span,.easy-search-menu span{font-size:12px;color:#64748b;line-height:1.4;overflow-wrap:anywhere}
.easy-search-site em{font-size:11px;color:#2563eb;font-style:normal;font-weight:800;white-space:nowrap}
.easy-search-menu{grid-template-columns:34px minmax(0,1fr)}
.easy-search-menu-icon,.easy-quick-icon{
  display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #cbd5e1;border-radius:var(--ui-radius-sm);background:#f8fafc;color:#1e40af;font-weight:900;
}
.easy-search-menu-copy{display:grid;gap:2px;min-width:0}
.easy-search-empty{padding:28px 10px;text-align:center;color:#64748b;font-size:13px}
.easy-search-loading{padding:24px;text-align:center;color:#475569;font-size:13px}

.easy-site-head .easy-site-address{margin-top:3px;font-size:12px;font-weight:700}
.easy-site-now{margin:14px 16px 0;padding:11px 12px;border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:var(--ui-radius-sm);background:#eff6ff;display:grid;gap:3px}
.easy-site-now[hidden]{display:none!important}
.easy-site-now strong{font-size:13px;color:#1e3a8a}
.easy-site-now span{font-size:12px;color:#475569}
.easy-site-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px 16px 10px}
.easy-site-action{
  min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cbd5e1;border-radius:var(--ui-radius);background:#fff;color:#334155;text-decoration:none;font-size:13px;font-weight:900;cursor:pointer;box-sizing:border-box;
}
.easy-site-action.is-primary{background:#2563eb;border-color:#2563eb;color:#fff}
.easy-site-action.is-agency{background:#f0fdf4;border-color:#9bd8ac;color:#166534}
.easy-site-action:hover,.easy-site-action:focus-visible{filter:brightness(.98);outline:none}
.easy-site-more{margin:0 16px 16px;border-top:1px solid #e2e8f0;padding-top:10px}
.easy-site-more>summary{cursor:pointer;list-style:none;color:#64748b;font-size:12px;font-weight:900;text-align:center;padding:6px}
.easy-site-more>summary::-webkit-details-marker{display:none}
.easy-site-more>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:8px}
.easy-site-more a,.easy-site-more button{display:flex;align-items:center;justify-content:center;min-height:var(--ui-control-height-sm);border:1px solid #e2e8f0;border-radius:var(--ui-radius-sm);background:#fff;color:#475569;text-decoration:none;font:inherit;font-size:12px;font-weight:800;cursor:pointer}

.easy-ui-warning{margin:12px 16px;padding:10px 11px;border:1px solid #fed7aa;border-radius:var(--ui-radius-sm);background:#fff7ed;color:#9a3412;font-size:12px;line-height:1.45}
.easy-quick-list{display:grid;gap:6px;padding:12px 16px 8px}
.easy-quick-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:var(--ui-radius);background:#fff;padding:7px 8px}
.easy-quick-row.is-selected{border-color:#93c5fd;background:#f8fbff}
.easy-quick-row label{display:grid;grid-template-columns:24px 30px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;cursor:pointer}
.easy-quick-row label input{width:18px;height:18px;margin:0}
.easy-quick-row b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.easy-quick-row em{font-size:11px;color:#94a3b8;font-style:normal;white-space:nowrap}
.easy-quick-order{display:flex;gap:4px}
.easy-quick-order button{width:32px;height:32px;border:1px solid #cbd5e1;border-radius:var(--ui-radius-xs);background:#fff;color:#475569;font-weight:900;cursor:pointer}
.easy-quick-footer{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1.6fr;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e2e8f0;background:#fff}

.dashboard-easy-search-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:0 0 12px;padding:11px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}
.dashboard-easy-search-open{display:flex;align-items:center;gap:10px;min-width:0;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:#475569;font:inherit}
.dashboard-easy-search-open b{font-size:14px;color:#0f172a}
.dashboard-easy-search-open span{font-size:12px;color:#64748b}
.dashboard-easy-search-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--ui-control-height-xs);height:var(--ui-control-height-xs);border-radius:var(--ui-radius-sm);background:#eff6ff;color:#1d4ed8;font-size:20px;font-weight:900}
.dashboard-quick-card{margin:0 0 14px;padding:12px;border:1px solid #dbe4ef;border-radius:9px;background:#fff}
.dashboard-quick-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.dashboard-quick-head strong{font-size:14px;color:#0f172a}
.dashboard-quick-edit{border:0;background:transparent;color:#2563eb;font-size:12px;font-weight:900;cursor:pointer;padding:5px}
.dashboard-quick-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.dashboard-quick-item{display:grid;grid-template-rows:32px auto;place-items:center;gap:5px;min-width:0;padding:8px 4px;border:1px solid #e2e8f0;border-radius:var(--ui-radius);background:#f8fafc;color:#334155;text-decoration:none;font-size:11px;font-weight:800;text-align:center}
.dashboard-quick-item:hover,.dashboard-quick-item:focus-visible{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;outline:none}
.dashboard-quick-item .easy-quick-icon{width:31px;height:31px;background:#fff}
.dashboard-quick-item span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

html.has-easy-ui-overlay{overflow:hidden}

@media(max-width:760px){
  .topbar-nav-tools{gap:4px}
  .topbar-search-btn{width:38px;height:38px;flex-basis:38px;font-size:21px}
  .easy-search-backdrop,.easy-site-backdrop,.easy-quick-backdrop{place-items:end center;padding:0;background:rgba(15,23,42,.48)}
  .easy-search-sheet,.easy-site-sheet,.easy-quick-sheet{width:100%;max-height:min(88dvh,780px);border-radius:12px 12px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}
  .easy-search-head,.easy-site-head{padding:13px 14px}
  .easy-search-head strong,.easy-site-head strong{font-size:17px}
  .easy-search-input-wrap{margin:10px 12px 7px;min-height:48px}
  .easy-search-results{padding:4px 12px 16px;gap:12px}
  .easy-search-site,.easy-search-menu{min-height:50px;padding:10px}
  .easy-site-actions{padding:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .easy-site-action{min-height:46px}
  .easy-site-more{margin:0 12px 14px}
  .easy-quick-list{padding:10px 12px 8px}
  .easy-quick-row{padding:6px}
  .easy-quick-row label{grid-template-columns:22px 28px minmax(0,1fr)}
  .easy-quick-row em{display:none}
  .dashboard-easy-search-card{margin-bottom:10px;padding:9px 10px}
  .dashboard-easy-search-card>.btn{display:none}
  .dashboard-quick-card{padding:10px}
  .dashboard-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .dashboard-quick-item{padding:7px 3px;font-size:10.5px}
}
@media(max-width:390px){
  .dashboard-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .easy-site-actions{grid-template-columns:1fr 1fr}
}
.drawer-quick-edit{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit;color:#2563eb}
.drawer-quick-menu-group{border-left:3px solid #bfdbfe;padding-left:8px}


/* 빠른메뉴 편집은 좌측 drawer보다 항상 위에서 활성 상태로 보인다. */
.easy-quick-backdrop{z-index:20050;}


/* 2026-08-26 QUICK MENU COLOR/SIZE FINAL
   최근 부분 패치가 이전 31px 규칙을 되살리지 못하도록 이 파일의 최종 규칙으로 고정한다. */
.dashboard-quick-item,
.easy-search-menu,
.easy-quick-row{
  --easy-icon-bg:#eff6ff;
  --easy-icon-fg:#1d4ed8;
  --easy-icon-border:#bfdbfe;
  --easy-icon-hover:#dbeafe;
}
[data-quick-menu-key="site_list"]{--easy-icon-bg:#ecfeff;--easy-icon-fg:#0e7490;--easy-icon-border:#a5f3fc;--easy-icon-hover:#cffafe}
[data-quick-menu-key="inspection_calendar"]{--easy-icon-bg:#eff6ff;--easy-icon-fg:#1d4ed8;--easy-icon-border:#bfdbfe;--easy-icon-hover:#dbeafe}
[data-quick-menu-key="field_records"]{--easy-icon-bg:#f0fdfa;--easy-icon-fg:#0f766e;--easy-icon-border:#99f6e4;--easy-icon-hover:#ccfbf1}
[data-quick-menu-key="work_calendar"],
[data-quick-menu-key="work_progress"]{--easy-icon-bg:#f5f3ff;--easy-icon-fg:#6d28d9;--easy-icon-border:#ddd6fe;--easy-icon-hover:#ede9fe}
[data-quick-menu-key="agency_dashboard"]{--easy-icon-bg:#f0fdf4;--easy-icon-fg:#15803d;--easy-icon-border:#bbf7d0;--easy-icon-hover:#dcfce7}
[data-quick-menu-key="work_diary_list"],
[data-quick-menu-key="work_diary_create"]{--easy-icon-bg:#fffbeb;--easy-icon-fg:#b45309;--easy-icon-border:#fde68a;--easy-icon-hover:#fef3c7}
[data-quick-menu-key="estimate_list"]{--easy-icon-bg:#fff7ed;--easy-icon-fg:#c2410c;--easy-icon-border:#fed7aa;--easy-icon-hover:#ffedd5}
[data-quick-menu-key="material_list"]{--easy-icon-bg:#f7fee7;--easy-icon-fg:#4d7c0f;--easy-icon-border:#d9f99d;--easy-icon-hover:#ecfccb}
[data-quick-menu-key="finance_overdue"]{--easy-icon-bg:#fff1f2;--easy-icon-fg:#be123c;--easy-icon-border:#fecdd3;--easy-icon-hover:#ffe4e6}
[data-quick-menu-key="finance_list"]{--easy-icon-bg:#ecfdf5;--easy-icon-fg:#047857;--easy-icon-border:#a7f3d0;--easy-icon-hover:#d1fae5}
[data-quick-menu-key="sales_dashboard"]{--easy-icon-bg:#fdf2f8;--easy-icon-fg:#be185d;--easy-icon-border:#fbcfe8;--easy-icon-hover:#fce7f3}
[data-quick-menu-key="user_list"]{--easy-icon-bg:#eef2ff;--easy-icon-fg:#4338ca;--easy-icon-border:#c7d2fe;--easy-icon-hover:#e0e7ff}

.easy-search-menu-icon,
.easy-quick-icon{
  border-color:var(--easy-icon-border,#bfdbfe);
  background:var(--easy-icon-bg,#eff6ff);
  color:var(--easy-icon-fg,#1d4ed8);
  transition:background-color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.dashboard-quick-item{
  grid-template-rows:46px auto;
  background:#fff;
  padding-top:9px;
  padding-bottom:9px;
}
.dashboard-quick-item .easy-quick-icon{
  width:44px !important;
  height:var(--ui-control-height) !important;
  min-width:44px;
  min-height:var(--ui-control-height);
  font-size:23px;
  line-height:1;
  background:var(--easy-icon-bg,#eff6ff);
  box-shadow:0 1px 2px rgba(15,23,42,.05);
}
.dashboard-quick-item:hover .easy-quick-icon,
.dashboard-quick-item:focus-visible .easy-quick-icon{
  background:var(--easy-icon-hover,#dbeafe);
  transform:translateY(-1px);
  box-shadow:0 2px 6px rgba(15,23,42,.09);
}
.easy-quick-row .easy-quick-icon,
.easy-search-menu-icon{
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  font-size:20px;
}
.easy-quick-row.is-selected .easy-quick-icon,
.easy-search-menu:hover .easy-search-menu-icon,
.easy-search-menu:focus-visible .easy-search-menu-icon{
  background:var(--easy-icon-hover,#dbeafe);
}
@media(max-width:760px){
  .dashboard-quick-item{grid-template-rows:44px auto;padding:8px 3px}
  .dashboard-quick-item .easy-quick-icon{
    width:42px !important;
    height:var(--ui-control-height) !important;
    min-width:42px;
    min-height:var(--ui-control-height);
    font-size:22px;
  }
}


/* 2026-08-27 MOBILE GLOBAL SEARCH STABILITY
   검색 결과 수나 키보드 높이가 바뀌어도 검색창은 같은 위치를 유지하고
   결과 목록만 독립적으로 스크롤한다. */
.easy-search-results{
  min-height:0;
  overflow-anchor:none;
}

@media(max-width:760px){
  .easy-search-backdrop{
    inset:auto 0 auto 0;
    top:var(--easy-search-viewport-offset-top,0px);
    height:var(--easy-search-viewport-height,100dvh);
    padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));
    display:flex;
    align-items:flex-start;
    justify-content:center;
    overflow:hidden;
  }
  .easy-search-sheet{
    width:100%;
    height:min(720px,100%);
    max-height:100%;
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr);
    overflow:hidden;
    border:1px solid #cbd5e1;
    border-radius:12px;
    padding-bottom:0;
  }
  .easy-search-head{
    position:relative;
    top:auto;
    z-index:2;
    flex:0 0 auto;
  }
  .easy-search-input-wrap{
    position:relative;
    z-index:2;
    flex:0 0 auto;
    background:#fff;
  }
  .easy-search-results{
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    overflow-anchor:none;
    padding-bottom:calc(16px + env(safe-area-inset-bottom));
  }
}
