.calendar-page[hidden]{display:none}.calendar-page>.section-heading{margin-bottom:25px}.calendar-intro{font-size:13px;color:var(--muted);margin:12px 0 0}.calendar-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.calendar-controls select,.calendar-settings select{background:#252d26;border:1px solid #495444;color:var(--text);padding:10px 14px;border-radius:8px}.calendar-controls>select{font-size:20px;font-weight:650}.calendar-controls>select[aria-label="Μήνας ημερολογίου"]{font-size:13px}.calendar-views{display:flex;gap:4px;margin-left:auto;border:1px solid var(--line);border-radius:10px;padding:3px}.calendar-views .secondary{border:0;background:transparent;padding:8px 15px}.calendar-views [aria-pressed=true]{background:#c9d8b5;color:#263526}.calendar-summary{display:grid;grid-template-columns:1fr 185px;gap:16px;margin-bottom:20px}.calendar-next{background:linear-gradient(120deg,#dedfcf,#b9cdb1);color:#293c2c;border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px}.calendar-next .eyebrow{color:#526a4c;margin:0;font-size:9px}.calendar-next>strong{font-size:25px;letter-spacing:-.6px}.calendar-next>span:last-child{font-size:12px;line-height:1.6}.calendar-stat{padding:22px;background:#283128;border:1px solid #3e4c3b;border-radius:14px;display:flex;flex-direction:column;justify-content:center;gap:6px}.calendar-stat>strong{font-size:42px;font-weight:500;line-height:1;color:#dbd8b2}.calendar-stat>span{font-size:12px;color:#b0bdab;line-height:1.5}.calendar-settings{border-bottom:1px solid var(--line);padding:0 0 15px;margin-bottom:20px;font-size:12px;color:var(--muted)}.calendar-settings summary{cursor:pointer;color:#cbd5bf}.calendar-settings-body{padding-top:16px;display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap}.calendar-settings-body>label:first-child{display:flex;gap:10px;align-items:center}.calendar-settings-body>.calendar-note{flex-basis:100%;margin:0}.calendar-check{display:flex;align-items:center;gap:7px;cursor:pointer}.calendar-check input{accent-color:#c0d2a4;width:16px;height:16px}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.calendar-legend>span:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#d4bc84}.calendar-legend>.national:before{background:#ef9586}.calendar-legend>.feast:before{background:#b2a0ca}.calendar-legend>.leave:before{background:#abc798}.calendar-legend>.today:before{background:transparent;border:1px solid #dfdaca}.calendar-help{font-size:11px;color:var(--muted);margin:12px 0 20px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:20px;align-items:start;scroll-margin-top:20px}.calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.calendar-months.month{grid-template-columns:1fr}.calendar-month{border:1px solid #394238;border-radius:13px;background:#222922;padding:18px 14px}.calendar-month h3{font-size:15px;margin:0 0 17px;font-weight:600;text-transform:capitalize;color:#dfe4d4}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{text-align:center;font-size:9px;color:#92a18d;padding-bottom:8px}.calendar-weekday:nth-child(6),.calendar-weekday:nth-child(7){color:#c9c1a7}.calendar-day{height:31px;min-width:0;background:transparent;border:1px solid transparent;border-radius:7px;position:relative;font-size:11px;color:#d5ddd0;padding:0}.calendar-day:hover{background:#424d3c}.calendar-day.rest{color:#a2b592;background:#2a3329}.calendar-day.feast{color:#d1bfe9}.calendar-day.custom,.calendar-day.pending{color:#e6c78b;background:#6b57322b}.calendar-day.national{color:#ffb2a0;background:#713f393d}.calendar-day.leave{color:#26391e;background:#b3ce9d;font-weight:700}.calendar-day.today{border-color:#e2daba}.calendar-day[aria-pressed=true]{outline:2px solid #f4edda;outline-offset:1px}.calendar-day.has-note:after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor;bottom:2px;left:calc(50% - 1px)}.calendar-months.month .calendar-day{height:54px;font-size:15px}.calendar-detail{position:sticky;top:20px;border:1px solid #434d3c;border-radius:13px;background:#2b332a;padding:20px;min-width:0}.calendar-detail .eyebrow{font-size:9px;color:#afbea0}.calendar-detail h3{font-size:20px;line-height:1.4;letter-spacing:-.4px;margin-bottom:18px}.calendar-detail>p.quiet{font-size:12px;line-height:1.7}.calendar-event{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid #53604a66}.calendar-event strong{font-size:13px}.calendar-event small{font-size:10px;color:#d8c392}.calendar-event.national small{color:#efac98}.calendar-detail .secondary{width:100%;font-size:11px;padding:11px;margin:12px 0 8px}.calendar-note{font-size:10px;color:#a7b49e;line-height:1.8;display:block}.calendar-note-label{display:block;font-size:11px;color:#c8d1be;margin:15px 0 8px}.calendar-detail textarea{width:100%;resize:vertical;min-height:90px;background:#20281f;border:1px solid #4d5d45;border-radius:8px;color:#edf1e5;font:inherit;font-size:12px;line-height:1.7;padding:10px}.calendar-detail textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.calendar-planning,.calendar-holidays{margin-top:35px}.calendar-planning h3,.calendar-holidays h3{font-size:20px;margin-bottom:12px}.calendar-trips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.calendar-trip{text-align:left;padding:18px;background:#2d392d;border:1px solid #48583e;border-radius:10px;display:flex;flex-direction:column;gap:8px}.calendar-trip strong{font-size:14px;color:#d5e5c2}.calendar-trip span{font-size:11px;color:#afc19f;line-height:1.7}.calendar-trip.idea{background:#352e27;border-color:#574a37}.calendar-trip.idea strong{color:#e5c798}.calendar-trip.idea span{color:#c4b192}.calendar-trip:hover{filter:brightness(1.15)}.calendar-holiday-row{display:grid;grid-template-columns:75px 1fr auto;gap:16px;align-items:center;width:100%;background:transparent;padding:15px 0;border-bottom:1px solid var(--line);text-align:left}.calendar-holiday-row:hover{background:#293127}.calendar-holiday-row>span{font-size:12px;color:#a5b69d}.calendar-holiday-row>strong{font-size:12px;font-weight:500}.calendar-holiday-row>small{font-size:10px;color:#a0b58e}.calendar-holiday-row>.national{color:#eea18e}.calendar-holiday-row>.custom,.calendar-holiday-row>.pending{color:#d9be83}.calendar-holiday-row>.feast{color:#b9a4ce}.calendar-pending-note{font-size:11px;line-height:1.8;color:#dcc48c;background:#3c3324;padding:15px;border-radius:8px;margin-top:20px}.calendar-footer{font-size:10px;color:var(--muted);margin-top:30px;border-top:1px solid var(--line);padding-top:15px}.calendar-footer a{text-decoration:underline;text-underline-offset:3px}#calendar-status:not(:empty){padding:12px;background:#493931;border-radius:8px;color:#f1bd9c;font-size:12px;margin-bottom:15px}
@media(min-width:1550px){.calendar-months{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-layout{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:1100px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-detail{position:static}.calendar-months{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-months.month{grid-template-columns:1fr}.calendar-trips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.calendar-months{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-summary{grid-template-columns:1fr 135px}.calendar-next{padding:20px}.calendar-next>strong{font-size:21px}.calendar-stat{padding:17px}.calendar-stat>span{font-size:10px}}
@media(max-width:540px){.sidebar .nav-item{padding:8px}.sidebar>.brand{font-size:26px}.calendar-summary{grid-template-columns:1fr}.calendar-stat{flex-direction:row;align-items:center;justify-content:flex-start;gap:15px;padding:13px 18px}.calendar-stat>strong{font-size:26px}.calendar-stat>span{font-size:12px}.calendar-months{grid-template-columns:1fr}.calendar-month{padding:18px}.calendar-day{height:37px;font-size:13px}.calendar-trips{grid-template-columns:1fr}.calendar-controls{gap:6px}.calendar-controls .secondary{padding:8px 11px}.calendar-controls>select{padding:8px 10px;font-size:18px}.calendar-views{margin-left:0}.calendar-legend{gap:10px}.calendar-holiday-row{grid-template-columns:60px 1fr;gap:6px 10px}.calendar-holiday-row>small{grid-column:2}.calendar-help{line-height:1.7}.calendar-settings-body>label:first-child{align-items:flex-start;flex-direction:column}.calendar-layout{gap:18px}.calendar-next>span:last-child{font-size:11px}}

.calendar-detail>.text-button{font-size:10px;margin-top:13px;text-decoration:underline;text-underline-offset:3px}
.calendar-name-search{margin:0 0 20px;padding:15px 18px;background:#222a27;border:1px solid #3b4b42;border-radius:11px}.calendar-name-search form{display:flex;align-items:center;gap:12px}.calendar-name-search label{font-size:12px;color:#c8d7c8;white-space:nowrap}.calendar-name-search input{min-width:0;flex:1;max-width:350px;border:1px solid #46594d;background:#19211c;color:var(--text);padding:10px 12px;border-radius:7px;font:inherit;font-size:12px}.calendar-name-search .secondary{font-size:11px;padding:10px 14px}.calendar-name-search .calendar-note{margin:9px 0 0}.calendar-name-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:210px;overflow:auto}.calendar-name-results:empty{display:none}.calendar-name-result{margin-top:8px;display:flex;align-items:center;gap:12px;background:#303e35;text-align:left;padding:12px;border-radius:7px;font-size:12px}.calendar-name-result strong{white-space:nowrap;color:#acc9cc}.calendar-name-result span{min-width:0;line-height:1.6}.calendar-namedays{border-top:1px solid #53604a66;margin:10px 0;padding-top:14px}.calendar-namedays h4{margin:0 0 10px;font-size:12px;color:#aac7ce;font-weight:500}.nameday-chips{display:flex;flex-wrap:wrap;gap:5px}.nameday-chips span{font-size:11px;color:#d1dfdc;background:#35443c;border:1px solid #4a5a51;padding:4px 7px;border-radius:5px}.calendar-namedays details{font-size:11px;line-height:1.7;color:#becfca;margin-top:9px}.calendar-namedays summary{cursor:pointer}.calendar-legend>.names:before{background:#8eafb5}.calendar-day.has-namedays:before{content:'';position:absolute;width:3px;height:3px;background:#8eafb5;border-radius:50%;bottom:3px;right:3px}.calendar-nameday-preview{display:none}.calendar-months.month .calendar-day{height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.calendar-months.month .calendar-nameday-preview{display:block;font-size:8px;line-height:1.4;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;font-weight:400;color:#adc5c3}.calendar-detail{max-height:calc(100dvh - 135px);overflow:auto;scrollbar-width:thin}
@media(max-width:1100px){.calendar-detail{max-height:none;overflow:visible}}
@media(max-width:540px){.calendar-name-search{padding:14px}.calendar-name-search form{flex-wrap:wrap;gap:8px}.calendar-name-search label{width:100%}.calendar-name-search input{width:150px}.calendar-name-results{grid-template-columns:1fr}.calendar-months.month .calendar-nameday-preview{font-size:7px}.calendar-months.month .calendar-day{height:61px}}

/* Quiet default: the month and selected day. Secondary tools open on demand. */
.calendar-page>.section-heading{margin-bottom:22px}.calendar-controls{margin-bottom:17px}.calendar-controls>select{font-size:14px;font-weight:500}.calendar-legend{margin-bottom:18px;font-size:9px;gap:12px}.calendar-months.month .calendar-month{background:#202621;border-color:#333c33;padding:22px}.calendar-months.month .calendar-month>h3{display:none}.calendar-months.month .calendar-day{height:54px;font-size:15px}.calendar-months.month .calendar-nameday-preview{display:none}.calendar-day.has-namedays:before{width:2px;height:2px;bottom:7px;right:calc(50% - 1px)}.calendar-day.has-note:after{bottom:7px;left:7px}.calendar-detail{background:transparent;border:0;border-left:1px solid var(--line);border-radius:0;padding:8px 0 12px 22px}.calendar-detail>.eyebrow{display:none}.calendar-detail h3{font-size:18px;margin-bottom:16px}.calendar-namedays{margin:8px 0 0;padding-top:14px}.nameday-chips span{background:transparent;border:0;padding:1px 0;font-size:12px}.nameday-chips{gap:4px 11px}.calendar-disclosure{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.calendar-disclosure>summary,.calendar-footer>summary{font-size:12px;color:var(--muted);cursor:pointer}.calendar-disclosure[open]>summary{margin-bottom:18px;color:var(--text)}.calendar-disclosure .calendar-summary{margin-top:15px}.calendar-disclosure .calendar-name-search{border:0;padding:0;background:transparent;margin:0}.calendar-detail .calendar-disclosure>summary{font-size:11px}.calendar-disclosure .calendar-planning{margin-top:24px}.calendar-footer{margin-top:22px}.calendar-footer[open]>summary{margin-bottom:14px}.calendar-personal .secondary{margin-top:0}.calendar-views .secondary{font-size:11px}
@media(max-width:1100px){.calendar-detail{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.calendar-months.month .calendar-month{padding:20px}}
@media(max-width:540px){.calendar-months.month .calendar-day{height:43px;font-size:13px}.calendar-months.month .calendar-month{padding:15px 12px}.calendar-controls{gap:5px}.calendar-controls>select{padding:8px;font-size:12px}.calendar-controls>select[aria-label="Μήνας ημερολογίου"]{font-size:12px}.calendar-controls .secondary{padding:8px}.calendar-views{margin-left:auto}.calendar-legend{gap:8px;font-size:8px}.calendar-day.has-namedays:before{bottom:4px}.calendar-detail h3{font-size:17px}}

.calendar-leave{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.calendar-leave .secondary{margin-top:0}.calendar-leave-count{margin:12px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}.calendar-leave-count strong{font-size:20px;font-weight:600;color:var(--text);margin-right:3px}

.calendar-rest-periods{margin-top:20px}.calendar-rest-periods h4{font-size:12px;font-weight:500;margin:0 0 6px;color:var(--text)}.calendar-rest-periods>.calendar-note{font-size:10px;margin:0 0 12px}.calendar-rest-list{list-style:none;padding:0;margin:0}.calendar-rest-list li{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:11px 0;border-top:1px solid var(--line);font-size:11px}.calendar-rest-list strong{color:var(--text);font-weight:500}.calendar-rest-list span{color:var(--muted);text-align:right}.calendar-rest-list small{grid-column:1/-1;color:var(--muted);font-size:10px}

/* Use the available page width; keep a small, consistent reading gutter. */
main:has(>#calendar-section:not([hidden])){max-width:none;padding-inline:22px}
#calendar-section{width:100%;max-width:none;margin-inline:0}
#calendar-section>.ad-slot{max-width:970px;margin:30px auto}
#calendar-section>.ad-slot .ad-space,#calendar-section>.ad-slot .ad-space a{min-height:90px}
#calendar-section>.ad-slot .ad-space img{height:90px}
@media(max-width:700px){main:has(>#calendar-section:not([hidden])){padding-inline:14px}#calendar-section>.ad-slot .ad-space,#calendar-section>.ad-slot .ad-space a{min-height:100px}#calendar-section>.ad-slot .ad-space img{height:100px}}

.calendar-toolbar{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px 28px;margin-bottom:18px}
.calendar-toolbar>.calendar-controls{margin:0;min-height:44px;align-items:center}
.calendar-toolbar>.calendar-name-search{flex:1;min-width:280px;max-width:700px;margin:0;padding:0;border:0;background:transparent}
.calendar-toolbar .calendar-name-search form{min-height:44px;gap:10px}
.calendar-toolbar .calendar-name-search input{max-width:280px}
.calendar-toolbar .calendar-name-search .calendar-note:empty{display:none}
@media(max-width:700px){.calendar-toolbar{gap:14px}.calendar-toolbar>.calendar-name-search{flex-basis:100%;min-width:0;max-width:none}.calendar-toolbar .calendar-name-search input{max-width:none}.calendar-toolbar .calendar-name-search form{flex-wrap:wrap}}

.nameday-dialog{width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel,#222a23);color:var(--text)}
.nameday-dialog::backdrop{background:#0009}.nameday-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.nameday-dialog-heading h2{font-size:22px;line-height:1.5;margin:0;overflow-wrap:anywhere}.nameday-dialog-heading button{flex-shrink:0}.nameday-dialog .calendar-name-results{grid-template-columns:1fr;max-height:none;overflow:visible}.nameday-dialog .calendar-name-result{width:100%;align-items:flex-start}.nameday-dialog .calendar-note{font-size:13px;line-height:1.7;margin:14px 0}
@media(max-width:540px){.nameday-dialog{padding:18px}.nameday-dialog-heading{flex-wrap:wrap}.nameday-dialog-heading h2{font-size:20px}}
