@charset "UTF-8";.confirm-modal .ant-modal-content{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e9ecef;border-radius:16px;box-shadow:0 20px 60px var(--shadow-color-hover);padding:0}.confirm-modal .ant-modal-body{border-radius:16px;padding:40px 30px;text-align:center}.confirm-modal__content{align-items:center;display:flex;flex-direction:column;gap:20px}.confirm-modal__icon{align-items:center;animation:modalPulse 3s ease-in-out infinite;border-radius:50%;box-shadow:0 8px 25px var(--shadow-color-hover);display:flex;height:80px;justify-content:center;width:80px}.confirm-modal__icon--success{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 8px 25px #4caf504d}.confirm-modal__icon--error{background:linear-gradient(135deg,#f44336,#d32f2f);box-shadow:0 8px 25px #f443364d}.confirm-modal__icon--warning{background:linear-gradient(135deg,#ff9800,#f57c00);box-shadow:0 8px 25px #ff98004d;color:#fff}.confirm-modal__icon svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.confirm-modal__message{align-items:center;display:flex;flex-direction:column;gap:8px}.confirm-modal__title{color:#2c3e50;font-size:24px;font-weight:600}.confirm-modal__description,.confirm-modal__title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0}.confirm-modal__description{color:#7f8c8d;font-size:16px;line-height:1.5;max-width:300px}.confirm-modal__redirect{color:#95a5a6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-style:italic;margin:0}.confirm-modal__progress{background:#ecf0f1;border-radius:2px;height:4px;margin-top:10px;overflow:hidden;width:100%}.confirm-modal__progress-bar{background:linear-gradient(90deg,#4caf50,#45a049);border-radius:2px;height:100%;transition:width .05s linear}.confirm-modal__actions{display:flex;gap:12px;justify-content:center;margin-top:10px}.confirm-modal__button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:600;gap:8px;justify-content:center;min-width:100px;padding:12px 24px;transition:all .2s ease}.confirm-modal__button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.confirm-modal__button--primary{background:linear-gradient(135deg,#2196f3,#1976d2);box-shadow:0 2px 4px #2196f333;color:#fff}.confirm-modal__button--primary:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 4px 8px #2196f34d;transform:translateY(-2px)}.confirm-modal__button--primary:active:not(:disabled){transform:translateY(0)}.confirm-modal__button--secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.confirm-modal__button--secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.confirm-modal__button--success{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 2px 4px #4caf5033;color:#fff}.confirm-modal__button--success:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#388e3c);box-shadow:0 4px 8px #4caf504d;transform:translateY(-2px)}.confirm-modal__button--success:active:not(:disabled){transform:translateY(0)}.confirm-modal__button--error{background:linear-gradient(135deg,#f44336,#d32f2f);box-shadow:0 2px 4px #f4433633;color:#fff}.confirm-modal__button--error:hover:not(:disabled){background:linear-gradient(135deg,#d32f2f,#c62828);box-shadow:0 4px 8px #f443364d;transform:translateY(-2px)}.confirm-modal__button--error:active:not(:disabled){transform:translateY(0)}.confirm-modal__loading{align-items:center;display:flex;justify-content:center}.confirm-modal__spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}@media(max-width:480px){.confirm-modal .ant-modal-body{padding:30px 20px}.confirm-modal__title{font-size:20px}.confirm-modal__description{font-size:14px}.confirm-modal__actions{flex-direction:column;gap:8px}.confirm-modal__button{width:100%}}@keyframes modalPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.devices{padding:20px}.devices__header{align-items:center;margin-bottom:16px}.devices__header,.devices__toolbar{display:flex;justify-content:space-between}.devices__toolbar{align-items:flex-end;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 20px var(--shadow-color);flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:20px 24px}.devices__filter{display:flex;flex-direction:column}.devices__filter-select{align-items:center;display:flex;gap:8px}.devices__filter-label{color:var(--text-secondary);display:block;font-size:14px;margin-bottom:8px}.devices__select{-webkit-appearance:none;appearance:none;background:var(--card-bg);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;height:44px;min-width:220px;padding:0 32px 0 12px;transition:border-color .2s,box-shadow .2s,background .2s}.devices__select:hover{background:var(--input-bg);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-color:var(--gray-light)}.devices__select:focus,.devices__select:hover{background-position:right 8px center;background-repeat:no-repeat;background-size:16px}.devices__select:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232196f3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-color:var(--primary);box-shadow:0 0 0 3px #2196f326;outline:none}.devices__select option{background:var(--card-bg);color:var(--text-primary);padding:8px 12px}.devices__actions{align-items:center;display:flex;gap:12px}.devices__create-btn{align-items:center;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;height:44px;padding:0 16px;transition:background .2s,transform .2s}.devices__create-btn:hover{box-shadow:0 4px 12px #2196f34d;transform:translateY(-1px)}.devices__create-btn:active{transform:translateY(0)}.devices__clear{background:var(--danger);border:none;border-radius:8px;color:var(--text-inverse);cursor:pointer;font-size:14px;font-weight:600;height:44px;padding:0 16px;transition:background .2s,transform .2s}.devices__clear:hover{background:#d32f2f}.devices__clear:active{transform:translateY(1px)}@media(min-width:641px){.devices__clear{margin-left:auto}}@media(max-width:640px){.devices__toolbar{align-items:stretch}.devices__clear,.devices__select{width:100%}}.devices__title{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 24px;position:relative}.devices__title:after{background:linear-gradient(90deg,var(--primary),#64b5f6);border-radius:2px;bottom:-8px;content:"";height:3px;left:0;position:absolute;width:60px}.devices__grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}@media(max-width:1200px){.devices__grid{gap:18px;grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.devices__grid{gap:16px;grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.devices__grid{gap:16px;grid-template-columns:1fr}}.device-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 12px var(--shadow-color);display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transition:all .3s ease;will-change:transform}.device-card:hover{box-shadow:0 8px 25px var(--shadow-color-hover);transform:translateY(-4px)}.device-card__image{align-items:center;background:var(--input-bg);display:flex;height:240px;justify-content:center;overflow:hidden;position:relative;width:100%;will-change:opacity}.device-card__image:before{background:var(--input-bg);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.device-card__image.loading:before{opacity:1}.device-card__image.loaded:before{opacity:0}.device-card__image img{background:var(--card-bg);object-fit:contain;transition:transform .3s ease,opacity .3s ease;width:100%}.device-card__image.loaded img{opacity:1}.device-card__image img:hover{transform:scale(1.05)}.device-card__content{display:flex;flex:1 1;flex-direction:column;padding:16px}.device-card__name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:16px;font-weight:700;line-height:1.3;margin-bottom:12px;min-height:40px;overflow:hidden}.device-card__meta{align-items:center;border-top:1px solid var(--border-color);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:14px;gap:8px;margin-top:auto;padding-top:12px}.device-card__type{color:var(--text-secondary);font-weight:500}.device-card__unit{border-radius:6px;padding:2px 6px}.device-card__status,.device-card__unit{background:var(--input-bg);color:var(--text-primary);font-size:12px}.device-card__status{border-radius:999px;padding:2px 8px}.device-card__status--online{background:#e8f5e9;color:#2e7d32}.device-card__status--offline{background:#ffebee;color:#c62828}.device-card__actions{display:flex;gap:8px;position:absolute;right:8px;top:8px;z-index:1}.device-card__action{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;box-shadow:0 2px 8px var(--shadow-color);color:var(--text-primary);cursor:pointer;display:flex;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.device-card__action:hover{background:var(--input-bg);box-shadow:0 2px 8px var(--shadow-color-hover);transform:scale(1.1)}.device-card__action--star.is-active{color:#f9a825}.devices__loading-more{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 20px var(--shadow-color);display:flex;flex-direction:column;justify-content:center;margin-top:20px;padding:40px 20px}.devices__loading-more p{color:var(--text-secondary);font-size:14px;font-weight:500;margin:16px 0 0}.devices__end{align-items:center;background:var(--input-bg);border:1px solid var(--border-color);border-radius:16px;display:flex;justify-content:center;margin-top:20px;padding:40px 20px}.devices__end p{color:var(--text-secondary);font-size:14px;font-weight:500;margin:0;text-align:center}.device-card,.device-card__image{contain:layout style paint}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.device-card__image.loading:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--input-bg) 25%,var(--border-color) 50%,var(--input-bg) 75%);background-size:200px 100%;border-radius:8px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.edit-patient-modal .ant-modal-content{background:var(--modal-bg);border:1px solid var(--modal-border);border-radius:var(--border-radius-lg);box-shadow:0 20px 60px var(--shadow-color-modal);padding:0}.edit-patient-modal .ant-modal-body{border-radius:var(--border-radius-lg);padding:0}.edit-patient-modal__content{padding:var(--spacing-4xl)}.edit-patient-modal__header{margin-bottom:var(--spacing-3xl);text-align:center}.edit-patient-modal__icon{align-items:center;background:linear-gradient(135deg,var(--icon-bg-start),var(--icon-bg-end));border-radius:50%;box-shadow:0 8px 25px var(--icon-shadow);color:#fff;display:flex;height:var(--icon-size);justify-content:center;margin:0 auto var(--spacing-lg);width:var(--icon-size)}.edit-patient-modal__icon svg{filter:drop-shadow(0 2px 4px var(--icon-filter))}.edit-patient-modal__title{color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-xl);font-weight:700;margin:0 0 8px}.edit-patient-modal__subtitle{color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-base);margin:0}.edit-patient-modal__form{margin-bottom:var(--spacing-3xl)}.edit-patient-modal__form-row{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:var(--grid-columns);margin-bottom:var(--spacing-xl)}@media(max-width:var(--breakpoint-mobile )){.edit-patient-modal__form-row{gap:var(--spacing-lg);grid-template-columns:var(--grid-columns-mobile)}}.edit-patient-modal__form-group{display:flex;flex-direction:column;margin-bottom:var(--spacing-xl)}.edit-patient-modal__label{color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-sm)}.edit-patient-modal__input,.edit-patient-modal__select,.edit-patient-modal__textarea{background:var(--input-bg);border:2px solid var(--input-border);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-lg);transition:var(--transition-all)}.edit-patient-modal__input:focus,.edit-patient-modal__select:focus,.edit-patient-modal__textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus-shadow);outline:none}.edit-patient-modal__input::placeholder,.edit-patient-modal__select::placeholder,.edit-patient-modal__textarea::placeholder{color:var(--text-placeholder)}.edit-patient-modal__input--error,.edit-patient-modal__input--error:focus,.edit-patient-modal__select--error,.edit-patient-modal__select--error:focus,.edit-patient-modal__textarea--error,.edit-patient-modal__textarea--error:focus{border-color:var(--input-error-border);box-shadow:0 0 0 3px var(--error-focus-shadow)}.edit-patient-modal__textarea{line-height:1.5;min-height:80px;resize:vertical}.edit-patient-modal__select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right var(--spacing-md) center;background-repeat:no-repeat;background-size:16px 12px;cursor:pointer;padding-right:var(--spacing-4xl)}.edit-patient-modal__error{color:var(--error-text);font-family:var(--font-family);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.edit-patient-modal__submit-error{background:var(--error-bg-light);border:1px solid var(--error-border-light);border-radius:var(--border-radius-sm);color:var(--error-text-light);font-family:var(--font-family);font-size:var(--font-size-sm);margin-top:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.edit-patient-modal__actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}@media(max-width:var(--breakpoint-small )){.edit-patient-modal__actions{flex-direction:column}}.edit-patient-modal__button{align-items:center;border:none;border-radius:var(--border-radius-sm);cursor:pointer;display:flex;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:600;gap:var(--spacing-sm);height:var(--button-height);justify-content:center;min-width:var(--button-min-width);padding:var(--spacing-md) var(--spacing-2xl);transition:var(--transition-all)}.edit-patient-modal__button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.edit-patient-modal__button--primary{background:linear-gradient(135deg,var(--button-primary-start),var(--button-primary-end));box-shadow:0 2px 4px var(--primary-shadow);color:#fff}.edit-patient-modal__button--primary:hover:not(:disabled){background:linear-gradient(135deg,var(--button-primary-hover-start),var(--button-primary-hover-end));box-shadow:0 4px 8px var(--primary-shadow-hover);transform:translateY(-2px)}.edit-patient-modal__button--primary:active:not(:disabled){transform:translateY(0)}.edit-patient-modal__button--secondary{background:var(--button-secondary-bg);border-color:var(--button-secondary-border);color:var(--button-secondary-text)}.edit-patient-modal__button--secondary:hover:not(:disabled){background:var(--button-secondary-hover-bg);border-color:var(--button-secondary-hover-border)}.edit-patient-modal__loading{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:center}.edit-patient-modal__spinner{animation:spin 1s linear infinite;border:var(--spinner-border-width) solid #0000;border-radius:50%;border-top:var(--spinner-border-width) solid var(--spinner-color);height:var(--spinner-size);width:var(--spinner-size)}.dark .edit-patient-modal .ant-modal-content,.edit-patient-modal.dark-mode .ant-modal-content{background:var(--modal-bg);border-color:var(--card-border)}.dark .edit-patient-modal__title,.edit-patient-modal.dark-mode__title{color:var(--text-primary)}.dark .edit-patient-modal__subtitle,.edit-patient-modal.dark-mode__subtitle{color:var(--text-secondary)}.dark .edit-patient-modal__label,.edit-patient-modal.dark-mode__label{color:var(--text-primary)}.dark .edit-patient-modal__input,.dark .edit-patient-modal__select,.dark .edit-patient-modal__textarea,.edit-patient-modal.dark-mode__input,.edit-patient-modal.dark-mode__select,.edit-patient-modal.dark-mode__textarea{background:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}.dark .edit-patient-modal__input::placeholder,.dark .edit-patient-modal__select::placeholder,.dark .edit-patient-modal__textarea::placeholder,.edit-patient-modal.dark-mode__input::placeholder,.edit-patient-modal.dark-mode__select::placeholder,.edit-patient-modal.dark-mode__textarea::placeholder{color:var(--text-muted)}.dark .edit-patient-modal__submit-error,.edit-patient-modal.dark-mode__submit-error{background:var(--error-bg-light);border-color:var(--error-border-light)}.dark .edit-patient-modal__button--secondary,.edit-patient-modal.dark-mode__button--secondary{background:var(--button-secondary-bg);border-color:var(--button-secondary-border);color:var(--button-secondary-text)}.dark .edit-patient-modal__button--secondary:hover:not(:disabled),.edit-patient-modal.dark-mode__button--secondary:hover:not(:disabled){background:var(--button-secondary-hover-bg);border-color:var(--button-secondary-hover-border)}.login-container{align-items:center;background:linear-gradient(120deg,#e0eafc,#cfdef3);display:flex;justify-content:center;min-height:100vh}.login-container .login-form{background:var(--card-bg);border-radius:16px;box-shadow:0 4px 32px #2196f314;display:flex;flex-direction:column;gap:18px;min-width:340px;padding:36px 32px 28px}.login-container .login-form .login-logo{background:var(--card-bg);border-radius:12px;box-shadow:0 2px 8px #2196f314;display:block;height:90px;margin:0 auto;object-fit:contain;width:90px}.login-container .login-form h2{color:#2196f3;font-weight:700;margin-bottom:8px;text-align:center}.login-container .login-form .form-description{color:var(--text-secondary);font-size:.95rem;line-height:1.4;margin-bottom:8px;text-align:center}.login-container .login-form .form-group{display:flex;flex-direction:column;gap:6px;position:relative}.login-container .login-form .form-group label{color:var(--text-primary);font-size:1rem;font-weight:500}.login-container .login-form .form-group input{border:var(--border-color);border-radius:8px;font-size:1rem;outline:none;padding:10px 12px;transition:border .2s}.login-container .login-form .form-group input:focus{border:1.5px solid #2196f3}.login-container .login-form .form-group .toggle-password{align-items:center;background:none;border:none;cursor:pointer;display:flex;padding:0;position:absolute;right:12px;top:36px}.login-container .login-form button[type=submit]{background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.08rem;font-weight:600;margin-top:8px;padding:10px 0;transition:background .2s}.login-container .login-form button[type=submit]:hover{background:#1769aa}.login-container .login-form .login-actions{display:flex;gap:10px;justify-content:space-between;margin-top:10px}.login-container .login-form .login-actions .link-btn{background:none;border:none;color:#2196f3;cursor:pointer;font-size:1rem;padding:0;text-decoration:underline;transition:color .2s}.login-container .login-form .login-actions .link-btn:hover{color:#1769aa}.login-container .login-form .error{color:#f44336;font-size:.98rem;margin-bottom:4px;margin-top:-8px;text-align:center}.login-container .login-form .success{background:#e8f5e8;border:1px solid #c8e6c9;border-radius:6px;color:#4caf50;font-size:.98rem;margin-bottom:4px;margin-top:-8px;padding:8px 12px;text-align:center}.patients__error,.patients__loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.patients__error p,.patients__loading p{color:var(--gray);font-size:1.1rem;margin:16px 0}.patients__error button,.patients__loading button{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background .2s}.patients__error button:hover,.patients__loading button:hover{background:#1976d2}.patients__loading .loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border-color);border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}.patients__error p{color:var(--danger)}.page-size{align-items:center;display:inline-flex;gap:8px}.page-size__label{color:var(--text-secondary);font-size:.95rem}.page-size__select{background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);height:32px;outline:none;padding:4px 10px;transition:all .2s ease}.page-size__select:hover{border-color:var(--border-color)}.page-size__select:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31f}.patients{background-color:var(--card-bg);border-radius:8px;margin:24px;padding:24px 32px}.patients__tabs{align-items:center;border-bottom:2px solid var(--border-color);display:flex;padding:0 0 24px}.patients__tab{background:none;border:none;border-bottom:2px solid #0000;color:#757575;cursor:pointer;font-size:1rem;margin-bottom:-2px;padding:12px 24px;transition:all .2s}.patients__tab.active{border-bottom-color:var(--primary);color:var(--primary)}.patients__tab:hover:not(.active){color:#5c5c5c}.patients__tab-actions{display:flex;gap:12px;margin-left:auto}.patients__add-btn{align-items:center;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;padding:10px 20px;transition:background .2s}.patients__add-btn:hover{background:#1976d2}.patients__filter{align-items:center;background:#e3f2fd;border:none;border-radius:8px;color:var(--primary);cursor:pointer;display:flex;font-size:.95rem;gap:8px;padding:8px 16px;transition:all .2s}.patients__filter:hover{background:#cbe7fb}.patients__content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;margin-top:24px;padding:24px}.patients__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.patients__title-section{align-items:center;display:flex;gap:8px}.patients__list-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.patients__status-list{align-items:center;display:flex;gap:24px}.patients__status-title{align-items:center;color:var(--text-primary);display:flex;font-size:.9rem;font-weight:600;gap:8px}.patients__status-items{align-items:center;display:flex;gap:16px}.patients__status-item{align-items:center;color:#757575;display:flex;font-size:.9rem;gap:6px}.patients__table{border-collapse:initial;border-spacing:0;margin-bottom:24px;table-layout:fixed;width:100%}.patients__table td,.patients__table th{overflow:hidden;padding:12px 8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.patients__table th{border-bottom:2px solid #e3f2fd;color:#757575;font-size:.9rem;font-weight:600}.patients__table td{border-bottom:1px solid #e3f2fd;font-size:.95rem}.patients__table td:first-child,.patients__table th:first-child{width:15%}.patients__table td:nth-child(2),.patients__table th:nth-child(2){width:25%}.patients__table td:nth-child(3),.patients__table th:nth-child(3){width:15%}.patients__table td:nth-child(4),.patients__table th:nth-child(4){width:25%}.patients__table td:nth-child(5),.patients__table th:nth-child(5){width:15%}.patients__table td:nth-child(6),.patients__table th:nth-child(6){width:5%}.patients__table .patient-info{align-items:center;display:flex;gap:12px}.patients__table .patient-avatar{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-size:.8rem;font-weight:600;height:32px;justify-content:center;width:32px}.patients__table .contact-actions{align-items:center;display:flex;gap:8px}.patients__table .contact-btn,.patients__table .more-btn,.patients__table .view-detail-btn{background:none;border:none;border-radius:50%;color:#757575;cursor:pointer;padding:8px;transition:background .2s}.patients__table .contact-btn:hover,.patients__table .more-btn:hover,.patients__table .view-detail-btn:hover{background:var(--input-bg)}.patients__table .view-detail-btn:hover{background:#e3f2fd}.patients__table .view-detail-btn:hover svg circle,.patients__table .view-detail-btn:hover svg path{stroke:#0d47a1}.patients__table .patients__table-row{transition:all .2s ease}.patients__table .patients__table-row:hover{background:#e3f2fd;box-shadow:0 2px 8px #2196f31a;cursor:pointer;transform:scale(1.01)}.patients__pagination{align-items:center;display:flex;justify-content:space-between;margin-top:32px}.patients .pagination-left{align-items:center;display:flex;gap:16px}.patients .pagination-right{align-items:center;display:flex;gap:8px}.patients .pagination-btn{background:none;border:none;color:#757575;cursor:pointer;padding:8px 16px;transition:color .2s}.patients .pagination-btn:hover{color:var(--primary)}.patients .pagination-btn[disabled]{cursor:not-allowed;opacity:.5}.patients .pagination-numbers{align-items:center;display:flex;gap:4px}.patients .pagination-number{background:none;border:none;border-radius:8px;color:#757575;cursor:pointer;min-width:40px;padding:8px 12px;transition:all .2s}.patients .pagination-number:hover:not(.active){background:var(--input-bg)}.patients .pagination-number.active{background:var(--primary);color:#fff}.patients .pagination-number:disabled{color:#bbb;cursor:default}.patients .pagination-info{color:#757575;font-size:.95rem}.patients .pagination-info span{color:var(--text-primary);font-weight:500}@media(max-width:768px){.patients{padding:16px}.patients__tabs{flex-wrap:wrap;gap:8px}.patients__tab-actions{justify-content:flex-end;margin-left:0;margin-top:16px;width:100%}.patients__header,.patients__status-list{align-items:flex-start;flex-direction:column;gap:16px}.patients__status-items{flex-wrap:wrap}.patients__table{display:block;overflow-x:auto;white-space:nowrap}.patients__pagination{align-items:center;flex-direction:column;gap:24px}.patients .pagination-left{order:-1}}.theme-toggle{background:var(--border-color);border:2px solid #0000;border-radius:15px;cursor:pointer;height:30px;position:relative;transition:all .3s ease;width:60px}.theme-toggle:hover{transform:scale(1.05)}.theme-toggle--light{background:linear-gradient(135deg,gold,orange);border-color:gold}.theme-toggle--light .theme-toggle__icon{color:#ff8c00;transform:translateX(0)}.theme-toggle--dark{background:linear-gradient(135deg,#4a90e2,#7b68ee);border-color:#4a90e2}.theme-toggle--dark .theme-toggle__icon{color:#fff;transform:translateX(30px)}.theme-toggle--system{background:linear-gradient(135deg,#9c27b0,#e91e63);border-color:#9c27b0}.theme-toggle--system .theme-toggle__icon{color:#fff;transform:translateX(15px)}.theme-toggle__icon{align-items:center;display:flex;height:20px;justify-content:center;left:3px;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:20px}.theme-toggle__icon svg{height:16px;width:16px}.theme-toggle__indicator{background:#ffffffe6;border-radius:50%;height:20px;opacity:.8;position:absolute;right:3px;top:50%;transform:translateY(-50%);transition:all .3s ease;width:20px}.theme-menu-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease}.theme-menu-item:hover{background:var(--sidebar-hover-bg)}.theme-menu-item--active{background:var(--sidebar-active-bg);color:var(--sidebar-active-color);font-weight:500}.theme-menu-item__icon{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.theme-menu-item__label{font-size:14px;font-weight:500}.theme-menu-item__status{background:var(--success);border-radius:50%;height:8px;margin-left:auto;width:8px}.theme-menu-item__status--inactive{background:var(--gray-light)}.theme-preview{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:12px;transition:all .2s ease}.theme-preview:hover{border-color:var(--primary);box-shadow:0 2px 8px var(--shadow-color)}.theme-preview__header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.theme-preview__title{color:var(--text-primary);font-size:14px;font-weight:600}.theme-preview__description{color:var(--text-secondary);font-size:12px;line-height:1.4}.theme-preview__colors{display:flex;gap:4px;margin-top:8px}.theme-preview__colors .color-swatch{border:2px solid var(--card-bg);border-radius:50%;box-shadow:0 1px 3px var(--shadow-color);height:16px;width:16px}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}body,html{background-color:var(--main-bg)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}body,code{color:var(--text-primary)}code{background-color:var(--card-bg);border-radius:4px;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;padding:2px 4px}.card,.header,.modal,.sidebar{background-color:var(--card-bg);border-color:var(--card-border)}input,select,textarea{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}input::placeholder,select::placeholder,textarea::placeholder{color:var(--text-muted)}button{transition:all .2s ease}button:hover{box-shadow:var(--shadow-color-hover);transform:translateY(-1px)}button:active{transform:translateY(0)}.not-found{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-height:80vh;padding:20px}.not-found__container{background:var(--card-bg);border-radius:16px;box-shadow:0 4px 20px var(--shadow-color);max-width:900px;padding:60px 40px;width:100%}.not-found__content{align-items:center;display:flex;gap:60px}@media(max-width:768px){.not-found__content{flex-direction:column;gap:40px;text-align:center}}.not-found__text{display:flex;flex:1 1;flex-direction:column;gap:20px}.not-found__title{color:var(--text-primary);font-size:4rem;font-weight:700;line-height:1;margin:0}.not-found__subtitle{color:var(--text-primary);font-size:1.8rem;font-weight:600;line-height:1.2;margin:0}.not-found__description{color:var(--text-secondary);font-size:1.1rem;line-height:1.5;margin:0;max-width:400px}.not-found__button{align-items:center;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;padding:12px 24px;transition:background .2s;width:-webkit-fit-content;width:fit-content}.not-found__button:hover{background:#1976d2}.not-found__button svg{height:16px;width:16px}.not-found__illustration{align-items:center;display:flex;flex:1 1;justify-content:center}.not-found__image{height:auto;max-height:400px;max-width:100%;object-fit:contain}.sidebar{background:var(--sidebar-bg);border-bottom-right-radius:var(--sidebar-radius);border-top-right-radius:var(--sidebar-radius);box-shadow:var(--sidebar-shadow);color:var(--sidebar-link-color);display:flex;flex-direction:column;height:100vh;justify-content:space-between;left:0;overflow:hidden;padding:0;position:fixed;top:0;transition:width var(--animation-duration) cubic-bezier(.4,0,.2,1);width:var(--sidebar-width);z-index:100}.sidebar--collapsed{width:var(--sidebar-collapsed-width)}.sidebar--collapsed .sidebar__logo-row{justify-content:center;padding:24px 12px}.sidebar--collapsed .sidebar__logo-row .sidebar__logo{margin-right:15px}.sidebar--collapsed .sidebar__logo-row .sidebar__collapse-btn{right:-12px;top:40px}.sidebar--collapsed .sidebar__nav{padding:24px 8px}.sidebar--collapsed .sidebar__icon{margin-right:0}.sidebar--collapsed .sidebar__bottom{padding:0 8px 24px}.sidebar--collapsed .sidebar__bottom-link{justify-content:center;padding:12px 8px}.sidebar--collapsed .sidebar__bottom-link .sidebar__icon{margin-right:0}.sidebar--collapsed .sidebar__bottom-link,.sidebar--collapsed .sidebar__item{position:relative}.sidebar__top{align-items:center;border-bottom:.5px solid var(--border-color);box-sizing:border-box;display:flex;height:80px;padding:0 24px}.sidebar__logo-row{align-items:center;display:flex;gap:10px;height:100%;justify-content:flex-start;position:relative;width:100%}.sidebar__logo{border-radius:8px;height:50px;width:50px}.sidebar__logo:hover{transform:rotate(1turn)}.sidebar__title{color:var(--sidebar-title-color);font-size:1.5rem;font-weight:700;letter-spacing:-1px;margin-left:8px;overflow:hidden;white-space:nowrap}.sidebar__collapse-btn{background:none;border:none;border-radius:50%;cursor:pointer;padding:8px;position:absolute;right:-35px;top:25%;transform:translateY(-50%);transition:all var(--quick-transition) ease-in-out;z-index:2}.sidebar__collapse-btn:hover{background:var(--sidebar-hover-bg)}.sidebar__collapse-btn:hover svg circle{fill:var(--text-muted)}.sidebar__collapse-btn:active{transform:scale(.95)}.sidebar__nav{flex:1 1;height:100%;overflow-y:auto;padding:24px 16px;transition:padding var(--animation-duration) ease-in-out}.sidebar__nav::-webkit-scrollbar{width:4px}.sidebar__nav::-webkit-scrollbar-track{background:#0000}.sidebar__nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.sidebar__nav::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sidebar__nav ul{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.sidebar__nav ul li{animation:slideInLeft .4s ease-out forwards;opacity:0}.sidebar__nav ul li:first-child{animation-delay:.1s}.sidebar__nav ul li:nth-child(2){animation-delay:.15s}.sidebar__nav ul li:nth-child(3){animation-delay:.2s}.sidebar__nav ul li:nth-child(4){animation-delay:.25s}.sidebar__nav ul li:nth-child(5){animation-delay:.3s}.sidebar__item{align-items:center;border-radius:12px;color:var(--sidebar-link-color);display:flex;font-size:1.08rem;font-weight:500;gap:12px;margin-bottom:4px;overflow:hidden;padding:14px 16px;position:relative;text-decoration:none;transition:all var(--quick-transition) ease-in-out}.sidebar__item:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease-in-out;width:100%}.sidebar__item:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-active-color);transform:translateX(4px)}.sidebar__item:hover:before{left:100%}.sidebar__item:hover .sidebar__icon svg path{fill:var(--sidebar-active-color)}.sidebar__item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-color)}.sidebar__item.active:after{animation:slideInIndicator var(--quick-transition) ease-out;background:var(--sidebar-active-color);border-radius:0 4px 4px 0;content:"";height:28px;left:-16px;position:absolute;top:50%;transform:translateY(-50%);width:4px}.sidebar__item.active .sidebar__icon svg path{fill:var(--sidebar-active-color)}.sidebar__icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.sidebar__icon,.sidebar__icon svg{transition:all var(--quick-transition) ease-in-out}.sidebar__icon svg{height:20px;width:20px}.sidebar__icon svg path{transition:fill var(--quick-transition) ease-in-out}.sidebar__text{flex:1 1;overflow:hidden;white-space:nowrap}.sidebar__bottom{flex-shrink:0;padding:0 16px 24px;transition:padding var(--animation-duration) ease-in-out}.sidebar__bottom-links{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.sidebar__bottom-link{align-items:center;border-radius:10px;color:var(--sidebar-bottom-color);cursor:pointer;display:flex;font-size:1rem;gap:12px;padding:10px 12px;position:relative;transition:all var(--quick-transition) ease-in-out}.sidebar__bottom-link:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-active-color);transform:translateX(2px)}.sidebar__bottom-link .sidebar__icon{height:20px;width:20px}.sidebar__bottom-text{font-size:1rem;overflow:hidden;white-space:nowrap}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInIndicator{0%{height:0;opacity:0}to{height:28px;opacity:1}}@keyframes tooltipSlideIn{0%{opacity:0;transform:translateY(-50%) translateX(-8px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}@media(max-width:768px){.sidebar{transform:translateX(0);transition:width var(--animation-duration) ease-in-out;z-index:1001}.sidebar--collapsed{width:var(--sidebar-collapsed-width)}.sidebar:not(.sidebar--collapsed){width:var(--sidebar-width)}}.sidebar--loading .sidebar__nav ul li{animation:none;opacity:.3}.layout-container{min-height:100vh}.layout-container,.layout-main{background-color:var(--main-bg);display:flex}.layout-main{flex:1 1;flex-direction:column}.layout-header{padding:16px}.layout-footer,.layout-header{background:var(--header-bg);color:var(--text-primary);text-align:center}.layout-footer{margin-top:auto;padding:12px}main{background-color:var(--main-bg);color:var(--text-primary);flex:1 1;padding:32px}@media(max-width:768px){.page-content{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 72px);width:100%}}.main-content{background-color:var(--main-bg);overflow-x:hidden}@media(max-width:768px){.main-content{max-width:calc(100vw - 70px)!important;width:calc(100vw - 70px)!important}.main-content .homepage{max-width:100%!important;width:100%!important}.main-content .homepage__content{align-items:center;display:flex;flex-direction:column;justify-content:center;max-width:100%;min-height:calc(100vh - 72px);padding:1rem;width:100%}}.patient-detail__error,.patient-detail__loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.patient-detail__error p,.patient-detail__loading p{color:var(--gray);font-size:1.1rem;margin:16px 0}.patient-detail__error button,.patient-detail__loading button{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background .2s}.patient-detail__error button:hover,.patient-detail__loading button:hover{background:#1976d2}.patient-detail__loading .loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border-color);border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}.patient-detail__error p{color:var(--danger)}.patient-detail{padding:24px}.patient-detail__card{background:var(--main-bg);border:var(--main-border);border-radius:16px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;justify-content:space-between;margin-bottom:18px;padding:24px 32px 16px;position:relative}.patient-detail__info{align-items:center;display:flex;gap:18px}.patient-detail__avatar{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px 0 var(--shadow-color);height:64px;object-fit:cover;width:64px}.patient-detail__main{display:flex;flex-direction:column;gap:2px;min-width:180px}.patient-detail__name-row{align-items:center;display:flex;font-size:1.2rem;font-weight:700;gap:10px}.patient-detail__name{color:var(--text-primary);font-size:1.18rem;font-weight:700}.patient-detail__status{align-items:center;background:var(--input-bg);border-radius:12px;color:var(--text-primary);display:flex;font-size:.98rem;font-weight:500;gap:4px;padding:2px 10px}.patient-detail__status-dot{border-radius:50%;display:inline-block;height:10px;margin-right:8px;width:10px}.patient-detail__status-dot--purple{background:var(--purple)}.patient-detail__status-dot--blue{background:var(--pending)}.patient-detail__status-dot--red{background:var(--danger)}.patient-detail__status-dot--green{background:var(--success)}.patient-detail__type-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.patient-detail__type-badge--temp{background:var(--card-bg) 3;color:#f57c00}.patient-detail__type-badge--bp{background:#e8f5e8;color:#388e3c}.patient-detail__type-badge--hr{background:#fce4ec;color:#c2185b}.patient-detail__type-badge--spo2{background:var(--light-blue);color:#1976d2}.patient-detail__type-badge--weight{background:#f3e5f5;color:#7b1fa2}.patient-detail__type-badge--glucose{background:var(--card-bg) 80;color:#fbc02d}.patient-detail__pagination{align-items:center;border:var(--border-color);display:flex;gap:16px;justify-content:center;margin-top:24px;padding-top:16px}.patient-detail__pagination-btn{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background .2s}.patient-detail__pagination-btn:hover:not(:disabled){background:#1976d2}.patient-detail__pagination-btn:disabled{background:#ccc;cursor:not-allowed}.patient-detail__pagination-info{color:var(--gray);font-size:.9rem}.patient-detail__search-btn{align-items:center;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:8px 16px;transition:all .2s}.patient-detail__search-btn:hover:not(:disabled){background:#1976d2}.patient-detail__search-btn:disabled{background:#ccc;cursor:not-allowed}.patient-detail__search-btn svg{height:16px;width:16px}.patient-detail__search-btn .search-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.patient-detail__desc{color:var(--text-muted);font-size:1rem;margin-bottom:2px}.patient-detail__contact{align-items:start;border:var(--border-color);color:#b0b0b0;display:flex;flex-direction:column;font-size:1rem;gap:8px;justify-content:center;margin-top:4px;min-width:200px;padding-left:24px}.patient-detail__email,.patient-detail__phone{color:#b0b0b0;font-size:.95rem;text-align:center;word-break:break-word}.patient-detail__actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}.patient-detail__action{background:var(--light-blue);border:none;border-radius:8px;color:var(--primary);cursor:pointer;font-size:1rem;font-weight:500;padding:6px 16px;transition:background .18s}.patient-detail__action--alert{background:var(--light-blue);color:var(--primary);font-weight:600}.patient-detail__action:hover{background:var(--light-blue)}.patient-detail__edit-remove{align-items:flex-end;display:flex;flex-direction:column;gap:10px;position:absolute;right:32px;top:24px}.patient-detail__edit-btn{align-items:center;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:6px;margin-bottom:6px;padding:7px 18px;transition:background .18s}.patient-detail__edit-btn:hover{background:#0d47a1}.patient-detail__change-password-btn{align-items:center;background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:6px;margin-bottom:6px;padding:7px 18px;transition:background .18s}.patient-detail__change-password-btn:hover{background:#45a049}.patient-detail__remove-btn{align-items:center;background:#ffeaea;border:none;border-radius:8px;color:var(--danger);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:6px;padding:7px 18px;transition:background .18s}.patient-detail__remove-btn:hover{background:#ffd6d6}.patient-detail__tabs{align-items:center;border:var(--border-color);display:flex;gap:24px;justify-content:space-between;margin:0 0 18px;padding-left:8px}.patient-detail__tabs-left{display:flex;gap:24px}.patient-detail__reload-btn,.patient-detail__tabs-right{align-items:center;display:flex}.patient-detail__reload-btn{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s}.patient-detail__reload-btn:hover{background:#1976d2;transform:translateY(-1px)}.patient-detail__reload-btn:active{transform:translateY(0)}.patient-detail__reload-btn svg{height:16px;width:16px}.patient-detail__tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;font-size:1.08rem;font-weight:500;padding:10px 0 8px;transition:color .18s,border .18s}.patient-detail__tab--active{border-bottom:2px solid var(--primary);color:var(--primary)}.patient-detail__overview{background:var(--main-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--card-shadow);margin-bottom:18px;padding:24px 32px}.patient-detail__overview-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:18px}.patient-detail__overview-title{color:var(--text-primary);font-size:1.18rem;font-weight:600}.patient-detail__overview-controls{align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:1rem;gap:10px}.patient-detail__overview-today{background:var(--light-blue);border:none;border-radius:8px;color:var(--primary);cursor:pointer;font-size:1rem;font-weight:500;margin-right:8px;padding:4px 12px;transition:background .18s,box-shadow .18s,transform .1s}.patient-detail__overview-today:hover{background:var(--light-blue)}.patient-detail__overview-today:focus{box-shadow:0 0 0 3px #2196f326;outline:none}.patient-detail__overview-today:active{transform:translateY(1px)}.patient-detail__overview-today.is-active{background:var(--primary);color:#fff}.patient-detail__overview-today.is-active:hover{background:#1565c0}.patient-detail__overview-today.is-active:focus{box-shadow:0 0 0 3px #2196f340}.patient-detail__overview-arrow{align-items:center;background-color:var(--card-bg);border:1px solid var(--Grey200,#f0f0f0);border-radius:5px;color:var(--text-muted);cursor:pointer;display:flex;font-size:1.1rem;height:28px;justify-content:center;margin:0 2px;width:28px}.patient-detail__overview-arrow:hover{background:var(--light-blue)}.patient-detail__overview-time{align-items:center;background:var(--input-bg);border-radius:8px;color:var(--text-primary);display:flex;font-size:1rem;gap:5px;margin:0 2px;padding:4px 10px}.patient-detail__select{-webkit-appearance:none;appearance:none;background-color:var(--card-bg);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;border:1px solid var(--Grey200,#f0f0f0);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:1rem;margin-right:8px;padding:6px 32px 6px 12px;transition:border-color .18s,box-shadow .18s,background .18s}.patient-detail__select:hover{background-color:#fafafa;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-color:#d0d0d0}.patient-detail__select:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232196f3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-color:var(--primary);box-shadow:0 0 0 3px #2196f326;outline:none}.patient-detail__overview-cards{display:flex;flex-direction:column;gap:16px;margin-top:8px}.patient-detail__chart-card{background:var(--card-bg);border:1px solid var(--Grey200,#f0f0f0);border-radius:12px;padding:12px 16px}.patient-detail__chart-title{color:var(--text-secondary);font-size:1.08rem;font-weight:600;margin-bottom:8px}.patient-detail__chart{height:300px;width:100%}.patient-detail__no-data{align-items:center;color:var(--text-secondary,#666);display:flex;flex-direction:column;height:100%;justify-content:center;min-height:200px;padding:40px 20px;text-align:center}.patient-detail__no-data-icon{margin-bottom:16px;opacity:.6}.patient-detail__no-data-text h3{color:var(--text-secondary,#666);font-size:1.1rem;font-weight:500;margin:0 0 8px}.patient-detail__no-data-text p{color:var(--text-tertiary,#999);font-size:.9rem;line-height:1.4;margin:0}.patient-detail__vitals-card{background:var(--card-bg);border:1px solid var(--Grey200,#f0f0f0);border-radius:12px;margin-bottom:12px;min-width:320px;padding:14px 16px}.patient-detail__vitals-title{align-items:center;color:var(--text-muted);display:flex;font-size:1.08rem;font-weight:600;gap:5px;margin-bottom:8px}.patient-detail__vitals-list{display:flex;flex-wrap:wrap;gap:18px 32px;justify-content:space-between}.patient-detail__vitals-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:12px}.patient-detail__vital{color:var(--text-primary);display:flex;flex-direction:column;font-size:1.08rem;min-width:110px}.patient-detail__vital span{color:var(--text-muted);font-size:.98rem;font-weight:400;margin-top:5px}.patient-detail__vital-block{background:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;justify-content:center;min-height:80px;padding:12px;text-align:center;transition:transform .2s}.patient-detail__vital-block:hover{box-shadow:0 2px 8px var(--shadow-color-hover);transform:translateY(-2px)}.patient-detail__vital-value{color:var(--primary);font-size:1.3rem;font-weight:700;line-height:1.2;margin-bottom:6px}.patient-detail__vital-label{color:var(--text-secondary);font-size:.85rem;font-weight:500;line-height:1.2}.patient-detail__history-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;flex:2 1 520px;margin-bottom:18px;min-width:340px;padding:18px 24px}.patient-detail__history-title{align-items:center;color:var(--text-muted);display:flex;font-size:1.08rem;font-weight:600;gap:5px;margin-bottom:10px}.patient-detail__history-table{background:#0000;border-collapse:collapse;table-layout:fixed;width:100%}.patient-detail__history-table td,.patient-detail__history-table th{color:var(--text-primary);font-size:1rem;overflow:hidden;padding:18px 8px;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.patient-detail__history-table th{background:#0000;border-bottom:2px solid #e3f2fd;color:var(--text-muted);font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.patient-detail__history-table td{border-bottom:1px solid #e3f2fd}.patient-detail__history-table td:first-child,.patient-detail__history-table th:first-child{width:20%}.patient-detail__history-table td:nth-child(2),.patient-detail__history-table th:nth-child(2){width:15%}.patient-detail__history-table td:nth-child(3),.patient-detail__history-table th:nth-child(3){width:20%}.patient-detail__history-table td:nth-child(4),.patient-detail__history-table th:nth-child(4){width:25%}.patient-detail__history-table td:nth-child(5),.patient-detail__history-table th:nth-child(5){width:20%}.patient-detail__history-table tbody tr{background:var(--card-bg);min-height:60px;transition:all .2s ease}.patient-detail__history-table tbody tr:hover{background:#e3f2fd;box-shadow:0 2px 8px #2196f31a;cursor:pointer;transform:scale(1.01)}.patient-detail .patients__pagination{align-items:center;display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.patient-detail .pagination-right{display:flex}.patient-detail .pagination-left{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.patient-detail .pagination-btn{background:none;border:none;color:#757575;cursor:pointer;padding:8px 16px;transition:color .2s}.patient-detail .pagination-btn:hover{color:var(--primary)}.patient-detail .pagination-btn[disabled]{cursor:not-allowed;opacity:.5}.patient-detail .pagination-numbers{align-items:center;display:flex;gap:8px}.patient-detail .pagination-number{background:none;border:none;border-radius:8px;color:#757575;cursor:pointer;min-width:40px;padding:8px 12px;transition:all .2s}.patient-detail .pagination-number:hover:not(.active){background:var(--input-bg)}.patient-detail .pagination-number.active{background:var(--primary);color:#fff}.patient-detail .pagination-number:disabled{color:#bbb;cursor:default}.date-range-picker{display:inline-block;position:relative}.date-range-picker__input{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;display:flex;gap:8px;min-width:200px;padding:8px 12px;transition:all .3s ease}.date-range-picker__input:hover{border-color:#adb5bd}.date-range-picker__input:focus-within{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.date-range-picker__text{color:#495057;flex:1 1;font-size:14px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-range-picker__clear{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;padding:2px;transition:all .2s ease}.date-range-picker__clear:hover{background:#f8f9fa;color:#dc3545}.date-range-picker__dropdown{background:#fff;border:1px solid #dee2e6;border-radius:12px;box-shadow:0 8px 24px #00000026;margin-top:4px;min-width:600px;padding:20px;position:absolute;right:-60%;top:100%;z-index:1000}.date-range-picker__navigation{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.date-range-picker__nav-group{display:flex;gap:8px}.date-range-picker__nav-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px;transition:all .3s ease}.date-range-picker__nav-btn:hover{background:#e9ecef;border-color:#adb5bd}.date-range-picker__nav-btn:active{transform:translateY(1px)}.date-range-picker__calendars{display:flex;gap:20px;margin-bottom:20px}.date-range-picker__calendar{flex:1 1}.date-range-picker__calendar-header{margin-bottom:16px;text-align:center}.date-range-picker__calendar-header h3{color:#2c3e50;font-size:16px;font-weight:600;margin:0}.date-range-picker__calendar-grid{width:100%}.date-range-picker__weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.date-range-picker__weekday{color:#6c757d;font-size:12px;font-weight:600;padding:8px 4px;text-align:center}.date-range-picker__days{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.date-range-picker__day{align-items:center;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:32px;justify-content:center;margin:0 auto;transition:all .2s ease;width:32px}.date-range-picker__day:hover{background:#e3f2fd;color:#1976d2}.date-range-picker__day--empty{cursor:default}.date-range-picker__day--empty:hover{background:#0000;color:#495057}.date-range-picker__day--selected{background:#007bff;color:#fff;font-weight:600}.date-range-picker__day--selected:hover{background:#0056b3;color:#fff}.date-range-picker__day--in-range{background:#e3f2fd;color:#1976d2}.date-range-picker__day--disabled{color:#c0c4c8;cursor:not-allowed;opacity:.6}.date-range-picker__day--disabled:hover{background:#0000;color:#c0c4c8}.date-range-picker__day--end,.date-range-picker__day--start{background:#007bff;color:#fff;font-weight:600}.date-range-picker__actions{border-top:1px solid #dee2e6;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.date-range-picker__btn{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.date-range-picker__btn--clear{background:#f8f9fa;border-color:#dee2e6;color:#6c757d}.date-range-picker__btn--clear:hover{background:#e9ecef;border-color:#adb5bd}.date-range-picker__btn--apply{background:#007bff;border-color:#007bff;color:#fff}.date-range-picker__btn--apply:hover{background:#0056b3;border-color:#0056b3}.date-range-picker__btn:active{transform:translateY(1px)}.date-range-picker--dark .date-range-picker__input{background:#404040;border-color:#666;color:#fff}.date-range-picker--dark .date-range-picker__input:hover{border-color:#888}.date-range-picker--dark .date-range-picker__input:focus-within{border-color:#007bff;box-shadow:0 0 0 3px #007bff33}.date-range-picker--dark .date-range-picker__clear,.date-range-picker--dark .date-range-picker__text{color:#adb5bd}.date-range-picker--dark .date-range-picker__clear:hover{background:#495057;color:#dc3545}.date-range-picker--dark .date-range-picker__dropdown{background:#2a2a2a;border-color:#404040;box-shadow:0 8px 24px #0000004d}.date-range-picker--dark .date-range-picker__nav-btn{background:#343a40;border-color:#495057;color:#adb5bd}.date-range-picker--dark .date-range-picker__nav-btn:hover{background:#495057;border-color:#6c757d}.date-range-picker--dark .date-range-picker__calendar-header h3{color:#ecf0f1}.date-range-picker--dark .date-range-picker__day,.date-range-picker--dark .date-range-picker__weekday{color:#adb5bd}.date-range-picker--dark .date-range-picker__day:hover{background:#495057;color:#007bff}.date-range-picker--dark .date-range-picker__day--in-range{background:#1e3a8a;color:#60a5fa}.date-range-picker--dark .date-range-picker__actions{border-top-color:#495057}.date-range-picker--dark .date-range-picker__btn--clear{background:#343a40;border-color:#495057;color:#adb5bd}.date-range-picker--dark .date-range-picker__btn--clear:hover{background:#495057;border-color:#6c757d}@media(max-width:768px){.date-range-picker__dropdown{min-width:320px;padding:16px}.date-range-picker__calendars{flex-direction:column;gap:16px}.date-range-picker__navigation{flex-direction:column;gap:12px}.date-range-picker__nav-group{justify-content:center}}@media(max-width:480px){.date-range-picker__input{min-width:150px}.date-range-picker__dropdown{min-width:280px;padding:12px}.date-range-picker__day{font-size:12px;height:28px;width:28px}.date-range-picker__weekday{font-size:11px;padding:6px 2px}}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.change-password-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:90%}.change-password-modal.dark{background:#2d3748;color:#e2e8f0}.change-password-modal .modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:24px 24px 16px}.dark .change-password-modal .modal-header{border-bottom-color:#4a5568}.change-password-modal .modal-header h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0}.dark .change-password-modal .modal-header h2{color:#e2e8f0}.change-password-modal .modal-header .close-btn{background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;font-size:24px;padding:4px;transition:all .2s}.change-password-modal .modal-header .close-btn:hover:not(:disabled){background:#f7fafc;color:#2d3748}.dark .change-password-modal .modal-header .close-btn:hover:not(:disabled){background:#4a5568;color:#e2e8f0}.change-password-modal .modal-header .close-btn:disabled{cursor:not-allowed;opacity:.5}.change-password-modal .modal-body{padding:24px}.change-password-modal .modal-body .modal-subtitle{color:#718096;font-size:.95rem;margin:0 0 24px}.dark .change-password-modal .modal-body .modal-subtitle{color:#a0aec0}.change-password-modal .modal-body .change-password-form .form-group{margin-bottom:20px}.change-password-modal .modal-body .change-password-form .form-group label{color:#2d3748;display:block;font-weight:500;margin-bottom:8px}.dark .change-password-modal .modal-body .change-password-form .form-group label{color:#e2e8f0}.change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper{position:relative}.change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:12px 50px 12px 16px;transition:all .2s;width:85%}.dark .change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper input{background:#4a5568;border-color:#4a5568;color:#e2e8f0}.dark .change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper input::placeholder{color:#a0aec0}.change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper input.error{border-color:#e53e3e}.change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper input.error:focus{box-shadow:0 0 0 3px #e53e3e1a}.change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper input:disabled{cursor:not-allowed;opacity:.6}.change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper .password-toggle{align-items:center;background:none;border:none;border-radius:4px;color:#3182ce;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s}.change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper .password-toggle:hover:not(:disabled){background:#edf2f7}.dark .change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper .password-toggle:hover:not(:disabled){background:#2d3748}.change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper .password-toggle:disabled{cursor:not-allowed;opacity:.5}.change-password-modal .modal-body .change-password-form .form-group .password-input-wrapper .password-toggle svg{height:16px;width:16px}.change-password-modal .modal-body .change-password-form .form-group .error-message{color:#e53e3e;display:block;font-size:.875rem;margin-top:6px}.change-password-modal .modal-body .change-password-form .form-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:20px}.dark .change-password-modal .modal-body .change-password-form .form-actions{border-top-color:#4a5568}.change-password-modal .modal-body .change-password-form .form-actions .btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .2s}.change-password-modal .modal-body .change-password-form .form-actions .btn:disabled{cursor:not-allowed;opacity:.6}.change-password-modal .modal-body .change-password-form .form-actions .btn.btn-secondary{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568}.dark .change-password-modal .modal-body .change-password-form .form-actions .btn.btn-secondary{background:#4a5568;border-color:#718096;color:#e2e8f0}.change-password-modal .modal-body .change-password-form .form-actions .btn.btn-secondary:hover:not(:disabled){background:#edf2f7}.dark .change-password-modal .modal-body .change-password-form .form-actions .btn.btn-secondary:hover:not(:disabled){background:#2d3748}.change-password-modal .modal-body .change-password-form .form-actions .btn.btn-primary{background:#3182ce;color:#fff}.change-password-modal .modal-body .change-password-form .form-actions .btn.btn-primary:hover:not(:disabled){background:#2c5aa0}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.create-device-modal .ant-modal-content{border-radius:12px;overflow:hidden}.create-device-modal .ant-modal-header{display:none}.create-device-modal .ant-modal-body{padding:0}.create-device-modal__content{display:flex;flex-direction:column;min-height:500px}.create-device-modal__header{align-items:center;border-bottom:1px solid var(--border-light,#e5e5e5);display:flex;gap:16px;margin-bottom:24px;padding:24px}.create-device-modal__icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.create-device-modal__title{color:var(--text-primary,#333);font-size:1.5rem;font-weight:600;margin:0}.create-device-modal__form{display:flex;flex:1 1;flex-direction:column;padding:0 24px}.create-device-modal__form-row{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px;width:100%}.create-device-modal__form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;min-width:0;width:100%}.create-device-modal__form-row .create-device-modal__form-group{margin-bottom:0}.create-device-modal__label{color:var(--text-primary,#333);font-size:.9rem;font-weight:500;margin:0}.create-device-modal__input{background:var(--input-bg,#fff);border:1px solid var(--border-light,#e5e5e5);border-radius:8px;box-sizing:border-box;color:var(--text-primary,#333);font-size:.9rem;height:44px;min-width:0;padding:0 16px;transition:border-color .2s,box-shadow .2s;width:100%}.create-device-modal__input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2196f326;outline:none}.create-device-modal__input--error{border-color:var(--danger);box-shadow:0 0 0 3px #f4433626}.create-device-modal__input::placeholder{color:var(--text-tertiary,#999)}.create-device-modal__select{background:var(--input-bg,#fff);border:1px solid var(--border-light,#e5e5e5);border-radius:8px;box-sizing:border-box;color:var(--text-primary,#333);cursor:pointer;font-size:.9rem;height:44px;min-width:0;padding:0 16px;transition:border-color .2s,box-shadow .2s;width:100%}.create-device-modal__select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2196f326;outline:none}.create-device-modal__select--error{border-color:var(--danger);box-shadow:0 0 0 3px #f4433626}.create-device-modal__file-input{align-content:center;background:var(--input-bg,#fff);border:1px solid var(--border-light,#e5e5e5);border-radius:8px;box-sizing:border-box;color:var(--text-primary,#333);cursor:pointer;font-size:.9rem;height:44px;min-width:0;padding:0 16px;transition:border-color .2s,box-shadow .2s;width:100%}.create-device-modal__file-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2196f326;outline:none}.create-device-modal__file-input--error{border-color:var(--danger);box-shadow:0 0 0 3px #f4433626}.create-device-modal__image-preview{align-items:center;background:var(--bg-secondary,#f9f9f9);border:1px solid var(--border-light,#e5e5e5);border-radius:8px;display:flex;justify-content:center;margin-top:12px;padding:12px}.create-device-modal__preview-image{border-radius:4px;box-shadow:0 2px 8px #0000001a;max-height:150px;max-width:200px;object-fit:cover}.create-device-modal__switch-container{align-items:center;display:flex;justify-content:flex-start;width:100%}.create-device-modal__switch.ant-switch{background-color:#f44336;border:none;border-radius:16px;box-shadow:none;height:32px;min-width:80px;transition:background-color .2s,box-shadow .2s}.create-device-modal__switch.ant-switch:hover{background-color:#d32f2f}.create-device-modal__switch.ant-switch.ant-switch-checked{background-color:#4caf50}.create-device-modal__switch.ant-switch.ant-switch-checked:hover{background-color:#45a049}.create-device-modal__switch.ant-switch .ant-switch-handle{height:20px;top:6px;transition:all .2s;width:20px}.create-device-modal__switch.ant-switch .ant-switch-handle:before{background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026}.create-device-modal__switch.ant-switch .ant-switch-inner{align-content:center;color:#fff;font-size:.8rem;font-weight:500;text-shadow:0 1px 2px #0000004d}.create-device-modal__error{color:var(--danger);font-size:.8rem;margin-top:4px}.create-device-modal__submit-error{background:#f443361a;border:1px solid #f443364d;border-radius:8px;color:var(--danger);font-size:.9rem;margin-bottom:16px;padding:12px 16px;text-align:center}.create-device-modal__actions{border-top:1px solid var(--border-light,#e5e5e5);display:flex;gap:12px;margin-top:auto;padding:24px}.create-device-modal__button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:500;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s}.create-device-modal__button--secondary{background:var(--bg-secondary,#f5f5f5);border:1px solid var(--border-light,#e5e5e5);color:var(--text-primary,#333)}.create-device-modal__button--secondary:hover{background:var(--bg-hover,#e5e5e5)}.create-device-modal__button--secondary:disabled{cursor:not-allowed;opacity:.6}.create-device-modal__button--primary{background:var(--primary);color:#fff}.create-device-modal__button--primary:hover{background:var(--primary-dark)}.create-device-modal__button--primary:disabled{cursor:not-allowed;opacity:.6}.create-device-modal__loading{align-items:center;display:flex;gap:8px}.create-device-modal__spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.create-device-modal.dark-mode .ant-modal-content{background:var(--bg-primary,#1a1a1a);color:var(--text-primary,#fff)}.create-device-modal.dark-mode .create-device-modal__header{border-bottom-color:var(--border-dark,#333)}.create-device-modal.dark-mode .create-device-modal__label,.create-device-modal.dark-mode .create-device-modal__title{color:var(--text-primary,#fff)}.create-device-modal.dark-mode .create-device-modal__file-input,.create-device-modal.dark-mode .create-device-modal__input,.create-device-modal.dark-mode .create-device-modal__select{background:var(--input-bg-dark,#2a2a2a);border-color:var(--border-dark,#333);color:var(--text-primary,#fff)}.create-device-modal.dark-mode .create-device-modal__file-input:focus,.create-device-modal.dark-mode .create-device-modal__input:focus,.create-device-modal.dark-mode .create-device-modal__select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2196f326}.create-device-modal.dark-mode .create-device-modal__file-input::placeholder,.create-device-modal.dark-mode .create-device-modal__input::placeholder,.create-device-modal.dark-mode .create-device-modal__select::placeholder{color:var(--text-tertiary,#666)}.create-device-modal.dark-mode .create-device-modal__switch.ant-switch{background-color:#ef5350;border-radius:16px;height:32px;width:40px}.create-device-modal.dark-mode .create-device-modal__switch.ant-switch:hover{background-color:#f44336}.create-device-modal.dark-mode .create-device-modal__switch.ant-switch.ant-switch-checked{background-color:#66bb6a}.create-device-modal.dark-mode .create-device-modal__switch.ant-switch.ant-switch-checked:hover{background-color:#4caf50}.create-device-modal.dark-mode .create-device-modal__switch.ant-switch .ant-switch-handle{height:20px;top:6px;width:20px}.create-device-modal.dark-mode .create-device-modal__switch.ant-switch .ant-switch-handle:before{background-color:var(--bg-primary,#1a1a1a);border-radius:50%;box-shadow:0 1px 3px #0006}.create-device-modal.dark-mode .create-device-modal__switch.ant-switch .ant-switch-inner{color:#fff;font-size:.8rem;text-shadow:0 1px 2px #00000080}.create-device-modal.dark-mode .create-device-modal__actions{border-top-color:var(--border-dark,#333)}.create-device-modal.dark-mode .create-device-modal__button--secondary{background:var(--bg-secondary-dark,#2a2a2a);border-color:var(--border-dark,#333);color:var(--text-primary,#fff)}.create-device-modal.dark-mode .create-device-modal__button--secondary:hover{background:var(--bg-hover-dark,#333)}.create-device-modal__current-image-container{border-radius:8px;box-shadow:0 2px 8px #0000001a;display:inline-block;overflow:hidden;position:relative;transition:transform .2s ease}.create-device-modal__current-image-container:hover{transform:scale(1.02)}.create-device-modal__current-image{display:block;height:-webkit-max-content;height:max-content;min-height:350px;object-fit:cover;width:100%}.create-device-modal__image-overlay{align-items:center;background:#000000b3;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.create-device-modal__current-image-container:hover .create-device-modal__image-overlay{opacity:1}.create-device-modal__upload-label{align-items:center;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:.9rem;font-weight:500;gap:8px}.create-device-modal__upload-label svg{height:24px;width:24px}.create-device-modal__hidden-file-input{display:none}.create-device-modal__remove-preview{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:8px;top:8px;transition:background-color .2s ease;width:32px}.create-device-modal__remove-preview:hover{background:#000000e6}.create-device-modal__remove-preview svg{height:16px;width:16px}.edit-device-modal .ant-modal-content{border-radius:12px;box-shadow:0 8px 32px #0000001f;overflow:hidden}.edit-device-modal .ant-modal-body{padding:0}.edit-device-modal__header{align-items:center;border-bottom:1px solid var(--border-light,#e5e5e5);display:flex;gap:12px;margin-bottom:24px;padding:24px}.edit-device-modal__icon{align-items:center;background:linear-gradient(135deg,#2196f3,#1976d2);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.edit-device-modal__title{color:var(--text-primary,#333);font-size:1.5rem;font-weight:600;margin:0}.edit-device-modal__subtitle{color:var(--text-secondary,#666);font-size:.9rem;margin:4px 0 0}.edit-device-modal__loading{align-items:center;display:flex;flex-direction:column;gap:16px;padding:40px 24px;text-align:center}.edit-device-modal__loading p{color:var(--text-secondary,#666);font-size:.9rem;margin:0}.edit-device-modal__form{flex:1 1;padding:0 24px}.edit-device-modal__form-row{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px;width:100%}.edit-device-modal__form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;min-width:0;width:100%}.edit-device-modal__form-row .edit-device-modal__form-group{margin-bottom:0}.edit-device-modal__label{color:var(--text-primary,#333);font-size:.9rem;font-weight:500;margin:0}.edit-device-modal__input{background:var(--input-bg,#fff);border:1px solid var(--border-light,#e5e5e5);border-radius:8px;box-sizing:border-box;color:var(--text-primary,#333);font-size:.9rem;height:44px;min-width:0;padding:0 16px;transition:border-color .2s,box-shadow .2s;width:100%}.edit-device-modal__input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2196f326;outline:none}.edit-device-modal__input--error{border-color:var(--danger);box-shadow:0 0 0 3px #f4433626}.edit-device-modal__input::placeholder{color:var(--text-tertiary,#999)}.edit-device-modal__select{background:var(--input-bg,#fff);border:1px solid var(--border-light,#e5e5e5);border-radius:8px;box-sizing:border-box;color:var(--text-primary,#333);cursor:pointer;font-size:.9rem;height:44px;min-width:0;padding:0 16px;transition:border-color .2s,box-shadow .2s;width:100%}.edit-device-modal__select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2196f326;outline:none}.edit-device-modal__select--error{border-color:var(--danger);box-shadow:0 0 0 3px #f4433626}.edit-device-modal__file-input{align-content:center;background:var(--input-bg,#fff);border:1px solid var(--border-light,#e5e5e5);border-radius:8px;box-sizing:border-box;color:var(--text-primary,#333);cursor:pointer;font-size:.9rem;height:44px;min-width:0;padding:0 16px;transition:border-color .2s,box-shadow .2s;width:100%}.edit-device-modal__file-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2196f326;outline:none}.edit-device-modal__file-input--error{border-color:var(--danger);box-shadow:0 0 0 3px #f4433626}.edit-device-modal__image-preview{align-items:center;background:var(--bg-secondary,#f9f9f9);border:1px solid var(--border-light,#e5e5e5);border-radius:8px;display:flex;justify-content:center;margin-top:12px;padding:12px}.edit-device-modal__preview-image{border-radius:4px;box-shadow:0 2px 8px #0000001a;max-height:150px;max-width:200px;object-fit:cover}.edit-device-modal__current-image-container{border-radius:8px;box-shadow:0 2px 8px #0000001a;display:inline-block;overflow:hidden;position:relative;transition:transform .2s}.edit-device-modal__current-image-container:hover{transform:scale(1.02)}.edit-device-modal__current-image{display:block;height:100%;min-height:150px;object-fit:cover;width:100%}.edit-device-modal__image-overlay{align-items:center;background:#000000b3;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s}.edit-device-modal__current-image-container:hover .edit-device-modal__image-overlay{opacity:1}.edit-device-modal__upload-label{align-items:center;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:.9rem;font-weight:500;gap:8px;text-align:center;transition:color .2s}.edit-device-modal__upload-label:hover{color:var(--primary)}.edit-device-modal__upload-label svg{height:24px;width:24px}.edit-device-modal__hidden-file-input{display:none}.edit-device-modal__remove-preview{align-items:center;background:#f44336e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:8px;top:8px;transition:background .2s;width:32px}.edit-device-modal__remove-preview:hover{background:#f44336}.edit-device-modal__remove-preview svg{height:16px;width:16px}.edit-device-modal__switch-container{align-items:center;display:flex;justify-content:flex-start;width:100%}.edit-device-modal__switch.ant-switch{background-color:#f44336;border:none;border-radius:16px;box-shadow:none;height:32px;min-width:80px;transition:background-color .2s,box-shadow .2s}.edit-device-modal__switch.ant-switch:hover{background-color:#d32f2f}.edit-device-modal__switch.ant-switch.ant-switch-checked{background-color:#4caf50}.edit-device-modal__switch.ant-switch.ant-switch-checked:hover{background-color:#45a049}.edit-device-modal__switch.ant-switch .ant-switch-handle{height:20px;top:6px;transition:all .2s;width:20px}.edit-device-modal__switch.ant-switch .ant-switch-handle:before{background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026}.edit-device-modal__switch.ant-switch .ant-switch-inner{color:#fff;font-size:.8rem;font-weight:500;text-shadow:0 1px 2px #0000004d}.edit-device-modal__error{color:var(--danger);font-size:.8rem;margin-top:4px}.edit-device-modal__error--submit{background:#f443361a;border:1px solid #f4433633;border-radius:8px;display:block;margin-top:16px;padding:12px;text-align:center}.edit-device-modal__actions{border-top:1px solid var(--border-light,#e5e5e5);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding:24px}.edit-device-modal__button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;height:44px;justify-content:center;min-width:100px;transition:all .2s}.edit-device-modal__button--secondary{background:var(--bg-secondary,#f5f5f5);border:1px solid var(--border-light,#e5e5e5);color:var(--text-primary,#333)}.edit-device-modal__button--secondary:hover{background:var(--bg-hover,#e8e8e8)}.edit-device-modal__button--primary{background:var(--primary);color:#fff}.edit-device-modal__button--primary:hover{background:var(--primary-hover,#1976d2);box-shadow:0 4px 12px #2196f34d;transform:translateY(-1px)}.edit-device-modal__button--primary:active{transform:translateY(0)}.edit-device-modal__button--primary:disabled{background:var(--text-tertiary,#999);box-shadow:none;cursor:not-allowed;transform:none}.edit-device-modal__spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.edit-device-modal.dark-mode .ant-modal-content{background:var(--bg-primary,#1a1a1a);color:var(--text-primary,#fff)}.edit-device-modal.dark-mode .edit-device-modal__header{border-bottom-color:var(--border-dark,#333)}.edit-device-modal.dark-mode .edit-device-modal__label,.edit-device-modal.dark-mode .edit-device-modal__title{color:var(--text-primary,#fff)}.edit-device-modal.dark-mode .edit-device-modal__file-input,.edit-device-modal.dark-mode .edit-device-modal__input,.edit-device-modal.dark-mode .edit-device-modal__select{background:var(--input-bg-dark,#2a2a2a);border-color:var(--border-dark,#333);color:var(--text-primary,#fff)}.edit-device-modal.dark-mode .edit-device-modal__file-input:focus,.edit-device-modal.dark-mode .edit-device-modal__input:focus,.edit-device-modal.dark-mode .edit-device-modal__select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2196f326}.edit-device-modal.dark-mode .edit-device-modal__file-input::placeholder,.edit-device-modal.dark-mode .edit-device-modal__input::placeholder,.edit-device-modal.dark-mode .edit-device-modal__select::placeholder{color:var(--text-tertiary,#666)}.edit-device-modal.dark-mode .edit-device-modal__switch.ant-switch{background-color:#ef5350}.edit-device-modal.dark-mode .edit-device-modal__switch.ant-switch:hover{background-color:#f44336}.edit-device-modal.dark-mode .edit-device-modal__switch.ant-switch.ant-switch-checked{background-color:#66bb6a}.edit-device-modal.dark-mode .edit-device-modal__switch.ant-switch.ant-switch-checked:hover{background-color:#4caf50}.edit-device-modal.dark-mode .edit-device-modal__switch.ant-switch .ant-switch-handle:before{background-color:var(--bg-primary,#1a1a1a);box-shadow:0 1px 3px #0006}.edit-device-modal.dark-mode .edit-device-modal__switch.ant-switch .ant-switch-inner{color:#fff;text-shadow:0 1px 2px #00000080}.edit-device-modal.dark-mode .edit-device-modal__actions{border-top-color:var(--border-dark,#333)}.edit-device-modal.dark-mode .edit-device-modal__button--secondary{background:var(--bg-secondary-dark,#2a2a2a);border-color:var(--border-dark,#333);color:var(--text-primary,#fff)}.edit-device-modal.dark-mode .edit-device-modal__button--secondary:hover{background:var(--bg-hover-dark,#333)}.hub-status-badge{border:1px solid #0000;border-radius:999px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.2px;padding:4px 10px;text-transform:uppercase}.hub-status-badge.active{background:#22c55e26;border-color:#22c55e59;color:#0e7a3e}.hub-status-badge.inactive{background:#ef44441f;border-color:#ef444459;color:#8a0d1a}.homepage{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:24px;min-height:100vh;padding:24px}.homepage--dark{background:#1a1a1a;color:#fff}.homepage__container{margin:0 auto}.homepage__header{margin-bottom:32px}.homepage__title{color:#2c3e50;font-size:32px;font-weight:600;margin:0}.homepage--dark .homepage__title{color:#ecf0f1}.homepage__stats{grid-gap:24px;background:#fff;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:32px}.homepage__stat-card,.homepage__stats{border:2px solid #e3f2fd;border-radius:12px;box-shadow:0 4px 16px #2196f31a;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.homepage__stat-card{background:linear-gradient(135deg,#fff,#f8f9fa)}.homepage__stat-card:before{background:linear-gradient(90deg,#4caf50,#2196f3,#00bcd4);content:"";height:4px;left:0;position:absolute;right:0;top:0}.homepage__stat-card:hover{border-color:#2196f3;box-shadow:0 8px 24px #2196f333;transform:translateY(-6px)}.homepage--dark .homepage__stat-card{background:#2a2a2a;border-color:#404040;box-shadow:0 2px 8px #0000004d}.homepage__stat-content{display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center}.homepage__stat-title{color:#1976d2;font-size:16px;font-weight:500;margin:0}.homepage--dark .homepage__stat-title{color:#adb5bd}.homepage__stat-value{color:#1565c0;font-size:36px;font-weight:700;margin:0;text-shadow:0 2px 4px #1565c01a}.homepage--dark .homepage__stat-value{color:#ecf0f1}.homepage__vitals-tags{display:flex;flex-wrap:wrap;gap:8px}.homepage__vital-tag{border-radius:20px;box-shadow:0 2px 4px #0000001a;color:#fff;font-size:14px;font-weight:500;padding:8px 16px;transition:transform .2s ease;white-space:nowrap}.homepage__vital-tag:hover{transform:translateY(-1px)}.homepage__patients-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.homepage--dark .homepage__patients-section{background:#2a2a2a;border-color:#404040;box-shadow:0 2px 8px #0000004d}.homepage__patients-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.homepage__patients-title{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.homepage--dark .homepage__patients-title{color:#ecf0f1}.homepage__date-filter{align-items:center;display:flex;gap:16px}.homepage__date-input{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:8px;padding:8px 12px;transition:all .3s ease}.homepage__date-input:focus-within{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.homepage--dark .homepage__date-input{background:#404040;border-color:#666;color:#fff}.homepage--dark .homepage__date-input:focus-within{border-color:#007bff;box-shadow:0 0 0 3px #007bff33}.homepage__date-input input{background:#0000;border:none;color:#495057;font-size:14px;font-weight:400;outline:none}.homepage--dark .homepage__date-input input{color:#adb5bd}.homepage__date-input input::placeholder{color:#6c757d;opacity:.7}.homepage__date-range{align-items:center;display:flex;gap:12px;justify-content:space-between}.homepage__date-range .date-range-picker__dropdown{left:0}.homepage__reload-btn{align-items:center;background:#007bff;border:1px solid #dee2e6;border-radius:8px;color:#fff;cursor:pointer;margin-left:10px;padding:14px;transition:all .2s ease}.homepage__reload-btn svg{height:16px;width:16px}.homepage__reload-btn:hover{background:#0056b3;border-color:#0056b3}.homepage__reload-btn:active{transform:translateY(1px)}.homepage__date-presets{align-items:center;background:#f4f6f8;border:1px solid #e5e7eb;border-radius:12px;display:inline-flex;gap:6px;margin-bottom:24px;padding:6px}.homepage--dark .homepage__date-presets{background:#2a2a2a;border-color:#3a3a3a}.homepage__preset-btn{background:#0000;border:0;border-radius:10px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.homepage__preset-btn:hover{background:#3b82f614;color:#1f2937}.homepage--dark .homepage__preset-btn{color:#d1d5db}.homepage--dark .homepage__preset-btn:hover{background:#3b82f626;color:#fff}.homepage__preset-btn--active{background:#2f6df6;box-shadow:0 1px 2px #00000014,inset 0 0 0 1px #ffffff14;color:#fff}.homepage__custom-range-btn{background:#fff;border:1px solid #d1d5db;border-radius:10px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.homepage__custom-range-btn:hover{background:#f3f4f6;border-color:#9ca3af}.homepage--dark .homepage__custom-range-btn{background:#374151;border-color:#4b5563;color:#d1d5db}.homepage--dark .homepage__custom-range-btn:hover{background:#4b5563;border-color:#6b7280}.homepage__table-container{background:var(--card-bg);border:2px solid #e3f2fd;border-radius:12px;box-shadow:0 4px 16px #2196f31a;margin-bottom:24px;margin-top:10px;overflow-x:auto;padding:24px}.homepage__table{background:#fff;border-collapse:collapse;border-radius:8px;font-size:14px;overflow:hidden;table-layout:fixed;width:100%}.homepage--dark .homepage__table{background:#2a2a2a}.homepage__table tr{text-align:center}.homepage__table th{border-bottom:2px solid #e3f2fd;color:#757575;font-weight:600;padding:16px 8px;text-align:center}.homepage--dark .homepage__table th{background:#343a40;border-bottom-color:#495057;color:#adb5bd}.homepage__table td{border-bottom:1px solid #e3f2fd;color:#2c3e50;font-weight:500;overflow:hidden;padding:16px 8px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.homepage--dark .homepage__table td{border-bottom-color:#495057;color:#adb5bd}.homepage__table td:first-child,.homepage__table th:first-child{width:20%}.homepage__table td:nth-child(2),.homepage__table td:nth-child(3),.homepage__table td:nth-child(4),.homepage__table td:nth-child(5),.homepage__table td:nth-child(6),.homepage__table td:nth-child(7),.homepage__table td:nth-child(8),.homepage__table th:nth-child(2),.homepage__table th:nth-child(3),.homepage__table th:nth-child(4),.homepage__table th:nth-child(5),.homepage__table th:nth-child(6),.homepage__table th:nth-child(7),.homepage__table th:nth-child(8){width:10%}.homepage__table tr:hover{background:#e3f2fd;box-shadow:0 2px 8px #2196f31a;transform:scale(1.01);transition:all .2s ease}.homepage__table tr:hover .homepage__table-header{background:#fff;box-shadow:none;transform:none;transition:none}.homepage__patient-info{align-items:center;display:flex;gap:12px}.homepage__patient-avatar{align-items:center;background:#6c757d;border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:600;height:40px;justify-content:center;transition:transform .2s ease;width:40px}.homepage__patient-avatar:hover{transform:scale(1.05)}.homepage--dark .homepage__patient-avatar{background:#495057}.homepage__patient-name{color:#495057;font-weight:500;width:100%}.homepage--dark .homepage__patient-name{color:#adb5bd}.homepage__view-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.homepage__view-btn:hover{background:#0056b3;transform:translateY(-1px)}.homepage__view-btn:active{transform:translateY(0)}.homepage .patients__pagination{align-items:center;display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.homepage .pagination-left{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.homepage .pagination-right{display:flex}.homepage .pagination-btn{background:#fff;border:1px solid #fff;border-radius:6px;color:#495057;cursor:pointer;font-weight:400;padding:8px 16px;transition:all .3s ease}.homepage .pagination-btn:hover{background:#f8f9fa;border-color:#adb5bd}.homepage .pagination-btn[disabled]{cursor:not-allowed;opacity:.5}.homepage .pagination-numbers{align-items:center;display:flex;gap:8px}.homepage .pagination-number{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-weight:400;min-width:40px;padding:8px 12px;transition:all .3s ease}.homepage .pagination-number:hover:not(.active){background:#fff;border-color:#fff}.homepage .pagination-number.active{background:#007bff;border-color:#007bff;color:#fff}.homepage .pagination-number:disabled{color:#adb5bd;cursor:default}.homepage .page-size{align-items:center;display:flex;gap:8px}.homepage .page-size__label{color:#495057;font-size:14px;font-weight:400;white-space:nowrap}.homepage .page-size__select{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:14px;font-weight:400;padding:6px 8px;transition:all .3s ease}.homepage .page-size__select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}@media(max-width:768px){.homepage{padding:16px}.homepage__stats{gap:16px;grid-template-columns:1fr}.homepage__patients{align-items:flex-start;flex-direction:column}.homepage__date-filter{justify-content:space-between;width:100%}.homepage__date-input{flex:1 1}.homepage__table{font-size:12px}.homepage__table td,.homepage__table th{padding:12px 8px}.homepage__patient-info{gap:8px}.homepage__patient-avatar{font-size:14px;height:32px;width:32px}}@media(max-width:480px){.homepage__title{font-size:24px}.homepage__stat-value{font-size:28px}.homepage__vitals-tags{flex-direction:column}.homepage__vital-tag{text-align:center}}.patient-dashboard{background:#f8f9fa;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:24px;min-height:100vh;padding:24px}.patient-dashboard__date-range-container{display:flex;justify-content:start;margin-bottom:24px;width:100%}.patient-dashboard--dark{background:#1a1a1a;color:#fff}.patient-dashboard__container{margin:0 auto}.patient-dashboard__section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.patient-dashboard--dark .patient-dashboard__section{background:#2a2a2a;border-color:#404040;box-shadow:0 2px 8px #0000004d}.patient-dashboard__section-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.patient-dashboard__section-title{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.patient-dashboard--dark .patient-dashboard__section-title{color:#ecf0f1}.patient-dashboard__stats-chart{margin-bottom:32px}.patient-dashboard__chart-container{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e3f2fd;border-radius:16px;box-shadow:0 8px 32px #2196f31a;overflow:hidden;padding:32px;position:relative}.patient-dashboard__chart-container:before{background:linear-gradient(90deg,#3b82f6,#10b981,#f59e0b);content:"";height:4px;left:0;position:absolute;right:0;top:0}.patient-dashboard--dark .patient-dashboard__chart-container{background:#2a2a2a;border-color:#404040;box-shadow:0 8px 32px #0000004d}.patient-dashboard__chart-title{color:#2c3e50;font-size:20px;font-weight:600;margin:0 0 24px;text-align:center}.patient-dashboard--dark .patient-dashboard__chart-title{color:#ecf0f1}.patient-dashboard__chart-wrapper{align-items:center;display:flex;justify-content:center;margin-bottom:24px;min-height:300px}.patient-dashboard__total-stats{align-items:center;background:#2196f30d;border:1px solid #2196f31a;border-radius:12px;display:flex;justify-content:center;padding:16px}.patient-dashboard--dark .patient-dashboard__total-stats{background:#2196f31a;border-color:#2196f333}.patient-dashboard__total-item{align-items:center;display:flex;gap:12px}.patient-dashboard__total-label{color:#1976d2;font-size:16px;font-weight:500}.patient-dashboard--dark .patient-dashboard__total-label{color:#adb5bd}.patient-dashboard__total-value{color:#1565c0;font-size:24px;font-weight:700;text-shadow:0 2px 4px #1565c01a}.patient-dashboard--dark .patient-dashboard__total-value{color:#ecf0f1}.patient-dashboard__tooltip{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 4px 16px #0000001a;font-size:14px;padding:12px 16px}.patient-dashboard--dark .patient-dashboard__tooltip{background:#2a2a2a;border-color:#404040;color:#fff}.patient-dashboard__tooltip-label{color:#2c3e50;font-weight:500;margin:0 0 4px}.patient-dashboard--dark .patient-dashboard__tooltip-label{color:#ecf0f1}.patient-dashboard__tooltip-value{color:#1976d2;font-weight:600;margin:0}.patient-dashboard--dark .patient-dashboard__tooltip-value{color:#64b5f6}.patient-dashboard__period-filters{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:8px;padding:4px}.patient-dashboard--dark .patient-dashboard__period-filters{background:#343a40;border-color:#495057}.patient-dashboard__period-btn{background:#0000;border:none;border-radius:6px;color:#495057;cursor:pointer;font-size:14px;font-weight:400;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.patient-dashboard__period-btn:hover{background:#007bff}.patient-dashboard__period-btn--active{background:#007bff;box-shadow:0 2px 4px #007bff33;color:#fff}.patient-dashboard--dark .patient-dashboard__period-btn{color:#adb5bd}.patient-dashboard--dark .patient-dashboard__period-btn:hover{background:#495057}.patient-dashboard--dark .patient-dashboard__period-btn--active{background:#007bff;color:#fff}.patient-dashboard__stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.patient-dashboard__stat-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e3f2fd;border-radius:8px;box-shadow:0 4px 16px #2196f31a;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.patient-dashboard__stat-card:before{background:linear-gradient(90deg,#4caf50,#2196f3,#00bcd4);content:"";height:3px;left:0;position:absolute;right:0;top:0}.patient-dashboard__stat-card:hover{border-color:#2196f3;box-shadow:0 8px 24px #2196f333;transform:translateY(-4px)}.patient-dashboard--dark .patient-dashboard__stat-card{background:#2a2a2a;border-color:#404040}.patient-dashboard__stat-content{display:flex;flex-direction:column;gap:8px}.patient-dashboard__stat-title{color:#1976d2;font-size:14px;font-weight:500;margin:0}.patient-dashboard--dark .patient-dashboard__stat-title{color:#adb5bd}.patient-dashboard__stat-value{color:#1565c0;font-size:32px;font-weight:700;margin:0;text-shadow:0 2px 4px #1565c01a}.patient-dashboard--dark .patient-dashboard__stat-value{color:#ecf0f1}.patient-dashboard__table-container{border:2px solid #e3f2fd;border-radius:12px;box-shadow:0 4px 16px #2196f31a;margin-bottom:20px;overflow-x:auto}.patient-dashboard__table{background:#fff;border-collapse:collapse;border-radius:8px;font-size:14px;overflow:hidden;width:100%}.patient-dashboard--dark .patient-dashboard__table{background:#2a2a2a}.patient-dashboard__table th{border-bottom:2px solid #e3f2fd;font-weight:600;padding:16px 12px;text-align:left}.patient-dashboard--dark .patient-dashboard__table th{background:#343a40;border-bottom-color:#495057;color:#adb5bd}.patient-dashboard__table td{border-bottom:1px solid #e3f2fd;color:#2c3e50;font-weight:500;padding:16px 12px}.patient-dashboard--dark .patient-dashboard__table td{border-bottom-color:#495057;color:#adb5bd}.patient-dashboard__table tr:hover{background:#e3f2fd;box-shadow:0 2px 8px #2196f31a;transform:scale(1.01);transition:all .2s ease}.patient-dashboard--dark .patient-dashboard__table tr:hover{background:#1e3a8a}.patient-dashboard__device-info{align-items:center;display:flex;gap:12px}.patient-dashboard__device-name{color:#495057;font-weight:500}.patient-dashboard--dark .patient-dashboard__device-name{color:#adb5bd}.patient-dashboard__device-type{border-radius:16px;box-shadow:0 2px 4px #0000001a;color:#fff;font-size:12px;font-weight:500;padding:6px 12px;transition:transform .2s ease;white-space:nowrap}.patient-dashboard__device-type:hover{transform:translateY(-1px)}.patient-dashboard__view-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .3s ease}.patient-dashboard__view-btn:hover{background:#5a6268;transform:translateY(-1px)}.patient-dashboard__view-btn:active{transform:translateY(0)}.patient-dashboard .patients__pagination{align-items:center;display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.patient-dashboard .pagination-left,.patient-dashboard .pagination-right{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.patient-dashboard .pagination-btn{background:#fff;border:none;border-radius:6px;color:#495057;cursor:pointer;font-weight:400;padding:8px 16px;transition:all .3s ease}.patient-dashboard .pagination-btn:hover{background:#f8f9fa;border-color:#adb5bd}.patient-dashboard .pagination-btn[disabled]{cursor:not-allowed;opacity:.5}.patient-dashboard .pagination-numbers{align-items:center;display:flex;gap:8px}.patient-dashboard .pagination-number{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-weight:400;min-width:40px;padding:8px 12px;transition:all .3s ease}.patient-dashboard .pagination-number:hover:not(.active){background:#f8f9fa;border-color:#adb5bd}.patient-dashboard .pagination-number.active{background:#007bff;border-color:#007bff;color:#fff}.patient-dashboard .pagination-number:disabled{color:#adb5bd;cursor:default}.patient-dashboard .page-size{align-items:center;display:flex;gap:8px}.patient-dashboard .page-size__label{color:#495057;font-size:14px;font-weight:400;white-space:nowrap}.patient-dashboard .page-size__select{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:14px;font-weight:400;padding:6px 8px;transition:all .3s ease}.patient-dashboard .page-size__select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}@media(max-width:768px){.patient-dashboard,.patient-dashboard__section{padding:16px}.patient-dashboard__section-header{align-items:flex-start;flex-direction:column}.patient-dashboard__period-filters{justify-content:space-between;width:100%}.patient-dashboard__stats{gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.patient-dashboard__stat-value{font-size:24px}.patient-dashboard__table{font-size:12px}.patient-dashboard__table td,.patient-dashboard__table th{padding:12px 8px}}@media(max-width:480px){.patient-dashboard__section-title{font-size:20px}.patient-dashboard__stats{grid-template-columns:1fr}.patient-dashboard__period-btn{font-size:12px;padding:6px 12px}}.access-denied{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-height:80vh;padding:20px}.access-denied__container{background:var(--card-bg);border-radius:16px;box-shadow:0 4px 20px var(--shadow-color);max-width:900px;padding:60px 40px;width:100%}.access-denied__content{align-items:center;display:flex;gap:60px}@media(max-width:768px){.access-denied__content{flex-direction:column;gap:40px;text-align:center}}.access-denied__text{display:flex;flex:1 1;flex-direction:column;gap:20px}.access-denied__title{color:#2196f3;font-size:4rem;font-weight:700;line-height:1;margin:0}.access-denied__subtitle{color:var(--text-primary);font-size:1.8rem;font-weight:600;line-height:1.2;margin:0}.access-denied__description{color:var(--text-secondary);font-size:1.1rem;line-height:1.5;margin:0;max-width:400px}.access-denied__button{align-items:center;background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;padding:12px 24px;transition:background .2s;width:-webkit-fit-content;width:fit-content}.access-denied__button:hover{background:#1f04ec}.access-denied__button svg{height:16px;width:16px}.access-denied__illustration{align-items:center;display:flex;flex:1 1;justify-content:center}.access-denied__image{height:auto;max-height:400px;max-width:100%;object-fit:contain}.signin-container{align-items:center;background:linear-gradient(120deg,#e0eafc,#cfdef3);display:flex;justify-content:center;min-height:100vh;padding:20px}.signin-container .signin-form{background:#fff;border-radius:16px;box-shadow:0 4px 32px #2196f314;max-width:800px;overflow:hidden;width:100%}.signin-container .signin-form .signin-logo{display:none}.signin-container .signin-form h2{color:#2196f3;font-size:1.5rem;font-weight:600;margin:0;padding:24px 24px 0;text-align:center}.signin-container .signin-form .form-description{color:#666;font-size:.9rem;margin:8px 0 0;padding:0 24px 24px;text-align:center}.signin-container .signin-form .form-step{display:none}.signin-container .signin-form .form-step.active{display:block}.signin-container .signin-form .step-indicator{align-items:center;display:flex;justify-content:center;margin-bottom:24px;padding:24px 24px 0;position:relative}.signin-container .signin-form .step-indicator .step{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;max-width:200px;position:relative}.signin-container .signin-form .step-indicator .step:not(:last-child):after{background:#e0e0e0;content:"";height:2px;left:50%;position:absolute;top:16px;width:100%;z-index:1}.signin-container .signin-form .step-indicator .step .step-number{align-items:center;border:2px solid #0000;border-radius:50%;display:flex;font-size:.9rem;font-weight:600;height:32px;justify-content:center;position:relative;transition:all .3s ease;width:32px;z-index:2}.signin-container .signin-form .step-indicator .step .step-label{font-size:.9rem;font-weight:500;line-height:1.2;text-align:center}.signin-container .signin-form .step-indicator .step.active .step-number{background:#2196f3;border-color:#2196f3;color:#fff}.signin-container .signin-form .step-indicator .step.active .step-label{color:#2196f3}.signin-container .signin-form .step-indicator .step.completed .step-number{background:#4caf50;border-color:#4caf50;color:#fff}.signin-container .signin-form .step-indicator .step.completed .step-label{color:#4caf50}.signin-container .signin-form .step-indicator .step.pending .step-number{background:#e0e0e0;border-color:#e0e0e0;color:#666}.signin-container .signin-form .step-indicator .step.pending .step-label{color:#666}.signin-container .signin-form .form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px;padding:0 24px}@media(max-width:768px){.signin-container .signin-form .form-row{gap:16px;grid-template-columns:1fr}}.signin-container .signin-form .form-group:not(.form-row .form-group){margin-bottom:20px;padding:0 24px}.signin-container .signin-form .form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:0;padding:0;position:relative}.signin-container .signin-form .form-group label{color:#333;font-size:.9rem;font-weight:500;margin-bottom:4px}.signin-container .signin-form .form-group input,.signin-container .signin-form .form-group select{background:#fff;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;color:#333;font-size:1rem;outline:none;padding:12px 16px;transition:border .2s;width:100%}.signin-container .signin-form .form-group input:focus,.signin-container .signin-form .form-group select:focus{border:1px solid #2196f3;box-shadow:0 0 0 2px #2196f31a}.signin-container .signin-form .form-group input::placeholder,.signin-container .signin-form .form-group select::placeholder{color:#999}.signin-container .signin-form .form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;cursor:pointer;padding-right:40px}.signin-container .signin-form .form-group .toggle-password{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;height:32px;justify-content:center;padding:6px;position:absolute;right:28px;top:70%;transform:translateY(-50%);width:32px}.signin-container .signin-form .form-group .toggle-password:hover{background:#0000000d;color:#333}.signin-container .signin-form .form-navigation{display:flex;gap:12px;justify-content:space-between;margin-top:12px;padding:24px}.signin-container .signin-form .form-navigation button{border:1px solid #0000;border-radius:8px;cursor:pointer;font-size:.95rem;height:48px;min-width:120px;padding:14px 28px;transition:all .2s}.signin-container .signin-form .form-navigation button.btn-secondary{background:#fff;border:1px solid #ddd;color:#666}.signin-container .signin-form .form-navigation button.btn-secondary:hover{background:#f5f5f5;border-color:#ccc}.signin-container .signin-form .form-navigation button.btn-primary{background:#2196f3;border:1px solid #2196f3;color:#fff;padding:10px 20px}.signin-container .signin-form .form-navigation button.btn-primary:hover{background:#1976d2;border-color:#1976d2}.signin-container .signin-form .form-navigation button.btn-primary:disabled{background:#ccc;border-color:#ccc;cursor:not-allowed}.signin-container .signin-form .form-navigation button.link-btn{background:none;border:none;color:#2196f3;min-width:auto;padding:10px 0;text-decoration:underline}.signin-container .signin-form .form-navigation button.link-btn:hover{color:#1976d2}.signin-container .signin-form button[type=submit]{background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.08rem;font-weight:600;padding:10px 0;transition:background .2s}.signin-container .signin-form button[type=submit]:hover{background:#1769aa}.signin-container .signin-form .signin-actions{display:flex;gap:10px;justify-content:space-between;margin-top:10px}.signin-container .signin-form .signin-actions .link-btn{background:none;border:none;color:#2196f3;cursor:pointer;font-size:1rem;padding:0;text-decoration:underline;transition:color .2s}.signin-container .signin-form .signin-actions .link-btn:hover{color:#1769aa}.signin-container .signin-form .error{background:#ffebee;border:1px solid #ffcdd2;border-radius:8px;box-sizing:border-box;color:#f44336;font-size:.9rem;font-weight:500;margin:8px 24px 16px;padding:12px 16px;text-align:center;width:calc(100% - 48px)}.signin-container .signin-form .success{background:#e8f5e8;border:1px solid #c8e6c9;border-radius:6px;color:#4caf50;font-size:.98rem;margin-bottom:4px;margin-top:-8px;padding:8px 12px;text-align:center}.add-patient{padding:24px}.add-patient__title{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 24px;text-align:center}.add-patient__steps{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:32px}.add-patient__step{align-items:center;display:flex;flex-direction:column;gap:8px;transition:all .3s ease}.add-patient__step--active .add-patient__step-number{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;transform:scale(1.1)}.add-patient__step--active .add-patient__step-label{color:#2196f3;font-weight:600}.add-patient__step-number{align-items:center;background:#e5e7eb;border:2px solid #0000;border-radius:50%;color:#6b7280;display:flex;font-size:16px;font-weight:600;height:40px;justify-content:center;transition:all .3s ease;width:40px}.add-patient__step-label{color:#6b7280;font-size:14px;font-weight:500;text-align:center;transition:color .3s ease}.add-patient__step-line{background:#e5e7eb;border-radius:1px;height:2px;width:60px}.add-patient__step-content{margin:0 auto;max-width:600px}.add-patient__step-title{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 8px;text-align:center}.add-patient__step-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 24px;text-align:center}.add-patient__card{background:var(--card-bg) fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin:0 auto;max-width:800px;padding:32px}.add-patient__form{display:flex;flex-direction:column;gap:20px}.add-patient .form-group{display:flex;flex-direction:column;gap:8px}.add-patient label{color:#374151;font-size:14px;font-weight:600}.add-patient__input-wrapper{align-items:center;display:flex;position:relative}.add-patient__input{background:var(--card-bg);border:2px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:14px;height:44px;outline:none;padding:8px 12px;transition:all .2s ease;width:100%}.add-patient__input:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.add-patient__input.valid{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.add-patient__input.invalid{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.add-patient__input:has(+.add-patient__password-toggle),.add-patient__input:has(+.add-patient__validation-icon),.add-patient__input:has(+.add-patient__validation-spinner){padding-right:44px}.add-patient__password-toggle{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s ease}.add-patient__password-toggle:hover{background:#f3f4f6;color:#374151}.add-patient__password-toggle:active{background:#e5e7eb}.add-patient__password-toggle svg{height:16px;width:16px}.add-patient__validation-spinner{color:#6b7280}.add-patient__validation-icon,.add-patient__validation-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.add-patient__validation-icon{align-items:center;border-radius:50%;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;width:20px}.add-patient__validation-icon--success{background:#10b981;color:#fff}.add-patient__validation-icon--error{background:#ef4444;color:#fff}.add-patient input,.add-patient select{background:var(--card-bg);border:2px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:14px;height:44px;outline:none;padding:8px 12px;transition:all .2s ease;width:100%}.add-patient input:focus,.add-patient select:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.add-patient input.valid,.add-patient select.valid{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.add-patient input.invalid,.add-patient select.invalid{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.add-patient .full-width{grid-column:1/-1}.add-patient__actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;grid-column:1/-1;justify-content:center;margin-top:32px;padding-top:24px}.add-patient .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;height:44px;justify-content:center;min-width:100px;padding:0 24px;transition:all .2s ease}.add-patient .btn--primary{background:linear-gradient(135deg,#2196f3,#1976d2);box-shadow:0 2px 4px #2196f333;color:#fff}.add-patient .btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 4px 8px #2196f34d;transform:translateY(-1px)}.add-patient .btn--primary:active:not(:disabled){transform:translateY(0)}.add-patient .btn--secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.add-patient .btn--secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.add-patient .btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.add-patient .error-text{color:#ef4444;font-size:12px;font-weight:500;margin-top:4px}@media(max-width:768px){.add-patient{padding:16px}.add-patient__title{font-size:20px;margin-bottom:20px}.add-patient__steps{gap:12px;margin-bottom:24px}.add-patient__step-line{width:40px}.add-patient__card{padding:24px}.add-patient__form{gap:16px;grid-template-columns:1fr}.add-patient__actions{flex-direction:column;gap:8px}.add-patient .btn{width:100%}}.searchable-select{font-family:var(--font-family);position:relative;width:100%}.searchable-select--disabled{cursor:not-allowed;opacity:.6}.searchable-select--open .searchable-select__dropdown{display:block}.searchable-select--open .searchable-select__arrow{transform:rotate(180deg)}.searchable-select__trigger{align-items:center;background:var(--card-bg);border:2px solid #d1d5db;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;justify-content:space-between;min-height:44px;padding:0 16px;transition:all var(--quick-transition)}.searchable-select__trigger:hover{border-color:var(--gray-light)}.searchable-select__trigger:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus-shadow);outline:none}.searchable-select__value{background:var(--card-bg);color:var(--text-primary);flex:1 1;font-size:14px;font-weight:500;outline:none;text-align:left;transition:all .2s ease}.searchable-select__value:empty:before{color:var(--text-placeholder);content:attr(data-placeholder)}.searchable-select__arrow{color:var(--text-secondary);margin-left:8px;transition:transform var(--quick-transition)}.searchable-select__arrow--open{transform:rotate(180deg)}.searchable-select__dropdown{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px #0000001f;left:0;margin-top:4px;max-height:300px;overflow:hidden;position:absolute;right:0;top:100%;z-index:9999}.searchable-select__search{background:var(--card-bg);border-bottom:1px solid var(--border-color);padding:12px;position:relative}.searchable-select__input{background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;padding:8px 32px 8px 12px;transition:border-color var(--quick-transition);width:100%}.searchable-select__input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-focus-shadow);outline:none}.searchable-select__input::placeholder{color:var(--text-placeholder)}.searchable-select__search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;right:20px;top:50%;transform:translateY(-50%)}.searchable-select__options{background:var(--card-bg);max-height:200px;overflow-y:auto}.searchable-select__option{align-items:center;border-bottom:1px solid #0000;color:var(--text-primary);cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:background-color var(--quick-transition)}.searchable-select__option:hover{background:var(--sidebar-hover-bg)}.searchable-select__option:last-child{border-bottom:none}.searchable-select__option--selected{background:var(--sidebar-active-bg);color:var(--sidebar-active-color)}.searchable-select__option-text{flex:1 1;font-size:14px;font-weight:500;text-align:left}.searchable-select__check-icon{color:var(--primary);flex-shrink:0;margin-left:8px}.searchable-select__no-results{background:var(--card-bg);color:var(--text-secondary);font-size:14px;padding:16px;text-align:center}[data-theme=dark] .searchable-select__dropdown{border-color:#424242;box-shadow:0 8px 32px #0006}[data-theme=dark] .searchable-select__option:hover{background:#64b5f61a}[data-theme=dark] .searchable-select__option--selected{background:var(--sidebar-active-bg);color:var(--sidebar-active-color)}@media(max-width:768px){.searchable-select__dropdown{border-radius:16px 16px 0 0;bottom:0;left:0;max-height:50vh;position:fixed;right:0;top:auto;z-index:10000}.searchable-select__options{max-height:calc(50vh - 80px)}}:root{--primary:#2196f3;--danger:#f44336;--success:#4caf50;--pending:#00bcd4;--purple:#8e24aa;--cyan:#00acc1;--teal:#20b2aa;--gray:#757575;--gray-light:#b0b0b0;--border-color:#e3f2fd;--light-blue:#e3f2fd;--main-bg:#fff;--card-bg:#fff;--header-bg:#fff;--sidebar-bg:#fff;--input-bg:#f7f7f7;--modal-bg:linear-gradient(135deg,#fff,#f8f9fa);--text-primary:#222;--text-secondary:#666;--text-muted:#888;--text-inverse:#fff;--text-placeholder:#bdc3c7;--main-border:1px solid #f0f0f0;--input-border:#eee;--card-border:#f0f0f0;--modal-border:#e9ecef;--shadow-color:#0000000a;--shadow-color-hover:#00000014;--shadow-color-card:#00000012;--shadow-color-modal:#0000001a;--primary-shadow:#2196f333;--primary-shadow-hover:#2196f34d;--primary-focus-shadow:#2196f31a;--icon-shadow:#2196f34d;--icon-filter:#0000001a;--icon-bg-start:#2196f3;--icon-bg-end:#1976d2;--button-primary-start:#2196f3;--button-primary-end:#1976d2;--button-primary-hover-start:#1976d2;--button-primary-hover-end:#1565c0;--button-secondary-bg:#f3f4f6;--button-secondary-text:#374151;--button-secondary-border:#d1d5db;--button-secondary-hover-bg:#e5e7eb;--button-secondary-hover-border:#9ca3af;--header-shadow:0 2px 8px 0 #00000008;--sidebar-shadow:0 2px 16px 0 #00000012;--card-shadow:0 2px 12px 0 #0000000a;--header-title-color:#222;--header-breadcrumb-color:#888;--header-breadcrumb-active:#2196f3;--header-search-bg:#f7f7f7;--header-search-border:#eee;--header-profile-name:#222;--header-profile-role:#888;--sidebar-active-bg:#e3f2fd;--sidebar-active-color:#2196f3;--sidebar-hover-bg:#2196f314;--sidebar-title-color:#183b56;--sidebar-link-color:#183b56;--sidebar-bottom-color:#757575;--sidebar-copyright-color:#b0b0b0;--error-bg:#fdf2f2;--error-border:#fecaca;--error-text:#dc2626;--input-error-border:#e74c3c;--error-focus-shadow:#e74c3c1a;--error-bg-light:#fdf2f2;--error-border-light:#fecaca;--error-text-light:#dc2626;--primary-light:#1976d2;--primary-dark:#1565c0}[data-theme=dark]{--primary:#64b5f6;--danger:#ef5350;--success:#81c784;--pending:#4dd0e1;--purple:#ba68c8;--cyan:#4dd0e1;--teal:#4db6ac;--gray:#9e9e9e;--gray-light:#bdbdbd;--border-color:#424242;--light-blue:#1e3a5f;--main-bg:#121212;--card-bg:#1e1e1e;--header-bg:#1e1e1e;--sidebar-bg:#1e1e1e;--input-bg:#2d2d2d;--modal-bg:linear-gradient(135deg,#1a1a1a,#2d2d2d);--text-primary:#fff;--text-secondary:#b0b0b0;--text-muted:#9e9e9e;--text-inverse:#121212;--text-placeholder:#666;--main-border:1px solid #424242;--input-border:#424242;--card-border:#424242;--modal-border:#424242;--shadow-color:#0000004d;--shadow-color-hover:#00000080;--shadow-color-card:#0006;--shadow-color-modal:#0000004d;--primary-shadow:#64b5f633;--primary-shadow-hover:#64b5f64d;--primary-focus-shadow:#64b5f61a;--icon-shadow:#64b5f64d;--icon-filter:#ffffff1a;--icon-bg-start:#64b5f6;--icon-bg-end:#42a5f5;--button-primary-start:#64b5f6;--button-primary-end:#42a5f5;--button-primary-hover-start:#42a5f5;--button-primary-hover-end:#2196f3;--button-secondary-bg:#404040;--button-secondary-text:#fff;--button-secondary-border:#555;--button-secondary-hover-bg:#555;--button-secondary-hover-border:#666;--header-shadow:0 2px 8px 0 #0000004d;--sidebar-shadow:0 2px 16px 0 #0006;--card-shadow:0 2px 12px 0 #0000004d;--header-title-color:#fff;--header-breadcrumb-color:#b0b0b0;--header-breadcrumb-active:#64b5f6;--header-search-bg:#2d2d2d;--header-search-border:#424242;--header-profile-name:#fff;--header-profile-role:#b0b0b0;--sidebar-active-bg:#1e3a5f;--sidebar-active-color:#64b5f6;--sidebar-hover-bg:#64b5f61a;--sidebar-title-color:#fff;--sidebar-link-color:#b0b0b0;--sidebar-bottom-color:#9e9e9e;--sidebar-copyright-color:#757575;--error-bg:#2d1b1b;--error-border:#4a2a2a;--error-text:#ef5350;--input-error-border:#e74c3c;--error-focus-shadow:#e74c3c1a;--error-bg-light:#2d1b1b;--error-border-light:#4a2a2a;--error-text-light:#ef5350;--primary-light:#1976d2;--primary-dark:#1565c0}:root{--animation-duration:0.3s;--quick-transition:0.2s;--spinner-color:currentColor;--transition-all:all 0.2s ease;--transition-quick:all 0.2s ease;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:28px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-2xl:24px;--spacing-3xl:32px;--spacing-4xl:40px;--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:16px;--border-radius-xl:20px;--border-radius-2xl:24px;--icon-size:64px;--icon-size-sm:32px;--icon-size-lg:80px;--button-min-width:120px;--button-height:48px;--spinner-size:16px;--spinner-border-width:2px;--grid-columns:1fr 1fr;--grid-columns-mobile:1fr;--breakpoint-mobile:768px;--breakpoint-small:480px;--z-index-modal:1000;--z-index-dropdown:1001;--z-index-tooltip:1002}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.header{background:var(--header-bg);border-bottom:var(--main-border);box-shadow:var(--header-shadow);height:72px;padding:0 32px 0 0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.header,.header__left{align-items:center;display:flex}.header__left{gap:12px;min-width:220px;padding-left:32px}.header__mobile-menu-btn{background:none;border:none;border-radius:6px;cursor:pointer;display:none;padding:8px;transition:background .2s}.header__mobile-menu-btn:hover{background:#0000000d}@media(max-width:768px){.header__mobile-menu-btn{align-items:center;display:flex;justify-content:center}}.header__back-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;margin-right:8px;padding:0}.header__logo-text{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-1px}.header__center{align-items:flex-start;display:flex;flex-direction:column;justify-content:center;margin-left:24px}.header__title{color:var(--header-title-color);font-size:2rem;font-weight:700;line-height:1.1;margin:0 0 2px}.header__breadcrumb{align-items:center;color:var(--header-breadcrumb-color);display:flex;font-size:1rem;gap:6px}.header__breadcrumb .header__breadcrumb-active{color:var(--header-breadcrumb-active);font-weight:500}.header__breadcrumb .header__breadcrumb-link{color:var(--header-breadcrumb-color);font-weight:400;transition:color .2s ease}.header__breadcrumb .header__breadcrumb-link:hover{color:var(--header-breadcrumb-active)}.header__breadcrumb .header__breadcrumb-sep{color:var(--text-muted);margin:0 2px}.header__right{flex:1 1;gap:16px;justify-content:end;margin-left:auto}.header__right,.header__search{align-items:center;display:flex;width:100%}.header__search{background:var(--header-search-bg);border:1px solid var(--header-search-border);border-radius:8px;margin-left:2%;padding:8px 12px;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.header__search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #2196f31a}.header__search svg{flex-shrink:0;margin-right:8px}.header__search input{background:none;border:none;color:var(--text-primary);font-size:.9rem;outline:none;width:100%}.header__search-clear{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;margin-left:8px;padding:4px;transition:background .2s ease}.header__search-clear:hover{background:#0000000d}.header__search-clear svg{color:var(--text-muted)}.header__search:has(.header__search-clear) .header__search-spinner{right:48px}.header__search-results{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;box-shadow:var(--shadow-color-card);left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.header__search-result{align-items:center;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;padding:12px 16px;transition:background .2s}.header__search-result:last-child{border-bottom:none}.header__search-result-icon{align-items:center;background:var(--light-blue);border-radius:6px;display:flex;flex-shrink:0;height:32px;justify-content:center;margin-right:12px;width:32px}.header__search-result-content{flex:1 1;min-width:0}.header__search-result-title{color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:2px}.header__search-result-subtitle{color:var(--text-secondary);font-size:.8rem}.header__notif-btn{align-items:center;background:none;border:none;border:1px solid var(--border-color);border-radius:5px;cursor:pointer;display:flex;padding:5px;transition:all .2s ease}.header__notif-btn:hover{background:var(--light-blue);border-color:var(--primary)}.header__profile{align-items:center;background:var(--header-search-bg);border-radius:20px;cursor:pointer;display:flex;gap:10px;padding:4px 12px 4px 4px;transition:background .2s ease}.header__profile:hover{background:var(--light-blue)}.header__profile-avatar{border:2px solid var(--card-bg);border-radius:50%;box-shadow:0 1px 4px 0 var(--shadow-color);height:36px;object-fit:cover;width:36px}.header__profile-info{display:flex;flex-direction:column;min-width:0}.header__profile-name{color:var(--header-profile-name);font-size:1.08rem;font-weight:600}.header__profile-name,.header__profile-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header__profile-role{color:var(--header-profile-role);font-size:.98rem}.header__profile-menu{align-items:stretch;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;box-shadow:var(--shadow-color-card);display:flex;flex-direction:column;min-width:220px;padding:8px 0;position:absolute;right:0;top:110%;z-index:100}.header__profile-menu-section{padding:0 18px 8px}.header__profile-menu-title{color:var(--text-muted);display:block;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.header__profile-menu-divider{background:var(--border-color);height:1px;margin:8px 0}.header__profile-menu-item{background:none;border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:1rem;margin:2px 8px;padding:10px 18px;text-align:left;transition:background .18s,color .18s;width:100%}.header__profile-menu-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-color);font-weight:500}.header__profile-menu-item:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-active-color)}.header__profile-menu-item span{align-items:center;display:flex;gap:8px}
/*# sourceMappingURL=main.3103e50c.css.map*/