.planner-page{max-width:1440px}
.planner-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:18px 0 30px}
.planner-heading .page-head{flex:1;margin:0}
.planner-heading .page-head h1{font-size:clamp(40px,4.5vw,62px)}
.planner-heading .button-row{margin-bottom:3px}
.planner-summary{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin-bottom:34px;font:11px/1.5 monospace;color:var(--muted)}
.planner-summary span+span{border-left:1px solid var(--line);padding-left:25px}
.planner-summary strong{font:500 18px/1 Arial,sans-serif;color:var(--fg);margin-right:7px}
.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:33px;align-items:start}
.planner-month{min-width:0}
.planner-month-bar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 22px}
.planner-month-bar .meta,.planner-side .meta{font:10px/1.4 monospace;letter-spacing:.09em;color:var(--muted)}
.planner-month-bar h2{font-size:29px;font-weight:400;letter-spacing:-.045em;margin-top:6px}
.planner-month-actions{display:flex;align-items:center;gap:4px;font:12px monospace}
.planner-month-actions button{min-width:31px;height:31px;border:1px solid var(--line)}
.planner-month-actions #planner-today{min-width:46px;padding:0 7px}
.planner-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.planner-weekday{height:34px;padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font:10px/1.3 monospace;color:var(--muted)}
.planner-weekday:nth-child(6){color:var(--down)}
.planner-weekday:nth-child(7){color:var(--up)}
.planner-day{min-width:0;min-height:117px;padding:7px 6px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s;cursor:pointer}
.planner-day:is(:hover,.is-selected){background:var(--soft)}
.planner-day.is-outside{opacity:.38}
.planner-day>button{display:flex;align-items:center;justify-content:center;width:29px;height:29px;margin:0 0 6px 2px;font:12px monospace}
.planner-day.is-today>button{background:var(--fg);color:var(--bg);border-radius:50%}
.planner-day.is-selected:not(.is-today)>button{border:1px solid var(--fg);border-radius:50%}
.planner-day.is-saturday>button{color:var(--down)}
.planner-day.is-saturday.is-today>button{background:var(--down);color:var(--bg)}
.planner-day.is-saturday.is-selected:not(.is-today)>button{border-color:var(--down)}
.planner-day.is-red-day>button{color:var(--up)}
.planner-day.is-red-day.is-today>button{background:var(--up);color:var(--bg)}
.planner-day.is-red-day.is-selected:not(.is-today)>button{border-color:var(--up)}
.planner-holidays{display:grid;gap:2px;min-width:0}
.planner-holidays:empty{display:none}
.planner-holiday{display:block;min-width:0;font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.planner-holiday.is-public{color:var(--up)}
.planner-holiday.is-observance{color:var(--muted)}
.planner-day-items{display:grid;gap:3px}
.planner-chip{display:flex;align-items:center;gap:5px;min-width:0;padding:5px 6px;background:color-mix(in srgb,var(--fg) 5%,var(--bg));font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.planner-chip i{flex:none;width:4px;height:4px;border-radius:50%;background:var(--fg)}
.planner-more{padding:3px 6px;font:10px monospace;color:var(--muted)}
.planner-side{border-top:1px solid var(--fg);padding-top:18px}
.planner-side-head h2{font-size:22px;font-weight:400;letter-spacing:-.04em;margin:10px 0 5px}
.planner-side-head.is-saturday h2{color:var(--down)}
.planner-side-head.is-red-day h2{color:var(--up)}
.planner-side-head p{font-size:11px;color:var(--muted)}
.planner-side-holidays{display:grid;gap:7px;margin-top:17px}
.planner-side-holiday{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px;line-height:1.5}
.planner-side-holiday.is-public span{color:var(--up)}
.planner-side-holiday.is-observance span,.planner-side-holiday small{color:var(--muted)}
.planner-side-holiday small{font:10px/1.5 monospace;white-space:nowrap}
.planner-agenda{margin:25px 0 17px;border-top:1px solid var(--line)}
.planner-agenda-item{display:grid;grid-template-columns:53px minmax(0,1fr) 10px;gap:10px;align-items:start;width:100%;padding:16px 0;border-bottom:1px solid var(--line);text-align:left}
.planner-agenda-item>span:nth-child(2){min-width:0}
.planner-agenda-item strong,.planner-agenda-item small{display:block;overflow-wrap:anywhere}
.planner-agenda-item strong{font-size:13px;font-weight:500;line-height:1.5}
.planner-agenda-item small{font:10px monospace;color:var(--muted);margin-top:5px}
.planner-agenda-time{font:10px/1.5 monospace;color:var(--muted);white-space:nowrap}
.planner-agenda-item>span:last-child{font-size:11px;color:var(--muted)}
.planner-empty{padding:33px 7px;color:var(--muted);font-size:12px;line-height:1.8}
.planner-side-actions{display:grid;gap:12px;justify-items:start;font-size:12px}
.planner-sources{margin-top:42px;padding:17px 0;border-top:1px solid var(--line)}
.planner-sources p{font-size:12px;color:var(--muted);line-height:1.7;margin-top:9px}
.planner-source{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:13px 0}
.planner-source:first-of-type{margin-top:8px}
.planner-source-info{display:flex;align-items:center;gap:10px;min-width:0}
.planner-provider-icon{display:inline-grid;place-items:center;width:27px;height:27px;flex:none}
.planner-provider-google{font:700 24px/1 Arial,sans-serif;background:conic-gradient(#4285f4 0deg 90deg,#34a853 90deg 180deg,#fbbc05 180deg 245deg,#ea4335 245deg 315deg,#4285f4 315deg);-webkit-background-clip:text;background-clip:text;color:transparent}
.planner-source strong,.planner-source small{display:block;overflow-wrap:anywhere}
.planner-source strong{font-size:12px;font-weight:500}
.planner-source small{font:10px/1.5 monospace;color:var(--muted);margin-top:3px}
.planner-source>button{flex:none;font:10px monospace;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.planner-source-actions{display:grid;gap:8px;margin-top:16px;font-size:12px}
.planner-provider-action{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;border:1px solid var(--line);text-align:left;font-size:11px;transition:border-color .15s ease,transform .15s ease}
.planner-provider-action .planner-provider-icon{width:22px;height:22px;font-size:21px}
.planner-provider-action span:last-child{margin-left:auto;color:var(--muted)}
.planner-provider-action:hover,.planner-provider-action:focus-visible{border-color:var(--fg);transform:translateY(-1px)}
.planner-refresh-action{justify-self:start;margin-top:6px}
.planner-connect-help,.planner-external-detail{font-size:12px;line-height:1.7;color:var(--muted)}
.planner-external-detail p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:15px}
.planner-form{display:grid;gap:9px}
.planner-form>label:not(.planner-inline-check),.planner-form-times label{font-size:11px;color:var(--muted);margin-top:9px}
.planner-form input,.planner-form select,.planner-form textarea{width:100%;margin:0;font-size:14px}
.planner-form-times{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.planner-form-times[hidden]{display:none}
.planner-form-times>label{grid-row:1}
.planner-inline-check{display:flex;align-items:center;gap:9px;margin:7px 0;font-size:12px}
.planner-inline-check input{width:auto}
.planner-form-actions{display:flex;align-items:center;gap:18px;margin-top:15px}
.planner-form .form-error{color:var(--up);font-size:12px;min-height:18px}
@media(max-width:1080px){.planner-layout{grid-template-columns:minmax(0,1fr) 240px;gap:22px}.planner-day{min-height:105px}}
@media(max-width:800px){.planner-layout{grid-template-columns:1fr}.planner-side{margin-top:18px;display:grid;grid-template-columns:1fr 1.3fr;gap:0 25px}.planner-side-head{grid-column:1}.planner-agenda{grid-column:2;grid-row:1/4;margin:0}.planner-side-actions,.planner-sources{grid-column:1}.planner-sources{margin-top:24px}}
@media(max-width:600px){.planner-page{padding-left:22px;padding-right:22px}.planner-heading{align-items:start;flex-direction:column;gap:20px}.planner-heading .page-head{margin:0}.planner-heading .page-head p{display:none}.planner-summary{gap:10px;justify-content:space-between}.planner-summary span+span{padding-left:10px}.planner-summary strong{display:block;margin:0 0 5px;font-size:17px}.planner-month-bar h2{font-size:23px}.planner-weekday{text-align:center;padding:10px 1px}.planner-day{min-height:75px;padding:4px 2px}.planner-day>button{width:25px;height:25px;margin:0 auto 3px;font-size:11px}.planner-holidays{gap:1px;margin:0 1px 3px}.planner-holiday{font-size:9px;line-height:1.15;text-align:center}.planner-day-items{gap:2px;display:flex;justify-content:center;flex-wrap:wrap}.planner-chip{display:block;width:5px;height:5px;border-radius:50%;padding:0;margin:0 auto;font-size:0}.planner-chip i,.planner-more{display:none}.planner-side{display:block}.planner-agenda{margin-top:20px}.planner-form input,.planner-form select,.planner-form textarea{font-size:16px}}
