:root{--bg:#ede4d0;--bg-translucent:#ede4d0eb;--surface:#fdf8ec;--surface-soft:#f5edd9;--ink:#1a1f2e;--ink-soft:#4a4f5e;--ink-muted:#8a8a8e;--line:#e1d6bd;--line-strong:#ccbfa3;--accent:#c0492a;--accent-soft:#f5e6d3;--accent-bright:#e6593f;--c-morning:#4a6ea8;--c-afternoon:#c98442;--c-night:#2c3e6e;--c-vmer:#d4a02b;--c-eem:#b3261e;--c-folga:#d4a02b;--c-rest:#d4a02b;--c-dc:#5a8ec0;--c-vacation:#3d7d4f;--c-training:#3a4b6e;--c-health:#b35070;--c-cleaning:#9b8456;--c-period:#c97090;--c-meal:#8a5d3b;--c-birthday:#b35070;--c-holiday:#4a8579;--c-other:#8a8a8e;--shadow-sm:0 1px 2px #321e0a0f;--shadow-md:0 4px 14px #321e0a14;--shadow-lg:0 16px 40px #321e0a1f;color:var(--ink);background:var(--bg);font-feature-settings:"ss01", "cv11";font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background .4s,color .4s}:root[data-theme=night]{--bg:#1a1410;--bg-translucent:#1a1410eb;--surface:#2a221c;--surface-soft:#1f1814;--ink:#ede4d0;--ink-soft:#c5b8a0;--ink-muted:#8a8076;--line:#3a2f26;--line-strong:#5a4a3a;--accent:#e6593f;--accent-soft:#2e1a13;--accent-bright:#e6593f;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 18px #00000059;--shadow-lg:0 20px 48px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-corner{background:0 0}:root[data-theme=night] ::-webkit-scrollbar-thumb{background:#5a4a3a padding-box padding-box}:root[data-theme=night] ::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button{font:inherit;cursor:pointer}main{flex-direction:column;gap:clamp(12px,1.6vw,18px);max-width:1280px;margin:0 auto;padding:clamp(12px,2.4vw,24px);display:flex;overflow-x:hidden}.monthPanel,.monthGrid{min-width:0;overflow-x:hidden}.topbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brandIcon{background:var(--accent);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.brandAvatar{background:linear-gradient(135deg, var(--accent), #d68542);border-radius:999px;padding:0;overflow:hidden}.brandAvatar img{object-fit:cover;width:100%;height:100%;display:block}.brandLogo{background:0 0;border-radius:10px;padding:0;overflow:hidden}.brandLogo img{object-fit:cover;width:100%;height:100%;display:block}.brandText{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.brandText strong{letter-spacing:-.02em;color:var(--ink);font-size:1.15rem;font-weight:700;line-height:1.1}.syncMini{color:#3d8054;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}.syncMini.offline{color:#b3261e}.syncMini.syncing{color:var(--accent)}.syncMiniDot{background:currentColor;border-radius:999px;width:6px;height:6px}.syncMini.syncing .syncMiniDot{animation:1.4s ease-in-out infinite pulseDot}@keyframes pulseDot{0%,to{opacity:.4}50%{opacity:1}}.topActions{flex-shrink:0;gap:4px;display:inline-flex}.topIconBtn{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .14s,color .14s;display:inline-flex}.topIconBtn:hover{background:var(--surface-soft);color:var(--ink)}.topbar img.appLogo{border-radius:8px;flex-shrink:0;width:32px;height:32px}.avatar{background:linear-gradient(135deg, var(--accent), #1ba0c0);color:#fff;width:28px;height:28px;box-shadow:var(--shadow-sm);border:2px solid var(--bg);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:-10px;font-size:.78rem;font-weight:700;transition:background .2s;display:inline-flex}.topbar strong{letter-spacing:-.02em;font-size:1.15rem;font-weight:700}.topClock{color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.85rem;font-weight:600}.syncBadge{text-transform:lowercase;letter-spacing:.02em;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--accent-soft);color:var(--accent);border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:.72rem;font-weight:600;transition:background .16s,border-color .16s;display:inline-flex}.syncBadge:hover{border-color:var(--accent);background:#dbe9f9}.syncBadge.syncing{color:#8a6300;background:#fff3d4}.syncBadge.offline{color:#b3261e;background:#fde0e0}.syncBadge.syncing svg{animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.iconButton{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;transition:background .14s,color .14s,border-color .14s,transform 80ms;display:inline-flex}.iconButton:hover{background:var(--accent);border-color:var(--accent);color:#fff}.iconButton:active{transform:scale(.94)}.iconButton:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gate{background:linear-gradient(160deg, var(--bg), #e0ecf8);z-index:50;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.gate form{background:var(--surface);width:100%;max-width:360px;box-shadow:var(--shadow-lg);border-radius:24px;flex-direction:column;align-items:stretch;gap:12px;padding:32px 28px;display:flex}.gateIcon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.gate h1{letter-spacing:-.025em;margin:0;font-size:1.4rem;font-weight:700}.gate>form>p{color:var(--ink-muted);margin:0 0 8px;font-size:.92rem;line-height:1.45}.gate input{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:12px;outline:none;padding:12px 14px;font-size:1rem;font-weight:500;transition:border-color .12s,box-shadow .12s}.gate input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1f7ae024}.gate button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1856b6,#1ba0c0);border:0;border-radius:12px;padding:12px;font-size:1rem;font-weight:700;transition:opacity .12s,transform 80ms}.gate button:disabled{opacity:.5;cursor:default}.gate button:not(:disabled):active{transform:translateY(1px)}.gateError{color:#b3261e;margin:0;font-size:.85rem;font-weight:600}.uploadHero{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.uploadButton,.nowButton{border:0;border-radius:18px;justify-content:center;align-items:center;gap:10px;min-height:56px;padding:0 22px;font-size:1rem;font-weight:700;transition:transform 80ms,box-shadow .2s;display:inline-flex}.uploadButton{background:linear-gradient(135deg, var(--accent), #1ba0c0);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);letter-spacing:-.005em;flex:1}.uploadButton:hover{box-shadow:var(--shadow-lg)}.uploadButton:active{transform:translateY(1px)}.uploadButton input{display:none}.nowButton{background:var(--surface);color:var(--accent);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.nowButton:hover{border-color:var(--line-strong)}.progress{color:var(--ink-soft);align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:inline-flex}.monthPanel,.nowCard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);transition:background .3s,border-color .3s}.nowCard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:14px;flex-direction:column;gap:6px;padding:18px 22px 22px;display:flex;position:relative;overflow:hidden}.nowCardTop{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.statusBadge{color:#2d6a3f;letter-spacing:.05em;background:#3d805424;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.statusDot{background:#3d8054;border-radius:999px;width:6px;height:6px}.weatherChip{color:var(--ink-soft);align-items:center;gap:6px;display:inline-flex}.weatherChip strong{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:1.3rem;font-weight:600}.weatherChip em{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.78rem;font-style:normal}.nowDate{color:var(--ink-soft);margin-top:2px;font-size:.88rem;font-weight:500;display:block}.nowDate:first-letter{text-transform:uppercase}.nowBigClock{align-items:baseline;gap:10px;margin:6px 0 2px;display:flex}.nowClockBig{font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--ink);font-size:clamp(2.2rem,6vw,3.2rem);font-weight:800;line-height:1}:root[data-theme=night] .nowClockBig{color:#fff}:root[data-theme=night] .nowDayNight.day{color:#ffd966;background:#ffd5662e}:root[data-theme=night] .nowDayNight.dusk{color:#ffaa80;background:#ff905c2e}:root[data-theme=night] .nowDayNight.night{color:#ffd966;background:#ffd5662e}.nowTitle{letter-spacing:-.04em;color:var(--ink);margin:4px 0 10px;font-size:clamp(2.6rem,6vw,4rem);font-weight:800;line-height:.95}.nowFooterRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.streakBlock{flex-direction:column;flex:1;gap:8px;min-width:140px;display:flex}.streakLabel{color:var(--ink);font-size:.92rem;font-weight:500}.streakLabel strong{margin-right:2px;font-size:1.1rem;font-weight:800}.streakOf{color:var(--ink-muted);font-weight:500}.streakBar{gap:3px;width:100%;max-width:240px;display:flex}.streakSeg{background:#00000014;border-radius:3px;flex:1;height:7px}.streakSeg.filled{background:var(--c-vacation)}.endLabel{color:var(--ink-soft);text-align:right;align-self:center;font-size:.85rem;font-weight:500}.nextChip{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;align-items:baseline;gap:6px;padding:6px 10px;display:inline-flex}.nextChip span{text-transform:uppercase;color:var(--ink-muted);letter-spacing:.08em;font-size:.65rem;font-weight:700}.nextChip strong{font-size:.95rem;font-weight:700}.nextChip em{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.78rem;font-style:normal}.nowCard.night .statusBadge{color:#cef0d2;background:#ffffff29}.nowCard.night .statusDot{background:#6d8}.nowCard.night .weatherChip,.nowCard.night .weatherChip strong{color:#f0eee3}.nowCard.night .weatherChip em{color:#f0eee3b3}.nowCard.night .nowDate{color:#ffffffc7}.nowCard.night .nowDot{color:#ffffff80}.nowCard.night .nowTitle,.nowCard.night .streakLabel{color:#fff}.nowCard.night .streakOf{color:#ffffff9e}.nowCard.night .endLabel{color:#ffffffbf}.nowCard.night .nextChip{background:#ffffff1a;border-color:#ffffff29}.nowCard.night .nextChip span{color:#ffffffa6}.nowCard.night .nextChip strong{color:#fff}.nowCard.night .nextChip em{color:#ffffffc7}.statusBadge{color:#1e5a32;background:#2d6a3f2e}.nowCard.morning .statusBadge{color:#1e477a;background:#2d64af2e}.nowCard.afternoon .statusBadge{color:#7a3a10;background:#b45a1e2e}.nowCard.rest .statusBadge{color:#6b4a00;background:#a06e002e}.nowCard.dc .statusBadge{color:#1e477a;background:#2d64af2e}:root[data-theme=night] .nowCard{color:#ede4d0;border-color:#ffffff0d}:root[data-theme=night] .nowCard.morning{background:linear-gradient(140deg,#1f2c4a,#15203a)}:root[data-theme=night] .nowCard.afternoon{background:linear-gradient(140deg,#3a2515,#2a1c10)}:root[data-theme=night] .nowCard.rest{background:linear-gradient(140deg,#3a3015,#2a2410)}:root[data-theme=night] .nowCard.dc{background:linear-gradient(140deg,#1f3050,#15243a)}:root[data-theme=night] .nowCard.vacation{background:linear-gradient(140deg,#2a3a25,#1f2c1a)}:root[data-theme=night] .nowCard.free{background:linear-gradient(140deg,#2a221c,#1f1814)}:root[data-theme=night] .nowCard h1,:root[data-theme=night] .nowCard .nowTitle{color:#fff}:root[data-theme=night] .nowCard .nowDate,:root[data-theme=night] .nowCard p{color:#ede4d0c7!important}:root[data-theme=night] .nowCard .nowDot{color:#ede4d073}:root[data-theme=night] .nowCard .streakLabel{color:#ede4d0}:root[data-theme=night] .nowCard .streakLabel strong{color:#fff}:root[data-theme=night] .nowCard .streakOf{color:#ede4d08c}:root[data-theme=night] .nowCard .endLabel{color:#ede4d0c7}:root[data-theme=night] .nowCard .weatherChip,:root[data-theme=night] .nowCard .weatherChip strong{color:#ede4d0}:root[data-theme=night] .nowCard .weatherChip em{color:#ede4d0a6}:root[data-theme=night] .nowCard .statusBadge{color:#95dca5!important;background:#78c88c2e!important}:root[data-theme=night] .statusDot{background:#6d8}:root[data-theme=night] .streakSeg{background:#ffffff1a}:root[data-theme=night] .nowCard.vacation .streakSeg.filled{background:#66a079}:root[data-theme=night] .nowCard.rest .streakSeg.filled{background:#e6b32a}:root[data-theme=night] .nowCard .nextChip{background:#ffffff14;border-color:#ffffff1f}:root[data-theme=night] .nowCard .nextChip span{color:#ede4d09e}:root[data-theme=night] .nowCard .nextChip strong{color:#fff}:root[data-theme=night] .nowCard .nextChip em{color:#ede4d0bf}.nowCard>span{text-transform:uppercase;letter-spacing:.18em;color:var(--ink-muted);font-size:.7rem;font-weight:700;position:relative}.nowEyebrow{flex-wrap:wrap;align-items:center;gap:7px;display:inline-flex}.nowEyebrowLabel{color:var(--ink-soft)}.nowEyebrowSep{opacity:.5}.nowEyebrowDate{text-transform:none;letter-spacing:0;color:var(--ink-muted);margin-left:2px;font-size:.7rem;font-weight:500}.nowTimeRow{align-items:center;gap:14px;margin-top:10px;margin-bottom:4px;display:flex;position:relative}.nowTimeBig{font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--ink);font-size:clamp(2.2rem,5.5vw,3.2rem);font-weight:800;line-height:1}.nowDayNight{text-transform:lowercase;letter-spacing:.02em;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.nowDayNight.day{color:#b27314;background:#f5b8362e}.nowDayNight.dusk{color:#a14418;background:#c95c2a2e}.nowDayNight.night{color:#ffd479;background:#ffffff29}.nowCard.night .nowTimeBig{color:#fff}@media (width<=720px){.nowTimeBig{font-size:2rem}.nowDayNight{padding:4px 9px;font-size:.72rem}}.nowCard h1{letter-spacing:-.05em;color:#0f1a2c;margin:10px 0 8px;font-size:clamp(2.8rem,7vw,5.4rem);font-weight:800;line-height:.92;position:relative}.nowCard{color:#0f1a2c}.nowCard .nowEyebrowLabel{color:#4a5a72}.nowCard .nowEyebrowDate{color:#7889a0}.nowCard .nowSubtitle,.nowCard .nowDetail,.nowCard p{color:#4a5a72}.nowCard .nowTimeBig{color:#0f1a2c}.nowCard.night,.nowCard.night h1,.nowCard.night .nowTimeBig{color:#fff}.nowCard.night .nowEyebrowLabel{color:#dceeffd9}.nowCard.night .nowEyebrowDate{color:#dceeff9e}.nowCard.night .nowSubtitle,.nowCard.night .nowDetail,.nowCard.night p{color:#dceeffd9}.nowCard p{color:var(--ink-soft);margin:0;font-weight:500;position:relative}.nowSubtitle{font-size:1.05rem}.nowDetail{color:var(--ink-muted)!important;margin-top:4px!important;font-size:.92rem!important}.nowCard b{background:var(--ink);color:#fff;letter-spacing:-.005em;border-radius:999px;align-self:flex-start;margin-top:18px;padding:8px 14px;font-size:.85rem;font-weight:600;position:relative}.nowNext{background:#0f1a2c0f;border-radius:14px;flex-direction:column;align-self:flex-start;gap:2px;margin-top:16px;padding:10px 14px;display:inline-flex;position:relative}.nowNext span{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:700}.nowNext strong{color:var(--ink);font-size:1.05rem;font-weight:700}.nowNext em{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.85rem;font-style:normal;font-weight:500}.nowCard.night .nowNext{background:#ffffff1f}.nowCard.night .nowNext span{color:#dceeffa6}.nowCard.night .nowNext strong{color:#fff}.nowCard.night .nowNext em{color:#dceeffcc}.nowCard.morning{background:linear-gradient(140deg,#fff4d4,#fff8e6)}.nowCard.afternoon{background:linear-gradient(140deg,#ffe2c8,#fff0e0)}.nowCard.night{color:#fff;background:linear-gradient(160deg,#14224a,#0e4a78)}.nowCard.night>span{color:#dceeffb3}.nowCard.night p{color:#dceeffd9}.nowCard.night b{color:var(--ink);background:#fff}.nowCard.rest{background:linear-gradient(140deg,#d9f5e3,#ecfbf1)}.nowCard.vacation{background:linear-gradient(140deg,#d2f0dc,#e8faef)}.nowCard.free{background:linear-gradient(140deg,#eaf2fb,#f4f8fd)}.monthPanel{border-radius:clamp(16px,1.8vw,22px);padding:clamp(12px,1.6vw,22px)}.monthTitle{color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:14px;display:flex}.monthTitle h2{text-transform:capitalize;letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.1rem;font-weight:700}.monthTitle svg{color:var(--accent)}.monthPanel{box-shadow:none;background:0 0;border:0;padding:4px 0}:root[data-theme=night] .monthPanel{background:0 0}.monthNav{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.monthNav .iconButton{width:30px;height:30px}.todayChip{border:1px solid var(--accent-soft);background:var(--accent-soft);color:var(--accent);cursor:pointer;text-transform:lowercase;border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:background .12s,color .12s}.todayChip:hover{background:var(--accent);color:#fff}.viewToggle{background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;gap:2px;margin-left:auto;padding:3px;display:inline-flex}.viewToggle button{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:background .12s,color .12s}.viewToggle button:hover{color:var(--ink)}.viewToggle button.on{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.monthNav{margin-left:8px}.cell header{gap:4px}.cell header>span:first-child{align-items:center;gap:4px;display:inline-flex}.cellWeather{color:var(--ink-muted);align-items:center;gap:2px;font-size:.62rem;font-weight:600;display:inline-flex}.cellWeather small{font-variant-numeric:tabular-nums;font-size:.62rem;font-weight:600}.nowWeather{color:var(--ink-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1;background:#ffffff73;border-radius:16px;flex-direction:column;align-items:flex-end;gap:4px;padding:10px 14px;display:inline-flex;position:absolute;top:22px;right:22px}.nowWeather strong{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;line-height:1}.nowWeather em{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.75rem;font-style:normal}.nowCard.night .nowWeather{color:#fff;background:#ffffff1f}.nowCard.night .nowWeather em{color:#dceeffbf}.detailWeather{color:var(--ink-soft);align-items:center;gap:6px;margin-top:6px;font-size:.85rem;font-weight:500;display:inline-flex}.cellSlots{border-radius:6px;grid-template-columns:repeat(6,1fr);gap:2px;height:28px;display:grid;position:relative;overflow:hidden}.slot{color:#fff;letter-spacing:-.005em;text-shadow:0 1px 1px #00000040;background:#0f1a2c0d;border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:.7rem;font-weight:700;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000f}.slot>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slot.empty{box-shadow:none;text-shadow:none;background:#0f1a2c0d}:root[data-theme=night] .slot.empty{background:#ffffff0d}.slot.morning{background:linear-gradient(135deg,#4f93f7,#3673df)}.slot.afternoon{background:linear-gradient(135deg,#f48a48,#de6c2a)}.slot.night{background:linear-gradient(160deg,#354b8a,#1f2c5e)}.slot.vmer{color:#2b2310;text-shadow:0 1px 1px #ffffff4d;background:linear-gradient(135deg,#fac042,#e0a31a)}.slot.eem{box-shadow:inset 2px 0 #b3261e,inset 0 0 0 1px #0000000f}.slotsFull{color:#fff;letter-spacing:-.005em;text-shadow:0 1px 1px #00000040;border-radius:6px;justify-content:center;align-items:center;height:28px;padding:0 10px;font-size:.78rem;font-weight:700;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000f}.slotsFull>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.slotsFull.vacation{background:linear-gradient(140deg,#1e9b53,#126d38)}.slotsFull.rest{background:linear-gradient(135deg,#3eb963,#2a9b4c)}.slotsFull.dc{background:linear-gradient(135deg,#7fb6ec,#5d96d9)}.slotsFullBg{opacity:.45;z-index:0;border-radius:6px;position:absolute;inset:0}.slotsFullBg.vacation{background:linear-gradient(140deg,#1e9b53,#126d38)}.slotsFullBg.rest{background:linear-gradient(135deg,#3eb963,#2a9b4c)}.slotsFullBg.dc{background:linear-gradient(135deg,#7fb6ec,#5d96d9)}.cellSlots>.slot{z-index:1;position:relative}.weekDayBody .cellSlots{height:30px}.weekDayBody .slot{font-size:.78rem}.weekDayBody .slotsFull{height:30px;font-size:.9rem}.miniTimeline{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;flex-shrink:0;height:18px;position:relative;overflow:hidden}.miniBg{opacity:.55;position:absolute;inset:0}.miniBg.vacation{background:linear-gradient(140deg,#1e9b53,#126d38)}.miniBg.rest{background:linear-gradient(135deg,#3eb963,#2a9b4c)}.miniBg.dc{background:linear-gradient(135deg,#7fb6ec,#5d96d9)}.miniSeg{color:#fff;white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;padding:0 3px;font-size:.55rem;font-weight:700;display:flex;position:absolute;top:1px;bottom:1px;overflow:hidden;box-shadow:0 1px 2px #00000026}.miniSeg>span{text-overflow:ellipsis;overflow:hidden}.miniSeg.morning{background:linear-gradient(135deg,#4f93f7,#3673df)}.miniSeg.afternoon{background:linear-gradient(135deg,#f48a48,#de6c2a)}.miniSeg.night{background:linear-gradient(160deg,#2e427e,#1b2b58)}.miniSeg.night[style*="width: 4.16"]>span,.miniSeg.night[style*="width: 4.17"]>span{display:none}.cellLetters{align-items:stretch;gap:3px;width:100%;display:flex;position:relative}.cellLettersSplit{gap:4px}.cellHalf{flex:1 1 0;align-items:stretch;gap:3px;min-width:0;display:flex}.cellLetter{color:#fff;text-shadow:0 1px 1px #00000038;-webkit-user-select:none;user-select:none;border-radius:4px;justify-content:center;align-items:center;height:20px;padding:0 5px;font-size:.82rem;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 1px #0000000f}.cellLetter.full,.cellLetter.morning,.cellLetter.afternoon{flex:1 1 0;min-width:0}.cellLettersMixed{gap:3px;width:100%;display:flex;position:relative}.cellLettersMixed .cellLetter{flex:1 1 0;min-width:0}.cellLettersMixed .cellLetter.night.sair,.cellLettersMixed .cellLetter.night.entrar{flex:0 0 18%;margin-left:0;padding:0 3px}.cellLettersMixed .cellLetter.night.entrar{margin-left:auto}.cellLettersSplit{grid-template-columns:1fr 1fr;gap:2px;width:100%;display:grid;position:relative}.cellHalf{align-items:stretch;min-width:0;display:flex}.cellHalf>.cellLetter{flex:1;min-width:0}.cellLettersCentered{grid-template-columns:1fr 2fr 1fr;width:100%;display:grid}.cellLettersCentered>.cellLetter{grid-column:2;width:100%;min-width:0;display:flex}.cellNightsOpposite{justify-content:space-between;align-items:stretch;width:100%;height:20px;display:flex}.cellNightsOpposite>.cellLetter{flex:0 0 25%;width:25%;padding:0 5px}.cellHalf>.cellLetter.nightChip{border-radius:5px;flex:0 0 50%;min-width:0;padding:0 4px}.cellChain{align-items:stretch;gap:2px;width:100%;height:20px;display:flex}.cellChain.chainRight{justify-content:flex-end;position:relative}.cellChain.chainLeft{justify-content:flex-start;position:relative}.cellChain.hasSairOverlay .cellNightEdge.sair,.cellChain.hasEntrarOverlay .cellNightEdge.entrar{width:14px;height:20px;position:absolute;top:0}.cellChain.hasSairOverlay .cellNightEdge.sair{border-radius:5px 1px 1px 5px;left:0}.cellChain.hasEntrarOverlay .cellNightEdge.entrar{border-radius:1px 5px 5px 1px;right:0}.cellChain>.cellLetter{flex:none;height:20px}.cellChain>.cellLetter.morning,.cellChain>.cellLetter.afternoon,.cellChain>.cellLetter.vacation,.cellChain>.cellLetter.dc{width:50%;padding:0 5px}.cellChain>.cellLetter.nightChip{border-radius:5px;width:25%;padding:0 4px}.cellLetter.nightChip.vmer,.cellHalf>.cellLetter.nightChip.vmer,.cellChain>.cellLetter.nightChip.vmer{outline:none;box-shadow:0 0 0 2px #dca424}.cellNightEdge{color:#fff;z-index:2;text-shadow:0 1px 1px #00000038;background:#2c3e6e;justify-content:center;align-items:center;width:11px;height:20px;font-size:.65rem;font-weight:800;display:inline-flex;position:absolute;top:0;box-shadow:inset 0 0 0 1px #0000000f}.cellNightEdge.sair{border-radius:4px 1px 1px 4px;left:0}.cellNightEdge.entrar{border-radius:1px 4px 4px 1px;right:0}.cellNightEdge.vmer{box-shadow:inset 0 0 0 1.5px #dca424}.cellLetter.vacation,.cellLetter.rest{background:#2e7044;flex:1 1 0;min-width:0}.cellLetter.dc{color:#1a3a25;text-shadow:0 1px 1px #ffffff4d;background:#8acca0;flex:1 1 0;min-width:0}.cellLetter.morning{background:#4f93f7}.cellLetter.afternoon{background:#de6c2a}.cellLetter.night{background:#2c3e6e}.cellLetter.night.sair,.cellLetter.night.entrar{border-radius:5px;padding:0 5px}.cellLetter.vmer{box-shadow:inset 0 0 0 1.5px #dca424}.cellPills{flex-direction:column;gap:3px;width:100%;min-width:0;max-width:100%;display:flex;overflow:hidden}.cellPill{color:#fff;text-shadow:0 1px 1px #0003;box-sizing:border-box;border-radius:5px;align-items:center;gap:4px;width:100%;min-width:0;max-width:100%;padding:3px 7px;font-size:.65rem;font-weight:700;line-height:1.15;display:flex;overflow:hidden}.cellPillIcon{flex-shrink:0;align-items:center;display:inline-flex}.cellPillIcon svg{width:10px;height:10px}.cellPillLabel{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cellPill.morning{background:linear-gradient(135deg,#4f93f7,#3673df)}.cellPill.afternoon{background:linear-gradient(135deg,#f48a48,#de6c2a)}.cellPill.night{background:linear-gradient(160deg,#354b8a,#1f2c5e)}.cellPill.carry{background:linear-gradient(160deg,#4a5fa0,#2e3f7a);border-left:3px solid #f5b836}.cellPill.dc{background:linear-gradient(135deg,#7fb6ec,#5d96d9)}.cellPill.rest{color:#3a2700;text-shadow:0 1px 1px #ffffff40;background:linear-gradient(135deg,#e6b32a,#c99916)}.cellPill.vacation{background:linear-gradient(140deg,#2e7044,#1e5a32)}.cellPill.training{background:#3a4b6e}.cellPill.health,.cellPill.cleaning{background:#c25775}.cellPill.period{background:#d0789a}.cellPill.meal,.cellPill.birthday{background:#b88060}.cellPill.holiday{background:#6ea49b}.cellPill.other,.cellPill.personal{background:#9b8e7a}.cellPill.vmer{box-shadow:inset 3px 0 #dca424}.cellPill.eem{box-shadow:inset 3px 0 #b3261e}.cellPill.partial{opacity:.92;width:55%;padding:2px 5px;font-size:.58rem}.cellPill.partial.sair{align-self:flex-start}.cellPill.partial.entrar{align-self:flex-end}.iconPill.partial{opacity:.94;padding:4px 9px;font-size:.74rem}.iconPill.partial.sair{margin-right:auto}.iconPill.partial.entrar{margin-left:auto}.miniMarkers{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.miniMarker{background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;max-width:100%;padding:2px 7px;font-size:.6rem;font-weight:600;display:inline-flex;overflow:hidden}.miniMarker.training{color:#5a6cf0;border-color:#5a6cf0}.miniMarker.health,.miniMarker.cleaning{color:#d65a57;border-color:#d65a57}.miniMarker.meal,.miniMarker.birthday{color:#8e24aa;border-color:#8e24aa}.miniMarker.period{color:#525866;border-color:#525866}.miniMarker.holiday{color:#009688;border-color:#009688}.miniMarker.other{border-color:var(--line-strong);color:var(--ink-muted)}.dayStrip{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;width:100%;height:44px;position:relative;overflow:hidden}.dayStripBg{color:#fff;letter-spacing:-.005em;text-shadow:0 1px 1px #00000040;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:flex;position:absolute;inset:0}.dayStripBg.vacation,.dayStripBg.rest{background:linear-gradient(140deg,#2e7044,#1e5a32)}.dayStripBg.dc{color:#1a3a25;text-shadow:0 1px 1px #ffffff4d;background:linear-gradient(135deg,#8acca0,#6db285)}.dayStripSeg{color:#fff;text-shadow:0 1px 1px #00000040;border-radius:6px;align-items:center;gap:6px;padding:0 6px;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden;box-shadow:0 1px 3px #0000002e}.dayStripSegText{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.dayStripVmer{object-fit:cover;z-index:2;background:#ffffff2e;border-radius:999px;flex-shrink:0;width:22px;height:22px;padding:2px;position:absolute;bottom:2px;right:2px;box-shadow:0 1px 3px #0000004d}.dayStripSeg.vmer{box-shadow:inset 0 0 0 2px #dca424,0 1px 3px #0000002e}.dayStripSeg.morning{background:linear-gradient(135deg,#4f93f7,#3673df)}.dayStripSeg.afternoon{background:linear-gradient(135deg,#f48a48,#de6c2a)}.dayStripSeg.night{background:linear-gradient(160deg,#354b8a,#1f2c5e)}.dayStripSegLabel{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.005em;font-size:.86rem;font-weight:800;line-height:1.1;overflow:hidden}.dayStripSegTime{opacity:.9;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;line-height:1.1;overflow:hidden}.weekMarkers{opacity:.85;flex-wrap:wrap;gap:4px;min-width:0;max-width:100%;margin-top:6px;display:flex}.weekMarkers .iconPill{border:1.5px solid;border-radius:999px;min-width:0;max-width:100%;padding:4px 10px;font-size:.74rem;font-weight:700;overflow:hidden}.weekMarkers .iconPillLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.weekMarkers .iconPillIcon{flex-shrink:0}.weekMarkers .iconPill.training{color:#fff;background:#3a4b6e;border-color:#2c3e6e}.weekMarkers .iconPill.health,.weekMarkers .iconPill.cleaning{color:#fff;background:#b4546b;border-color:#9c3f56}.weekMarkers .iconPill.period{color:#fff;background:#c46688;border-color:#ad4d70}.weekMarkers .iconPill.meal,.weekMarkers .iconPill.birthday{color:#fff;background:#9c6940;border-color:#7c5028}.weekMarkers .iconPill.holiday{color:#fff;background:#4a8579;border-color:#336e63}.weekMarkers .iconPill.other,.weekMarkers .iconPill.personal{color:#fff;background:#7c7263;border-color:#5e5648}.weekMarkers .iconPill svg{opacity:.95;color:#fff}:root[data-theme=night] .weekMarkers .iconPill{color:#fff}:root[data-theme=night] .weekMarkers .iconPill svg{color:#fff;opacity:.95}.weekDayBody{flex-direction:column;gap:5px;min-width:0;display:flex}.weekTimeline{border-radius:8px;height:26px}.weekTimeline .miniSeg{flex-direction:column;align-items:flex-start;padding:2px 6px;font-size:.62rem;line-height:1.05}.weekTimeline .miniSegLabel{font-size:.7rem;font-weight:700}.weekTimeline .miniSegTime{opacity:.82;font-variant-numeric:tabular-nums;font-size:.55rem}.weekDay .miniMarker{padding:3px 9px;font-size:.7rem}.todayTimelineSection{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:clamp(16px,1.8vw,22px);padding:14px 18px 10px;transition:background .3s,border-color .3s}.todayTimelineSection .timeline{border-bottom:0;padding:0}.todayTimelineSection .timelineCompact .timelineTrack{height:34px}.todayTimelineSection .timelineMarkers{margin-top:8px}.timelineCompact .timelineAvatarTime{display:none}.timelineCompact .timelineAvatarBubble{width:32px;height:32px;box-shadow:0 2px 6px #c0492a66, 0 0 0 2px var(--surface)}.timeline{border-bottom:1px solid var(--line);padding:14px 22px 6px}.timeline.timelineClickable{cursor:pointer;border-radius:12px;transition:background .14s}.timeline.timelineClickable:hover{background:var(--surface-soft)}.timeline.timelineClickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.timelineLabels{color:var(--ink-muted);font-variant-numeric:tabular-nums;letter-spacing:.05em;justify-content:space-between;margin-bottom:6px;font-size:.62rem;font-weight:600;display:flex}.timelineTrack{background:var(--surface-soft);border-radius:10px;height:56px;position:relative;overflow:hidden}.timelineGridLine{background:var(--line);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.timelineBg{opacity:.32;position:absolute;inset:0}.timelineBg.vacation,.timelineBg.rest{background:#2e7044}.timelineBg.dc{background:#8acca0}.timelineSegment{color:#fff;border-radius:6px;flex-direction:column;justify-content:center;padding:0 8px;font-size:.62rem;font-weight:600;display:flex;position:absolute;top:4px;bottom:4px;overflow:hidden;box-shadow:0 1px 3px #0000001f}.timelineSegment.morning{background:linear-gradient(135deg,#4f93f7,#3673df)}.timelineSegment.afternoon{background:linear-gradient(135deg,#f48a48,#de6c2a)}.timelineSegment.night{background:linear-gradient(160deg,#2e427e,#1b2b58)}.timelineSegment.vmer{box-shadow:inset 0 0 0 2px #dca424}.timelineVmer{object-fit:cover;z-index:2;background:#fff3;border-radius:999px;width:26px;height:26px;padding:2px;position:absolute;bottom:3px;right:3px;box-shadow:0 2px 6px #0000004d}.timelineSegmentLabel{white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:700;line-height:1.1;overflow:hidden}.timelineSegmentTime{opacity:.82;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:.55rem;line-height:1.1;overflow:hidden}.timelineAvatar{z-index:3;pointer-events:none;flex-direction:column;align-items:center;gap:2px;transition:left .8s cubic-bezier(.25,.8,.25,1);display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.timelineAvatarBubble{background:var(--accent);color:#fff;width:38px;height:38px;box-shadow:0 3px 12px #c0492a80, 0 0 0 3px var(--surface);border-radius:999px;justify-content:center;align-items:center;animation:1.6s ease-in-out infinite avatarWalk;display:inline-flex;overflow:hidden}.modal .timeline:not(.timelineCompact) .timelineAvatarBubble{width:48px;height:48px;box-shadow:0 3px 12px #c0492a80, 0 0 0 3px var(--surface)}.modal .timeline:not(.timelineCompact) .timelineAvatarTime{margin-top:6px;padding:2px 8px;font-size:.68rem}.timelineAvatarBubble img{object-fit:cover;width:100%;height:100%;display:block}.timelineAvatarTime{font-variant-numeric:tabular-nums;color:var(--accent);background:var(--surface);white-space:nowrap;box-shadow:var(--shadow-sm);border-radius:4px;margin-top:4px;padding:1px 5px;font-size:.58rem;font-weight:700;position:absolute;top:100%}@keyframes avatarWalk{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-2px)rotate(3deg)}}:root[data-theme=night] .timelineAvatarBubble{box-shadow:0 3px 10px #e6593f80, 0 0 0 3px var(--surface)}.timelineMarkers{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.timelineMarker{background:var(--surface-soft);color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;align-items:center;padding:3px 9px;font-size:.72rem;font-weight:600;display:inline-flex}.timelineMarker.training{color:#5a6cf0;border-color:#5a6cf0}.timelineMarker.health,.timelineMarker.cleaning{color:#d65a57;border-color:#d65a57}.timelineMarker.meal,.timelineMarker.birthday{color:#8e24aa;border-color:#8e24aa}.timelineMarker.period{color:#525866;border-color:#525866}.timelineMarker.holiday{color:#009688;border-color:#009688}.weekView{flex-direction:column;gap:10px;display:flex}.weekDay{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;grid-template-columns:90px 1fr;align-items:center;gap:14px;padding:14px 16px;transition:border-color .16s,transform .12s;display:grid}.weekDay:hover{transform:translateY(-1px)}.weekDay.today{border-color:var(--accent);background:linear-gradient(135deg,#fbe1d2,#fbe8df)}:root[data-theme=night] .weekDay.today{background:linear-gradient(135deg,#3a1f15,#2c1812)}.weekDay.empty{opacity:.85}.weekDayCol{font-variant-numeric:tabular-nums;flex-direction:column;gap:3px;display:flex}.weekDayName{text-transform:lowercase;color:var(--ink-soft);letter-spacing:0;font-size:.82rem;font-weight:500}.weekDayNum{color:var(--ink);letter-spacing:-.02em;font-size:2rem;font-weight:800;line-height:1}.weekDay.today .weekDayNum,.weekDay.today .weekDayName{color:var(--accent)}.todayBadge{background:var(--accent);color:#fff;letter-spacing:.08em;border-radius:6px;align-self:flex-start;margin-top:4px;padding:3px 9px;font-size:.65rem;font-weight:800;display:inline-flex}.weekDayWeather{color:var(--ink-muted);align-items:center;gap:4px;margin-top:2px;font-size:.78rem;font-weight:500;display:inline-flex}.weekDayWeather small{font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:500}.weekDayPills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.weekDayEmpty{color:var(--ink-muted);font-size:.9rem}.iconPill{color:#fff;white-space:nowrap;letter-spacing:-.005em;border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:.84rem;font-weight:600;line-height:1;display:inline-flex}.iconPillIcon{align-items:center;display:inline-flex}.iconPillLabel{line-height:1}.vmerBadge{object-fit:cover;border:1.5px solid #fff;border-radius:999px;flex-shrink:0;width:20px;height:20px;margin-left:auto;box-shadow:0 1px 3px #0000004d}.cellPill .vmerBadge{border-width:1px;width:14px;height:14px;margin-left:4px}.iconPill.morning{background:#4a82d4}.iconPill.afternoon{background:#d68542}.iconPill.night{background:#2b3a6b}.iconPill.carry{background:#2b3a6b;border:1.5px dashed #fff6}.iconPill.dc{background:#5a9bd1}.iconPill.rest{color:#3a2700;background:#e6b32a}.iconPill.vacation{background:#2e7044}.iconPill.vmer{box-shadow:inset 4px 0 #dca424}.iconPill.eem{box-shadow:inset 4px 0 var(--c-eem)}.iconPill.vmer.eem{box-shadow:inset 4px 0 #dca424, inset 8px 0 0 -4px var(--c-eem)}.iconPill.training{color:#fff;background:#3a4b6e}.iconPill.health{color:#fff;background:#c5778c}.iconPill.cleaning{color:#fff;background:#9b8456}.iconPill.period{color:#fff;background:#d0789a}.iconPill.meal{color:#fff;background:#b88060}.iconPill.birthday{color:#fff;background:#b06080}.iconPill.holiday{color:#fff;background:#6ea49b}.iconPill.other,.iconPill.personal{color:#fff;background:#9b8e7a}@media (width<=600px){.weekDay{grid-template-columns:80px 1fr;gap:8px;padding:8px 10px}.weekDayNum{font-size:1.3rem}}.weekRow,.monthGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(3px,.6vw,8px);display:grid}.weekRow{margin-bottom:clamp(3px,.6vw,8px)}.weekRow span{text-align:center;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.cell{border:1px solid var(--line);background:var(--surface-soft);border-radius:clamp(8px,1vw,14px);flex-direction:column;gap:3px;min-width:0;min-height:clamp(50px,8vw,110px);padding:clamp(4px,.6vw,8px);transition:border-color .16s,transform .12s,background .2s;display:flex;overflow:hidden}.cell.has-entries{background:var(--surface)}.cell:hover{transform:translateY(-1px)}.cell.today{transform:none}.cell:hover{border-color:var(--line-strong)}.cell.today{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent), 0 8px 22px #1f7ae02e}.cell header{color:var(--ink-soft);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:clamp(2px,.4vw,5px);display:flex}.cellDayNum{color:var(--ink);align-items:baseline;gap:4px;font-size:clamp(.78rem,1.1vw,.95rem);font-weight:800;display:inline-flex}.cell .cellWeather{color:var(--ink-muted);flex-shrink:0;align-items:center;gap:2px;font-size:.62rem;font-weight:500;display:inline-flex}.cell .cellWeather small{font-size:.62rem;font-weight:500}.cell.today header{color:var(--accent)}.cell header em{background:var(--accent);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 7px;font-size:.6rem;font-style:normal;font-weight:600}.pill{color:#fff;border-radius:clamp(4px,.55vw,8px);min-width:0;padding:clamp(2px,.35vw,4px) clamp(4px,.55vw,7px);font-weight:600;line-height:1.18;box-shadow:inset 3px 0 #0000002e}.pill strong{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.005em;font-size:clamp(.62rem,.85vw,.8rem);font-weight:600;display:block;overflow:hidden}.pill small{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;margin-top:1px;font-size:clamp(.54rem,.7vw,.66rem);font-weight:500;display:block;overflow:hidden}.pill{letter-spacing:-.005em;animation:.22s cubic-bezier(.25,.8,.25,1) pillIn}@keyframes pillIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.pill.morning{background:linear-gradient(135deg,#4f93f7,#3673df)}.pill.afternoon{background:linear-gradient(135deg,#f48a48,#de6c2a)}.pill.night{background:linear-gradient(160deg,#2e427e,#1b2b58)}.pill.training{background:linear-gradient(135deg,#6e7df3,#4a5be0)}.pill.dc{background:linear-gradient(135deg,#7fb6ec,#5d96d9)}.pill.rest{background:linear-gradient(135deg,#3eb963,#2a9b4c)}.pill.vacation{background:linear-gradient(140deg,#1e9b53,#126d38)}.pill.training.vmer,.pill.vmer{color:#2b2310;background:linear-gradient(135deg,#fac042,#e0a31a);box-shadow:inset 3px 0 #7850002e}.pill.eem{box-shadow:inset 3px 0 #b3261e}.pill.health,.pill.cleaning{background:linear-gradient(135deg,#df6f6c,#c54845)}.pill.period{background:linear-gradient(135deg,#5e6473,#424857)}.pill.birthday,.pill.meal{background:linear-gradient(135deg,#9a3ab8,#7a1a96)}.pill.holiday{background:linear-gradient(135deg,#14a89c,#007569)}.pill.personal,.pill.other{background:linear-gradient(135deg,#a3afc0,#8392a8)}.cell{cursor:pointer}.cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nowCard.dc{background:linear-gradient(140deg,#dceaf9,#ecf3fb)}.modalBackdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0f1a2c8c;justify-content:center;align-items:flex-end;padding:0;animation:.14s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.modal{background:var(--surface);width:100%;max-width:540px;max-height:86vh;box-shadow:var(--shadow-lg);border-radius:24px 24px 0 0;flex-direction:column;animation:.2s cubic-bezier(.25,.8,.25,1) slideUp;display:flex;overflow:hidden}.modalHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 22px 14px;display:flex}.modalDate{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.modalHeader h2{letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:700}.modalEmpty{color:var(--ink-muted);text-align:center;padding:24px;font-size:.95rem}.detailList{flex:1;margin:0;padding:8px 0 16px;list-style:none;overflow-y:auto}.detailRow{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 22px;transition:background .12s;display:flex;position:relative}.detailRow:last-child{border-bottom:0}.detailRow:hover{background:var(--surface-soft)}.detailRow.morning{background:#4f93f747}.detailRow.afternoon{background:#de6c2a52}.detailRow.night{background:#2c3e6e73}.detailRow.vacation,.detailRow.rest{background:#2e704452}.detailRow.dc{background:#8acca059}.detailRow.training{background:#3a4b6e40}.detailRow.health,.detailRow.cleaning{background:#b4546b40}.detailRow.period{background:#c4668840}.detailRow.meal,.detailRow.birthday{background:#9c694040}.detailRow.holiday{background:#4a857940}.detailRow.other,.detailRow.personal{background:#7c726338}.detailRow.morning:hover{background:#4f93f766}.detailRow.afternoon:hover{background:#de6c2a73}.detailRow.night:hover{background:#2c3e6e94}.detailDot{background:var(--ink-muted);border-radius:999px;flex-shrink:0;width:8px;height:8px;margin-top:7px}.detailRow.morning .detailDot{background:#4285f4}.detailRow.afternoon .detailDot{background:#ef7e3b}.detailRow.night .detailDot{background:#283a72}.detailRow.dc .detailDot{background:#6aa5e6}.detailRow.rest .detailDot{background:#34a853}.detailRow.vacation .detailDot{background:#168845}.detailRow.training .detailDot{background:#5a6cf0}.detailRow.health .detailDot,.detailRow.cleaning .detailDot{background:#d65a57}.detailRow.period .detailDot{background:#525866}.detailRow.birthday .detailDot,.detailRow.meal .detailDot{background:#8e24aa}.detailRow.holiday .detailDot{background:#009688}.detailRow.vmer .detailDot{background:#f5b836;box-shadow:0 0 0 2px #f5b83630}.detailRow.eem .detailDot{box-shadow:0 0 0 2px #b3261e30}.detailMain{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.detailMain strong{color:var(--ink);font-size:1rem;font-weight:700}.detailMeta{color:var(--ink-soft);font-size:.82rem;font-weight:500}.detailRaw{color:var(--ink-muted);margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.detailVmer{object-fit:cover;border-radius:999px;flex-shrink:0;width:40px;height:40px}.iconButton.ghost{color:var(--ink-muted);background:0 0;border:0}.iconButton.ghost:hover{color:#b3261e;background:#fde0e0}@media (width>=720px){.modalBackdrop{align-items:center;padding:24px}.modal{border-radius:24px;max-height:80vh}}.settingsModal{max-width:480px}.settingsBody{flex-direction:column;gap:12px;padding:20px 22px 24px;display:flex;overflow-y:auto}.fieldLabel{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.settingsInput{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);word-break:break-all;border-radius:12px;outline:none;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;transition:border-color .12s,box-shadow .12s}.settingsInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1f7ae024}.hintText{color:var(--ink-muted);margin:0;font-size:.85rem;line-height:1.5}.hintText strong{color:var(--ink-soft);font-weight:700}.settingsActions{gap:8px;margin-top:4px;display:flex}.primaryBtn,.secondaryBtn{cursor:pointer;border-radius:12px;flex:1;padding:11px 16px;font-size:.95rem;font-weight:600;transition:opacity .12s,background .12s}.primaryBtn{color:#fff;background:linear-gradient(135deg,#1856b6,#1ba0c0);border:0}.secondaryBtn{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft)}.primaryBtn:disabled,.secondaryBtn:disabled{opacity:.5;cursor:default}.secondaryBtn:not(:disabled):hover{background:var(--surface-soft);color:var(--accent);border-color:var(--accent)}.syncStatus{color:var(--ink-soft);border-top:1px solid var(--line);padding-top:8px;font-size:.85rem}.syncStatus strong{font-weight:600}.syncErr{color:#b3261e;margin-top:4px;font-size:.8rem}.settingsOk{color:#1a8a4a;margin:0;font-size:.88rem;font-weight:600}.settingsErr{color:#b3261e;margin:0;font-size:.88rem;font-weight:600}@media (width<=720px){main{gap:8px;height:100dvh;max-height:100dvh;overflow:hidden}.topbar{background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:nowrap;flex-shrink:0;gap:6px;min-height:0;margin:calc(-1*clamp(12px,2.4vw,24px)) calc(-1*clamp(12px,2.4vw,24px)) 0;padding:8px clamp(12px,2.4vw,24px)}.nowCard{flex-shrink:0}.monthPanel{overflow:hidden}.weekView{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding-right:2px;overflow:hidden auto}.monthGrid{min-width:0;min-height:0;overflow:hidden}.topbar img{border-radius:8px;width:28px;height:28px}.topbar strong{white-space:nowrap;min-width:0;font-size:.92rem}.topClock{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:auto;font-size:.7rem;overflow:hidden}.syncBadge{padding:3px 8px;font-size:.62rem}.syncBadge svg{width:10px;height:10px}.iconButton{width:28px;height:28px}.nowCard{min-height:0;padding:14px 18px}.nowCard h1{margin:6px 0;font-size:2.1rem}.nowSubtitle{font-size:.85rem}.nowDetail{font-size:.78rem!important}.nowCard>span{font-size:.62rem}.nowCard b{margin-top:6px;padding:5px 10px;font-size:.72rem}.nowCard .nowNext{margin-top:8px;padding:6px 10px}.nowCard .nowNext strong{font-size:.92rem}.nowWeather{border-radius:12px;padding:6px 10px;top:10px;right:12px}.nowWeather strong{font-size:1.1rem}.nowWeather em{font-size:.65rem}.monthPanel{flex-direction:column;flex:1;min-height:0;padding:10px;display:flex}.monthTitle{gap:6px;margin-bottom:6px}.monthTitle h2{font-size:1rem}.monthTitle svg{width:16px;height:16px}.viewToggle button{padding:4px 9px;font-size:.72rem}.monthNav .iconButton{width:28px;height:28px}.todayChip{padding:3px 9px;font-size:.7rem}.monthGrid{flex:1;grid-auto-rows:minmax(0,1fr);min-height:0}.cell{scrollbar-width:thin;min-height:0;padding:5px;overflow-y:auto}.cell::-webkit-scrollbar{width:3px}.cell::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.cell header em{display:none}.weekView{flex:1;min-height:0;overflow-y:auto}}@media (width<=480px){.pill{padding:2px 5px}.pill small{display:none}.pill strong{font-size:.64rem}.topbar strong{font-size:.82rem}.topClock{font-size:.66rem}.topClock:first-line{color:inherit}.iconButton{width:26px;height:26px}.syncBadge{padding:2px 6px;font-size:.6rem}.nowCard h1{font-size:1.8rem}.nowWeather strong{font-size:.95rem}}@media (width>=1024px){main{grid-template-rows:auto auto 1fr;grid-template-columns:minmax(320px,26%) 1fr;gap:12px 16px;height:100vh;max-height:100vh;padding:18px;display:grid;overflow:hidden}.topbar{grid-area:1/1/auto/-1}.uploadHero{grid-area:2/1}.nowCard{grid-area:3/1;min-height:0;padding:26px}.nowCard h1{letter-spacing:-.05em;margin:12px 0;font-size:clamp(2.4rem,4vw,4rem)}.nowCard p{font-size:1.05rem}.nowCard b{margin-top:16px}.monthPanel{flex-direction:column;grid-area:2/2/-1;min-height:0;padding:16px;display:flex}.monthTitle{margin-bottom:10px}.monthTitle h2{font-size:1.35rem}.monthGrid{flex:1;grid-auto-rows:minmax(0,1fr);min-height:0}.cell{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;min-height:0;overflow-y:auto}.cell::-webkit-scrollbar{width:5px}.cell::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.cell::-webkit-scrollbar-track{background:0 0}.uploadButton{font-size:1.05rem}.uploadButton,.nowButton{min-height:52px}}.themeAuto{align-items:center;display:inline-flex;position:relative}.themeAutoDot{border:1.5px solid var(--surface);background:#3d8054;border-radius:999px;width:7px;height:7px;position:absolute;bottom:-3px;right:-3px}.themeToggle.day{color:#c98442}.themeToggle.night{color:#5a6ed8}.themeToggle.auto{color:var(--ink-soft)}
