:root{--bg:#070812;--panel:rgba(18,20,34,.9);--line:rgba(255,255,255,.13);--text:#fbf7ff;--muted:#c2b6ce;--pink:#ff5ab3;--purple:#9e6bff;--blue:#4f8dff;--green:#17b978;--yellow:#f5c542;--red:#ff536b}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(255,90,179,.30),transparent 28rem),radial-gradient(circle at top right,rgba(158,107,255,.28),transparent 26rem),var(--bg)}button,input,select,textarea{font:inherit}.shell{width:min(100%,430px);min-height:100vh;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom))}header{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}small{color:var(--muted);font-size:13px;font-weight:800}h1,h2{margin:0}h1{font-size:27px}.pager,nav{display:grid;gap:8px}.pager{grid-template-columns:48px 1fr 48px;margin:10px 0}nav{grid-template-columns:repeat(3,1fr);padding:5px;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.22)}button{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.07);color:var(--text);font-weight:850}header button,nav button,.pager button{min-height:40px}nav button{border:0}.on,.primary{background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff}#pickhint{margin:0 0 10px;padding:10px 12px;border:1px solid rgba(255,90,179,.55);border-radius:8px;background:rgba(255,90,179,.14);font-weight:900}.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.wd{padding:4px 0;color:var(--muted);text-align:center;font-size:12px;font-weight:950}.day{display:flex;min-height:68px;flex-direction:column;gap:3px;overflow:hidden;padding:6px;background:var(--panel);text-align:left}.day.empty{opacity:0;pointer-events:none}.day.today{border-color:var(--pink);box-shadow:inset 0 0 0 1px rgba(255,90,179,.5)}.day.rangeStart{border-color:var(--green);box-shadow:inset 0 0 0 1px rgba(23,185,120,.75)}.day strong{font-size:13px}.pill{display:block;overflow:hidden;border-radius:5px;padding:3px 4px;color:#fff;font-size:10px;font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.agenda{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.18)}.agenda h2{margin-bottom:8px;font-size:16px}.agenda p{margin:0;color:var(--muted)}.row{display:grid;width:100%;grid-template-columns:10px 1fr;gap:10px;margin-top:8px;padding:10px;text-align:left}.row small{display:block;margin-top:2px;color:var(--muted)}.dot{width:10px;min-height:32px;border-radius:999px}.year{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.yc{padding:10px;background:var(--panel);text-align:left}.yc b,.yc span{display:block}.yc span{margin:2px 0 8px;color:var(--muted);font-size:12px}.yc div{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.yc i{aspect-ratio:1;border-radius:999px;background:rgba(255,255,255,.11)}.yc i.busy{background:linear-gradient(135deg,var(--pink),var(--purple))}dialog{width:min(408px,calc(100vw - 20px));max-height:calc(100vh - 24px);border:1px solid var(--line);border-radius:16px;padding:0;overflow:auto;background:#10101d;color:var(--text)}dialog::backdrop{background:rgba(0,0,0,.76)}dialog form{padding:16px}.head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.head p,.hint{margin:3px 0 0;color:var(--muted)}#x,#sx{width:38px;height:38px;border:0;font-size:26px}#pickUntil{min-height:42px;border:0;background:rgba(255,255,255,.11)}label,fieldset{display:grid;gap:7px;margin:0 0 12px;border:0;padding:0;color:var(--muted);font-size:13px;font-weight:850}legend{margin-bottom:7px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px;background:rgba(0,0,0,.25);color:var(--text)}textarea{resize:vertical}.split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;align-items:center;gap:9px;margin:0 0 7px;padding:9px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.05)}.check input{width:19px;height:19px}.actions{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.actions.right{justify-content:flex-end}.actions button{min-height:44px;border:0;padding:0 16px}.danger{background:rgba(255,83,107,.16);color:#ff9aaa}.pink{background:var(--pink)}.purple{background:var(--purple)}.blue{background:var(--blue)}.green{background:var(--green)}.yellow{background:var(--yellow);color:#211600}.red{background:var(--red)}@media(max-width:390px){.shell{padding-left:9px;padding-right:9px}.day{min-height:62px;padding:5px}.pill{font-size:9px}}

/* Bars belong to the week grid, never inside clipped day buttons. */
.monthWeeks{display:grid;gap:6px}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:6px;position:relative;isolation:isolate;min-height:68px}
.week .day{min-height:0;align-self:stretch;align-items:flex-start;justify-content:flex-start;padding:6px;z-index:0}
.eventBar{z-index:1;min-width:0;align-self:center;min-height:22px;margin:0 3px;padding:3px 4px;border:0;border-radius:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:10px;line-height:16px;font-weight:800}
.rangeBar{margin-left:0;margin-right:0}.continuesBefore{border-top-left-radius:0;border-bottom-left-radius:0}.continuesAfter{border-top-right-radius:0;border-bottom-right-radius:0}
#pickhint button{margin-left:10px;padding:6px 10px}.split{grid-template-columns:repeat(2,minmax(0,1fr))}.split label{min-width:0}input,select,textarea{min-width:0;max-width:100%;font-size:16px;color-scheme:dark}input[type=time],select{min-height:48px}input[type=time]{appearance:none;-webkit-appearance:none}input::-webkit-date-and-time-value{text-align:left}.check input{flex-shrink:0}.row>span{min-width:0;overflow-wrap:anywhere}button[hidden]{display:none}
