:root{--base:#F9F7F4;--neutral:#EDE5D8;--support:#C9B899;--gold:#D4B574;--text:#4A3B2F;--black:#000;--ok:#6f8f6a;--warn:#b9853b;--bad:#a8574a;--radius:16px}
@media(prefers-color-scheme:dark){:root{--base:#1d1914;--neutral:#2a241d;--support:#6b5d47;--gold:#D4B574;--text:#efe8dc;--black:#fff}}
*{box-sizing:border-box}
body{margin:0;background:var(--base);color:var(--text);font-family:'Quicksand','Caviar Dreams',system-ui,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Cormorant Garamond','The Rivers',Georgia,serif;font-weight:600;margin:0 0 .4em;letter-spacing:.2px}
h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}
.wrap{max-width:560px;margin:0 auto;padding:20px 16px 90px}
.wrap.wide{max-width:1000px}
header.top{display:flex;align-items:center;gap:12px;padding:6px 0 18px}
.logo{width:44px;height:44px;border-radius:50%;background:var(--neutral);border:1px solid var(--gold);display:grid;place-items:center;font-family:'Cormorant Garamond',serif;font-weight:700;color:var(--gold);font-size:1.15rem}
.brand small{display:block;color:var(--support);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.card{background:var(--neutral);border-radius:var(--radius);padding:18px;margin:0 0 14px;border:1px solid color-mix(in srgb,var(--support) 45%,transparent)}
.muted{color:color-mix(in srgb,var(--text) 65%,transparent);font-size:.9rem}
.week{color:var(--gold);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.bar{height:8px;background:color-mix(in srgb,var(--support) 35%,transparent);border-radius:99px;overflow:hidden;margin:10px 0 4px}
.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--support),var(--gold));border-radius:99px}
button,.btn{font:inherit;border:1px solid var(--gold);background:transparent;color:var(--text);padding:12px 16px;border-radius:12px;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
button.primary,.btn.primary{background:var(--gold);color:#2b2118;font-weight:700}
button:disabled{opacity:.5;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.row{display:flex;gap:8px;flex-wrap:wrap}.row>*{flex:1 1 120px}
.opt{border-color:var(--support)}.opt.sel{background:var(--gold);color:#2b2118;font-weight:700;border-color:var(--gold)}
input,textarea,select{font:inherit;width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--support);background:var(--base);color:var(--text)}
textarea{min-height:90px;resize:vertical}
label{display:block;font-weight:600;margin:10px 0 4px;font-size:.92rem}
ul.days{list-style:none;padding:0;margin:0}
ul.days li{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid color-mix(in srgb,var(--support) 35%,transparent);cursor:pointer}
ul.days li.locked{opacity:.45;cursor:default}
.dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;border:1px solid var(--support);flex:none}
.dot.fiz{background:var(--ok);color:#fff;border-color:var(--ok)}.dot.parte{background:var(--warn);color:#fff;border-color:var(--warn)}.dot.nao{background:var(--bad);color:#fff;border-color:var(--bad)}.dot.today{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}
nav.tabs{position:fixed;bottom:0;left:0;right:0;background:var(--base);border-top:1px solid var(--support);display:flex;justify-content:center;gap:4px;padding:8px}
nav.tabs button{border:none;flex:1;max-width:180px}nav.tabs button.on{color:var(--gold);font-weight:700}
.video{position:relative;padding-top:56.25%;border-radius:12px;overflow:hidden;margin:12px 0}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.msg{white-space:pre-wrap}
.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.78rem;border:1px solid var(--support)}.pill.risk{background:var(--bad);color:#fff;border-color:var(--bad)}.pill.draft{background:var(--warn);color:#fff;border-color:var(--warn)}
table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid color-mix(in srgb,var(--support) 40%,transparent);vertical-align:top}
.toast{position:fixed;left:50%;bottom:70px;transform:translateX(-50%);background:var(--text);color:var(--base);padding:10px 16px;border-radius:99px;font-size:.9rem;z-index:9}
