:root{
  --bg:#f4f7fb;
  --surface:#fffefe;
  --surface-2:#f4f7fb;
  --ink:#14233a;
  --muted:#748196;
  --accent:#68a9e6;
  --accent-dark:#347fbd;
  --accent-soft:#e2f0fb;
  --accent-rgb:104,169,230;
  --secondary-soft:#f8e5eb;
  --blue:#dcecff;
  --rose:#f5dfe6;
  --sand:#eee6d8;
  --line:#e2e8f0;
  --danger:#aa4b40;
  --shadow:0 16px 42px rgba(37,74,116,.09);
  --radius:24px
}
html[data-theme="pink"]{
  --bg:#fff5f7;
  --surface:#fffdfd;
  --surface-2:#fff7f8;
  --ink:#3a2028;
  --muted:#8f7780;
  --accent:#e27a98;
  --accent-dark:#b95473;
  --accent-soft:#fde6ed;
  --accent-rgb:226,122,152;
  --secondary-soft:#e8f2fb;
  --line:#f0dfe4;
  --shadow:0 16px 42px rgba(122,54,76,.09);
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:
  radial-gradient(circle at 0 -10%,rgba(var(--accent-rgb),.18),transparent 33%),
  radial-gradient(circle at 105% 12%,rgba(var(--accent-rgb),.10),transparent 28%),
  var(--bg);min-height:100vh}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app-shell{max-width:620px;margin:0 auto;padding:24px 16px 38px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:8px 4px 18px}
.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--accent-dark)}
.topbar h1,.section-title h2,.modal h2,.alarm-modal h2{font-family:Georgia,"Times New Roman",serif}
.topbar h1{font-size:34px;line-height:1;margin:5px 0 8px}
.topbar p{font-size:13px;color:var(--muted);margin:0;max-width:410px;line-height:1.5}
.icon-button,.close-button,.bare-button{border:0;background:transparent}
.icon-button{width:46px;height:46px;border-radius:50%;background:var(--accent-soft);font-size:20px;flex:0 0 auto}
.card{background:rgba(255,253,249,.95);border:1px solid rgba(229,225,216,.96);box-shadow:var(--shadow);border-radius:var(--radius)}
.hero{min-height:130px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:16px;overflow:hidden;position:relative}
.hero:after{content:"";width:150px;height:150px;border-radius:50%;position:absolute;right:-60px;top:-70px;background:rgba(var(--accent-rgb),.12)}
.hero-kicker{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--accent-dark)}
.hero h2{font-family:Georgia,serif;font-size:25px;margin:7px 0 5px}
.hero p{margin:0;color:var(--muted);font-size:13px}
.hero-orb{width:60px;height:60px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;font-size:25px;flex:0 0 auto}
.view-switch{display:grid;grid-template-columns:repeat(3,1fr);padding:5px;background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:17px;margin:15px 0}
.view-switch button{border:0;background:transparent;padding:11px;border-radius:13px;color:#5e655f}
.view-switch .active{background:var(--accent);color:#fff;box-shadow:0 7px 18px rgba(var(--accent-rgb),.24)}
.calendar{padding:18px 15px}
.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}
.calendar-head strong{font-family:Georgia,serif;font-size:21px}
.bare-button{font-size:28px;width:38px;height:38px;border-radius:12px}
.bare-button:hover{background:var(--surface-2)}
.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.weekdays{font-size:11px;color:var(--muted);margin-bottom:8px}
.day-button{position:relative;border:1px solid transparent;background:transparent;border-radius:14px;min-height:50px;padding:7px 3px 12px;color:var(--ink)}
.day-button.out{color:#c5c6c2}
.day-button.has-events:not(.today){background:#f7f8f5;border-color:#e7ede5}
.day-button.selected:not(.today){outline:2px solid rgba(var(--accent-rgb),.35)}
.day-button.today{background:var(--accent);color:white}
.event-dots{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);display:flex;gap:3px}
.event-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}
.today .event-dot{background:#fff}
.section{margin-top:22px}
.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin:0 4px 11px;gap:15px}
.section-title h2{font-size:24px;margin:4px 0 0}
.section-title>span{font-size:12px;color:var(--muted);white-space:nowrap}
.quick-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(98px,1fr);gap:9px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}
.quick-row::-webkit-scrollbar{display:none}
.quick-card{border:1px solid var(--line);background:var(--surface);min-height:92px;border-radius:18px;padding:13px 9px;box-shadow:0 6px 18px rgba(49,61,51,.04)}
.quick-card:nth-child(even){background:var(--accent-soft)}
.quick-card b{display:block;font-size:23px;margin-bottom:7px}
.quick-card span{font-size:12px}
.notify-card{margin-top:14px;padding:14px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px}
.notify-icon{width:42px;height:42px;border-radius:14px;background:var(--accent-soft);display:grid;place-items:center}
.notify-copy strong,.notify-copy span{display:block}
.notify-copy strong{font-size:14px;margin-bottom:3px}
.notify-copy span{font-size:11.5px;color:var(--muted);line-height:1.3}
.small-primary,.primary-button,.add-button{border:0;background:var(--accent);color:#fff}
.small-primary{padding:10px 12px;border-radius:12px;font-size:12px}
.treatment-list{display:flex;flex-direction:column;gap:9px}
.treatment{padding:12px;display:grid;grid-template-columns:50px 1fr auto;gap:11px;align-items:center}
.treatment-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:24px;background:var(--accent-soft)}
.treatment:nth-child(2n) .treatment-icon{background:var(--rose)}
.treatment:nth-child(3n) .treatment-icon{background:var(--blue)}
.treatment:nth-child(4n) .treatment-icon{background:var(--sand)}
.treatment h3{font-size:15px;margin:0 0 4px}
.treatment p{font-size:12px;color:var(--muted);margin:0;line-height:1.35}
.treatment-actions{display:flex;gap:7px}
.round-button{width:37px;height:37px;border-radius:50%;border:1px solid var(--line);background:#fff}
.round-button.completed{background:var(--accent);border-color:var(--accent);color:#fff}
.empty-state{text-align:center;padding:26px 18px;color:var(--muted);font-size:13px}
.empty-state b{display:block;color:var(--ink);font-family:Georgia,serif;font-size:19px;margin-bottom:5px}
.add-button{width:100%;border-radius:18px;padding:16px;margin-top:11px;font-size:16px;box-shadow:0 10px 26px rgba(var(--accent-rgb),.25)}
dialog{border:0;border-radius:27px;padding:0;max-width:520px;width:calc(100% - 26px);background:var(--surface);box-shadow:0 30px 80px rgba(26,35,28,.28)}
dialog::backdrop{background:rgba(25,31,27,.4);backdrop-filter:blur(4px)}
.modal{padding:21px}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}
.modal-head h2{font-size:26px;margin:4px 0 0}
.close-button{width:37px;height:37px;border-radius:50%;background:#eee9e1}
label{display:block;font-size:11px;font-weight:700;color:#59615b;margin:12px 0 6px}
input,select,textarea{width:100%;border:1px solid #dedbd3;background:#fff;border-radius:14px;padding:12px 13px;outline:none;color:var(--ink)}
textarea{min-height:82px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.13)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.weekday-picker{display:flex;flex-wrap:wrap;gap:6px}
.weekday-picker label{margin:0}
.weekday-picker input{display:none}
.weekday-picker span{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:11px}
.weekday-picker input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}
.toggle-row{display:flex;gap:10px;align-items:center;padding:11px 0;margin:7px 0}
.toggle-row input{width:auto;transform:scale(1.18)}
.toggle-row span strong,.toggle-row span small{display:block}
.toggle-row span small{font-weight:400;color:var(--muted);margin-top:2px}
.primary-button,.secondary-button,.danger-button,.file-button{border-radius:15px;padding:13px 15px}
.primary-button{width:100%}
.secondary-button{border:1px solid var(--line);background:#f0ece5;color:var(--ink)}
.danger-button{width:100%;border:1px solid #eed7d3;background:#fff1ef;color:var(--danger);margin-top:8px}
.alarm-modal{padding:28px;text-align:center}
.alarm-badge{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);font-size:36px;margin:0 auto 14px}
.alarm-modal h2{font-size:31px;margin:6px 0 7px}
.alarm-modal p{color:var(--muted);line-height:1.5;margin:0 0 21px}
.alarm-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.alarm-actions .primary-button{width:auto}
.settings-block{padding:14px 0;border-top:1px solid var(--line)}
.settings-block:first-of-type{border-top:0}
.settings-block>strong{font-size:14px}
.settings-block p{font-size:12px;line-height:1.45;color:var(--muted);margin:5px 0 8px}
.status-box{font-size:11.5px;color:var(--muted);padding:10px 11px;border-radius:12px;background:var(--surface-2);margin-top:8px}
.status-box.ok{background:#edf5eb;color:#45604a}
.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.file-button{border:1px solid var(--line);background:#f0ece5;text-align:center;margin:0;font-size:13px;font-weight:500}
.file-button input{display:none}
.full{width:100%;margin-top:4px}
.muted{font-weight:400;color:var(--muted)}
.toast{position:fixed;z-index:99;left:50%;bottom:24px;transform:translate(-50%,16px);opacity:0;pointer-events:none;background:#1f2921;color:#fff;padding:10px 14px;border-radius:13px;font-size:12px;box-shadow:0 12px 30px rgba(0,0,0,.16);transition:.2s;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

.theme-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}
.theme-choice{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:15px;padding:12px 13px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:650}
.theme-choice.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.10)}
.theme-swatch{width:18px;height:18px;border-radius:50%;display:inline-block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.theme-swatch.blue{background:#68a9e6}
.theme-swatch.pink{background:#e27a98}
@media(max-width:390px){
  .app-shell{padding-left:12px;padding-right:12px}.topbar h1{font-size:30px}.calendar{padding-left:10px;padding-right:10px}.day-button{min-height:45px}.notify-card{grid-template-columns:40px 1fr}.notify-card .small-primary{grid-column:1/-1}.two-col{grid-template-columns:1fr}
}
