@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";.protected-route-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);background-color:var(--color-bg-primary)}.protected-route-spinner{color:var(--color-accent-brand);animation:protected-route-spin 1s linear infinite}@keyframes protected-route-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-accent-brand-weak) 100%);padding:var(--space-4)}.auth-container{width:100%;max-width:440px;display:flex;flex-direction:column;gap:var(--space-6)}.auth-header{text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}.auth-logo{font-size:32px;font-weight:var(--font-weight-semibold);color:var(--color-accent-brand);margin:0}.auth-subtitle{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0}.auth-card{box-shadow:var(--shadow-xl)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-field{display:flex;flex-direction:column;gap:var(--space-2)}.auth-field__label{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.auth-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background-color:var(--color-status-danger-weak);border:1px solid var(--color-status-danger);border-radius:var(--radius-m);color:var(--color-status-danger);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.auth-success{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background-color:var(--color-status-success-weak);border:1px solid var(--color-status-success);border-radius:var(--radius-m);color:var(--color-status-success);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.auth-forgot{display:flex;justify-content:flex-end}.auth-link{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-accent-brand);text-decoration:none;transition:color var(--transition-fast)}.auth-link:hover{color:var(--color-accent-brand-hover);text-decoration:underline}.auth-link--centered{display:flex;align-items:center;gap:var(--space-2);justify-content:center}.auth-form__helper-text{margin:0;font-size:var(--font-size-body);color:var(--color-text-secondary)}.auth-form__helper-text--centered,.auth-footer{text-align:center}.auth-footer-text{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0}.auth-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0}.auth-divider-line{flex:1;height:1px;background-color:var(--color-border-subtle)}.auth-divider-text{font-size:var(--font-size-caption);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}@media(max-width:480px){.auth-page{padding:var(--space-3)}.auth-logo{font-size:28px}.auth-card{padding:var(--space-4)}}.app-page-loader{display:flex;align-items:center;justify-content:center;min-height:100vh;flex-direction:column;gap:1rem}.app-page-loader__spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid var(--color-accent-brand);border-radius:50%;animation:app-spin 1s linear infinite}@keyframes app-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-placeholder{display:flex;align-items:center;justify-content:center;min-height:60vh;flex-direction:column;gap:var(--space-4)}.dialog-overlay{position:fixed;top:var(--topbar-height, 72px);left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;overflow-y:auto;animation:fadeIn .2s ease-out}.dialog{background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:600px;max-height:calc(100vh - var(--topbar-height, 72px) - 2rem);overflow:hidden;display:flex;flex-direction:column;margin:auto;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-large{max-width:800px}.dialog-small{max-width:400px}.dialog-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dialog-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.dialog-description{font-size:.875rem;color:#6b7280;margin:.25rem 0 0}.dialog-close{background:none;border:none;padding:.5rem;cursor:pointer;color:#6b7280;transition:all .15s;border-radius:.375rem;display:flex;align-items:center;justify-content:center}.dialog-close:hover{color:#111827;background-color:#f3f4f6}.dialog-body{padding:1.5rem;overflow-y:auto;flex:1}.dialog-footer{padding:1.5rem;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.form-grid{display:flex;flex-direction:column;gap:1.25rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:500;color:#374151;margin:0}.form-label-required:after{content:" *";color:#dc2626}.form-text{font-size:.875rem;color:#6b7280;margin:0;padding:.5rem 0}.form-input,.form-select,.form-textarea{width:100%;box-sizing:border-box;padding:.625rem .875rem;font-size:.875rem;line-height:1.5;color:#111827;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;transition:border-color .15s,box-shadow .15s;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent-brand);box-shadow:0 0 0 3px #1a1a1a1a}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:#9ca3af}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af}.form-select{cursor:pointer;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-textarea{resize:vertical;min-height:100px}.form-row{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr}}.form-row-3{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:768px){.form-row-3{grid-template-columns:1fr 1fr 1fr}}.form-error{padding:.75rem 1rem;background-color:#fee2e2;border:1px solid #fecaca;border-radius:.375rem;color:#dc2626;font-size:.875rem}.form-success{padding:.75rem 1rem;background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:.375rem;color:#065f46;font-size:.875rem}.btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:.375rem;border:none;cursor:pointer;transition:all .15s;font-family:inherit;display:inline-flex;align-items:center;gap:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background-color:#f9fafb}.btn-primary{background-color:var(--color-accent-brand);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-brand-hover)}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-ghost{background-color:transparent;color:#6b7280}.btn-ghost:hover:not(:disabled){background-color:#f3f4f6;color:#111827}.form-input[type=datetime-local]::-webkit-calendar-picker-indicator,.form-input[type=date]::-webkit-calendar-picker-indicator,.form-input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.form-input[type=datetime-local]::-webkit-calendar-picker-indicator:hover,.form-input[type=date]::-webkit-calendar-picker-indicator:hover,.form-input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.detail-grid{display:grid;gap:1.5rem}.detail-row{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.detail-row{grid-template-columns:1fr 1fr}}.detail-field{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:.875rem;color:#111827}.detail-value-muted{color:#9ca3af;font-style:italic}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:.375rem}.badge-blue{background-color:#f5f5f5;color:#1a1a1a}.badge-green{background-color:#d1fae5;color:#065f46}.badge-red{background-color:#fee2e2;color:#991b1b}.badge-yellow{background-color:#fef3c7;color:#92400e}.badge-gray{background-color:#f3f4f6;color:#374151}.link{color:var(--color-accent-brand-text);text-decoration:underline;cursor:pointer;transition:color .15s}.link:hover{color:var(--color-accent-brand-hover)}.appointment-dialog-overlay{position:fixed;top:var(--topbar-height, 72px);left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;overflow-y:auto;animation:appointmentDialogFadeIn .2s ease-out}@keyframes appointmentDialogFadeIn{0%{opacity:0}to{opacity:1}}.appointment-dialog{background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:600px;max-height:calc(100vh - var(--topbar-height, 72px) - 2rem);overflow:hidden;display:flex;flex-direction:column;margin:auto;animation:appointmentDialogSlideUp .2s ease-out}@keyframes appointmentDialogSlideUp{0%{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}.appointment-dialog__header{padding:1.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.appointment-dialog__title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.appointment-dialog__description{font-size:.875rem;color:#6b7280;margin:.25rem 0 0}.appointment-dialog__close{background:none;border:none;padding:.5rem;cursor:pointer;color:#6b7280;transition:all .15s;border-radius:.375rem;display:flex;align-items:center;justify-content:center}.appointment-dialog__close:hover{color:#111827;background-color:#f3f4f6}.appointment-dialog__body{padding:1.5rem;overflow-y:auto;flex:1}.appointment-dialog__footer{padding:1.5rem;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.appointment-form__grid{display:flex;flex-direction:column;gap:1.25rem}.appointment-form__field{display:flex;flex-direction:column;gap:.5rem}.appointment-form__label{font-size:.875rem;font-weight:500;color:#374151;margin:0}.appointment-form__text{font-size:.875rem;color:#6b7280;margin:0;padding:.5rem 0}.appointment-form__input,.appointment-form__select,.appointment-form__textarea{width:100%;box-sizing:border-box;padding:.625rem .875rem;font-size:.875rem;line-height:1.5;color:#111827;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;transition:border-color .15s,box-shadow .15s;font-family:inherit}.appointment-form__input:focus,.appointment-form__select:focus,.appointment-form__textarea:focus{outline:none;border-color:var(--color-accent-brand);box-shadow:0 0 0 3px #3b82f61a}.appointment-form__input:disabled,.appointment-form__select:disabled,.appointment-form__textarea:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.appointment-form__input::-moz-placeholder,.appointment-form__textarea::-moz-placeholder{color:#9ca3af}.appointment-form__input::placeholder,.appointment-form__textarea::placeholder{color:#9ca3af}.appointment-form__select{cursor:pointer;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;-webkit-appearance:none;-moz-appearance:none;appearance:none}.appointment-form__textarea{resize:vertical;min-height:100px}.appointment-form__row{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.appointment-form__row{grid-template-columns:1fr 1fr}}.appointment-form__error{padding:.75rem 1rem;background-color:#fee2e2;border:1px solid #fecaca;border-radius:.375rem;color:#dc2626;font-size:.875rem}.appointment-form__btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:.375rem;border:none;cursor:pointer;transition:all .15s;font-family:inherit;display:inline-flex;align-items:center;gap:.5rem}.appointment-form__btn:disabled{opacity:.5;cursor:not-allowed}.appointment-form__btn--secondary{background-color:#fff;color:#374151;border:1px solid #d1d5db}.appointment-form__btn--secondary:hover:not(:disabled){background-color:#f9fafb}.appointment-form__btn--primary{background-color:var(--color-accent-brand);color:#fff}.appointment-form__btn--primary:hover:not(:disabled){background-color:var(--color-accent-brand-hover)}.appointment-form__input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.appointment-form__input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.fixed{position:fixed}.relative{position:relative}.col-span-2{grid-column:span 2 / span 2}.col-span-full{grid-column:1 / -1}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.flex{display:flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.min-h-\[2\.5rem\]{min-height:2.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-full{width:100%}.max-w-4xl{max-width:56rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-dashed{border-style:dashed}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-neutral-200{--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.pb-4{padding-bottom:1rem}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.italic{font-style:italic}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--color-bg-primary: #F8FAFC;--color-bg-surface: #FFFFFF;--color-text-primary: #0F172A;--color-text-secondary: #475569;--color-text-tertiary: #94A3B8;--color-text-inverse: #FFFFFF;--color-border-subtle: #E2E8F0;--color-border-medium: #CBD5E1;--color-border-strong: #94A3B8;--color-accent-brand: #1A1A1A;--color-accent-brand-hover: #000000;--color-accent-brand-weak: #F5F5F5;--color-accent-brand-text: #1A1A1A;--color-status-success: #10B981;--color-status-success-weak: #D1FAE5;--color-status-warning: #F59E0B;--color-status-warning-weak: #FEF3C7;--color-status-danger: #EF4444;--color-status-danger-weak: #FEE2E2;--color-status-info: #3B82F6;--color-status-info-weak: #DBEAFE;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-s: 6px;--radius-m: 10px;--radius-l: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 1px 2px rgba(15, 23, 42, .06), 0 6px 20px rgba(15, 23, 42, .05);--shadow-lg: 0 4px 6px rgba(15, 23, 42, .07), 0 10px 40px rgba(15, 23, 42, .08);--shadow-xl: 0 10px 15px rgba(15, 23, 42, .1), 0 20px 60px rgba(15, 23, 42, .1);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-size-display: 24px;--font-size-h1: 20px;--font-size-h2: 18px;--font-size-body: 14px;--font-size-caption: 12px;--font-size-micro: 11px;--line-height-display: 32px;--line-height-h1: 28px;--line-height-h2: 26px;--line-height-body: 20px;--line-height-caption: 16px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--z-dropdown: 1000;--z-sticky: 1100;--z-modal-backdrop: 1200;--z-modal: 1300;--z-modal-nested-backdrop: 1350;--z-modal-nested: 1400;--z-toast: 1500;--z-tooltip: 1600;--grid-columns-desktop: 12;--grid-margin-desktop: 80px;--grid-gutter-desktop: 24px;--grid-columns-mobile: 4;--grid-margin-mobile: 16px;--grid-gutter-mobile: 16px;--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--topbar-height: 64px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-regular);color:var(--color-text-primary);background-color:var(--color-bg-primary)}#root{min-height:100vh;width:100%}.text-display{font-size:var(--font-size-display);line-height:var(--line-height-display);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}.text-h1{font-size:var(--font-size-h1);line-height:var(--line-height-h1);font-weight:var(--font-weight-semibold)}.text-h2{font-size:var(--font-size-h2);line-height:var(--line-height-h2);font-weight:var(--font-weight-medium)}.text-body{font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-regular)}.text-caption{font-size:var(--font-size-caption);line-height:var(--line-height-caption);font-weight:var(--font-weight-medium)}.text-micro{font-size:var(--font-size-micro);line-height:14px;font-weight:var(--font-weight-medium)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-brand{color:var(--color-accent-brand-text)}.text-success{color:var(--color-status-success)}.text-warning{color:var(--color-status-warning)}.text-danger{color:var(--color-status-danger)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--color-accent-brand);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent-brand);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}::-moz-selection{background-color:var(--color-accent-brand-weak);color:var(--color-text-primary)}::selection{background-color:var(--color-accent-brand-weak);color:var(--color-text-primary)}a{color:var(--color-accent-brand-text);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-brand-hover)}button{font-family:inherit;cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.6}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.dialog-nested [data-radix-dialog-overlay]{z-index:var(--z-modal-nested-backdrop)!important}.dialog-nested [data-radix-dialog-content]{z-index:var(--z-modal-nested)!important}[data-radix-dialog-overlay]{top:var(--topbar-height, 64px);height:calc(100vh - var(--topbar-height, 64px))}[data-radix-dialog-content]{max-height:calc(100vh - var(--topbar-height, 64px) - 2rem)}@media(max-width:768px){:root{--font-size-display: 20px;--font-size-h1: 18px;--line-height-display: 28px;--line-height-h1: 24px}}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.avatar{position:relative;display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;overflow:hidden;border-radius:9999px;border:1px solid #e5e5e5}.avatar-image{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.avatar-fallback{display:flex;height:100%;width:100%;align-items:center;justify-content:center;background-color:#f5f5f5;font-size:.875rem;line-height:1.25rem;font-weight:500;color:#525252}.badge{display:inline-flex;align-items:center;border-radius:9999px;border:1px solid;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500;transition:colors .15s ease-in-out}.badge--default{border-color:transparent;background-color:var(--color-bg-surface);color:var(--color-text-secondary);box-shadow:0 1px 2px #0000000d}.badge--brand{border-color:transparent;background-color:var(--color-accent-brand-weak);color:var(--color-accent-brand-text);box-shadow:0 1px 2px #0000000d}.badge--success{border-color:transparent;background-color:var(--color-status-success-weak);color:var(--color-status-success);box-shadow:0 1px 2px #0000000d}.badge--warning{border-color:transparent;background-color:var(--color-status-warning-weak);color:var(--color-status-warning);box-shadow:0 1px 2px #0000000d}.badge--danger{border-color:transparent;background-color:var(--color-status-danger-weak);color:var(--color-status-danger);box-shadow:0 1px 2px #0000000d}.badge--outline{color:inherit}.badge--with-dot{padding-left:.5rem;position:relative}.badge__dot{margin-right:.25rem;display:inline-block;height:.375rem;width:.375rem;border-radius:9999px;background-color:currentColor;vertical-align:middle}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition:colors .15s ease-in-out;cursor:pointer}.button:focus-visible{outline:none;ring:2px solid #3b82f6;ring-offset:2px}.button:disabled{pointer-events:none;opacity:.5}.button--default{background-color:var(--color-accent-brand);color:var(--color-text-inverse);box-shadow:0 1px 2px #0000000d}.button--default:hover{background-color:var(--color-accent-brand-hover)}.button--secondary{background-color:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border-subtle)}.button--secondary:hover{background-color:var(--color-bg-primary)}.button--ghost{background-color:transparent;color:var(--color-text-primary)}.button--ghost:hover{background-color:var(--color-bg-primary)}.button--outline{border:1px solid var(--color-border-subtle);color:var(--color-text-primary)}.button--outline:hover{background-color:var(--color-bg-primary)}.button--destructive{background-color:var(--color-status-danger);color:var(--color-text-inverse);box-shadow:0 1px 2px #0000000d}.button--destructive:hover{background-color:#dc2626}.button--default-size{height:2.5rem;padding:.5rem 1rem}.button--sm{height:2.25rem;border-radius:.375rem;padding:0 .75rem}.button--lg{height:2.75rem;border-radius:.375rem;padding:0 1.5rem}.button--icon{height:2.5rem;width:2.5rem}.card{border-radius:.5rem;border:1px solid #e5e5e5;background-color:#fff;padding:1.5rem;box-shadow:0 1px 2px #0000000d}.card-header{margin-bottom:1rem;display:flex;flex-direction:column;gap:.25rem}.card-title{font-size:1.125rem;line-height:1.75rem;font-weight:600;line-height:1;letter-spacing:-.025em}.card-description{font-size:.875rem;line-height:1.25rem;color:#737373}.card-content,.card-body{display:flex;flex-direction:column;gap:1rem}.card-footer{margin-top:1rem;display:flex;align-items:center}.dialog-overlay{position:fixed;top:var(--topbar-height, 72px);left:0;right:0;bottom:0;z-index:150;background-color:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;display:flex;align-items:center;justify-content:center}.dialog-overlay[data-state=open]{animation:fadeIn .15s ease-in}.dialog-overlay[data-state=closed]{animation:fadeOut .15s ease-out}.dialog-content{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:151;display:flex;width:100%;max-width:32rem;flex-direction:column;border-radius:.75rem;border:1px solid #e5e5e5;background-color:#fff;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:calc(100vh - var(--topbar-height, 72px) - 2rem)}@media(min-width:640px){.dialog-content{margin:auto}}.dialog-content:focus{outline:none}.dialog-content[data-state=open]{animation:fadeIn .15s ease-in,zoomIn .15s ease-in}.dialog-content[data-state=closed]{animation:fadeOut .15s ease-out,zoomOut .15s ease-out}.dialog-close{position:absolute;right:1rem;top:1rem;border-radius:9999px;padding:.25rem;color:#737373;transition:all .15s ease-in-out;z-index:10}.dialog-close:hover{background-color:#f5f5f5;color:#404040}.dialog-close:focus{outline:none}.dialog-close:focus-visible{ring:2px solid #3b82f6}.dialog-header{display:flex;flex-shrink:0;flex-direction:column;gap:.375rem;border-bottom:1px solid #f5f5f5;background-color:#fff;padding:1rem 1.5rem;text-align:left}.dialog-body{flex:1;overflow-y:auto;padding:1rem 1.5rem}.dialog-footer{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;border-top:1px solid #f5f5f5;background-color:#fff;padding:1rem 1.5rem}.dialog-title{font-size:1.125rem;line-height:1.75rem;font-weight:600;line-height:1;letter-spacing:-.025em}.dialog-description{font-size:.875rem;line-height:1.25rem;color:#737373}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes zoomIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes zoomOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.95)}}.input{display:flex;height:2.5rem;width:100%;border-radius:.375rem;border:1px solid #e5e5e5;background-color:#fff;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:inherit;box-shadow:0 1px 2px #0000000d;transition:colors .15s ease-in-out}.input::-moz-placeholder{color:#a3a3a3}.input::placeholder{color:#a3a3a3}.input:focus-visible{outline:none;ring:2px solid rgba(59,130,246,.7);ring-offset:2px}.input:disabled{cursor:not-allowed;opacity:.5}.label{font-size:.875rem;line-height:1.25rem;font-weight:500;color:#404040}.label:has(+:disabled){cursor:not-allowed;opacity:.7}.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-top:1px solid #e5e5e5;background-color:#fff}.pagination__info{display:flex;align-items:center;gap:1rem;font-size:.875rem;line-height:1.25rem;color:#525252}.pagination__page-size{display:flex;align-items:center;gap:.5rem}.pagination__page-size-label{color:#737373}.pagination__page-size-select{border-radius:.375rem;border:1px solid #d4d4d4;padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem}.pagination__controls{display:flex;align-items:center;gap:.5rem}.pagination__button{height:2rem;width:2rem;padding:0}.pagination__ellipsis{padding:0 .5rem;color:#a3a3a3}.pagination__page-button{height:2rem;min-width:2rem;padding:0 .75rem}.pagination__page-button--active{pointer-events:none}.select{display:flex;height:2.5rem;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.375rem;border:1px solid #e5e5e5;background-color:#fff;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:inherit;box-shadow:0 1px 2px #0000000d;transition:all .15s ease-in-out}.select:focus-visible{outline:none;ring:2px solid rgba(59,130,246,.7);ring-offset:2px}.select:disabled{cursor:not-allowed;opacity:.5}.separator{flex-shrink:0;background-color:#e5e5e5}.separator--horizontal{height:1px;width:100%}.separator--vertical{height:100%;width:1px}.switch{display:inline-flex;height:1.5rem;width:2.75rem;flex-shrink:0;cursor:pointer;align-items:center;border-radius:9999px;border:2px solid transparent;transition:colors .15s ease-in-out}.switch:focus-visible{outline:none;ring:2px solid #3b82f6;ring-offset:2px;ring-offset-color:white}.switch:disabled{cursor:not-allowed;opacity:.5}.switch[data-state=checked]{background-color:#2563eb}.switch[data-state=unchecked]{background-color:#e5e7eb}.switch__thumb{pointer-events:none;display:block;height:1.25rem;width:1.25rem;border-radius:9999px;background-color:#fff;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;ring:0;transition:transform .15s ease-in-out}.switch__thumb[data-state=checked]{transform:translate(1.25rem)}.switch__thumb[data-state=unchecked]{transform:translate(0)}.textarea{display:flex;min-height:120px;width:100%;border-radius:.375rem;border:1px solid #e5e5e5;background-color:#fff;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:inherit;box-shadow:0 1px 2px #0000000d;transition:colors .15s ease-in-out}.textarea::-moz-placeholder{color:#a3a3a3}.textarea::placeholder{color:#a3a3a3}.textarea:focus-visible{outline:none;ring:2px solid rgba(59,130,246,.7);ring-offset:2px}.textarea:disabled{cursor:not-allowed;opacity:.5}.tabs-list{display:inline-flex;height:2.5rem;align-items:center;justify-content:center;border-radius:.375rem;background-color:#f4f4f5;padding:.25rem;color:#71717a}.tabs-trigger{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.25rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;outline:2px solid transparent;outline-offset:2px;cursor:pointer;border:none;background:transparent;color:inherit}.tabs-trigger:disabled{pointer-events:none;opacity:.5}.tabs-trigger[data-state=active]{background-color:#fff;color:#09090b;box-shadow:0 1px 2px #0000000d}.tabs-content{margin-top:.5rem;outline:2px solid transparent;outline-offset:2px}.full-record-overlay{position:fixed;top:var(--topbar-height, 72px);left:0;right:0;bottom:0;z-index:100;background-color:#0003;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease}.full-record-overlay--open{opacity:1;pointer-events:auto}.full-record-overlay__container{position:absolute;top:0;right:0;bottom:0;height:100%;display:flex;flex-direction:column;background-color:#fff;box-shadow:-10px 0 25px -5px #0000001a;transform:translate(100%);transition:transform .3s cubic-bezier(.16,1,.3,1);max-width:100%}.full-record-overlay--open .full-record-overlay__container{transform:translate(0)}.full-record-overlay__resize-handle{position:absolute;left:0;top:0;bottom:0;width:3px;cursor:ew-resize;z-index:10;transition:background-color .2s}.full-record-overlay__resize-handle:hover,.full-record-overlay__resize-handle--resizing{background-color:#949494}.full-record-overlay__content{flex:1;overflow:hidden;display:flex;flex-direction:column;padding-left:6px}.email-compose-dialog-content{max-width:600px;width:100%}.email-compose-form{display:flex;flex-direction:column;flex:1;overflow:hidden}.email-compose-field{margin-bottom:1rem}.email-compose-field:last-child{margin-bottom:0}.email-compose-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-primary, #111827);margin-bottom:.5rem}.email-compose-label-hint{font-weight:400;color:var(--color-text-secondary, #6b7280);font-size:.75rem}.email-compose-input{width:100%;padding:.625rem .875rem;font-size:.875rem;border:1px solid var(--color-border, #d1d5db);border-radius:8px;background-color:var(--color-background, #ffffff);color:var(--color-text-primary, #111827);transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.email-compose-input:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.email-compose-input:disabled{background-color:var(--color-surface, #f9fafb);cursor:not-allowed}.email-compose-textarea{width:100%;padding:.625rem .875rem;font-size:.875rem;border:1px solid var(--color-border, #d1d5db);border-radius:8px;background-color:var(--color-background, #ffffff);color:var(--color-text-primary, #111827);transition:border-color .15s ease,box-shadow .15s ease;resize:vertical;min-height:120px;font-family:inherit;box-sizing:border-box}.email-compose-textarea:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.email-compose-textarea:disabled{background-color:var(--color-surface, #f9fafb);cursor:not-allowed}.email-compose-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border:2px dashed var(--color-border, #d1d5db);border-radius:8px;background-color:var(--color-surface, #f9fafb);color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease;font-size:.875rem}.email-compose-dropzone:hover{border-color:var(--color-primary, #3b82f6);background-color:#3b82f60d}.email-compose-dropzone--active{border-color:var(--color-primary, #3b82f6);background-color:#3b82f61a}.email-compose-dropzone-icon{color:var(--color-text-muted, #9ca3af)}.email-compose-file-input{display:none}.email-compose-attachments{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.email-compose-attachment{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--color-surface, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:.875rem}.email-compose-attachment-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary, #111827)}.email-compose-attachment-size{color:var(--color-text-secondary, #6b7280);font-size:.75rem}.email-compose-attachment-remove{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;background:none;border-radius:4px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.email-compose-attachment-remove:hover:not(:disabled){background-color:#fee2e2;color:#dc2626}.email-compose-attachment-remove:disabled{cursor:not-allowed;opacity:.5}.email-compose-attachments-total{font-size:.75rem;color:var(--color-text-secondary, #6b7280);text-align:right;padding-top:.25rem}.email-compose-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-top:1rem}.email-compose-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s ease;border:none}.email-compose-btn--secondary{background-color:var(--color-background, #ffffff);border:1px solid var(--color-border, #d1d5db);color:var(--color-text-primary, #374151)}.email-compose-btn--secondary:hover:not(:disabled){background-color:var(--color-surface-hover, #f3f4f6)}.email-compose-btn--primary{background-color:var(--color-primary, #3b82f6);color:#fff}.email-compose-btn--primary:hover:not(:disabled){background-color:var(--color-primary-dark, #2563eb)}.email-compose-btn:disabled{opacity:.5;cursor:not-allowed}.dashboard-widget-container{display:flex;height:100%;flex-direction:column;border-radius:1rem;border:1px solid var(--color-neutral-200, #e5e5e5);background-color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;transition:all .2s cubic-bezier(.4,0,.2,1)}.dashboard-widget-container:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;transform:translateY(-2px)}.dashboard-widget-container--editing{outline:2px dashed var(--color-brand-300, #93c5fd);outline-offset:2px}.dashboard-widget-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--color-neutral-100, #f5f5f5);padding:1rem 1.25rem}.dashboard-widget-header__content{display:flex;flex-direction:column;gap:.25rem}.dashboard-widget-header__title-row{display:flex;align-items:center;gap:.5rem}.dashboard-widget-header__title{font-size:.875rem;font-weight:600;color:var(--color-neutral-800, #262626);margin:0}.dashboard-widget-header__description{font-size:.75rem;color:var(--color-neutral-500, #737373);margin:0}.dashboard-widget-header__actions{display:flex;align-items:center;gap:.5rem}.dashboard-widget-body{flex:1 1 0%;overflow:hidden;padding:1rem 1.25rem}.dashboard-widget-body--compact{padding:0}.dashboard-widget-footer{border-top:1px solid var(--color-neutral-100, #f5f5f5);padding:.75rem 1.25rem;font-size:.75rem;color:var(--color-neutral-500, #737373)}.active-leads-widget__loading{display:flex;height:100%;align-items:center;justify-content:center;color:var(--color-neutral-400, #a3a3a3)}.active-leads-widget__content{display:flex;height:100%;flex-direction:column;justify-content:space-between;padding:1.5rem}.active-leads-widget__content--spacious{gap:1rem}.active-leads-widget__content--compact{gap:.5rem}.active-leads-widget__header{display:flex;flex-direction:column;gap:.5rem}.active-leads-widget__title{font-size:.875rem;font-weight:500;color:var(--color-neutral-500, #737373);margin:0}.active-leads-widget__value{font-size:2.25rem;line-height:2.5rem;font-weight:700;color:var(--color-neutral-900, #171717);margin:0;letter-spacing:-.02em}.active-leads-widget__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.active-leads-widget__description{font-size:.75rem;color:var(--color-neutral-500, #737373)}.active-leads-widget__status{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.active-leads-widget__icon-wrapper{display:flex;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--color-status-warning, #f59e0b);padding:.5rem;box-shadow:0 4px 6px -1px #f59e0b33,0 2px 4px -1px #f59e0b1a}.active-leads-widget__icon{height:1.5rem;width:1.5rem;color:#fff}.active-leads-widget__badge{border-radius:9999px;background-color:var(--color-status-danger-weak, #fee2e2);padding:.25rem .75rem;font-size:.75rem;font-weight:500;color:#b91c1c}.monthly-forecast-widget__loading{display:flex;height:100%;align-items:center;justify-content:center;color:var(--color-neutral-400, #a3a3a3)}.monthly-forecast-widget__content{display:flex;height:100%;flex-direction:column;justify-content:space-between;padding:1.5rem}.monthly-forecast-widget__content--spacious{gap:1.5rem}.monthly-forecast-widget__content--compact{gap:.75rem}.monthly-forecast-widget__header{display:flex;flex-direction:column;gap:.5rem}.monthly-forecast-widget__title{font-size:.875rem;font-weight:500;color:var(--color-neutral-500, #737373);margin:0}.monthly-forecast-widget__value{font-size:1.875rem;line-height:2.25rem;font-weight:700;color:var(--color-neutral-900, #171717);margin:0}.monthly-forecast-widget__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.monthly-forecast-widget__description{font-size:.75rem;color:var(--color-neutral-500, #737373)}.monthly-forecast-widget__status{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.monthly-forecast-widget__icon-wrapper{display:flex;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--color-accent-brand, #1a1a1a);padding:.75rem}.monthly-forecast-widget__icon{height:1.5rem;width:1.5rem;color:#fff}.monthly-forecast-widget__badge{border-radius:9999px;background-color:var(--color-status-success-weak, #dcfce7);padding:.25rem .75rem;font-size:.75rem;font-weight:500;color:var(--color-status-success, #15803d)}.needs-attention-widget__loading{display:flex;height:100%;align-items:center;justify-content:center;color:var(--color-neutral-400, #a3a3a3)}.needs-attention-widget__empty{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;font-size:.875rem;color:var(--color-neutral-500, #737373)}.needs-attention-widget__container{display:flex;height:100%;flex-direction:column;overflow:hidden}.needs-attention-widget__header-info{display:flex;align-items:center;justify-content:space-between;font-size:.6875rem;color:var(--color-neutral-500, #737373);margin-bottom:.75rem}.needs-attention-widget__list{flex:1;overflow-y:auto;padding-right:.25rem;display:flex;flex-direction:column;gap:.75rem}.needs-attention-widget__item{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-neutral-100, #f5f5f5);padding-bottom:.75rem}.needs-attention-widget__item:last-child{border-bottom:none;padding-bottom:0}.needs-attention-widget__details{flex:1;display:flex;flex-direction:column;gap:.25rem}.needs-attention-widget__name{font-size:.875rem;font-weight:500;color:var(--color-neutral-900, #171717);margin:0}.needs-attention-widget__subtext{font-size:.75rem;color:var(--color-neutral-500, #737373);margin:0}.needs-attention-widget__meta{text-align:right;display:flex;flex-direction:column;gap:.25rem}.needs-attention-widget__value{font-size:.875rem;font-weight:600;color:var(--color-neutral-900, #171717);margin:0}.needs-attention-widget__time{font-size:.75rem;color:var(--color-status-warning-dark, #d97706);margin:0}.needs-attention-widget__more{margin-top:.5rem;font-size:.6875rem;color:var(--color-neutral-400, #a3a3a3)}.needs-attention-widget__badge{border-radius:9999px}.pipeline-value-widget__loading{display:flex;height:100%;align-items:center;justify-content:center;color:var(--color-neutral-400, #a3a3a3)}.pipeline-value-widget__content{display:flex;height:100%;flex-direction:column;justify-content:space-between;padding:1.5rem}.pipeline-value-widget__content--spacious{gap:1rem}.pipeline-value-widget__content--compact{gap:.5rem}.pipeline-value-widget__header{display:flex;flex-direction:column;gap:.5rem}.pipeline-value-widget__title{font-size:.875rem;font-weight:500;color:var(--color-neutral-500, #737373);margin:0}.pipeline-value-widget__value{font-size:2.25rem;line-height:2.5rem;font-weight:700;color:var(--color-neutral-900, #171717);margin:0;letter-spacing:-.02em}.pipeline-value-widget__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.pipeline-value-widget__description{font-size:.75rem;color:var(--color-neutral-500, #737373)}.pipeline-value-widget__status{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.pipeline-value-widget__icon-wrapper{display:flex;align-items:center;justify-content:center;border-radius:9999px;background-color:#000;padding:.5rem;box-shadow:0 4px 6px -1px #0003,0 2px 4px -1px #0000001a}.pipeline-value-widget__icon{height:1.5rem;width:1.5rem;color:#fff}.pipeline-value-widget__badge{border-radius:9999px;background-color:var(--color-status-success-weak, #dcfce7);padding:.25rem .75rem;font-size:.75rem;font-weight:500;color:var(--color-status-success, #15803d)}.quick-actions-widget__container{display:flex;height:100%;flex-direction:column;justify-content:space-between}.quick-actions-widget__content{display:flex;flex-direction:column;gap:.75rem}.quick-actions-widget__text{font-size:.875rem;color:var(--color-neutral-500, #737373);margin:0}.quick-actions-widget__info{margin-top:1rem;font-size:.6875rem;color:var(--color-neutral-400, #a3a3a3);margin:0}.time-tracking-widget{display:flex;flex-direction:column;gap:1rem;height:100%;overflow:hidden}.time-tracking-widget__alert{align-self:flex-start;border-color:#facc15;color:#a16207}.time-tracking-widget__card{position:relative;overflow:hidden;border-radius:.75rem;border:1px solid var(--color-neutral-200, #e5e5e5);padding:1.25rem;background-color:#fff;box-shadow:0 1px 2px #0000000d;transition:all .15s;display:flex;flex-direction:column;gap:1rem;flex:1}.time-tracking-widget__card--active{border-color:#bbf7d0;background:linear-gradient(to bottom right,#f0fdf4,#fff,#eff6ff)}.time-tracking-widget__status-bar{position:absolute;left:0;top:0;height:100%;width:4px;background-color:var(--color-neutral-200, #e5e5e5);transition:all .15s}.time-tracking-widget__status-bar--active{background:linear-gradient(to bottom,#22c55e,#3b82f6)}.time-tracking-widget__header{display:flex;align-items:flex-start;gap:1rem}.time-tracking-widget__icon-box{display:flex;height:3rem;width:3rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.75rem;box-shadow:0 1px 2px #0000000d;background-color:var(--color-neutral-100, #f5f5f5);color:var(--color-neutral-500, #737373);transition:all .15s}.time-tracking-widget__icon-box--active{background:linear-gradient(to bottom right,#22c55e,#2563eb);color:#fff}.time-tracking-widget__icon{height:1.5rem;width:1.5rem}.time-tracking-widget__icon--pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.time-tracking-widget__title-group{flex:1}.time-tracking-widget__title-row{display:flex;align-items:center;gap:.5rem}.time-tracking-widget__title{font-size:1rem;font-weight:600;color:var(--color-neutral-900, #171717);margin:0}.time-tracking-widget__live-badge{background-color:#22c55e;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.time-tracking-widget__subtitle{margin-top:.125rem;font-size:.875rem;color:var(--color-neutral-600, #525252)}.time-tracking-widget__timer-box{border-radius:.5rem;background-color:#fff;padding:.75rem;box-shadow:0 1px 2px #0000000d}.time-tracking-widget__timer-row{display:flex;align-items:center;justify-content:space-between}.time-tracking-widget__timer-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;color:var(--color-neutral-500, #737373)}.time-tracking-widget__timer-value{font-family:monospace;font-size:1.5rem;font-weight:700;color:var(--color-brand-600, #2563eb)}.time-tracking-widget__stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.time-tracking-widget__stat-box{border-radius:.5rem;background-color:var(--color-neutral-50, #fafafa);padding:.75rem}.time-tracking-widget__stat-label{font-size:.75rem;font-weight:500;color:var(--color-neutral-500, #737373);margin:0}.time-tracking-widget__stat-value{margin-top:.25rem;font-size:1.125rem;font-weight:600;color:var(--color-neutral-800, #262626)}.time-tracking-widget__cost-center{border-radius:.5rem;border:1px solid var(--color-neutral-200, #e5e5e5);background-color:#fff;padding:.75rem;box-shadow:0 1px 2px #0000000d}.time-tracking-widget__label{font-size:.75rem;font-weight:600;color:var(--color-neutral-500, #737373);display:block;margin-bottom:.5rem}.time-tracking-widget__select{width:100%}.time-tracking-widget__actions{display:flex;align-items:center;gap:.5rem;margin-top:auto}.time-tracking-widget__action-btn{flex:1}.time-tracking-widget__action-btn--clock-out{gap:.5rem;background:linear-gradient(to right,#dc2626,#ef4444);color:#fff}.time-tracking-widget__action-btn--clock-out:hover{background:linear-gradient(to right,#b91c1c,#dc2626)}.time-tracking-widget__action-btn--clock-in{gap:.5rem;background:linear-gradient(to right,#2563eb,#3b82f6);color:#fff}.time-tracking-widget__action-btn--clock-in:hover{background:linear-gradient(to right,#1d4ed8,#2563eb)}.time-tracking-widget__dialog-content{width:95vw;max-width:72rem}.time-tracking-widget__dialog-scroll{margin-top:1rem;max-height:70vh;overflow-y:auto}.time-tracking-widget__no-profile{border-radius:.5rem;border:1px solid #fde047;background-color:#fefce8;padding:1rem;text-align:center}.time-tracking-widget__no-profile-text{font-size:.875rem;color:#a16207;margin:0}.todays-appointments-widget__loading{display:flex;height:100%;align-items:center;justify-content:center;color:var(--color-neutral-400, #a3a3a3)}.todays-appointments-widget__empty{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;font-size:.875rem;color:var(--color-neutral-500, #737373)}.todays-appointments-widget__container{display:flex;height:100%;flex-direction:column;overflow:hidden}.todays-appointments-widget__header-info{display:flex;align-items:center;justify-content:space-between;font-size:.6875rem;color:var(--color-neutral-500, #737373);margin-bottom:.75rem}.todays-appointments-widget__list{flex:1;overflow-y:auto;padding-right:.25rem;display:flex;flex-direction:column;gap:.75rem}.todays-appointments-widget__item{display:flex;align-items:flex-start;gap:1rem;border-bottom:1px solid var(--color-neutral-100, #f5f5f5);padding-bottom:.75rem}.todays-appointments-widget__item:last-child{border-bottom:none;padding-bottom:0}.todays-appointments-widget__time{font-size:.875rem;font-weight:500;color:var(--color-neutral-900, #171717);white-space:nowrap}.todays-appointments-widget__details{flex:1;display:flex;flex-direction:column;gap:.25rem}.todays-appointments-widget__title{font-size:.875rem;font-weight:500;color:var(--color-neutral-900, #171717);margin:0}.todays-appointments-widget__description{font-size:.75rem;color:var(--color-neutral-500, #737373);margin:0}.urlaubsantrag-dashboard-widget{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);height:100%}.urlaubsantrag-dashboard-widget__description{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);flex:1}.urlaubsantrag-dashboard-widget__button{width:100%}.win-rate-widget__loading{display:flex;height:100%;align-items:center;justify-content:center;color:var(--color-neutral-400, #a3a3a3)}.win-rate-widget__content{display:flex;height:100%;flex-direction:column;justify-content:space-between;padding:1.5rem}.win-rate-widget__content--spacious{gap:1rem}.win-rate-widget__content--compact{gap:.5rem}.win-rate-widget__header{display:flex;flex-direction:column;gap:.5rem}.win-rate-widget__title{font-size:.875rem;font-weight:500;color:var(--color-neutral-500, #737373);margin:0}.win-rate-widget__value{font-size:2.25rem;line-height:2.5rem;font-weight:700;color:var(--color-neutral-900, #171717);margin:0;letter-spacing:-.02em}.win-rate-widget__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.win-rate-widget__description{font-size:.75rem;color:var(--color-neutral-500, #737373)}.win-rate-widget__status{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.win-rate-widget__icon-wrapper{display:flex;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--color-status-success, #22c55e);padding:.5rem;box-shadow:0 4px 6px -1px #22c55e33,0 2px 4px -1px #22c55e1a}.win-rate-widget__icon{height:1.5rem;width:1.5rem;color:#fff}.win-rate-widget__badge{border-radius:9999px;background-color:var(--color-status-success-weak, #dcfce7);padding:.25rem .75rem;font-size:.75rem;font-weight:500;color:var(--color-status-success, #15803d)}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background-color:var(--color-bg-surface);border-right:1px solid var(--color-border-subtle);display:flex;flex-direction:column;transition:width var(--transition-base);z-index:var(--z-sticky)}.sidebar--collapsed{width:var(--sidebar-collapsed-width)}.sidebar__header{height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);border-bottom:1px solid var(--color-border-subtle);gap:var(--space-3)}.sidebar__logo{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);color:var(--color-accent-brand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-m);color:var(--color-text-secondary);transition:all var(--transition-fast);flex-shrink:0}.sidebar__toggle:hover{background-color:var(--color-bg-primary);color:var(--color-text-primary)}.sidebar__toggle-icon{transition:transform var(--transition-base)}.sidebar__toggle-icon--collapsed{transform:rotate(180deg)}.sidebar__nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-4)}.sidebar__nav-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.sidebar__nav-item{width:100%}.sidebar__nav-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-m);color:var(--color-text-secondary);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;min-height:40px;width:100%}.sidebar__nav-link:hover{background-color:var(--color-bg-primary);color:var(--color-text-primary)}.sidebar__nav-link--active{background-color:var(--color-accent-brand-weak);color:var(--color-accent-brand)}.sidebar__nav-link--active:hover{background-color:var(--color-accent-brand-weak)}.sidebar__nav-icon{flex-shrink:0}.sidebar__nav-text{overflow:hidden;text-overflow:ellipsis}.sidebar--collapsed .sidebar__nav-link{justify-content:center;padding:var(--space-3)}.sidebar--collapsed .sidebar__nav-text{display:none}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar--mobile-open{transform:translate(0)}.sidebar--collapsed{width:var(--sidebar-width)}}.fos-topbar{position:sticky;top:0;z-index:var(--z-sticky, 900);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4, 16px);padding:var(--space-4, 16px) var(--space-6, 24px);background-color:var(--color-bg-surface, #ffffff);border-bottom:1px solid var(--color-border-subtle, #e2e8f0);min-height:var(--topbar-height, 72px);box-shadow:0 1px 2px #0f172a0a}.fos-topbar__quick-actions{margin-right:auto;display:flex;align-items:center}.fos-topbar__quick-button{display:inline-flex;align-items:center;gap:6px}.fos-topbar__actions{display:flex;align-items:center;gap:var(--space-4, 16px)}.fos-topbar__notification{position:relative}.fos-topbar__icon-button{width:40px;height:40px;color:var(--color-text-secondary, #475569)}.fos-topbar__icon{width:20px;height:20px}.fos-topbar__notification-indicator{position:absolute;top:8px;right:10px;width:8px;height:8px;border-radius:999px;background-color:var(--color-status-danger, #ef4444)}.fos-topbar__user-card{display:flex;align-items:center;gap:var(--space-2, 8px);padding:6px 12px;border:1px solid var(--color-border-subtle, #e2e8f0);border-radius:var(--radius-full, 999px);background-color:var(--color-bg-surface, #ffffff)}.fos-topbar__avatar{width:32px;height:32px}.fos-topbar__user-text{display:flex;flex-direction:column;line-height:1.2}.fos-topbar__user-name{font-size:.875rem;font-weight:600;color:var(--color-text-primary, #0f172a)}.fos-topbar__user-role{font-size:.75rem;color:var(--color-text-secondary, #475569)}.fos-topbar__chevron{width:16px;height:16px;color:var(--color-text-tertiary, #94a3b8)}.fos-topbar__sign-out{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-secondary, #475569)}.fos-topbar__sign-out-icon{width:16px;height:16px}@media(max-width:960px){.fos-topbar{gap:var(--space-3, 12px)}.fos-topbar__quick-actions,.fos-topbar__user-card{display:none}}.fos-app-shell{display:flex;min-height:100vh;background-color:var(--color-bg-primary, #f8fafc)}.fos-app-shell__main{flex:1;display:flex;flex-direction:column;min-height:100vh;margin-left:var(--sidebar-width, 260px);transition:margin-left var(--transition-base, .2s ease);min-width:0;background-color:var(--color-bg-surface, #ffffff)}.fos-app-shell__main--collapsed{margin-left:var(--sidebar-collapsed-width, 80px)}.fos-app-shell__content{flex:1;padding:var(--space-6, 24px);background-color:var(--color-bg-primary, #f8fafc)}@media(max-width:1024px){.fos-app-shell__main{margin-left:var(--sidebar-collapsed-width, 80px)}}@media(max-width:768px){.fos-app-shell__main,.fos-app-shell__main--collapsed{margin-left:0}.fos-topbar{position:sticky}.fos-app-shell__content{padding:var(--space-4, 16px)}}
