/* Wah-Kit "My medicines" */
.md { max-width: 820px; display: flex; flex-direction: column; gap: 14px; }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; }
.muted { color: var(--muted); }
.md-signin { text-align: center; padding: 32px 18px; }
.md-signin p { color: var(--ink-soft); max-width: 480px; margin: 10px auto 18px; }
.gbtn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 20px; border: 1px solid #747775; border-radius: 24px; background: #fff; color: #1F1F1F; font: 600 15px var(--font-body); text-decoration: none; }
.md-top { display: flex; gap: 10px; align-items: flex-start; }
.md-people { display: flex; gap: 6px; flex-wrap: wrap; flex: 1; }
.md-pchip { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--surface); font: 700 15px var(--font-body); color: var(--ink); cursor: pointer; }
.md-pchip i { width: 12px; height: 12px; border-radius: 50%; }
.md-pchip.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.md-pchip.add { border-style: dashed; color: var(--ink-soft); font-weight: 600; }
.md-big-b { flex: none; min-height: 40px; min-width: 46px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); font: 800 16px var(--font-body); cursor: pointer; }
.md-big-b[aria-pressed="true"] { background: var(--ink); color: #fff; }
.md-flash { margin: 0; padding: 10px 14px; border-radius: 10px; background: #FEF3C7; color: #7C2D12; font-size: 15px; }
.md-flash.ok { background: #E9F8EE; color: #145A33; }
.md-pbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.md-pbar h2 { margin: 0; font-size: 22px; }
.md-pbar small { color: var(--ink-soft); font-size: 14px; }
.md-day { display: flex; align-items: center; gap: 10px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 6px; }
.md-arrow { width: 44px; height: 44px; border-radius: 10px; border: 0; background: var(--ground); font-size: 16px; cursor: pointer; }
.md-arrow[disabled] { opacity: .35; cursor: default; }
.md-dayt { flex: 1; text-align: center; display: flex; flex-direction: column; }
.md-dayt b { font-size: 18px; }
.md-dayt small { color: var(--muted); font-size: 13px; }
.md-prog { display: flex; flex-direction: column; gap: 6px; }
.md-prog .bar { height: 10px; border-radius: 8px; background: var(--ground); overflow: hidden; }
.md-prog .bar span { display: block; height: 100%; background: #15803D; border-radius: 8px; transition: width .3s; }
.md-prog b { font-size: 15px; }
.md-empty b { font-size: 17px; }
.md-empty p { margin: 6px 0 0; color: var(--ink-soft); }
.md-slot { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.md-slot.done { border-color: #A9DDB9; background: #F6FCF8; }
.md-slot h3 { margin: 2px 4px; font-size: 18px; }
.md-med { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; border-radius: 14px; background: #FAFAFC; border: 1px solid transparent; }
.md-med.late { border-color: #FCA5A5; background: #FFF7F7; }
.md-med.got.taken { background: #EFFAF3; }
.md-med.got.skipped { background: #F4F4F6; }
.md-ic { font-size: 28px; text-align: center; }
.md-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.md-tx b { font-size: 17px; overflow-wrap: anywhere; }
.md-tx span { font-size: 14px; color: var(--ink-soft); }
.md-tx em { font-size: 13.5px; color: var(--muted); }
.md-st { font-size: 13px; font-weight: 700; color: #15803D; }
.md-med.late .md-st { color: #B42318; }
.md-med.skipped .md-st { color: var(--muted); }
.md-acts { display: flex; gap: 6px; align-items: center; }
.md-tick { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 76px; min-height: 52px; border-radius: 14px; border: 2px solid #15803D; background: #fff; color: #15803D; font: 800 14px var(--font-body); cursor: pointer; }
.md-tick span { font-size: 18px; line-height: 1; }
.md-tick:hover { background: #15803D; color: #fff; }
.md-skip, .md-undo { border: 0; background: none; color: var(--ink-soft); text-decoration: underline; font: 14px var(--font-body); cursor: pointer; padding: 6px; }
.md-all { min-height: 46px; border-radius: 12px; border: 0; background: #15803D; color: #fff; font: 800 15px var(--font-body); cursor: pointer; }
.md-add { min-height: 50px; font-size: 16px; }
.md-remind { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 12px 14px; border-radius: 14px; background: #EEF4FF; border: 1px solid #C9DBFB; font-size: 15px; }
.md-tools { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 10px; }
.md-tool { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface); cursor: pointer; text-align: left; font: inherit; color: var(--ink); }
.md-tool:hover { border-color: #C9C7D6; }
.md-tool span { font-size: 24px; }
.md-tool b { font-size: 15px; }
.md-tool small { color: var(--muted); font-size: 13px; }
.md-low { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 14px; border-radius: 14px; background: #FFF7ED; border: 1px solid #FED7AA; font-size: 14.5px; }
.md-low .btn { margin-left: auto; min-height: 38px; }
.md-histbox { display: flex; flex-direction: column; gap: 8px; padding: 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface); }
.md-hist { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 4px; }
.md-hd { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 5px 0; border-radius: 8px; border: 2px solid transparent; background: var(--ground); cursor: pointer; font: 600 13px var(--font-body); color: var(--ink); }
.md-hd small { font-size: 10px; opacity: .7; }
.md-hd.all { background: #BBF7D0; } .md-hd.some { background: #FDE68A; } .md-hd.zero { background: #FECACA; }
.md-hd.sel { border-color: var(--ink); }
.md-key { display: flex; gap: 12px; font-size: 12.5px; color: var(--ink-soft); }
.md-key span::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }
.md-key .all::before { background: #BBF7D0; } .md-key .some::before { background: #FDE68A; } .md-key .zero::before { background: #FECACA; }
.md-list { border: 1px solid var(--line); border-radius: 14px; background: var(--surface); padding: 10px 14px; }
.md-list summary { cursor: pointer; font-weight: 700; }
.md-li { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 8px; align-items: center; width: 100%; text-align: left; padding: 10px 4px; border: 0; border-top: 1px solid var(--line); background: none; font: inherit; color: var(--ink); cursor: pointer; }
.md-li:first-of-type { margin-top: 8px; }
.md-li.off { opacity: .55; }
.md-li span:first-child { font-size: 22px; }
.md-li small { display: block; color: var(--muted); font-size: 13px; }
.md-ed { color: var(--muted); }
.md-note { color: var(--muted); font-size: 13px; margin: 0; }
/* the panel */
html.md-modal { overflow: hidden; }
.md-sheet { position: fixed; inset: 0; z-index: 100; background: rgba(20, 18, 40, .45); display: flex; align-items: flex-start; justify-content: center; padding: 24px 12px; overflow-y: auto; }
.md-sheet-in { width: min(560px, 100%); background: #fff; border-radius: 20px; padding: 18px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 20px 50px rgba(0, 0, 0, .25); }
.md-sheet-h { display: flex; justify-content: space-between; align-items: center; }
.md-sheet-h b { font: 800 19px var(--font-display); }
.md-x { width: 40px; height: 40px; border-radius: 10px; border: 0; background: var(--ground); font-size: 16px; cursor: pointer; }
.md-f { display: flex; flex-direction: column; gap: 5px; font-size: 13px; font-weight: 700; color: var(--ink-soft); min-width: 0; }
.md-f small { font-weight: 400; color: var(--muted); }
.md-f input, .md-f select, .md-sheet-in > select, .md-link { min-height: 46px; border: 1px solid var(--line); border-radius: 10px; padding: 0 12px; font: 16px var(--font-body); color: var(--ink); background: #fff; min-width: 0; width: 100%; box-sizing: border-box; }
.md-lab { font-size: 13px; color: var(--ink-soft); margin-bottom: -6px; }
.md-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.md-three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 10px; }
.md-forms { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.md-forms button { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 2px; border-radius: 12px; border: 1px solid var(--line); background: #fff; font: 600 12px var(--font-body); cursor: pointer; color: var(--ink); }
.md-forms button span { font-size: 22px; }
.md-forms button.on, .md-tchip.on, .md-wd button.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.md-times { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.md-tchip { min-height: 40px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font: 600 14px var(--font-body); cursor: pointer; color: var(--ink); }
.md-tin { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.md-tin input { border: 0; min-height: 38px; padding: 0 6px; font: 15px var(--font-body); }
.md-tin button { border: 0; background: var(--ground); min-height: 38px; width: 32px; cursor: pointer; }
.md-wd { display: flex; gap: 6px; }
.md-wd button { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line); background: #fff; font: 700 14px var(--font-body); cursor: pointer; color: var(--ink); }
.md-inl { display: flex; align-items: center; gap: 6px; font-size: 14px; }
.md-num { width: 80px; min-height: 40px; border: 1px solid var(--line); border-radius: 10px; padding: 0 8px; font: 16px var(--font-body); }
.md-f .md-num { width: 100%; }
.md-course { color: var(--ink-soft); }
.md-stockbox { border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; }
.md-stockbox summary { cursor: pointer; font-weight: 700; font-size: 14px; }
.md-err { margin: 0; color: #B42318; font-size: 14px; }
.md-err:empty { display: none; }
.md-btns { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.md-del { color: #B42318; }
.md-pro { margin: 6px 0 0; padding: 10px 12px; border-radius: 10px; background: #FFF8E1; font-size: 14px; }
.md-chk { display: flex; gap: 8px; align-items: flex-start; font-size: 14.5px; }
.md-chk input { width: 20px; height: 20px; margin: 0; flex: none; }
.md-sws { display: flex; gap: 8px; }
.md-sws button { width: 30px; height: 30px; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 1px var(--line); cursor: pointer; }
.md-sws button.on { box-shadow: 0 0 0 3px var(--ink); }
.md-care { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: 14px; background: #F0FDF4; border: 1px solid #BBF7D0; }
.md-care p { margin: 0; font-size: 14px; color: var(--ink-soft); }
.md-link { font-size: 14px; background: #fff; }
.md-wa { background: #1B7F4A; color: #fff; }
.md-wa:hover { background: #146A3D; color: #fff; }
.linkbtn { border: 0; background: none; padding: 0; color: var(--blue); font: inherit; font-size: 14px; text-decoration: underline; cursor: pointer; text-align: left; }
.linkbtn.danger { color: #B42318; }
/* bigger text for easier reading */
html.md-big .md-tx b { font-size: 21px; } html.md-big .md-tx span { font-size: 17px; } html.md-big .md-slot h3 { font-size: 22px; }
html.md-big .md-tick { min-width: 92px; min-height: 62px; font-size: 16px; } html.md-big .md-ic { font-size: 34px; } html.md-big .md-dayt b { font-size: 22px; }
@media (max-width: 560px) {
  .md-med { grid-template-columns: 34px minmax(0, 1fr); }
  .md-acts { grid-column: 1 / -1; justify-content: flex-end; }
  .md-tick { flex-direction: row; gap: 6px; min-height: 48px; flex: 1; }
  .md-two { grid-template-columns: 1fr; }
  .md-three { grid-template-columns: 1fr 1fr; }
  .md-sheet { padding: 0; align-items: flex-end; }
  .md-sheet-in { border-radius: 20px 20px 0 0; max-height: 92vh; overflow-y: auto; padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
  .md-hd { font-size: 11px; }
  .md-tools { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .md-tool { padding: 10px 8px; align-items: center; text-align: center; }
  .md-tool b { font-size: 13px; }
  .md-tool small { font-size: 11px; }
}
