/* /css/base.css - 核心變數與排版基底 */
:root {
  --done-bg: #E5E7EB; --done-br: #111111; --done-tx: #4B5563;
  --active-bg: #2C5282; --active-br: #111111; --active-tx: #FFFFFF;
  --pend-bg: repeating-linear-gradient(45deg, #ffffff, #ffffff 4px, #E5E7EB 4px, #E5E7EB 8px); 
  --pend-br: #111111; --pend-tx: #111111;
  --imp-outline: #C53030; --ms: #111111; --today: #E53E3E;
  --grp-bg: #F3F4F6; --grp-tx: #111111; --grp-br: #111111;
  --yr-bg: #FFFFFF; --yr-tx: #111111;
  --mon-bg: #FAFAFA; --mon-tx: #333333;
  --wk-bg: #FFFFFF; --wk-tx: #555555;
  --border: #E5E7EB; --border-dark: #9CA3AF; 
  --bg: #FFFFFF; --bg2: #F9FAFB;
  --text: #111111; --text2: #4B5563; --text3: #9CA3AF;
  --r: 0px; 
  --lny-bg: #FFF2F2; --lny-br: #FC8181; --lny-tx: #C53030;
  --font: 'Noto Sans TC', '微軟正黑體', sans-serif;
  --font-mono: 'Roboto Mono', Consolas, monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { font-family: var(--font); color: var(--text); background: var(--bg); font-size: 13px; line-height: 1.4; }
.wrap { max-width: 1700px; margin: 0 auto; padding: .9rem 1.1rem 1.5rem; }

/* 頁首通用架構 */
.page-hdr { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; padding-bottom: .8rem; border-bottom: 1.5px solid #111; margin-bottom: .8rem; flex-wrap: wrap; }
.title-area { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sub { font-size: 11px; color: var(--text3); margin-top: 2px; font-family: var(--font-mono); }
.hdr-btns { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }

/* 通用輸入框重置 */
select, input[type=text], input[type=number], input[type=date] { 
  font-family: var(--font); font-size: 12px; padding: 4px 7px; 
  border: 1px solid var(--border-dark); border-radius: var(--r); 
  background: var(--bg); color: var(--text); transition: outline 0.1s; 
}
select:focus, input:focus { outline: 1px solid #111; border-color: #111; }
input[type=date] { font-family: var(--font-mono); }