:root{--bg:#f8f6f0;--ink:#263f36;--sage:#e5ede5;--green:#2e6255;--muted:#738176;--line:#dde3d8;--peach:#f2e4d7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,sans-serif;font-size:15px}button,input,textarea{font:inherit}button,a,label{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b68a48;outline-offset:3px}.app{max-width:1050px;margin:auto;padding:28px 40px 20px}.top{display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font:22px Georgia,serif}.mark{display:grid;place-items:center;width:46px;height:46px;background:var(--green);border-radius:50%;color:white;font:30px Georgia}.brand-sub{display:block;font:8px system-ui;letter-spacing:2px;margin-top:4px}.iconbutton{border:1px solid var(--line);background:transparent;border-radius:50%;width:38px;height:38px;color:var(--ink);font-size:19px}.iconbutton:disabled{opacity:.3;cursor:default}.hero{display:flex;justify-content:space-between;align-items:center;margin:45px 0 28px;position:relative}.eyebrow{font-size:10px;letter-spacing:2.6px;color:var(--green);font-weight:650}h1{font:46px/1.12 Georgia,serif;letter-spacing:-1.3px;margin:14px 0}h1 i{font-weight:normal;color:var(--green)}.intro{color:var(--muted);font-size:14px}.flower{width:210px;text-align:center;color:#77937b}.flower span{display:block;font:180px/1 Georgia}.flower small{font-size:9px;letter-spacing:1.7px;color:var(--muted)}.tabs{display:flex;border-bottom:1px solid var(--line);gap:25px;margin-bottom:24px}.tabs button{background:transparent;border:0;padding:12px 0;color:var(--muted);border-bottom:2px solid transparent;font-size:13px}.tabs .active{color:var(--green);border-color:var(--green);font-weight:650}.weekhead{display:flex;justify-content:space-between;align-items:center;text-align:center}.weekhead p{margin:0;font:20px Georgia}.weekhead small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:20px 0 24px}.day{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border-radius:15px;border:1px solid var(--line);background:transparent;color:var(--ink);gap:6px}.day small{font-size:10px;color:var(--muted)}.day strong{font:23px Georgia}.day .dot{width:5px;height:5px;background:var(--line);border-radius:50%}.day.done .dot{background:var(--green)}.day.selected{background:var(--green);color:white;border-color:var(--green)}.day.selected small{color:#d1e2d6}.day.selected .dot{background:white}.day:disabled{opacity:.25;cursor:default}.daytitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.daytitle h2{font:27px Georgia;margin:0}.pill{background:var(--peach);border-radius:20px;padding:7px 11px;font-size:10px;white-space:nowrap}.progress{background:var(--sage);border-radius:18px;padding:17px 20px;margin-bottom:22px;display:flex;gap:18px;align-items:center}.progress-text{min-width:170px}.progress strong{font-size:13px}.progress small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.track{flex:1;height:6px;background:#d0ddcf;border-radius:5px;overflow:hidden}.track>div{background:var(--green);height:100%;transition:width .2s}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{background:#fffdfa;border:1px solid var(--line);border-radius:20px;padding:20px;margin-bottom:18px}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sectiontitle h3{font:22px Georgia;margin:0}.sectiontitle span{font-size:10px;letter-spacing:1px;color:var(--muted)}.task{padding:12px 0;border-top:1px solid #edf0e9}.task:first-of-type{border-top:0}.tasktop{display:flex;gap:12px;align-items:start;cursor:pointer}.task input{appearance:none;flex:none;width:21px;height:21px;margin:0;border:1.4px solid #a0b6a4;border-radius:6px;position:relative;cursor:pointer}.task input:checked{background:var(--green);border-color:var(--green)}.task input:checked:after{content:'✓';position:absolute;inset:0;color:white;text-align:center;font-size:15px}.task strong{display:block;font-size:13px;font-weight:600}.task .product{display:block;color:var(--muted);font-size:11px;margin-top:5px}.task.checked strong{color:var(--muted);text-decoration:line-through}.task details{margin:7px 0 0 33px;color:var(--muted);font-size:11px;line-height:1.6}.task summary{cursor:pointer;font-size:10px}.task details p{margin:5px 0}.optional{font-size:9px;color:#8b7a61;font-weight:normal;margin-left:6px}.notes label{font:20px Georgia;display:block;margin-bottom:12px}.notes textarea{width:100%;min-height:90px;resize:vertical;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:12px;font-size:12px;line-height:1.5}.weekcard{display:flex;align-items:center;gap:16px;cursor:pointer;width:100%;text-align:left;background:#fffdfa;border:1px solid var(--line);border-radius:15px;padding:17px;margin:9px 0;color:var(--ink)}.weekcard .date{min-width:45px;text-align:center;font:25px Georgia}.weekcard .date small{font:10px system-ui;display:block;color:var(--muted);margin-bottom:4px}.weekcard .description{flex:1}.weekcard strong{font-size:13px}.weekcard p{font-size:11px;color:var(--muted);margin:5px 0}.weekcard .count{font-size:11px;white-space:nowrap}.products{display:grid;grid-template-columns:1fr 1fr;gap:14px}.productcard{background:#fffdfa;border:1px solid var(--line);border-radius:16px;padding:20px}.productcard .type{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.productcard h3{font:21px Georgia;margin:10px 0}.productcard p{font-size:12px;line-height:1.7;color:var(--muted)}.gentle{font-size:11px;line-height:1.7;color:var(--muted);background:var(--sage);border-radius:14px;padding:16px;margin:16px 0}footer{display:flex;justify-content:space-between;align-items:center;margin:28px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--muted)}footer span{font:15px Georgia;font-style:italic}footer small{font-size:10px}dialog{border:0;border-radius:22px;background:var(--bg);max-width:440px;width:calc(100% - 30px);padding:25px;color:var(--ink)}dialog::backdrop{background:#213d3466;backdrop-filter:blur(3px)}.dialoghead{display:flex;align-items:center;justify-content:space-between}.dialoghead h2{font:25px Georgia}dialog p{font-size:13px;line-height:1.7;color:var(--muted)}.action{display:block;width:100%;background:var(--green);color:white;border:1px solid var(--green);border-radius:10px;padding:12px;text-decoration:none;text-align:center;margin:10px 0;font-size:13px;cursor:pointer}.secondary{background:transparent;color:var(--green);border-color:var(--line)}dialog details{margin:20px 0;font-size:12px}dialog small{color:var(--muted);font-size:10px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;border-radius:12px;padding:12px 18px;font-size:13px;display:none;max-width:90vw;z-index:10}@media(max-width:650px){.app{padding:20px}.hero{margin:30px 0 22px}h1{font-size:35px}.flower{width:105px}.flower span{font-size:110px}.flower small{font-size:7px;letter-spacing:.4px}.intro{font-size:12px}.grid,.products{grid-template-columns:1fr;gap:0}.tabs{gap:20px}.days{gap:5px}.day{padding:10px 2px;border-radius:12px}.daytitle h2{font-size:23px}.pill{font-size:9px}.progress{padding:14px;gap:12px}.progress-text{min-width:145px}.card{padding:18px}.productcard{margin-bottom:12px}footer{display:block}footer small{display:block;margin-top:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.photo-upload h3{font:24px Georgia;margin:0 0 12px}.photo-upload p{color:var(--muted);font-size:13px;line-height:1.6}.photo-upload label{display:block;font-size:12px;margin-bottom:8px}.photo-upload input:not([hidden]){width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}.photo-actions{display:flex;gap:12px}.photo-actions .action{flex:1}.photo-upload small{display:block;color:var(--muted);font-size:11px;line-height:1.6}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:20px}.product-photo{margin:12px 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.product-photo img{display:block;width:100%;height:200px;object-fit:contain;background:white}.product-photo figcaption{padding:10px;font-size:12px;overflow-wrap:anywhere}.product-photo button{display:block;background:transparent;border:0;color:var(--green);padding:8px 0;font-size:12px;text-decoration:underline}.action:disabled{opacity:.5;cursor:wait}@media(max-width:450px){.photo-actions{display:block}.photo-gallery{grid-template-columns:1fr 1fr}.product-photo img{height:160px}}

:root{--bg:#fcf8fb;--ink:#51445d;--sage:#eee8f7;--green:#70547f;--muted:#7d7188;--line:#e6ddeb;--peach:#f8e1e9}.mark{background:#f4c8d8;color:#67465a}.flower{color:#c7b0dd}.day.selected{background:#e7d7f1;border-color:#cfb7df;color:var(--ink)}.day.selected small{color:#70547f}.day.selected .dot{background:#9476aa}.track{background:#ddd2eb}.track>div{background:#b096c8}.progress{background:#e7f1ed}.gentle{background:#f4e9f0}.action{background:#eee0f6;color:#51445d;border-color:#dac6e6}.action.secondary{background:#e8f2ee;border-color:#cddfd6;color:#465e54}.task input:checked{background:#a58bb9;border-color:#a58bb9}.pill{background:#f7dee8}.tabs .active{color:#70547f;border-color:#b89dca}#toast{background:#70547f;color:white}

.beauty-progress{margin-bottom:22px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#f7eee8}.beauty-photo{display:block;width:100%;height:auto;max-height:480px;object-fit:contain}.beauty-progress .progress{margin:0;border-radius:0;background:#fffaf6}@media(max-width:650px){.beauty-photo{max-height:none}}

.calendar-jump{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.calendar-jump label{font-size:12px;color:var(--muted)}.calendar-jump input{min-width:165px;padding:10px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink)}.calendar-jump .action{margin:0;padding:10px 18px}.month-panel{margin-bottom:22px;border:1px solid var(--line);border-radius:16px;padding:14px}.month-panel summary{cursor:pointer;font-weight:600}.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:16px}.month-weekday{text-align:center;color:var(--muted);padding-bottom:5px}.month-days .day{padding:8px 3px}.month-days .day strong{font-size:19px}

.note-summary p{white-space:pre-wrap;overflow-wrap:anywhere}.note-summary span{min-width:0}.notes small{color:var(--muted);font-size:11px}.tabs{flex-wrap:wrap;column-gap:20px;row-gap:0}

.tabs{flex-wrap:wrap}#reminder-form{display:grid;gap:10px}#reminder-form input,#reminder-form select{width:100%;box-sizing:border-box;padding:12px;border:1px solid #dfccd6;border-radius:12px;background:#fff;color:#443c43;font:inherit}#reminder-form label{font-weight:600}#reminder-form p{font-size:14px;line-height:1.6}#reminder-list{margin-top:24px}#reminder-list .reminder-row{padding:12px 0;border-top:1px solid #eee0e7}#reminder-list .reminder-row button{margin:8px 6px 0 0}#reminder-status{min-height:1.4em}

#product-form{display:grid;gap:10px}#product-form input,#product-form select,#product-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font:inherit}#product-form small{font-size:12px;line-height:1.6;color:var(--muted)}.custom-product-notes{white-space:pre-wrap}.daytitle:has(#add-product){flex-wrap:wrap;gap:12px}

.assigned-photos{display:flex;gap:10px;overflow-x:auto;margin:14px 0;padding-bottom:4px}.assigned-photos a{flex:0 0 140px;border-radius:14px;overflow:hidden;background:#f9f2f5;display:block}.assigned-photos img{display:block;width:100%;height:180px;object-fit:contain}.assigned-photos.compact{margin:10px 0 10px 34px}.assigned-photos.compact a{flex-basis:90px}.assigned-photos.compact img{height:110px}.assigned-photos a:focus-visible{outline:3px solid #b97998;outline-offset:2px}

.assigned-photo{margin:0;display:flex;flex-direction:column;gap:6px;max-width:100%}.assigned-photo a{display:block}.photo-delete{border:1px solid #d9b9c5;background:#fff2f6;color:#733f55;border-radius:9px;padding:8px 10px;min-height:36px;font:inherit;font-size:12px;cursor:pointer}.photo-delete:focus-visible{outline:2px solid #733f55;outline-offset:2px}
/* Comfortable controls and compact mobile navigation. */
[hidden]{display:none!important}.view-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.view-tools label{display:flex;align-items:center;gap:10px;min-height:44px}.view-tools input{width:20px;height:20px;accent-color:var(--green)}.view-tools span,.search-tools small{color:var(--muted);font-size:12px}.search-tools{display:grid;gap:8px;margin:18px 0 24px}.search-tools input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;padding:12px;background:white;color:var(--ink)}.weekly-progress progress{width:100%;height:14px;accent-color:var(--green)}button,.action{min-height:44px}textarea,input,select{font-size:16px}dialog{max-height:88dvh;overflow:auto}.tabs{overflow-x:auto;scrollbar-width:thin}.tabs button{flex-shrink:0}.task,.productcard{content-visibility:auto;contain-intrinsic-size:auto 160px}@media(max-width:600px){.hero{margin:22px 0 18px}.hero h1{font-size:34px}.flower{display:none}.tabs{gap:18px;position:sticky;top:0;background:var(--bg);z-index:5;padding-top:4px}.beauty-photo{max-height:180px;object-fit:cover}.calendar-jump{flex-wrap:wrap}.view-tools{align-items:flex-start;flex-direction:column}.daytitle{flex-wrap:wrap;gap:12px}}

.planner-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.planner-row .tasktop{flex:1}.bought{text-decoration:line-through;color:var(--muted)}.planner-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.product-lifetime{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.product-lifetime small{display:block;line-height:1.7;color:var(--muted)}#planner-form{display:grid;gap:12px}#planner-form label{font-weight:600}#planner-form input,#planner-form textarea{width:100%;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink)}@media(max-width:600px){.planner-row{flex-wrap:wrap}.planner-row .tasktop{min-width:60%}}

/* A colorful pastel garden, with readable plum text. */
:root{--bg:#fcf7fc;--ink:#4b3c58;--sage:#e1f1eb;--green:#765184;--muted:#76647d;--line:#dfcfe5;--peach:#ffe5d5}
body{background:radial-gradient(ellipse at 5% 0%,#f9dce9 0,transparent 48%),radial-gradient(ellipse at 100% 25%,#e3ddf8 0,transparent 48%),linear-gradient(160deg,#fff7fb,#f1f9f6);background-attachment:fixed}
.brand-logo{flex:none;border-radius:14px;box-shadow:0 3px 12px #86538918}.hero{border-radius:24px;background:linear-gradient(110deg,#f9dce9,#e6ddf8 58%,#dff2ec);padding:26px}.hero h1{margin-top:10px}.flower{color:#a88bc8}.eyebrow{color:#735080}
.tabs{border:0;gap:8px;padding:8px;border-radius:18px;background:#ffffffb8;margin-bottom:24px}.tabs button{padding:10px 14px;border-radius:12px;border:1px solid transparent;color:var(--ink)}.tabs button:nth-child(6n+1){background:#f8dce9}.tabs button:nth-child(6n+2){background:#e6ddf7}.tabs button:nth-child(6n+3){background:#daf0e7}.tabs button:nth-child(6n+4){background:#ffe6d5}.tabs button:nth-child(6n+5){background:#ddecfa}.tabs button:nth-child(6n){background:#fff0c9}.tabs button.active{border-color:#9870ac;box-shadow:inset 0 -3px #9870ac;color:#553566}
.day{background:#f5e2ed;border-color:#e3cbdc}.day:nth-child(3n+2){background:#e9e1f7}.day:nth-child(3n){background:#def0e9}.day.selected{background:#d8bce9;border-color:#9870ac;color:#4c345c;box-shadow:0 3px 10px #9870ac25}.day.selected small{color:#553b66}.day.selected .dot{background:#765184}
.month-panel{background:#eee7f9}.calendar-jump input{background:#fff6e8}.iconbutton{background:#f4e3f2}.progress,.beauty-progress .progress{background:linear-gradient(100deg,#d9eee5,#dfebf8)}.track{background:#c8dace}.track>div{background:linear-gradient(90deg,#aa88c4,#cc83a8)}
.card{background:#fce9f1;border-color:#e4cbda}.grid>div:nth-child(2) .card{background:#e9e2f7}.card:nth-child(3n+2){background:#e2f2eb}.card:nth-child(3n){background:#e4edfa}.task{border-color:#dac9df}.productcard{background:#fce9f1}.productcard:nth-child(4n+2){background:#eae2f8}.productcard:nth-child(4n+3){background:#def1e9}.productcard:nth-child(4n){background:#ffe9d8}.weekcard{background:#fce5ed}.weekcard:nth-child(3n+2){background:#e9e0f7}.weekcard:nth-child(3n){background:#e0f1eb}.pill{background:#ffe4c8;color:#684a35}.gentle{background:#e4eefb;color:#655675}
.action{background:linear-gradient(105deg,#f5cfdf,#dfd0f2);border-color:#d5b6dd;color:#51385f}.action.secondary{background:#dff0e8;border-color:#bcd8cb;color:#3e6053}.notes textarea{background:#fff9ef}.task input:checked{background:#8b64a3;border-color:#8b64a3}.task input{border-color:#947b9f}.view-tools{background:#fff0d4;padding:12px 16px;border-radius:15px}.search-tools{background:#e4f1eb;padding:16px;border-radius:16px}.weekly-progress{background:#e5edf9}.photo-upload{background:#e5f1ed}.photo-delete{background:#ffe2e9}.assigned-photos a{background:#fff8fc}dialog{background:linear-gradient(145deg,#fff3f8,#efe9fc)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#84529c}
@media(max-width:650px){.hero{padding:20px 18px}.hero h1{font-size:32px}.brand{font-size:21px}.tabs{flex-wrap:nowrap;background:#fcf3fc;gap:7px;padding:8px}.tabs button{font-size:12px;padding:10px 12px}.brand-logo{width:44px;height:44px}}

/* Spacious medication entry, including small iPhone screens. */
#medication-dialog{width:calc(100% - 24px);max-width:620px;max-height:90dvh;padding:26px;overflow-y:auto;overscroll-behavior:contain}
#medication-dialog .dialoghead{gap:12px}#medication-dialog .dialoghead h2{font-size:28px;margin:10px 0 22px}#medication-dialog .iconbutton{flex-shrink:0}
#med-form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
#med-form label{font-size:16px;font-weight:600;margin-top:6px}
#med-form input,#med-form textarea{display:block;width:100%;min-width:0;min-height:56px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fffafc;color:var(--ink);font:inherit;font-size:18px;line-height:1.5}
#med-form textarea{min-height:150px;resize:vertical}#med-form small{font-size:13px;line-height:1.6}#med-form .action,#add-medication{min-height:54px;font-size:16px}#med-status{margin:0;font-size:14px}
@media(max-width:650px){#medication-dialog{padding:20px 18px;max-height:92dvh}#medication-dialog .dialoghead h2{font-size:25px}#med-form{gap:10px}#med-form input,#med-form textarea{font-size:17px}#med-form textarea{min-height:140px}}

.moon-summary{display:flex;align-items:center;gap:22px;background:linear-gradient(110deg,#e4dcf8,#fbe1ed)}.moon-large{font-size:76px;line-height:1.2}.moon-summary h3{font:27px Georgia;margin:10px 0}.moon-summary p{color:var(--muted);line-height:1.6}.moon-events{gap:14px;margin-bottom:20px}.moon-events article>span{font-size:34px}.moon-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.moon-weekday{text-align:center;font-size:12px;color:var(--muted);padding:10px 0}.moon-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:80px;padding:8px 2px;background:#eee5f8;color:var(--ink);border:1px solid #dacde8;border-radius:12px}.moon-day:nth-child(3n){background:#e0f0eb}.moon-day:nth-child(3n+1){background:#fce4ed}.moon-day span{font-size:25px}.moon-day small{font-size:13px}.moon-day.selected{border:2px solid #84529c;background:#dcc8ed}.moon-day.major-phase{box-shadow:inset 0 -3px #a98aba}.moon-day i{position:absolute;right:5px;top:1px;color:#785389}.moon-legend{font-size:12px;line-height:1.8;color:var(--muted)}@media(max-width:450px){.moon-grid{gap:4px}.moon-day{min-height:68px;border-radius:9px}.moon-day span{font-size:22px}.moon-large{font-size:56px}.moon-summary{gap:12px}.moon-summary h3{font-size:23px}}

.moon-treatments{background:linear-gradient(135deg,#fce5ee,#e9e4fa);margin-bottom:18px}.moon-treatments h3{font:25px Georgia;line-height:1.3;margin:18px 0 10px}.moon-treatment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin:18px 0}.moon-treatment-list article{background:#ffffffb8;border:1px solid #e6d6ee;border-radius:16px;padding:16px}.moon-treatment-list article:nth-child(even){background:#e7f3ed}.moon-treatment-list h4{margin:0 0 8px;font-size:16px}.moon-treatment-list p{margin:0;line-height:1.6;font-size:14px}.moon-tip-note{font-size:12px;line-height:1.7;color:var(--muted)}.moon-treatment-overview{margin-bottom:18px;background:#f5edfa}.moon-treatment-overview summary{cursor:pointer;font-weight:600;line-height:1.5}.moon-treatment-list .current-treatment-phase{border:2px solid #a283b6}

.cycle-summary{background:linear-gradient(120deg,#f9d7e7,#ece2f7);margin-bottom:18px}.cycle-summary h3{font:26px Georgia}.cycle-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cycle-columns form{display:grid;gap:10px}.cycle-columns input:not([type=checkbox]),#cycle-note{box-sizing:border-box;width:100%;min-height:46px}.cycle-columns small{line-height:1.6;color:var(--muted)}.cycle-day{background:#faf4f8!important}.cycle-day.recorded{background:#f6c1d7!important;border-color:#c87195}.cycle-day.predicted{background:#e9def7!important;border:2px dashed #a287bf}.cycle-day.selected{outline:2px solid #78465e;outline-offset:1px}.cycle-day strong{font-size:18px}.cycle-history article{padding:12px 0;border-bottom:1px solid #ebdce6}.cycle-history .action{margin:0 8px 8px 0}#cycle-note-form{display:grid;gap:12px}@media(max-width:650px){.cycle-columns{grid-template-columns:1fr}.cycle-grid{gap:5px}.cycle-day{min-height:64px}}

/* Larger type and comfortable touch controls throughout the app. */
body{font-size:18px;line-height:1.6}
button,input,textarea,select{font-family:inherit}
button,.action{font-size:18px;line-height:1.4;min-height:54px;white-space:normal;overflow-wrap:anywhere}
.action{font-size:18px;padding:15px 18px}
.tabs button{font-size:18px;min-height:56px;padding:14px 18px}
.iconbutton{width:54px;height:54px;min-width:54px;flex-shrink:0;font-size:25px}
.day,.month-days .day{min-height:86px;padding:12px 2px;min-width:0}
.day small{font-size:15px}.day strong,.month-days .day strong{font-size:26px}
.moon-day,.cycle-day{min-height:86px}.moon-day small{font-size:15px}.cycle-day strong{font-size:23px}.moon-weekday,.month-weekday{font-size:15px}
.daytitle{flex-wrap:wrap;gap:14px}.daytitle h2{font-size:30px;line-height:1.25}
.sectiontitle{flex-wrap:wrap;gap:10px}.sectiontitle h3,.productcard h3,.moon-summary h3,.moon-treatments h3,.cycle-summary h3{font-size:27px;line-height:1.3}
.task strong,.weekcard strong,.progress strong,.moon-treatment-list h4{font-size:18px}
.intro,.productcard p,.weekcard p,.photo-upload p,.moon-treatment-list p,dialog p,#reminder-form p{font-size:18px;line-height:1.65}
.task .product,.task details,.task summary,.weekcard .count,.weekcard .date small,.progress small,.weekhead small,.sectiontitle span,.pill,.gentle,footer small,dialog small,dialog details,.notes small,.photo-upload small,.photo-upload label,.productcard .type,.product-photo figcaption,.view-tools span,.search-tools small,.calendar-jump label,.moon-legend,.moon-tip-note,#product-form small,#med-form small,.optional{font-size:15px;line-height:1.65}
.task summary,details>summary{min-height:44px;padding:8px 0}
.task{padding:16px 0}.tasktop{min-height:48px;align-items:flex-start;gap:14px}
.task input{width:28px;height:28px;margin-top:2px}.task input:checked:after{font-size:21px;line-height:25px}
input[type=checkbox]{min-width:26px;width:26px;height:26px;flex-shrink:0;accent-color:var(--green)}
.task details{margin-left:42px}.notes label{font-size:24px}
.notes textarea,#med-form input,#med-form textarea,input:not([type=checkbox]):not([type=hidden]):not([type=file]),textarea,select{font-size:18px;line-height:1.5;min-height:54px}
.notes textarea{font-size:18px;padding:15px;min-height:130px}
.cycle-columns input:not([type=checkbox]),#cycle-note{font-size:18px;min-height:54px;padding:12px;border:1px solid var(--line);border-radius:12px}
.product-photo button,.photo-delete{font-size:17px;min-height:54px;padding:12px}
#med-form label,#med-form .action,#add-medication{font-size:18px}
#toast{font-size:17px;line-height:1.5}.brand{font-size:25px}.brand-sub{font-size:11px;letter-spacing:1.7px}.eyebrow{font-size:14px;letter-spacing:1.8px}
.weekhead p{font-size:24px}.weekhead>div{min-width:0;padding:0 8px}
.progress{flex-wrap:wrap}.progress-text{min-width:0;flex:1 1 180px}.track{min-width:100px}
.card,.productcard,.weekcard{overflow-wrap:anywhere}.grid>*{min-width:0}
.calendar-jump .action{width:auto;padding:14px 20px}.photo-actions{flex-wrap:wrap}.photo-actions .action{flex:1 1 180px}
footer span{font-size:18px}.dialoghead{gap:12px}.dialoghead h2{font-size:28px;line-height:1.3;min-width:0}
@media(max-width:650px){
 .app{padding:18px 14px}.tabs{gap:10px;padding:8px;scroll-padding:8px}.tabs button{font-size:18px;padding:14px 16px}
 .daytitle h2{font-size:28px}.days,.month-days,.moon-grid{gap:4px}.day,.month-days .day,.moon-day,.cycle-day{min-height:82px}
 .day small,.moon-day small,.moon-weekday,.month-weekday{font-size:14px}.day strong,.month-days .day strong{font-size:25px}
 .card{padding:18px 16px}.hero h1{font-size:36px}.hero{padding:20px 16px}
 .progress{gap:12px}.moon-summary{flex-wrap:wrap}.moon-summary>div{flex:1 1 200px}
 #med-form input,#med-form textarea{font-size:18px}#medication-dialog .dialoghead h2{font-size:28px}
 .planner-row{flex-wrap:wrap}.weekcard{flex-wrap:wrap}.weekcard .description{min-width:130px}
 .assigned-photos.compact{margin-left:0}.cycle-columns{grid-template-columns:minmax(0,1fr)}
}

.app-update{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#f3e7f7}.app-update span{font-size:15px;line-height:1.5}.app-update .action{margin:0}

/* Keep the update action within reach, including the iPhone home indicator. */
.app{padding-bottom:calc(160px + env(safe-area-inset-bottom, 0px))}
.app-update{position:fixed;bottom:0;left:0;right:0;z-index:20;margin:0;border-radius:20px 20px 0 0;padding:10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));flex-wrap:nowrap;background:#f3e7f7;box-shadow:0 -4px 20px #62465e18;justify-content:center}
.app-update span{flex:0 1 auto;font-size:14px}
.app-update .action{flex:0 1 280px;min-width:0;min-height:54px}
#toast{bottom:calc(100px + env(safe-area-inset-bottom, 0px))}
@media(max-width:650px){.app{padding-bottom:calc(160px + env(safe-area-inset-bottom, 0px))}.app-update{gap:10px}.app-update .action{flex:1;max-width:320px}}

.cycle-day.fertile{background:#dcf3e7!important;border:2px dashed #6caa90}.cycle-day.ovulation{background:#bde8e5!important;border:2px solid #368981}.cycle-day.recorded.fertile,.cycle-day.recorded.ovulation{background:#f6c1d7!important}.cycle-day.predicted.fertile{background:#e9def7!important}

.medication-photo{display:block;margin:14px 0;color:var(--ink);text-decoration:none}.medication-photo img{display:block;width:100%;height:280px;object-fit:contain;background:#fff8fc;border-radius:14px}.medication-photo span{display:block;margin-top:8px;font-size:16px;text-decoration:underline}

.day-medications{margin:22px 0}.day-medication-group h4{font-size:22px;margin:20px 0 12px}.day-medication-row{padding:14px 0;border-bottom:1px solid var(--line)}.day-medication-row:last-child{border-bottom:0}.day-medication-row.checked>.tasktop{opacity:.7}.day-medication-row .product,.day-medication-row small{display:block;margin-top:5px}.day-medication-row input{width:25px;height:25px;flex-shrink:0;accent-color:var(--green)}.day-medication-row details{margin:12px 0 0 36px}.day-medication-row .medication-photo{max-width:240px}.day-medication-row .medication-photo img{height:200px}

/* Compact day view; other screens retain their existing sizing. */
body[data-view="day"] .hero{margin:14px 0;padding:14px 16px;min-height:0}
body[data-view="day"] .hero h1{font-size:28px;margin:5px 0;line-height:1.15}
body[data-view="day"] .hero .flower,body[data-view="day"] .hero .intro{display:none}
body[data-view="day"] .tabs{margin-bottom:14px}
body[data-view="day"] .days{margin:12px 0;gap:5px}
body[data-view="day"] .day{min-height:62px;padding:6px 4px;gap:3px}
body[data-view="day"] .daytitle{margin-bottom:12px;gap:8px}
body[data-view="day"] .daytitle h2{font-size:23px;line-height:1.3}
body[data-view="day"] .pill{font-size:13px;padding:5px 9px}
body[data-view="day"] .beauty-progress{display:block;margin-bottom:18px;border-radius:18px}
body[data-view="day"] .beauty-photo{display:block;width:100%;height:auto;max-height:480px;object-fit:contain}
body[data-view="day"] .beauty-progress .progress{flex:1;padding:12px;gap:8px;min-width:0}
body[data-view="day"] .progress-text strong{font-size:17px}
body[data-view="day"] .progress-text small{font-size:14px}
body[data-view="day"] .view-tools{padding:8px 12px;margin:0 0 12px;gap:6px;flex-direction:row;flex-wrap:wrap}
body[data-view="day"] .view-tools label{min-height:44px;font-size:16px}
body[data-view="day"] .view-tools span{font-size:14px}
body[data-view="day"] .card{padding:12px 14px;margin:0 0 12px;border-radius:15px}
body[data-view="day"] .day-section>summary{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;list-style:none}
body[data-view="day"] .day-section>summary::-webkit-details-marker{display:none}
body[data-view="day"] .day-section>summary::before{content:'›';font-size:25px;line-height:1;transition:transform .15s}
body[data-view="day"] .day-section[open]>summary::before{transform:rotate(90deg)}
body[data-view="day"] .day-section>summary h3{margin:0;flex:1;font:600 21px/1.3 system-ui}
body[data-view="day"] .day-section>summary>span{font-size:15px;color:var(--muted);white-space:nowrap}
body[data-view="day"] .day-section-content{padding-top:8px}
body[data-view="day"] .grid{gap:12px}
body[data-view="day"] .task{padding:10px 0;content-visibility:visible;contain-intrinsic-size:none}
body[data-view="day"] .tasktop{gap:10px;min-height:44px;min-width:0}
body[data-view="day"] .tasktop>span{min-width:0;flex:1}
body[data-view="day"] .tasktop strong{font-size:17px;line-height:1.35}
body[data-view="day"] .tasktop .product{font-size:15px;line-height:1.4;margin-top:3px}
body[data-view="day"] .tasktop input{width:25px;height:25px;margin-top:3px;flex:none}
body[data-view="day"] .optional{font-size:12px;margin-left:6px}
body[data-view="day"] .task details,body[data-view="day"] .day-medication-row details{margin:3px 0 0 35px;font-size:15px}
body[data-view="day"] .task summary,body[data-view="day"] .day-medication-row summary{font-size:14px;min-height:32px;padding:6px 0}
body[data-view="day"] .task details p{font-size:15px;line-height:1.5}
body[data-view="day"] .assigned-photos.compact{margin:8px 0}
body[data-view="day"] .assigned-photos.compact img{height:100px}
body[data-view="day"] .day-medications .gentle{font-size:14px;line-height:1.4;padding:8px 10px;margin:8px 0}
body[data-view="day"] .day-medications .action{min-height:44px;padding:8px 12px;font-size:16px}
body[data-view="day"] .day-medication-group h4{font-size:17px;margin:12px 0 4px}
body[data-view="day"] .day-medication-row{padding:8px 0}
body[data-view="day"] .day-medication-row small,.day-medication-hint{font-size:13px;line-height:1.5}
body[data-view="day"] .day-help{padding:8px 12px;font-size:14px;color:var(--muted)}
body[data-view="day"] .day-help summary{min-height:36px;cursor:pointer}
body[data-view="day"] .day-help p{font-size:14px;line-height:1.5}
body[data-view="day"] .day-section textarea{width:100%;min-height:90px;margin-top:8px;font-size:17px}
@media(max-width:650px){body[data-view="day"] .beauty-progress .progress{display:block}body[data-view="day"] .track{margin-top:8px;width:100%}body[data-view="day"] .day-routine{display:block}}

body[data-view="day"] .day-task-heading{display:flex;align-items:flex-start;gap:10px}
body[data-view="day"] .day-task-heading>.tasktop{flex:1;min-width:0}
body[data-view="day"] .day-task-heading>.assigned-photos.compact{flex:0 0 64px;width:64px;max-height:90px;margin:0;gap:4px}
body[data-view="day"] .day-task-heading .assigned-photo{flex:0 0 64px;width:64px}
body[data-view="day"] .day-task-heading .assigned-photo a{flex:none;width:64px;border-radius:9px}
body[data-view="day"] .day-task-heading .assigned-photos.compact img{width:64px;height:76px;object-fit:contain}
body[data-view="day"] .day-task-heading .photo-delete{display:none}

[hidden]{display:none!important}
.calendar-jump{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.calendar-jump .action{min-height:44px;flex:0 1 auto}
body[data-view="day"] .calendar-jump{margin:10px 0}
body[data-view="day"] .calendar-jump .action{padding:8px 14px;font-size:16px}
#clear-product-search{justify-self:start;width:auto;min-height:44px;font-size:16px;padding:8px 14px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.medication-accordion{content-visibility:visible;contain-intrinsic-size:none;align-self:start}
.medication-accordion>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;min-height:60px}
.medication-accordion>summary::-webkit-details-marker{display:none}
.medication-accordion>summary::before{content:'›';font-size:30px;line-height:1;flex:none}
.medication-accordion[open]>summary::before{transform:rotate(90deg)}
.medication-summary{display:flex;flex-direction:column;gap:6px;min-width:0}
.medication-name{font-size:22px;line-height:1.35}
.medication-dose{font-size:17px;line-height:1.4;color:var(--muted)}
.medication-content{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.medication-content .tasktop{min-height:48px;align-items:center}
.medication-content .tasktop input{width:25px;height:25px;flex:none}

@media(max-width:650px){body[data-view="day"] .beauty-photo{max-height:none}}

.selfcare-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.selfcare-actions .action{margin:0;flex:1;min-width:180px}.auszeit-option{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.auszeit-option input{width:22px;min-width:22px;height:22px;margin:2px 0}.auszeit-option small{display:block;margin-top:4px;font-weight:400;line-height:1.5}.auszeit-option strong{font-size:16px}#auszeit-options{border:1px solid var(--line);border-radius:16px;padding:12px;margin:16px 0}#auszeit-dialog select{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink)}#auszeit-dialog{width:min(560px,calc(100% - 24px))}
#cycle-sex-section select{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font:inherit}.sex-form-panel,.sex-history{padding:12px 0}.sex-form-panel summary,.sex-history summary{cursor:pointer;font-weight:600}.sex-entry{padding:12px 0;border-bottom:1px solid var(--line)}.sex-entry p{line-height:1.6}.sex-entry .action{margin-top:4px}

#cycle-sex-section>summary{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;list-style:none}#cycle-sex-section>summary::-webkit-details-marker{display:none}#cycle-sex-section>summary::before{content:"›";font-size:25px;transition:transform .15s}#cycle-sex-section[open]>summary::before{transform:rotate(90deg)}#cycle-sex-section>summary h3{margin:0}#cycle-sex-section .sex-section-content{padding-top:12px}

.cycle-collapse>summary{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;list-style:none}.cycle-collapse>summary::-webkit-details-marker{display:none}.cycle-collapse>summary::before{content:"›";font-size:25px;transition:transform .15s}.cycle-collapse[open]>summary::before{transform:rotate(90deg)}.cycle-collapse>summary h3{margin:0}.cycle-collapse-content{padding-top:12px}#cycle-strength{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font:inherit}

.button-symbol{display:inline-block;font-family:system-ui,sans-serif;font-size:.95em;font-weight:500;line-height:1;margin-inline-end:.4em;vertical-align:baseline;flex-shrink:0}summary>.button-symbol{margin-inline-end:.35em}.tabs .button-symbol{font-size:1.1em}
.symptom-choices{border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.symptom-choice{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:#faf3f7;font-weight:400;line-height:1.4}.symptom-choice input{width:22px;min-width:22px;height:22px;margin:0}@media(max-width:650px){.symptom-choices{grid-template-columns:1fr}}
/* Compact cycle view; forms retain comfortable input sizes. */
body[data-view="cycle"] #main>.card,body[data-view="cycle"] .cycle-columns>.card{padding:14px 16px;margin-bottom:10px}body[data-view="cycle"] .daytitle{margin-bottom:10px;gap:8px}body[data-view="cycle"] .daytitle h2{font-size:24px}body[data-view="cycle"] .cycle-summary h3{font:600 19px/1.35 system-ui;margin:0 0 6px}body[data-view="cycle"] .cycle-summary p{margin:6px 0;font-size:15px;line-height:1.5}body[data-view="cycle"] .cycle-grid{gap:4px}body[data-view="cycle"] .cycle-day{min-height:56px;padding:5px 1px;gap:2px;border-radius:10px}body[data-view="cycle"] .cycle-day strong{font-size:18px}body[data-view="cycle"] .cycle-day small{font-size:12px;line-height:1.2}body[data-view="cycle"] .moon-weekday{font-size:13px;padding:4px 0}body[data-view="cycle"] #main>.card>h3{font-size:18px;margin:0 0 10px}body[data-view="cycle"] .cycle-collapse>summary h3,body[data-view="cycle"] #cycle-sex-section>summary h3{font:600 17px/1.35 system-ui}body[data-view="cycle"] .cycle-collapse>summary,body[data-view="cycle"] #cycle-sex-section>summary{min-height:44px}body[data-view="cycle"] .cycle-columns{gap:10px;align-items:start}body[data-view="cycle"] .cycle-legend{margin-top:10px;font-size:14px}body[data-view="cycle"] .cycle-legend summary{min-height:32px;cursor:pointer}body[data-view="cycle"] .cycle-legend p{margin-bottom:0}.cycle-navigation{display:flex;gap:8px;margin:0 0 12px}.cycle-navigation .action{flex:1;margin:0;padding:10px 8px;font-size:15px;min-height:44px}@media(max-width:400px){body[data-view="cycle"] #main>.card,body[data-view="cycle"] .cycle-columns>.card{padding:12px}body[data-view="cycle"] .cycle-day{min-height:52px}.cycle-navigation{gap:5px}}
.app-update #nav-back{flex:0 0 auto;min-width:100px;max-width:130px;padding:10px 14px}.app-update #nav-back:disabled{opacity:.45;cursor:default}@media(max-width:650px){.app-update>span{display:none}.app-update #nav-back{min-width:100px}.app-update #refresh-app{flex:1;max-width:280px}}
body[data-view="moon"] #main>.card{padding:14px 16px;margin-bottom:10px}body[data-view="moon"] .daytitle{margin-bottom:10px;gap:8px}body[data-view="moon"] .daytitle h2{font-size:24px}body[data-view="moon"] .moon-summary{gap:14px}body[data-view="moon"] .moon-large{font-size:48px}body[data-view="moon"] .moon-summary h3{font:600 19px/1.35 system-ui;margin:5px 0}body[data-view="moon"] .moon-summary p{margin:4px 0;font-size:14px;line-height:1.5}body[data-view="moon"] .moon-month>h3{font-size:18px;margin:0 0 10px}body[data-view="moon"] .moon-grid{gap:4px}body[data-view="moon"] .moon-day{min-height:58px;padding:4px 1px;gap:2px;border-radius:10px}body[data-view="moon"] .moon-day small{font-size:13px}body[data-view="moon"] .moon-day span{font-size:22px}body[data-view="moon"] .moon-weekday{font-size:13px;padding:4px 0}body[data-view="moon"] .moon-legend{margin:8px 0 0;font-size:12px;line-height:1.5}.moon-collapse>summary{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;list-style:none}.moon-collapse>summary::-webkit-details-marker{display:none}.moon-collapse>summary::before{content:'›';font-size:25px;transition:transform .15s}.moon-collapse[open]>summary::before{transform:rotate(90deg)}body[data-view="moon"] .moon-collapse>summary h3{font:600 17px/1.35 system-ui;margin:0}.moon-collapse-content{padding-top:12px}.moon-navigation{display:flex;gap:8px;margin:0 0 12px}.moon-navigation .action{flex:1;margin:0;padding:10px 8px;font-size:15px;min-height:44px}.moon-next-events article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.moon-next-events p{margin:4px 0;font-size:14px}.moon-next-events .action{margin:0;flex-shrink:0}@media(max-width:400px){body[data-view="moon"] #main>.card{padding:12px}body[data-view="moon"] .moon-day{min-height:54px}.moon-navigation{gap:5px}}
body[data-view="products"] .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}body[data-view="products"] .productcard{padding:12px 14px;margin:0;border-radius:15px;min-width:0}.product-compact-head{display:flex;align-items:center;gap:12px;min-height:64px}.product-compact-label{flex:1;min-width:0}body[data-view="products"] .productcard h3{font:600 17px/1.35 system-ui;margin:5px 0;overflow-wrap:anywhere}body[data-view="products"] .productcard .type{font-size:11px;letter-spacing:.5px}.product-preview{display:block;flex:0 0 60px;width:60px;height:64px;overflow:hidden;border-radius:10px;background:#faf4f8}.product-preview img{display:block;width:100%;height:100%;object-fit:contain}.product-options{margin-top:6px}.product-options>summary{cursor:pointer;font-size:14px;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none}.product-options>summary::-webkit-details-marker{display:none}.product-options>summary::before{content:'›';font-size:22px}.product-options[open]>summary::before{transform:rotate(90deg)}body[data-view="products"] .productcard p{font-size:14px;line-height:1.55;margin:8px 0}.product-option-content{border-top:1px solid var(--line);padding-top:8px}body[data-view="products"] .productcard .action{font-size:14px;min-height:44px;padding:10px;margin:8px 0}body[data-view="products"] .productcard .assigned-photos a{flex-basis:90px;width:90px}body[data-view="products"] .productcard .assigned-photos img{height:90px;object-fit:contain}body[data-view="products"] .photo-upload{padding:12px 16px;margin-bottom:12px}body[data-view="products"] .photo-upload>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none}body[data-view="products"] .photo-upload>summary::-webkit-details-marker{display:none}body[data-view="products"] .photo-upload>summary::before{content:'›';font-size:22px}body[data-view="products"] .photo-upload[open]>summary::before{transform:rotate(90deg)}body[data-view="products"] .photo-upload>summary h3{font:600 17px/1.4 system-ui;margin:0}.product-photo-content{padding-top:10px}body[data-view="products"] .search-tools{padding:12px 14px;margin-bottom:12px}body[data-view="products"] .daytitle{gap:12px;flex-wrap:wrap}body[data-view="products"] .daytitle h2{font-size:24px}.product-general-notes>summary{cursor:pointer;min-height:32px}.product-general-notes p{margin-bottom:0}@media(max-width:650px){body[data-view="products"] .products{grid-template-columns:minmax(0,1fr);gap:8px}body[data-view="products"] .daytitle .action{margin:0 0 4px;min-height:44px;padding:10px;font-size:15px}}
.med-plan-group>h3{display:flex;align-items:center;gap:10px;font:600 20px/1.4 system-ui;margin:0 0 12px}.med-group-count{margin-left:auto;font-size:14px;font-weight:500;background:#f1e7f5;border-radius:20px;min-width:28px;padding:3px 9px;text-align:center}.med-plan-group .products{gap:10px;align-items:start}.med-plan-group .medication-accordion{margin-bottom:0}.med-plan-group .med-empty{margin:4px 0;font-size:15px;color:var(--muted)}@media(max-width:650px){.med-plan-group{padding:14px}.med-plan-group .products{gap:8px}.med-plan-group>h3{font-size:19px}}
.med-log-panel>summary{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;list-style:none}.med-log-panel>summary::-webkit-details-marker{display:none}.med-log-panel>summary::before{content:'›';font-size:24px}.med-log-panel[open]>summary::before{transform:rotate(90deg)}.med-log-panel>summary h3{font:600 18px/1.4 system-ui;margin:0;flex:1}.med-log-panel>summary>span{font-size:14px}.med-log-content{padding-top:10px}.med-log-entry{padding:14px 0;border-bottom:1px solid var(--line)}.med-log-entry h4{margin:0;font-size:17px}.med-log-entry p{font-size:15px;line-height:1.55;margin:6px 0}.med-log-note{white-space:pre-wrap;overflow-wrap:anywhere}#medication-log-form{display:grid;gap:10px}#medication-log-form input,#medication-log-form textarea,#medication-log-form select,#med-log-filter{width:100%;padding:12px;font:inherit;color:var(--ink);background:white;border:1px solid var(--line);border-radius:12px;min-height:46px}#medication-log-dialog{width:min(560px,calc(100% - 24px));max-width:560px;max-height:90dvh;overflow-y:auto}
/* Consistent layout across the app, with a compact primary navigation. */
html{scroll-padding-top:180px}body{overscroll-behavior-y:none}.app{max-width:1020px}.hero{margin:20px 0;padding:18px 20px}.hero h1{font-size:35px;margin:8px 0}.hero .intro{margin:8px 0 0}.hero .flower{width:140px}.hero .flower span{font-size:105px}.hero .flower small{font-size:9px}body:not([data-view="day"]) .hero{display:none}.top{margin-bottom:16px}body .daytitle h2{font-size:25px}body .card{border-radius:16px}.weekcard{padding:13px 14px;gap:12px;border-radius:14px}.weekcard p{font-size:15px;line-height:1.5}.weekcard .count{font-size:14px}.weekcard .date{font-size:23px}.daytitle .action{width:auto;min-height:44px;font-size:16px;padding:10px 14px}body .gentle{font-size:14px;line-height:1.6;padding:12px 14px}.planner-actions{gap:8px}.planner-actions .action{min-height:44px;padding:10px;font-size:15px}body dialog{padding:20px;max-height:90dvh;overscroll-behavior:contain}body .dialoghead h2{font-size:23px}body dialog .action{min-height:48px;font-size:17px}#main:focus{outline:none}#connection-status{margin:0 0 12px;padding:8px 12px;background:#f9eddf;border:1px solid #e8d6bd;border-radius:12px;font-size:14px}#toast{z-index:100;max-height:30dvh;overflow:auto}footer{margin-top:20px}footer span{font-size:16px}@media(max-width:650px){.app{padding-inline:12px}.top .brand{font-size:22px}.hero{padding:16px;margin:12px 0}.hero h1{font-size:30px}body .daytitle h2{font-size:23px}.daytitle .action{width:100%}body .calendar-jump{gap:6px;flex-wrap:nowrap}body .calendar-jump .action{flex:1;min-width:0;padding:10px 6px;font-size:15px;min-height:44px}body .days .day{min-height:68px}body .days .day strong{font-size:22px}body .days .day small{font-size:13px}.view-tools{gap:6px;margin:12px 0}.selfcare-actions{gap:8px;margin:12px 0}.selfcare-actions .action{font-size:15px;min-height:46px;padding:10px 12px}.med-plan-group>h3{margin-bottom:8px}.medication-accordion>summary{min-height:48px}body .productcard.medication-accordion{padding:12px}body .medication-name{font-size:17px}body .medication-dose{font-size:15px}.photo-gallery{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.push-settings{padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.push-settings h3{font-size:20px;margin:8px 0}.push-settings p{font-size:15px;line-height:1.5}.push-settings .planner-actions{display:flex;flex-wrap:wrap}.push-settings .action{flex:1;min-width:130px;margin:4px 0}.calendar-reminder-alternative>summary{cursor:pointer;font-weight:600;min-height:44px}#push-status{padding:10px 12px;border-radius:12px;background:#e8f2ee;color:var(--ink)}
/* Compact moon overview and treatment finder */
body[data-view="moon"] .moon-summary{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px 14px;align-items:center}
body[data-view="moon"] .moon-summary>div{min-width:0}
.moon-care-preview{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #d9c9e5;padding-top:10px}
.moon-care-preview span{font-size:13px;line-height:1.4;background:#ffffffb8;border-radius:12px;padding:5px 9px;color:#624e72}
.moon-finder{background:#f0f6f2}
.moon-finder label{display:block;font-weight:650;font-size:17px;margin-bottom:8px}
body[data-view="moon"] .moon-finder select{width:100%;min-height:46px;margin:0;font:inherit;font-size:16px;padding:10px;border:1px solid #b5cec2;border-radius:12px;background:#fff;color:var(--ink)}
.moon-finder-result{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
body[data-view="moon"] .moon-finder p{font-size:14px;line-height:1.5;margin:6px 0}
.moon-finder-result p{flex:1 1 180px}
body[data-view="moon"] .moon-finder-result .action{font-size:14px;min-height:44px;margin:0;padding:9px 12px}
.moon-finder>small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:8px}
.moon-month-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
body[data-view="moon"] .moon-month-heading h3{font:600 18px/1.4 system-ui;margin:0}
.moon-month-heading>span{font-size:12px;color:var(--muted)}
body[data-view="moon"] .moon-day{background:#f5eff9;border:1px solid #e4d8ee}
body[data-view="moon"] .moon-day.is-today small{border:1px solid #866197;border-radius:50%;min-width:24px;min-height:24px;display:grid;place-items:center;line-height:1}
body[data-view="moon"] .moon-day.treatment-match{background:#e4f2eb;border-color:#a2c8b7}
body[data-view="moon"] .moon-day.selected{border:2px solid #815195;background:#e4d5ef;box-shadow:0 0 0 1px #815195}
body[data-view="moon"] .moon-day:focus-visible,.moon-event-shortcuts button:focus-visible{outline:3px solid #79538e;outline-offset:2px}
.moon-event-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.moon-event-shortcuts button{display:flex;align-items:center;text-align:left;gap:8px;min-height:64px;border:1px solid #ded0e9;border-radius:14px;background:#f3eafa;color:var(--ink);padding:10px;cursor:pointer}
.moon-event-shortcuts button>span:first-child{font-size:25px}.moon-event-shortcuts button>span:nth-child(2){flex:1;min-width:0}
.moon-event-shortcuts strong{display:block;font-size:14px}.moon-event-shortcuts small{display:block;font-size:12px;margin-top:4px;color:var(--muted)}
body[data-view="moon"] .moon-treatment-list{gap:8px;margin:10px 0}
body[data-view="moon"] .moon-treatment-list article{padding:12px;border-radius:12px}
body[data-view="moon"] .moon-treatment-list h4{font-size:16px}
body[data-view="moon"] .moon-treatment-list p{font-size:14px;line-height:1.5}
@media(max-width:360px){.moon-event-shortcuts button{padding:8px;gap:5px}.moon-event-shortcuts button>span:first-child{font-size:20px}.moon-month-heading>span{display:none}}
/* Beauty-Auszeit: quick planning and compact appointments */
body[data-view="auszeit"] #main>.card{padding:16px;margin-bottom:12px}
body[data-view="auszeit"] .daytitle{gap:10px;margin-bottom:12px}
body[data-view="auszeit"] .daytitle h2{font-size:25px}
body[data-view="auszeit"] .daytitle .action{margin:0;min-height:44px}
.auszeit-start{background:linear-gradient(125deg,#fae7ef,#ebe5f7)}
body[data-view="auszeit"] .auszeit-start h3{font:600 20px/1.4 system-ui;margin:0 0 5px}
.auszeit-start p{margin:5px 0 14px;color:var(--muted)}
.auszeit-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.auszeit-presets button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:86px;padding:12px 5px;border:1px solid #d8c5e4;border-radius:15px;background:#ffffffc9;color:var(--ink);cursor:pointer}
.auszeit-presets button:nth-child(2){background:#e3f2eb;border-color:#b9d7c7}
.auszeit-presets button:nth-child(3){background:#fbe0e9;border-color:#ebc4d5}
.auszeit-presets strong{font-size:21px}.auszeit-presets span{font-size:13px}
.auszeit-start>small{display:block;font-size:13px;line-height:1.5;margin-top:12px;color:var(--muted)}
.auszeit-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 10px}
.auszeit-list-heading h3{font:600 18px/1.4 system-ui;margin:0}
.auszeit-list-heading .pill{white-space:nowrap;font-size:13px}
.auszeit-card-top{display:flex;align-items:center;gap:12px}.auszeit-card-top>div{flex:1;min-width:0}
.auszeit-flower{display:grid;place-items:center;background:#f7e2ed;border-radius:13px;min-width:44px;height:44px;font-size:28px;color:#8a5e83}
body[data-view="auszeit"] .auszeit-card h3{font:600 16px/1.4 system-ui;margin:0}
.auszeit-card-top p{font-size:14px;color:var(--muted);margin:4px 0 0}
.auszeit-check{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.auszeit-check input{width:22px;height:22px;margin:0;accent-color:#85618f}
.auszeit-details{margin-top:12px;border-top:1px solid var(--line);padding-top:4px}
.auszeit-details>summary,.auszeit-history>summary{min-height:44px;cursor:pointer;font-size:15px;line-height:1.5;padding:10px 0}
.auszeit-details .custom-product-notes{font-size:14px;line-height:1.65}
.auszeit-details .planner-actions{gap:6px}.auszeit-details .action{font-size:14px;padding:10px;min-height:44px;margin:0}
.auszeit-history{margin-top:14px;background:#f5eff9}.auszeit-history>summary{font-weight:600}
.auszeit-history .auszeit-card{margin:8px 0 0;padding:12px}
.auszeit-done .auszeit-flower{background:#e1eee6}
.auszeit-empty p{font-size:15px;margin:0;line-height:1.6;color:var(--muted)}
.auszeit-footnote{margin-top:16px}
.auszeit-datetime{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.auszeit-datetime>div{min-width:0}.auszeit-datetime input{width:100%;min-width:0;box-sizing:border-box}
#auszeit-dialog #auszeit-status{font-size:14px;line-height:1.5;color:var(--muted)}
#auszeit-dialog .auszeit-option small{font-size:13px}#auszeit-dialog .auszeit-option{padding:10px 0}
.auszeit-presets button:focus-visible{outline:3px solid #79538e;outline-offset:3px}
@media(max-width:380px){.auszeit-presets{gap:5px}.auszeit-presets span{font-size:12px}.auszeit-card-top{gap:8px}.auszeit-check{flex-direction:column}.auszeit-flower{min-width:34px;height:38px}}
/* Short mindfulness exercises */
body:is([data-view="mindfulness"],[data-view="meditations"]) .daytitle{gap:8px;margin-bottom:10px}
body:is([data-view="mindfulness"],[data-view="meditations"]) .daytitle h2{font-size:26px}
.mindful-intro{margin:0 0 16px;max-width:680px}
.mindful-exercises{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-exercise{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:16px;margin:0;background:#f4edf9}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-exercise:nth-child(2n){background:#e9f3ee}
.mindful-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ffffffb8;color:#80608d;font-size:27px}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-exercise h3{font:600 18px/1.35 system-ui;margin:0 0 5px}
.mindful-exercise p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-exercise .action{grid-column:1/-1;margin:3px 0 0;min-height:44px;font-size:15px}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-player{background:linear-gradient(135deg,#fbe7ee,#e6edf6);padding:22px;margin:0 0 16px;text-align:center;scroll-margin-top:18px}
.mindful-player-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;text-align:left;font-size:14px;color:var(--muted)}
.mindful-progress{display:flex;gap:6px;margin:16px 0 24px}.mindful-progress span{flex:1;height:4px;border-radius:8px;background:#ded4e7}.mindful-progress span.filled{background:#9d7cad}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-player h3{font:26px/1.3 Georgia;margin:12px 0}
.mindful-player>p{max-width:570px;margin:12px auto;line-height:1.7;font-size:17px}
:is(#mindful-timer,#meditation-timer){display:block;font:500 38px/1.3 system-ui;font-variant-numeric:tabular-nums;margin:18px 0 6px;color:#715682}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-timer-note{font-size:13px;color:var(--muted);min-height:24px;margin:5px auto 12px}
.mindful-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-controls .action{min-height:44px;font-size:15px;padding:10px 14px;margin:0}
.mindful-end{background:transparent;border:0;color:#715682;text-decoration:underline;text-underline-offset:3px;min-height:44px;margin-top:10px;padding:10px;cursor:pointer;font:inherit;font-size:14px}
.mindful-player>.mindful-symbol{margin:auto}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-notes{margin-top:16px;padding:12px 16px}
.mindful-notes summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600;font-size:15px}
.mindful-notes p{font-size:14px;line-height:1.65;color:var(--muted)}
.mindful-player:focus-visible{outline:3px solid #94749f;outline-offset:3px}
@media(max-width:600px){.mindful-exercises{grid-template-columns:1fr;gap:10px}body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-exercise{grid-template-columns:40px minmax(0,1fr) auto;padding:14px;gap:10px}body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-exercise .action{grid-column:auto;padding:10px;font-size:14px}body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-exercise h3{font-size:16px}.mindful-exercise p{font-size:13px}.mindful-symbol{width:40px;height:40px}body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-player{padding:18px 14px}.mindful-controls{gap:5px}body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-controls .action{padding:10px;font-size:14px}}
@media(max-width:370px){body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-exercise{grid-template-columns:40px minmax(0,1fr)}body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-exercise .action{grid-column:1/-1}}
/* Device speech controls */
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-audio{padding:14px 16px;margin-bottom:14px;background:#edf4ef}
.mindful-read-toggle{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600;min-height:38px;margin:0 0 10px}
.mindful-read-toggle input{width:23px;height:23px;margin:0;accent-color:#85618d}
.mindful-voice-row{display:flex;align-items:flex-end;gap:10px}.mindful-voice-row>div{min-width:0;flex:1}
.mindful-voice-row label{display:block;font-size:14px;margin:0 0 5px}
.mindful-voice-row select{width:100%;min-width:0;min-height:44px;padding:9px;border:1px solid #c0d2c7;border-radius:11px;background:white;color:var(--ink);font:inherit;font-size:16px}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-voice-row .action{margin:0;min-height:44px;font-size:14px;white-space:nowrap;padding:10px 12px}
:is(#mindful-voice-status,#meditation-voice-status){font-size:13px;line-height:1.5;color:var(--muted);margin:10px 0 0}
.mindful-audio details{font-size:13px;color:var(--muted);margin-top:6px}.mindful-audio summary{cursor:pointer;min-height:34px;padding:8px 0}.mindful-audio details p{font-size:13px;line-height:1.6;margin:4px 0}
.mindful-listen-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
@media(max-width:360px){.mindful-voice-row{flex-wrap:wrap}.mindful-voice-row>div{flex-basis:100%}}
.mindful-recorded-voice{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mindful-recorded-voice strong{font-size:16px}.mindful-recorded-voice p{font-size:14px;color:var(--muted);margin:5px 0}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-recorded-voice .action{margin:0;min-height:44px;font-size:14px;padding:10px 12px;white-space:nowrap}

/* A focused mindfulness player with the approved recorded voice. */
.mindful-duration{display:block;font-size:13px;color:#765985;margin-bottom:5px;font-weight:600}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-exercises{gap:12px;margin-bottom:16px}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-exercise{align-items:center}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-exercise .action{min-height:48px}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-player .mindful-instruction{font-size:19px;line-height:1.75;max-width:36em;min-height:100px}
:is(#mindful-overall-progress,#meditation-overall-progress){display:block;width:100%;height:8px;margin:18px 0 22px;accent-color:#94739f;border:0;border-radius:10px;overflow:hidden}
:is(#mindful-total,#meditation-total){display:block;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-controls .action{min-height:48px}
body:is([data-view="mindfulness"],[data-view="meditations"])  :is([data-mindful-toggle],[data-meditation-toggle]){min-width:130px}
.mindful-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;cursor:pointer;font-weight:600;font-size:16px}
.mindful-settings>summary small{font-size:13px;font-weight:400;color:var(--muted)}
.mindful-settings>div{padding-top:12px}
.mindful-other{margin:0 0 16px}
.mindful-other>summary{cursor:pointer;padding:12px 4px;min-height:44px;color:var(--muted);font-size:15px}
.mindful-finished .type{display:block;margin-top:12px;font-size:13px}
.mindful-error{font-size:15px;line-height:1.6}
@media(max-width:600px){body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-player .mindful-instruction{font-size:18px;min-height:0}body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-controls{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:6px}body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-controls .action{font-size:14px;padding:10px 7px;min-width:0}body:is([data-view="mindfulness"],[data-view="meditations"]) .mindful-finished .mindful-controls{grid-template-columns:1fr}}

/* A single violet icon style for navigation, actions and expandable sections. */
body .button-symbol{display:inline-flex;align-items:center;justify-content:center;min-width:1.65em;height:1.65em;padding:0 .18em;border:1px solid #d9c8e8;border-radius:.42em;background:#f0e6f8;color:#76518e;font-family:"Apple Symbols","Segoe UI Symbol",system-ui,sans-serif;font-size:.95em;font-weight:500;line-height:1;vertical-align:middle;margin-inline-end:.45em;flex-shrink:0;font-variant-emoji:text}
body .tabs .button-symbol{font-size:1.05em}
body .tabs .active .button-symbol{background:#e5d4f1;border-color:#bda0d0;color:#68427f}
body button:disabled .button-symbol{opacity:.55}
body .iconbutton .button-symbol{margin:0}
/* Editable personal routines and local data settings. */
.routine-weekdays{display:flex;flex-wrap:wrap;gap:8px;border:1px solid var(--line);border-radius:12px;padding:12px;margin:14px 0}.routine-weekdays label{display:flex;align-items:center;gap:5px;margin:0;min-height:40px;font-size:15px}.routine-weekdays input,.routine-optional input{width:20px;height:20px;accent-color:#85628e}.routine-optional{display:flex;align-items:center;gap:8px;min-height:44px}.routine-group>summary{cursor:pointer;font-weight:600;min-height:44px;padding:10px 0}.routine-row{border-top:1px solid var(--line);padding:12px 0}.routine-row h3{font:600 18px/1.4 system-ui;margin:0 0 5px}.routine-row p{font-size:14px;color:var(--muted);margin:0}.routine-actions{display:flex;gap:8px}.routine-actions .action{width:auto;flex:1;min-height:44px;font-size:14px}.routine-day-link{margin:8px 0 12px}.routine-day-link .action{margin:0;min-height:44px}.legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;padding:18px 0}.legal-links a{color:#76518e;font-size:14px;min-height:44px;display:inline-flex;align-items:center}.local-data-settings{margin-top:18px;padding:14px}.local-data-settings p{font-size:14px}.test-version-note{font-size:14px;margin:8px 0 14px;padding:10px 14px}.information-page{max-width:800px}.information-page h1{font-size:32px}.information-page h2{font-size:23px}.information-page p{font-size:16px;line-height:1.7}.pre-line{white-space:pre-line}
