*{box-sizing:border-box;margin:0;padding:0}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;font-size:clamp(14px,2vw,16px);line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;padding:clamp(10px,2vw,14px) clamp(16px,3vw,24px)}button,input,select,textarea{font-family:inherit;font-size:clamp(14px,2vw,16px);min-height:44px;transition:all .2s}input,select,textarea{border:2px solid #e2e8f0;border-radius:8px;padding:clamp(10px,2vw,14px) clamp(12px,2vw,16px)}input:focus,select:focus,textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}textarea{line-height:1.6;min-height:clamp(80px,15vw,120px);resize:vertical}h1{font-size:clamp(24px,5vw,36px);line-height:1.2;margin-bottom:clamp(12px,2vw,16px)}h2{font-size:clamp(20px,4vw,28px);line-height:1.3;margin-bottom:clamp(10px,2vw,14px)}h3{font-size:clamp(18px,3vw,22px);line-height:1.4;margin-bottom:clamp(8px,2vw,12px)}p{font-size:clamp(14px,2vw,16px);line-height:1.6;margin-bottom:clamp(12px,2vw,16px)}.container{margin:0 auto;max-width:1400px;padding:clamp(16px,3vw,24px)}.visually-hidden{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a0aec0}:focus-visible{outline:2px solid #667eea;outline-offset:2px}a:focus-visible,button:focus-visible{box-shadow:0 0 0 4px #667eea33;outline:2px solid #667eea;outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:#667eea;box-shadow:0 0 0 4px #667eea33;outline:none}.skip-link{background:#667eea;border-radius:0 0 8px 8px;box-shadow:0 2px 8px #0003;color:#fff;font-weight:500;left:16px;padding:12px 24px;position:fixed;text-decoration:none;top:-50px;transition:top .3s ease;z-index:10000}.skip-link:focus{outline:none;top:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:768px){input,select,textarea{font-size:16px!important}}@supports (padding:env(safe-area-inset-top)){body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}@media print{body{font-size:12pt}.no-print,button{display:none!important}}.exercise-description{color:#374151;font-size:clamp(14px,1vw,16px);line-height:1.6;margin-bottom:clamp(8px,2vw,14px);max-width:100%;white-space:pre-wrap;word-break:break-word}.exercise-description.collapsed{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;max-height:4.8em;overflow:hidden;position:relative;transition:max-height .3s ease}.exercise-description.collapsed:after{background:linear-gradient(180deg,#fff0,#fff);bottom:0;content:"";height:1.5em;left:0;pointer-events:none;position:absolute;right:0}.exercise-description.expanded{display:block;max-height:none;overflow:visible}.toast-container{display:flex;flex-direction:column;gap:clamp(8px,2vw,12px);max-width:min(440px,calc(100vw - 32px));pointer-events:none;position:fixed;right:clamp(16px,3vw,20px);top:clamp(16px,3vw,20px);z-index:10000}.toast{align-items:flex-start;animation:toastSlideIn .28s cubic-bezier(.16,1,.3,1);background:#fff;border:1px solid #e2e8f0d9;border-radius:14px;box-shadow:0 4px 20px #0f172a14,0 1px 3px #0f172a0a;display:flex;gap:12px;max-width:100%;min-width:min(300px,100%);overflow:hidden;padding:14px 16px;pointer-events:auto;position:relative}.toast.toast-exiting{animation:toastSlideOut .3s ease-in forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.toast:before{border-radius:0 2px 2px 0;bottom:12px;content:"";left:0;position:absolute;top:12px;width:3px}.toast-success:before{background:#22c55e}.toast-error:before{background:#ef4444}.toast-warning:before{background:#f59e0b}.toast-info:before{background:#3b82f6}.toast-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-top:1px;width:28px}.toast-icon svg{height:20px;width:20px}.toast-success .toast-icon{background:#22c55e1a;color:#16a34a}.toast-error .toast-icon{background:#ef44441a;color:#dc2626}.toast-warning .toast-icon{background:#f59e0b1a;color:#d97706}.toast-info .toast-icon{background:#3b82f61a;color:#2563eb}.toast-content{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.toast-title{color:#0f172a;font-size:14px;font-weight:700;letter-spacing:-.005em;line-height:1.35;margin:0}.toast-message{word-wrap:break-word;color:#475569;font-size:13px;line-height:1.45;margin:2px 0 0}.toast-close{align-items:center;background:#0000;border:none;border-radius:50%;color:#94a3b8;cursor:pointer;display:inline-flex;flex-shrink:0;height:24px;justify-content:center;line-height:1;margin:0;padding:0;transition:background .15s ease,color .15s ease;width:24px}.toast-close svg{display:block;height:16px;width:16px}.toast-close:hover{background:#0f172a0f;color:#475569}.toast-close:active{transform:scale(.92)}.toast-progress{animation:toastProgress linear forwards;border-radius:0;bottom:0;height:2px;left:0;opacity:.55;position:absolute}.toast-success .toast-progress{background:#22c55e}.toast-error .toast-progress{background:#ef4444}.toast-warning .toast-progress{background:#f59e0b}.toast-info .toast-progress{background:#3b82f6}@keyframes toastProgress{0%{width:100%}to{width:0}}.toast-actions{display:flex;gap:clamp(8px,2vw,10px);margin-top:clamp(10px,2vw,12px)}.toast-action-btn{border:none;border-radius:6px;cursor:pointer;font-size:clamp(12px,2vw,13px);font-weight:600;min-height:32px;padding:clamp(6px,1.5vw,8px) clamp(12px,2vw,16px);transition:all .2s}.toast-action-btn.primary{background:#667eea;color:#fff}.toast-action-btn.primary:hover{background:#5568d3}.toast-action-btn.secondary{background:#f1f5f9;color:#475569}.toast-action-btn.secondary:hover{background:#e2e8f0}@media (max-width:640px){.toast-container{bottom:clamp(16px,3vw,20px);left:clamp(12px,3vw,16px);right:clamp(12px,3vw,16px);top:auto}.toast{max-width:100%;min-width:100%}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}}@media (prefers-reduced-motion:reduce){.toast{animation:none}.toast.toast-exiting{animation:none;opacity:0}.toast-progress{animation:none}}.toast.compact{padding:clamp(10px,2vw,12px) clamp(12px,2vw,16px)}.toast.large{padding:clamp(18px,3vw,22px) clamp(20px,4vw,26px)}.toast.large .toast-title{font-size:clamp(15px,3vw,17px)}.toast.large .toast-message{font-size:clamp(14px,2vw,15px)}.loading-spinner-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;width:100%}.loading-spinner-content{align-items:center;background:#fffffff2;border-radius:16px;box-shadow:0 10px 40px #00000026;display:flex;flex-direction:column;gap:20px;padding:40px}.loading-spinner{animation:spin 1s linear infinite;border:5px solid #f3f4f6;border-radius:50%;border-top-color:#667eea;height:60px;width:60px}.loading-spinner-message{color:#2d3748;font-size:18px;font-weight:600;margin:0;text-align:center}.loading-spinner-small{animation:spin .8s linear infinite;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#667eea;display:inline-block;height:20px;width:20px}.patient-splash{align-items:center;background:#f8faf7;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.patient-splash-inner{align-items:center;display:flex;flex-direction:column;gap:22px}.patient-splash-brand{align-items:center;animation:patient-splash-pulse 2s ease-in-out infinite;display:flex;gap:12px}.patient-splash-dot{background:linear-gradient(135deg,#1a8a6a,#2b7cb8);border-radius:50%;display:inline-block;flex-shrink:0;height:40px;width:40px}.patient-splash-name{color:#2d3748;font-family:Manrope,system-ui,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.01em}.patient-splash-spinner{animation:patient-splash-spin .7s linear infinite;border:2.5px solid #0d94882e;border-radius:50%;border-top-color:#0d9488;height:26px;width:26px}.patient-splash-sr{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@keyframes patient-splash-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes patient-splash-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.patient-splash-logo{animation:none}.patient-splash-spinner{animation-duration:1.4s}}.pd-skeleton-frame{background:#f8faf7;display:flex;flex-direction:column;inset:0;position:fixed;z-index:1000}.pd-skel-header{background:#fff;border-bottom:1px solid #0f172a0a;flex-shrink:0;justify-content:space-between;padding:14px 20px}.pd-skel-header,.pd-skel-logo{align-items:center;display:flex}.pd-skel-logo{gap:10px}.pd-skel-logo-dot{background:linear-gradient(135deg,#1a8a6a,#2b7cb8);border-radius:50%;display:inline-block;flex-shrink:0;height:28px;width:28px}.pd-skel-logo-text{border-radius:4px;height:16px;width:78px}.pd-skel-header-right{align-items:center;display:flex;gap:10px}.pd-skel-streak{border-radius:14px;height:28px;width:56px}.pd-skel-avatar{height:36px;width:36px}.pd-skel-content{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:14px;margin:0 auto;max-width:960px;overflow:hidden;padding:20px;width:100%}.pd-skel-card{background-color:#e8ebf0;border-radius:16px;width:100%}.pd-skel-card--hero{height:220px}.pd-skel-card--medium{height:130px}.pd-skel-card--small{height:80px}.pd-skel-tabbar{align-items:center;background:#fffffff7;border-top:1px solid #e2e8f099;display:flex;flex-shrink:0;justify-content:space-around;padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px))}.pd-skel-tab{border-radius:10px;height:32px;width:44px}.pd-skel-tab--accent{border-radius:14px;height:44px;width:52px}.pd-skel-sr{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (prefers-reduced-motion:reduce){.pd-skeleton-frame .pd-skeleton{animation-duration:3s}}.error-boundary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-boundary-content{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:500px;padding:40px;text-align:center}.error-icon{font-size:64px;margin-bottom:20px}.error-boundary-content h1{color:#1a202c;font-size:24px;margin-bottom:12px}.error-boundary-content p{color:#4a5568;font-size:16px;line-height:1.5;margin-bottom:24px}.error-details{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:24px;padding:12px;text-align:left}.error-details summary{color:#718096;cursor:pointer;font-size:14px;margin-bottom:8px}.error-details pre{color:#e53e3e;font-size:12px;margin:8px 0;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.btn-reload{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.btn-reload:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-home{background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-home:hover{background:#667eea;color:#fff}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:clamp(16px,3vw,20px)}.login-box{background:#fff;border-radius:clamp(12px,2vw,16px);box-shadow:0 20px 60px #0000004d;max-width:min(480px,95vw);padding:clamp(32px,6vw,48px);width:100%}.login-header{margin-bottom:clamp(24px,5vw,36px);text-align:center}.login-header h1{color:#1a202c;font-size:clamp(26px,5vw,36px);font-weight:700;margin:0 0 clamp(8px,2vw,12px)}.login-header p{color:#718096;font-size:clamp(14px,2vw,16px);margin:0}.login-form{gap:clamp(18px,3vw,24px)}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:clamp(6px,1.5vw,10px)}.form-group label{font-size:clamp(13px,2vw,15px)}.form-group input{border:2px solid #e2e8f0;border-radius:10px;box-sizing:border-box;font-size:clamp(14px,2vw,16px);min-height:48px;padding:clamp(12px,2vw,16px);transition:all .2s;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.form-group input::placeholder{color:#a0aec0}.btn-primary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;cursor:pointer;display:flex;font-size:clamp(15px,2vw,17px);font-weight:600;gap:8px;justify-content:center;min-height:52px;padding:clamp(14px,3vw,18px) clamp(20px,4vw,28px);transition:all .2s}.btn-primary:hover:not(:disabled){box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{border-radius:10px;padding:clamp(12px,2vw,16px)}.login-footer{margin-top:clamp(20px,4vw,28px);text-align:center}.login-footer p{color:#718096;font-size:clamp(13px,2vw,14px);margin:0}.login-footer a{color:#667eea;font-weight:600;text-decoration:none;transition:color .2s}.login-footer a:hover{color:#5568d3;text-decoration:underline}.btn-primary .spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.password-field{position:relative}.password-toggle{background:none;border:none;border-radius:6px;color:#a0aec0;cursor:pointer;min-height:auto;padding:8px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s}.password-toggle:hover{background:#667eea1a;color:#667eea}@media (max-width:400px){.login-box{padding:clamp(20px,5vw,32px)}.login-header h1{font-size:clamp(22px,6vw,28px)}}.form-group input:focus-visible{outline:2px solid #667eea;outline-offset:2px}@media (prefers-reduced-motion:reduce){.btn-primary{transition:none}.btn-primary:hover:not(:disabled){transform:none}}.back-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#4a5568;cursor:pointer;display:inline-flex;font-size:clamp(14px,2vw,16px);font-weight:600;gap:clamp(6px,1.5vw,10px);margin-bottom:clamp(16px,3vw,24px);min-height:44px;padding:clamp(10px,2vw,14px) clamp(16px,3vw,24px);text-decoration:none;transition:all .2s}.back-button:hover{background:#f7fafc;border-color:#cbd5e0;box-shadow:0 2px 8px #00000014;transform:translateX(-4px)}.back-button:active{transform:translateX(-2px)}.back-arrow{align-items:center;display:flex;flex-shrink:0;font-size:clamp(18px,3vw,22px);transition:transform .2s}.back-button:hover .back-arrow{transform:translateX(-4px)}.back-button svg{stroke-width:2.5;flex-shrink:0;height:clamp(18px,3vw,20px);width:clamp(18px,3vw,20px)}.back-button.small{font-size:clamp(12px,2vw,14px);min-height:36px;padding:clamp(6px,1.5vw,8px) clamp(12px,2vw,16px)}.back-button.large{font-size:clamp(15px,2vw,17px);min-height:50px;padding:clamp(12px,2vw,16px) clamp(20px,3vw,28px)}.back-button.icon-only{border-radius:50%;height:clamp(40px,7vw,44px);justify-content:center;padding:0;width:clamp(40px,7vw,44px)}@media (max-width:480px){.back-button{justify-content:center;width:100%}.back-button.icon-only{width:44px}}.back-button:focus-visible{outline:2px solid #667eea;outline-offset:2px}@media (prefers-reduced-motion:reduce){.back-arrow,.back-button{transition:none}.back-button:hover,.back-button:hover .back-arrow{transform:none}}.back-button:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.back-button.loading{cursor:wait;opacity:.7}.breadcrumbs{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;flex-wrap:wrap;font-size:clamp(14px,2vw,16px);gap:clamp(6px,1.5vw,10px);margin-bottom:clamp(20px,4vw,28px);min-height:44px;padding:clamp(12px,2vw,16px) clamp(16px,3vw,20px)}.breadcrumbs,.crumb-item{align-items:center;display:flex}.crumb-item{gap:clamp(4px,1vw,6px)}.breadcrumb-link,.crumb-item a{align-items:center;border-radius:6px;color:#667eea;display:inline-flex;font-weight:500;gap:clamp(4px,1vw,6px);min-height:32px;padding:clamp(6px,1.5vw,8px) clamp(8px,2vw,12px);text-decoration:none;transition:all .2s}.breadcrumb-link:hover,.crumb-item a:hover{background:#f7fafc;color:#5568d3;text-decoration:none}.breadcrumb-current,.crumb-item.active .crumb-label{align-items:center;color:#2d3748;display:inline-flex;font-weight:600;gap:clamp(4px,1vw,6px);padding:clamp(6px,1.5vw,8px) clamp(8px,2vw,12px)}.breadcrumb-icon,.crumb-icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:clamp(16px,3vw,18px)}.breadcrumb-icon svg,.crumb-icon svg{stroke-width:2;height:clamp(16px,3vw,18px);width:clamp(16px,3vw,18px)}.breadcrumb-separator,.crumb-separator{align-items:center;color:#cbd5e0;display:flex;font-size:clamp(14px,2vw,16px);margin:0 clamp(2px,.5vw,4px);-webkit-user-select:none;user-select:none}.breadcrumb-separator svg,.crumb-separator svg{height:clamp(14px,2vw,16px);width:clamp(14px,2vw,16px)}.breadcrumbs.compact{margin-bottom:clamp(12px,2vw,16px);min-height:36px;padding:clamp(8px,1.5vw,10px) clamp(12px,2vw,16px)}.breadcrumbs.compact .breadcrumb-current,.breadcrumbs.compact .breadcrumb-link{font-size:clamp(12px,2vw,14px);padding:clamp(4px,1vw,6px) clamp(6px,1.5vw,8px)}.breadcrumbs.transparent{background:#0000;box-shadow:none;padding-left:0;padding-right:0}@media (max-width:480px){.breadcrumbs{font-size:clamp(12px,3vw,14px)}.breadcrumbs .crumb-item:not(:first-child):not(:last-child){display:none}.breadcrumbs .crumb-item:first-child+.crumb-separator:after{color:#a0aec0;content:"...";margin:0 4px}}.breadcrumb-link:focus-visible,.crumb-item a:focus-visible{outline:2px solid #667eea;outline-offset:2px}@keyframes breadcrumbSlideIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.breadcrumbs.animate .crumb-item{animation:breadcrumbSlideIn .3s ease-out backwards}.breadcrumbs.animate .crumb-item:first-child{animation-delay:0s}.breadcrumbs.animate .crumb-item:nth-child(2){animation-delay:.05s}.breadcrumbs.animate .crumb-item:nth-child(3){animation-delay:.1s}.breadcrumbs.animate .crumb-item:nth-child(4){animation-delay:.15s}@media (prefers-reduced-motion:reduce){.breadcrumbs.animate .crumb-item{animation:none}}.breadcrumbs.loading{opacity:.6;pointer-events:none}.breadcrumbs.loading .breadcrumb-link,.breadcrumbs.loading .crumb-item a{cursor:wait}.confirm-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.confirm-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-width:400px;padding:24px;position:relative;text-align:center;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-modal-close{background:none;border:none;border-radius:8px;color:#64748b;cursor:pointer;padding:8px;position:absolute;right:12px;top:12px;transition:all .2s}.confirm-modal-close:hover{background:#f1f5f9;color:#1e293b}.confirm-modal-icon{align-items:center;border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.confirm-modal-danger .confirm-modal-icon{background:#fee2e2;color:#dc2626}.confirm-modal-warning .confirm-modal-icon{background:#fef3c7;color:#d97706}.confirm-modal-info .confirm-modal-icon{background:#dbeafe;color:#2563eb}.confirm-modal-title{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 8px}.confirm-modal-message{color:#64748b;font-size:.95rem;line-height:1.5;margin:0 0 24px}.confirm-modal-actions{display:flex;gap:12px;justify-content:center}.confirm-modal-actions button{border-radius:10px;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;padding:12px 20px;transition:all .2s}.confirm-modal-actions .btn-secondary{background:#f1f5f9;border:none;color:#475569}.confirm-modal-actions .btn-secondary:hover{background:#e2e8f0}.confirm-modal-actions .btn-danger{background:#dc2626;border:none;color:#fff}.confirm-modal-actions .btn-danger:hover{background:#b91c1c}.confirm-modal-actions .btn-primary{background:#667eea;border:none;color:#fff}.confirm-modal-actions .btn-primary:hover{background:#5a67d8}@media (max-width:480px){.confirm-modal{padding:20px}.confirm-modal-actions{flex-direction:column}.confirm-modal-actions button{width:100%}}*{font-family:Roboto,Arial,sans-serif}.patients-page{margin:0 auto;max-width:1400px;padding:clamp(16px,3vw,24px)}.btn-add-patient{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 2px 8px #667eea33;color:#fff;cursor:pointer;display:flex;font-size:clamp(14px,2vw,16px);font-weight:600;gap:clamp(6px,1.5vw,10px);justify-content:center;margin-bottom:clamp(16px,3vw,24px);min-height:48px;padding:clamp(12px,2vw,14px) clamp(20px,4vw,28px);transition:all .2s;width:100%}.btn-add-patient:hover{box-shadow:0 6px 20px #667eea66}@media (min-width:769px){.btn-add-patient{align-self:flex-start;width:auto}}.patients-controls{align-items:baseline;display:flex;flex-direction:row;gap:clamp(12px,2vw,16px);margin-bottom:clamp(20px,4vw,28px)}.search-box{width:100%}.search-icon{display:none}.search-input{padding:clamp(11px,2vw,13px) clamp(12px,2vw,16px)}.clear-search{min-height:auto}.controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(16px,3vw,20px)}.sort-select{background:#fff;border:1px solid #667eea66;border-radius:12px;box-sizing:border-box;color:#2d3748;cursor:pointer;flex:1 1 auto;font-size:clamp(13px,2vw,16px);font-weight:500;min-height:48px;min-width:min(180px,100%);padding:clamp(11px,2vw,16px) clamp(14px,2vw,25px);transition:all .2s}.sort-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.sort-select:hover{border-color:#cbd5e0}.view-toggle{display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;margin-top:5%}.view-toggle button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#718096;cursor:pointer;display:flex;font-size:18px;height:48px;justify-content:center;min-height:48px;padding:0;transition:all .2s;width:48px}.view-toggle button:hover{background:#f7fafc;border-color:#cbd5e0}.view-toggle button.active{background:#eef2ff;border-color:#667eea;color:#667eea}.patients-grid{grid-gap:clamp(16px,3vw,20px);gap:clamp(16px,3vw,20px);grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr))}.patient-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;padding:20px;transition:all .2s}.patient-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.patient-card-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:clamp(8px,2vw,12px);margin-bottom:clamp(14px,3vw,18px);padding-bottom:clamp(14px,3vw,18px);text-align:center}.patient-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:flex-start;margin-bottom:16px;padding-bottom:16px}.patient-avatar{display:none}.patient-info{align-items:flex-start;display:flex;flex-direction:column;gap:4px;width:100%}.patient-name{background:none;color:#1a1a1a;font-size:20px;font-weight:700;margin:0;padding:0;word-break:break-word}.patient-contact{display:none}.patient-details{gap:12px;margin-bottom:20px}.patients-page .detail-row{align-items:center;display:flex;font-size:14px;gap:12px;justify-content:space-between}.patients-page .detail-label{color:#6b7280;font-weight:400}.patients-page .detail-value{color:#1a1a1a;font-weight:500;text-align:right}.patient-notes{background:#f7fafc;border-left:3px solid #677ce7;color:#4a5568;font-size:14px;line-height:1.5;margin-bottom:12px;padding:12px}.patient-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}.patient-actions .btn-secondary{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s;width:100%}.patient-actions .btn-secondary:hover{background:#f9fafb;border-color:#6366f1;color:#6366f1}.patient-actions .btn-delete{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;padding:12px 20px;transition:all .2s;width:100%}.patient-actions .btn-delete:hover{background:#fee2e2;border-color:#fca5a5}.patients-list{display:none}.patients-list.active{display:flex;flex-direction:column;gap:12px}.patient-list-item{align-items:center;background:#fff;border:1px solid #667eea33;border-radius:12px;box-shadow:0 2px 6px #667eea1a;display:flex;gap:24px;justify-content:space-between;padding:16px;transition:all .2s}.patient-list-item:hover{border-color:#667eea66;box-shadow:0 4px 12px #667eea33;transform:translateY(-1px)}.patient-list-info{align-items:center;display:flex;flex:1 1;gap:24px;min-width:0}.patient-list-name{color:#1a202c;font-size:16px;font-weight:600;min-width:200px}.patient-list-details{align-items:center;color:#4a5568;display:flex;flex-wrap:wrap;font-size:14px;gap:20px}.patient-list-actions{display:flex;flex-shrink:0;gap:8px}.patients-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 8px #667eea1a;overflow:hidden}.patients-table{border-collapse:collapse;width:100%}.patients-table thead{background:#f7fafc;border-bottom:1px solid #e2e8f0}.patients-table th{color:#2d3748;font-weight:600;text-align:left;white-space:nowrap}.patients-table td,.patients-table th{font-size:16px;padding:clamp(14px,2vw,16px)}.patients-table td{border-bottom:1px solid #e2e8f0;color:#4a5568}.patients-table tbody tr:hover{background:#f7fafc}.patients-table tbody tr:last-child td{border-bottom:none}.table-actions{display:flex;gap:8px}.btn-table-action{align-items:center;background:#edf2f7;border:none;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:4px;min-height:36px;padding:8px 12px;transition:all .2s;white-space:nowrap}.btn-table-action:hover{background:#e2e8f0}.btn-table-action.btn-edit{background:#ebf8ff;color:#3182ce}.btn-table-action.btn-edit:hover{background:#bee3f8}.btn-table-action.btn-delete{background:#fff5f5;color:#c53030}.btn-table-action.btn-delete:hover{background:#fed7d7}@media (max-width:1242px){.patient-list-details{align-items:flex-start;flex-direction:column;gap:8px}}@media (max-width:1024px){.patients-list{display:none!important}.view-toggle{display:none}}.empty-state-icon{font-size:clamp(48px,10vw,72px);margin-bottom:clamp(16px,3vw,24px);opacity:.5}.empty-state p{font-size:clamp(15px,3vw,17px);margin:0 0 clamp(20px,4vw,28px)}.modal-content{max-width:min(55%,95vw)!important}.modal-close{min-height:auto}.form-row{grid-gap:clamp(12px,3vw,16px);display:grid;gap:clamp(12px,3vw,16px);grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.form-group:last-child{margin-bottom:0}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#2d3748;font-family:inherit;font-size:clamp(14px,2vw,15px);min-height:48px;padding:clamp(11px,2vw,13px) clamp(14px,2vw,16px);transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input.input-error,.form-group select.input-error,.form-group textarea.input-error{border-color:#f56565}.form-group textarea{min-height:clamp(80px,18vw,100px)}.modal-actions{flex-direction:column;gap:0}.modal-actions button{margin-bottom:10px;width:100%}.modal-actions button:last-child{margin-bottom:0}.btn-cancel,.btn-secondary{background:#fff;border:1px solid #667eea;color:#2d3748}.btn-cancel:hover,.btn-secondary:hover{background:#f7fafc;border-color:#5568d3}.btn-primary,.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 2px 8px #667eea4d;color:#fff}.btn-primary:hover,.btn-save:hover{box-shadow:0 8px 20px #667eea66}.btn-delete{background:#f56565;border:1px solid #a2a2a2;color:#fff;width:100%}.btn-delete:hover{border-color:#8a8a8a}.complexes-list{display:flex;flex-direction:column;gap:12px}.complex-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:16px;transition:all .2s}.complex-item.clickable:hover{background:#eef2ff;border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.complex-item-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.complex-item-header h4{color:#1a202c;font-size:16px;font-weight:600;margin:0}.complex-date{font-size:13px;white-space:nowrap}.complex-item-details{align-items:center;color:#4a5568;display:flex;font-size:14px;gap:12px;justify-content:space-between}.view-progress-hint{align-items:center;color:#667eea;display:flex;font-weight:500;gap:4px}.error-message{align-items:center;display:flex;font-size:14px;gap:8px;margin-bottom:16px;padding:12px 16px}.error-icon{flex-shrink:0}@media (max-width:768px){.patients-controls{flex-direction:row}.controls-row{width:100%}.sort-select{flex:1 1}}.patient-row{align-items:center;background:#fff;border:1px solid #667ce88c;border-radius:12px;display:flex;gap:24px;justify-content:space-between;padding:1%}@media (max-width:480px){.patient-list-name{min-width:auto}.patient-list-details{gap:12px}.patient-list-actions{flex-direction:column;width:100%}.patient-list-actions .btn-action{justify-content:center;width:100%}.patient-row{align-items:flex-start;flex-direction:column;gap:12px}}.skeleton{animation:skeletonShimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:clamp(6px,1.5vw,8px)}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:clamp(14px,2vw,16px);margin-bottom:clamp(6px,1.5vw,8px)}.skeleton-text.short{width:40%}.skeleton-text.medium{width:70%}.skeleton-text.long{width:100%}.skeleton-title{height:clamp(20px,4vw,28px);margin-bottom:clamp(10px,2vw,14px);width:60%}.skeleton-subtitle{height:clamp(16px,3vw,20px);margin-bottom:clamp(8px,2vw,12px);width:45%}.skeleton-avatar{border-radius:50%;flex-shrink:0;height:clamp(44px,8vw,52px);width:clamp(44px,8vw,52px)}.skeleton-avatar.large{height:clamp(60px,10vw,72px);width:clamp(60px,10vw,72px)}.skeleton-avatar.small{height:clamp(32px,6vw,40px);width:clamp(32px,6vw,40px)}.skeleton-button{border-radius:clamp(6px,1.5vw,8px);height:clamp(40px,7vw,48px);width:clamp(100px,20vw,140px)}.skeleton-image{border-radius:clamp(10px,2vw,14px);height:clamp(140px,30vw,200px);width:100%}.skeleton-badge{border-radius:clamp(10px,2vw,12px);display:inline-block;height:clamp(22px,4vw,26px);margin-right:clamp(6px,1.5vw,8px);width:clamp(70px,15vw,90px)}.skeleton-icon{border-radius:4px;height:clamp(20px,4vw,24px);width:clamp(20px,4vw,24px)}.skeleton-patient-card{align-items:center;background:#fff;border-radius:clamp(12px,2vw,16px);box-shadow:0 2px 8px #0000000f;display:flex;gap:clamp(12px,2vw,18px);padding:clamp(16px,3vw,22px)}.skeleton-patient-info{flex:1 1;min-width:0}.skeleton-exercise-card{background:#fff;border-radius:clamp(12px,2vw,16px);box-shadow:0 2px 8px #0000000f;overflow:hidden}.skeleton-exercise-card .skeleton-image{border-radius:0;height:clamp(160px,30vw,200px)}.skeleton-exercise-content{padding:clamp(14px,3vw,18px)}.skeleton-exercise-badges{display:flex;flex-wrap:wrap;gap:clamp(6px,1.5vw,8px);margin:clamp(10px,2vw,14px) 0}.skeleton-complex-card{background:#fff;border-radius:clamp(12px,2vw,16px);box-shadow:0 2px 8px #0000000f;padding:clamp(16px,3vw,22px)}.skeleton-complex-header{align-items:center;display:flex;gap:clamp(12px,2vw,18px);margin-bottom:clamp(12px,2vw,18px)}.skeleton-complex-stats{display:flex;flex-wrap:wrap;gap:clamp(16px,3vw,28px);margin-top:clamp(12px,2vw,18px)}.skeleton-stat{display:flex;flex-direction:column;gap:clamp(3px,1vw,5px);min-width:clamp(60px,15vw,80px)}.skeleton-stat-value{height:clamp(24px,5vw,32px);width:clamp(36px,8vw,48px)}.skeleton-stat-label{height:clamp(12px,2vw,14px);width:clamp(54px,12vw,70px)}.skeleton-patients-grid{grid-gap:clamp(14px,3vw,18px);display:grid;gap:clamp(14px,3vw,18px);grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}.skeleton-exercises-grid{grid-gap:clamp(16px,3vw,22px);display:grid;gap:clamp(16px,3vw,22px);grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}.skeleton-complexes-list{display:flex;flex-direction:column;gap:clamp(14px,3vw,18px)}.skeleton-table{background:#fff;border-radius:clamp(10px,2vw,14px);overflow:hidden;width:100%}.skeleton-table-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:clamp(12px,2vw,18px);padding:clamp(14px,3vw,18px) clamp(16px,3vw,22px)}.skeleton-table-header .skeleton{height:clamp(12px,2vw,14px)}.skeleton-table-row{border-bottom:1px solid #f1f5f9;display:flex;gap:clamp(12px,2vw,18px);padding:clamp(14px,3vw,18px) clamp(16px,3vw,22px)}.skeleton-table-row:last-child{border-bottom:none}.skeleton-table-cell{flex:1 1;min-width:0}.skeleton-table-cell.small{flex:0.5 1;min-width:clamp(60px,12vw,80px)}.skeleton-table-cell.large{flex:2 1}.skeleton-filters,.skeleton-page-header{margin-bottom:clamp(20px,4vw,28px)}.skeleton-filters{display:flex;flex-wrap:wrap;gap:clamp(12px,2vw,18px)}.skeleton-filter{width:clamp(140px,25vw,200px)}.skeleton-filter,.skeleton-search{border-radius:clamp(6px,1.5vw,8px);height:clamp(40px,7vw,48px)}.skeleton-search{flex:1 1 min(300px,100%)}.skeleton-page{margin:0 auto;max-width:1400px;padding:clamp(18px,4vw,26px)}.skeleton-page-title{height:clamp(28px,6vw,40px);margin-bottom:clamp(8px,2vw,12px);width:min(280px,70%)}.skeleton-page-subtitle{height:clamp(16px,3vw,20px);margin-bottom:clamp(20px,4vw,28px);width:min(380px,85%)}.skeleton-form{background:#fff;border-radius:clamp(10px,2vw,14px);box-shadow:0 2px 8px #0000000f;padding:clamp(18px,4vw,26px)}.skeleton-form-group{margin-bottom:clamp(16px,3vw,22px)}.skeleton-form-label{height:clamp(14px,2vw,16px);margin-bottom:clamp(6px,1.5vw,10px);width:clamp(80px,20vw,120px)}.skeleton-form-input{border-radius:clamp(6px,1.5vw,8px);height:clamp(40px,7vw,48px);width:100%}@media (max-width:640px){.skeleton-exercises-grid,.skeleton-patients-grid{grid-template-columns:1fr}.skeleton-filters{flex-direction:column}.skeleton-filter,.skeleton-search{width:100%}.skeleton-complex-stats{gap:clamp(12px,3vw,16px)}.skeleton-table{display:none}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none;background:#e0e0e0}}.create-complex-page{margin:0 auto;max-width:1400px;padding:clamp(16px,3vw,20px)}.page-header{margin-bottom:clamp(16px,3vw,24px)}.page-header h1{flex-wrap:wrap;font-size:clamp(20px,4vw,24px)}.page-header h1 svg{color:#667eea;flex-shrink:0}.steps-indicator{display:flex;flex-wrap:wrap;gap:clamp(8px,2vw,12px);justify-content:center;margin:clamp(16px,3vw,20px) 0}.step{background:#edf2f7;border-radius:8px;color:#718096;flex:0 1 auto;font-size:clamp(12px,2vw,14px);font-weight:600;padding:clamp(8px,1.5vw,10px) clamp(12px,3vw,20px);transition:all .2s;white-space:nowrap}.step.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.step.completed{background:#48bb78;color:#fff}.error-message{background:#fff5f5;border:2px solid #feb2b2;border-radius:12px;font-weight:500;margin-bottom:clamp(16px,3vw,20px);padding:clamp(12px,2vw,14px) clamp(14px,2vw,18px)}.form-section{background:#fff;border-radius:clamp(12px,2vw,16px);box-shadow:0 2px 8px #00000014;margin-bottom:clamp(16px,3vw,24px);padding:clamp(16px,3vw,24px)}.form-section h2{align-items:center;color:#1a202c;display:flex;font-size:clamp(18px,3vw,20px);gap:clamp(6px,1.5vw,8px);margin:0 0 clamp(12px,2vw,16px)}.form-section h2 svg{stroke-width:2;flex-shrink:0}.form-field{margin-bottom:clamp(16px,3vw,20px)}.form-field label{color:#2d3748;display:block;font-size:clamp(13px,2vw,14px);font-weight:600;margin-bottom:clamp(6px,1vw,8px)}.form-field input,.form-field select,.form-field textarea{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:clamp(13px,2vw,14px);padding:clamp(10px,2vw,12px) clamp(12px,2vw,14px);transition:all .2s;width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-field textarea{line-height:1.5;min-height:clamp(80px,15vw,100px);resize:vertical}.patient-search{position:relative}.search-results{background:#fff;border:2px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;left:0;margin-top:4px;max-height:min(300px,40vh);overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.create-patients-list{display:flex;flex-direction:column;gap:clamp(10px,2vw,12px);margin-top:clamp(16px,3vw,20px);min-height:200px;padding:4px}.patient-item{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:clamp(12px,2vw,16px);padding:clamp(12px,2vw,16px);position:relative;transition:all .2s}.patient-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.patient-item.selected{background:#eef2ff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.patient-item .patient-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:clamp(16px,3vw,18px);font-weight:700;height:clamp(44px,8vw,52px);justify-content:center;width:clamp(44px,8vw,52px)}.patient-details{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.patient-details strong{color:#1a202c;font-size:clamp(14px,2vw,16px);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-details span{color:#718096;font-size:clamp(12px,1.5vw,14px)}.check-mark{align-items:center;color:#48bb78;display:flex;flex-shrink:0;justify-content:center}.results-count{margin:clamp(10px,2vw,12px) 0 0}.search-box{margin-top:clamp(12px,2vw,16px)}.search-input{padding:clamp(12px,2vw,14px) 40px clamp(12px,2vw,14px) clamp(14px,2vw,16px)}.step-content{background:#fff;border-radius:clamp(12px,2vw,16px);box-shadow:0 2px 8px #00000014;padding:clamp(20px,4vw,28px)}.step-content h2{color:#1a202c;font-size:clamp(18px,3vw,22px);font-weight:700;margin:0 0 clamp(16px,3vw,20px)}.search-result-item{cursor:pointer;font-size:clamp(13px,2vw,14px);padding:clamp(10px,2vw,12px) clamp(12px,2vw,14px);transition:background .2s}.search-result-item:hover{background:#f7fafc}.selected-exercises-list{display:flex;flex-direction:column;gap:clamp(10px,2vw,14px);margin-top:clamp(12px,2vw,16px);max-height:min(400px,50vh);overflow-y:auto;padding:4px}.selected-exercise{align-items:flex-start;background:#fff;border:2px solid #e2e8f0;border-radius:12px;display:flex;flex-wrap:wrap;gap:clamp(8px,2vw,12px);padding:clamp(10px,2vw,14px);position:relative;transition:all .2s;user-select:none;-webkit-user-select:none}.selected-exercise:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.selected-exercise.is-dragging{box-shadow:0 8px 20px #00000026;opacity:.95}.drag-handle{color:#cbd5e0;cursor:grab;flex-shrink:0;font-size:clamp(16px,3vw,18px);padding:clamp(4px,1vw,6px);touch-action:none;transition:color .2s;-webkit-user-select:none;user-select:none}.drag-handle:hover{color:#667eea}.drag-handle:active{cursor:grabbing}.exercise-info{flex:1 1 min(120px,100%);min-width:0}.exercise-info strong{color:#1a202c;display:block;font-size:clamp(13px,2vw,15px);font-weight:600;margin-bottom:2px;word-break:break-word}.exercise-meta{color:#718096;font-size:clamp(11px,1.5vw,12px)}.create-complex-page .exercise-params{grid-gap:clamp(6px,1.5vw,8px);display:grid;gap:clamp(6px,1.5vw,8px);grid-template-columns:repeat(auto-fit,minmax(min(60px,100%),1fr));margin-top:clamp(8px,1.5vw,10px);width:100%}.create-complex-page .exercise-params input{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:clamp(12px,2vw,14px);padding:clamp(8px,1.5vw,10px) clamp(6px,1.5vw,8px);text-align:center;transition:all .2s;width:100%}.create-complex-page .exercise-params input::placeholder{color:#a0aec0;font-size:clamp(11px,1.5vw,12px)}.create-complex-page .exercise-params input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.create-complex-page .exercise-params input.notes-input{grid-column:1/-1;text-align:left}.remove-exercise-btn{align-items:center;align-self:flex-start;background:#fee;border:2px solid #fed7d7;border-radius:8px;color:#e53e3e;cursor:pointer;display:flex;flex-shrink:0;font-size:clamp(14px,2vw,16px);font-weight:700;height:clamp(28px,5vw,32px);justify-content:center;transition:all .2s;width:clamp(28px,5vw,32px)}.remove-exercise-btn:hover{background:#fc8181;border-color:#fc8181;color:#fff}@media (max-width:500px){.selected-exercise{padding-right:40px}.remove-exercise-btn{position:absolute;right:8px;top:8px}}.available-exercises-grid{grid-gap:clamp(10px,2vw,14px);display:grid;gap:clamp(10px,2vw,14px);grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));margin-top:clamp(12px,2vw,16px)}.exercise-card-small{background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:clamp(8px,1.5vw,10px);padding:clamp(10px,2vw,14px);transition:all .2s}.exercise-card-small:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.exercise-card-small h4{color:#1a202c;font-size:clamp(13px,2vw,15px);font-weight:600;margin:0}.exercise-card-small p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#4a5568;display:-webkit-box;font-size:clamp(12px,1.5vw,13px);line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis}.exercise-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:#edf2f7;border-radius:6px;color:#4a5568;font-size:clamp(10px,1.5vw,11px);font-weight:500;padding:3px 8px}.btn-add{align-items:center;background:#48bb78;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:clamp(12px,2vw,14px);font-weight:600;gap:6px;justify-content:center;margin-top:auto;padding:clamp(8px,1.5vw,10px) clamp(12px,2vw,16px);transition:all .2s}.btn-add:hover{background:#38a169;box-shadow:0 4px 8px #48bb784d;transform:translateY(-2px)}.btn-add:disabled{background:#e2e8f0;color:#a0aec0;cursor:not-allowed;transform:none}.step-buttons{display:flex;flex-wrap:wrap;gap:clamp(10px,2vw,12px);justify-content:space-between;margin-top:clamp(20px,4vw,24px)}.btn-step{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1 auto;font-size:clamp(13px,2vw,15px);font-weight:600;gap:8px;justify-content:center;min-width:-webkit-min-content;min-width:min-content;padding:clamp(10px,2vw,12px) clamp(20px,3vw,24px);transition:all .2s}.btn-back{background:#edf2f7;color:#4a5568}.btn-back:hover{background:#e2e8f0;transform:translateY(-2px)}.btn-next{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-next:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.btn-next:disabled{background:#e2e8f0;color:#a0aec0;cursor:not-allowed;transform:none}@media (max-width:500px){.step-buttons{flex-direction:column}.btn-step{width:100%}}.success-screen{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000001a;padding:clamp(40px,8vw,60px) clamp(20px,4vw,40px);text-align:center}.success-icon{color:#48bb78;font-size:clamp(60px,10vw,80px);margin-bottom:clamp(16px,3vw,20px)}.success-screen h2{color:#1a202c;font-size:clamp(22px,4vw,28px);margin:0 0 clamp(10px,2vw,12px)}.success-screen p{color:#718096;font-size:clamp(14px,2vw,16px);margin:0 0 clamp(24px,4vw,32px)}.complex-link{background:#edf2f7;border-radius:8px;color:#4a5568;font-size:clamp(12px,2vw,14px);margin:clamp(16px,3vw,20px) 0;padding:clamp(10px,2vw,12px) clamp(14px,2vw,16px);word-break:break-all}.share-buttons{display:flex;flex-wrap:wrap;gap:clamp(10px,2vw,12px);justify-content:center;margin:clamp(20px,4vw,24px) 0}.btn-share{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:clamp(13px,2vw,14px);font-weight:600;gap:8px;padding:clamp(10px,2vw,12px) clamp(16px,3vw,20px);transition:all .2s}.btn-whatsapp{background:#25d366;color:#fff}.btn-telegram{background:#08c;color:#fff}.btn-share:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}@media (max-width:1024px){.back-button-wrapper{display:none!important}}.step-exercises{grid-gap:clamp(16px,3vw,24px);align-items:start;display:grid;gap:clamp(16px,3vw,24px);grid-template-columns:1fr 1fr}.exercises-section,.selected-section{background:#f8fafc;border-radius:12px;max-height:70vh;overflow-y:auto;padding:clamp(16px,3vw,20px)}.exercises-section h2,.selected-section h2{align-items:center;background:#f8fafc;display:flex;font-size:clamp(16px,2.5vw,18px);gap:8px;margin:0 0 clamp(12px,2vw,16px);padding-bottom:8px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.search-filters{display:flex;gap:clamp(8px,1.5vw,12px);margin-bottom:clamp(12px,2vw,16px)}.search-filters input{flex:1 1}.search-filters input,.search-filters select{border:2px solid #e2e8f0;border-radius:8px;font-size:clamp(13px,2vw,14px);padding:clamp(8px,1.5vw,10px) clamp(10px,2vw,12px)}.search-filters select{background:#fff;min-width:100px}.search-filters input:focus,.search-filters select:focus{border-color:#667eea;outline:none}.available-exercises{display:flex;flex-direction:column;gap:clamp(8px,1.5vw,10px)}.exercise-item{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;display:flex;gap:clamp(10px,2vw,12px);justify-content:space-between;padding:clamp(10px,2vw,12px);transition:all .2s}.exercise-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.exercise-item.is-added{background:#f0fdf4;border-color:#86efac}.exercise-item .exercise-info{flex:1 1;min-width:0}.exercise-item .exercise-info strong{color:#1a202c;display:block;font-size:clamp(13px,2vw,14px);margin-bottom:2px}.exercise-item .exercise-info .exercise-meta{color:#718096;font-size:clamp(11px,1.5vw,12px)}.btn-added{align-items:center;background:#e2e8f0;border:2px solid #c6f6d5;border-radius:8px;color:#48bb78;cursor:default;display:flex;font-size:clamp(12px,2vw,13px);font-weight:600;gap:6px;padding:clamp(8px,1.5vw,10px) clamp(12px,2vw,16px);white-space:nowrap}.selected-section{background:#eef2ff;border:2px dashed #c7d2fe}.empty-complex{color:#718096;padding:clamp(30px,6vw,40px);text-align:center}.empty-complex p{font-size:clamp(13px,2vw,14px);margin:0}.step-buttons.full-width{grid-column:1/-1}@media (max-width:768px){.step-exercises{grid-template-columns:1fr}.exercises-section,.selected-section{max-height:50vh}}.step-content:has(.create-patients-list){display:flex;flex-direction:column;max-height:calc(100vh - 250px)}.step-content:has(.create-patients-list) .results-count,.step-content:has(.create-patients-list) .search-box,.step-content:has(.create-patients-list) h2{flex-shrink:0}.create-patients-list{flex:1 1;min-height:150px;overflow-y:auto}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:clamp(12px,2vw,16px)}.section-header h2{margin:0}.btn-template{align-items:center;background:#edf2f7;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:clamp(12px,2vw,14px);font-weight:600;gap:6px;padding:clamp(8px,1.5vw,10px) clamp(12px,2vw,16px);transition:all .2s}.btn-template:hover{background:#e2e8f0;border-color:#cbd5e0}.btn-save-template{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:clamp(14px,2vw,16px);font-weight:600;gap:8px;justify-content:center;margin-bottom:12px;padding:clamp(12px,2vw,14px);transition:all .2s;width:100%}.btn-save-template:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.modal-content{display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden}.modal-header{border-bottom:1px solid #e2e8f0;padding:clamp(16px,3vw,20px)}.modal-header h3{align-items:center;color:#1a202c;display:flex;font-size:clamp(16px,3vw,18px);gap:8px;margin:0}.modal-close{background:none;border-radius:8px;padding:8px}.modal-close:hover{background:#f7fafc;color:#1a202c}.modal-body{flex:1 1;overflow-y:auto}.modal-body,.modal-footer{padding:clamp(16px,3vw,20px)}.modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end}.templates-list{display:flex;flex-direction:column;gap:10px}.template-item{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;padding:clamp(12px,2vw,16px);transition:all .2s}.template-item:hover{background:#eef2ff;border-color:#667eea}.template-info{flex:1 1;min-width:0}.template-info strong{color:#1a202c;display:block;font-size:clamp(14px,2vw,15px);margin-bottom:4px}.template-info p{color:#4a5568;font-size:clamp(12px,1.5vw,13px);margin:0 0 4px}.template-meta{font-size:clamp(11px,1.5vw,12px)}.template-arrow{color:#a0aec0;flex-shrink:0}.template-selector .search-box{margin-top:0}.template-selector .search-icon{color:#a0aec0;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.template-selector .search-input{padding-left:40px}.template-selector .templates-list{gap:12px}.template-option{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:clamp(12px,2vw,16px)}.template-option .btn-primary{border-radius:8px;font-size:13px;font-weight:600;padding:8px 16px}.templates-loading{display:flex;flex-direction:column;gap:8px}.template-selector .empty-state{color:#718096;font-size:14px;padding:12px 0;text-align:center}.empty-templates{color:#718096;padding:clamp(30px,5vw,40px) 20px;text-align:center}.empty-templates p{color:#4a5568;font-size:clamp(14px,2vw,16px);margin:0 0 8px}.empty-templates span{font-size:clamp(12px,1.5vw,14px)}.template-summary{background:#f7fafc;border-radius:8px;margin-top:16px;padding:12px 16px}.template-summary p{color:#4a5568;font-size:clamp(13px,2vw,14px);margin:0}.template-summary p+p{margin-top:4px}.template-summary strong{color:#667eea}@media (max-width:480px){.create-complex-container{padding:12px}.step-content{padding:16px}.form-group label{font-size:14px}.selected-exercises-list{gap:8px}}.my-complexes-page{margin:0 auto;max-width:1400px;padding:clamp(16px,3vw,24px)}.page-header{align-items:flex-start;gap:clamp(12px,2vw,16px)}.page-header h1{font-size:clamp(22px,4vw,32px);margin:0 0 8px}.page-icon{stroke-width:1.8}.loading{padding:clamp(40px,8vw,60px) 20px}.error-message{background:#fed7d7;border-radius:8px;color:#c53030;font-size:clamp(13px,2vw,14px);margin:clamp(20px,4vw,32px) 0;padding:clamp(12px,2vw,16px) clamp(16px,3vw,24px);text-align:center}.empty-state{border-radius:12px;padding:clamp(40px,8vw,60px) clamp(20px,4vw,40px)}.empty-icon{color:#a0aec0;font-size:clamp(48px,10vw,64px);margin-bottom:clamp(16px,3vw,20px)}.empty-state h3{color:#4a5568;font-size:clamp(18px,3vw,22px);margin:0 0 clamp(8px,2vw,12px)}.empty-state p{margin:0 0 clamp(20px,4vw,24px)}.filters-bar{gap:clamp(10px,2vw,12px);margin-bottom:clamp(16px,3vw,24px)}.search-box{flex:1 1 min(300px,100%)}.search-icon{font-size:clamp(14px,2vw,16px);left:clamp(12px,2vw,14px)}.search-input{font-size:clamp(13px,2vw,14px);padding:clamp(8px,1.5vw,10px) clamp(12px,2vw,14px) clamp(8px,1.5vw,10px) clamp(35px,6vw,40px)}.filter-select,.search-input{border:2px solid #e2e8f0;border-radius:8px}.filter-select{background:#fff;cursor:pointer;font-size:clamp(12px,2vw,14px);padding:clamp(8px,1.5vw,10px) clamp(12px,2vw,14px);transition:all .2s;white-space:nowrap}.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.stats-row{grid-gap:clamp(12px,2vw,16px);display:grid;gap:clamp(12px,2vw,16px);grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));margin-bottom:clamp(20px,4vw,24px)}.stat-card{gap:clamp(10px,2vw,12px);padding:clamp(14px,3vw,20px);transition:all .2s}.stat-card:hover{transform:translateY(-2px)}.stat-icon{stroke-width:1.8}.stat-value{font-size:clamp(20px,4vw,26px)}.stat-label{font-size:clamp(12px,2vw,13px)}.complexes-grid{grid-gap:clamp(16px,3vw,20px);display:grid;gap:clamp(16px,3vw,20px);grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.complex-card{background:#fff;border:2px solid #0000;border-radius:clamp(12px,2vw,14px);box-shadow:0 2px 8px #00000014;cursor:pointer;display:flex;flex-direction:column;gap:clamp(10px,2vw,12px);padding:clamp(16px,3vw,20px);transition:all .2s}.complex-card:hover{border-color:#667eea;box-shadow:0 6px 20px #0000001f;transform:translateY(-4px)}.complex-card-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.complex-patient{flex:1 1;min-width:0}.complex-patient-name{color:#1a202c;font-size:clamp(16px,3vw,18px);font-weight:600;margin:0 0 4px;word-break:break-word}.complex-diagnosis{background:#ebf4ff;border-radius:6px;color:#667eea;display:inline-block;font-size:clamp(13px,2vw,14px);margin-top:4px;padding:4px 8px}.complex-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff;flex-shrink:0;font-size:clamp(11px,1.5vw,12px);font-weight:600;padding:4px 10px;white-space:nowrap}.complex-info{display:flex;flex-direction:column;gap:6px}.complex-info-row{align-items:center;color:#4a5568;display:flex;font-size:clamp(12px,2vw,13px);gap:8px}.complex-info-row svg{stroke-width:2;color:#667eea;flex-shrink:0}.complex-date{color:#718096;font-size:clamp(12px,2vw,13px);margin-top:4px}.complex-actions{border-top:1px solid #e2e8f0;display:inline-grid;gap:8px;margin-top:auto;padding-top:clamp(8px,2vw,12px)}.btn-action{border:none;border-radius:6px;font-size:clamp(12px,2vw,13px);gap:4px;padding:clamp(6px,1.5vw,8px) clamp(10px,2vw,12px)}.btn-view{background:#edf2f7;color:#4a5568}.btn-view:hover{background:#e2e8f0}.btn-edit{background:#bee3f8;color:#2c5282}.btn-edit:hover{background:#90cdf4}.btn-progress{background:#c6f6d5;color:#22543d}.btn-progress:hover{background:#9ae6b4}.btn-delete{background:#fed7d7;color:#c53030}.btn-delete:hover{background:#fc8181;color:#fff}.pagination{gap:clamp(6px,1.5vw,8px);margin-top:clamp(20px,4vw,32px)}.pagination button{background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:clamp(12px,2vw,14px);min-width:clamp(32px,5vw,36px);padding:clamp(6px,1.5vw,8px) clamp(10px,2vw,12px);transition:all .2s}.pagination button:hover:not(:disabled){background:#f7fafc;border-color:#667eea}.pagination button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.pagination button:disabled{cursor:not-allowed;opacity:.5}.modal-overlay{background:#00000080;padding:clamp(16px,3vw,20px)}.modal-content{border-radius:clamp(12px,2vw,16px);box-shadow:0 10px 40px #0003;max-width:min(400px,90vw);padding:clamp(20px,4vw,24px)}.modal-header{margin-bottom:clamp(16px,3vw,20px)}.modal-header h2{font-size:clamp(18px,3vw,20px);margin:0 0 8px}.modal-header p{color:#718096;font-size:clamp(13px,2vw,14px);margin:0}.modal-actions{flex-wrap:wrap;gap:clamp(10px,2vw,12px)}.modal-actions button{border-radius:8px;flex:1 1 auto;font-size:clamp(13px,2vw,14px);min-width:-webkit-min-content;min-width:min-content;padding:clamp(8px,1.5vw,10px) clamp(16px,3vw,20px)}.btn-cancel{background:#edf2f7;color:#4a5568}.btn-cancel:hover{background:#e2e8f0}.btn-confirm-delete{background:#c53030;color:#fff}.btn-confirm-delete:hover{background:#9b2c2c}@media (max-width:500px){.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.template-view-modal{max-width:min(700px,95vw)}.template-view-modal .modal-header h2{align-items:center;display:flex;gap:10px}.template-view-modal .template-description{color:#4a5568;font-size:clamp(13px,2vw,14px);margin-bottom:16px}.template-view-modal .template-info{grid-gap:10px;background:#f7fafc;border-radius:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));margin-bottom:16px;padding:12px}.template-view-modal .info-item{color:#2d3748;font-size:14px}.template-view-modal .exercises-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.template-view-modal .exercise-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;padding:12px}.template-view-modal .exercise-number{align-items:center;background:#edf2f7;border-radius:10px;color:#4a5568;display:flex;font-size:13px;font-weight:600;height:28px;justify-content:center;width:28px}.template-view-modal .exercise-title{color:#1a202c;font-weight:600;margin-bottom:6px}.template-view-modal .exercise-params{color:#4a5568;display:flex;flex-wrap:wrap;font-size:12px;gap:10px}.delete-template-modal .modal-header h2{align-items:center;display:flex;gap:10px}.delete-template-modal .warning-text{color:#c53030;font-weight:600;margin-top:8px}.delete-template-modal .btn-danger{align-items:center;background:#c53030;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:6px;padding:10px 16px;transition:all .2s}.delete-template-modal .btn-danger:hover{background:#9b2c2c}.bulk-actions-bar{align-items:center;background:#f7fafc;border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:clamp(16px,3vw,20px);padding:clamp(12px,2vw,16px)}.btn-select-all{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s}.btn-select-all:hover{border-color:#667eea;color:#667eea}.bulk-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.selected-count{color:#667eea;font-size:14px;font-weight:600}.btn-bulk-delete{align-items:center;background:#fff5f5;border:2px solid #feb2b2;border-radius:8px;color:#c53030;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 16px;transition:all .2s}.btn-bulk-delete:hover{background:#c53030;border-color:#c53030;color:#fff}.btn-clear-selection{align-items:center;background:#edf2f7;border:none;border-radius:8px;color:#718096;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-clear-selection:hover{background:#e2e8f0;color:#1a202c}.card-checkbox{color:#cbd5e0;cursor:pointer;position:absolute;right:12px;top:12px;transition:all .2s;z-index:2}.card-checkbox .checked,.card-checkbox:hover{color:#667eea}.complex-card{position:relative}.complex-card.selected{background:#eef2ff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.tabs-container{display:flex;gap:8px;margin-bottom:clamp(16px,3vw,20px)}.tab-btn{background:#fff;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;padding:12px 20px}.tab-btn:hover{border-color:#667eea;color:#667eea}.tab-btn.active{background:#667eea;border-color:#667eea}.filters-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:clamp(16px,3vw,20px)}.search-box{align-items:center;display:flex;flex:1 1;min-width:200px}.search-box .search-icon{color:#a0aec0;left:14px;pointer-events:none;position:absolute}.search-box input{border:2px solid #e2e8f0;border-radius:10px;font-size:14px;padding:12px 40px 12px 44px;transition:all .2s;width:100%}.search-box input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.search-box .clear-search{align-items:center;background:#e2e8f0;border:none;border-radius:50%;color:#4a5568;cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:10px;width:24px}.search-box .clear-search:hover{background:#cbd5e0}.sort-box{align-items:center;color:#718096;display:flex;gap:8px}.sort-box select{background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;font-size:14px;padding:12px 16px;transition:all .2s}.sort-box select:focus{border-color:#667eea;outline:none}.pagination{flex-wrap:wrap;gap:8px;margin-top:clamp(20px,4vw,30px)}.pagination,.pagination-btn{align-items:center;display:flex;justify-content:center}.pagination-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-size:14px;font-weight:600;height:40px;min-width:40px;transition:all .2s}.pagination-btn:hover:not(:disabled){border-color:#667eea;color:#667eea}.pagination-btn.active{background:#667eea;border-color:#667eea;color:#fff}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.search-results-count{color:#718096;font-size:14px;margin-top:12px;text-align:center}.templates-section{margin-top:20px}.templates-grid{grid-gap:clamp(12px,2vw,16px);display:grid;gap:clamp(12px,2vw,16px);grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}.template-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:clamp(16px,3vw,20px);transition:all .2s}.template-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.template-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.template-icon{color:#667eea;flex-shrink:0}.template-info h3{color:#1a202c;font-size:16px;margin:0 0 4px}.template-info p{color:#718096;font-size:13px;margin:0}.template-meta{color:#718096;font-size:13px;margin-bottom:12px}.template-meta span{margin-right:8px}.template-actions{flex-wrap:wrap;gap:8px}.template-actions .btn-delete,.template-actions .btn-edit,.template-actions .btn-view{flex:1 1;justify-content:center;min-width:0;white-space:nowrap}.template-actions .btn-delete{align-items:center;background:#fff5f5;border:2px solid #feb2b2;border-radius:8px;color:#c53030;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 12px;transition:all .2s}.template-actions .btn-delete:hover{background:#c53030;border-color:#c53030;color:#fff}.template-actions .btn-view{align-items:center;background:#ebf8ff;border:2px solid #bee3f8;border-radius:8px;color:#3182ce;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 12px;transition:all .2s}.template-actions .btn-view:hover{background:#3182ce;border-color:#3182ce;color:#fff}.complex-details{background:#f7fafc;border-radius:8px;margin:12px 0;padding:12px}.detail-row{display:flex;font-size:14px;justify-content:space-between;padding:6px 0}.detail-row+.detail-row{border-top:1px solid #e2e8f0}.detail-label{color:#718096;font-weight:500}.detail-value{color:#1a202c;font-weight:600}.template-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:10px;justify-content:flex-start}.template-actions .icon-btn{align-items:center;border-radius:10px;display:inline-flex;height:40px;justify-content:center;padding:0;white-space:nowrap;width:40px}.template-actions .btn-edit{background:#ebf8ff;border:2px solid #bee3f8;color:#3182ce;cursor:pointer;transition:all .2s}.template-actions .btn-edit:hover{background:#3182ce;border-color:#3182ce;color:#fff}.complex-card .complex-actions{border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px}.complex-card .complex-actions button{align-items:center;border:none;border-radius:10px;box-sizing:border-box;cursor:pointer;display:inline-flex;gap:8px;height:40px;justify-content:center;padding:0 12px}.complex-card .complex-actions .btn-primary-action{flex:1 1 180px;min-width:0;white-space:nowrap}.complex-card .complex-actions .icon-btn{flex:0 0 40px;padding:0;width:40px}.complex-card .complex-actions .btn-composition{background:#ebf8ff;color:#3182ce}.complex-card .complex-actions .btn-composition:hover{background:#3182ce;color:#fff}.complex-card .complex-actions .btn-copy-link{background:#fffbea;color:#744210}.complex-card .complex-actions .btn-copy-link:hover{background:#f6e05e;color:#1a202c}.complex-card-skeleton{background:#fff;border:1px solid #e2e8f0;border-radius:clamp(12px,2vw,16px);box-shadow:0 2px 8px #00000014;padding:clamp(18px,3vw,24px)}.complex-card-skeleton .skeleton-header{align-items:center;display:flex;gap:clamp(12px,2vw,16px);justify-content:space-between;margin-bottom:clamp(10px,2vw,14px)}.complex-card-skeleton .skeleton-footer{display:flex;flex-wrap:wrap;gap:clamp(10px,2vw,14px);margin-top:clamp(18px,3vw,22px)}.template-card-skeleton{background:#fff;border:1px solid #e2e8f0;border-radius:clamp(12px,2vw,16px);box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;gap:clamp(10px,2vw,14px);padding:clamp(18px,3vw,24px)}.template-skeleton-header{align-items:flex-start;display:flex;gap:clamp(12px,2vw,16px)}.template-skeleton-info{flex:1 1}.template-skeleton-actions{display:flex;gap:clamp(10px,2vw,14px);margin-top:clamp(8px,2vw,12px)}.trash-page{margin:0 auto;max-width:1400px;padding:clamp(16px,3vw,24px)}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(16px,3vw,24px);justify-content:space-between;margin-bottom:clamp(24px,5vw,36px)}.page-header h1{font-size:clamp(24px,5vw,36px);gap:12px;line-height:1.2;margin:0 0 clamp(6px,1.5vw,10px)}.page-header p{color:#718096;font-size:clamp(14px,2vw,16px);margin:0}.loading{padding:clamp(40px,10vw,60px) clamp(16px,3vw,20px)}.trash-tabs{background:#fff;border-radius:clamp(10px,2vw,14px);box-shadow:0 2px 8px #00000014;display:flex;gap:clamp(10px,2vw,14px);margin-bottom:clamp(24px,5vw,36px);padding:clamp(6px,1.5vw,10px)}.tab-btn{align-items:center;background:#0000;border:none;border-radius:clamp(6px,1.5vw,10px);color:#718096;cursor:pointer;display:flex;flex:1 1;font-size:clamp(14px,2vw,16px);font-weight:600;gap:8px;justify-content:center;min-height:44px;padding:clamp(10px,2vw,14px) clamp(16px,3vw,28px);transition:all .2s}.tab-btn:hover{background:#f7fafc;color:#2d3748}.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.empty-state{border-radius:clamp(10px,2vw,14px);padding:clamp(40px,8vw,60px) clamp(24px,5vw,40px)}.empty-icon{align-items:center;display:inline-flex;font-size:clamp(60px,12vw,80px);justify-content:center;opacity:.3}.empty-state h2{font-size:clamp(20px,4vw,28px)}.empty-state p{line-height:1.6}.trash-grid{grid-gap:clamp(18px,4vw,28px);display:grid;gap:clamp(18px,4vw,28px);grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr))}.trash-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:16px;padding:16px}.trash-item-header{align-items:flex-start;display:flex;gap:16px;width:100%}.item-icon{align-items:center;background:#f3f4f6;border-radius:12px;color:#374151;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.item-info{flex:1 1}.item-info h4{color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 4px}.deleted-date{color:#6b7280;font-size:13px;margin:0 0 12px}.trash-details{margin-bottom:clamp(16px,3vw,24px)}.trash-page .detail-row{display:flex;font-size:clamp(13px,2vw,14px);gap:clamp(8px,2vw,12px);justify-content:space-between;padding:clamp(6px,1.5vw,10px) 0}.trash-page .detail-label{color:#718096;flex-shrink:0}.trash-page .detail-value{color:#2d3748;font-weight:600;text-align:right}.item-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;justify-content:flex-start;width:100%}.btn-restore{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.btn-restore:hover{background:#059669}.btn-delete-permanent{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.btn-delete-permanent:hover{background:#fee2e2;border-color:#fca5a5}@media (max-width:767px){.trash-grid{grid-template-columns:1fr}.trash-item,.trash-tabs{flex-direction:column}.trash-item{align-items:flex-start;gap:12px}.item-actions{flex-direction:column;width:100%}.btn-delete-permanent,.btn-restore{justify-content:center;width:100%}.page-header{align-items:flex-start;flex-direction:column}}.import-exercises-page{display:flex;flex-direction:column;gap:clamp(1.5rem,2vw,2rem);padding:clamp(1.5rem,2vw,2.5rem)}.import-header h1{font-size:clamp(1.5rem,2.5vw,2.2rem);margin-bottom:.4rem}.import-header .subtitle{color:#5b6470;font-size:clamp(.95rem,1.5vw,1.05rem)}.import-tabs{grid-gap:clamp(.75rem,1.2vw,1rem);display:grid;gap:clamp(.75rem,1.2vw,1rem);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.import-tabs .tab{align-items:center;background:#fff;border:1px solid #e2e6ec;border-radius:10px;box-shadow:0 2px 8px #00000014;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem}.import-tabs .tab.active{border-color:#4a7bff;color:#4a7bff}.import-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.btn-primary,.btn-secondary,.btn-success{align-items:center;border:none;border-radius:10px;box-shadow:0 2px 8px #00000014;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.7rem 1.1rem}.btn-primary{background:#4a7bff;color:#fff}.btn-secondary{background:#f2f4f8;color:#2c3340}.btn-success{background:#24a66b;color:#fff}.btn-primary:disabled,.btn-secondary:disabled,.btn-success:disabled{cursor:not-allowed;opacity:.6}.videos-grid{grid-gap:clamp(1rem,1.5vw,1.5rem);display:grid;gap:clamp(1rem,1.5vw,1.5rem);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:clamp(1rem,1.5vw,1.5rem)}.video-card{background:#fff;border:1px solid #e2e6ec;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:transform .2s ease,box-shadow .2s ease}.video-card:hover{box-shadow:0 8px 20px #00000014;transform:translateY(-2px)}.video-card.selected{border-color:#4a7bff;box-shadow:0 8px 20px #4a7bff33}.video-card.imported{cursor:default;opacity:.6}.video-thumbnail{align-items:center;background:#f5f6fa;display:flex;height:clamp(120px,20vw,160px);justify-content:center}.video-thumbnail img{height:100%;object-fit:cover;width:100%}.no-thumbnail{color:#8a94a6;font-size:.9rem}.video-info{display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1rem 1.2rem}.video-info h4{color:#1d2430;font-size:1rem;margin:0}.video-meta{color:#5b6470;display:flex;flex-wrap:wrap;font-size:.85rem;gap:.5rem .75rem}.imported-badge,.video-duration{align-items:center;display:inline-flex;gap:.3rem}.imported-badge{color:#2f7d58;font-weight:600}.checkbox{border-radius:8px;padding:.3rem;position:absolute;right:.6rem;top:.6rem}.checkbox,.import-results{background:#fff;box-shadow:0 2px 8px #00000014}.import-results{border:1px solid #e2e6ec;border-radius:12px;margin-top:clamp(1rem,1.5vw,1.5rem);padding:1rem 1.2rem}.results-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:.8rem}.results-stats .stat{align-items:center;background:#f7f9fc;border-radius:10px;color:#2c3340;display:flex;font-weight:600;gap:.5rem;padding:.6rem .8rem}.results-stats .stat.success{color:#1f7a52}.results-stats .stat.error{color:#c23b3b}.results-stats .stat.skipped{color:#a36a00}.results-stats .stat.info{color:#3657b5}.csv-import{display:flex;flex-direction:column;gap:clamp(1rem,1.6vw,1.5rem)}.csv-instructions{background:#fff;border:1px solid #e2e6ec;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1rem 1.2rem}.csv-instructions ol{color:#5b6470;margin:.6rem 0 1rem;padding-left:1.2rem}.csv-upload{display:flex;flex-direction:column;gap:.6rem}.csv-upload input{display:none}.upload-label{align-items:center;background:#f7f9fc;border:1px dashed #c5ccd6;border-radius:10px;color:#2c3340;cursor:pointer;display:inline-flex;font-weight:600;gap:.6rem;padding:.9rem 1rem}@media (max-width:768px){.import-actions{align-items:stretch;flex-direction:column}.btn-primary,.btn-secondary,.btn-success{justify-content:center;width:100%}}.thumbnail-image{border-radius:8px;height:100%;object-fit:cover;width:100%}.no-thumbnail{align-items:center;color:#999;display:flex;font-size:14px;height:100%;justify-content:center}.progress-dashboard{margin:0 auto;max-width:1400px;padding:clamp(20px,4vw,32px)}.dashboard-header{gap:16px;margin-bottom:clamp(24px,4vw,32px)}.header-title{align-items:center;display:flex;gap:16px}.header-title svg{color:#667eea;flex-shrink:0}.header-title h1{color:#1a202c;font-size:clamp(24px,4vw,32px);font-weight:700;margin:0}.subtitle{color:#718096;font-size:clamp(14px,2.5vw,16px);font-weight:400;margin:4px 0 0}.overview-stats{grid-gap:clamp(16px,3vw,20px);display:grid;gap:clamp(16px,3vw,20px);grid-template-columns:repeat(auto-fit,minmax(clamp(200px,30vw,280px),1fr));margin-bottom:clamp(24px,4vw,32px)}.overview-stats .stat-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;padding:clamp(16px,3vw,20px);transition:all .3s}.overview-stats .stat-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;height:48px;justify-content:center;width:48px}.stat-icon.green{background:linear-gradient(135deg,#10b981,#34d399)}.stat-icon.blue{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.stat-icon.purple{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.stat-content{flex:1 1}.stat-value{font-size:clamp(24px,4vw,32px)}.stat-label{font-size:clamp(13px,2.5vw,14px);font-weight:500}.controls{align-items:center;gap:16px;justify-content:space-between;margin-bottom:clamp(20px,3vw,24px)}.controls,.filters{display:flex;flex-wrap:wrap}.filters{gap:8px}.filter-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.sort{align-items:center;display:flex;gap:8px}.sort label{color:#4a5568;font-size:14px;font-weight:500}.sort select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#2d3748;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.sort select:focus,.sort select:hover{border-color:#667eea}.sort select:focus{outline:none}.patients-grid{grid-gap:clamp(16px,3vw,24px);display:grid;gap:clamp(16px,3vw,24px);grid-template-columns:repeat(auto-fill,minmax(clamp(280px,40vw,380px),1fr))}.patient-progress-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 2px 8px #00000014;cursor:pointer;padding:clamp(16px,3vw,20px);transition:all .3s}.patient-progress-card:hover{border-color:#667eea;box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.card-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.patient-avatar{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}.patient-info{flex:1 1;min-width:0}.patient-info h3{color:#1a202c;font-size:clamp(16px,3vw,18px);font-weight:600;margin:0 0 4px}.patient-contact{color:#718096;font-size:clamp(12px,2vw,13px)}.activity-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.activity-badge.green{background:#d1fae5;color:#065f46}.activity-badge.blue{background:#dbeafe;color:#1e40af}.activity-badge.yellow{background:#fef3c7;color:#92400e}.activity-badge.red{background:#fee2e2;color:#991b1b}.activity-badge.gray{background:#f3f4f6;color:#6b7280}.card-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.stat-row{align-items:center;display:flex;font-size:clamp(13px,2.5vw,14px);justify-content:space-between}.stat-value{color:#2d3748;font-weight:500}.stat-value.highlight{color:#667eea;font-weight:600}.stat-value.muted{color:#a0aec0}.progress-dashboard .pain-indicator{align-items:center;border-radius:12px;display:flex;font-size:13px;font-weight:600;gap:10px;height:auto;justify-content:flex-start;margin-bottom:18px;padding:10px 14px;width:auto}.progress-dashboard .pain-indicator.green{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #6ee7b7;color:#065f46}.progress-dashboard .pain-indicator.yellow{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;color:#92400e}.progress-dashboard .pain-indicator.red{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;color:#991b1b}.progress-dashboard .pain-indicator.gray{background:#f3f4f6;border:1px solid #e5e7eb;color:#6b7280}.progress-dashboard .pain-status{font-weight:700;margin-left:auto}.btn-view-progress,.card-footer{display:flex;justify-content:center}.btn-view-progress{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;gap:6px;padding:10px 16px;transition:all .2s;width:100%}.btn-view-progress:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn-view-progress:active{transform:translateY(0)}.empty-state{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:clamp(40px,8vw,80px) clamp(20px,4vw,40px)}.empty-state h3{color:#2d3748;font-size:clamp(18px,3vw,20px);margin:0 0 8px}.empty-state p{font-size:clamp(14px,2.5vw,16px)}.loading{font-size:16px;padding:60px 20px}@media (max-width:640px){.progress-dashboard{padding:16px}.controls{align-items:stretch;flex-direction:column}.filters{justify-content:center}.sort{justify-content:space-between}.patients-grid{grid-template-columns:1fr}.card-header{flex-wrap:wrap}.activity-badge{text-align:center;width:100%}}.dashboard-container{background:#f7fafc;display:flex;flex-direction:column;min-height:100vh}.dashboard-header{background:#fff;border-bottom:2px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;justify-content:space-between;padding:clamp(12px,3vw,16px) clamp(16px,4vw,32px);position:-webkit-sticky;position:sticky;top:0;z-index:100}.dashboard-header,.header-left{align-items:center;display:flex;gap:clamp(8px,2vw,16px)}.header-left{min-width:0}.header-left h1{color:#1a202c;font-size:clamp(18px,4vw,24px);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{align-items:center;display:flex;flex-shrink:0;gap:clamp(8px,2vw,16px)}.user-name{color:#2d3748;display:none;font-size:clamp(14px,2vw,16px);font-weight:600}@container (min-width: 600px){.user-name{display:block}}.user-role{background:#edf2f7;border-radius:12px;color:#718096;font-size:clamp(11px,2vw,14px);padding:4px clamp(8px,1.5vw,12px);white-space:nowrap}.btn-logout{background:#1a202c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:clamp(13px,2vw,14px);font-weight:600;padding:clamp(6px,1.5vw,8px) clamp(12px,2vw,16px);transition:background .2s;white-space:nowrap}.btn-logout:hover{background:#f56565}.nav-item{justify-content:flex-start}.nav-divider{background:#e2e8f0;height:1px;margin:8px 16px}.burger-menu-btn{background:none;border:none;border-radius:8px;cursor:pointer;display:none;display:block;padding:8px;transition:background .2s}@media (min-width:900px){.burger-menu-btn{display:none}}.burger-menu-btn:hover{background:#f0f0f0}.burger-icon{display:flex;flex-direction:column;gap:5px;width:24px}.burger-icon span{background:#1a202c;border-radius:2px;display:block;height:3px;transition:all .3s}.burger-menu-btn.active .burger-icon span:first-child{transform:rotate(45deg) translate(6px,6px)}.burger-menu-btn.active .burger-icon span:nth-child(2){opacity:0}.burger-menu-btn.active .burger-icon span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.dashboard-content{display:flex;flex:1 1;min-height:0;position:relative}.dashboard-nav{background:#fff;border-right:1px solid #667eea33;display:flex;flex-direction:column;flex-shrink:0;gap:8px;padding:clamp(16px,3vw,24px) 0;transition:transform .3s ease;width:clamp(200px,20vw,240px)}@media (max-width:900px){.dashboard-nav{box-shadow:none;height:100vh;left:0;padding-top:80px;position:fixed;top:0;transform:translateX(-100%);width:min(280px,75vw);z-index:200}.dashboard-nav.open{box-shadow:4px 0 20px #00000026;transform:translateX(0)}}.nav-item{align-items:center;background:#0000;border:none;border-left:3px solid #0000;color:#4a5568;cursor:pointer;display:flex;font-size:clamp(14px,2vw,18px);gap:clamp(6px,1.5vw,8px);padding:clamp(10px,2vw,12px) clamp(16px,3vw,24px);text-align:left;transition:all .2s}.nav-item:hover{background:#f7fafc;color:#2d3748}.nav-item.active{background:#ebf4ff;border:1px solid #3182ce29;border-left:4px solid #2b82d5;border-radius:0;border-right:0;color:#3182ce;font-weight:600}.nav-icon{stroke-width:1.8;flex-shrink:0}.nav-item.active .nav-icon{stroke:#5a67d8}.nav-overlay{background:#00000080;bottom:0;display:none;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s;z-index:199}.nav-overlay.visible{opacity:1;pointer-events:auto}@media (max-width:900px){.nav-overlay{display:block}}.dashboard-main{flex:1 1;min-width:0;overflow-y:auto;padding:clamp(16px,4vw,32px)}.welcome-section h2{color:#424750;font-family:roboto;font-size:clamp(24px,5vw,32px);margin:0 0 8px}.welcome-section>p{color:#718096;font-size:clamp(14px,2vw,16px);margin:0 0 clamp(24px,4vw,32px)}.welcome-title{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.welcome-icon{stroke-width:1.8}.stats-grid{grid-gap:clamp(12px,2vw,20px);display:grid;gap:clamp(12px,2vw,20px);grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));margin-bottom:clamp(24px,4vw,32px)}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:clamp(12px,2vw,16px);min-width:0;padding:clamp(16px,3vw,24px);transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-4px)}.stat-icon{flex-shrink:0;font-size:clamp(28px,5vw,36px)}.stat-icon svg{stroke-width:1.8;color:#667eea}.stat-info{flex:1 1;min-width:0}.stat-value{color:#1a202c;font-size:clamp(22px,4vw,28px);font-weight:700;line-height:1;margin-bottom:4px}.stat-label{color:#718096;font-size:clamp(12px,2vw,14px)}.quick-actions{margin-top:clamp(24px,4vw,32px)}.quick-actions h3{color:#1a202c;font-size:clamp(18px,3vw,20px);margin:0 0 clamp(12px,2vw,16px)}.actions-grid{grid-gap:clamp(12px,2vw,16px);display:grid;gap:clamp(12px,2vw,16px);grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}.action-card{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:clamp(8px,2vw,12px);justify-content:center;min-height:120px;padding:clamp(16px,3vw,24px);transition:all .2s}.action-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.action-icon{stroke-width:1.8;flex-shrink:0;font-size:clamp(24px,4vw,32px)}.action-text{color:#2d3748;font-size:clamp(14px,2vw,16px);font-weight:600;text-align:center}.app-brand{align-items:center;display:flex;gap:10px}.app-logo{border-radius:8px;height:clamp(32px,5vw,40px);object-fit:contain;width:clamp(32px,5vw,40px)}.app-brand-text{display:flex;flex-direction:column}.app-brand-title{color:#1a202c;font-size:clamp(16px,3vw,20px);font-weight:700}.app-brand-subtitle{color:#718096;font-size:clamp(10px,1.5vw,12px)}@media (max-width:400px){.app-brand-text{display:none}}@supports (padding-top:env(safe-area-inset-top)){.dashboard-header{padding-top:calc(clamp(12px, 3vw, 16px) + env(safe-area-inset-top))}.dashboard-nav{padding-bottom:env(safe-area-inset-bottom);padding-top:calc(80px + env(safe-area-inset-top))}}@media (max-width:480px){.dashboard-header{padding:12px 16px}.nav-item{font-size:13px;padding:10px 12px}.nav-item svg{height:18px;width:18px}.dashboard-content{padding:12px}}.diagnoses-page{margin:0 auto;max-width:1400px;padding:clamp(16px,3vw,24px)}.page-header{margin-bottom:clamp(20px,4vw,32px)}.page-header h1{align-items:center;color:#1a202c;display:flex;font-size:clamp(24px,5vw,32px);font-weight:700;gap:clamp(8px,2vw,12px);margin:0 0 clamp(8px,2vw,12px)}.page-icon{color:#667eea;flex-shrink:0}.page-subtitle{color:#718096;font-size:clamp(14px,2vw,16px);margin:0}.btn-add-diagnosis{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 2px 8px #667eea33;color:#fff;cursor:pointer;display:flex;font-size:clamp(14px,2vw,16px);font-weight:600;gap:clamp(6px,1.5vw,10px);justify-content:center;margin-bottom:clamp(16px,3vw,24px);min-height:48px;padding:clamp(12px,2vw,14px) clamp(20px,4vw,28px);transition:all .2s;width:100%}.btn-add-diagnosis:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}@media (min-width:769px){.btn-add-diagnosis{align-self:flex-start;width:auto}}.search-box{margin-bottom:clamp(12px,2vw,16px);position:relative}.search-icon{color:#a0aec0;left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-sizing:border-box;color:#2d3748;font-size:clamp(14px,2vw,15px);min-height:48px;padding:clamp(11px,2vw,13px) 40px clamp(11px,2vw,13px) clamp(40px,8vw,46px);transition:all .2s;width:100%}.search-input::placeholder{color:#a0aec0}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.clear-search{align-items:center;background:#e2e8f0;border:none;border-radius:50%;color:#4a5568;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;padding:0;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s;width:24px}.clear-search:hover{background:#cbd5e0}.results-count{color:#718096;font-size:clamp(13px,2vw,14px);margin:0 0 clamp(16px,3vw,20px)}.results-count strong{color:#667eea;font-weight:600}.diagnoses-grid{grid-gap:clamp(16px,3vw,20px);display:grid;gap:clamp(16px,3vw,20px);grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.diagnosis-card{background:#fff;border:1px solid #667eea33;border-radius:14px;box-shadow:0 2px 8px #667eea26;cursor:pointer;display:flex;flex-direction:column;gap:clamp(12px,2vw,14px);padding:clamp(16px,3vw,20px);transition:all .2s}.diagnosis-card:hover{border-color:#667eea66;box-shadow:0 8px 24px #667eea4d;transform:translateY(-2px)}.card-header h3{color:#1a202c;font-size:clamp(16px,3vw,18px);font-weight:600;line-height:1.3;margin:0}.diagnosis-description{color:#4a5568;font-size:clamp(13px,2vw,14px);line-height:1.5;margin:0}.diagnosis-actions{border-top:1px solid #e5e7eb;display:flex;gap:8px;margin-top:auto;padding-top:16px}.btn-action{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;flex:1 1;font-size:14px;font-weight:500;gap:6px;padding:10px 16px}.btn-action,.btn-icon-danger{align-items:center;cursor:pointer;display:flex;justify-content:center;transition:all .2s}.btn-icon-danger{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;flex-shrink:0;height:40px;padding:0;width:40px}.btn-icon-danger:hover{background:#fee2e2;border-color:#fca5a5}.btn-icon-danger span{display:none}.empty-state{background:#f7fafc;border:2px dashed #cbd5e0;border-radius:14px;color:#a0aec0;padding:clamp(48px,10vw,80px) clamp(24px,5vw,40px);text-align:center}.empty-icon{font-size:clamp(48px,10vw,72px);margin-bottom:clamp(16px,3vw,24px);opacity:.5}.empty-state h2{color:#1a202c;font-size:clamp(20px,4vw,24px);margin:0 0 clamp(10px,2vw,14px)}.empty-state p{color:#718096;font-size:clamp(14px,2vw,16px);margin:0}.loading{color:#718096;font-size:clamp(16px,3vw,18px);padding:clamp(48px,10vw,80px) 20px;text-align:center}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:min(720px,95vw);overflow-y:auto;padding:clamp(24px,5vw,32px);width:100%}.modal-view{max-width:min(800px,95vw)}.modal-header{gap:16px;justify-content:space-between;margin-bottom:clamp(20px,4vw,28px)}.modal-header,.modal-header h2{align-items:center;display:flex}.modal-header h2{color:#1a202c;font-size:clamp(20px,4vw,24px);font-weight:700;gap:10px;margin:0}.modal-close{align-items:center;background:#f7fafc;border:none;border-radius:50%;color:#718096;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:36px;justify-content:center;padding:0;transition:all .2s;width:36px}.modal-close:hover{background:#e2e8f0;color:#2d3748;transform:scale(1.1)}.modal-body{margin-bottom:clamp(20px,4vw,28px)}.form-group{margin-bottom:clamp(16px,3vw,20px)}.form-group label{color:#2d3748;display:block;font-size:clamp(14px,2vw,15px);font-weight:600;margin-bottom:8px}.required{color:#e53e3e}.form-group input,.form-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-sizing:border-box;color:#2d3748;font-family:inherit;font-size:clamp(14px,2vw,15px);padding:clamp(11px,2vw,13px) clamp(14px,2vw,16px);transition:all .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input.input-error,.form-group textarea.input-error{border-color:#f56565}.field-error{color:#f56565;display:block;font-size:13px;margin-top:4px}.form-group textarea{line-height:1.5;min-height:80px;resize:vertical}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:clamp(20px,4vw,24px)}.modal-actions button{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:clamp(14px,2vw,15px);font-weight:600;gap:8px;justify-content:center;min-height:48px;padding:clamp(12px,2vw,14px) clamp(20px,4vw,28px);transition:all .2s}.btn-cancel,.btn-close-modal{background:#fff;border:1px solid #e2e8f0;color:#2d3748}.btn-cancel:hover,.btn-close-modal:hover{background:#f7fafc;border-color:#cbd5e0}.btn-edit-full,.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.btn-edit-full:hover,.btn-save:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.btn-save:disabled{cursor:not-allowed;opacity:.6;transform:none}.view-section{background:#f7fafc;border-left:4px solid #667eea;border-radius:12px;margin-bottom:clamp(20px,4vw,28px);padding:clamp(16px,3vw,20px)}.view-section h3{align-items:center;color:#1a202c;display:flex;font-size:clamp(16px,3vw,18px);font-weight:600;gap:8px;margin:0 0 clamp(10px,2vw,12px)}.view-text{color:#4a5568;font-size:clamp(14px,2vw,15px);line-height:1.6;margin:0;white-space:pre-wrap}.warning-section{background:#fffaf0;border-left-color:#ed8936}.warning-section h3{color:#c05621}@media (max-width:768px){.modal-actions{flex-direction:column}.modal-actions button{width:100%}.card-actions{flex-direction:column}.btn-card-action{width:100%}.btn-delete{flex:1 1;min-width:auto}.btn-delete span{display:inline}}.admin-stats{padding:clamp(12px,2vw,24px)}.admin-section-title{align-items:center;color:#1a202c;display:flex;font-size:clamp(18px,2.5vw,24px);font-weight:600;gap:8px;margin-bottom:clamp(16px,2vw,24px)}.admin-stats-grid{grid-gap:clamp(10px,1.5vw,16px);display:grid;gap:clamp(10px,1.5vw,16px);grid-template-columns:repeat(auto-fill,minmax(clamp(180px,20vw,240px),1fr))}.admin-stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:12px;padding:clamp(12px,1.5vw,20px);transition:transform .2s,box-shadow .2s}.admin-stat-card:hover{box-shadow:0 8px 24px #667eea26;transform:translateY(-4px)}.admin-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.admin-stat-value{color:#1a202c;font-size:clamp(20px,2.5vw,28px);font-weight:700;line-height:1}.admin-stat-label{color:#718096;font-size:clamp(12px,1.2vw,14px);margin-top:2px}.admin-stat-sub{color:#a0aec0;font-size:11px;margin-top:1px}.skeleton-card{animation:pulse 1.5s ease-in-out infinite}.skeleton-icon{background:#e2e8f0;border-radius:10px;height:44px;width:44px}.skeleton-text{height:12px;margin-top:8px;width:80px}.skeleton-number,.skeleton-text{background:#e2e8f0;border-radius:4px}.skeleton-number{height:20px;margin-top:4px;width:50px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.admin-refresh-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea40;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-top:clamp(16px,2vw,24px);min-height:44px;padding:clamp(10px,1.5vw,12px) clamp(16px,2vw,24px);transition:all .2s}.admin-refresh-btn:hover{box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.admin-users{padding:clamp(12px,2vw,24px)}.admin-section-header{flex-wrap:wrap;gap:12px;justify-content:space-between}.admin-search-bar,.admin-section-header{align-items:center;display:flex;margin-bottom:16px}.admin-search-bar{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:8px;max-width:400px;padding:clamp(8px,1vw,10px) 12px;transition:border-color .2s,box-shadow .2s}.admin-search-bar:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.admin-search-bar input{background:#0000;border:none;color:#1a202c;flex:1 1;font-size:14px;outline:none}.admin-search-bar svg{color:#a0aec0;flex-shrink:0}.admin-table-wrap{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow-x:auto}.admin-table{border-collapse:collapse;font-size:clamp(12px,1.3vw,14px);width:100%}.admin-table th{background:#f7fafc;border-bottom:2px solid #e2e8f0;color:#718096;font-weight:600;padding:clamp(10px,1.2vw,14px);text-align:left;white-space:nowrap}.admin-table td{border-bottom:1px solid #f1f5f9;color:#1a202c;padding:clamp(10px,1.2vw,14px)}.admin-table tbody tr{transition:background .15s}.admin-table tbody tr:hover{background:#f7fafc}.row-inactive{opacity:.55}.td-name{font-weight:500}.td-email{color:#718096;font-size:13px}.td-date{color:#a0aec0;font-size:12px;white-space:nowrap}.td-empty{color:#a0aec0;padding:32px!important;text-align:center}.td-actions{display:flex;gap:6px}.admin-badge{border-radius:6px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.badge-admin{background:#ede9fe;color:#7c3aed}.badge-instructor{background:#dbeafe;color:#2563eb}.badge-active{background:#dcfce7;color:#16a34a}.badge-inactive{background:#f1f5f9;color:#a0aec0}.badge-locked{background:#fef2f2;color:#dc2626}.admin-action-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;display:flex;justify-content:center;min-height:44px;min-width:44px;transition:all .2s}.admin-action-btn:hover{background:#f7fafc;box-shadow:0 2px 8px #00000014;color:#1a202c;transform:translateY(-2px)}.admin-action-btn.btn-danger:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.admin-action-btn.btn-success:hover{background:#dcfce7;border-color:#bbf7d0;color:#16a34a}.admin-action-btn.btn-warning:hover{background:#fef3c7;border-color:#fde68a;color:#d97706}.admin-btn-primary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea40;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;min-height:44px;padding:clamp(10px,1.5vw,12px) clamp(16px,2vw,24px);transition:all .2s}.admin-btn-primary:hover{box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.admin-btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.admin-btn-secondary{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;font-size:14px;font-weight:500;min-height:44px;padding:clamp(10px,1.5vw,12px) clamp(16px,2vw,24px);transition:all .2s}.admin-btn-secondary:hover{background:#edf2f7;border-color:#cbd5e0}.admin-btn-danger{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-height:44px;padding:clamp(10px,1.5vw,12px) clamp(16px,2vw,24px);transition:all .2s}.admin-btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d;transform:translateY(-2px)}.admin-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.admin-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:520px;padding:clamp(20px,3vw,32px);width:100%}.admin-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.admin-modal-header h3{color:#1a202c;font-size:18px;font-weight:600}.admin-modal-close{background:none;border:none;border-radius:6px;color:#a0aec0;cursor:pointer;padding:4px;transition:all .15s}.admin-modal-close:hover{background:#f7fafc;color:#1a202c}.admin-modal-form{display:flex;flex-direction:column;gap:14px}.admin-form-group{display:flex;flex-direction:column;gap:4px}.admin-form-group label{color:#718096;font-size:13px;font-weight:500}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{border:1px solid #e2e8f0;border-radius:8px;color:#1a202c;font-size:14px;min-height:44px;outline:none;padding:clamp(8px,1vw,10px) 12px;transition:border-color .2s,box-shadow .2s}.admin-form-group input:focus,.admin-form-group select:focus,.admin-form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.admin-form-error{background:#fef2f2;border-radius:8px;color:#dc2626;font-size:13px;padding:8px 12px}.admin-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.admin-loading{color:#a0aec0;font-size:14px;padding:40px;text-align:center}.admin-empty-state{padding:48px 24px!important;text-align:center}.empty-state-content{align-items:center;display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:400px}.empty-state-icon{align-items:center;background:#f7fafc;border-radius:50%;color:#a0aec0;display:flex;height:80px;justify-content:center;margin-bottom:8px;width:80px}.empty-state-content h3{color:#1a202c;font-size:18px;font-weight:600;margin:0}.empty-state-content p{color:#718096;font-size:14px;margin:0 0 16px}.admin-audit{padding:clamp(12px,2vw,24px)}.admin-title-badge{background:#edf2f7;border-radius:6px;color:#718096;font-size:12px;font-weight:600;margin-left:8px;padding:2px 8px}.admin-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.admin-filters input,.admin-filters select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1a202c;font-size:13px;min-height:44px;min-width:140px;outline:none;padding:clamp(8px,1vw,10px) 12px;transition:border-color .2s,box-shadow .2s}.admin-filters input:focus,.admin-filters select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.audit-action{border-radius:6px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.action-create{background:#dcfce7;color:#16a34a}.action-update{background:#dbeafe;color:#2563eb}.action-delete{background:#fef2f2;color:#dc2626}.action-login{background:#ede9fe;color:#7c3aed}.action-logout{background:#f1f5f9;color:#718096}.action-deactivate{background:#fef2f2;color:#dc2626}.action-activate{background:#dcfce7;color:#16a34a}.action-unlock{background:#fef3c7;color:#d97706}.action-read{background:#f0f9ff;color:#0284c7}.td-id,.td-ip{color:#a0aec0;font-family:monospace;font-size:12px}.admin-pagination{gap:12px;margin-top:16px;padding:12px}.admin-pagination,.admin-pagination button{align-items:center;display:flex;justify-content:center}.admin-pagination button{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;min-height:44px;min-width:44px;transition:all .2s}.admin-pagination button:hover:not(:disabled){background:#f7fafc;box-shadow:0 2px 8px #00000014;transform:translateY(-2px)}.admin-pagination button:disabled{cursor:not-allowed;opacity:.4}.admin-pagination span{color:#718096;font-size:13px}.admin-content{padding:clamp(12px,2vw,24px)}.content-tabs{background:#f7fafc;border-radius:10px;display:flex;gap:4px;margin-bottom:16px;padding:4px;width:-webkit-fit-content;width:fit-content}.content-tab{align-items:center;background:#0000;border:none;border-radius:8px;color:#718096;cursor:pointer;display:flex;font-size:14px;font-weight:500;min-height:44px;padding:clamp(8px,1vw,10px) clamp(14px,2vw,20px);transition:all .2s}.content-tab.active{background:#fff;box-shadow:0 2px 8px #00000014;color:#1a202c}.content-tab:hover:not(.active){color:#1a202c}.content-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.content-header span{color:#718096;font-size:13px}.admin-modal-wide{max-width:720px}.content-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.content-form-grid .admin-modal-actions,.content-form-grid .full-width{grid-column:1/-1}.td-url{font-size:12px}.admin-system{padding:clamp(12px,2vw,24px)}.system-grid{grid-gap:clamp(10px,1.5vw,16px);display:grid;gap:clamp(10px,1.5vw,16px);grid-template-columns:repeat(auto-fill,minmax(clamp(220px,25vw,300px),1fr))}.system-card{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:12px;padding:clamp(14px,2vw,20px);transition:transform .2s,box-shadow .2s}.system-card:hover{box-shadow:0 8px 24px #667eea26;transform:translateY(-4px)}.system-card-icon{align-items:center;background:#f7fafc;border-radius:10px;color:#718096;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.system-card-icon.icon-success{background:#dcfce7;color:#16a34a}.system-card-icon.icon-error{background:#fef2f2;color:#dc2626}.system-card-icon.icon-warning{background:#fef3c7;color:#d97706}.system-card-label{color:#a0aec0;font-size:12px;font-weight:500}.system-card-value{color:#1a202c;font-size:clamp(14px,1.5vw,16px);font-weight:600;margin-top:2px}.system-card-sub{color:#a0aec0;font-size:11px;margin-top:2px}.system-timestamp{color:#a0aec0;font-size:12px;margin-top:20px;text-align:right}