#login-screen{position:fixed;inset:0;background:var(--bg);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:20px;}
#login-screen.hidden{display:none;}
.lg-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.35);padding:36px 32px;width:min(400px,calc(100vw - 40px));overflow:hidden;}
@media(max-width:400px){.lg-card{padding:28px 20px;}}
.lg-logo{font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.5px;}
.lg-logo span{color:var(--accent);}
.lg-sub{font-size:13px;color:var(--muted);margin:4px 0 24px;}
.lg-notice{background:rgba(43,94,163,.08);border:1px solid var(--accent);border-radius:10px;padding:12px 14px;margin-bottom:18px;font-size:12.5px;line-height:1.6;color:var(--text);}
.lg-notice b{color:var(--accent);}
.lg-notice > b:first-child{display:block;margin-bottom:4px;color:var(--text);font-size:13px;}
.lg-tabs{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:3px;margin-bottom:20px;}
.lg-tab{flex:1;padding:8px;border:none;background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;border-radius:8px;font-family:inherit;transition:.15s;}
.lg-tab.active{background:var(--accent);color:#fff;}
.lg-field{margin-bottom:14px;}
.lg-field label{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:6px;}
.lg-field input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:11px 13px;color:var(--text);font-family:inherit;font-size:14px;outline:none;transition:.15s;}
.lg-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(43,94,163,.25);}
.pw-wrap{position:relative;}
.pw-wrap input{padding-right:40px;}
.pw-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;font-size:16px;color:var(--muted);line-height:1;padding:10px 8px;min-width:44px;min-height:44px;transition:.15s;display:flex;align-items:center;justify-content:center;}
.pw-eye:hover{color:var(--text);}
.lg-btn{width:100%;padding:13px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:6px;transition:.15s;}
.lg-btn:hover{filter:brightness(1.08);}
#lg-msg{font-size:12.5px;text-align:center;margin-top:14px;min-height:18px;color:var(--muted);}
#lg-msg.err{color:var(--danger);}
#lg-msg.ok{color:var(--success);}
.pw-ov{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:20px;}
.pw-ov.open{display:flex;}
.pw-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;width:min(380px,94vw);box-shadow:0 20px 60px rgba(0,0,0,.4);}
.pw-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.pw-head h3{font-size:16px;font-weight:700;color:var(--text);}
.pw-x{background:transparent;border:none;color:var(--muted);font-size:16px;cursor:pointer;line-height:1;}
#master-form-modal.is-nested {
  z-index: 1050 !important;
  background: rgba(0, 0, 0, .58) !important;
  backdrop-filter: blur(2px) !important;
}
#m2-picker-modal.is-setitem-picker,
#m2-picker-modal.is-template-picker {
  z-index: 1100 !important;
  background: rgba(0, 0, 0, .58) !important;
  backdrop-filter: blur(2px) !important;
}
@media (max-width: 640px) {
  #master-form-body {
    grid-template-columns: 1fr !important;
  }
}

/* ── 모던 데이트피커 ── */
.dp-input{cursor:pointer;background-image:none;}
.dp-input::placeholder{color:var(--muted);}
.dp-pop{position:fixed;z-index:var(--z-popover);background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.28);padding:14px;width:300px;user-select:none;}
.dp-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.dp-hd .dp-my{font-size:14px;font-weight:700;color:var(--text);cursor:pointer;border-radius:6px;padding:2px 6px;transition:.15s;}
.dp-hd .dp-my:hover{color:var(--accent);background:rgba(43,94,163,.1);}
.dp-nav{background:transparent;border:1px solid var(--border);color:var(--text);width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.15s;font-family:inherit;}
.dp-nav:hover{border-color:var(--accent);color:var(--accent);background:rgba(43,94,163,.1);}
.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.dp-wd{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding:4px 0;}
.dp-wd.sun{color:var(--danger);}
.dp-wd.sat{color:var(--accent2);}
.dp-day{aspect-ratio:1;border:none;background:transparent;color:var(--text);border-radius:9px;font-size:13px;cursor:pointer;font-family:inherit;transition:.12s;display:flex;align-items:center;justify-content:center;padding:0;}
.dp-day:hover:not(:disabled){background:rgba(43,94,163,.16);}
.dp-day:disabled{color:var(--muted);opacity:.3;cursor:default;}
.dp-day.today{outline:1.5px solid var(--accent);outline-offset:-1.5px;}
.dp-day.sel{background:var(--accent);color:#fff;font-weight:700;}
.dp-day.sun{color:var(--danger);}
.dp-day.sat{color:var(--accent2);}
.dp-day.sel.sun,.dp-day.sel.sat{color:#fff;}
.dp-foot{display:flex;justify-content:space-between;margin-top:10px;gap:8px;}
.dp-foot button{flex:1;padding:7px;border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:8px;font-size:12px;cursor:pointer;font-family:inherit;transition:.15s;}
.dp-foot button:hover{border-color:var(--accent);color:var(--accent);}
.dp-time{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:12px;color:var(--muted);}
.dp-time select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:7px;padding:5px 7px;font-family:inherit;font-size:13px;cursor:pointer;}
.dp-time b{color:var(--muted);}
.dp-time .dp-ok{margin-left:auto;padding:6px 14px;background:var(--accent);color:#fff;border:none;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
.dp-time .dp-ok:hover{filter:brightness(1.08);}

/* ── 기간(범위) 드래그 달력 피커 — 기존 .dp-* 스타일 재사용 + 범위 하이라이트만 추가 ── */
.dr-input{background-image:none;}
.dr-input::placeholder{color:var(--muted);}
.dr-pop{position:fixed;z-index:var(--z-popover);background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.28);padding:14px;width:300px;user-select:none;}
.dr-pop .dp-day.in-range{background:rgba(43,94,163,.16);border-radius:0;}
.dr-pop .dp-day.range-start{background:var(--accent);color:#fff;font-weight:700;border-radius:9px 0 0 9px;}
.dr-pop .dp-day.range-end{background:var(--accent);color:#fff;font-weight:700;border-radius:0 9px 9px 0;}
.dr-pop .dp-day.range-start.range-end{border-radius:9px;}
.dr-pop .dr-hint{font-size:11px;color:var(--muted);text-align:center;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border);}
