.date-control{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:0;align-items:stretch;min-width:0;position:relative}.date-control input[data-date-visible]{min-width:0;width:100%;border-radius:6px 0 0 6px}.date-calendar-toggle{border:1px solid #788da0;border-left:0;border-radius:0 6px 6px 0;background:#e8eff5;color:#0e263b;font:22px Arial;cursor:pointer;padding:0;min-width:0}.date-format-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.date-control input[aria-invalid=true]{border-color:#b42332}.date-calendar{width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #bbc9d4;border-radius:12px;padding:16px;background:white;color:#0e263b;box-shadow:0 12px 45px #0e263b40;z-index:1000}.date-calendar::backdrop{background:#0e263b70}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-heading h2{font-size:18px;margin:0}.calendar-heading .btn{font-size:12px;padding:8px}.calendar-nav{display:grid;grid-template-columns:34px minmax(100px,1fr) 80px 34px;gap:6px;margin-top:16px}.calendar-nav button{border:1px solid #becbd5;border-radius:5px;background:#e8eff5;color:#0e263b;font-size:24px;cursor:pointer}.calendar-nav input,.calendar-nav select{min-width:0;width:100%;padding:6px}.date-calendar table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}.date-calendar th,.date-calendar td{padding:2px;text-align:center;border:0;font-size:12px}.date-calendar td button{width:100%;min-height:36px;border:1px solid transparent;background:white;color:#0e263b;border-radius:5px;font-size:14px;cursor:pointer;padding:4px}.date-calendar td[aria-selected=true] button{background:#0e263b;color:white}.date-calendar button:disabled{opacity:.4;cursor:not-allowed}.date-calendar button:focus-visible,.date-calendar input:focus-visible,.date-calendar select:focus-visible{outline:3px solid #245d8c;outline-offset:1px}.date-calendar-status{font-size:14px;min-height:20px;margin:12px 0 6px}.calendar-actions{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;margin-top:14px}.calendar-actions .btn{font-size:12px;padding:8px}.date-calendar label{display:grid;gap:4px;margin-top:10px}@media(max-width:480px){.date-calendar{padding:12px}.calendar-nav{grid-template-columns:30px minmax(80px,1fr) 72px 30px}.date-format-hint{font-size:10px}}
