/* Coral glass: opaque record surfaces, translucent navigation. */
:root{--bg:#f8f7fc;--paper:#ffffff;--ink:#37364b;--muted:#74738b;--green:#7066a5;--pale:#eeebfa;--line:#e7e3f0;--rose:#b27699;--rosep:#faf0f5;--shadow:0 8px 28px #683d4210}
body{background:radial-gradient(ellipse at 5% 0%,#e8e1fa80,transparent 48%),radial-gradient(ellipse at 100% 35%,#dff1ef80,transparent 45%),var(--bg);background-attachment:fixed}
header{border-bottom:0;padding:25px 0 15px}.brand{font-size:21px;font-weight:750}.brand-sub{color:var(--green)}.private-label{font-size:11px;background:#ffffffa8;border:1px solid #fff;padding:6px 10px;border-radius:30px}
main{padding-top:22px}.intro{margin-bottom:25px}h1{font-size:29px;letter-spacing:-1px}h2{font-size:17px}.intro .muted{line-height:1.7}
.card{border:1px solid #ffffff;border-radius:25px;box-shadow:var(--shadow);padding:24px;background:var(--paper)}
.hero{border:1px solid #fff;background:linear-gradient(125deg,#fcfbff 5%,#eee8fb 100%);box-shadow:0 12px 35px #a4595f14;color:var(--ink)}.hero-number{font-size:32px;letter-spacing:-1px;font-weight:750;margin:10px 0}.hero .eyebrow{color:#7a7097}.hero .hint{color:#767087}.hero:after{display:none}
button{border-radius:15px;background:#fefeff;transition:background .15s,box-shadow .15s,transform .15s}button:active{transform:scale(.98)}button:hover{background:#f2effa}button:focus-visible,a:focus-visible{outline-color:#7066a5}
.primary,.hero .primary{border-radius:17px;background:linear-gradient(150deg,#9c91cc,#7066a5);color:#fff;min-height:50px;box-shadow:inset 0 1px 0 #ffffff30,0 5px 12px #a44a5820;font-size:15px}.primary:hover,.hero .primary:hover{background:#8173b5}.hero .primary{margin-top:18px}
.datebar button{background:#ffffffb8;border-color:#fff;box-shadow:0 2px 8px #683d4207}.datebar .bulk-trigger{color:var(--green)}
input,select,textarea{background:#fefeff;border-color:var(--line);border-radius:13px}input:focus,select:focus,textarea:focus{outline:2px solid #b9aedb;outline-offset:2px}.datebar input{background:#ffffffcc}
.badge{border-radius:20px;padding:4px 10px}.entry-icon{border-radius:12px;width:35px;height:35px}.entry{padding:17px 0}.entry-body p{line-height:1.7}.empty{padding:20px 0;color:var(--muted)}
.segmented,.bleed-options{gap:8px}.segmented button,.bleed-options button{border-radius:13px;min-height:47px}.segmented button.selected{background:var(--pale);border-color:#beb2e1}.bleed-options button.selected{border-color:#d8b5ce}.bleed-dot{margin-bottom:7px}.notice{background:#f0edf8;color:#746b88;border-radius:14px;line-height:1.7}
nav{bottom:calc(12px + env(safe-area-inset-bottom));width:min(440px,calc(100% - 28px));border:1px solid #ffffffdb;border-radius:29px;background:#fcfbffe8;padding:7px;box-shadow:inset 0 1px 0 #fff,0 9px 35px #683d4220;gap:4px;-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%)}
nav button{border-radius:22px;min-height:56px;font-size:11px;gap:4px;color:#7a768c}nav button.active{background:linear-gradient(145deg,#ffffffeb,#e9e3f8cc);color:#7263a1;box-shadow:inset 0 1px 0 #fff,0 2px 7px #75424a0d}nav button svg{stroke-width:1.8}nav button:hover{background:#efebf8}
dialog{background:#fefeff;border-color:#fff;border-radius:27px;padding:25px;box-shadow:0 24px 80px #3e242b30}dialog::backdrop{background:#38262f45;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.close{border-radius:50%;background:#f1eef8;font-size:23px}.stat{border-radius:18px;background:#f0ecf9}.stat strong{color:var(--green);font-size:28px}.day{border-radius:13px}.day.today{background:#eee9fa}.calendar-head button{border-radius:50%}.footnote{color:#827d91}#toast{bottom:calc(105px + env(safe-area-inset-bottom));background:#49435e;border-radius:18px}main{padding-bottom:calc(125px + env(safe-area-inset-bottom))}
@media(max-width:620px){.shell{padding:0 18px}header{padding:20px 0 10px}h1{font-size:27px}.card{padding:20px;border-radius:23px}.hero-number{font-size:29px}.datebar{margin-bottom:20px}.private-label{font-size:10px;padding:5px 8px}.bleed-options{grid-template-columns:repeat(3,minmax(0,1fr))}.stat strong{font-size:25px}dialog{padding:21px}.day{border-radius:11px}}
@media(max-width:350px){.shell{padding:0 13px}.card{padding:17px}.hero-number{font-size:26px}.brand{font-size:19px}.private-label{font-size:9px}}
@media(prefers-reduced-motion:reduce){button{transition:none}button:active{transform:none}}
@media(prefers-reduced-transparency:reduce){nav{background:#fcfbff;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media print{body{background:white}.card,.hero{background:white;border:0;box-shadow:none}.stat{background:white}main{padding:0}}

/* Two fixed calendar lanes: medication above, bleeding below. */
.day{position:relative;justify-content:flex-start;gap:7px;min-height:74px;padding-top:10px}.day-lines{display:flex;flex-direction:column;gap:5px;width:70%;margin-top:3px}.day-line,.legend-line{display:block;height:5px;border-radius:8px;flex-shrink:0}.day .day-line{width:100%;margin:0}.dose{background:#a396d1}.rest{background:#9ac9c4}.missed{background:#e6b487}.uncertain{background:repeating-linear-gradient(90deg,#b0abbf 0 4px,transparent 4px 7px)}.blood{background:#d79ab9}.no-blood{background:#fff;border:1px solid #d4cfdf;box-sizing:border-box}.unrecorded{background:transparent}.legend span{display:flex;align-items:center;gap:5px}.legend-line{width:18px}.day .blood.level1{opacity:.45}.day .blood.level2{opacity:.65}.day .blood.level3{opacity:.85}.transition-day{box-shadow:inset 0 0 0 1px #c8bce4}.transition-mark{font-size:8px;color:#7c6ca6;position:absolute;bottom:2px}.uncertain-mark{position:absolute;right:3px;top:3px;font-size:10px;color:#77718a}.regimen-note{font-size:12px;color:#786a99;background:#f1edf9;border-radius:12px;padding:10px 12px;margin:0 0 16px}
