@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@300;400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#171918;--card:#242724;--line:#394036;--muted:#a0aa96;--ink:#edf0e5;--lime:#d9ef9d;--lavender:#c9bde9;--space:14px;--pad:22px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit;touch-action:manipulation}button:hover,a:hover{filter:brightness(1.1)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lavender);outline-offset:3px}a{color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.app{width:100%;max-width:1600px;margin:auto;min-height:100svh;padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:var(--space)}header,footer,.row,.card-head,.status,.brand,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}header{height:44px;flex-shrink:0}.brand{gap:9px;font:700 26px Manrope;letter-spacing:-1.5px}.brand-mark{display:grid;grid-template-columns:repeat(2,6px);gap:4px;transform:rotate(-12deg)}.brand-mark i{width:6px;height:6px;background:var(--lime);border-radius:2px}.brand-mark i:last-child{opacity:.4}.top-left{display:flex;gap:24px;align-items:center}.location{color:var(--muted);font-size:12px;border-left:1px solid var(--line);padding-left:24px}.status{gap:12px;font-size:12px;color:#bec6b6}.online:before{content:'';display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:8px}.icon-btn{height:42px;width:42px;display:grid;place-items:center;border-radius:50%;background:#292f26;border:1px solid #3a4433;flex-shrink:0}.profile{background:var(--lavender);color:#30283a;font-size:12px;font-weight:700}.sound{padding:10px 14px;border:1px solid #49533e;border-radius:24px;font-size:11px;min-height:42px}.dashboard{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:minmax(260px,1.15fr) minmax(230px,1fr) minmax(150px,.6fr);gap:var(--space);flex:1}.card{border-radius:24px;background:var(--card);padding:var(--pad);min-width:0;min-height:0;overflow:hidden}.clock{grid-area:1/1/2/5}.weather-card{grid-area:1/5/2/13}.calendar{grid-area:2/1/3/7}.alarms-card{grid-area:2/7/3/10}.focus{grid-area:2/10/3/13}.shortcuts{grid-area:3/1/4/5}.notices-card{grid-area:3/5/4/9}.controls{grid-area:3/9/4/13}.bottom-row{display:contents}.card-head{min-height:32px;margin-bottom:14px}.card-head h2{font-size:14px;font-weight:500;margin:0}.label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.7px;color:var(--muted)}.subtle,.tiny{color:var(--muted)}.tiny{font-size:10px;line-height:1.6}.text-btn{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#b8c2ad;padding:8px 0;min-height:32px;white-space:nowrap}.text-btn svg{width:14px;height:14px}.add,.arrows button{display:grid;place-items:center;border:1px solid #4b5841;border-radius:50%;width:34px;height:34px;flex-shrink:0}.add svg,.arrows svg{width:16px;height:16px}.pill{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #4b5841;border-radius:30px;padding:8px 10px;min-height:34px;font-size:10px;white-space:nowrap}.pill svg{width:13px;height:13px}.new-reminder{color:var(--lime)}.empty{font-size:12px;line-height:1.8;color:var(--muted);margin:0;padding:8px 0}.clock{display:flex;flex-direction:column;justify-content:space-between;background:#e9eadb;color:#2a3027}.clock .label{color:#76816a}.clock .row>svg{color:#6c765f}.greeting{font-size:16px;margin:0 0 2px}.time{font:300 clamp(76px,8.7vw,132px)/1.05 Manrope;letter-spacing:-7px;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:-5px}.time span{color:#959e83}.date{font-size:13px;line-height:1.9}.clock-bottom{padding-top:8px}.calendar{display:flex;flex-direction:column}.calendar .card-head{margin-bottom:8px;gap:8px}.calendar .label{font-size:9px;letter-spacing:1.2px}.calendar .month{font:500 20px Manrope;margin:0;letter-spacing:-.6px}.calendar .actions{gap:8px!important}.arrows{display:flex;gap:5px}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;border-bottom:1px solid var(--line);padding-bottom:9px}.day{padding:7px 0;min-height:61px;border-radius:13px;position:relative;color:#b6c2aa}.day small{display:block;font-size:9px;margin-bottom:6px}.day b{font-size:21px;font-weight:500}.day.selected{background:var(--lavender);color:#31263d}.day .dot{position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:currentColor}.calendar>.row{margin-top:0!important;min-height:32px}.agenda{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex:1;align-content:center;min-height:0}.agenda .empty{grid-column:1/-1;font-size:11px;padding:0}.event{border-left:2px solid var(--lavender);padding:0 0 0 10px;text-align:left;min-width:0}.event:last-child{border-color:var(--lime)}.event time,.event p{font-size:10px;color:var(--muted);margin:0}.event h3{font-size:12px;font-weight:500;margin:5px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarms-card{display:flex;flex-direction:column}.alarm-list{flex:1;min-height:0;overflow:auto;margin:0 0 8px}.alarm-row{margin:0 0 12px;gap:8px}.alarm-edit{padding:0;text-align:left;min-width:0}.alarm-time{font:400 32px/1.2 Manrope;letter-spacing:-1.5px}.alarm-detail{font-size:10px;line-height:1.5;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.toggle{width:42px;height:25px;padding:3px;border-radius:30px;background:#4a5343;flex-shrink:0}.toggle:after{content:'';display:block;width:19px;height:19px;background:#acb69d;border-radius:50%}.toggle.on{background:var(--lime)}.toggle.on:after{transform:translateX(17px);background:#313b27}.focus{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:8px;background:#d0c4e5;color:#342b3d}.focus .row{position:relative;z-index:1}.focus .label{color:#746581;font-size:9px;letter-spacing:1.2px}.focus h2{font:400 30px/1.13 Manrope;letter-spacing:-1px;margin:0 0 8px;position:relative;z-index:1}.focus p{font-size:11px;line-height:1.6;color:#796785;margin:0;position:relative;z-index:1}.focus-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;align-self:flex-start;border-radius:24px;padding:11px 14px;min-height:38px;font-size:10px;background:#382d42;color:#f1e9f8;position:relative;z-index:1;white-space:nowrap}.focus-btn svg{width:14px;height:14px}.focus-art{position:absolute;right:-42px;bottom:30px;width:140px;height:140px;border:1px solid #b29bc9;border-radius:50%;transform:rotate(-30deg);pointer-events:none}.focus-art:before,.focus-art:after{content:'';position:absolute;inset:15px -10px;border:1px solid #b29bc9;border-radius:50%}.focus-art:after{inset:30px -18px}.shortcuts,.notices-card{display:flex;flex-direction:column}.shortcuts .card-head,.notices-card .card-head{margin-bottom:8px}.apps{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;overflow:auto;min-height:65px;flex:1;padding:3px 0}.app-link{display:flex;align-items:center;flex-direction:column;gap:7px;text-decoration:none;font-size:10px;color:#b9c5ae;flex-shrink:0;padding:0;min-width:45px}.app-icon{display:grid;place-items:center;width:43px;height:40px;border-radius:13px;background:#343d2e;color:#b9c5ae}.app-icon.youtube{background:#4c332e;color:#f4b3a0}.app-icon.music{background:#36452c;color:var(--lime)}.app-icon.calendar-icon{background:#3d3749;color:#d0c4e5}.app-icon.letter{font-size:20px;color:var(--lime)}.notification-count{font-size:9px;border-radius:5px;background:#3d4832;color:var(--lime);padding:3px 6px;margin-left:5px}.notice-list{flex:1;min-height:0;overflow:auto}.notice-list .empty{font-size:11px;padding:0}.notice{display:flex;width:100%;text-align:left;align-items:flex-start;gap:9px;padding:0 0 9px}.notice-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#37442c;color:var(--lime);flex-shrink:0}.notice-icon svg{width:16px;height:16px}.notice h3{font-size:11px;font-weight:500;margin:0 0 3px}.notice p{font-size:10px;color:var(--muted);margin:0;line-height:1.5;overflow-wrap:anywhere}.notice time{font-size:9px;color:var(--muted);margin-left:auto;white-space:nowrap}.notices-card>#notify-permission{font-size:10px;min-height:24px;padding:4px 0 0}.controls{display:flex;flex-direction:column;justify-content:space-between;gap:10px}.brightness{width:100%}.brightness .row{font-size:11px;margin-bottom:8px;min-height:20px}.brightness .row>span:first-child{display:flex;align-items:center;gap:8px}.brightness svg{width:15px;height:15px}.brightness input{display:block;width:100%;height:5px;accent-color:var(--lime);margin:0;cursor:pointer}.brightness>.label{display:none}.control-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.control-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:6px;border:1px solid #424d38;border-radius:12px}.control-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.control-icon svg{width:17px;height:17px}.control-text{font-size:9px;line-height:1.35;text-align:left}.control-button.active{background:#3b4a2d;color:var(--lime);border-color:#59703e}footer{min-height:22px;flex-shrink:0;font-size:10px;color:#929e86}.footer-left,.footer-right{display:flex;align-items:center;gap:14px}.footer-right button{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);padding:4px 0}.footer-right svg{width:13px;height:13px}.screen-status{display:inline-flex;align-items:center;gap:6px}.screen-status:before{content:'';width:5px;height:5px;background:#8c9980;border-radius:50%}.screen-status.on:before{background:var(--lime)}.error-inline{color:#f0b6a6;font-size:12px;line-height:1.7}.search-results button{width:100%;text-align:left;margin-top:8px;padding:13px;background:#323b2a;border-radius:10px}.ring-icon{font-size:46px;color:var(--lime)}#ring{text-align:center}#ring .form-actions{justify-content:center}.weather-card{display:flex;flex-direction:column;position:relative;background:#37565b;color:#f0f5ec;isolation:isolate}.weather-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(125deg,#35535b,#789b94)}.scene-sun{position:absolute;right:13%;top:-35px;width:180px;height:180px;border-radius:50%;background:#f6dfab;box-shadow:0 0 85px 25px #f1d19b44;opacity:.75}.scene-cloud{position:absolute;width:175px;height:35px;background:#e6eeee66;border-radius:50px;filter:blur(3px)}.scene-cloud:before,.scene-cloud:after{content:'';position:absolute;background:inherit;border-radius:50%;width:75px;height:55px;bottom:8px;left:25px}.scene-cloud:after{width:60px;height:70px;left:85px}.cloud-one{right:4%;top:50px}.cloud-two{right:29%;top:85px;transform:scale(.6);opacity:.65}.scene-hill{position:absolute;right:-6%;bottom:-130px;width:70%;height:300px;border-radius:50% 45% 0 0;transform:rotate(-13deg);background:#41685555}.hill-front{right:35%;bottom:-190px;width:90%;background:#254e4455;transform:rotate(15deg)}[data-weather=clear]>.weather-scene{background:linear-gradient(120deg,#446875,#7dabb1)}[data-weather=night]>.weather-scene{background:linear-gradient(125deg,#252b4b,#515c83)}[data-weather=night] .scene-sun{background:#eee6cd;box-shadow:0 0 60px #ebd5a233;width:110px;height:110px;top:15px}[data-weather=rain]>.weather-scene,[data-weather=storm]>.weather-scene{background:linear-gradient(125deg,#354757,#657b8a)}[data-weather=rain] .scene-sun,[data-weather=storm] .scene-sun{opacity:0}[data-weather=cloudy] .scene-sun{opacity:.25}[data-weather=snow]>.weather-scene{background:linear-gradient(120deg,#546b7a,#8eaaa9)}[data-weather=snow] .scene-hill{background:#d8e3de55}.weather-top{display:flex;justify-content:space-between;align-items:flex-start;position:relative}.weather-top .label{color:#dae5d3;font-size:9px;letter-spacing:1.5px}.weather-top h2{font:500 20px Manrope;letter-spacing:-.5px;margin:5px 0 0}.weather-refresh{display:grid;place-items:center;border:1px solid #e1e9df55;border-radius:50%;width:32px;height:32px;font-size:22px;background:#1e343633}.weather-overview{display:flex;align-items:center;gap:15px;text-align:left;position:relative;padding:6px 0 8px;width:100%;min-height:72px}.weather-overview>strong{font:300 60px/1 Manrope;letter-spacing:-3px;font-variant-numeric:tabular-nums}.weather-copy b{display:block;font-size:14px;font-weight:500}.weather-copy small{display:block;margin-top:6px;font-size:10px;color:#e0e8d9}.weather-more{font-size:10px;margin-left:auto;align-self:center;white-space:nowrap}.weather-symbol{width:40px;height:40px;stroke:none;overflow:visible;filter:drop-shadow(0 3px 5px #182c3b22)}#weather-hero-icon{margin-left:auto}#weather-hero-icon .weather-symbol{width:60px;height:60px}.weather-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;position:relative}.weather-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 3px 8px;border-radius:14px;background:#142f3638;border:1px solid #e9f4e61f;backdrop-filter:blur(8px);min-width:0;color:#f6f9ed}.weather-day:hover{background:#b3d4c23b}.forecast-name{font-size:11px;text-transform:capitalize}.day-temperatures{display:flex;justify-content:center;gap:8px;font-size:13px;font-variant-numeric:tabular-nums}.day-temperatures b{font-weight:600}.day-temperatures>span{color:#c4d2c6}.weather-bottom{position:relative;display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:9px;font-size:9px;color:#d8e2d3}.weather-bottom a{text-decoration:none}.weather-bottom>span:last-child{white-space:nowrap}.weather-placeholder{grid-column:1/-1;background:#15323922;border-radius:12px;min-height:83px;display:grid;place-items:center;font-size:12px}.weather-dialog{width:min(760px,calc(100% - 30px))}.weather-modal-actions{margin-bottom:16px}.forecast-detail{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;padding:28px;display:flex;justify-content:space-between;align-items:center;min-height:250px;margin-bottom:18px;color:#f1f6e9}.forecast-detail .label{color:#e0e9d9}.forecast-detail h3{font:500 26px Manrope;margin:10px 0 16px}.detail-temps{display:flex;gap:30px}.detail-temps>span{display:flex;flex-direction:column;gap:4px}.detail-temps b{font:300 56px/1 Manrope;letter-spacing:-2px}.detail-temps>span:last-child{opacity:.7}.detail-temps small{font-size:11px}.forecast-detail p{font-size:11px;margin:20px 0 0;color:#d8e5d5}.detail-weather-icon .weather-symbol{width:140px;height:140px}.forecast-detail .scene-sun{right:8%;top:0}.weather-dialog .forecast-list{display:grid;gap:7px}.weather-dialog .weather-day{background:#334037}.weather-dialog .weather-day.chosen{border-color:#d9ef9d;background:#465739}.weather-dialog .weather-credit{line-height:1.7}.weather-dialog .forecast-name{font-size:12px}.weather-dialog .day-temperatures{font-size:15px}.weather-dialog .weather-symbol{width:44px;height:44px}.weather-dialog .detail-weather-icon .weather-symbol{width:140px;height:140px}body.night .clock{background:#323c2a;color:#e5edd9}body.night .clock .label{color:#b4c3a4}body.night .focus{background:#3b3144;color:#e6dbf0}body.night .focus p,body.night .focus .label{color:#bfaed0}body.night .focus-art{opacity:.4}body.night .focus-btn{background:#d0c4e5;color:#342d3c}
@media(min-width:1000px) and (min-height:700px){.app{height:100svh}.dashboard{grid-template-rows:minmax(250px,1.15fr) minmax(218px,1fr) minmax(140px,.6fr)}}
@media(min-width:1000px) and (max-height:800px){:root{--space:12px;--pad:18px}.app{padding-top:16px;padding-bottom:12px}.dashboard{grid-template-rows:minmax(242px,1.1fr) minmax(214px,1fr) minmax(136px,.6fr)}.weather-top h2{font-size:18px}.weather-overview{min-height:64px;padding:4px 0 6px}.weather-overview>strong{font-size:54px}.weather-day{padding:5px 2px;gap:2px}.weather-symbol{width:34px;height:34px}.weather-bottom{padding-top:7px}.focus h2{font-size:27px}.calendar .month{font-size:18px}.calendar .day{min-height:56px}.card-head{margin-bottom:10px}.calendar .label{letter-spacing:1px}.time{font-size:99px}.notices-card .card-head h2{font-size:13px}.control-button{gap:5px;padding:5px}.control-text{font-size:8px}}
@media(min-width:700px) and (max-width:999px){.dashboard{grid-template-rows:270px 235px 210px 150px;grid-template-columns:repeat(12,minmax(0,1fr))}.clock{grid-area:1/1/2/6}.weather-card{grid-area:1/6/3/13}.calendar{grid-area:2/1/3/6}.alarms-card{grid-area:3/1/4/7}.focus{grid-area:3/7/4/13}.shortcuts{grid-area:4/1/5/7}.notices-card{grid-area:4/7/5/13}.controls{grid-area:5/1/6/13;min-height:100px;flex-direction:row;align-items:center;gap:25px}.controls .brightness{flex:1}.control-buttons{flex:1}.control-button{min-height:45px}.weather-card .weather-days{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.weather-card .weather-day{min-height:104px}.weather-card .weather-day:last-child{grid-column:span 2}.weather-overview{flex-wrap:wrap;padding:18px 0}.weather-more{display:none}#weather-hero-icon .weather-symbol{width:54px;height:54px}.weather-overview>strong{font-size:64px}.weather-copy b{font-size:12px}.weather-copy small{font-size:10px;max-width:130px;line-height:1.6}.weather-top h2{font-size:18px}.weather-card .weather-bottom{flex-direction:column;gap:4px}.calendar .card-head{align-items:flex-start}.calendar .card-head>.actions{flex-wrap:wrap;justify-content:flex-end;max-width:120px}.calendar .label{display:none}.calendar .month{font-size:16px}.calendar .arrows button{width:30px;height:30px}.calendar .pill{font-size:9px;padding:6px}.calendar .agenda{grid-template-columns:1fr;overflow:auto}.calendar .agenda .event:nth-child(2){display:none}.calendar .day b{font-size:19px}.calendar .day{min-height:55px}.time{font-size:94px}.location{display:none}.app{padding:20px;--pad:20px}}
@media(max-width:699px){.app{padding:16px;gap:14px;--pad:20px}.location,.online{display:none}.status{gap:8px}.sound{font-size:10px;padding:8px 10px}.icon-btn{width:38px;height:38px}.brand{font-size:24px}.top-left{gap:10px}.dashboard{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:14px}.clock{grid-area:auto;grid-column:1/-1;min-height:255px}.weather-card{grid-area:auto;grid-column:1/-1;min-height:365px}.calendar{grid-area:auto;grid-column:1/-1;min-height:250px}.alarms-card{grid-area:auto;grid-column:1/-1;min-height:195px;max-height:285px}.focus{grid-area:auto;grid-column:1/-1;min-height:210px}.shortcuts,.notices-card,.controls{grid-area:auto;grid-column:1/-1;min-height:150px}.weather-days{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.weather-day:last-child{grid-column:span 2}.weather-day{min-height:85px}.weather-bottom{font-size:8px}.weather-more{display:none}#weather-hero-icon .weather-symbol{width:48px;height:48px}.weather-copy b{font-size:12px}.weather-copy small{font-size:9px}.weather-overview{gap:10px}.weather-overview>strong{font-size:60px}.time{font-size:110px}.calendar .month{font-size:18px}.calendar .label{font-size:8px}.calendar .actions{gap:5px!important}.calendar .pill{font-size:9px;padding:6px}.arrows{gap:3px}.arrows button{width:30px;height:30px}.card-head h2{font-size:14px}.control-text{font-size:10px}.focus-art{right:10px;width:180px;height:180px}.focus h2{font-size:32px}.notice-list{max-height:150px;min-height:70px}.footer-left>span:last-child{display:none}footer{font-size:9px}.footer-right button{font-size:9px}.screen-status{max-width:160px}.two-cols{grid-template-columns:1fr}.weather-dialog{padding:20px}.weather-dialog .dialog-top h2{font-size:19px}.forecast-detail{padding:20px;min-height:230px}.detail-weather-icon .weather-symbol,.weather-dialog .detail-weather-icon .weather-symbol{width:80px;height:80px}.forecast-detail h3{font-size:22px}.detail-temps b{font-size:46px}.weather-dialog .forecast-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Keep icon hit areas and captions separate; all three controls share a baseline. */
.control-buttons{gap:10px}.control-button{flex-direction:column;gap:5px;border:0;border-radius:12px;padding:0;min-height:51px;background:none}.control-icon{width:33px;height:33px;border:1px solid #4b5841;border-radius:50%;background:#2e3828}.control-icon svg{width:16px;height:16px}.control-text{font-size:9px;text-align:center;line-height:1.3;white-space:nowrap}.control-button.active{background:none}.control-button.active .control-icon{background:#526539;border-color:#71884f;color:var(--lime)}.controls{gap:6px}.brightness .row{min-height:28px;margin-bottom:5px}
@media(min-width:700px) and (max-width:999px){.calendar .card-head{align-items:center}.calendar .card-head>.actions{flex-wrap:nowrap;max-width:none;gap:5px!important}.calendar #add-reminder{font-size:0;width:30px;min-width:30px;min-height:30px;padding:0}.calendar #add-reminder svg{width:14px;height:14px}.calendar .agenda{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.calendar .agenda .event:nth-child(2){display:block}.calendar .agenda .empty{font-size:10px}.calendar .card-head{margin-bottom:10px}.calendar .arrows{gap:4px}.calendar .month{white-space:nowrap}}
@media(min-width:1000px) and (min-height:700px){.dashboard{min-height:0}}
/* Calendar: today and selection have different, persistent visual meanings. */
.month-title{padding:0;text-align:left}.month-title h2:after{content:' ↗';font-size:12px;color:var(--muted)}.today-shortcut{display:inline-flex;align-items:center;justify-content:center;background:var(--lime);color:#2c3721;padding:6px 13px;min-height:32px;border-radius:20px;font-size:11px;font-weight:600;flex-shrink:0}.calendar-links{display:flex;align-items:center;gap:12px}.calendar-expand{color:var(--lime)}.calendar .day.is-today{box-shadow:inset 0 0 0 2px var(--lime);color:var(--lime);background:#39482b}.calendar .day.is-today.selected{background:var(--lime);color:#26301f}.calendar .day small{font-size:9px}.weather-day.forecast-today{background:#e1efcb28;border:2px solid #e1efb6;box-shadow:0 0 0 1px #203c3033}.weather-day.forecast-today .forecast-name{color:#f3ffcf;font-weight:700}.weather-day.forecast-today .forecast-name:before{content:'● ';font-size:7px;vertical-align:middle}.calendar-dialog{width:min(1040px,calc(100% - 30px));max-height:94svh}.month-toolbar,.month-switch,.month-tools{display:flex;align-items:center;justify-content:space-between;gap:12px}.month-toolbar{margin-bottom:20px}.month-switch h3{font:500 24px Manrope;min-width:180px;text-align:center;text-transform:capitalize;margin:0}.month-switch .secondary{min-width:42px;font-size:24px;padding:5px 12px}.month-jump{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:8px}.month-jump input{max-width:160px}.month-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-weekdays{margin-bottom:8px;text-align:center;font-size:10px;color:var(--muted)}.month-day{position:relative;min-height:70px;border:1px solid #3f4938;border-radius:12px;padding:9px 5px;display:flex;flex-direction:column;align-items:center;gap:4px}.month-day-number{font:500 20px Manrope}.month-day.outside-month{opacity:.4}.month-day.selected{background:#51455e;border-color:var(--lavender);color:#f5edff}.month-day.is-today{opacity:1;border:2px solid var(--lime);color:var(--lime);background:#35452a}.month-day.is-today.selected{background:var(--lime);color:#26301f}.today-word{font-size:8px;text-transform:uppercase;letter-spacing:.8px;font-weight:700}.month-count{font-size:9px;color:inherit}.month-count span{display:none}.month-count:before{content:'● ';color:var(--lavender);font-size:7px}.calendar-legend{display:flex;gap:18px;margin-top:14px;font-size:10px;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:8px;height:8px;border-radius:50%}.today-key{background:var(--lime)}.selected-key{background:var(--lavender)}.month-agenda{padding:18px;background:#1c2419;border-radius:18px;min-width:0}.month-agenda>h3{font:500 21px/1.4 Manrope;text-transform:capitalize;margin:10px 0 18px}.month-agenda>.primary{width:100%;font-size:11px}.month-reminders{margin-top:15px;max-height:360px;overflow:auto}.month-reminders .list-row{gap:7px}.month-reminders h3{font-size:12px}.month-reminders .small-btn{font-size:9px;min-width:30px;padding:5px}.month-reminders .empty{font-size:12px}.calendar .agenda{min-height:55px}.calendar>.row{margin:7px 0!important;min-height:34px}
@media(min-width:1000px){.app{height:auto;min-height:100svh}.dashboard{grid-template-rows:minmax(270px,auto) minmax(260px,auto) minmax(155px,auto);flex:none}.calendar .day{min-height:62px}.calendar .card-head{margin-bottom:12px}}
@media(max-width:850px){.month-layout{grid-template-columns:1fr}.month-agenda{margin-top:4px}.month-reminders{max-height:240px}.month-toolbar{flex-wrap:wrap}.month-tools{width:100%}.month-switch{width:100%}.month-day{min-height:61px}.month-agenda>h3{font-size:18px}.calendar-dialog{padding:20px}.calendar-links{gap:8px}.calendar-links .text-btn{font-size:10px}}
@media(min-width:700px) and (max-width:999px){.dashboard{grid-template-rows:270px 265px 210px 150px}.calendar .day{min-height:57px}.calendar-expand svg{width:12px;height:12px}.calendar .today-shortcut{padding:5px 10px;font-size:10px}}
@media(max-width:699px){.calendar{min-height:285px}.month-switch h3{font-size:20px;min-width:150px}.month-grid{gap:4px}.month-day{padding:7px 2px;min-height:58px;border-radius:9px}.month-day-number{font-size:17px}.today-word{font-size:7px}.month-jump{font-size:9px}.month-jump input{max-width:155px}.month-toolbar{gap:10px}}
