.glow-card{--shine-x:50%;--shine-y:50%;box-shadow:0 20px 80px color-mix(in oklch, var(--background) 70%, transparent), 0 0 40px color-mix(in oklch, var(--primary) 8%, transparent)}.glow-card:after{z-index:1;border-radius:inherit;content:"";background:radial-gradient(240px circle at var(--shine-x) var(--shine-y), color-mix(in oklch, var(--primary) 90%, white 10%), transparent 70%);opacity:0;transition:opacity var(--motion-fast,.25s) var(--motion-ease,ease-out);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glow-card:hover:after,.glow-card:focus-within:after{opacity:1}@media (prefers-reduced-motion:reduce){.glow-card:after{transition:none}}
.drawer-root{z-index:10000;pointer-events:none;position:fixed;inset:0}.drawer-root.is-open{pointer-events:auto}.drawer-backdrop{cursor:pointer;opacity:0;background:#00000080;background:lab(0% 0 0/.5);border:none;width:100%;padding:0;transition:opacity .25s;position:absolute;inset:0}.drawer-root.is-open .drawer-backdrop{opacity:1}.drawer-panel{background:var(--card);width:85vw;max-width:360px;color:var(--card-foreground);box-shadow:none;visibility:hidden;flex-direction:column;transition:transform .4s,box-shadow .4s,visibility 0s linear .4s;display:flex;position:absolute;top:0;bottom:0}.drawer-panel-right{right:0;transform:translate(100%)}.drawer-panel-left{left:0;transform:translate(-100%)}.drawer-root.is-open .drawer-panel{visibility:visible;box-shadow:0 0 40px color-mix(in oklch, var(--foreground) 15%, transparent);transition:transform .4s,box-shadow .4s,visibility;transform:translate(0)}.drawer-panel:focus-visible{box-shadow:0 0 0 2px var(--ring) inset;outline:none}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.drawer-title{color:var(--card-foreground);font-size:1.05rem;font-weight:600}.drawer-close-btn{border-radius:var(--radius);cursor:pointer;background:0 0;border:none;flex-shrink:0;width:32px;height:32px;transition:background-color .15s;position:relative}.drawer-close-btn:hover{background:var(--accent)}.drawer-close-btn:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.drawer-close-btn span{background:var(--card-foreground);width:16px;height:2px;position:absolute;top:50%;left:50%}.drawer-close-btn span:first-child{transform:translate(-50%,-50%)rotate(45deg)}.drawer-close-btn span:last-child{transform:translate(-50%,-50%)rotate(-45deg)}.drawer-content{flex:1;padding:1.25rem;overflow-y:auto}.drawer-footer{border-top:1px solid var(--border);padding:1rem 1.25rem}
.input-wrapper{flex-direction:column;gap:.5rem;width:100%;display:flex}.input-label{color:var(--foreground);cursor:pointer;font-size:.875rem;font-weight:500;line-height:1.25rem}.input-label:after{content:""}.input{border:1px solid var(--input);background:color-mix(in oklch, var(--background) 82%, transparent);width:100%;min-width:0;height:2.75rem;color:var(--foreground);box-shadow:inset 0 1px 0 color-mix(in oklch, var(--foreground) 3%, transparent);transition:border-color var(--motion-fast,.2s) var(--motion-ease,ease-out), box-shadow var(--motion-fast,.2s) var(--motion-ease,ease-out), background-color var(--motion-fast,.2s) var(--motion-ease,ease-out);border-radius:.5rem;outline:none;padding:.625rem .875rem;font-size:.875rem;line-height:1.25rem}.input::placeholder{color:var(--muted-foreground);opacity:.7}.input:hover:not(:disabled){border-color:color-mix(in oklch, var(--primary) 25%, var(--input))}.input:focus{border-color:var(--ring);background:color-mix(in oklch, var(--background) 92%, transparent);box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 12%, transparent)}.input:disabled{cursor:not-allowed;opacity:.5}.input.input-error{border-color:var(--destructive)}.input.input-error:focus{border-color:var(--destructive);box-shadow:0 0 0 3px color-mix(in oklch, var(--destructive) 12%, transparent)}.input-error-text{color:var(--destructive);margin-top:.125rem;font-size:.75rem;line-height:1rem}.input-field{width:100%;display:flex;position:relative}.input.with-icon-right{padding-right:2.875rem}.input-icon-btn{width:2rem;height:2rem;color:var(--muted-foreground);cursor:pointer;transition:color var(--motion-fast,.2s) var(--motion-ease,ease-out), background-color var(--motion-fast,.2s) var(--motion-ease,ease-out);background:0 0;border:0;border-radius:.375rem;outline:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:.375rem;transform:translateY(-50%)}.input-icon-btn:hover{color:var(--accent-foreground)}.input-icon-btn:focus-visible{color:var(--primary);box-shadow:0 0 0 2px color-mix(in oklch, var(--ring) 30%, transparent)}.input-icon-btn:active{transform:translateY(-50%)scale(.96)}.input-icon-btn svg{width:1rem;height:1rem}.checkbox-wrapper{align-items:flex-start;gap:.625rem;width:100%;display:flex}.checkbox-wrapper>label{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:1.125rem;height:1.125rem;display:inline-flex;position:relative}.checkbox-input{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.checkbox-box{border:1px solid var(--input);background:var(--background);width:1.125rem;height:1.125rem;transition:background-color var(--motion-fast,.2s) var(--motion-ease,ease-out), border-color var(--motion-fast,.2s) var(--motion-ease,ease-out), box-shadow var(--motion-fast,.2s) var(--motion-ease,ease-out), transform var(--motion-fast,.2s) var(--motion-ease,ease-out);border-radius:.3rem;justify-content:center;align-items:center;display:flex}.checkbox-wrapper>label:hover .checkbox-box{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklch, var(--primary) 8%, transparent)}.checkbox-input:checked+.checkbox-box{border-color:var(--primary);background:var(--primary);box-shadow:0 0 14px color-mix(in oklch, var(--primary) 18%, transparent)}.checkbox-check{fill:none;width:.8rem;height:.8rem;stroke:var(--primary-foreground);stroke-width:2.75px;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity var(--motion-fast,.2s) var(--motion-ease,ease-out), transform var(--motion-fast,.2s) var(--motion-ease,ease-out);transform:scale(.7)}.checkbox-input:checked+.checkbox-box .checkbox-check{opacity:1;transform:scale(1)}.checkbox-input:focus-visible+.checkbox-box{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 15%, transparent)}.checkbox-input:disabled+.checkbox-box{cursor:not-allowed;opacity:.5}.checkbox-wrapper:has(.checkbox-input:disabled){opacity:.6}.checkbox-wrapper:has(.checkbox-input:disabled)>label{cursor:not-allowed}.checkbox-label{color:var(--muted-foreground);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;line-height:1.25rem}.checkbox-label:hover{color:var(--foreground)}.checkbox-error{color:var(--destructive)}.input-date::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(.7)brightness(1.4);transition:filter var(--motion-fast,.2s) var(--motion-ease,ease-out);border-radius:.25rem;padding:.25rem}.input-date:hover::-webkit-calendar-picker-indicator{filter:invert(.7)brightness(1.4)sepia()saturate(4)hue-rotate(165deg)}.input-date:focus::-webkit-calendar-picker-indicator{filter:invert(.7)brightness(1.4)sepia()saturate(4)hue-rotate(165deg)}.input-date::-webkit-datetime-edit{color:var(--foreground)}.input-date::-webkit-datetime-edit-fields-wrapper{color:var(--foreground)}.input-date:disabled::-webkit-calendar-picker-indicator{cursor:not-allowed;opacity:.5}.select-wrapper{width:100%;display:flex;position:relative}.select-input{appearance:none;border:1px solid var(--input);background:color-mix(in oklch, var(--background) 82%, transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .75rem center / 1rem 1rem;width:100%;min-width:0;height:2.75rem;color:var(--foreground);box-shadow:inset 0 1px 0 color-mix(in oklch, var(--foreground) 3%, transparent);cursor:pointer;transition:border-color var(--motion-fast,.2s) var(--motion-ease,ease-out), box-shadow var(--motion-fast,.2s) var(--motion-ease,ease-out), background-color var(--motion-fast,.2s) var(--motion-ease,ease-out);border-radius:.5rem;outline:none;padding:.625rem 2.25rem .625rem .875rem;font-size:.875rem;line-height:1.25rem}.select-input:hover:not(:disabled){border-color:color-mix(in oklch, var(--primary) 25%, var(--input))}.select-input:focus{border-color:var(--ring);background-color:color-mix(in oklch, var(--background) 92%, transparent);box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 12%, transparent)}.select-input:disabled{cursor:not-allowed;opacity:.5}.select-input option{background:var(--background);color:var(--foreground)}.select-input.select-error{border-color:var(--destructive)}.select-input.select-error:focus{border-color:var(--destructive);box-shadow:0 0 0 3px color-mix(in oklch, var(--destructive) 12%, transparent)}.select-error-message{color:var(--destructive);margin-top:.125rem;font-size:.75rem;line-height:1rem}.form-link{color:var(--muted-foreground);transition:color var(--motion-fast,.2s) var(--motion-ease,ease-out);font-size:.875rem;text-decoration:none}.form-link:hover{color:var(--primary)}@media (max-width:640px){.input{height:2.75rem;padding-left:.75rem;padding-right:.75rem}.input.with-icon-right{padding-right:2.75rem}}@media (prefers-reduced-motion:reduce){.input,.input-icon-btn,.checkbox-box,.checkbox-check,.select-input,.form-link{transition:none}.input-icon-btn:active{transform:translateY(-50%)}}
input:-webkit-autofill{transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--background) inset!important;-webkit-text-fill-color:var(--foreground)!important}input:-webkit-autofill:hover{transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--background) inset!important;-webkit-text-fill-color:var(--foreground)!important}input:-webkit-autofill:focus{transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--background) inset!important;-webkit-text-fill-color:var(--foreground)!important}input:-webkit-autofill:active{transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--background) inset!important;-webkit-text-fill-color:var(--foreground)!important}
