/* TLB-inspired compact calendar, styled with Elio's ivory and bronze. */
.calendar-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;min-width:190px;max-width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fffdfa;color:var(--brown);font:13px/1.5 Arial,sans-serif;text-align:left}
.calendar-trigger:hover{border-color:var(--bronze);background:var(--ivory)}.calendar-trigger svg{flex-shrink:0;width:19px;height:19px;stroke:var(--bronze);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
dialog.elio-calendar{width:min(374px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);padding:21px;border:1px solid var(--line);border-radius:14px;background:#fffdfa;color:var(--brown);overflow:auto;box-shadow:0 20px 80px #3d251c36;font-family:Arial,Helvetica,sans-serif;line-height:1.5}
.elio-calendar::backdrop{background:#3d251c5c;backdrop-filter:blur(2px)}.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px}.calendar-heading h2{margin:0;font:700 17px/1.5 Arial,sans-serif;letter-spacing:0}.calendar-close{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;padding:0;border:0;border-radius:50%;background:#f2ebe0;color:var(--bronze);font:23px/1 Arial,sans-serif}.calendar-guidance{font-size:11px;color:#796d64;line-height:1.6;margin:0 0 17px}.calendar-toolbar{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:8px;text-align:center;margin-bottom:9px}.calendar-toolbar strong{font-size:13px;font-weight:700}.calendar-nav{min-height:40px;padding:0;border:1px solid var(--line);border-radius:7px;background:#f8f1e6;color:var(--bronze);font:24px/1 Arial,sans-serif}.calendar-nav:hover:not(:disabled){background:var(--beige)}.elio-calendar button:disabled{opacity:1;cursor:not-allowed}.calendar-nav:disabled{color:#bcb3a8;background:#f9f7f3;border-color:#eeeae3}
.calendar-month{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed;margin:0}.calendar-month th{font-size:10px;font-weight:400;color:#796d64;padding:5px 0 7px;text-align:center;border:0}.calendar-month td{padding:0;text-align:center;height:39px;border:0}.calendar-day{position:relative;display:block;width:100%;min-height:39px;padding:6px 1px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--brown);font:12px/1.5 Arial,sans-serif}.calendar-day:hover:not(:disabled){background:#f1e8db}.calendar-day[aria-current=date]{border-color:#c7b59e}.calendar-day:disabled{color:#b3aba1;background:#faf8f4;text-decoration:line-through;text-decoration-color:#cbc3b9}.calendar-day[aria-pressed=true]:not(:disabled){background:var(--bronze);color:white;font-weight:700}.calendar-day[aria-pressed=true]:not(:disabled):after{content:'•';position:absolute;bottom:-1px;left:0;right:0;font:12px/12px Arial,sans-serif}.elio-calendar button:focus-visible,.calendar-trigger:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
.calendar-legend{display:flex;align-items:center;gap:19px;margin:13px 0 10px;font-size:10px;color:#796d64}.calendar-legend>span{display:inline-flex;align-items:center;gap:6px}.calendar-selected-key,.calendar-unavailable-key{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--bronze)}.calendar-unavailable-key{background:linear-gradient(-45deg,transparent 45%,#b3aba1 45%,#b3aba1 55%,transparent 55%),#faf8f4;border:1px solid var(--line)}.calendar-help{font-size:10px;line-height:1.6;color:#796d64;margin:0 0 12px}.calendar-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:10px}.calendar-footer button{border:0;background:transparent;color:var(--bronze);text-decoration:underline;text-underline-offset:3px;font:11px/1.5 Arial,sans-serif;min-height:35px;padding:4px 0}.calendar-footer button:disabled{color:#b3aba1;text-decoration:none}
@media(max-width:700px){.calendar-trigger{width:100%;min-width:0}}
@media(max-width:380px){dialog.elio-calendar{padding:16px;width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.calendar-month{border-spacing:2px}.calendar-day,.calendar-month td{min-height:37px;height:37px}}
@media print{dialog.elio-calendar{display:none!important}}
