/* Personal schedule only: shared admin and other feature styles stay independent. */
#schedulePage {
  --pf-brown:#482600;
  --pf-brown-light:#71441e;
  --pf-cream:#f4d6a6;
  --pf-bg:#fff5e6;
  --pf-yellow:#eeaa20;
  --pf-card:#f9e4c3;
  background:var(--pf-bg); color:var(--pf-brown);
}
#schedulePage .schedule-page-inner { width:100%; max-width:480px; margin:0 auto; padding:22px 15px 40px; }
#schedulePage .schedule-page-header { position:relative; display:flex; align-items:center; justify-content:center; min-height:48px; margin:0 0 24px; padding:0 46px; text-align:center; }
#schedulePage .schedule-page-header h1 { margin:0; font-size:20px; line-height:28px; }
#schedulePage .schedule-page-header p { margin:0 0 4px; font-size:11px; color:var(--pf-brown-light); }
#schedulePage .schedule-back-btn { position:absolute; left:0; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:var(--pf-cream); color:var(--pf-brown); font-size:20px; }
#schedulePage .schedule-month-card { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px; padding:18px 14px; border:1px solid #dfb77e; border-radius:20px; background:linear-gradient(125deg,#fff,var(--pf-cream)); box-shadow:none; }
#schedulePage .schedule-month-card > div { text-align:center; }
#schedulePage .schedule-month-card span { display:block; margin:0 0 6px; font-size:11px; letter-spacing:0; color:var(--pf-brown-light); }
#schedulePage #scheduleMonthTitle { display:block; font-size:20px; line-height:28px; color:var(--pf-brown); }
#schedulePage .schedule-month-arrow { flex:0 0 34px; width:34px; height:34px; padding:0; border:0; border-radius:50%; background:white; color:var(--pf-brown); font-size:25px; line-height:30px; }
#schedulePage .schedule-month-arrow:disabled { opacity:.35; cursor:default; }
#schedulePage .schedule-summary-card { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 24px; padding:0; background:transparent; border:0; box-shadow:none; }
#schedulePage .schedule-summary-card > div { display:block; padding:16px; border:1px solid #dfb77e; border-radius:18px; background:white; }
#schedulePage .schedule-summary-card > div:first-child { background:var(--pf-cream); }
#schedulePage .schedule-summary-card > div:last-child { background:#fff0d9; }
#schedulePage .schedule-summary-card span { display:block; margin-bottom:8px; color:var(--pf-brown-light); font-size:12px; }
#schedulePage .schedule-summary-card strong { display:inline; font-size:28px; line-height:32px; color:var(--pf-brown); }
#schedulePage .schedule-summary-card small { margin-left:4px; color:var(--pf-brown-light); font-size:12px; }
#schedulePage .schedule-list-heading { margin:0 0 10px; }
#schedulePage .schedule-list-heading p { display:none; }
#schedulePage .schedule-list-heading h2 { margin:0; font-size:16px; }
#schedulePage .schedule-list-heading + p { margin:0 0 16px; padding:12px; border-radius:12px; background:#f9e4c3; font-size:12px; line-height:20px; color:var(--pf-brown-light); }
#schedulePage .schedule-view-switch { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:0 0 16px; padding:5px; background:var(--pf-cream); border-radius:28px; }
#schedulePage .schedule-view-switch button { min-width:0; min-height:36px; padding:8px 12px; border:0; border-radius:24px; background:transparent; color:var(--pf-brown-light); font-size:12px; font-weight:700; }
#schedulePage .schedule-view-switch button[aria-pressed="true"] { background:var(--pf-yellow); color:var(--pf-brown); box-shadow:none; }
#schedulePage .schedule-list { display:grid; gap:12px; }
#schedulePage .schedule-list.hidden { display:none; }
#schedulePage .schedule-item { display:flex; align-items:center; gap:14px; margin:0; padding:16px; border:1px solid #dfb77e; border-radius:20px; background:#fff; box-shadow:none; }
#schedulePage .schedule-date-box { flex:0 0 60px; width:60px; min-width:0; padding:12px 4px; border:0; border-radius:14px; background:var(--pf-cream); text-align:center; }
#schedulePage .schedule-date-box strong { font-size:19px; line-height:26px; color:var(--pf-brown); }
#schedulePage .schedule-date-box span { display:block; margin-top:3px; font-size:11px; color:var(--pf-brown-light); }
#schedulePage .schedule-item-info { min-width:0; flex:1; }
#schedulePage .schedule-work-label { display:inline-block; margin:0 0 7px; padding:3px 9px; border-radius:20px; background:var(--pf-yellow); color:var(--pf-brown); font-size:11px; line-height:16px; }
#schedulePage .schedule-item-info > strong { display:block; margin:0; font-size:12px; color:var(--pf-brown); }
#schedulePage .schedule-item-info p { margin:5px 0 0; font-size:12px; line-height:20px; color:var(--pf-brown-light); overflow-wrap:anywhere; }
#schedulePage .schedule-item.off-day { background:#fffdf9; border-color:#dfc6a5; }
#schedulePage .schedule-item:not(.off-day) { background:linear-gradient(125deg,#fff8ed,#f9e4c3); }
#schedulePage .off-day .schedule-date-box { background:#ecddca; }
#schedulePage .off-day .schedule-work-label { background:#ecddca; color:var(--pf-brown-light); }
#schedulePage .no-results { margin:0; padding:28px 16px; border:1px dashed #d9ba91; border-radius:20px; background:white; text-align:center; font-size:12px; line-height:20px; color:var(--pf-brown-light); }
#schedulePage #scheduleTablePanel > p { margin:0 0 10px; font-size:11px; line-height:19px; color:var(--pf-brown-light); }
#schedulePage .schedule-matrix-scroll { border:1px solid #dfb77e; border-radius:16px; background:white; overscroll-behavior-x:contain; }
#schedulePage .schedule-matrix { font-size:12px; color:var(--pf-brown); }
#schedulePage .schedule-matrix caption { padding:14px; font-size:13px; color:var(--pf-brown); }
#schedulePage .schedule-matrix :is(th,td) { border-color:#dfc6a5; padding:12px 8px; }
#schedulePage .schedule-matrix th { background:#f9e4c3; }
#schedulePage .schedule-matrix tbody th { background:#fffaF3; }
#schedulePage .schedule-matrix .schedule-weekend { color:#a36a36; }
#schedulePage .schedule-matrix .schedule-off { background:#ecddca; color:var(--pf-brown-light); }
#schedulePage .schedule-matrix .schedule-self-row > * { border-top:2px solid var(--pf-yellow); border-bottom:2px solid var(--pf-yellow); }
#schedulePage .schedule-matrix tr > th:first-child { box-shadow:1px 0 #d9ba91; }
#schedulePage .schedule-change-log { margin:24px 0 0; padding:0; border:1px solid #dfb77e; border-radius:20px; background:white; overflow:hidden; }
#schedulePage .schedule-change-log summary { display:flex; align-items:center; gap:10px; padding:16px; color:var(--pf-brown); font-size:14px; font-weight:700; cursor:pointer; list-style:none; }
#schedulePage .schedule-change-log summary > span:last-child { margin-left:auto; padding:4px 9px; border-radius:20px; background:var(--pf-cream); color:var(--pf-brown-light); font-size:11px; }
#schedulePage .schedule-change-log summary::after { content:'⌄'; color:var(--pf-brown-light); }
#schedulePage .schedule-change-log[open] summary::after { transform:rotate(180deg); }
#schedulePage .schedule-change-history { margin:0; padding:0 16px 16px; }
#schedulePage .schedule-change-item { margin:0 0 12px; padding:12px; border:1px solid #dfc6a5; border-left:3px solid var(--pf-yellow); border-radius:12px; background:var(--pf-bg); overflow-wrap:anywhere; }
#schedulePage .schedule-change-item:last-child { margin-bottom:0; }
#schedulePage .schedule-change-history p { margin:0 0 8px; font-size:12px; line-height:20px; color:var(--pf-brown-light); }
#schedulePage .schedule-change-history small { font-size:11px; line-height:18px; color:var(--pf-brown-light); }
#schedulePage .schedule-change-item strong { display:inline; font-size:12px; }
#schedulePage :is(button,summary,.schedule-matrix-scroll):focus-visible { outline:2px solid var(--pf-brown); outline-offset:2px; }
