/* 自製日期／年月選擇器（tct-datepicker.js）。按鈕沿用頁面自己的 .in 樣式，這裡只補版面與彈出月曆。 */
.tdp{display:block;width:100%}
/* 頁面沒有替按鈕設 .in 樣式時（例如 fill.html 只寫 input.in）的底：權重 0，頁面自己的 .in 會蓋過去 */
:where(.tdp-btn){font:inherit;font-size:17px;min-height:46px;padding:10px 12px;border:1px solid var(--line,#E4DCC9);border-radius:10px;background:#fff;color:var(--ink,#2B2E29)}
.tdp-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;cursor:pointer;font-weight:500;font-variant-numeric:tabular-nums}
.tdp-btn.empty{color:var(--tct-ink-3,#8A8F82);font-weight:400}
.tdp-btn:disabled{cursor:not-allowed}
.tdp-btn.bad{border-color:var(--tct-danger,#B24B3C);background:var(--tct-danger-soft,#F7E7E3)}
.tdp-caret{color:var(--tct-ink-3,#8A8F82);font-size:14px}
.tdp-back{position:fixed;inset:0;z-index:149;background:transparent}
.tdp-back.sheet{background:rgba(43,46,41,.45)}
.tdp-pop{position:fixed;z-index:150;width:320px;background:#fff;border:1px solid var(--tct-line,#E4DCC9);border-radius:14px;
  box-shadow:0 8px 28px rgba(43,46,41,.18);padding:12px;font-family:var(--tct-font,"Noto Sans TC",sans-serif);font-size:16px;color:var(--tct-ink,#2B2E29)}
.tdp-pop.sheet{left:0;right:0;bottom:0;top:auto;width:auto;border-radius:18px 18px 0 0;padding:16px 20px calc(16px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto}
.tdp-title{font-weight:500;color:var(--tct-green-dark,#46603F);margin:0 0 10px;font-size:17px}
.tdp-head{display:flex;align-items:center;gap:6px;margin:0 0 10px}
.tdp-head select{flex:1;min-width:0;font:16px var(--tct-font,"Noto Sans TC",sans-serif);height:40px;padding:0 8px;border:1px solid var(--tct-line,#E4DCC9);border-radius:9px;background:#fff;color:inherit}
.tdp-nav{flex:none;width:40px;height:40px;border-radius:9px;border:1px solid var(--tct-line,#E4DCC9);background:#fff;font-size:20px;line-height:1;color:var(--tct-ink-2,#5E635A);cursor:pointer}
.tdp-week{display:grid;grid-template-columns:repeat(7,1fr);font-size:15px;color:var(--tct-ink-3,#8A8F82);text-align:center;margin:0 0 4px}
.tdp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.tdp-months{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.tdp-cell{height:40px;border-radius:9px;border:1px solid transparent;background:none;font:16px var(--tct-font,"Noto Sans TC",sans-serif);color:inherit;cursor:pointer;padding:0}
.tdp-months .tdp-cell{height:46px;border-color:var(--tct-line,#E4DCC9)}
.tdp-pop.sheet .tdp-cell{height:46px}
.tdp-cell:hover:not(:disabled){background:var(--tct-green-soft,#EDF1EA)}
.tdp-cell:disabled{color:#C9C5BA;cursor:not-allowed}
.tdp-cell.blank{visibility:hidden}
.tdp-cell.today{border-color:var(--tct-green,#577B53);color:var(--tct-green-dark,#46603F);font-weight:700}
.tdp-cell.sel,.tdp-cell.sel:hover{background:var(--tct-green,#577B53);border-color:var(--tct-green,#577B53);color:#fff;font-weight:700}
.tdp-foot{display:flex;gap:8px;justify-content:space-between;margin:12px 0 0}
.tdp-act{flex:1;min-height:42px;border-radius:9px;border:1px solid var(--tct-line,#E4DCC9);background:#fff;font:16px var(--tct-font,"Noto Sans TC",sans-serif);color:var(--tct-ink-2,#5E635A);cursor:pointer}
.tdp-act.pri{border-color:var(--tct-green,#577B53);color:var(--tct-green-dark,#46603F);font-weight:500}
.tdp-pop :focus-visible{outline:2px solid var(--tct-green,#577B53);outline-offset:1px}
