/* Shared form controls for the portal, sign-in and embedded PDF previews.
   The legacy navbar checkbox is a menu button, not a form field. */
input[type="checkbox"]:not(.navbar-toggler) {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    display: inline-block;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    border: 1.5px solid #8aa598;
    border-radius: 5px;
    background: #fff no-repeat center / 16px 16px;
    color: #fff;
    accent-color: #245640;
    box-shadow: none;
    cursor: pointer;
}
input[type="checkbox"]:not(.navbar-toggler):checked {
    border-color: #245640;
    background-color: #245640;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-8' fill='none' stroke='white' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
input[type="checkbox"]:not(.navbar-toggler):indeterminate {
    border-color: #245640;
    background-color: #245640;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10h10' fill='none' stroke='white' stroke-width='2.3' stroke-linecap='round'/%3E%3C/svg%3E");
}
input[type="checkbox"]:not(.navbar-toggler):focus {
    box-shadow: none;
}
input[type="checkbox"]:not(.navbar-toggler):focus-visible {
    outline: 3px solid #68a87b;
    outline-offset: 3px;
}
input[type="checkbox"]:not(.navbar-toggler):disabled {
    opacity: .5;
    cursor: not-allowed;
}
label:has(input[type="checkbox"]:not(.navbar-toggler)) {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 28px;
    line-height: 1.5;
    cursor: pointer;
}
label:has(input[type="checkbox"]:disabled) { cursor: not-allowed; }
@media (pointer: coarse) {
    label:has(input[type="checkbox"]:not(.navbar-toggler)) { min-height: 44px; }
}
@media (forced-colors: active) {
    input[type="checkbox"]:not(.navbar-toggler) {
        -webkit-appearance: auto;
        appearance: auto;
        background: none;
        border: revert;
        forced-color-adjust: auto;
    }
    input[type="checkbox"]:not(.navbar-toggler):checked,
    input[type="checkbox"]:not(.navbar-toggler):indeterminate { background: none; border-color: ButtonText; }
    input[type="checkbox"]:not(.navbar-toggler):focus-visible { outline-color: Highlight; }
}


/* Shared Czech date picker, independent of browser calendar colours. */
.novato-date-field{display:flex;align-items:center;gap:8px;color:#587092;font-size:12px}
.novato-date-picker{display:inline-block}
.novato-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:38px;min-width:145px;padding:8px 11px;border:1px solid #c9dcd1;border-radius:6px;background:white;color:#244a37;font:inherit;cursor:pointer}
.novato-date-trigger .portal-icon{width:18px;height:18px;color:#245640}
.novato-date-trigger:disabled{opacity:.5;cursor:wait}
.novato-date-backdrop{position:fixed;inset:0;z-index:1000;width:100%;height:100%;border:0;background:transparent;cursor:default!important}
.novato-date-popup{position:fixed;z-index:1001;top:10px;left:10px;width:310px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow:auto;background:#fff;color:#244a37;border:1px solid #c9dcd1;border-radius:12px;padding:12px;box-shadow:0 12px 35px #123c2926;font:13px Arial,sans-serif;outline:none}
.novato-date-popup header{display:flex;align-items:center;gap:6px;margin:0 0 12px}
.novato-date-popup header select{min-width:0;padding:7px 3px;background:#eff8f3;border:1px solid #d5e5dc;border-radius:6px;color:#245640;font:inherit;cursor:pointer}
.novato-date-popup header select:first-of-type{flex:1}
.novato-date-popup button{font:inherit;border:0;cursor:pointer}
.novato-date-popup .novato-date-arrow{background:transparent;color:#245640;font-size:25px;min-width:28px;height:34px;border-radius:5px;padding:0}
.novato-date-week,.novato-date-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.novato-date-week span{text-align:center;padding:6px 0;color:#648071;font-size:11px;font-weight:700}
.novato-date-days button{height:35px;border-radius:6px;background:white;color:#244a37;padding:0}
.novato-date-days button.outside{color:#98a99f}
.novato-date-days button.today{box-shadow:inset 0 0 0 1px #6aab7e;font-weight:bold}
.novato-date-days button:hover,.novato-date-popup .novato-date-arrow:hover{background:#e7f3eb}
.novato-date-days button.chosen,.novato-date-days button.chosen:hover{background:#245640;color:white;box-shadow:none;font-weight:bold}
.novato-date-popup footer{display:flex;justify-content:space-between;gap:6px;border-top:1px solid #e2ece6;margin-top:12px;padding-top:10px}
.novato-date-popup footer button{background:#eff8f3;color:#245640;border-radius:6px;padding:9px 10px}
.novato-date-popup button:disabled{opacity:.4;cursor:default}
.novato-date-popup button:focus-visible,.novato-date-popup select:focus-visible,.novato-date-trigger:focus-visible{outline:2px solid #68a87b;outline-offset:2px}
@media(pointer:coarse){.novato-date-days button{height:40px}.novato-date-trigger{min-height:44px}}

.novato-time-picker{display:inline-block;width:100%}.novato-time-trigger{min-width:0;width:100%;min-height:40px}.novato-time-popup header{justify-content:space-between}.novato-time-preview{background:#e4f2e8;border-radius:6px;padding:6px 12px;color:#245640;font-size:20px;font-weight:bold}.novato-time-caption{font-size:12px;color:#587363;margin:12px 0 8px}.novato-time-hours,.novato-time-minutes{display:grid;gap:5px}.novato-time-hours{grid-template-columns:repeat(6,minmax(0,1fr))}.novato-time-minutes{grid-template-columns:repeat(4,minmax(0,1fr))}.novato-time-hours button,.novato-time-minutes button{height:36px;border-radius:6px;background:#eff8f3;color:#245640;padding:0}.novato-time-hours button:hover,.novato-time-minutes button:hover{background:#deeee3}.novato-time-hours button.chosen,.novato-time-minutes button.chosen,.novato-time-popup footer .novato-time-apply{background:#245640;color:white}.meeting-editor .novato-time-exact{display:flex;align-items:center;gap:12px;margin:14px 0 0}.meeting-editor .novato-time-exact input{width:75px;margin:0;padding:8px;border-color:#c9dcd1}.novato-time-error{font-size:12px;color:#b32632}@media(pointer:coarse){.novato-time-hours button,.novato-time-minutes button{height:40px}}
