:root{--focus-ring-color:hsl(var(--ring));--focus-ring-glow:hsl(var(--ring) / .25)}.dark{--focus-ring-color:hsl(var(--ring));--focus-ring-glow:hsl(var(--ring) / .3)}:focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:2px}:focus:not(:focus-visible){outline:none}.focus-within-visible:focus-within{outline:2px solid var(--focus-ring-color);outline-offset:2px}button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=checkbox]:focus-visible,[role=radio]:focus-visible,[role=switch]:focus-visible,[tabindex]:focus-visible,.rbc-event:focus-visible,.rbc-event-custom:focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:2px}a:focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:2px;text-decoration:underline}.skip-link{background:hsl(var(--foreground));color:hsl(var(--background));z-index:10000;border-radius:0 0 4px;padding:8px 16px;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-40px;left:0}.skip-link:focus{outline:3px solid hsl(var(--ring));outline-offset:2px;top:0}[role=main]{min-height:100vh;display:block}[role=navigation],[role=complementary],[role=contentinfo],[role=banner],[role=search]{display:block}.region-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.hover-lift:hover,.animate-slide-up,.animate-fade-in,.animate-reduced{animation:none!important;transform:none!important}}@media (prefers-reduced-motion:no-preference){.animate-reduced{transition:none!important;animation:none!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only-focusable:focus,.sr-only-focusable:active{clip:auto;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}[aria-live=polite],[aria-live=assertive]{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.announce{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-error{border-color:hsl(var(--destructive));box-shadow:0 0 0 1px hsl(var(--destructive))}.form-error:focus{outline:3px solid hsl(var(--destructive));outline-offset:2px;box-shadow:0 0 0 6px hsl(var(--destructive) / .2)}.error-message{color:hsl(var(--destructive));align-items:center;gap:4px;font-size:.875rem;font-weight:500;display:flex}.error-message:before{content:"⚠";font-size:1rem}.required-indicator{color:hsl(var(--destructive));margin-left:2px}@media (prefers-contrast:high){:focus-visible{outline-width:4px}.btn,.rbc-event{border:2px solid}[aria-disabled=true]{opacity:.5}}.keyboard-shortcuts-dialog{z-index:10000;background:#fff;border-radius:12px;width:90%;max-width:400px;padding:24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 25px 50px -12px #00000040}.keyboard-shortcuts-dialog[aria-hidden=true]{display:none}.shortcut-row{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.shortcut-row:last-child{border-bottom:none}.shortcut-keys{gap:4px;display:flex}.shortcut-key{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-family:monospace;font-size:.875rem;font-weight:600;display:inline-block;box-shadow:0 1px #9ca3af}[aria-busy=true]{cursor:wait}.loading-overlay{z-index:100;background:#fffc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}[aria-disabled=true],.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}[aria-disabled=true]:focus,.disabled:focus{outline:none}@media (orientation:portrait){.landscape-only{display:none}}@media (orientation:landscape){.portrait-only{display:none}}
