@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}*:focus{outline:none}*:focus-visible{outline:2px solid var(--primary-color, #273CF5);outline-offset:2px}:root{font-family:var(--font-family-base);line-height:1.5;font-weight:var(--font-weight-normal);color-scheme:light dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}a{font-weight:500;color:#2563eb;text-decoration:inherit}a:hover{color:#1d4ed8}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f3f4f6}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.back-button{padding:0!important;min-width:40px!important;width:40px;height:40px}.aulo-logo{display:inline-flex;align-items:baseline;gap:0;text-decoration:none;font-weight:400;letter-spacing:2px;line-height:1.5}.aulo-logo__aulo{color:#0f172a}.aulo-logo__pro{background:linear-gradient(135deg,#3b82f6,#2563eb,#1d4ed8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aulo-logo--white .aulo-logo__aulo{color:#fff}.aulo-logo--white .aulo-logo__pro{background:none;-webkit-background-clip:unset;-webkit-text-fill-color:#ffffff;background-clip:unset;color:#fff}.aulo-logo--sm{font-size:1.5rem}.aulo-logo--md{font-size:2.5rem}.aulo-logo--lg{font-size:2.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base);font-family:inherit;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--primary-color);color:#fff;border:1.5px solid var(--primary-color)}.btn--primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--primary:active:not(:disabled){transform:translateY(0)}.btn--secondary{background:var(--secondary-color);color:var(--text-primary);border:1.5px solid var(--secondary-color)}.btn--secondary:hover:not(:disabled){background:var(--secondary-hover);border-color:var(--secondary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--outline{background:transparent;color:var(--primary-color);border:1.5px solid var(--primary-color)}.btn--outline:hover:not(:disabled){background:var(--primary-color);color:var(--text-light)}.btn--outline-white{background:transparent;color:#fff;border:1.5px solid white}.btn--outline-white:hover:not(:disabled){background:#ffffff1a;border-color:#fff}.btn--ghost{background:transparent;color:var(--text-primary);border:1.5px solid transparent}.btn--ghost:hover:not(:disabled){background:var(--bg-tertiary)}.btn--primary-ghost{background:transparent;color:var(--primary-color);border:1.5px solid transparent}.btn--primary-ghost:hover:not(:disabled){background:var(--bg-primary)}.btn--danger{background:var(--error-color);color:var(--text-light);border:1.5px solid var(--error-color)}.btn--outline-danger{background:transparent;color:var(--error-color);border:1.5px solid var(--error-color)}.btn--danger:hover:not(:disabled){background:var(--error-light);border-color:var(--error-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--success{background:var(--success-color);color:var(--text-light)}.btn--outline-success{background:transparent;color:var(--success-color);border:1.5px solid var(--success-color)}.btn--success:hover:not(:disabled){background:var(--success-light);border-color:var(--success-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--underline{background:transparent;color:var(--primary-color);text-decoration:underline}.btn--underline:hover:not(:disabled){background:transparent;color:var(--primary-hover);border-bottom-color:var(--primary-hover);transform:translateY(-2px);box-shadow:none}.btn--sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.btn--md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base)}.btn--lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.btn--xl{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-xl)}.btn--full-width{width:100%}.text{margin:0;line-height:1.6}.text--h1{font-size:var(--font-size-5xl);line-height:1.2}@media(max-width:480px){.text--h1{font-size:var(--font-size-4xl)}}.text--h2{font-size:var(--font-size-4xl);line-height:1.2}@media(max-width:480px){.text--h2{font-size:var(--font-size-3xl)}}.text--h3{font-size:var(--font-size-3xl);line-height:1.3}@media(max-width:480px){.text--h3{font-size:var(--font-size-2xl)}}.text--h4{font-size:var(--font-size-2xl);line-height:1.3}@media(max-width:480px){.text--h4{font-size:var(--font-size-1xl)}}.text--h5{font-size:var(--font-size-xl);line-height:1.4}@media(max-width:480px){.text--h5{font-size:var(--font-size-lg)}}.text--h6{font-size:var(--font-size-lg);line-height:1.4}@media(max-width:480px){.text--h6{font-size:var(--font-size-lg)}}.text--body{font-size:var(--font-size-base)}@media(max-width:480px){.text--body{font-size:var(--font-size-sm)}}.text--small{font-size:var(--font-size-sm)}@media(max-width:480px){.text--small{font-size:var(--font-size-xs)}}.text--caption{font-size:var(--font-size-xs);line-height:1.4}.text--weight-normal{font-weight:var(--font-weight-normal)}.text--weight-medium{font-weight:var(--font-weight-medium)}.text--weight-semibold{font-weight:var(--font-weight-semibold)}.text--weight-bold{font-weight:var(--font-weight-bold)}.text--weight-extrabold{font-weight:var(--font-weight-extrabold)}.text--align-left{text-align:left}.text--align-center{text-align:center}.text--align-right{text-align:right}.text--color-primary{color:var(--text-primary)}.text--color-secondary{color:var(--text-secondary)}.text--color-tertiary{color:var(--text-tertiary)}.text--color-light{color:var(--text-light)}.text--color-brand{color:var(--primary-color)}.text--color-success{color:var(--success-color)}.text--color-error{color:var(--error-color)}.text--color-warning{color:var(--warning-color)}.text--color-white{color:#fff}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-weight:var(--font-weight-medium);white-space:nowrap;width:fit-content}.badge--primary{background:#273cf526;color:var(--primary-color);border:1px solid rgba(39,60,245,.3)}.badge--secondary{background:#27f5c226;color:var(--secondary-dark);border:1px solid rgba(39,245,194,.3)}.badge--success{background:#10b98126;color:var(--success-color);border:1px solid rgba(16,185,129,.3)}.badge--error{background:#ef444426;color:var(--error-color);border:1px solid rgba(239,68,68,.3)}.badge--warning{background:#f59e0b26;color:var(--warning-color);border:1px solid rgba(245,158,11,.3)}.badge--info{background:#3b82f626;color:var(--info-color);border:1px solid rgba(59,130,246,.3)}.badge--neutral{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.badge--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.badge--md{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.badge--lg{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base)}.card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);transition:all var(--transition-base)}.card--default{box-shadow:var(--shadow-md)}.card--elevated{box-shadow:var(--shadow-lg)}.card--outlined{border:2px solid var(--border-color);box-shadow:none}.card--flat{box-shadow:none}.card--hoverable:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.card--clickable{cursor:pointer}.card--clickable:active{transform:translateY(0)}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm);width:fit-content}.input-wrapper--full-width{width:100%}.input-label{display:block;color:var(--text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer}.input-container{position:relative;display:flex;align-items:center}.input{width:100%;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family-base);background-color:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-base);box-sizing:border-box}.input::placeholder{color:var(--text-tertiary)}.input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.input--default{border-color:var(--border-color)}.input--error{border-color:var(--danger-color)}.input--error:focus{border-color:var(--danger-color);box-shadow:0 0 0 3px #ef44441a}.input--success{border-color:var(--success-color)}.input--success:focus{border-color:var(--success-color);box-shadow:0 0 0 3px #22c55e1a}.input--sm{padding:var(--spacing-sm);font-size:var(--font-size-sm)}.input--md{padding:var(--spacing-sd);font-size:var(--font-size-base)}.input--lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg)}.input--icon-left{padding-left:calc(var(--spacing-2xl) + var(--spacing-md))}.input--icon-right{padding-right:calc(var(--spacing-2xl) + var(--spacing-md))}.input--multiline{resize:vertical;min-height:80px;font-family:var(--font-family-base);line-height:1.5}.input[type=number]{-moz-appearance:textfield;appearance:textfield}.input[type=number]::-webkit-outer-spin-button,.input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-icon{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);pointer-events:none}.input-icon--left{left:var(--spacing-md)}.input-icon--right{right:var(--spacing-md)}.input-icon svg{width:20px;height:20px}.input-message{font-size:var(--font-size-sm);display:block;margin-top:var(--spacing-xs)}.input-message--error{color:var(--danger-color)}.input-message--helper{color:var(--text-secondary)}@media(prefers-color-scheme:dark){.input:focus{box-shadow:0 0 0 3px #60a5fa33}.input--error:focus{box-shadow:0 0 0 3px #f8717133}.input--success:focus{box-shadow:0 0 0 3px #4ade8033}}.select-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm);width:fit-content;position:relative}.select-wrapper--full-width{width:100%}.select-label{display:block;color:var(--text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer}.select-required{color:var(--danger-color);margin-left:var(--spacing-xs)}.select-container{position:relative}.select-trigger{width:100%;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family-base);background-color:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-base);box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left}.select-trigger:hover:not(:disabled){border-color:var(--primary-color)}.select-trigger:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.select-trigger:disabled,.select-trigger--disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.select-trigger--default{border-color:var(--border-color)}.select-trigger--error{border-color:var(--danger-color)}.select-trigger--error:focus{border-color:var(--danger-color);box-shadow:0 0 0 3px #ef44441a}.select-trigger--success{border-color:var(--success-color)}.select-trigger--success:focus{border-color:var(--success-color);box-shadow:0 0 0 3px #22c55e1a}.select-trigger--open{border-color:var(--primary-color)}.select-trigger--sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.select-trigger--md{padding:var(--spacing-sd);font-size:var(--font-size-base)}.select-trigger--lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg)}.select-value{color:var(--text-primary)}.select-placeholder{color:var(--text-tertiary)}.select-icon{width:20px;height:20px;color:var(--text-secondary);transition:transform var(--transition-base);flex-shrink:0}.select-icon--rotated{transform:rotate(180deg)}.select-backdrop{position:fixed;inset:0;background:#00000080;z-index:var(--z-modal)}.select-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:calc(var(--z-modal) + 1);width:90%;max-width:500px;max-height:80vh}.select-modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;display:flex;flex-direction:column}.select-modal-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.select-modal-header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.select-options{max-height:60vh;overflow-y:auto;padding:var(--spacing-sm)}.select-options::-webkit-scrollbar{width:8px}.select-options::-webkit-scrollbar-track{background:var(--bg-secondary)}.select-options::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.select-option{width:100%;padding:var(--spacing-md) var(--spacing-lg);border:none;background:transparent;color:var(--text-primary);font-size:var(--font-size-base);font-family:var(--font-family-base);text-align:left;cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-base);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.select-option:hover{background:var(--bg-secondary)}.select-option:active{background:var(--bg-tertiary)}.select-option--selected{background:#2563eb1a;color:var(--primary-color);font-weight:var(--font-weight-semibold)}.select-option--selected:hover{background:#2563eb26}.select-option-label{flex:1}.select-option-check{width:20px;height:20px;color:var(--primary-color);flex-shrink:0}.select-message{font-size:var(--font-size-sm);display:block}.select-message--error{color:var(--danger-color)}.select-message--helper{color:var(--text-secondary)}@media(prefers-color-scheme:dark){.select-trigger:focus{box-shadow:0 0 0 3px #60a5fa33}.select-trigger--error:focus{box-shadow:0 0 0 3px #f8717133}.select-trigger--success:focus{box-shadow:0 0 0 3px #4ade8033}}@media(max-width:768px){.select-modal{width:95%;max-width:none}.select-modal-header{padding:var(--spacing-md) var(--spacing-lg)}}.checkbox-label{display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity var(--transition-base)}.checkbox-label:hover{opacity:.85}.checkbox-label--disabled{cursor:not-allowed;opacity:.6}.checkbox-label--disabled:hover{opacity:.6}.checkbox-label--error .checkbox-input{border-color:var(--danger-color)}.checkbox-label--sm{gap:var(--spacing-xs)}.checkbox-label--md{gap:var(--spacing-sm)}.checkbox-label--lg{gap:var(--spacing-md)}.checkbox-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:20px;height:20px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);cursor:pointer;transition:all var(--transition-base);flex-shrink:0;position:relative}.checkbox-input:hover{border-color:var(--primary-color)}.checkbox-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.checkbox-input:checked{background:var(--primary-color);border-color:var(--primary-color)}.checkbox-input:checked:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:5px;height:10px;border:solid var(--text-light);border-width:0 2px 2px 0}.checkbox-input:disabled{cursor:not-allowed;opacity:.5;background:var(--bg-tertiary)}.checkbox-input--error{border-color:var(--danger-color)}.checkbox-input--error:focus{box-shadow:0 0 0 3px #ef44441a}.checkbox-input--error:checked{background:var(--danger-color);border-color:var(--danger-color)}.checkbox-input--sm{width:16px;height:16px}.checkbox-input--sm:checked:after{width:4px;height:8px}.checkbox-input--md{width:20px;height:20px}.checkbox-input--md:checked:after{width:5px;height:10px}.checkbox-input--lg{width:24px;height:24px}.checkbox-input--lg:checked:after{width:6px;height:12px;border-width:0 2.5px 2.5px 0}.checkbox-content{flex:1;display:flex;align-items:center}@media(prefers-color-scheme:dark){.checkbox-input:focus{box-shadow:0 0 0 3px #60a5fa33}.checkbox-input--error:focus{box-shadow:0 0 0 3px #f8717133}}.container{width:100%;margin:0 auto;padding:2rem;box-sizing:border-box}.container--no-padding{padding:0}.container--sm{max-width:800px}.container--md{max-width:1000px}.container--lg{max-width:1200px}.container--xl{max-width:1400px}.container--full{max-width:100%}@media(max-width:768px){.container{padding:1rem}}@media(max-width:480px){.container{padding:.75rem}}.autocomplete-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm);width:fit-content;position:relative}.autocomplete-wrapper--full-width{width:100%}.autocomplete-label{display:block;color:var(--text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer}.autocomplete-label .required-mark{color:var(--danger-color)}.autocomplete-input-container{position:relative;display:flex;align-items:center}.autocomplete-input{width:100%;padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family-base);background-color:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-base);box-sizing:border-box}.autocomplete-input::placeholder{color:var(--text-tertiary)}.autocomplete-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.autocomplete-input--error{border-color:var(--danger-color)}.autocomplete-input--error:focus{border-color:var(--danger-color);box-shadow:0 0 0 3px #ef44441a}.autocomplete-input--disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.autocomplete-loading{position:absolute;right:var(--spacing-md);display:flex;align-items:center;justify-content:center}.autocomplete-loading .spinner{width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--spacing-xs);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 6px #0000001a;max-height:300px;overflow-y:auto;z-index:1000;animation:slideDown .2s ease-out}.autocomplete-option{padding:var(--spacing-md);cursor:pointer;transition:background-color var(--transition-base);border-bottom:1px solid var(--border-color)}.autocomplete-option:last-child{border-bottom:none}.autocomplete-option:hover,.autocomplete-option--highlighted{background-color:var(--bg-secondary)}.autocomplete-option:active{background-color:var(--bg-tertiary)}.autocomplete-option-label{font-size:var(--font-size-base);color:var(--text-primary);font-weight:var(--font-weight-medium);margin-bottom:2px}.autocomplete-option-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary)}.autocomplete-no-results{padding:var(--spacing-lg);text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}.autocomplete-message{font-size:var(--font-size-sm);display:block}.autocomplete-message--error{color:var(--danger-color)}.autocomplete-message--helper{color:var(--text-secondary)}@media(prefers-color-scheme:dark){.autocomplete-input:focus{box-shadow:0 0 0 3px #60a5fa33}.autocomplete-input--error:focus{box-shadow:0 0 0 3px #f8717133}.autocomplete-dropdown{box-shadow:0 4px 12px #0000004d}}.loading-container{width:100%;padding:var(--spacing-md);display:flex;flex-direction:column;justify-content:center;align-items:center}.loading-container .loader{height:80px;aspect-ratio:1;padding:10px;border-radius:50%;box-sizing:border-box;position:relative;-webkit-mask:conic-gradient(#000 0 0) content-box exclude,conic-gradient(#000 0 0);mask:conic-gradient(#000 0 0) content-box exclude,conic-gradient(#000 0 0);filter:blur(12px)}.loading-container .loader:before{content:"";position:absolute;inset:0;background:conic-gradient(#0000 35%,#273cf5,#0000 65%);animation:l1 1.5s linear infinite}@keyframes l1{to{rotate:1turn}}.loading-container .loader-text{margin-top:var(--spacing-md)}.wheel-picker{position:relative;height:220px;flex-shrink:0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;perspective:520px;perspective-origin:center center}.wheel-picker:active{cursor:grabbing}.wheel-picker__drum{position:absolute;top:50%;left:0;right:0;height:0;transform-style:preserve-3d}.wheel-picker__item{position:absolute;width:100%;height:44px;top:-22px;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;backface-visibility:hidden;will-change:transform,opacity;transform-origin:center center;white-space:nowrap;cursor:pointer}.wheel-picker__highlight{position:absolute;top:calc(50% - 22px);left:0;right:0;height:44px;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);pointer-events:none;z-index:10}.wheel-picker__fade{position:absolute;left:0;right:0;pointer-events:none;z-index:9;height:calc(50% - 22px)}.wheel-picker__fade--top{top:0;background:linear-gradient(to bottom,var(--bg-secondary) 10%,transparent 100%)}.wheel-picker__fade--bot{bottom:0;background:linear-gradient(to top,var(--bg-secondary) 10%,transparent 100%)}.app-layout{display:flex;height:100vh;background:var(--bg-secondary);overflow:hidden}.sidebar{width:280px;background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border-right:1px solid var(--border-color);transition:background-color var(--transition-base),color var(--transition-base)}.sidebar-header{padding:1rem}.sidebar-header-content{display:flex;flex-direction:row;justify-content:center;align-items:center;margin-bottom:.5rem}.sidebar-close{display:none;position:absolute;right:1rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;transition:color var(--transition-base)}.sidebar-close:hover{color:var(--text-primary)}.sidebar-logo{color:var(--text-primary);font-size:1.5rem;margin:0 0 .5rem}.sidebar-subtitle{color:var(--text-tertiary);font-size:.875rem;margin:0}.subscription-selector{margin-top:1rem;position:relative}.subscription-button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);font-size:.875rem}.subscription-button:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.subscription-button .subscription-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscription-button .subscription-chevron{transition:transform var(--transition-base);flex-shrink:0}.subscription-button .subscription-chevron.open{transform:rotate(180deg)}.subscription-single{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem}.subscription-single .subscription-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscription-dropdown{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.subscription-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);font-size:.875rem;text-align:left}.subscription-option:hover{background:var(--bg-tertiary);color:var(--text-primary)}.subscription-option.active{background:#273cf51a;color:var(--primary-color);font-weight:var(--font-weight-semibold)}.sidebar-nav{flex:1;padding:.5rem 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:1rem;padding:.5rem 1.5rem;color:var(--text-secondary);text-decoration:none;transition:all var(--transition-base);border-left:8px solid transparent;border-top-left-radius:24px;border-bottom-left-radius:0;background:transparent;border:none;width:100%;cursor:pointer;font-size:var(--font-size-base);font-family:inherit;text-align:left}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:#273cf51a;border-left-color:var(--primary-color);color:var(--text-primary);font-weight:var(--font-weight-semibold)}button.nav-item:active,button.nav-item:focus{background:var(--bg-tertiary);border-left-color:transparent;color:var(--text-primary);font-weight:var(--font-weight-regular);outline:none}.nav-badge{margin-left:auto;background:#ef4444;color:#fff;font-size:10px;font-weight:700;border-radius:999px;padding:1px 6px;line-height:1.6;flex-shrink:0}.nav-divider{height:1px;background:var(--border-color);margin:var(--spacing-md) var(--spacing-lg)}.nav-section-title{padding:.5rem 1.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.05em}.nav-icon{font-size:1.25rem}.sidebar-footer{padding:1.5rem;border-top:1px solid var(--border-color)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.app-header{background:var(--bg-primary);padding:1rem 2rem;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg);transition:background-color var(--transition-base)}.header-mobile-brand{display:none}.header-left{display:flex;align-items:center;gap:var(--spacing-lg);flex:1}.page-title{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.user-info{display:flex;align-items:center;gap:var(--spacing-md)}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-color);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:#fff;flex-shrink:0}.user-details{display:flex;flex-direction:column;align-items:flex-end;min-width:0}.menu-button{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;transition:color var(--transition-base)}.menu-button:hover{color:var(--primary-color)}.header-left h2{color:var(--text-primary);margin:0;font-size:1.5rem}.page-content{flex:1;overflow-y:auto;padding:1.5rem}@media(max-width:768px){.sidebar{position:fixed;left:-100%;top:0;bottom:0;width:100%;z-index:1000;transition:left .3s ease-in-out}.sidebar.open{left:0}.sidebar-close{display:block}.sidebar-header{padding:var(--spacing-lg) var(--spacing-xl)}.sidebar-logo{font-size:var(--font-size-2xl);margin:0}.sidebar-subtitle{font-size:var(--font-size-sm);margin-top:2px}.subscription-selector{margin-top:var(--spacing-md)}.nav-item{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);gap:var(--spacing-md)}.nav-divider{margin:var(--spacing-sm) var(--spacing-xl)}.sidebar-footer{padding:var(--spacing-lg) var(--spacing-xl)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:999;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.menu-button{display:flex;align-items:center;justify-content:center}.main-content{width:100%}.app-header{padding:.75rem 1rem;position:sticky;top:0;z-index:100}.header-mobile-brand{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-bold, 700);color:var(--text-primary);pointer-events:none}.header-mobile-brand .header-logo{height:24px;width:auto}.page-title,.user-info{display:none}.page-content{padding:1rem}}.terms-page{min-height:100vh;background:var(--bg-secondary);padding:var(--spacing-4xl) var(--spacing-xl)}.terms-container{max-width:var(--container-lg);margin:0 auto;background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-4xl)}.terms-header{text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.terms-content{display:flex;flex-direction:column;gap:var(--spacing-3xl);margin-bottom:var(--spacing-4xl)}.terms-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.terms-list{list-style:disc;padding-left:var(--spacing-2xl);margin:var(--spacing-md) 0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.terms-list li{color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6}.terms-footer{display:flex;gap:var(--spacing-md);justify-content:center;padding-top:var(--spacing-2xl);border-top:2px solid var(--border-color)}@media(max-width:768px){.terms-page{padding:var(--spacing-2xl) var(--spacing-md)}.terms-container{padding:var(--spacing-2xl) var(--spacing-lg)}.terms-footer{flex-direction:column}.terms-list{padding-left:var(--spacing-xl)}}.last-update{margin-top:1rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);padding:var(--spacing-2xl)}.auth-container{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--spacing-3xl);max-width:480px;width:100%}.register-container{max-width:600px}.register-wizard{max-width:680px}.step-indicator{display:flex;justify-content:space-between;margin-bottom:var(--spacing-3xl);position:relative}.step-indicator:before{content:"";position:absolute;top:20px;left:10%;right:10%;height:2px;background:var(--border-color);z-index:0}.step{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);flex:1;position:relative;z-index:1}.step-number{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);color:var(--text-secondary);transition:all var(--transition-base)}.step-number.completed{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.step.active .step-number{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 0 0 4px var(--primary-light)}.step-label{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.step.active .step-label{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.step-content{margin-bottom:var(--spacing-2xl)}.step-content h5{margin-bottom:var(--spacing-xs)}.wizard-actions{display:flex;gap:var(--spacing-md);align-items:center;margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-color)}.plans-selection{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin:var(--spacing-xl) 0}.plan-card{position:relative;padding:var(--spacing-lg);border:2px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);background:var(--bg-primary)}.plan-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.plan-card.selected{border-color:var(--primary-color)}.plan-badge{position:absolute;top:-10px;right:var(--spacing-md);background:var(--primary-color);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.plan-price{display:flex;align-items:baseline;gap:var(--spacing-xs);margin:var(--spacing-sm) 0}.plan-features-preview{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.plan-features-preview .feature-item{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.plans-loading{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.auth-header{text-align:center;margin-bottom:var(--spacing-2xl)}.auth-form{margin-bottom:var(--spacing-xl)}.form-group{margin-bottom:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-top:var(--spacing-md)}.form-options{display:flex;justify-content:flex-end;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-sm)}.link{color:var(--primary-color);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:color var(--transition-base);display:inline-block}.link:hover{color:var(--primary-hover);text-decoration:underline}.error-message{background:var(--error-light);color:var(--error-color);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);font-size:var(--font-size-sm);border-left:4px solid var(--error-color)}.auth-footer{text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}.auth-footer p{margin-bottom:var(--spacing-sm)}.reg-page{display:grid;grid-template-columns:420px 1fr;min-height:100vh}.reg-trust-panel{background:linear-gradient(160deg,var(--primary-dark) 0%,var(--primary-color) 100%);color:#fff;display:flex;flex-direction:column;padding:48px 40px;position:sticky;top:0;height:100vh;overflow-y:auto}.reg-trust-logo{margin-bottom:48px}.reg-logo-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.reg-logo-link .reg-logo-image{height:3rem;object-fit:contain}.reg-logo-name{font-family:Sora,sans-serif;font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.02em}.reg-logo-sub{font-size:.75rem;color:#fff9}.reg-trust-body{flex:1;display:flex;flex-direction:column}.reg-trust-headline{font-family:Sora,sans-serif;font-size:1.625rem;font-weight:700;line-height:1.25;margin:0 0 8px;color:#fff}.reg-trust-sub{font-size:.875rem;color:#ffffffbf;margin:0 0 28px}.reg-trust-benefits{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-direction:column;gap:12px}.reg-trust-benefits li{display:flex;align-items:center;gap:10px;font-size:.9375rem;color:#ffffffe6}.reg-trust-benefits li svg{flex-shrink:0;color:#93c5fd;width:16px;height:16px}.reg-trust-author{display:flex;align-items:center;gap:10px;margin-bottom:10px}.reg-trust-author strong{display:block;font-size:.875rem;color:#fff}.reg-trust-author span{font-size:.75rem;color:#fff9}.reg-trust-avatar{width:36px;height:36px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.reg-trust-stars{display:flex;gap:3px;color:#fbbf24}.reg-trust-stars svg{width:14px;height:14px;fill:currentColor}.reg-trust-security{display:flex;gap:16px;flex-wrap:wrap}.reg-trust-security span{display:flex;align-items:center;gap:5px;font-size:.75rem;color:#ffffffa6}.reg-trust-security span svg{width:13px;height:13px}.reg-form-panel{background:#f3f8fa;display:flex;align-items:flex-start;justify-content:center;padding:48px 32px;min-height:100vh}.reg-form-inner{background:#fff;border-radius:24px;box-shadow:0 4px 24px #273cf514;padding:40px;width:100%;max-width:768px}.reg-step-header{margin-bottom:28px}.reg-step-meta{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.reg-step-count{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.reg-step-name{font-size:1.125rem;font-weight:700;color:var(--text-primary);font-family:Sora,sans-serif}.reg-progress-bar{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.reg-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-dark),var(--primary-color));border-radius:2px;transition:width .4s ease}.reg-mobile-header{display:none;margin-bottom:24px}.reg-form-footer{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;margin-bottom:12px;font-size:.75rem;color:var(--text-secondary)}.reg-form-footer svg{flex-shrink:0;opacity:.6}.password-strength{display:flex;align-items:center;gap:10px;margin-top:8px}.password-strength .strength-bars{display:flex;gap:4px;flex:1}.password-strength .strength-bar{height:4px;flex:1;border-radius:2px;transition:background .3s ease}.password-strength span{font-size:.75rem;font-weight:600;white-space:nowrap}.clinic-type-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.clinic-type-card{border:2px solid var(--border-color);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:#fff}.clinic-type-card:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #273cf51a}.clinic-type-card.selected{border-color:var(--primary-color);background:#273cf50a;box-shadow:0 0 0 3px #273cf526}.clinic-type-card .clinic-type-icon{width:44px;height:44px;border-radius:10px;background:#273cf51a;display:flex;align-items:center;justify-content:center;color:var(--primary-color)}.clinic-type-card .clinic-type-label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.clinic-type-card .clinic-type-desc{font-size:.75rem;color:var(--text-secondary)}.plan-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px #273cf52e}.plan-card .plan-selected-icon{position:absolute;top:10px;right:10px;color:var(--primary-color)}@media(max-width:960px){.reg-page{grid-template-columns:1fr}.reg-trust-panel{display:none}.reg-form-panel{padding:24px 16px}.reg-form-inner{padding:28px 20px}.reg-mobile-header{display:block}}@media(max-width:640px){.auth-page{padding:var(--spacing-md)}.auth-container{padding:var(--spacing-2xl) var(--spacing-xl)}.form-row{grid-template-columns:1fr}.form-options{flex-direction:column;align-items:flex-start}.step-indicator:before{display:none}.step-label{display:none}.plans-selection{grid-template-columns:1fr}.wizard-actions{flex-wrap:wrap}.wizard-actions>div{display:none}}.invite-option-btn{display:flex;align-items:center;gap:16px;width:100%;padding:20px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-primary);cursor:pointer;transition:all .2s ease;text-align:left;color:var(--text-primary)}.invite-option-btn:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #273cf51a}.invite-option-btn svg{flex-shrink:0;color:var(--primary-color)}.invite-option-btn div{display:flex;flex-direction:column;gap:2px}.invite-option-btn div strong{font-size:.9375rem;font-weight:600}.invite-option-btn div span{font-size:.8125rem;color:var(--text-secondary)}.reg-link-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.875rem;padding:0;text-align:center;width:100%;margin-top:4px}.reg-link-btn:hover{color:var(--text-primary)}:root{--primary-color: #273CF5;--primary-hover: #1f2fcf;--primary-light: #4d5ff7;--primary-dark: #1a27b8;--primary-alpha: rgba(39, 60, 245, .2);--primary-beta: rgba(99, 102, 241, .5);--secondary-color: #27F5C2;--secondary-hover: #1fd9ad;--secondary-light: #52f7ce;--secondary-dark: #1bb892;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-dark: #1f2937;--bg-dark-secondary: #374151;--text-primary: #1f2937;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-light: #ffffff;--text-muted: rgba(31, 41, 55, .7);--success-color: #10b981;--success-light: #34d399;--error-color: #ef4444;--error-light: #f87171;--warning-color: #f59e0b;--warning-light: #fbbf24;--info-color: #3b82f6;--info-light: #60a5fa;--border-color: #e5e7eb;--border-dark: #374151;--border-light: #f3f4f6;--gradient-primary: linear-gradient(135deg, #273CF5 0%, #27F5C2 100%);--gradient-secondary: linear-gradient(135deg, #27F5C2 0%, #1fd9ad 100%);--gradient-accent: linear-gradient(135deg, #4d5ff7 0%, #52f7ce 100%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .2);--shadow-hover: 0 10px 25px rgba(0, 0, 0, .2);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-sd: .75rem;--spacing-md: 1rem;--spacing-lg: 1.25rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 3rem;--spacing-4xl: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-family-base: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "Source Code Pro", Menlo, Monaco, Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1200px;--container-2xl: 1400px}.stat-card{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;border-radius:var(--radius-md);background-color:var(--bg-primary);transition:all var(--transition-normal)}.stat-card .stat-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.stat-card .stat-content h3{margin:0;font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.stat-card .stat-content .stat-number{margin:0;font-size:1.875rem;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-card .stat-content .stat-change{font-size:.875rem;font-weight:500}.stat-card .stat-content .stat-change.positive{color:#10b981}.stat-card .stat-content .stat-change.negative{color:#ef4444}.stat-card .stat-content .stat-change.neutral{color:var(--text-secondary)}@media(max-width:768px){.stat-card{gap:.5rem;padding:1rem}.stat-card .stat-icon{width:50px;height:50px;font-size:1.5rem}.stat-card .stat-content .stat-number{font-size:1.5rem}}.agent-usage-widget{background:var(--bg-primary);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.agent-usage-widget__header{display:flex;justify-content:space-between;align-items:center}.agent-usage-widget__bar{height:8px;background:var(--bg-tertiary, #e5e7eb);border-radius:var(--radius-full, 9999px);overflow:hidden}.agent-usage-widget__bar-fill{height:100%;background:var(--primary-color);border-radius:var(--radius-full, 9999px);transition:width .4s ease}.agent-usage-widget__bar-fill--warning{background:var(--warning-color, #f59e0b)}.agent-usage-widget__bar-fill--danger{background:var(--error-color, #ef4444)}.dashboard{max-width:var(--container-2xl)}.dashboard-header{margin-bottom:var(--spacing-md)}.dashboard .stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}@media(max-width:992px){.dashboard .stats-grid{grid-template-columns:repeat(2,1fr)}}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-md)}.dashboard-card{background:var(--bg-primary);border-radius:var(--radius-md);padding:var(--spacing-md)}.dashboard .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.dashboard .card-link{color:var(--primary-color);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);transition:color var(--transition-base)}.dashboard .card-link:hover{color:var(--primary-hover)}.dashboard-appointments-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.dashboard-appointments-list .dashboard-appointment-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--primary-color);background-color:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--radius-md);min-width:60px}.dashboard-appointments-list .dashboard-appointment-item .dashboard-appointment-details{flex:1;display:flex;flex-direction:column}.dashboard-appointments-list .dashboard-appointment-item .appointment-actions{display:flex;gap:var(--spacing-sm)}.dashboard-appointments-list .dashboard-appointment-item .appointment-date.today{background-color:var(--primary-color);border-radius:1rem}.dashboard .actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.dashboard .action-card{padding:var(--spacing-xl);background:var(--bg-secondary);color:var(--text-primary);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-semibold);transition:transform var(--transition-base),box-shadow var(--transition-base)}.dashboard .action-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.dashboard .action-icon{font-size:var(--font-size-3xl)}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr}.dashboard .stats-grid{gap:var(--spacing-sm)}.dashboard .actions-grid{grid-template-columns:repeat(2,1fr)}}.patients-page{max-width:var(--container-2xl);animation:fadeIn var(--transition-base)}.patients-page .patients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-md)}.patients-page .patients-header .header-buttons{display:flex;flex-direction:row;gap:var(--spacing-md)}.patients-page .patients-controls{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-sm);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm);display:flex;gap:var(--spacing-lg);flex-wrap:wrap;align-items:center}.patients-page .patients-controls .search-box{flex:1;padding:var(--spacing-sm)}.patients-page .patients-content{display:grid;grid-template-columns:1fr}.patients-page .patients-list{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.patients-page .patient-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border-light);cursor:pointer;transition:background var(--transition-base)}.patients-page .patient-card:last-child{border-bottom:none}.patients-page .patient-card:hover{background:var(--bg-secondary)}.patients-page .patient-card__avatar{width:44px;height:44px;min-width:44px;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.patients-page .patient-card__info{flex:1;min-width:0}.patients-page .patient-card__details{display:flex;flex-direction:column;gap:2px;margin-top:2px}.patients-page .patient-card__details .text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patients-page .patient-card__detail-item{display:flex;align-items:center;gap:4px;color:var(--text-secondary);min-width:0}.patients-page .patient-card__detail-item .text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patients-page .patient-card__detail-item svg{flex-shrink:0}.patients-page .patient-card__meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.patients-page .patient-card__date{font-size:var(--font-size-xs)}@media(min-width:640px){.patients-page .patient-card{padding:var(--spacing-md) var(--spacing-lg)}.patients-page .patient-card__details{flex-direction:row;gap:var(--spacing-md)}.patients-page .patient-card__meta{flex-direction:row;align-items:center;gap:var(--spacing-lg)}.patients-page .patient-card__date{font-size:var(--font-size-sm)}}.patients-page .empty-state{padding:var(--spacing-4xl) var(--spacing-md);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.patients-page .pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-top:1px solid var(--border-light)}.patients-page .pagination__controls{display:flex;gap:var(--spacing-xs)}.patients-page .pagination__btn{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.patients-page .error-state{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl);text-align:center}.import-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);animation:fadeIn var(--transition-base)}.import-modal{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:520px;animation:slideUp var(--transition-base);overflow:hidden}.import-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-light)}.import-modal__close{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:background var(--transition-base),color var(--transition-base)}.import-modal__close:hover{background:var(--bg-secondary);color:var(--text-primary)}.import-modal__body{padding:var(--spacing-lg) var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md)}.import-modal__dropzone{border:2px dashed var(--border-medium);border-radius:var(--radius-lg);padding:var(--spacing-2xl) var(--spacing-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);cursor:pointer;transition:border-color var(--transition-base),background var(--transition-base);text-align:center}.import-modal__dropzone:hover,.import-modal__dropzone--active{border-color:var(--color-brand);background:var(--bg-secondary)}.import-modal__dropzone--has-file{border-color:var(--color-brand);border-style:solid}.import-modal__icon{color:var(--text-tertiary);margin-bottom:var(--spacing-xs)}.import-modal__icon--file{color:var(--color-brand)}.import-modal__error{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-error)}.import-modal__results{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-modal__results-summary{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.import-modal__stat{flex:1;min-width:90px;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-lg);background:var(--bg-secondary)}.import-modal__stat>div{display:flex;flex-direction:column;gap:2px}.import-modal__stat--success{color:var(--color-success)}.import-modal__stat--warn{color:var(--color-warning, #f59e0b)}.import-modal__stat--error{color:var(--color-error)}.import-modal__error-list{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:180px;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-sm)}.import-modal__error-item{display:flex;flex-direction:column;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-light)}.import-modal__error-item:last-child{border-bottom:none}.import-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-top:1px solid var(--border-light)}.new-patient-page{max-width:1200px;margin:0 auto;animation:fadeIn .3s ease-out}.new-patient-page .patient-form{background:var(--bg-primary);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.new-patient-page .patient-form .required-legend{display:block;margin-bottom:1.5rem}.new-patient-page .patient-form .form-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.new-patient-page .patient-form .form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.new-patient-page .patient-form .form-section .section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:var(--primary-color)}.new-patient-page .patient-form .form-section .section-header svg{flex-shrink:0}.new-patient-page .patient-form .form-section .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.new-patient-page .patient-form .form-section .form-grid .form-field.full-width{grid-column:1/-1}.new-patient-page .patient-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.new-patient-page .patient-form .form-actions button{min-width:140px}.new-patient-page .patient-form .form-error{background-color:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:var(--radius-md);padding:1rem;margin-top:1rem;text-align:center}@media(max-width:768px){.new-patient-page .patient-form{padding:.75rem}.new-patient-page .patient-form .form-section{margin-bottom:.75rem;padding-bottom:.75rem}.new-patient-page .patient-form .form-section .section-header{margin-bottom:.75rem}.new-patient-page .patient-form .form-section .form-grid{grid-template-columns:1fr;gap:.75rem}.new-patient-page .patient-form .form-actions{flex-direction:column}}.feature-card{text-align:center}.feature-card__icon{font-size:var(--font-size-5xl);margin-bottom:var(--spacing-md)}.feature-card__title{margin-bottom:var(--spacing-md)}.feature-card__description{line-height:1.6}.pricing-card-wrapper{position:relative}.pricing-card__badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);z-index:var(--z-base)}.pricing-card{height:100%;display:flex;flex-direction:column;transition:transform var(--transition-base)}.pricing-card--featured{border:3px solid var(--primary-color);transform:scale(1.05)}.pricing-card__title{margin-bottom:var(--spacing-md)}.pricing-card__price{display:flex;align-items:baseline;justify-content:center;gap:var(--spacing-xs);margin:var(--spacing-lg) 0}.pricing-card__currency{font-size:var(--font-size-xl)}.pricing-card__amount{font-size:var(--font-size-5xl)}.pricing-card__period{font-size:var(--font-size-base)}.pricing-card__description{margin-bottom:var(--spacing-xl);min-height:3em}.pricing-card__features{list-style:none;padding:0;margin:0 0 var(--spacing-xl) 0;text-align:left;flex-grow:1}.pricing-card__features li{padding:var(--spacing-sm) 0}.pricing-card__feature--disabled{opacity:.5}@media(max-width:768px){.pricing-card--featured{transform:scale(1)}}.page-header{margin-top:var(--spacing-md);display:flex;flex-direction:row;align-items:center;gap:1rem}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start}}.page-header .header-content{flex:1}.page-header .header-actions{display:flex;gap:.75rem}.confirm-modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:1100;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);animation:fadeIn .15s ease}.confirm-modal{position:relative;background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-2xl) var(--spacing-xl) var(--spacing-xl);text-align:center;animation:slideUp .15s ease}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-modal__close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);display:flex;align-items:center;transition:color var(--transition-base)}.confirm-modal__close:hover:not(:disabled){color:var(--text-primary)}.confirm-modal__close:disabled{opacity:.4;cursor:default}.confirm-modal__icon{width:56px;height:56px;border-radius:50%;background:#fef2f2;display:flex;align-items:center;justify-content:center;color:#ef4444;flex-shrink:0}.confirm-modal__content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.confirm-modal__footer{display:flex;gap:var(--spacing-md);width:100%;justify-content:center}.confirm-modal__footer button{flex:1;max-width:160px}.time-picker{display:flex;flex-direction:column;gap:6px}.time-picker__label{font-size:var(--font-size-sm, .875rem);font-weight:500;color:var(--text-secondary);display:block}.time-picker__wheels{display:flex;align-items:center;gap:0;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:var(--radius-md);padding:0 12px;width:fit-content}.time-picker__colon{font-size:1.4rem;font-weight:600;color:var(--text-primary);padding:0 4px;-webkit-user-select:none;user-select:none;z-index:3;position:relative}.duration-picker{display:flex;flex-direction:column;gap:6px}.duration-picker__label{font-size:var(--font-size-sm, .875rem);font-weight:500;color:var(--text-secondary);display:block}.duration-picker__wheels{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:var(--radius-md);padding:0 16px;width:100%}.patient-detail-page{max-width:var(--container-2xl)}.patient-detail-page .insurance-deleted-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);background:#fffbeb;border:1px solid #f59e0b;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);margin-top:var(--spacing-lg);color:#92400e;font-size:.875rem}@media(max-width:640px){.patient-detail-page .insurance-deleted-banner{flex-direction:column;align-items:flex-start}}.patient-detail-page .patient-header{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-2xl);margin-bottom:var(--spacing-lg);margin-top:var(--spacing-lg);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-xl)}@media(max-width:768px){.patient-detail-page .patient-header{flex-direction:column;padding:var(--spacing-lg);gap:var(--spacing-md)}}.patient-detail-page .patient-header-left{display:flex;gap:var(--spacing-lg);align-items:flex-start;flex:1}@media(max-width:768px){.patient-detail-page .patient-header-left{flex-direction:column;align-items:center;text-align:center;width:100%;gap:var(--spacing-md)}}.patient-detail-page .patient-header-right{display:flex;gap:var(--spacing-sm)}@media(max-width:768px){.patient-detail-page .patient-header-right{width:100%;justify-content:center}}.patient-detail-page .patient-avatar{width:80px;height:80px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);flex-shrink:0}@media(max-width:768px){.patient-detail-page .patient-avatar{width:64px;height:64px;font-size:var(--font-size-xl)}}.patient-detail-page .patient-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}@media(max-width:768px){.patient-detail-page .patient-info{align-items:center}}.patient-detail-page .patient-title{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.patient-detail-page .alert-badge{background:#ef4444;color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.patient-detail-page .patient-meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;color:var(--text-secondary);font-size:var(--font-size-sm)}@media(max-width:768px){.patient-detail-page .patient-meta{justify-content:center;font-size:var(--font-size-xs)}}.patient-detail-page .meta-item{display:flex;align-items:center;gap:var(--spacing-xs)}.patient-detail-page .meta-separator{color:var(--border-color)}@media(max-width:768px){.patient-detail-page .meta-separator{display:none}}.patient-detail-page .patient-badges{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}@media(max-width:768px){.patient-detail-page .patient-badges{justify-content:center}}.patient-detail-page .insurance-badge{background:var(--bg-secondary);color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid var(--border-color)}.patient-detail-page .status-badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.patient-detail-page .status-badge.active{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.patient-detail-page .tabs-container{display:flex;gap:var(--spacing-md);border:2px solid var(--border-color);margin-bottom:var(--spacing-xl);background-color:var(--bg-primary);border-top-left-radius:1rem;border-top-right-radius:1rem}@media(max-width:768px){.patient-detail-page .tabs-container{display:none}}.patient-detail-page .tab{background:none;border:none;padding:var(--spacing-md) var(--spacing-lg);color:var(--text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;position:relative;transition:all var(--transition-base);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap}.patient-detail-page .tab:hover{color:var(--text-primary)}.patient-detail-page .tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.patient-detail-page .patient-bottom-nav{display:none}@media(max-width:768px){.patient-detail-page .patient-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--bg-primary);border-top:1px solid var(--border-color);padding-bottom:env(safe-area-inset-bottom,0px)}}.patient-detail-page .patient-bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:var(--spacing-sm) 0;background:none;border:none;color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-base);min-width:0}.patient-detail-page .patient-bottom-nav__item svg{flex-shrink:0}.patient-detail-page .patient-bottom-nav__item.active{color:var(--primary-color)}.patient-detail-page .patient-bottom-nav__label{font-size:10px;font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media(max-width:768px){.patient-detail-page{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}}.patient-detail-page .tab-content{animation:fadeIn .3s ease-in-out}.patient-detail-page .personal-data{display:flex;flex-direction:column;gap:var(--spacing-xl)}.patient-detail-page .section-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.patient-detail-page .info-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.patient-detail-page .info-row:first-child{margin-top:var(--spacing-md)}.patient-detail-page .info-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.patient-detail-page .info-field.full{grid-column:1/-1}.patient-detail-page .allergies-badges{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-xs)}.patient-detail-page .allergy-badge{background:#ef44441a;color:#ef4444;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid rgba(239,68,68,.2);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.patient-detail-page .clinical-history{display:flex;flex-direction:column;gap:var(--spacing-xl)}.patient-detail-page .clinical-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.patient-detail-page .consultations-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.patient-detail-page .consultation-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all var(--transition-base)}.patient-detail-page .consultation-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.patient-detail-page .consultation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.patient-detail-page .consultation-title{display:flex;align-items:center;gap:var(--spacing-md)}.patient-detail-page .priority-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.patient-detail-page .priority-badge.media{background:#fbbf241a;color:#f59e0b;border:1px solid rgba(251,191,36,.2)}.patient-detail-page .priority-badge.baja{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.patient-detail-page .priority-badge.alta{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.patient-detail-page .consultation-meta{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.patient-detail-page .meta-info{display:flex;align-items:center;gap:var(--spacing-xs)}.patient-detail-page .consultation-details{display:flex;flex-direction:column;gap:var(--spacing-md)}.patient-detail-page .detail-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.patient-detail-page .documents-section{display:flex;flex-direction:column;gap:var(--spacing-xl)}.patient-detail-page .documents-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.patient-detail-page .documents-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.patient-detail-page .document-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);display:flex;gap:var(--spacing-md);align-items:flex-start;transition:all var(--transition-base)}.patient-detail-page .document-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.patient-detail-page .document-icon{font-size:var(--font-size-4xl);flex-shrink:0}.patient-detail-page .document-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.patient-detail-page .document-meta{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.patient-detail-page .category-badge{background:var(--bg-secondary);color:var(--text-primary);padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid var(--border-color)}.patient-detail-page .meta-text{color:var(--text-tertiary);font-size:var(--font-size-sm)}.patient-detail-page .download-button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.patient-detail-page .download-button:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.patient-detail-page .appointments-section{display:flex;flex-direction:column;gap:var(--spacing-xl)}.patient-detail-page .appointments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.patient-detail-page .appointments-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.patient-detail-page .empty-appointments{text-align:center;padding:var(--spacing-4xl);background:var(--bg-secondary);border-radius:var(--radius-lg)}.patient-detail-page .appointment-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);display:flex;gap:var(--spacing-lg);align-items:center;transition:all var(--transition-base)}.patient-detail-page .appointment-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.patient-detail-page .appointment-date-badge{background:var(--primary-color);color:#fff;border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:70px;flex-shrink:0}.patient-detail-page .appointment-date-badge .date-day{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1}.patient-detail-page .appointment-date-badge .date-month{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:var(--spacing-xs);opacity:.9}.patient-detail-page .appointment-details{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.patient-detail-page .appointment-header-info{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.patient-detail-page .appointment-status{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.patient-detail-page .appointment-status.scheduled{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.patient-detail-page .appointment-status.completed{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.patient-detail-page .appointment-status.cancelled{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.patient-detail-page .appointment-meta-info{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm)}.patient-detail-page .appointment-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.patient-detail-page .not-found{text-align:center;padding:var(--spacing-4xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.patient-detail-page .not-found-icon{font-size:5rem}.patient-detail-page .loading-state{text-align:center;padding:var(--spacing-4xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.patient-detail-page .loading-state .spinner{animation:spin 1s linear infinite;color:var(--primary-color)}.patient-detail-page .empty-state{text-align:center;padding:var(--spacing-3xl);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px dashed var(--border-color)}@media(max-width:1024px){.patient-detail-page .patient-header{flex-direction:column}.patient-detail-page .patient-header-right{width:100%;justify-content:flex-start}.patient-detail-page .documents-grid{grid-template-columns:1fr}}@media(max-width:768px){.patient-detail-page .patient-header{padding:var(--spacing-lg)}.patient-detail-page .patient-header-left{flex-direction:column;align-items:center;text-align:center}.patient-detail-page .patient-meta{flex-direction:column;align-items:center}.patient-detail-page .info-row{grid-template-columns:1fr}.patient-detail-page .tabs-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.patient-detail-page .tab{white-space:nowrap}.patient-detail-page .section-card,.patient-detail-page .consultation-card{padding:var(--spacing-md)}.patient-detail-page .consultation-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.patient-detail-page .appointment-card{flex-direction:column;align-items:flex-start}.patient-detail-page .appointment-date-badge{min-width:60px}.patient-detail-page .appointment-actions{width:100%;justify-content:flex-start}}.dynamic-form{display:flex;flex-direction:column;gap:1.5rem;background-color:var(--bg-primary);padding:1.25rem;border-radius:1rem}.dynamic-form .form-category .category-title{margin-bottom:1rem;padding-bottom:.5rem;color:var(--text-primary);font-weight:600}.dynamic-form .form-category .category-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.dynamic-form .form-field{display:flex;flex-direction:column;gap:.375rem}.dynamic-form .form-field.full-width{grid-column:1/-1}.dynamic-form .form-field .field-label{font-size:.875rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.25rem}.dynamic-form .form-field .field-label .required-mark{color:var(--error-color)}.dynamic-form .form-field .field-help{font-size:.75rem;color:var(--text-secondary)}.dynamic-form .form-field .field-error{font-size:.75rem;color:var(--error-color)}.dynamic-form .checkbox-wrapper{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.dynamic-form .checkbox-wrapper input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.dynamic-form .checkbox-wrapper label{cursor:pointer;-webkit-user-select:none;user-select:none}.dynamic-form .radio-group{display:flex;flex-direction:column;gap:.5rem}.dynamic-form .radio-group .radio-option{display:flex;align-items:center;gap:.5rem}.dynamic-form .radio-group .radio-option input[type=radio]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.dynamic-form .radio-group .radio-option label{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem}.dynamic-form .multiselect-group{display:flex;flex-wrap:wrap;gap:.5rem}.dynamic-form .multiselect-group .multiselect-option{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;cursor:pointer;transition:all .2s}.dynamic-form .multiselect-group .multiselect-option:hover{border-color:var(--primary-color)}.dynamic-form .multiselect-group .multiselect-option.selected{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.dynamic-form .multiselect-group .multiselect-option input{display:none}.dynamic-form .multiselect-group .multiselect-option span{font-size:.8125rem}.dynamic-form .scale-input{display:flex;flex-direction:column;gap:.5rem}.dynamic-form .scale-input .scale-slider{display:flex;align-items:center;gap:.75rem}.dynamic-form .scale-input .scale-slider input[type=range]{flex:1;height:6px;-webkit-appearance:none;background:var(--border-color);border-radius:3px;cursor:pointer}.dynamic-form .scale-input .scale-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--primary-color);border-radius:50%;cursor:pointer}.dynamic-form .scale-input .scale-slider .scale-value{min-width:40px;text-align:center;font-weight:600;color:var(--primary-color)}.dynamic-form .scale-input .scale-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.dynamic-form .notes-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem}.dynamic-form .notes-section .notes-label{display:block;color:var(--text-primary)}.dynamic-form .notes-section .notes-textarea{width:100%;min-height:100px;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);font-family:inherit;font-size:.875rem;resize:vertical}.dynamic-form .notes-section .notes-textarea:focus{outline:none;border-color:var(--primary-color)}.dynamic-form .notes-section .notes-textarea::placeholder{color:var(--text-secondary)}.dynamic-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color);margin-top:.5rem}.clinical-history-tab .new-data .new-record-action{margin-bottom:1.5rem;display:flex;justify-content:flex-end}.clinical-history-tab .specialty-selector{border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;margin-bottom:1.25rem}.clinical-history-tab .specialty-selector .selector-header{margin-bottom:1rem}.clinical-history-tab .specialty-selector .specialty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.clinical-history-tab .specialty-selector .specialty-grid .specialty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;min-height:6rem}.clinical-history-tab .specialty-selector .specialty-grid .specialty-card:hover{transform:translateY(-2px)}.clinical-history-tab .specialty-selector .specialty-grid .specialty-card.selected{border:2px solid var(--primary-color)}.clinical-history-tab .specialty-selector .specialty-grid .specialty-card .specialty-icon{font-size:1.5rem}.clinical-history-tab .specialty-selector .specialty-grid .specialty-card .specialty-name{font-weight:600;font-size:.875rem;text-align:center}.clinical-history-tab .form-section{border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;margin-bottom:1.25rem;background-color:var(--bg-primary)}.clinical-history-tab .form-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.clinical-history-tab .history-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem}.clinical-history-tab .history-section .history-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.clinical-history-tab .history-section .history-empty{text-align:center;padding:2rem;color:var(--text-secondary)}.clinical-history-tab .history-section .history-empty .empty-icon{font-size:2.5rem;display:block;margin-bottom:.5rem}.clinical-history-tab .history-section .specialty-history{margin-bottom:1rem}.clinical-history-tab .history-section .specialty-history:last-child{margin-bottom:0}.clinical-history-tab .history-section .specialty-history .specialty-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:6px;margin-bottom:.5rem;cursor:pointer}.clinical-history-tab .history-section .specialty-history .specialty-header:hover{background:var(--bg-tertiary)}.clinical-history-tab .history-section .specialty-history .specialty-header .specialty-info{display:flex;align-items:center;gap:.75rem}.clinical-history-tab .history-section .specialty-history .specialty-header .record-count{display:flex;align-items:center;font-size:.875rem;color:var(--text-secondary)}.clinical-history-tab .history-section .specialty-history .records-list{display:flex;flex-direction:column;gap:.5rem;padding-left:1rem}.clinical-history-tab .history-section .specialty-history .records-list .record-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.clinical-history-tab .history-section .specialty-history .records-list .record-item:hover{border-color:var(--primary-color)}.clinical-history-tab .history-section .specialty-history .records-list .record-item .record-info{display:flex;flex-direction:column;gap:.25rem}.clinical-history-tab .history-section .specialty-history .records-list .record-item .record-info .record-date{font-weight:500}.clinical-history-tab .history-section .specialty-history .records-list .record-item .record-info .record-by{font-size:.75rem;color:var(--text-secondary)}.clinical-history-tab .ai-consultation-block{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;border-radius:12px;background:linear-gradient(135deg,#6366f10f,#8b5cf60f);border:1px solid rgba(99,102,241,.15);margin-bottom:1.25rem}.clinical-history-tab .ai-summary-section .ai-summary-card{padding:1rem;border-radius:8px;background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border:1px solid rgba(99,102,241,.15);margin-bottom:.75rem}.clinical-history-tab .ai-summary-section .ai-summary-card .ai-summary-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--primary-color, #6366f1)}.clinical-history-tab .ai-summary-section .ai-summary-card .ai-summary-header .text:last-child{margin-left:auto}.clinical-history-tab .ai-summary-section .ai-summary-card .ai-summary-content{line-height:1.6;white-space:pre-wrap;margin-bottom:.75rem}.clinical-history-tab .ai-summary-section .ai-summary-card.ai-summary-empty{display:flex;justify-content:flex-start;background:transparent;border-style:dashed;padding:.75rem 1rem}.clinical-history-tab .ai-consultation-header{display:flex;align-items:center;gap:.5rem;color:var(--primary-color, #6366f1)}.clinical-history-tab .ai-consultation-textarea{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary, #fff);color:var(--text-primary);font-family:inherit;font-size:.875rem;line-height:1.6;resize:vertical;transition:border-color .2s;box-sizing:border-box;min-height:100px}.clinical-history-tab .ai-consultation-textarea::placeholder{color:var(--text-tertiary, #9ca3af)}.clinical-history-tab .ai-consultation-textarea:focus{outline:none;border-color:var(--primary-color, #6366f1);box-shadow:0 0 0 3px #6366f11a}.clinical-history-tab .ai-consultation-textarea:disabled{opacity:.6;cursor:not-allowed}.clinical-history-tab .simple-clinical-form{display:flex;flex-direction:column;gap:1rem}.clinical-history-tab .simple-clinical-form .form-group{display:flex;flex-direction:column;gap:.375rem}.clinical-history-tab .simple-clinical-form .form-group label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.clinical-history-tab .simple-clinical-form .form-group textarea{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary, #fff);color:var(--text-primary);font-family:inherit;font-size:.875rem;line-height:1.6;resize:vertical;transition:border-color .2s;box-sizing:border-box}.clinical-history-tab .simple-clinical-form .form-group textarea::placeholder{color:var(--text-tertiary, #9ca3af)}.clinical-history-tab .simple-clinical-form .form-group textarea:focus{outline:none;border-color:var(--primary-color, #6366f1);box-shadow:0 0 0 3px #6366f11a}.clinical-history-tab .simple-clinical-form .form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.specialty-selection-modal .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.specialty-selection-modal .modal-content{background:var(--bg-secondary);border-radius:12px;max-width:800px;width:100%;max-height:80vh;overflow-y:auto}.specialty-selection-modal .modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.specialty-selection-modal .modal-content .modal-header .close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.25rem;line-height:1}.specialty-selection-modal .modal-content .modal-header .close-button:hover{color:var(--text-primary)}.specialty-selection-modal .modal-content .modal-body{padding:1.25rem}.specialty-selection-modal .modal-content .modal-body .specialty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-top:1rem}.specialty-selection-modal .modal-content .modal-body .specialty-grid .specialty-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;min-height:6rem}.specialty-selection-modal .modal-content .modal-body .specialty-grid .specialty-card:hover{transform:translateY(-2px);border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a}.specialty-selection-modal .modal-content .modal-body .specialty-grid .specialty-card.default{border-color:var(--primary-color);background:var(--primary-alpha)}.specialty-selection-modal .modal-content .modal-body .specialty-grid .specialty-card .default-badge{position:absolute;top:.5rem;right:.5rem;background:var(--primary-color);color:#fff;font-size:.625rem;padding:.25rem .5rem;border-radius:4px;font-weight:600;text-transform:uppercase}.record-detail-modal .modal-content{background:var(--bg-secondary);border-radius:12px;max-width:600px;width:100%;max-height:80vh;overflow-y:auto}.record-detail-modal .modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.record-detail-modal .modal-content .modal-body{padding:1.25rem}.record-detail-modal .modal-content .modal-body .record-data{display:grid;gap:1rem;margin-top:1rem}.patient-vital-trends{display:flex;flex-direction:column;gap:var(--spacing-xl)}.patient-vital-trends .trends-filters{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-lg) 0}.patient-vital-trends .date-range-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.patient-vital-trends .chart-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.patient-vital-trends .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);text-align:center;gap:var(--spacing-md)}.patient-vital-trends .empty-state .empty-icon{font-size:4rem}@media(max-width:768px){.patient-vital-trends .trends-filters{flex-direction:column;align-items:flex-start}.patient-vital-trends .date-range-buttons{width:100%}.patient-vital-trends .date-range-buttons button{flex:1}}.preview-backdrop{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);animation:fadeIn .15s ease}.preview-modal{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-width:900px;height:90vh;max-height:90vh;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .2s ease}.preview-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);border-bottom:1px solid var(--border-color);flex-shrink:0}.preview-modal__title{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0;flex:1}.preview-modal__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.preview-modal__actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.preview-modal__body{flex:1;overflow:hidden;display:flex;flex-direction:column}.preview-type-icon{flex-shrink:0}.preview-type-icon--pdf{color:#ef4444}.preview-type-icon--image{color:#3b82f6}.preview-type-icon--other{color:var(--text-secondary)}.preview-type-badge{padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;flex-shrink:0}.preview-type-badge--pdf{background:#ef44441a;color:#ef4444}.preview-type-badge--image,.preview-type-badge--docx{background:#3b82f61a;color:#3b82f6}.preview-type-badge--xlsx{background:#22c55e1a;color:#16a34a}.preview-type-badge--dicom{background:#8b5cf61a;color:#7c3aed}.preview-type-badge--other{background:#6b72801a;color:#6b7280}.preview-action-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.preview-action-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.preview-action-btn--close:hover{background:var(--bg-tertiary)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}.preview-action-btn:disabled{opacity:.4;cursor:default}.preview-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-4xl);text-align:center;height:100%}.preview-state__icon{color:var(--text-tertiary)}.preview-spinner{animation:spin 1s linear infinite;color:var(--primary-color)}.preview-download-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-xl);background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;margin-top:var(--spacing-sm);transition:opacity var(--transition-base)}.preview-download-btn:hover{opacity:.88}.preview-image-wrapper{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:var(--bg-secondary)}.preview-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.preview-iframe{flex:1;width:100%;height:100%;border:none;display:block}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:640px){.preview-modal{height:100vh;max-height:100vh;border-radius:0}.preview-backdrop{padding:0}}.documents-tab{display:flex;flex-direction:column;gap:var(--spacing-xl)}.documents-tab__header{display:flex;justify-content:space-between;align-items:center}.documents-tab__header button{display:flex;align-items:center;gap:var(--spacing-xs)}.documents-tab__loading,.documents-tab__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);background-color:var(--bg-primary);padding:var(--spacing-4xl);border-radius:var(--radius-lg);border:1px solid var(--border-color);text-align:center}.documents-tab__list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.documents-tab__folders{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-md)}.documents-tab__folders .folder-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:box-shadow var(--transition-base),border-color var(--transition-base)}.documents-tab__folders .folder-card:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000000f}.documents-tab__folders .folder-card__icon{color:var(--primary-color);flex-shrink:0}.documents-tab__folders .folder-card__info{display:flex;flex-direction:column;text-align:left}.empty-icon{color:var(--text-tertiary)}.spinner{animation:spin 1s linear infinite}.doc-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:box-shadow var(--transition-base)}.doc-card:hover{box-shadow:var(--shadow-sm)}.doc-card__icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-md)}.doc-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.doc-card__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-card__meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.doc-card__actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.doc-type-icon--pdf{color:#ef4444}.doc-type-icon--image{color:#3b82f6}.doc-type-icon--other{color:var(--text-secondary)}.category-badge{background:var(--bg-secondary);color:var(--text-secondary);padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid var(--border-color)}.meta-text{color:var(--text-tertiary);font-size:var(--font-size-sm)}.icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.icon-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.icon-btn--danger:hover:not(:disabled){background:#ef4444;border-color:#ef4444;color:#fff}.icon-btn:disabled{opacity:.5;cursor:default}.modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.upload-modal{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column}.upload-modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-color)}.upload-modal__body{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.upload-modal__footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--border-color)}.close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);display:flex;align-items:center;transition:color var(--transition-base)}.close-btn:hover{color:var(--text-primary)}.dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-2xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);cursor:pointer;text-align:center;transition:border-color var(--transition-base),background var(--transition-base)}.dropzone:hover{border-color:var(--primary-color);background:rgba(var(--primary-rgb, 99, 102, 241),.03)}.dropzone--selected{border-color:var(--primary-color);background:rgba(var(--primary-rgb, 99, 102, 241),.05)}.dropzone__icon{color:var(--text-tertiary)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.form-input,.form-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);outline:none;transition:border-color var(--transition-base);width:100%}.form-input:focus,.form-select:focus{border-color:var(--primary-color)}.upload-error{background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.appointments-tab{display:flex;flex-direction:column;gap:1.5rem}.appointments-tab__header{display:flex;align-items:center;justify-content:space-between}.appointments-tab__loading{display:flex;justify-content:center;padding:3rem 0}.appointments-tab__spinner{width:28px;height:28px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:apt-spin .7s linear infinite}@keyframes apt-spin{to{transform:rotate(360deg)}}.appointments-tab__empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 0;color:var(--text-tertiary)}.appointments-tab__section{display:flex;flex-direction:column;gap:.5rem}.appointments-tab__section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:0 0 .25rem}.appointments-tab__list{display:flex;flex-direction:column;gap:.5rem}.appointments-tab__card{display:flex;align-items:center;gap:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.875rem 1rem;cursor:pointer;text-align:left;width:100%;transition:border-color .15s ease,box-shadow .15s ease}.appointments-tab__card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.appointments-tab__card.status-cancelled,.appointments-tab__card.status-noshow{opacity:.65}.appointments-tab__card.status-scheduled .appointments-tab__card-accent{background:var(--primary-color)}.appointments-tab__card.status-confirmed .appointments-tab__card-accent{background:#10b981}.appointments-tab__card.status-pending .appointments-tab__card-accent{background:#f59e0b}.appointments-tab__card.status-completed .appointments-tab__card-accent{background:#6366f1}.appointments-tab__card.status-cancelled .appointments-tab__card-accent{background:#9ca3af}.appointments-tab__card.status-noshow .appointments-tab__card-accent{background:#ef4444}.appointments-tab__card-accent{width:4px;height:40px;border-radius:2px;flex-shrink:0;background:var(--border-color)}.appointments-tab__card-body{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.appointments-tab__card-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.appointments-tab__date{font-size:.9rem;font-weight:600;color:var(--text-primary);text-transform:capitalize}.appointments-tab__badge{font-size:.6875rem;font-weight:500;padding:.125rem .5rem;border-radius:var(--radius-full)}.appointments-tab__badge.status-scheduled{background:#273cf51a;color:var(--primary-color)}.appointments-tab__badge.status-confirmed{background:#10b9811f;color:#10b981}.appointments-tab__badge.status-pending{background:#f59e0b1f;color:#f59e0b}.appointments-tab__badge.status-completed{background:#6366f11f;color:#6366f1}.appointments-tab__badge.status-cancelled{background:#9ca3af1f;color:#9ca3af}.appointments-tab__badge.status-noshow{background:#ef44441f;color:#ef4444}.appointments-tab__card-meta{display:flex;align-items:center;gap:.375rem;color:var(--text-secondary);font-size:.8125rem}.appointments-tab__type{color:var(--text-tertiary)}.appointments-tab__notes{font-size:.8125rem;color:var(--text-secondary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointments-tab__arrow{color:var(--text-tertiary);flex-shrink:0}.block-modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:1100;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);animation:bmFadeIn .15s ease}@keyframes bmFadeIn{0%{opacity:0}to{opacity:1}}.block-modal{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;animation:bmSlideUp .18s ease;overflow:hidden}@keyframes bmSlideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.block-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-color)}.block-modal__header-title{display:flex;align-items:center;gap:var(--spacing-sm)}.block-modal__icon{width:36px;height:36px;border-radius:var(--radius-md);background:rgba(var(--primary-rgb, 99, 102, 241),.1);color:var(--primary-color);display:flex;align-items:center;justify-content:center;flex-shrink:0}.block-modal__close{width:32px;height:32px;border-radius:var(--radius-md);background:none;border:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base),color var(--transition-base)}.block-modal__close:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.block-modal__close:disabled{opacity:.4;cursor:default}.block-modal__steps{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-xl);gap:var(--spacing-sm);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.block-modal__step{display:flex;align-items:center;gap:var(--spacing-xs);opacity:.4;transition:opacity var(--transition-base)}.block-modal__step.active,.block-modal__step.done{opacity:1}.block-modal__step-dot{width:22px;height:22px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.block-modal__step.active .block-modal__step-dot{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.block-modal__step.done .block-modal__step-dot{background:var(--success-color, #22c55e);border-color:var(--success-color, #22c55e);color:#fff}.block-modal__step-line{flex:1;height:1px;background:var(--border-color)}.block-modal__body{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg);max-height:60vh;overflow-y:auto}.block-modal__field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.block-modal__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.block-modal__label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.block-modal__date-input{height:40px;padding:0 var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;width:100%;box-sizing:border-box;transition:border-color var(--transition-base)}.block-modal__date-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.block-modal__toggle-row{display:flex;align-items:center}.block-modal__toggle{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.block-modal__toggle-track{width:40px;height:22px;border-radius:11px;background:var(--bg-tertiary);border:2px solid var(--border-color);position:relative;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base)}.block-modal__toggle-track.on{background:var(--primary-color);border-color:var(--primary-color)}.block-modal__toggle-track.on .block-modal__toggle-thumb{left:20px}.block-modal__toggle-thumb{position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:left var(--transition-base)}.block-modal__error{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#dc2626}.block-modal__summary{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);color:var(--text-secondary)}.block-modal__loading{text-align:center;padding:var(--spacing-xl) 0}.block-modal__no-affected{padding:var(--spacing-md) 0;text-align:center}.block-modal__affected-header{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--warning-color, #f59e0b)}.block-modal__affected-list{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:160px;overflow-y:auto;padding:var(--spacing-xs);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary)}.block-modal__affected-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.block-modal__affected-item:hover{background:var(--bg-tertiary)}.block-modal__affected-dot{width:8px;height:8px;border-radius:50%;background:var(--warning-color, #f59e0b);flex-shrink:0}.block-modal__notify-toggle{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base)}.block-modal__notify-toggle:hover{background:var(--bg-secondary)}.block-modal__notify-toggle input[type=checkbox]{margin-top:2px;width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--primary-color)}.block-modal__notify-info{display:flex;align-items:flex-start;gap:var(--spacing-xs);color:var(--text-secondary);flex:1;flex-direction:column}.block-modal__notify-info>svg{color:var(--primary-color);flex-shrink:0;margin-top:2px}.block-modal__footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--border-color)}.block-modal__mode-tabs{display:flex;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-xl);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.block-modal__mode-tab{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.block-modal__mode-tab:hover:not(.active){background:var(--bg-tertiary);color:var(--text-primary)}.block-modal__mode-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.block-modal__presets{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.block-modal__preset-chip{display:inline-flex;align-items:center;gap:4px;padding:5px var(--spacing-sm);border-radius:var(--radius-full, 999px);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.block-modal__preset-chip:hover:not(.active){background:var(--bg-tertiary);color:var(--text-primary)}.block-modal__preset-chip.active{background:rgba(var(--primary-rgb, 99, 102, 241),.12);border-color:var(--primary-color);color:var(--primary-color);font-weight:600}.block-modal__days-selector{display:flex;gap:var(--spacing-xs)}.block-modal__day-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.block-modal__day-btn:hover:not(.active){background:var(--bg-tertiary);color:var(--text-primary)}.block-modal__day-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.clinical-record-page{padding:1.5rem;max-width:1200px;margin:0 auto}.clinical-record-page .page-header{margin-bottom:1.5rem}.clinical-record-page .page-header .breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;color:var(--text-secondary)}.clinical-record-page .page-header .breadcrumb a{color:var(--primary-color);text-decoration:none}.clinical-record-page .page-header .breadcrumb a:hover{text-decoration:underline}.clinical-record-page .page-header .header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.clinical-record-page .page-header .header-content .header-info h1{margin-bottom:.25rem}.clinical-record-page .specialty-selector{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.clinical-record-page .specialty-selector .specialty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}.clinical-record-page .specialty-selector .specialty-grid .specialty-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.clinical-record-page .specialty-selector .specialty-grid .specialty-card:hover{border-color:var(--primary-color);transform:translateY(-2px)}.clinical-record-page .specialty-selector .specialty-grid .specialty-card.selected{border-color:var(--primary-color);background:var(--primary-alpha)}.clinical-record-page .specialty-selector .specialty-grid .specialty-card .specialty-icon{font-size:2rem}.clinical-record-page .specialty-selector .specialty-grid .specialty-card .specialty-name{font-weight:600;text-align:center}.clinical-record-page .specialty-selector .specialty-grid .specialty-card .specialty-description{font-size:.75rem;color:var(--text-secondary);text-align:center}.clinical-record-page .form-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.clinical-record-page .form-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.clinical-record-page .form-section .notes-field{margin-top:1rem}.clinical-record-page .form-section .notes-field label{display:block;margin-bottom:.5rem;font-weight:500}.clinical-record-page .form-section .notes-field textarea{width:100%;min-height:100px;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);resize:vertical}.clinical-record-page .form-section .notes-field textarea:focus{outline:none;border-color:var(--primary-color)}.clinical-record-page .history-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.clinical-record-page .history-section .history-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.clinical-record-page .history-section .history-empty{text-align:center;padding:2rem;color:var(--text-secondary)}.clinical-record-page .history-section .history-empty .empty-icon{font-size:3rem;margin-bottom:.5rem}.clinical-record-page .history-section .specialty-history{margin-bottom:1.5rem}.clinical-record-page .history-section .specialty-history:last-child{margin-bottom:0}.clinical-record-page .history-section .specialty-history .specialty-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:6px;margin-bottom:.75rem;cursor:pointer}.clinical-record-page .history-section .specialty-history .specialty-header:hover{background:var(--bg-tertiary)}.clinical-record-page .history-section .specialty-history .specialty-header .specialty-info{display:flex;align-items:center;gap:.75rem}.clinical-record-page .history-section .specialty-history .specialty-header .record-count{font-size:.875rem;color:var(--text-secondary)}.clinical-record-page .history-section .specialty-history .records-list{display:flex;flex-direction:column;gap:.5rem;padding-left:1rem}.clinical-record-page .history-section .specialty-history .records-list .record-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.clinical-record-page .history-section .specialty-history .records-list .record-item:hover{border-color:var(--primary-color)}.clinical-record-page .history-section .specialty-history .records-list .record-item .record-info{display:flex;flex-direction:column;gap:.25rem}.clinical-record-page .history-section .specialty-history .records-list .record-item .record-info .record-date{font-weight:500}.clinical-record-page .history-section .specialty-history .records-list .record-item .record-info .record-by{font-size:.75rem;color:var(--text-secondary)}.clinical-record-page .loading-state,.clinical-record-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;gap:1rem}.clinical-record-page .action-bar{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.record-detail-modal .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.record-detail-modal .modal-content{background:var(--bg-secondary);border-radius:12px;max-width:700px;width:100%;max-height:80vh;overflow-y:auto}.record-detail-modal .modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.record-detail-modal .modal-content .modal-header .close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.25rem;line-height:1}.record-detail-modal .modal-content .modal-header .close-button:hover{color:var(--text-primary)}.record-detail-modal .modal-content .modal-body{padding:1.5rem}.record-detail-modal .modal-content .modal-body .record-data{display:grid;gap:1rem}.record-detail-modal .modal-content .modal-body .record-data .data-field .field-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;margin-bottom:.25rem}.record-detail-modal .modal-content .modal-body .record-data .data-field .field-value{color:var(--text-primary)}.record-detail-modal .modal-content .modal-body .record-data .data-field .field-value.list{display:flex;flex-wrap:wrap;gap:.5rem}.record-detail-modal .modal-content .modal-body .record-data .data-field .field-value.list .tag{background:var(--primary-alpha);color:var(--primary-color);padding:.25rem .5rem;border-radius:4px;font-size:.875rem}.record-detail-modal .modal-content .modal-body .record-notes{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.record-detail-modal .modal-content .modal-body .record-notes .notes-label{font-weight:600;margin-bottom:.5rem}.record-detail-modal .modal-content .modal-body .record-notes .notes-content{background:var(--bg-secondary);padding:1rem;border-radius:6px;white-space:pre-wrap}.appointments-page{max-width:var(--container-2xl)}.appointments-page .appointments-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-2xl);flex-wrap:wrap;gap:var(--spacing-md)}.appointments-page .header-title{display:flex;flex-direction:column;gap:var(--spacing-xs)}.appointments-page .appointments-layout{display:grid;grid-template-columns:300px 1fr;gap:var(--spacing-xl);align-items:start}@media(max-width:1100px){.appointments-page .appointments-layout{grid-template-columns:1fr}}.appointments-page .calendar-section{position:sticky;top:var(--spacing-xl)}.appointments-page .calendar-section .calendar-card{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-light, rgba(0, 0, 0, .05))}.appointments-page .calendar-section .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.appointments-page .calendar-section .calendar-nav-btn{background:var(--bg-secondary);border:1px solid var(--border-color);width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.appointments-page .calendar-section .calendar-nav-btn:hover{background:var(--bg-tertiary);border-color:var(--primary-color);color:var(--primary-color)}.appointments-page .calendar-section .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--spacing-lg)}.appointments-page .calendar-section .calendar-day-name{text-align:center;padding:var(--spacing-xs) 0;margin-bottom:var(--spacing-xs)}.appointments-page .calendar-section .calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);position:relative;padding:0}.appointments-page .calendar-section .calendar-day.empty{background:transparent;cursor:default}.appointments-page .calendar-section .calendar-day:not(.empty):hover{background:var(--bg-secondary);border-color:var(--primary-color)}.appointments-page .calendar-section .calendar-day.selected{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 2px 8px #3b82f64d}.appointments-page .calendar-section .calendar-day.selected .appointment-dot{background:#fffc}.appointments-page .calendar-section .calendar-day.today:not(.selected){border-color:var(--primary-color);background:#3b82f60f}.appointments-page .calendar-section .calendar-day .appointment-dot{width:5px;height:5px;background:var(--primary-color);border-radius:50%;position:absolute;bottom:3px}.appointments-page .calendar-section .calendar-day .block-dot{width:5px;height:5px;background:#ef4444;border-radius:50%;position:absolute;bottom:3px;left:calc(50% + 3px)}.appointments-page .calendar-section .calendar-day.selected .block-dot{background:#fffc}.appointments-page .calendar-section .calendar-day.blocked:not(.selected){background:#fff5f5;border-color:#fca5a5}.appointments-page .calendar-section .btn-today{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--spacing-lg);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.appointments-page .calendar-section .btn-today:hover{background:var(--bg-tertiary);border-color:var(--primary-color);color:var(--primary-color)}.appointments-page .calendar-section .calendar-stats{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.appointments-page .calendar-section .calendar-stats .stats-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.appointments-page .calendar-section .stat-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.appointments-page .calendar-section .stat-row:hover{background:var(--bg-secondary)}.appointments-page .appointments-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.appointments-page .day-header-card{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-lg) var(--spacing-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-light, rgba(0, 0, 0, .05));display:flex;flex-direction:column;gap:var(--spacing-md)}.appointments-page .day-header-top{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.appointments-page .day-title-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.appointments-page .today-pill{background:var(--primary-color);color:#fff;font-size:10px;font-weight:var(--font-weight-bold);padding:2px 8px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.6px;flex-shrink:0}.appointments-page .apt-count-badge{background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px var(--spacing-sm);border-radius:var(--radius-full);border:1px solid var(--border-color);flex-shrink:0}.appointments-page .next-apt-banner{display:flex;align-items:center;gap:var(--spacing-md);background:#3b82f60d;border:1px solid rgba(59,130,246,.18);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md);animation:fadeIn .3s ease}.appointments-page .next-apt-banner .next-apt-icon{width:34px;height:34px;background:var(--primary-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.appointments-page .next-apt-banner .next-apt-info{flex:1;min-width:0}.appointments-page .next-apt-banner .next-apt-info .next-apt-label{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-medium);margin-bottom:1px}.appointments-page .next-apt-banner .next-apt-info .next-apt-patient{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointments-page .next-apt-banner .next-apt-time-badge{background:var(--primary-color);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:4px var(--spacing-sm);border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0}.appointments-page .next-apt-banner.urgent{background:#f59e0b0f;border-color:#f59e0b40}.appointments-page .next-apt-banner.urgent .next-apt-icon,.appointments-page .next-apt-banner.urgent .next-apt-time-badge{background:#f59e0b}.appointments-page .search-box{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--bg-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);border:1.5px solid transparent;transition:border-color var(--transition-base);min-width:200px}.appointments-page .search-box:focus-within{border-color:var(--primary-color);background:var(--bg-primary)}.appointments-page .search-box svg{color:var(--text-tertiary);flex-shrink:0}.appointments-page .search-box .search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--font-size-sm);min-width:100px}.appointments-page .search-box .search-input::placeholder{color:var(--text-tertiary)}.appointments-page .day-schedule{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-light, rgba(0, 0, 0, .05));display:flex;flex-direction:column;gap:6px}.appointments-page .schedule-empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-3xl) var(--spacing-xl);color:var(--text-tertiary);text-align:center}.appointments-page .now-divider{display:flex;align-items:center;gap:var(--spacing-sm);margin:2px 0}.appointments-page .now-divider .now-label{font-size:11px;font-weight:var(--font-weight-bold);color:#ef4444;background:#ef444414;border:1px solid rgba(239,68,68,.2);padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0}.appointments-page .now-divider .now-line{flex:1;height:1.5px;background:#ef444459;border-radius:1px}.appointments-page .free-slot{display:flex;align-items:center}.appointments-page .free-slot .free-slot-vline{width:54px;flex-shrink:0;align-self:stretch;position:relative}.appointments-page .free-slot .free-slot-vline:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1.5px;transform:translate(-50%);background:repeating-linear-gradient(to bottom,var(--border-color) 0px,var(--border-color) 4px,transparent 4px,transparent 9px)}.appointments-page .free-slot .free-slot-badge{flex-shrink:0;font-size:var(--font-size-xs);color:var(--text-tertiary);background:var(--bg-secondary);border:1px dashed var(--border-color);padding:3px var(--spacing-sm);border-radius:var(--radius-full);white-space:nowrap;margin-left:var(--spacing-md)}.appointments-page .apt-row{display:flex;align-items:stretch;border-radius:var(--radius-xl);background:var(--bg-secondary);border:1.5px solid transparent;cursor:pointer;transition:all var(--transition-base);overflow:hidden;animation:fadeIn .2s ease}.appointments-page .apt-row:hover{border-color:var(--border-color);background:var(--bg-tertiary);box-shadow:var(--shadow-sm)}.appointments-page .apt-row:hover .apt-row-arrow{color:var(--primary-color);transform:translate(2px)}.appointments-page .apt-row.is-next{border-color:#3b82f64d;background:#3b82f60a}.appointments-page .apt-row.status-cancelled,.appointments-page .apt-row.status-noshow{opacity:.6}.appointments-page .apt-row.status-scheduled .apt-row-accent{background:var(--primary-color)}.appointments-page .apt-row.status-confirmed .apt-row-accent{background:#10b981}.appointments-page .apt-row.status-pending .apt-row-accent{background:#f59e0b}.appointments-page .apt-row.status-completed .apt-row-accent{background:#6366f1}.appointments-page .apt-row.status-cancelled .apt-row-accent{background:#9ca3af}.appointments-page .apt-row.status-noshow .apt-row-accent{background:#ef4444}.appointments-page .apt-row.status-confirmed .apt-avatar{background:#10b981}.appointments-page .apt-row.status-pending .apt-avatar{background:#f59e0b}.appointments-page .apt-row.status-completed .apt-avatar{background:#6366f1}.appointments-page .apt-row.status-cancelled .apt-avatar{background:#9ca3af}.appointments-page .apt-row.status-noshow .apt-avatar{background:#ef4444}.appointments-page .apt-row-time{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-sm);min-width:54px;flex-shrink:0}.appointments-page .apt-row-time .apt-start{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.appointments-page .apt-row-time .apt-time-connector{width:1px;flex:1;min-height:10px;background:var(--border-color);margin:4px 0}.appointments-page .apt-row-time .apt-end{font-size:var(--font-size-xs);color:var(--text-tertiary);line-height:1}.appointments-page .apt-row-accent{width:4px;flex-shrink:0;background:var(--primary-color);margin:8px 0;border-radius:2px}.appointments-page .apt-avatar{width:38px;height:38px;border-radius:var(--radius-full);background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);flex-shrink:0;align-self:center;margin-left:var(--spacing-sm);letter-spacing:.5px}.appointments-page .apt-row-body{flex:1;min-width:0;padding:var(--spacing-md);display:flex;flex-direction:column;justify-content:center;gap:4px}.appointments-page .apt-row-main{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.appointments-page .apt-patient-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.3}.appointments-page .apt-status-badge{font-size:10px;font-weight:var(--font-weight-semibold);padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0}.appointments-page .apt-status-badge.status-scheduled{background:#3b82f61f;color:var(--primary-color)}.appointments-page .apt-status-badge.status-confirmed{background:#10b9811f;color:#10b981}.appointments-page .apt-status-badge.status-pending{background:#f59e0b1f;color:#f59e0b}.appointments-page .apt-status-badge.status-completed{background:#6366f11f;color:#6366f1}.appointments-page .apt-status-badge.status-cancelled{background:#9ca3af1f;color:#9ca3af}.appointments-page .apt-status-badge.status-noshow{background:#ef44441f;color:#ef4444}.appointments-page .apt-row-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:var(--font-size-xs);color:var(--text-secondary)}.appointments-page .apt-row-meta .meta-sep{color:var(--text-tertiary)}.appointments-page .apt-row-arrow{display:flex;align-items:center;padding:0 var(--spacing-md);color:var(--text-tertiary);flex-shrink:0;transition:all var(--transition-base)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.appointments-page .block-allday-banners{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.appointments-page .block-allday-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#fff5f5;border:1.5px solid #fca5a5;border-left:4px solid #ef4444;border-radius:var(--radius-lg);color:#ef4444;animation:fadeIn .2s ease}.appointments-page .block-allday-banner .block-allday-info{display:flex;flex-direction:column;gap:2px;flex:1}.appointments-page .block-allday-banner .block-allday-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#dc2626}.appointments-page .block-allday-banner .block-allday-meta{font-size:var(--font-size-xs);color:#9ca3af}.appointments-page .block-delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);border:none;background:transparent;color:#ef4444;cursor:pointer;flex-shrink:0;opacity:.5;transition:all var(--transition-base)}.appointments-page .block-delete-btn:hover{background:#ef44441f;opacity:1}.appointments-page .block-delete-btn:disabled{opacity:.3;cursor:not-allowed}.appointments-page .block-slot-row{display:flex;align-items:center;border-radius:var(--radius-xl);background:#fff5f5;border:1.5px solid #fca5a5;overflow:hidden;padding-right:var(--spacing-sm);animation:fadeIn .2s ease}.appointments-page .block-slot-row .block-slot-accent{width:4px;flex-shrink:0;background:#ef4444;margin:8px 0;border-radius:2px}.appointments-page .block-slot-row .block-slot-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-full);background:#ef44441f;color:#ef4444;flex-shrink:0;align-self:center;margin-left:var(--spacing-sm)}.appointments-page .block-slot-row .block-slot-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:#dc2626}.appointments-page .block-slot-row .block-slot-badge{font-size:10px;font-weight:var(--font-weight-semibold);padding:2px 8px;border-radius:var(--radius-full);background:#ef44441f;color:#ef4444;white-space:nowrap;flex-shrink:0}@media(max-width:768px){.appointments-page .appointments-layout{grid-template-columns:1fr}.appointments-page .calendar-section{position:static}.appointments-page .day-header-top{flex-direction:column;align-items:flex-start}.appointments-page .search-box{width:100%}.appointments-page .apt-row-time{min-width:46px}}.new-appointment-page{max-width:var(--container-xl);margin:0 auto;padding:var(--spacing-xl);animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.new-appointment-page .header-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.new-appointment-page .apt-form-layout{display:grid;grid-template-columns:1fr 320px;gap:var(--spacing-xl);align-items:start;margin-top:var(--spacing-md)}.new-appointment-page .form-main{display:flex;flex-direction:column;gap:var(--spacing-lg)}.new-appointment-page .form-sidebar{position:sticky;top:var(--spacing-xl)}.new-appointment-page .summary-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--spacing-md)}.new-appointment-page .summary-title{margin-bottom:var(--spacing-xs)}.new-appointment-page .summary-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.new-appointment-page .summary-row{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.new-appointment-page .summary-icon{color:var(--text-tertiary);flex-shrink:0;margin-top:2px}.new-appointment-page .summary-value{font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.5}.new-appointment-page .summary-placeholder{font-size:var(--font-size-sm);color:var(--text-tertiary);font-style:italic}.new-appointment-page .summary-meta{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-left:2px}.new-appointment-page .summary-divider{border:none;border-top:1px solid var(--border-color);margin:var(--spacing-xs) 0}.new-appointment-page .summary-patient{display:flex;align-items:center;gap:var(--spacing-sm)}.new-appointment-page .summary-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);flex-shrink:0;letter-spacing:.5px}.new-appointment-page .summary-patient-name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:0;line-height:1.3}.new-appointment-page .summary-patient-meta{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:2px 0 0}.new-appointment-page .summary-recurrence-text{font-size:var(--font-size-xs)}.new-appointment-page .summary-error{display:flex;align-items:flex-start;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:#dc354514;border:1px solid rgba(220,53,69,.25);border-radius:var(--radius-md);color:var(--error-color);font-size:var(--font-size-sm);line-height:1.4}.new-appointment-page .summary-error svg{flex-shrink:0;margin-top:2px}.new-appointment-page .summary-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.new-appointment-page .form-section{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.new-appointment-page .section-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);color:var(--primary-color)}.new-appointment-page .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.new-appointment-page .form-field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.new-appointment-page .form-field.full-width{grid-column:1/-1}.new-appointment-page .field-label{display:block;margin-bottom:var(--spacing-xs)}.new-appointment-page .field-group{margin-top:var(--spacing-lg)}.new-appointment-page .field-group-label{display:block;margin-bottom:var(--spacing-sm)}.new-appointment-page .duration-pills{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.new-appointment-page .duration-pill{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;font-family:inherit;cursor:pointer;transition:all var(--transition-base)}.new-appointment-page .duration-pill:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--bg-primary)}.new-appointment-page .duration-pill.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.new-appointment-page .custom-duration-input{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.new-appointment-page .custom-duration-input .custom-duration-field{width:120px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit;outline:none;transition:border-color var(--transition-base)}.new-appointment-page .custom-duration-input .custom-duration-field:focus{border-color:var(--primary-color)}.new-appointment-page .custom-duration-input .custom-duration-unit{font-size:var(--font-size-sm);color:var(--text-secondary)}.new-appointment-page .patient-search{position:relative}.new-appointment-page .search-input-wrapper{position:relative;display:flex;align-items:center}.new-appointment-page .search-input-wrapper .search-icon{position:absolute;left:var(--spacing-md);color:var(--text-tertiary);pointer-events:none}.new-appointment-page .search-input-wrapper .patient-search-input{width:100%;padding:var(--spacing-md);padding-left:calc(var(--spacing-md) + 24px);background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;transition:all var(--transition-base)}.new-appointment-page .search-input-wrapper .patient-search-input:focus{outline:none;border-color:var(--primary-color);background:var(--bg-primary);box-shadow:0 0 0 3px #3b82f61a}.new-appointment-page .search-input-wrapper .patient-search-input::placeholder{color:var(--text-tertiary)}.new-appointment-page .search-input-wrapper .search-loading{position:absolute;right:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-tertiary)}.new-appointment-page .patient-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--spacing-xs);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;max-height:300px;overflow-y:auto}.new-appointment-page .patient-option{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md);border:none;background:transparent;cursor:pointer;text-align:left;transition:background var(--transition-base)}.new-appointment-page .patient-option:hover{background:var(--bg-secondary)}.new-appointment-page .patient-option:not(:last-child){border-bottom:1px solid var(--border-color)}.new-appointment-page .patient-option-info{display:flex;flex-direction:column;gap:2px}.new-appointment-page .patient-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-base);flex-shrink:0}.new-appointment-page .patient-avatar.small{width:36px;height:36px;font-size:var(--font-size-sm)}.new-appointment-page .selected-patient{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border:2px solid var(--primary-color);border-radius:var(--radius-md)}.new-appointment-page .selected-patient .patient-info{flex:1;display:flex;flex-direction:column;gap:2px}.new-appointment-page .selected-patient .clear-patient-btn{padding:var(--spacing-sm);border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base)}.new-appointment-page .selected-patient .clear-patient-btn:hover{background:var(--bg-tertiary);color:var(--danger-color)}.new-appointment-page .no-results{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center}.new-appointment-page .helper-text{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-tertiary)}.new-appointment-page .recurrence-toggle{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.new-appointment-page .recurrence-toggle .toggle-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.new-appointment-page .recurrence-toggle .toggle-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary-color);cursor:pointer}.new-appointment-page .recurrence-toggle .toggle-label .toggle-text{font-weight:500;color:var(--text-primary)}.new-appointment-page .recurrence-config{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg);border:1px solid var(--border-color)}.new-appointment-page .recurrence-config .form-grid{margin-bottom:var(--spacing-lg)}.new-appointment-page .weekday-selector{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.new-appointment-page .weekday-selector .weekday-btn{min-width:48px;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.new-appointment-page .weekday-selector .weekday-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.new-appointment-page .weekday-selector .weekday-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.new-appointment-page .recurrence-end{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.new-appointment-page .recurrence-end .end-options{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.new-appointment-page .recurrence-end .radio-option{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;color:var(--text-primary)}.new-appointment-page .recurrence-end .radio-option input[type=radio]{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer}.new-appointment-page .recurrence-end .radio-option input[type=number],.new-appointment-page .recurrence-end .radio-option input[type=date]{max-width:120px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm)}.new-appointment-page .recurrence-end .radio-option input[type=number]:disabled,.new-appointment-page .recurrence-end .radio-option input[type=date]:disabled{opacity:.5;cursor:not-allowed}.new-appointment-page .recurrence-summary{margin-top:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-md);color:var(--success-color)}@media(max-width:900px){.new-appointment-page .apt-form-layout{grid-template-columns:1fr}.new-appointment-page .form-sidebar{position:static;order:-1}.new-appointment-page .summary-card{padding:var(--spacing-md)}}@media(max-width:768px){.new-appointment-page,.new-appointment-page .form-section{padding:var(--spacing-md)}.new-appointment-page .form-grid{grid-template-columns:1fr}}.appointment-detail-page{max-width:var(--container-2xl);animation:apptDetailFadeIn .25s ease-out}@keyframes apptDetailFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.appointment-detail-page .page-notification{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.appointment-detail-page .page-notification span{flex:1}.appointment-detail-page .page-notification.notification-success{background:#10b98114;border:1px solid rgba(16,185,129,.3);color:#059669}.appointment-detail-page .page-notification.notification-error{background:#ef444414;border:1px solid rgba(239,68,68,.3);color:#dc2626}.appointment-detail-page .notification-close{background:none;border:none;cursor:pointer;color:inherit;display:flex;align-items:center;opacity:.6;padding:2px;border-radius:var(--radius-sm);transition:opacity var(--transition-base);flex-shrink:0}.appointment-detail-page .notification-close:hover{opacity:1}.appointment-detail-page .appointment-hero-card{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-md) var(--spacing-xl);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);border:1px solid var(--border-light, rgba(0, 0, 0, .05))}.appointment-detail-page .hero-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0;margin-left:auto}.appointment-detail-page .hero-left{display:flex;justify-content:center}.appointment-detail-page .hero-time{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;min-width:72px}.appointment-detail-page .hero-center{min-width:0}.appointment-detail-page .hero-patient{display:flex;gap:var(--spacing-md);align-items:center;transition:opacity var(--transition-base)}.appointment-detail-page .hero-patient:hover{opacity:.82}.appointment-detail-page .patient-avatar-hero{width:46px;height:46px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-color),var(--primary-hover, #2563eb));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-base);flex-shrink:0;letter-spacing:.5px}.appointment-detail-page .patient-meta{font-size:var(--font-size-sm);margin:1px 0}.appointment-detail-page .appointment-type{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--primary-color);background:#3b82f614;padding:1px var(--spacing-sm);border-radius:var(--radius-sm);margin-top:2px}.appointment-detail-page .hero-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-sm)}.appointment-detail-page .hero-action-menu{position:relative;z-index:100}.appointment-detail-page .hero-action-btn{width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease}.appointment-detail-page .hero-action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.appointment-detail-page .hero-action-btn:disabled{opacity:.45;cursor:not-allowed}.appointment-detail-page .action-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:1000;overflow:hidden}.appointment-detail-page .action-dropdown-item{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;transition:background .12s ease;text-align:left}.appointment-detail-page .action-dropdown-item:hover{background:var(--bg-secondary)}.appointment-detail-page .action-dropdown-item.action-item-danger{color:var(--error-color, #ef4444)}.appointment-detail-page .action-dropdown-item.action-item-danger:hover{background:#ef44440f}.appointment-detail-page .status-badge-large{border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.appointment-detail-page .status-badge-large.status-scheduled{background:#3b82f61a;color:var(--info-color);border:1px solid rgba(59,130,246,.25)}.appointment-detail-page .status-badge-large.status-confirmed{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.25)}.appointment-detail-page .status-badge-large.status-in-progress{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.appointment-detail-page .status-badge-large.status-completed{background:#6366f11a;color:#6366f1;border:1px solid rgba(99,102,241,.25)}.appointment-detail-page .status-badge-large.status-cancelled{background:#9ca3af1a;color:#6b7280;border:1px solid rgba(156,163,175,.25)}.appointment-detail-page .status-badge-large.status-no-show{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.25)}.appointment-detail-page .detail-content-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--spacing-lg);align-items:start}.appointment-detail-page .main-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.appointment-detail-page .sidebar-section{display:flex;flex-direction:column;gap:var(--spacing-md);position:sticky;top:var(--spacing-lg)}.appointment-detail-page .section-card{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light, rgba(0, 0, 0, .05))}.appointment-detail-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.appointment-detail-page .section-header-left{display:flex;align-items:center;gap:var(--spacing-sm)}.appointment-detail-page .record-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.3px;white-space:nowrap}.appointment-detail-page .record-status-badge.badge-completed{background:#6366f11a;color:#6366f1;border:1px solid rgba(99,102,241,.25)}.appointment-detail-page .record-status-badge.badge-in-progress{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.appointment-detail-page .empty-consultation{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl) var(--spacing-lg);text-align:center;gap:var(--spacing-sm);color:var(--text-tertiary);min-height:220px}.appointment-detail-page .empty-consultation-icon{width:56px;height:56px;border-radius:var(--radius-xl);background:var(--bg-tertiary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);margin-bottom:var(--spacing-xs)}.appointment-detail-page .consultation-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.appointment-detail-page .specialty-row{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.appointment-detail-page .consultation-fields{display:flex;flex-direction:column;gap:var(--spacing-sm)}.appointment-detail-page .consultation-field{border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.appointment-detail-page .consultation-field:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-alpha)}.appointment-detail-page .consultation-field .input-wrapper{gap:0}.appointment-detail-page .consultation-field .input{border:none;border-radius:0}.appointment-detail-page .consultation-field .input:focus{box-shadow:none}.appointment-detail-page .field-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);-webkit-user-select:none;user-select:none}.appointment-detail-page .field-number{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--primary-color);background:var(--primary-alpha);width:22px;height:22px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.5px}.appointment-detail-page .field-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.appointment-detail-page .ai-consultation-block{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);border-radius:var(--radius-lg);background:linear-gradient(135deg,#6366f10f,#8b5cf60f);border:1px solid rgba(99,102,241,.15)}.appointment-detail-page .ai-consultation-header{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-primary, #6366f1)}.appointment-detail-page .ai-consultation-textarea{width:100%;padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary, #fff);color:var(--text-primary);font-family:inherit;font-size:.9rem;line-height:1.5;resize:vertical;transition:border-color .2s;box-sizing:border-box}.appointment-detail-page .ai-consultation-textarea::placeholder{color:var(--text-tertiary)}.appointment-detail-page .ai-consultation-textarea:focus{outline:none;border-color:var(--color-primary, #6366f1);box-shadow:0 0 0 3px #6366f11a}.appointment-detail-page .ai-consultation-textarea:disabled{opacity:.6;cursor:not-allowed}.appointment-detail-page .ai-consultation-response{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--bg-primary, #fff);border:1px solid var(--border-color)}.appointment-detail-page .ai-consultation-response-text{font-size:.875rem;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap}.appointment-detail-page .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.appointment-detail-page .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.appointment-detail-page .form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--border-color);flex-wrap:wrap}.appointment-detail-page .clinical-records-section{border-left:3px solid #10b981}.appointment-detail-page .clinical-records-empty{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl) var(--spacing-lg);text-align:center;gap:var(--spacing-xs)}.appointment-detail-page .clinical-record-fields{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:var(--spacing-md)}.appointment-detail-page .sidebar-card{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light, rgba(0, 0, 0, .05))}.appointment-detail-page .sidebar-card .card-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.appointment-detail-page .sidebar-card--actions{border-color:var(--border-color);background:var(--bg-secondary)}.appointment-detail-page .contact-info{display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.appointment-detail-page .info-row{display:flex;gap:var(--spacing-sm);align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-color)}.appointment-detail-page .info-row:last-child{border-bottom:none}.appointment-detail-page .info-row>div{flex:1;display:flex;align-items:baseline;gap:var(--spacing-sm);min-width:0}.appointment-detail-page .info-icon{color:var(--text-tertiary);display:flex;align-items:center;flex-shrink:0}.appointment-detail-page .info-label{color:var(--text-tertiary);font-size:var(--font-size-xs);flex-shrink:0}.appointment-detail-page .info-value{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-detail-page .appointment-info{display:flex;flex-direction:column}.appointment-detail-page .detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-color)}.appointment-detail-page .detail-row:last-child{border-bottom:none}.appointment-detail-page .detail-row.full{flex-direction:column;align-items:flex-start;gap:2px}.appointment-detail-page .detail-row.full .detail-value{text-align:left;font-weight:var(--font-weight-normal)}.appointment-detail-page .detail-label{color:var(--text-tertiary);font-size:var(--font-size-xs)}.appointment-detail-page .detail-value{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:right}.appointment-detail-page .detail-value .recurring-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:#3b82f614;color:var(--info-color);padding:1px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.appointment-detail-page .recurrence-card{border:1px solid rgba(59,130,246,.2)}.appointment-detail-page .recurrence-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.appointment-detail-page .recurrence-summary{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);border-left:3px solid var(--info-color)}.appointment-detail-page .recurrence-note{padding:var(--spacing-xs) var(--spacing-sm);background:#3b82f60d;border-radius:var(--radius-sm)}.appointment-detail-page .recurrence-actions,.appointment-detail-page .quick-actions{display:flex;flex-direction:column;gap:var(--spacing-xs)}.appointment-detail-page .recent-consultations{display:flex;flex-direction:column}.appointment-detail-page .no-consultations{text-align:center;padding:var(--spacing-md) 0}.appointment-detail-page .consultation-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-base)}.appointment-detail-page .consultation-item:last-child{border-bottom:none}.appointment-detail-page .consultation-item:hover{padding-left:var(--spacing-xs)}.appointment-detail-page .consult-date{color:var(--text-tertiary);font-size:var(--font-size-xs);flex-shrink:0;min-width:80px}.appointment-detail-page .consult-type{color:var(--text-primary);font-size:var(--font-size-sm);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-detail-page .consult-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#6366f1;flex-shrink:0}.appointment-detail-page .prescriptions-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.appointment-detail-page .prescription-item{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);border-left:3px solid var(--primary-color)}.appointment-detail-page .prescription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.appointment-detail-page .prescription-details{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.appointment-detail-page .prescription-details .detail-item{color:var(--text-secondary);font-size:var(--font-size-xs)}.appointment-detail-page .prescription-details .detail-item.full{flex-basis:100%}.appointment-detail-page .prescription-details .detail-item strong{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.appointment-detail-page .remove-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--font-size-sm);transition:all var(--transition-base);flex-shrink:0}.appointment-detail-page .remove-btn:hover{background:#ef44441a;color:#ef4444}.appointment-detail-page .lab-tests-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.appointment-detail-page .lab-test-item{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);border-left:3px solid var(--info-color)}.appointment-detail-page .lab-test-item.urgent{border-left-color:#f59e0b;background:#f59e0b0a}.appointment-detail-page .lab-test-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.appointment-detail-page .urgent-badge{display:inline-flex;align-items:center;gap:3px;padding:1px var(--spacing-sm);background:#f59e0b;color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.3px;margin-left:var(--spacing-sm)}.appointment-detail-page .lab-test-reason{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;line-height:1.4}.appointment-detail-page .field-readonly{padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color);min-height:80px;line-height:1.6}.appointment-detail-page .sidebar-empty{padding:var(--spacing-lg) 0;text-align:center}.appointment-detail-page .history-list{display:flex;flex-direction:column}.appointment-detail-page .history-item{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color)}.appointment-detail-page .history-item:last-child{border-bottom:none}.appointment-detail-page .history-dot{width:8px;height:8px;border-radius:50%;background:#10b981;flex-shrink:0;margin-top:5px}.appointment-detail-page .history-content{display:flex;flex-direction:column;gap:2px;min-width:0}.appointment-detail-page .history-date{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-medium)}.appointment-detail-page .upcoming-list{display:flex;flex-direction:column}.appointment-detail-page .upcoming-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color);cursor:pointer;transition:opacity var(--transition-base)}.appointment-detail-page .upcoming-item:last-child{border-bottom:none}.appointment-detail-page .upcoming-item:hover{opacity:.78}.appointment-detail-page .upcoming-info{display:flex;flex-direction:column;gap:2px;min-width:0}.appointment-detail-page .upcoming-datetime{font-size:var(--font-size-xs);color:var(--primary-color);font-weight:var(--font-weight-semibold)}.appointment-detail-page .status-badge-sm{padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;flex-shrink:0}.appointment-detail-page .status-badge-sm.status-scheduled{background:#3b82f61a;color:var(--info-color)}.appointment-detail-page .status-badge-sm.status-confirmed{background:#10b9811a;color:#10b981}.appointment-detail-page .status-badge-sm.status-completed{background:#6366f11a;color:#6366f1}.appointment-detail-page .status-badge-sm.status-cancelled{background:#9ca3af1a;color:#6b7280}.appointment-detail-page .status-badge-sm.status-no-show{background:#ef44441a;color:#ef4444}.appointment-detail-page .loading-state{display:flex;align-items:center;justify-content:center;min-height:50vh}.appointment-detail-page .not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4xl) var(--spacing-2xl);text-align:center;min-height:60vh;gap:var(--spacing-md)}.appointment-detail-page .not-found-icon{font-size:64px;opacity:.2}.appointment-detail-page .modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg);animation:modalFadeIn .15s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.appointment-detail-page .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:520px;width:100%;max-height:88vh;overflow-y:auto;animation:modalSlideUp .18s ease-out}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.appointment-detail-page .modal-content.modal-clinical-record{max-width:600px}.appointment-detail-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color)}.appointment-detail-page .modal-close{background:var(--bg-secondary);border:none;color:var(--text-secondary);cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-base);flex-shrink:0}.appointment-detail-page .modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.appointment-detail-page .modal-body{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.appointment-detail-page .modal-body .form-group{margin-bottom:0}.appointment-detail-page .modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color)}@media(max-width:1100px){.appointment-detail-page .detail-content-grid{grid-template-columns:1fr}.appointment-detail-page .sidebar-section{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}}@media(max-width:768px){.appointment-detail-page .appointment-hero-card{flex-direction:column;align-items:flex-start;padding:var(--spacing-md);gap:var(--spacing-md)}.appointment-detail-page .hero-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.appointment-detail-page .sidebar-section{grid-template-columns:1fr}.appointment-detail-page .form-actions{flex-direction:column}}@media(max-width:640px){.appointment-detail-page .prescription-details{flex-direction:column}.appointment-detail-page .modal-content{max-height:100dvh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;align-self:flex-end}.appointment-detail-page .modal-overlay{align-items:flex-end;padding:0}.appointment-detail-page .modal-body .form-row{grid-template-columns:1fr}}.documents-page{max-width:var(--container-2xl)}.documents-page .documents-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.documents-page .header-actions{display:flex;gap:var(--spacing-md)}.documents-page .storage-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--spacing-xl);flex-wrap:wrap}.documents-page .storage-info{flex:1;min-width:200px}.documents-page .storage-bar{flex:1;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;min-width:200px}.documents-page .storage-progress{height:100%;background:linear-gradient(90deg,var(--primary-color) 0%,#60a5fa 100%);border-radius:var(--radius-full);transition:width var(--transition-base)}.documents-page .documents-layout{display:flex;flex-direction:column;gap:var(--spacing-xl)}.documents-page .breadcrumbs{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap}.documents-page .breadcrumb-item{display:flex;align-items:center;gap:var(--spacing-xs)}.documents-page .breadcrumb-separator{color:var(--text-tertiary)}.documents-page .breadcrumb-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);font-size:.875rem}.documents-page .breadcrumb-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.documents-page .breadcrumb-btn.active{color:var(--text-primary);font-weight:600;cursor:default}.documents-page .folders-grid{margin-top:var(--spacing-md);display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.documents-page .folder-card{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl);background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);text-align:center}.documents-page .folder-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.documents-page .folder-card:hover .folder-card-icon{color:var(--primary-color)}.documents-page .folder-card-icon{color:var(--primary-color);margin-bottom:var(--spacing-md);transition:all var(--transition-base);opacity:.8}.documents-page .folder-card-info{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.documents-page .documents-content.full-width{width:100%}.documents-page .documents-content:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.documents-page .documents-content.active{background:#273cf50d;border-color:var(--primary-color)}.documents-page .documents-content.active .folder-icon{color:var(--primary-color)}.documents-page .folder-icon{color:var(--text-secondary);transition:color var(--transition-base)}.documents-page .folder-info{flex:1;text-align:left}.documents-page .file-types-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.documents-page .file-type-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)}.documents-page .file-type-icon{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff}.documents-page .file-type-icon.pdf{background:#ef4444}.documents-page .file-type-icon.image{background:#3b82f6}.documents-page .documents-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.documents-page .content-header{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-top:var(--spacing-md);flex-wrap:wrap}.documents-page .content-header-right{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.documents-page .content-header-right button{display:flex;align-items:center;gap:var(--spacing-xs);white-space:nowrap}.documents-page .search-box{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--bg-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:2px solid transparent;transition:border-color var(--transition-base)}.documents-page .search-box:focus-within{border-color:var(--primary-color)}.documents-page .search-box svg{color:var(--text-secondary);flex-shrink:0}.documents-page .search-box .search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--font-size-base)}.documents-page .search-box .search-input::placeholder{color:var(--text-tertiary)}.documents-page .documents-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.documents-page .document-item{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:auto 1fr auto auto;gap:var(--spacing-lg);align-items:center;transition:all var(--transition-base)}.documents-page .document-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.documents-page .document-icon{width:48px;height:48px;background:var(--bg-secondary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.documents-page .document-info{flex:1;min-width:0}.documents-page .document-meta{margin-top:var(--spacing-xs)}.documents-page .document-details,.documents-page .document-size{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.documents-page .file-type-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em}.documents-page .file-type-badge.pdf{background:#ef44441a;color:#ef4444}.documents-page .file-type-badge.image{background:#3b82f61a;color:#3b82f6}.documents-page .file-type-badge.other{background:#6b72801a;color:#6b7280}.documents-page .document-actions{display:flex;gap:var(--spacing-sm)}.documents-page .icon-btn{width:36px;height:36px;border-radius:var(--radius-md);background:var(--bg-secondary);border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.documents-page .icon-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--primary-color)}.documents-page .icon-btn--danger:hover:not(:disabled){background:#fef2f2;color:#ef4444}.documents-page .icon-btn:disabled{opacity:.5;cursor:default}.documents-page .empty-state{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-3xl);text-align:center;box-shadow:var(--shadow-sm);margin-top:var(--spacing-md)}.documents-page .empty-state .empty-icon{font-size:4rem;display:block;margin-bottom:var(--spacing-lg)}.documents-page .empty-state h3{color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-xl)}.documents-page .empty-state p{color:var(--text-secondary);margin:0}@media(max-width:768px){.documents-page .documents-header{flex-direction:column;align-items:stretch}.documents-page .header-actions{width:100%}.documents-page .header-actions button{flex:1}.documents-page .storage-card{flex-direction:column;align-items:stretch}.documents-page .documents-layout{grid-template-columns:1fr}.documents-page .document-item{grid-template-columns:1fr;gap:var(--spacing-md)}.documents-page .document-item .document-icon{display:none}.documents-page .document-item .document-details{flex-direction:row;justify-content:space-between;align-items:center}.documents-page .document-item .document-actions{justify-content:flex-start}}.documents-page .modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.documents-page .upload-modal{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column}.documents-page .upload-modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-color)}.documents-page .upload-modal__body{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.documents-page .upload-modal__footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--border-color)}.documents-page .close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);display:flex;align-items:center;transition:color var(--transition-base)}.documents-page .close-btn:hover{color:var(--text-primary)}.documents-page .dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-2xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);cursor:pointer;text-align:center;transition:border-color var(--transition-base),background var(--transition-base)}.documents-page .dropzone:hover{border-color:var(--primary-color)}.documents-page .dropzone--selected{border-color:var(--primary-color);background:#6366f10d}.documents-page .form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.documents-page .form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.documents-page .form-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);outline:none;transition:border-color var(--transition-base)}.documents-page .form-input:focus{border-color:var(--primary-color)}.documents-page .upload-error{background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.documents-page .uploading-spinner{animation:spin 1s linear infinite}.team-page{max-width:var(--container-2xl)}.team-page .loading-container,.team-page .error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-lg)}.team-page .spinner{animation:spin 1s linear infinite}.team-page .limit-badge{font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--text-secondary);margin-left:var(--spacing-xs)}.team-page .empty-state{text-align:center;padding:var(--spacing-2xl)!important}.team-page .form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-base);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.team-page .form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.team-page .form-input::placeholder{color:var(--text-tertiary)}.team-page .team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.team-page .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.team-page .stat-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all var(--transition-base)}.team-page .stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.team-page .stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.team-page .stat-icon.blue{background:#3b82f61a;color:#3b82f6}.team-page .stat-icon.green{background:#10b9811a;color:#10b981}.team-page .stat-icon.purple{background:#8b5cf61a;color:#8b5cf6}.team-page .stat-icon.orange{background:#fb923c1a;color:#fb923c}.team-page .stat-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.team-page .team-content{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.team-page .content-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.team-page .search-box{flex:1;min-width:250px;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-base)}.team-page .search-box svg{color:var(--text-tertiary)}.team-page .search-box input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:var(--font-size-base);outline:none}.team-page .search-box input::placeholder{color:var(--text-tertiary)}.team-page .search-box:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.team-page .members-table table{width:100%;border-collapse:collapse}.team-page .members-table thead{background:var(--bg-secondary)}.team-page .members-table thead th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.team-page .members-table thead th:first-child{border-top-left-radius:var(--radius-md)}.team-page .members-table thead th:last-child{border-top-right-radius:var(--radius-md)}.team-page .members-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color var(--transition-base)}.team-page .members-table tbody tr:hover{background:var(--bg-secondary)}.team-page .members-table tbody tr:last-child{border-bottom:none}.team-page .members-table tbody td{padding:var(--spacing-lg);vertical-align:middle}.team-page .member-cell{display:flex;align-items:center;gap:var(--spacing-md)}.team-page .member-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-color);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);flex-shrink:0}.team-page .member-info{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.team-page .role-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.team-page .role-cell .role-icon{width:20px;height:20px}.team-page .role-cell .role-icon.owner{color:#f59e0b}.team-page .role-cell .role-icon.doctor{color:#10b981}.team-page .role-cell .role-icon.assistant{color:#8b5cf6}.team-page .role-cell .role-icon.receptionist,.team-page .role-cell .role-icon.accountant{color:#6b7280}.team-page .status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:center}.team-page .status-badge.status-active{background:#10b9811a;color:#10b981}.team-page .status-badge.status-invited{background:#fbbf241a;color:#f59e0b}.team-page .icon-btn{width:36px;height:36px;border-radius:var(--radius-md);background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.team-page .icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.team-page .actions-menu-wrapper{position:relative}.team-page .actions-menu-overlay{position:fixed;inset:0;z-index:10}.team-page .actions-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;z-index:11;overflow:hidden;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.team-page .menu-item{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base);text-align:left}.team-page .menu-item svg{color:var(--text-secondary);flex-shrink:0}.team-page .menu-item:hover{background:var(--bg-secondary)}.team-page .menu-item.warning{color:#f59e0b}.team-page .menu-item.warning svg{color:#f59e0b}.team-page .menu-item.warning:hover{background:#fbbf241a}.team-page .menu-item.danger{color:#ef4444}.team-page .menu-item.danger svg{color:#ef4444}.team-page .menu-item.danger:hover{background:#ef44441a}.team-page .menu-divider{height:1px;background:var(--border-color);margin:var(--spacing-xs) 0}.team-page .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.team-page .modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:90vh;overflow:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.team-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--border-color)}.team-page .modal-close{width:32px;height:32px;border-radius:var(--radius-md);background:var(--bg-secondary);border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.team-page .modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.team-page .modal-body{padding:var(--spacing-xl)}.team-page .form-field{margin-bottom:var(--spacing-md)}.team-page .form-field .field-label{display:block;margin-bottom:var(--spacing-sm)}.team-page .role-select-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.team-page .role-select-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.team-page .role-select-header .role-icon{width:20px;height:20px}.team-page .info-message{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:#3b82f60d;border:1px solid rgba(59,130,246,.1);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.team-page .info-message svg{color:var(--primary-color);flex-shrink:0;margin-top:2px}.team-page .permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.team-page .permission-item{padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-base)}.team-page .permission-item:hover{border-color:var(--primary-color);background:var(--bg-tertiary)}.team-page .permission-item .checkbox-wrapper{align-items:flex-start}.team-page .permission-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.team-page .modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.team-page .member-info-summary{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.team-page .member-info-summary .member-avatar{width:56px;height:56px;font-size:var(--font-size-lg)}.team-page .details-modal{max-width:700px}.team-page .details-header{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl)}.team-page .details-header .member-avatar.large{width:80px;height:80px;font-size:2rem}.team-page .details-info{flex:1}.team-page .details-badges{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.team-page .details-section{margin-bottom:var(--spacing-xl)}.team-page .details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.team-page .detail-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.team-page .stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.team-page .stat-box{padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-md);text-align:center;border:1px solid var(--border-color)}.team-page .confirm-modal{max-width:450px}.team-page .confirm-modal .modal-body{text-align:center}.team-page .confirm-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-lg)}.team-page .confirm-icon.warning{background:#fbbf241a;color:#f59e0b}.team-page .confirm-icon.danger{background:#ef44441a;color:#ef4444}.team-page .notification-toast{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-xl);z-index:2000;animation:slideInRight .3s ease-out;max-width:400px}.team-page .notification-toast.success{border-left:4px solid #10b981}.team-page .notification-toast.error{border-left:4px solid #ef4444}.team-page .notification-toast.info{border-left:4px solid #3b82f6}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.team-page .notification-content{display:flex;align-items:center;gap:var(--spacing-md)}.team-page .notification-content svg{flex-shrink:0}.success .team-page .notification-content svg{color:#10b981}.error .team-page .notification-content svg{color:#ef4444}.info .team-page .notification-content svg{color:#3b82f6}@media(max-width:768px){.team-page .team-header{flex-direction:column;align-items:stretch}.team-page .stats-grid{grid-template-columns:1fr}.team-page .content-filters{flex-direction:column}.team-page .members-table table{font-size:var(--font-size-sm)}.team-page .members-table thead th,.team-page .members-table tbody td{padding:var(--spacing-sm) var(--spacing-md)}.team-page .members-table .member-avatar{width:32px;height:32px;font-size:var(--font-size-xs)}.team-page .modal-actions{flex-direction:column}.team-page .modal-actions button{width:100%}.team-page .permissions-grid,.team-page .details-grid,.team-page .stats-row{grid-template-columns:1fr}.team-page .notification-toast{bottom:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md)}}.specialty-selector{margin-top:var(--spacing-lg);background:var(--bg-primary);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--border-color)}.specialty-selector .selector-header,.specialty-selector .selector-control{margin-bottom:1.5rem}.specialty-selector .selector-control label{display:block;margin-bottom:.5rem}.specialty-selector .selector-control select{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--background-color);color:var(--text-primary);font-size:.9375rem;cursor:pointer;transition:all .2s ease}.specialty-selector .selector-control select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.specialty-selector .config-preview{background:var(--background-color);border-radius:var(--radius-md);padding:1rem;border:1px solid var(--border-color)}.specialty-selector .config-preview .preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:.75rem;margin-bottom:1rem}.specialty-selector .config-preview .preview-grid .preview-item{display:flex;flex-direction:column;gap:.25rem}.specialty-selector .config-preview .features{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.specialty-selector .config-preview .features .features-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.specialty-selector .config-preview .features .features-list .feature-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;background:var(--primary-color);color:#fff;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}@media(max-width:768px){.specialty-selector .config-preview .preview-grid{grid-template-columns:1fr}}.settings-page{margin:2rem auto;padding:2rem 1rem}.settings-page .settings-section{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:2rem 2rem 1.5rem;margin-top:2.5rem;border:1px solid var(--border-color)}.settings-page .section-header{display:flex;align-items:center;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:var(--text-primary)}.settings-page .clinic-form{display:flex;flex-direction:column;gap:1.25rem}.settings-page .clinic-form .form-row{display:flex;gap:1rem}.settings-page .clinic-form .message{padding:.75rem 1rem;border-radius:var(--radius-md);margin-top:.5rem}.settings-page .clinic-form .message.message-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#16a34a}.settings-page .clinic-form .message.message-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#dc2626}@media(max-width:600px){.settings-page{padding:1rem .25rem}.settings-page .settings-section{padding:1rem .5rem}.settings-page .clinic-form .form-row{flex-direction:column;gap:1.25rem}}.profile-page{margin:0 auto;padding:2rem}.profile-page .profile-header{margin-bottom:2rem}.profile-page .profile-header h3{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.profile-page .profile-content{display:flex;flex-direction:column;gap:1.5rem}.profile-page .profile-form .form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.profile-page .profile-form .form-section:last-of-type{border-bottom:none;padding-bottom:0}.profile-page .profile-form .form-section h6{margin-bottom:1.5rem;color:var(--text-primary)}.profile-page .profile-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:768px){.profile-page .profile-form .form-row{grid-template-columns:1fr}}.profile-page .profile-form .form-field{margin-bottom:1rem}.profile-page .profile-form .form-field .specialty-select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-primary);color:var(--text-primary);font-size:1rem;font-family:inherit;cursor:pointer;transition:all .2s}.profile-page .profile-form .form-field .specialty-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.profile-page .profile-form .form-field .specialty-select:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.6}.profile-page .profile-form .form-field .specialty-select option{padding:.5rem}.profile-page .profile-form .message{padding:1rem;border-radius:8px;margin-bottom:1rem}.profile-page .profile-form .message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.profile-page .profile-form .message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.profile-page .profile-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem}.profile-page .account-info h6{margin-bottom:1.5rem;color:var(--text-primary)}.profile-page .account-info .info-row{display:flex;justify-content:space-between;align-items:start;padding:1rem 0;border-bottom:1px solid var(--border-color)}.profile-page .account-info .info-row:last-child{border-bottom:none}.profile-page .account-info .info-row .subscriptions-list{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}@media(max-width:768px){.profile-page{padding:1rem}.profile-page .profile-header{margin-bottom:1.5rem}.profile-page .form-actions{flex-direction:column-reverse}.profile-page .form-actions button{width:100%}}.hi-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.hi-page__header h1{font-size:1.75rem;margin:0}.hi-page__filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.hi-page__filters .input-buscar-os{flex:1}.hi-page__table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.hi-page__table th,.hi-page__table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #eee}.hi-page__table th{background:#f8f9fa;font-weight:600}.hi-page__table td strong{display:block}.hi-page__table td small{color:#666;font-size:.8rem}.hi-page__table .empty{text-align:center;padding:2rem;color:#999}.hi-page__loading,.hi-page__error{padding:2rem;text-align:center}.hi-page__error{background:#fee2e2;color:#b91c1c;border-radius:8px;margin-bottom:1rem}.btn-primary{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-primary:hover{background:#2563eb}.status{padding:.25rem .5rem;border-radius:4px;font-size:.8rem}.status--active{background:#d1fae5;color:#065f46}.status--inactive{background:#fee2e2;color:#b91c1c}.actions{display:flex;gap:.5rem}.actions button{padding:.25rem .5rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;background:#e5e7eb}.actions button:hover{background:#d1d5db}.actions button.delete{background:#fee2e2;color:#b91c1c}.hi-form__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.hi-form__error{background:#fee2e2;color:#b91c1c;padding:1rem;border-radius:8px;margin-bottom:1rem}.hi-form__loading{padding:3rem;text-align:center}.hi-form form{background:var(--bg-primary);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.hi-form form .os-input-grid{flex:1}.hi-form section{margin-bottom:2rem}.hi-form .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.hi-form .field.full{grid-column:1/-1}.hi-form__actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee}@media(max-width:600px){.hi-form .grid{grid-template-columns:1fr}.hi-form .field.full{grid-column:1}}.specializations-page{padding:2rem 0}.specializations-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.specializations-page__header h1{margin:0}.specializations-page__filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.specializations-page__filters .input-search{flex:1;min-width:200px}.specializations-page__loading{text-align:center;padding:3rem;color:var(--text-secondary)}.specializations-page__error{background:var(--error-light);color:var(--error);padding:1rem;border-radius:8px;margin-bottom:1rem}.specializations-page__table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}.specializations-page__table th,.specializations-page__table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.specializations-page__table th{background:var(--surface-variant);font-weight:600;color:var(--text-primary)}.specializations-page__table tbody tr:hover{background:var(--surface-hover)}.specializations-page__table .empty{text-align:center;color:var(--text-secondary);padding:2rem}.specializations-page__table .status{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.specializations-page__table .status--active{background:var(--success-light);color:var(--success)}.specializations-page__table .status--inactive{background:var(--error-light);color:var(--error)}.specializations-page__table .actions{display:flex;gap:.5rem;flex-wrap:wrap}.specializations-page__table .icon-cell{font-size:1.25rem}.specializations-page__table .order-cell{text-align:center;width:60px;font-weight:600;color:var(--text-secondary)}.specializations-page__empty{text-align:center;padding:3rem;color:var(--text-secondary)}.specializations-page__empty p{margin-bottom:1rem}.specialization-form{padding:2rem 0}.specialization-form__header{margin-bottom:2rem}.specialization-form__header h1{margin:0 0 .5rem}.specialization-form__card{background:var(--surface);border-radius:12px;padding:2rem;box-shadow:var(--shadow-sm)}.specialization-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:768px){.specialization-form__grid{grid-template-columns:1fr}}.specialization-form__full-width{grid-column:1/-1}.specialization-form__row{display:flex;gap:1rem;align-items:flex-end}.specialization-form__row .form-group{flex:1}.specialization-form .form-group{display:flex;flex-direction:column;gap:.5rem}.specialization-form .form-group label{font-weight:500;color:var(--text-primary)}.specialization-form .form-group .help-text{font-size:.875rem;color:var(--text-secondary)}.specialization-form__checkbox{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--surface-variant);border-radius:8px}.specialization-form__checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.specialization-form__checkbox label{cursor:pointer;font-weight:500}.specialization-form__preview{padding:1rem;background:var(--surface-variant);border-radius:8px;display:flex;align-items:center;gap:1rem}.specialization-form__preview .preview-icon{font-size:2rem}.specialization-form__preview .preview-info h4{margin:0 0 .25rem}.specialization-form__preview .preview-info p{margin:0;color:var(--text-secondary);font-size:.875rem}.specialization-form__preview .preview-info code{background:var(--surface);padding:.125rem .5rem;border-radius:4px;font-size:.75rem}.specialization-form__error{background:var(--error-light);color:var(--error);padding:1rem;border-radius:8px;margin-bottom:1rem}.specialization-form__actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.specialization-form__loading{text-align:center;padding:3rem;color:var(--text-secondary)}.specialization-fields{padding:var(--spacing-lg) 0}.specialization-fields__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-2xl);gap:var(--spacing-lg)}.specialization-fields__header h1{margin-top:var(--spacing-md)}@media(max-width:768px){.specialization-fields__header{flex-direction:column;align-items:stretch}}.specialization-fields__loading{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.specialization-fields__error{background-color:var(--danger-light);color:var(--danger-color);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.field-form{padding:var(--spacing-xl)}.field-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin:var(--spacing-xl) 0}@media(max-width:768px){.field-form__grid{grid-template-columns:1fr}}.field-form__full-width{grid-column:1/-1}.field-form__actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-color)}.fields-list{padding:var(--spacing-xl)}.fields-list__empty{text-align:center;padding:var(--spacing-2xl);display:flex;flex-direction:column;gap:var(--spacing-sm)}.fields-list__items{margin-top:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md)}.field-item{display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);transition:all var(--transition-base)}.field-item:hover{border-color:var(--primary-light);box-shadow:0 2px 8px #0000000d}.field-item__order{display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:center;min-width:60px}.field-item__order span{font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:var(--font-size-sm)}.field-item__content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.field-item__content .text--small{margin-top:.25rem}.field-item__header{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.field-item__badge{background-color:var(--danger-light);color:var(--danger-color);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.field-item__category{background-color:var(--bg-primary);color:var(--primary-color);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.field-item__actions{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:100px}@media(max-width:768px){.field-item__actions{flex-direction:row;width:100%}}.field-item code{background-color:var(--bg-tertiary);padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:.875em}@media(max-width:768px){.field-item{flex-direction:column}.field-item__order{flex-direction:row;width:100%;justify-content:center}}.plans-page{padding:1rem 0}.plans-page__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.plans-page__actions{display:flex;gap:.75rem}.plans-page__actions .spin{animation:spin 1s linear infinite}.plans-page__loading,.plans-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;text-align:center}.plans-page__error{background:var(--color-danger-light, #fef2f2);color:var(--color-danger, #dc2626);padding:1rem;border-radius:8px;margin-bottom:1rem}.plans-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.plan-card{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:1.5rem;position:relative;transition:all .2s ease}.plan-card:hover{box-shadow:0 4px 12px #00000014}.plan-card--inactive{opacity:.6;background:var(--color-surface-muted, #f9fafb)}.plan-card--popular{border-color:var(--color-primary, #3b82f6);border-width:2px}.plan-card__popular-badge{position:absolute;top:-12px;right:1rem;background:var(--color-primary, #3b82f6);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.plan-card__popular-badge svg{width:12px;height:12px}.plan-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.plan-card__title{display:flex;flex-direction:column;gap:.25rem}.plan-card__title h3{margin:0}.plan-card__id{font-size:.75rem;color:var(--color-text-muted, #6b7280);background:var(--color-surface-muted, #f3f4f6);padding:.125rem .5rem;border-radius:4px;width:fit-content}.plan-card__status{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:4px}.plan-card__status.active{background:var(--color-success-light, #dcfce7);color:var(--color-success, #16a34a)}.plan-card__status.inactive{background:var(--color-surface-muted, #f3f4f6);color:var(--color-text-muted, #6b7280)}.plan-card__description{font-size:.875rem;color:var(--color-text-secondary, #6b7280);margin:0 0 1rem;line-height:1.4}.plan-card__pricing{margin-bottom:1rem}.plan-card__price{font-size:1.75rem;font-weight:700;color:var(--color-text, #111827)}.plan-card__period{font-size:.875rem;color:var(--color-text-muted, #6b7280)}.plan-card__limits{margin-bottom:1rem}.plan-card__limits ul{list-style:none;padding:0;margin:.5rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.plan-card__limits li{display:flex;justify-content:space-between;font-size:.8rem;padding:.25rem 0}.plan-card__limits li span{color:var(--color-text-muted, #6b7280)}.plan-card__limits li strong{color:var(--color-text, #111827)}.plan-card__features{margin-bottom:1rem}.plan-card__features .features-grid{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.plan-card__features .feature-tag{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;text-transform:capitalize}.plan-card__features .feature-tag.enabled{background:var(--color-success-light, #dcfce7);color:var(--color-success, #16a34a)}.plan-card__features .feature-tag.disabled{background:var(--color-surface-muted, #f3f4f6);color:var(--color-text-muted, #9ca3af);text-decoration:line-through}.plan-card__actions{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid var(--color-border, #e5e7eb)}.plan-card__actions button{flex:1}.plan-card__actions button.danger{color:var(--color-danger, #dc2626)}.plan-card__actions button.danger:hover{background:var(--color-danger-light, #fef2f2)}.plan-card__actions .filled{fill:var(--color-warning, #eab308);color:var(--color-warning, #eab308)}.stats-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.stats-modal{background:var(--color-surface, #fff);border-radius:12px;padding:2rem;min-width:320px;max-width:90vw}.stats-modal h3{margin:0 0 1.5rem}.stats-modal__content{margin-bottom:1.5rem}.stats-modal .stat-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--color-border, #e5e7eb)}.stats-modal .stat-item:last-child{border-bottom:none}.stats-modal .stat-label{color:var(--color-text-secondary, #6b7280)}.stats-modal .stat-value{font-size:1.5rem;font-weight:700;color:var(--color-primary, #3b82f6)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.plan-form{padding:1rem 0 3rem}.plan-form__header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.plan-form__header button{width:fit-content}.plan-form__loading{display:flex;align-items:center;justify-content:center;padding:4rem}.plan-form__error{background:var(--color-danger-light, #fef2f2);color:var(--color-danger, #dc2626);padding:1rem;border-radius:8px;margin-bottom:1.5rem}.plan-form__section{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.plan-form__section h3{margin:0 0 1rem}.plan-form__hint{display:block;color:var(--color-text-muted, #6b7280);margin-bottom:1rem}.plan-form__row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.plan-form__row--3{grid-template-columns:repeat(3,1fr)}@media(max-width:640px){.plan-form__row,.plan-form__row--3{grid-template-columns:1fr}}.plan-form__field{display:flex;flex-direction:column;gap:.375rem}.plan-form__field label{font-weight:500;font-size:.875rem;color:var(--color-text, #111827)}.plan-form__field small{font-size:.75rem;color:var(--color-text-muted, #6b7280)}.plan-form__field input,.plan-form__field textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--color-border, #d1d5db);border-radius:8px;font-size:.875rem;transition:border-color .2s}.plan-form__field input:focus,.plan-form__field textarea:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.plan-form__field input:disabled,.plan-form__field textarea:disabled{background:var(--color-surface-muted, #f3f4f6);cursor:not-allowed}.plan-form__field textarea{resize:vertical;min-height:80px}.plan-form__checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.plan-form__checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary, #3b82f6)}.plan-form__features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.plan-form__agent-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.plan-form__module-card{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.875rem 1rem;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;transition:border-color .2s,background .2s}.plan-form__module-card:has(input:checked){border-color:var(--color-primary, #3b82f6);background:#3b82f60d}.plan-form__module-card input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex-shrink:0;cursor:pointer;accent-color:var(--color-primary, #3b82f6)}.plan-form__module-info{display:flex;flex-direction:column;gap:.2rem}.plan-form__module-label{font-weight:500;font-size:.875rem;color:var(--color-text, #111827)}.plan-form__module-desc{font-size:.75rem;color:var(--color-text-muted, #6b7280)}.plan-form__actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid var(--color-border, #e5e7eb)}.plan-form__confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.plan-form__confirm-modal{background:var(--color-surface, #fff);border-radius:.75rem;padding:2rem;max-width:420px;width:90%;display:flex;flex-direction:column;gap:1rem}.plan-form__confirm-modal p{color:var(--color-text, #111827);line-height:1.5}.plan-form__confirm-actions{display:flex;justify-content:flex-end;gap:.75rem}.subs-page{padding:1rem 0}.subs-page__header{margin-bottom:2rem}.subs-page__subtitle{color:var(--color-text-secondary, #6b7280);margin-top:.25rem}.subs-page__loading,.subs-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:.75rem;text-align:center;color:var(--color-text-secondary, #6b7280)}.subs-page__error{background:var(--color-danger-light, #fef2f2);color:var(--color-danger, #dc2626);padding:1rem;border-radius:8px;margin-bottom:1rem}.subs-list{display:flex;flex-direction:column;gap:.75rem}.subs-card{display:flex;align-items:center;gap:1rem;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:1rem 1.25rem;cursor:pointer;width:100%;text-align:left;transition:border-color .15s,box-shadow .15s}.subs-card:hover{border-color:var(--color-primary, #6366f1);box-shadow:0 2px 8px #6366f114}.subs-card__icon{flex-shrink:0;width:44px;height:44px;border-radius:10px;background:var(--color-primary-light, #eef2ff);color:var(--color-primary, #6366f1);display:flex;align-items:center;justify-content:center}.subs-card__info{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.subs-card__name{font-weight:600;font-size:.95rem;color:var(--color-text, #111827)}.subs-card__meta{font-size:.8rem;color:var(--color-text-secondary, #6b7280)}.subs-card__badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}.subs-card__badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;padding:.15rem .55rem;border-radius:999px;background:var(--color-bg-secondary, #f3f4f6);color:var(--color-text-secondary, #6b7280);font-weight:500}.subs-card__badge--wa.active{background:#dcfce7;color:#15803d}.subs-card__badge--wa.inactive{background:#fef9c3;color:#854d0e}.subs-card__badge--wa-none{background:var(--color-bg-secondary, #f3f4f6);color:var(--color-text-secondary, #9ca3af)}.subs-card__arrow{flex-shrink:0;color:var(--color-text-secondary, #9ca3af)}.subs-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.subs-pagination__btn{display:flex;align-items:center;gap:.35rem;padding:.5rem 1rem;border-radius:8px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #fff);color:var(--color-text, #111827);font-size:.85rem;cursor:pointer;transition:background .15s}.subs-pagination__btn:hover:not(:disabled){background:var(--color-bg-secondary, #f3f4f6)}.subs-pagination__btn:disabled{opacity:.4;cursor:not-allowed}.subs-pagination__info{font-size:.85rem;color:var(--color-text-secondary, #6b7280)}.sub-detail{padding:1rem 0 3rem}.sub-detail__loading,.sub-detail__error{padding:4rem 2rem;text-align:center;color:var(--color-text-secondary, #6b7280)}.sub-detail__error{color:var(--color-danger, #dc2626)}.sub-detail__back{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text-secondary, #6b7280);background:none;border:none;cursor:pointer;padding:0;margin-bottom:1.25rem;transition:color .15s}.sub-detail__back:hover{color:var(--color-primary, #6366f1)}.sub-detail__title{margin-bottom:2rem}.sub-detail__section{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.sub-detail__section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}.sub-detail__section-icon{color:var(--color-primary, #6366f1);flex-shrink:0}.sub-detail__section-title{margin:0 0 1.25rem}.sub-detail__section-header .sub-detail__section-title{margin:0}.sub-detail__info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.sub-detail__info-item{display:flex;flex-direction:column;gap:.15rem}.sub-detail__info-label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary, #9ca3af);text-transform:uppercase;letter-spacing:.04em}.sub-detail__info-value{font-size:.95rem;font-weight:600;color:var(--color-text, #111827)}.sub-detail__info-sub{font-size:.78rem;color:var(--color-text-secondary, #6b7280)}.sub-detail__wa-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:500;padding:.25rem .75rem;border-radius:999px;margin-bottom:1rem}.sub-detail__wa-status.active{background:#dcfce7;color:#15803d}.sub-detail__wa-status.inactive{background:#fef9c3;color:#854d0e}.sub-detail__wa-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.sub-detail__wa-error{background:var(--color-danger-light, #fef2f2);color:var(--color-danger, #dc2626);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.85rem}.sub-detail__wa-form{display:flex;flex-direction:column;gap:1rem}.sub-detail__wa-field{display:flex;flex-direction:column;gap:.4rem;max-width:420px}.sub-detail__wa-field label{font-size:.85rem;font-weight:500;color:var(--color-text, #374151)}.sub-detail__wa-field input{padding:.6rem .9rem;border-radius:8px;border:1px solid var(--color-border, #d1d5db);background:var(--color-bg, #f9fafb);font-size:.9rem;color:var(--color-text, #111827);transition:border-color .15s}.sub-detail__wa-field input:focus{outline:none;border-color:var(--color-primary, #6366f1)}.sub-detail__wa-actions{display:flex;gap:.75rem;flex-wrap:wrap}.invoices-page{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;max-width:1400px;margin:0 auto}.invoices-page .invoices-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.invoices-page .invoices-header .header-content{display:flex;flex-direction:column;gap:.25rem}.invoices-page .invoices-header button{display:flex;align-items:center;gap:.5rem}.invoices-page .stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.invoices-page .stats-cards .stat-card{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;transition:transform .2s ease}.invoices-page .stats-cards .stat-card:hover{transform:translateY(-2px)}.invoices-page .stats-cards .stat-card.stat-paid{border-left:3px solid #10b981}.invoices-page .stats-cards .stat-card.stat-pending{border-left:3px solid #f59e0b}.invoices-page .invoices-content{padding:1.25rem}.invoices-page .invoices-content .filters-bar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem}.invoices-page .invoices-content .filters-bar .search-field{flex:1;min-width:250px;position:relative}.invoices-page .invoices-content .filters-bar .search-field .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none;z-index:1}.invoices-page .invoices-content .filters-bar .search-field input{padding-left:2.5rem}.invoices-page .invoices-content .filters-bar>select,.invoices-page .invoices-content .filters-bar>div:last-child{min-width:180px}.invoices-page .invoices-content .empty-state{padding:3rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.invoices-page .invoices-content .invoices-table{overflow-x:auto}.invoices-page .invoices-content .invoices-table table{width:100%;border-collapse:collapse}.invoices-page .invoices-content .invoices-table table thead{background:var(--background-secondary)}.invoices-page .invoices-content .invoices-table table thead th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--text-secondary);border-bottom:2px solid var(--border-color)}.invoices-page .invoices-content .invoices-table table thead th:last-child{text-align:right}.invoices-page .invoices-content .invoices-table table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s ease;cursor:pointer}.invoices-page .invoices-content .invoices-table table tbody tr:hover{background:var(--background-secondary)}.invoices-page .invoices-content .invoices-table table tbody tr:last-child{border-bottom:none}.invoices-page .invoices-content .invoices-table table tbody td{padding:1rem;vertical-align:middle}.invoices-page .invoices-content .invoices-table table tbody td:last-child{text-align:right}.invoices-page .invoices-content .invoices-table table tbody td .action-buttons{display:flex;justify-content:flex-end}@media(max-width:768px){.invoices-page{padding:1rem}.invoices-page .invoices-header{flex-direction:column;align-items:stretch}.invoices-page .stats-cards{grid-template-columns:1fr}.invoices-page .invoices-content .filters-bar{flex-direction:column;align-items:stretch}.invoices-page .invoices-content .filters-bar .search-field,.invoices-page .invoices-content .filters-bar>select,.invoices-page .invoices-content .filters-bar>div:last-child{min-width:100%}}.new-invoice-page{max-width:1200px;margin:0 auto;padding:1.5rem}.new-invoice-page .invoice-form-container{gap:1.5rem}.new-invoice-page .patient-section,.new-invoice-page .dates-section,.new-invoice-page .items-section,.new-invoice-page .notes-section{margin-top:var(--spacing-md);padding:1.5rem}.new-invoice-page .patient-section .form-row,.new-invoice-page .dates-section .form-row,.new-invoice-page .items-section .form-row,.new-invoice-page .notes-section .form-row{display:flex;gap:1rem}.new-invoice-page .patient-section .form-row .form-field,.new-invoice-page .dates-section .form-row .form-field,.new-invoice-page .items-section .form-row .form-field,.new-invoice-page .notes-section .form-row .form-field{flex:1}.new-invoice-page .patient-section .form-row .form-field.full-width,.new-invoice-page .dates-section .form-row .form-field.full-width,.new-invoice-page .items-section .form-row .form-field.full-width,.new-invoice-page .notes-section .form-row .form-field.full-width{width:100%}.new-invoice-page .patient-section .patient-info,.new-invoice-page .dates-section .patient-info,.new-invoice-page .items-section .patient-info,.new-invoice-page .notes-section .patient-info{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--background-secondary);border-radius:.5rem;margin-top:1rem}.new-invoice-page .patient-section .patient-info .info-row,.new-invoice-page .dates-section .patient-info .info-row,.new-invoice-page .items-section .patient-info .info-row,.new-invoice-page .notes-section .patient-info .info-row{display:flex;gap:.75rem;align-items:center}.new-invoice-page .items-section .add-item-form{display:flex;flex-direction:column;gap:1rem;padding:1rem 0;background:var(--background-secondary);border-radius:.5rem;margin-bottom:1.5rem}.new-invoice-page .items-section .add-item-form .form-row{margin-top:0}.new-invoice-page .items-section .items-table{margin-top:1.5rem}.new-invoice-page .items-section .items-table table{width:100%;border-collapse:collapse}.new-invoice-page .items-section .items-table table thead{background:var(--background-secondary)}.new-invoice-page .items-section .items-table table thead th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--text-secondary);border-bottom:2px solid var(--border-color)}.new-invoice-page .items-section .items-table table thead th:last-child{text-align:center}.new-invoice-page .items-section .items-table table tbody tr{border-bottom:1px solid var(--border-color)}.new-invoice-page .items-section .items-table table tbody tr:last-child{border-bottom:none}.new-invoice-page .items-section .items-table table tbody td{padding:1rem;vertical-align:middle}.new-invoice-page .items-section .items-table table tbody td:last-child{text-align:center}.new-invoice-page .items-section .items-table .total-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--background-secondary);border-radius:.5rem;margin-top:1rem}.new-invoice-page .form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.new-invoice-page .form-actions button{display:flex;align-items:center;gap:.5rem}@media(max-width:768px){.new-invoice-page{padding:1rem}.new-invoice-page .patient-section .form-row,.new-invoice-page .dates-section .form-row,.new-invoice-page .items-section .form-row,.new-invoice-page .notes-section .form-row,.new-invoice-page .form-actions{flex-direction:column}.new-invoice-page .form-actions button{width:100%}}.invoice-detail-page{max-width:1200px;margin:0 auto;padding:1.5rem}.invoice-detail-page .invoice-detail-container .header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.5rem;background:var(--background);border-radius:.5rem;border:1px solid var(--border-color)}.invoice-detail-page .invoice-detail-container .header .header-left{display:flex;align-items:center;gap:1rem}.invoice-detail-page .invoice-detail-container .header .header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.invoice-detail-page .invoice-detail-container .header .header-actions button{display:flex;align-items:center;gap:.5rem}.invoice-detail-page .invoice-detail-container .content{display:flex;flex-direction:column;gap:1.5rem;margin-top:var(--spacing-md)}.invoice-detail-page .invoice-detail-container .patient-card,.invoice-detail-page .invoice-detail-container .dates-card,.invoice-detail-page .invoice-detail-container .items-card,.invoice-detail-page .invoice-detail-container .notes-card{padding:1.5rem}.invoice-detail-page .invoice-detail-container .patient-card .section-title,.invoice-detail-page .invoice-detail-container .dates-card .section-title,.invoice-detail-page .invoice-detail-container .items-card .section-title,.invoice-detail-page .invoice-detail-container .notes-card .section-title{margin-bottom:1rem}.invoice-detail-page .invoice-detail-container .patient-card .patient-info,.invoice-detail-page .invoice-detail-container .patient-card .dates-info,.invoice-detail-page .invoice-detail-container .dates-card .patient-info,.invoice-detail-page .invoice-detail-container .dates-card .dates-info,.invoice-detail-page .invoice-detail-container .items-card .patient-info,.invoice-detail-page .invoice-detail-container .items-card .dates-info,.invoice-detail-page .invoice-detail-container .notes-card .patient-info,.invoice-detail-page .invoice-detail-container .notes-card .dates-info{display:flex;flex-direction:column;gap:.75rem}.invoice-detail-page .invoice-detail-container .patient-card .patient-info .info-row,.invoice-detail-page .invoice-detail-container .patient-card .dates-info .info-row,.invoice-detail-page .invoice-detail-container .dates-card .patient-info .info-row,.invoice-detail-page .invoice-detail-container .dates-card .dates-info .info-row,.invoice-detail-page .invoice-detail-container .items-card .patient-info .info-row,.invoice-detail-page .invoice-detail-container .items-card .dates-info .info-row,.invoice-detail-page .invoice-detail-container .notes-card .patient-info .info-row,.invoice-detail-page .invoice-detail-container .notes-card .dates-info .info-row{display:flex;gap:.75rem;align-items:center}.invoice-detail-page .invoice-detail-container .patient-card .patient-info .info-row>*:first-child,.invoice-detail-page .invoice-detail-container .patient-card .dates-info .info-row>*:first-child,.invoice-detail-page .invoice-detail-container .dates-card .patient-info .info-row>*:first-child,.invoice-detail-page .invoice-detail-container .dates-card .dates-info .info-row>*:first-child,.invoice-detail-page .invoice-detail-container .items-card .patient-info .info-row>*:first-child,.invoice-detail-page .invoice-detail-container .items-card .dates-info .info-row>*:first-child,.invoice-detail-page .invoice-detail-container .notes-card .patient-info .info-row>*:first-child,.invoice-detail-page .invoice-detail-container .notes-card .dates-info .info-row>*:first-child{min-width:150px}.invoice-detail-page .invoice-detail-container .items-card .items-table{margin-bottom:1.5rem}.invoice-detail-page .invoice-detail-container .items-card .items-table table{width:100%;border-collapse:collapse}.invoice-detail-page .invoice-detail-container .items-card .items-table table thead{background:var(--background-secondary)}.invoice-detail-page .invoice-detail-container .items-card .items-table table thead th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--text-secondary);border-bottom:2px solid var(--border-color)}.invoice-detail-page .invoice-detail-container .items-card .items-table table thead th:last-child{text-align:right}.invoice-detail-page .invoice-detail-container .items-card .items-table table tbody tr{border-bottom:1px solid var(--border-color)}.invoice-detail-page .invoice-detail-container .items-card .items-table table tbody tr:last-child{border-bottom:none}.invoice-detail-page .invoice-detail-container .items-card .items-table table tbody td{padding:1rem;vertical-align:middle}.invoice-detail-page .invoice-detail-container .items-card .items-table table tbody td:last-child{text-align:right}.invoice-detail-page .invoice-detail-container .items-card .totals{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;background:var(--background-secondary);border-radius:.5rem}.invoice-detail-page .invoice-detail-container .items-card .totals .total-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.invoice-detail-page .invoice-detail-container .items-card .totals .total-row.final{border-top:2px solid var(--border-color);padding-top:1rem;margin-top:.5rem}.invoice-detail-page .invoice-detail-container .notes-card .pre-wrap{white-space:pre-wrap}.invoice-detail-page .invoice-detail-container .empty-card{padding:2rem;text-align:center}@media(max-width:768px){.invoice-detail-page{padding:1rem}.invoice-detail-page .invoice-detail-container .header{flex-direction:column;align-items:stretch}.invoice-detail-page .invoice-detail-container .header .header-actions{flex-direction:column}.invoice-detail-page .invoice-detail-container .header .header-actions button{width:100%;justify-content:center}}.recipes-page{max-width:var(--container-2xl);animation:fadeIn var(--transition-base)}.recipes-page .recipes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2xl);flex-wrap:wrap;gap:var(--spacing-md)}.recipes-page .recipes-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.recipes-page .recipes-controls{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-sm)}.recipes-page .search-box{position:relative;margin:0;padding:0}.recipes-page .search-icon{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.recipes-page .search-input{width:100%;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-3xl);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:border-color var(--transition-base);background-color:var(--bg-secondary);color:var(--text-primary)}.recipes-page .search-input:focus{outline:none;border-color:var(--primary-color)}.recipes-page .recipes-content{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl)}.recipes-page .recipes-table-container{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.recipes-page .table-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.recipes-page .recipes-table{width:100%;border-collapse:collapse}.recipes-page .recipes-table thead{background:var(--bg-primary)}.recipes-page .recipes-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border-color)}.recipes-page .recipes-table tbody tr{border-bottom:1px solid var(--border-light);transition:background var(--transition-base)}.recipes-page .recipes-table tbody tr:hover{background:var(--bg-secondary)}.recipes-page .recipes-table tbody tr:last-child{border-bottom:none}.recipes-page .recipes-table td{padding:var(--spacing-md) var(--spacing-lg);color:var(--text-primary);font-size:var(--font-size-sm)}.recipes-page .status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize}.recipes-page .status-badge.firmada{color:var(--success-color)}.recipes-page .status-badge.pendiente{background:#f59e0b1a;color:var(--warning-color);border:.5px solid var(--warning-color)}.recipes-page .action-buttons{display:flex;gap:var(--spacing-xs)}.recipes-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4xl) var(--spacing-2xl);text-align:center}.recipes-page .empty-state .empty-icon{font-size:var(--font-size-5xl);display:block;margin-bottom:var(--spacing-lg);opacity:.3}@media(max-width:768px){.recipes-page .recipes-header{flex-direction:column;align-items:stretch}.recipes-page .recipes-table-container{overflow-x:auto}.recipes-page .recipes-table{min-width:600px}.recipes-page .recipes-stats{grid-template-columns:1fr}}.new-recipe-page{padding:2rem;max-width:1200px;margin:0 auto;animation:fadeIn .3s ease-out}.new-recipe-page .recipe-form{background:var(--bg-primary);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.new-recipe-page .recipe-form .form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.new-recipe-page .recipe-form .form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.new-recipe-page .recipe-form .form-section .section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;color:var(--primary-color)}.new-recipe-page .recipe-form .form-section .section-header svg{flex-shrink:0}.new-recipe-page .recipe-form .form-section .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.new-recipe-page .recipe-form .form-section .form-grid .form-field.full-width{grid-column:1/-1}.new-recipe-page .recipe-form .medications-list{display:flex;flex-direction:column;gap:1.5rem}.new-recipe-page .recipe-form .medications-list .medication-card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--border-color)}.new-recipe-page .recipe-form .medications-list .medication-card .medication-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.new-recipe-page .recipe-form .medications-list .medication-card .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.new-recipe-page .recipe-form .medications-list .medication-card .form-grid .form-field.full-width{grid-column:1/-1}.new-recipe-page .recipe-form .medications-list .add-medication-btn{align-self:flex-start}.new-recipe-page .recipe-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.new-recipe-page .recipe-form .form-actions button{min-width:140px}.new-recipe-page .recipe-form .form-error{background-color:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:var(--radius-md);padding:1rem;margin-top:1rem;text-align:center}@media(max-width:768px){.new-recipe-page{padding:1rem}.new-recipe-page .recipe-form{padding:1.5rem}.new-recipe-page .recipe-form .form-section{margin-bottom:1.5rem;padding-bottom:1.5rem}.new-recipe-page .recipe-form .form-section .section-header{margin-bottom:1rem}.new-recipe-page .recipe-form .form-section .form-grid{grid-template-columns:1fr;gap:1rem}.new-recipe-page .recipe-form .medications-list .medication-card{padding:1rem}.new-recipe-page .recipe-form .medications-list .medication-card .form-grid{grid-template-columns:1fr}.new-recipe-page .recipe-form .form-actions{flex-direction:column}}.recipe-detail-page{padding:2rem;max-width:1200px;margin:0 auto;animation:fadeIn .3s ease-out}.recipe-detail-page .not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:4rem 2rem;background:var(--bg-secondary);border-radius:var(--radius-lg);text-align:center}.recipe-detail-page .recipe-content{padding:1rem 0}.recipe-detail-page .recipe-status{margin-bottom:1.5rem}.recipe-detail-page .recipe-status .status-badge{display:inline-block;padding:.5rem 1rem;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.recipe-detail-page .recipe-status .status-badge.firmada{background:#10b9811a;color:var(--success-color);border:1px solid var(--success-color)}.recipe-detail-page .recipe-status .status-badge.pendiente{background:#f59e0b1a;color:var(--warning-color);border:1px solid var(--warning-color)}.recipe-detail-page .info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1.5rem}.recipe-detail-page .info-card,.recipe-detail-page .section-card{background:var(--bg-primary);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--border-color)}.recipe-detail-page .info-card .card-header,.recipe-detail-page .section-card .card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);color:var(--primary-color)}.recipe-detail-page .info-card .card-content,.recipe-detail-page .section-card .card-content{display:flex;flex-direction:column;gap:.75rem}.recipe-detail-page .info-card .info-row,.recipe-detail-page .section-card .info-row{display:flex;flex-direction:column;gap:.25rem}.recipe-detail-page .section-card{margin-bottom:1.5rem}.recipe-detail-page .section-card:last-child{margin-bottom:0}.recipe-detail-page .medications-section .medications-list{display:flex;flex-direction:column;gap:1rem}.recipe-detail-page .medications-section .medication-item{display:flex;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-light)}.recipe-detail-page .medications-section .medication-item .medication-number{width:32px;height:32px;border-radius:var(--radius-full);background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);flex-shrink:0}.recipe-detail-page .medications-section .medication-item .medication-details{flex:1}.recipe-detail-page .medications-section .medication-item .medication-details .medication-info{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem;font-size:var(--font-size-sm);color:var(--text-secondary)}.recipe-detail-page .medications-section .medication-item .medication-details .medication-info span strong{color:var(--text-primary)}.recipe-detail-page .medications-section .medication-item .medication-details .instructions{margin-top:.75rem;border-radius:var(--radius-sm)}.recipe-detail-page .notes-section .card-content{padding:.5rem;background:rgba(var(--warning-rgb),.05);border-radius:var(--radius-sm);border-left:3px solid var(--warning-color)}@media(max-width:768px){.recipe-detail-page{padding:1rem}.recipe-detail-page .info-grid{grid-template-columns:1fr}.recipe-detail-page .medications-section .medication-item{flex-direction:column}.recipe-detail-page .medications-section .medication-item .medication-info{flex-direction:column;gap:.5rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-logs-page{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:var(--container-2xl)}.ai-logs-page__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}@media(max-width:900px){.ai-logs-page__stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.ai-logs-page__stats{grid-template-columns:1fr}}.ai-logs-page__stat-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.ai-logs-page__card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md)}.ai-logs-page__card-title{margin-bottom:var(--spacing-md)}.ai-logs-page__agent-breakdown{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ai-logs-page__agent-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color)}.ai-logs-page__agent-row:last-child{border-bottom:none}.ai-logs-page__agent-row>*:last-child{margin-left:auto}.ai-logs-page__list{display:flex;flex-direction:column}.ai-logs-page__list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--border-color)}.ai-logs-page__list-item:last-child{border-bottom:none}.ai-logs-page__list-item:hover{background:var(--bg-secondary);margin:0 calc(-1 * var(--spacing-md));padding-left:var(--spacing-md);padding-right:var(--spacing-md);border-radius:var(--radius-sm)}.ai-logs-page__list-item-left{display:flex;align-items:center;gap:var(--spacing-lg);flex:1;min-width:0}.ai-logs-page__list-item-datetime{display:flex;flex-direction:column;align-items:flex-end;min-width:72px;flex-shrink:0}.ai-logs-page__list-item-body{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.ai-logs-page__list-item-body span,.ai-logs-page__list-item-body p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-logs-page__list-item-tokens{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}@media(max-width:600px){.ai-logs-page__list-item-tokens{flex-direction:column;align-items:flex-end;gap:2px}}.ai-logs-page__list-item-total{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-primary);font-family:var(--font-mono, monospace);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:2px var(--spacing-sm);white-space:nowrap}.ai-logs-page__list-item-total-label{font-weight:var(--font-weight-normal);color:var(--text-secondary);font-size:.85em}.ai-logs-page__loading,.ai-logs-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-2xl) 0;color:var(--text-secondary)}.ai-logs-page__pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color);margin-top:var(--spacing-sm)}.ai-logs-page__page-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);cursor:pointer;color:var(--text-primary);transition:background var(--transition-base)}.ai-logs-page__page-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.ai-logs-page__page-btn:disabled{opacity:.4;cursor:not-allowed}.subscription-page{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:var(--container-2xl)}.subscription-page__current{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.subscription-page__current-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap}.subscription-page__upgrade-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-sm);font-weight:600;cursor:pointer;text-decoration:none;transition:opacity .15s}.subscription-page__upgrade-btn:hover{opacity:.88}.subscription-page__metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}@media(max-width:900px){.subscription-page__metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.subscription-page__metrics{grid-template-columns:1fr 1fr}}.subscription-page__metric{display:flex;flex-direction:column;gap:var(--spacing-xs)}.subscription-page__metric-header{display:flex;justify-content:space-between;align-items:center}.subscription-page__progress-track{height:6px;background:var(--border-color);border-radius:99px;overflow:hidden}.subscription-page__progress-fill{height:100%;background:var(--primary-color);border-radius:99px;transition:width .4s ease}.subscription-page__progress-fill.warning{background:var(--warning-color, #f59e0b)}.subscription-page__progress-fill.danger{background:var(--error-color, #ef4444)}.subscription-page__section-title{margin-top:var(--spacing-xs)}.subscription-page__plans{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);align-items:start}@media(max-width:1100px){.subscription-page__plans{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.subscription-page__plans{grid-template-columns:1fr}}.subscription-page__plan-card{position:relative;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.subscription-page__plan-card.current{border-color:var(--primary-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-color) 20%,transparent)}.subscription-page__plan-card.popular{border-color:var(--primary-color)}.subscription-page__popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary-color);color:#fff;font-size:11px;font-weight:700;padding:2px 12px;border-radius:99px;white-space:nowrap}.subscription-page__current-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--bg-secondary);border:1px solid var(--primary-color);color:var(--primary-color);font-size:11px;font-weight:700;padding:2px 12px;border-radius:99px;white-space:nowrap}.subscription-page__plan-price{display:flex;align-items:baseline;gap:4px;margin:var(--spacing-xs) 0}.subscription-page__plan-limits{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm) 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.subscription-page__plan-features{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.subscription-page__feature-row{display:flex;align-items:center;gap:var(--spacing-xs)}.subscription-page__feature-row .icon-check{color:var(--success-color, #22c55e);flex-shrink:0}.subscription-page__feature-row .icon-x{color:var(--border-color);flex-shrink:0}.subscription-page__plan-cta{display:block;text-align:center;padding:var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:600;cursor:pointer;text-decoration:none;margin-top:var(--spacing-sm);transition:opacity .15s}.subscription-page__plan-cta.primary{background:var(--primary-color);color:#fff;border:none}.subscription-page__plan-cta.outline{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.subscription-page__plan-cta:hover{opacity:.85}.subscription-page__locked-section{position:relative;border-radius:var(--radius-md);overflow:hidden}.subscription-page__locked-section .locked-content{filter:blur(3px);pointer-events:none;-webkit-user-select:none;user-select:none}.subscription-page__locked-section .locked-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);background:color-mix(in srgb,var(--bg-primary) 75%,transparent);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:2;text-align:center;padding:var(--spacing-lg)}.subscription-page__locked-section .locked-overlay .locked-icon{font-size:2rem;line-height:1}.subscription-page__addons-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.subscription-page__addon-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color .2s}.subscription-page__addon-card.active{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 4%,var(--bg-primary))}.subscription-page__addon-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.subscription-page__addon-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.subscription-page__addon-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.subscription-page__contact-btn{display:inline-flex;align-items:center;padding:6px 14px;font-size:var(--font-sm);font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-primary);background:transparent;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}.subscription-page__contact-btn:hover{background:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color)}.subscription-page__addon-qty{display:flex;align-items:center;gap:var(--spacing-xs);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:2px 6px}.subscription-page__addon-qty span{font-size:var(--font-sm);font-weight:600;min-width:1.5ch;text-align:center}.subscription-page__addon-qty button{background:none;border:none;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;padding:2px;border-radius:4px;transition:color .15s,background .15s}.subscription-page__addon-qty button:hover:not(:disabled){color:var(--text-primary);background:var(--border-color)}.subscription-page__addon-qty button:disabled{opacity:.35;cursor:not-allowed}.subscription-page__budgets{display:flex;flex-direction:column;gap:var(--spacing-sm)}.subscription-page__budget-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s}.subscription-page__budget-card.enabled{border-color:var(--primary-color)}.subscription-page__budget-card-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md)}.subscription-page__budget-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.subscription-page__budget-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.subscription-page__budget-body{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-sm)}.subscription-page__budget-input-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.subscription-page__budget-input-group{display:flex;align-items:center;gap:var(--spacing-xs);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:2px 8px 2px 6px}.subscription-page__budget-input-group span{font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap}.subscription-page__budget-input-group input[type=number]{border:none;background:transparent;outline:none;font-size:var(--font-sm);color:var(--text-primary);width:60px;padding:4px 2px;-moz-appearance:textfield}.subscription-page__budget-input-group input[type=number]::-webkit-inner-spin-button,.subscription-page__budget-input-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.subscription-page__budget-usage{display:flex;flex-direction:column;gap:6px}.subscription-page__toggle{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;cursor:pointer}.subscription-page__toggle input{opacity:0;width:0;height:0;position:absolute}.subscription-page__toggle span{position:absolute;inset:0;background:var(--border-color);border-radius:24px;transition:background .2s}.subscription-page__toggle span:before{content:"";position:absolute;height:16px;width:16px;left:4px;bottom:4px;background:#fff;border-radius:50%;transition:transform .2s}.subscription-page__toggle input:checked+span{background:var(--primary-color)}.subscription-page__toggle input:checked+span:before{transform:translate(18px)}.subscription-page__toggle input:disabled+span{opacity:.5;cursor:not-allowed}.agent-page{height:100%;display:flex;flex-direction:column;min-height:0}.agent-page__messages{flex:1;overflow-y:auto;min-height:0}.agent-page__empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;gap:1rem;max-width:560px;margin:0 auto}.agent-page__empty-icon{width:68px;height:68px;border-radius:var(--radius-full);background:var(--primary-alpha);color:var(--primary-color);display:flex;align-items:center;justify-content:center}.agent-page__empty-title{font-size:1.375rem;font-weight:600;color:var(--text-primary);margin:0}.agent-page__empty-hint{color:var(--text-secondary);margin:0;font-size:.9375rem;line-height:1.5}.agent-page__suggestions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.5rem}.agent-page__suggestion{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.5rem 1rem;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .15s ease}.agent-page__suggestion:hover{background:var(--primary-alpha);border-color:var(--primary-color);color:var(--primary-color)}.agent-page__messages-list{display:flex;flex-direction:column;gap:1.5rem;max-width:960px;width:100%;margin:0 auto;padding:1.25rem 0 1rem}.agent-page__message{display:flex;gap:.75rem;align-items:flex-start}.agent-page__message--user{flex-direction:row-reverse}.agent-page__message--user .agent-page__bubble{background:var(--primary-color);color:var(--text-light);border-radius:var(--radius-lg) var(--radius-sm) var(--radius-lg) var(--radius-lg)}.agent-page__message--assistant .agent-page__bubble{background:var(--bg-tertiary);color:var(--text-primary);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg)}.agent-page__avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--gradient-primary);color:var(--text-light);display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;flex-shrink:0;margin-top:2px}.agent-page__message-content{display:flex;flex-direction:column;gap:.5rem;max-width:78%}.agent-page__bubble{padding:.75rem 1rem;font-size:.9375rem;line-height:1.65;word-break:break-word}.agent-page__bubble p{margin:0 0 .25rem}.agent-page__bubble p:last-child{margin-bottom:0}.agent-page__bubble ul{margin:.25rem 0;padding-left:1.25rem}.agent-page__bubble li{margin-bottom:.2rem}.agent-page__bubble strong{font-weight:600}.agent-page__bubble--typing{display:flex;gap:5px;align-items:center;padding:.875rem 1rem;min-width:56px}.agent-page__dot{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary);animation:agent-typing 1.4s infinite ease-in-out}.agent-page__dot:nth-child(1){animation-delay:0s}.agent-page__dot:nth-child(2){animation-delay:.2s}.agent-page__dot:nth-child(3){animation-delay:.4s}@keyframes agent-typing{0%,80%,to{transform:scale(.75);opacity:.5}40%{transform:scale(1);opacity:1}}.agent-page__cards{display:flex;flex-direction:column;gap:.5rem}.agent-page__card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all .15s ease;width:100%}.agent-page__card:hover{border-color:var(--primary-color);background:var(--primary-alpha)}.agent-page__card-icon{color:var(--primary-color);flex-shrink:0}.agent-page__card-body{flex:1;display:flex;flex-direction:column;gap:.125rem}.agent-page__card-title{font-size:.875rem;font-weight:600;color:var(--text-primary)}.agent-page__card-sub{font-size:.75rem;color:var(--text-secondary)}.agent-page__card-meta{font-size:.75rem;color:var(--text-tertiary)}.agent-page__confirm{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.agent-page__confirm-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border:none;border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;cursor:pointer;transition:opacity .15s ease}.agent-page__confirm-btn:hover{opacity:.85}.agent-page__confirm-btn--yes{background:var(--success-color);color:#fff}.agent-page__confirm-btn--no{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.agent-page__confirm-hint{font-size:.75rem;color:var(--text-tertiary)}.agent-page__input-area{flex-shrink:0;border-top:1px solid var(--border-color);padding-top:1rem}.agent-page__input-inner{max-width:960px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:.5rem}.agent-page__clear-btn{display:flex;align-items:center;gap:.375rem;background:none;border:none;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;padding:0;transition:color .15s ease}.agent-page__clear-btn:hover{color:var(--text-primary)}.agent-page__input-row{display:flex;gap:.625rem;align-items:flex-end;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:.5rem .5rem .5rem 1rem;transition:border-color .15s ease}.agent-page__input-row:focus-within{border-color:var(--primary-color)}.agent-page__input{flex:1;border:none;background:transparent;resize:none;font-size:.9375rem;color:var(--text-primary);line-height:1.5;max-height:160px;overflow-y:auto;padding:.25rem 0;outline:none}.agent-page__input::placeholder{color:var(--text-tertiary)}.agent-page__input:disabled{opacity:.6}.agent-page__send-btn{width:36px;height:36px;border-radius:var(--radius-full);border:none;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:opacity .15s ease}.agent-page__send-btn:hover:not(:disabled){opacity:.85}.agent-page__send-btn:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:default}.agent-page__disclaimer{font-size:.75rem;color:var(--text-tertiary);text-align:center;margin:0}@media(max-width:768px){.agent-page__message-content{max-width:85%}.agent-page__messages-list{padding:1rem 0 .5rem}.agent-page__empty{padding:1.5rem 1rem}}.messages-page{display:flex;height:100%;overflow:hidden;background:var(--bg-secondary)}.messages-sidebar{width:320px;min-width:280px;background:var(--bg-primary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.messages-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-color);flex-shrink:0}.messages-sidebar__title{display:flex;align-items:center;gap:var(--spacing-sm)}.messages-sidebar__attention-badge{background:#ef4444;color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:1px 7px;line-height:1.6}.messages-sidebar__refresh{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);display:flex;align-items:center;transition:color var(--transition-base)}.messages-sidebar__refresh:hover{color:var(--text-primary)}.messages-sidebar__filters{display:flex;gap:4px;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);overflow-x:auto;flex-shrink:0}.messages-sidebar__filters::-webkit-scrollbar{display:none}.messages-sidebar__list{flex:1;overflow-y:auto}.messages-sidebar__loading,.messages-sidebar__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-2xl);color:var(--text-tertiary)}.messages-filter-tab{background:none;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:4px 10px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-base)}.messages-filter-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.messages-filter-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:600}.messages-conv-item{width:100%;display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border:none;border-bottom:1px solid var(--border-color);background:transparent;cursor:pointer;text-align:left;transition:background var(--transition-base)}.messages-conv-item:hover{background:var(--bg-secondary)}.messages-conv-item.active{background:#6366f114}.messages-conv-item.needs-attention{border-left:3px solid #f59e0b}.messages-conv-item__avatar{width:38px;height:38px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.messages-conv-item__body{flex:1;min-width:0}.messages-conv-item__top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-xs)}.messages-conv-item__name{font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-conv-item__time{font-size:.7rem;color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.messages-conv-item__preview{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.messages-conv-item__meta{display:flex;align-items:center;gap:5px;margin-top:4px}.messages-conv-item__status-label{font-size:.7rem;color:var(--text-tertiary)}.messages-conv-item__unread{background:#ef4444;color:#fff;font-size:10px;font-weight:700;border-radius:999px;padding:0 5px;line-height:1.6;margin-left:auto}.messages-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.messages-status-dot.status-open{background:#22c55e}.messages-status-dot.status-attention{background:#f59e0b}.messages-status-dot.status-resolved{background:var(--text-tertiary)}.messages-status-badge{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-md)}.messages-status-badge.status-open{background:#dcfce7;color:#166534}.messages-status-badge.status-attention{background:#fef3c7;color:#92400e}.messages-status-badge.status-resolved{background:var(--bg-tertiary);color:var(--text-secondary)}.messages-thread{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary)}.messages-thread__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--text-tertiary)}.messages-thread__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);border-bottom:1px solid var(--border-color);flex-shrink:0;flex-wrap:wrap}.messages-thread__header-info{display:flex;align-items:center;gap:var(--spacing-md)}.messages-thread__header-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.messages-thread__avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border:1px solid var(--border-color);flex-shrink:0}.messages-thread__attention-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:#fef3c7;border-bottom:1px solid #fde68a;color:#92400e;flex-shrink:0}.messages-thread__messages{flex:1;overflow-y:auto;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-sm);background:var(--bg-secondary)}.messages-thread__reply{display:flex;align-items:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0}.messages-thread__resolved-bar{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-secondary);border-top:1px solid var(--border-color);flex-shrink:0}.messages-bubble{display:flex;flex-direction:column;max-width:72%}.messages-bubble.inbound{align-self:flex-start}.messages-bubble.outbound{align-self:flex-end}.messages-bubble__content{padding:var(--spacing-sm) var(--spacing-md);border-radius:12px;font-size:.875rem;line-height:1.5;word-break:break-word;white-space:pre-wrap}.inbound .messages-bubble__content{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);border-bottom-left-radius:4px}.outbound .messages-bubble__content{background:#25d366;color:#fff;border-bottom-right-radius:4px}.messages-bubble__meta{display:flex;align-items:center;gap:4px;margin-top:3px;font-size:.68rem;color:var(--text-tertiary)}.outbound .messages-bubble__meta{justify-content:flex-end}.messages-bubble__agent-tag{display:flex;align-items:center;gap:3px;font-size:.68rem;color:var(--text-tertiary);background:var(--bg-tertiary);padding:0 5px;border-radius:999px}.messages-reply-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;resize:none;line-height:1.5;font-family:inherit;transition:border-color var(--transition-base)}.messages-reply-input:focus{outline:none;border-color:#25d366;box-shadow:0 0 0 3px #25d3661f}.messages-reply-input::placeholder{color:var(--text-tertiary)}.messages-reply-send{width:42px;height:42px;border-radius:50%;background:#25d366;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background var(--transition-base)}.messages-reply-send:hover:not(.disabled){background:#1da851}.messages-reply-send.disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:default}.messages-agent-toggle{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.messages-toggle-track{width:34px;height:18px;border-radius:9px;background:var(--bg-tertiary);border:1.5px solid var(--border-color);position:relative;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base)}.messages-toggle-track.on{background:var(--primary-color);border-color:var(--primary-color)}.messages-toggle-track.on .messages-toggle-thumb{left:17px}.messages-toggle-thumb{position:absolute;top:1px;left:1px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:left var(--transition-base)}@media(max-width:768px){.messages-page{flex-direction:column}.messages-sidebar{width:100%;max-height:45vh;border-right:none;border-bottom:1px solid var(--border-color)}}
