:root{--brand-50: #EEF1FB;--brand-100: #DCE2F7;--brand-200: #B9C5EF;--brand-300: #8B9DE3;--brand-400: #5C72D2;--brand-500: #3851C4;--brand-600: #2C3EA3;--brand-700: #24348D;--brand-800: #1B2767;--brand-900: #131C4A;--color-primary: var(--brand-500);--color-primary-hover: var(--brand-600);--color-surface: #FFFFFF;--color-page: #F6F8FF;--color-text: #1F2937;--color-text-muted: #6B7280;--color-border: #D9E2EF;--color-success: #1A7F37;--color-success-bg: #E6F4EA;--color-warning: #B7791F;--color-warning-bg: #FBF1DD;--color-error: #CF222E;--color-error-bg: #FDECEA;--main-text-color: var(--brand-500);--border: 3px solid var(--brand-500);--thin-border: 2px solid var(--brand-500);--brand: var(--brand-500);--surface: var(--color-surface);--surface-alt: var(--color-page);--text: var(--color-text);--muted: var(--color-text-muted);--ok: #10B981;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .24);--radius: 12px;--radius-sm: 8px;--gap: 12px;--color-border-subtle: #E6EAF3;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem}.login-image-container{position:relative;height:100vh;width:100vw;display:flex;flex-direction:row}.half-column{display:flex;flex-direction:column;width:50%!important;height:100%!important;align-items:center;justify-content:center;background-color:#eef1fb}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.half-column-img{display:flex;flex-direction:column;width:50%!important;height:100%!important;justify-content:center;align-items:center;background-size:cover;background-position:center;background-repeat:no-repeat;background-image:url(/assets/login-CG-CG-RnijD.svg)}.wrapper{display:flex;flex-direction:column;height:45%;width:60%!important;padding:3%;justify-content:center;background:#fff;color:#fff;border-radius:10px;border:var(--border);align-items:center}.wrapper h1{font-size:36px;text-align:center;color:var(--main-text-color)}.wrapper .input-box{position:relative;width:100%;height:50px;margin:2% 0}.input-box input{width:100%;height:100%;background:transparent;border:var(--thin-border);border-radius:60px;font-size:18px;color:var(--main-text-color);padding:0 7px 0 10px}.input-box input::placeholder{color:var(--main-text-color)}.input-box .icon{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--main-text-color)}.wrapper button{width:100%;height:48px;border:2px solid var(--main-text-color);outline:none;border-radius:10px;box-shadow:0 0 10px #0000001a;cursor:pointer;font-size:16px;font-weight:700;color:#fff;margin:16px 0 0;background:var(--main-text-color);text-align:center;transition:background .15s ease,color .15s ease}.wrapper button:hover:not(:disabled){background:var(--brand-600);border-color:var(--brand-600)}.wrapper button:disabled{opacity:.6;cursor:not-allowed}.login-message{display:flex;align-items:center;justify-content:center;gap:8px;min-height:24px;margin:14px 0 0;text-align:center;font-size:15px;line-height:1.3;visibility:hidden}.login-message.success{visibility:visible;color:#1a7f37}.login-message.error{visibility:visible;color:#cf222e}.login-message-icon{flex-shrink:0;font-size:16px}@media (max-width: 768px){.half-column{width:100%!important;word-break:break-all!important}.half-column-img{display:none}.wrapper{width:90%!important;padding:5%}.wrapper h1{font-size:28px}.input-box input{font-size:16px}.wrapper button,.login-message{font-size:14px}}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}*,*:before,*:after{box-sizing:border-box}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.patient-card,.exe-card{border-radius:var(--radius);border:1px solid var(--color-border-subtle);background:var(--surface);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:stretch;justify-content:start;gap:var(--gap);overflow:hidden;margin:8px;padding:12px;transition:box-shadow .2s ease,transform .15s ease,border-color .15s ease}.patient-card:hover,.exe-card:hover{box-shadow:var(--shadow-md);border-color:var(--brand-200)}.patient-card-optimized{display:flex;flex-direction:column;height:auto;align-items:center;justify-content:space-evenly;border-radius:var(--radius);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-sm);margin:8px;padding:12px;gap:var(--gap);transition:box-shadow .2s ease,transform .15s ease,border-color .15s ease}.patient-card-optimized:hover{border-color:var(--brand-200);box-shadow:var(--shadow-md)}.patient-card-optimized-user-info,.user-details-top-row{display:flex;justify-content:center;align-items:center;width:100%;min-height:120px;background-repeat:no-repeat;background-position:center;background-size:cover;position:relative;isolation:isolate;border-top-left-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.patient-card-optimized-user-info:after,.user-details-top-row:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#ffffff8c,#ffffffb8);z-index:0}.patient-card-optimized-user-info>*,.user-details-top-row>*{position:relative;z-index:1}.patient-card-optimized-user-info{background-image:url("data:image/svg+xml,%3csvg%20width='509'%20height='153'%20viewBox='0%200%20509%20153'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1225_6510)'%3e%3crect%20width='509'%20height='153'%20rx='30'%20fill='url(%23paint0_linear_1225_6510)'/%3e%3ccircle%20opacity='0.5'%20cx='413.5'%20cy='135.5'%20r='50'%20stroke='%23BBBBBB'%20stroke-width='37'/%3e%3ccircle%20opacity='0.3'%20cx='140'%20r='80'%20stroke='%23BBBBBB'%20stroke-width='60'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_1225_6510'%20x1='254.5'%20y1='0'%20x2='254.5'%20y2='153'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%2324348D'/%3e%3cstop%20offset='1'%20stop-color='%233851C4'/%3e%3c/linearGradient%3e%3cclipPath%20id='clip0_1225_6510'%3e%3crect%20width='509'%20height='153'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}.user-details-top-row{background-image:url("data:image/svg+xml,%3csvg%20width='509'%20height='153'%20viewBox='0%200%20509%20153'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1225_6510)'%3e%3crect%20width='509'%20height='153'%20rx='0'%20fill='url(%23paint0_linear_1225_6510)'/%3e%3ccircle%20opacity='0.5'%20cx='413.5'%20cy='135.5'%20r='50'%20stroke='%23BBBBBB'%20stroke-width='37'/%3e%3ccircle%20opacity='0.3'%20cx='140'%20r='80'%20stroke='%23BBBBBB'%20stroke-width='60'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_1225_6510'%20x1='254.5'%20y1='0'%20x2='254.5'%20y2='153'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%2324348D'/%3e%3cstop%20offset='1'%20stop-color='%233851C4'/%3e%3c/linearGradient%3e%3cclipPath%20id='clip0_1225_6510'%3e%3crect%20width='509'%20height='153'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");border-radius:0}.patient-card-optimized-user-info-img,.patient-profile-pic,.card-image-creation{width:112px;height:112px;margin:8px;border:4px solid #fff;border-radius:50%;object-fit:cover;aspect-ratio:1 / 1;box-shadow:var(--shadow-sm)}.card-image{max-width:80%;margin-bottom:10px}.content{display:flex;flex-direction:column;align-items:center;justify-content:start;width:100%;min-height:fit-content;overflow-y:visible}.card{display:flex;flex-direction:column;gap:var(--gap);width:100%;height:auto}.user-details-button{display:flex;justify-content:flex-end;width:100%;gap:10px;margin-bottom:6px}.patient-card{min-height:260px}.exe-card{min-height:160px}.card-title,.patient-card-optimized-title{font-family:Arial,sans-serif;font-size:clamp(1rem,.9rem + .5vw,1.25rem);font-weight:700;color:var(--text);text-align:center;margin:10px auto 6px;padding:2px 0;line-height:1.2;width:min(100%,38rem)}.patient-card-optimized-title{margin-top:10px}.patient-card-meta{margin:2px 0 0;font-size:12.5px;color:var(--muted);text-align:center}.card-diagnosis{font-family:Arial,sans-serif;font-size:clamp(.9rem,.85rem + .2vw,1rem);color:#273f9f;background-color:#e6f2ff;padding:6px 10px;margin:4px;border-radius:999px;font-weight:800;text-align:center;width:fit-content;border:1px solid #ffffff;white-space:nowrap}.diagnosis-container{display:flex;flex-wrap:wrap;gap:6px 10px;width:100%;margin:6px 0;justify-content:center;text-align:center}.card .card-details-diagnosis{background-color:var(--ok);color:#fff;padding:10px 16px;border-radius:12px;font-size:16px;margin-bottom:8px}.diagnosis-wrapper{display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:8px;gap:8px}.patient-card-optimized-icon-container,.icon-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;width:100%;padding:10px 0;margin:0 auto 8px}.patient-card-optimized-icon{width:clamp(22px,6vw,30px);height:auto;cursor:pointer;transition:transform .15s ease;will-change:transform}.icon-btn:hover .patient-card-optimized-icon{transform:scale(1.1)}.icon-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:none;margin:0;padding:4px;cursor:pointer;line-height:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.icon-btn:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.patient-action-icon{font-size:18px;color:var(--muted);transition:transform .15s ease,color .15s ease}.icon-btn:hover .patient-action-icon{transform:scale(1.12);color:var(--brand)}.patient-action-delete:hover .patient-action-icon{color:var(--color-error)}button.activity-box,button.exercise-box{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:none;font:inherit;color:inherit;text-align:inherit}button.activity-box:focus-visible,button.exercise-box:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:8px}.icon-edit{font-size:22px;color:#fff;background-color:var(--brand);padding:6px;border-radius:8px;cursor:pointer;transition:transform .15s ease,background-color .15s ease}.icon-edit:hover{transform:scale(1.05);background-color:var(--brand-600)}.tooltip-user{font-size:14px;color:var(--brand);text-align:left;transition:opacity .2s ease}.card .card-names{font-family:Arial,sans-serif;margin:0;color:var(--text)}.button,.button-create,.button-modal{border:none;outline:none;border-radius:999px;box-shadow:var(--shadow-sm);cursor:pointer;font-weight:800;color:#fff;background:var(--brand);transition:transform .12s ease,background-color .12s ease,box-shadow .12s ease}.button{width:100%;min-height:46px;font-size:16px;line-height:1;padding:12px 16px}.button:hover{background:var(--brand-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.button-create{margin-right:0;padding:14px 20px;font-size:clamp(18px,1.2vw + 16px,24px)}.button-create:hover{background:var(--brand-600);box-shadow:var(--shadow-lg);transform:translateY(-1px) scale(1.02)}.button-modal{width:min(48%,220px);min-height:36px;font-size:16px;margin-top:10px;margin-right:10px;padding:8px 14px}.button-modal:hover{background:var(--brand-600)}.select,.description textarea,.severity select,.input-box>input,.birthdate,.rules-container input[type=text]{width:100%;padding:10px 12px;outline:none;border-radius:10px;border:1.5px solid var(--brand);font-size:16px;color:var(--text);background:#fff;transition:border-color .12s ease,box-shadow .12s ease}.select{cursor:pointer;margin-bottom:8px}.select:focus-visible,.description textarea:focus-visible,.severity select:focus-visible,.input-box>input:focus-visible,.birthdate:focus-visible{border-color:var(--brand-700);box-shadow:0 0 0 3px #3851c42e}.field-affix{position:relative;width:100%}.field-affix .has-end-icon{padding-right:44px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:inline-grid;place-items:center;width:32px;height:32px;border:none;background:transparent;cursor:pointer;color:var(--muted);border-radius:6px}.password-toggle:hover{color:var(--brand-700)}.password-toggle:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.description textarea{min-height:90px;resize:vertical;border-radius:10px}.description textarea::placeholder{color:var(--muted)}.severity{display:flex;align-items:center;gap:10px}.severity select{width:100%;border-radius:999px}.edit-user-wrapper{display:flex;flex-direction:column;gap:16px;justify-content:space-between;margin:16px 0}.patient-info{padding:8px;width:100%;display:grid;grid-template-columns:minmax(220px,280px) 1fr minmax(220px,360px);gap:16px;align-items:start}.patient-profile{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px}.patient-input-fields{display:flex;flex-direction:column;gap:10px;padding:8px}.input-box>input::placeholder{color:var(--muted)}.checkbox-container{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;margin:10px 0 8px}.checkbox-container label{display:inline-flex;align-items:center;gap:6px;font-size:16px}.checkbox-container input[type=checkbox],.checkbox-container input[type=radio]{width:20px;height:20px;cursor:pointer;accent-color:var(--brand)}.rules-container{border:2px solid var(--brand);background-color:var(--surface);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);font-family:Arial,sans-serif;font-size:16px;color:var(--text);width:100%}.rules-container h2{color:var(--brand);font-size:clamp(1rem,.8rem + .6vw,1.3rem);margin-bottom:8px}.rules-container table{width:100%;border-collapse:collapse;margin-top:12px}.rules-container td{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:18px;padding:8px 0}.confirm-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px}@media (max-width: 1024px){.patient-info{grid-template-columns:1fr 1fr}}@media (max-width: 720px){.patient-info{grid-template-columns:1fr}.button-modal{width:100%;margin-right:0}.card-title,.patient-card-optimized-title{width:100%}}.patient-details-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:none;background:none;padding:0;font-size:13px;color:var(--color-text-muted);cursor:pointer}.patient-details-back:hover{color:var(--brand-600)}.patient-details-header{display:flex;align-items:center;gap:14px;padding:4px 0 16px}.patient-details-id{display:flex;flex-direction:column}.patient-details-name{margin:0;font-size:20px;font-weight:700;color:var(--color-text)}.patient-details-sub{font-size:13px;color:var(--color-text-muted)}.monogram{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--brand-100);color:var(--brand-700);font-weight:700;line-height:1;flex-shrink:0;font-family:Arial,sans-serif}.diagnosis-chips{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.diagnosis-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px;white-space:nowrap}.diagnosis-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.diagnosis-chip.sev-low{background:var(--color-success-bg);color:#14622b}.diagnosis-chip.sev-low .diagnosis-dot{background:var(--color-success)}.diagnosis-chip.sev-medium{background:var(--color-warning-bg);color:#8a5a12}.diagnosis-chip.sev-medium .diagnosis-dot{background:var(--color-warning)}.diagnosis-chip.sev-high{background:var(--color-error-bg);color:#a01b25}.diagnosis-chip.sev-high .diagnosis-dot{background:var(--color-error)}.diagnosis-chip.sev-unknown{background:var(--brand-50);color:var(--brand-700)}.diagnosis-chip.sev-unknown .diagnosis-dot{background:var(--brand-400)}.diagnosis-more{font-size:12px;color:var(--color-text-muted)}.diagnosis-empty{color:#c2c8d4}.patient-grid{display:grid;align-items:stretch;width:100%;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.patient-card-c{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s ease,border-color .15s ease}.patient-card-c:hover{box-shadow:var(--shadow-md);border-color:var(--brand-200)}.patient-card-c-head{display:flex;align-items:center;gap:11px;min-width:0;background:none;border:none;padding:0;cursor:pointer;text-align:left;font:inherit}.patient-card-c-head:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px;border-radius:8px}.patient-card-c-id{display:flex;flex-direction:column;min-width:0}.patient-card-c-name{font-size:15px;font-weight:700;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-card-c-sub{font-size:12px;color:var(--color-text-muted)}.patient-card-c-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px}.patient-card-c-sessions{font-size:13px;color:var(--color-text);white-space:nowrap}.patient-card-c-actions{display:flex;gap:16px;justify-content:flex-end;padding-top:10px;border-top:1px solid #F1F4FA}.patient-img{width:90px;height:90px;object-fit:cover;border-radius:50%;margin-top:-45px;border:3px solid white;box-shadow:0 2px 6px #00000026;background:#fff}.bg-patient-img{width:100%;height:120px;object-fit:cover;display:block}.new-patient{background:#fff;border-radius:10px;cursor:pointer;width:100%;height:auto;aspect-ratio:2.5 / 1;object-fit:cover;padding:20px;transition:box-shadow .3s ease}.new-patient-card{background:var(--color-surface);border-radius:var(--radius);border:1px dashed var(--brand-300);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;margin:8px;padding:12px;cursor:pointer;box-sizing:border-box;transition:box-shadow .2s ease,transform .15s ease}.new-patient-card:hover{box-shadow:var(--shadow-md);border-color:var(--brand-500)}.new-patient-icon{font-size:100px;color:#3851c4}.new-patient-label{font-family:Arial,sans-serif;font-size:22px;color:#3851c4}.download-button{position:fixed;bottom:5px;right:5px;background-color:#fff;border-color:#3851c4;border:2px solid!important;border-radius:5px;min-width:40px!important;min-height:fit-content;padding:5px;color:#3851c4;font-weight:700}.download-button:hover{background-color:#3851c4;color:#fff;font-weight:700;border:2px solid!important;border-radius:5px;min-width:40px!important;min-height:fit-content;text-decoration:underline;cursor:pointer}.btn-new-patient{display:inline-flex;align-items:center;gap:8px;background:var(--brand-500);color:#fff;border:none;border-radius:10px;padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .12s ease}.btn-new-patient:hover{background:var(--brand-600)}.btn-new-patient:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}.patient-list{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.patient-list-head,.patient-row{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1.4fr) 110px 120px;align-items:center;gap:12px;padding:10px 16px}.patient-list-head{font-size:11.5px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.patient-list-head .col-actions{text-align:right}.patient-row{border-bottom:1px solid #F1F4FA;transition:background-color .12s ease}.patient-row:last-child{border-bottom:none}.patient-row:hover{background:var(--brand-50)}.patient-row-main{display:flex;align-items:center;gap:12px;min-width:0;background:none;border:none;padding:0;cursor:pointer;text-align:left;font:inherit}.patient-row-main:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px;border-radius:8px}.patient-row-id{display:flex;flex-direction:column;min-width:0}.patient-row-name{font-size:14px;font-weight:700;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-row-sub{font-size:11.5px;color:var(--color-text-muted)}.patient-row-sessions{font-size:13px;color:var(--color-text)}.sessions-num{font-weight:700}.sessions-lbl{color:var(--color-text-muted)}.patient-row-actions{display:flex;gap:12px;justify-content:flex-end}.ab-page{display:flex;flex-direction:column;gap:16px;width:100%;height:calc(100vh - 104px);min-height:0;box-sizing:border-box}.ab-steps{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0;flex-shrink:0}.ab-step{display:flex;align-items:center;gap:8px;flex:1;min-width:0;color:var(--color-text-muted);font-size:13px;font-weight:600}.ab-step:last-child{flex:0 0 auto}.ab-step-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);font-size:13px}.ab-step-label{white-space:nowrap}.ab-step-line{flex:1;height:1px;min-width:20px;background:var(--color-border);margin:0 12px}.ab-step.active{color:var(--color-text)}.ab-step.active .ab-step-badge{background:var(--brand-500);border-color:var(--brand-500);color:#fff}.ab-step.done .ab-step-badge{background:var(--color-success-bg);border-color:var(--color-success);color:#14622b}.ab-step.done .ab-step-line{background:var(--color-success)}.ab-body{flex:1;min-height:0;display:flex;flex-direction:column}.ab-step1{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:4px}.ab-field{display:flex;flex-direction:column;gap:6px;max-width:520px}.ab-label{font-size:13px;font-weight:600;color:var(--color-text)}.ab-help{margin:0;font-size:13px;color:var(--color-text-muted)}.ab-input,.ab-select{height:40px;padding:0 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);font-size:14px;color:var(--color-text);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.ab-select{cursor:pointer}.ab-input:focus-visible,.ab-select:focus-visible{border-color:var(--brand-500);box-shadow:0 0 0 3px #3851c426}.ab-feature-chips{display:flex;flex-wrap:wrap;gap:8px}.ab-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.ab-chip:hover{border-color:var(--brand-300)}.ab-chip.on{background:var(--brand-50);border-color:var(--brand-300);color:var(--brand-700)}.ab-chip:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}.ab-subfeatures{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-left:12px;border-left:2px solid var(--brand-100)}.ab-check{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text)}.ab-check input{width:18px;height:18px;accent-color:var(--brand-500);cursor:pointer}.ab-catalog-layout{flex:1;min-height:0;display:grid;grid-template-columns:1fr 270px;gap:16px;align-items:stretch}.ab-catalog{min-width:0;display:flex;flex-direction:column;min-height:0}.ab-filterbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;flex-shrink:0}.ab-search{display:flex;align-items:center;gap:8px;flex:1 1 220px;min-width:180px;padding:8px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-muted);transition:border-color .12s ease,box-shadow .12s ease}.ab-search:focus-within{border-color:var(--brand-500);box-shadow:0 0 0 3px #3851c426}.ab-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:14px;color:var(--color-text)}.ab-filter-select{height:38px;padding:0 30px 0 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text);font-size:13px;cursor:pointer;max-width:190px}.ab-filter-select:focus-visible{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px #3851c426}.ab-reset{display:inline-flex;align-items:center;gap:5px;padding:0 12px;height:38px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-muted);font-size:13px;cursor:pointer}.ab-reset:hover{border-color:var(--brand-300);color:var(--brand-700)}.ab-cards{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-auto-rows:min-content;gap:10px;padding:2px 4px 2px 2px;align-content:start}.ab-card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:12px;border:1px solid var(--color-border-subtle);border-radius:12px;background:var(--color-surface);cursor:pointer;transition:box-shadow .15s ease,border-color .12s ease}.ab-card:hover{box-shadow:var(--shadow-md);border-color:var(--brand-200)}.ab-card.added{border-color:var(--brand-400);background:var(--brand-50)}.ab-card:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}.ab-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.ab-card-type{font-size:11.5px;font-weight:600;color:var(--brand-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab-card-level{font-size:11px;color:var(--color-text-muted);padding:1px 7px;border-radius:999px;background:var(--brand-50);flex-shrink:0}.ab-card-title{font-size:13.5px;font-weight:600;color:var(--color-text);line-height:1.25}.ab-card-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto}.ab-card-time{font-size:11.5px;color:var(--color-text-muted)}.ab-card-add{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--brand-600)}.ab-card-add.added{color:#14622b}.ab-empty,.ab-tray-empty{padding:24px 12px;text-align:center;color:var(--color-text-muted);font-size:13px}.ab-tray{display:flex;flex-direction:column;min-height:0;border:1px solid var(--color-border-subtle);border-radius:12px;background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.ab-tray-head,.ab-review-seq-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--color-border);font-size:14px;font-weight:700;color:var(--color-text);flex-shrink:0}.ab-tray-meta{font-size:12px;font-weight:600;color:var(--color-text-muted)}.ab-tray-list{flex:1;min-height:0;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.ab-tray-row{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;background:var(--brand-50)}.ab-tray-num,.ab-seq-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border-radius:6px;background:var(--brand-100);color:var(--brand-700);font-size:12px;font-weight:700}.ab-tray-body{display:flex;flex-direction:column;min-width:0;flex:1}.ab-tray-title{font-size:13px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab-tray-time{font-size:11px;color:var(--color-text-muted)}.ab-review{flex:1;min-height:0;display:grid;grid-template-columns:1fr 270px;gap:16px;align-items:stretch}.ab-review-seq{display:flex;flex-direction:column;min-height:0;border:1px solid var(--color-border-subtle);border-radius:12px;background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.ab-review-hint{padding:10px 14px 0;flex-shrink:0}.ab-seq{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:12px}.ab-seq-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--color-border-subtle);border-radius:10px;background:var(--color-surface)}.ab-seq-row.is-dragging{box-shadow:var(--shadow-md);border-color:var(--brand-300)}.ab-drag-handle{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;cursor:grab;color:var(--color-text-muted);font-size:16px;padding:2px;touch-action:none}.ab-drag-handle:active{cursor:grabbing}.ab-seq-body{display:flex;flex-direction:column;min-width:0;flex:1}.ab-seq-title{font-size:14px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab-seq-meta{font-size:12px;color:var(--color-text-muted)}.ab-summary{border:1px solid var(--color-border-subtle);border-radius:12px;background:var(--color-surface);box-shadow:var(--shadow-sm);padding:14px;align-self:start}.ab-summary-head{font-size:14px;font-weight:700;margin-bottom:10px}.ab-summary-list{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0}.ab-summary-list dt{font-size:12.5px;color:var(--color-text-muted)}.ab-summary-list dd{margin:0;font-size:13px;font-weight:600;color:var(--color-text);text-align:right}.ab-summary-feats{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.ab-icon-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--color-text-muted);font-size:14px;padding:4px;border-radius:6px}.ab-remove:hover{color:var(--color-error)}.ab-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;padding-top:14px;border-top:1px solid var(--color-border)}.ab-btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 20px;border:1px solid transparent;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.ab-btn.primary{background:var(--brand-500);color:#fff}.ab-btn.primary:hover:not(:disabled){background:var(--brand-600)}.ab-btn.ghost{background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border)}.ab-btn.ghost:hover{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-200)}.ab-btn:disabled{opacity:.5;cursor:not-allowed}.ab-btn:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}@media (max-width: 860px){.ab-page{height:calc(100vh - 84px)}.ab-catalog-layout,.ab-review{grid-template-columns:1fr;grid-template-rows:1.4fr 1fr;overflow:hidden}.ab-step-label{display:none}.ab-step{flex:0 0 auto}.ab-step:not(:last-child){flex:1}.ab-filter-select{max-width:none;flex:1 1 40%}}.activity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;width:100%;box-sizing:border-box;align-items:stretch}.activity-box{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:8px;box-sizing:border-box;transition:transform .2s;gap:4px;width:100%}.activity-box:hover{transform:scale(1.05);cursor:pointer}.activity-img{width:100%;height:120px;object-fit:cover;display:block}.activity-title-banner{width:100%;height:120px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate}.activity-title-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb8;z-index:0}.activity-title-text{font-family:Arial,serif;font-size:20px;font-weight:700;color:var(--brand-700);text-align:center;padding:0 10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;position:relative;z-index:1}.activity-title{font-family:Arial,serif;font-size:20px;font-weight:700;color:var(--color-text-light);text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90%;margin:10px auto 0}.activity-actions,.icon-container-activity{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;padding:8px}.icon-edit-activity{font-size:20px;border:none;border-radius:6px;cursor:pointer;color:var(--muted);transition:transform .2s,color .2s}.activity-box:hover .icon-edit-activity{color:var(--brand);transform:scale(1.1)}.tooltip-container{display:inline-flex;align-items:center;justify-content:center;position:relative;margin-left:8px;cursor:pointer;width:20px;height:20px;font-size:14px;border-radius:50%;background-color:var(--color-accent);color:var(--color-text-light);text-align:center}.tooltip-text{visibility:hidden;width:200px;background-color:var(--color-text);color:var(--color-text-light);text-align:center;padding:6px;border-radius:6px;position:absolute;z-index:1;bottom:150%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .3s ease-in-out;font-size:14px}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}.activity-name{font-size:16px}.search-field{flex:1;max-width:480px;border-radius:10px}.result-count{margin-left:auto;color:var(--color-text-muted);font-size:13px;white-space:nowrap}.search-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:24px!important}.search-input{flex-grow:1;min-width:300px;max-width:100%;padding:10px 16px;border-radius:12px;border:1px solid var(--color-border);box-shadow:0 2px 5px #0000001a}.view-toggle{display:flex;gap:10px}.view-button{padding:10px;border-radius:10px;border:none;background:var(--color-border);color:var(--color-text-light);box-shadow:0 2px 4px #0003;cursor:pointer}.view-button.active{background:var(--color-accent)}.create-activity,.edit-activity{width:100%;height:100%;padding:30px;margin:0;border:3px solid var(--color-accent);background:var(--color-text-light);border-radius:10px;box-shadow:0 4px 8px #0000001a;overflow:auto;box-sizing:border-box}.create-activity h1,.edit-activity h1{text-align:center;font-size:24px;color:var(--color-text);margin-bottom:20px}.create-activity p,.edit-activity p{color:var(--color-accent)}.activity-details{margin-top:20px}.activity-label{display:block;font-weight:700;color:var(--color-text);margin-bottom:8px}.activity-input,.activity-dropdown{width:100%;padding:10px;border:1px solid var(--color-border);border-radius:4px;margin-bottom:20px;background-color:#fff;font-size:16px}.features-list{display:flex;justify-content:center;gap:80px;margin-top:30px;margin-bottom:40px}.feature-item{display:flex;align-items:center;font-size:18px}.create-activity input[type=checkbox],.edit-activity input[type=checkbox]{transform:scale(1.3);margin-right:10px}.subcategories{margin-top:20px;padding-left:20px;border-left:2px solid var(--color-accent)}.sub-feature{display:flex;align-items:center;gap:10px;margin-left:10px}.button-act{width:100%;height:45px;border:none;outline:none;border-radius:40px;box-shadow:0 0 10px #0000001a;cursor:pointer;font-size:16px;font-weight:700;color:var(--color-text-light);background:var(--color-accent)}.option-buttons{display:flex;justify-content:center;gap:20px;margin-top:20px;flex-wrap:wrap}.option-button{padding:10px 20px;border:2px solid var(--color-accent);background-color:var(--color-text-light);color:var(--color-accent);border-radius:5px;cursor:pointer;font-size:16px;transition:background-color .3s,color .3s;flex:1 1 200px;text-align:center}.option-button:hover,.option-button.active{background-color:var(--color-accent);color:var(--color-text-light)}.conditional-content{margin-top:20px;padding:15px;display:flex;gap:20px;height:400px;box-sizing:border-box;overflow:hidden}.exercise-list-container{flex:1;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:5px;background-color:var(--color-text-light);box-sizing:border-box}.exercise-list-container h3{position:sticky;background-color:var(--color-text-light);padding:16px;z-index:1;border-bottom:1px solid var(--color-border);margin:0}.exercise-choose-container{display:flex;flex-direction:column;gap:8px;padding:16px;overflow-y:auto;flex-grow:1}.exercise-choose{display:flex;align-items:center;justify-content:space-between;width:100%;height:50px;border:2px solid var(--color-accent);border-radius:8px;background-color:var(--color-page);padding:10px;box-sizing:border-box;margin-bottom:10px;gap:10px;transition:transform .2s}.exercise-choose:hover{transform:scale(1.02);background-color:var(--brand-50)}.exercise-choose.selected{border-color:var(--color-accent);background-color:var(--brand-100)}.exe-index-box{display:inline-flex;align-items:center;justify-content:center;width:8%;height:90%;border-radius:5px;background-color:var(--color-accent);color:var(--color-text-light);font-size:14px;font-weight:700;text-align:center;margin-right:1%}.exercise-reorder-buttons{display:flex;gap:5px;margin-left:auto}.move-up-button,.move-down-button{background-color:var(--color-accent);color:var(--color-text-light);border:none;border-radius:3px;padding:5px 10px;cursor:pointer;font-size:12px;transition:background-color .3s ease}.move-up-button:hover,.move-down-button:hover{background-color:var(--brand-700)}.exe-choose-title{font-size:16px;color:var(--color-text)}.create-exe-box{max-width:100%;max-height:70vh;overflow:auto;margin:0 auto;padding:20px;background-color:var(--color-text-light)}@media (max-width: 768px){.create-activity{width:95%;padding:20px}.create-activity h1,.edit-activity h1{font-size:20px}.features-list{flex-direction:column;gap:20px}.button-act{height:40px;font-size:14px}.option-button{font-size:14px;padding:8px 15px}.conditional-content{flex-direction:column;padding:10px}}@media (max-width: 480px){.create-activity{padding:15px}.create-activity h1,.edit-activity h1{font-size:18px}.activity-label{font-size:14px}.activity-input,.activity-dropdown{font-size:14px;padding:8px}.option-buttons{gap:10px}.option-button{font-size:12px;padding:8px}.conditional-content{padding:10px}}.state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:64px 16px;width:100%}.state-text{color:var(--color-text-muted);font-size:15px;margin:0}.state-error{max-width:520px;margin:32px auto}.sort-control{display:flex;align-items:center;gap:6px}.sort-label{font-size:13px;color:var(--color-text-muted)}.sort-select{font-size:13px;padding:7px 10px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer}.sort-select:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}.view-switch{display:inline-flex;border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.view-switch-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:none;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;font-size:15px}.view-switch-btn.active{background:var(--brand-500);color:#fff}.view-switch-btn:focus-visible{outline:3px solid var(--brand-500);outline-offset:-2px}.btn-new{display:inline-flex;align-items:center;gap:8px;background:var(--brand-500);color:#fff;border:none;border-radius:10px;padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .12s ease}.btn-new:hover{background:var(--brand-600)}.btn-new:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}.page-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:none;background:none;padding:0;font-size:13px;color:var(--color-text-muted);cursor:pointer}.page-back:hover{color:var(--brand-600)}.entity-tile{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:9px;background:var(--brand-100);color:var(--brand-700);font-family:Arial,sans-serif;font-weight:700;font-size:15px;line-height:1}.status-chip{display:inline-flex;align-items:center;gap:6px;width:fit-content;font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px;white-space:nowrap}.status-chip.is-draft{background:var(--color-warning-bg);color:#8a5a12}.status-chip.is-confirmed{background:var(--color-success-bg);color:#14622b}.status-chip.is-neutral{background:var(--brand-50);color:var(--brand-700)}.entity-list{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.entity-list-head,.entity-row{display:grid;grid-template-columns:minmax(0,2.6fr) 140px 132px;align-items:center;gap:12px;padding:10px 16px}.entity-list-head{font-size:11.5px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.entity-list-head .col-actions{text-align:right}.entity-row{border-bottom:1px solid #F1F4FA;transition:background-color .12s ease}.entity-row:last-child{border-bottom:none}.entity-row:hover{background:var(--brand-50)}.entity-row-main{display:flex;align-items:center;gap:12px;min-width:0;background:none;border:none;padding:0;cursor:pointer;text-align:left;font:inherit}.entity-row-main:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px;border-radius:8px}.entity-row-id{display:flex;flex-direction:column;min-width:0}.entity-row-name{font-size:14px;font-weight:700;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-row-sub{font-size:11.5px;color:var(--color-text-muted)}.entity-row-actions{display:flex;gap:12px;justify-content:flex-end}.entity-list-empty{padding:40px 16px;text-align:center;color:var(--color-text-muted);font-size:14px}.entity-action-icon{font-size:17px;color:var(--color-text-muted);transition:transform .15s ease,color .15s ease}.icon-btn:hover .entity-action-icon{transform:scale(1.12);color:var(--brand-500)}.entity-action-delete:hover .entity-action-icon{color:var(--color-error)}.activity-card-c{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s ease,border-color .15s ease}.activity-card-c:hover{box-shadow:var(--shadow-md);border-color:var(--brand-200)}.activity-card-c-head{display:flex;align-items:center;gap:11px;min-width:0;background:none;border:none;padding:0;cursor:pointer;text-align:left;font:inherit}.activity-card-c-head:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px;border-radius:8px}.activity-card-c-id{display:flex;flex-direction:column;gap:6px;min-width:0}.activity-card-c-name{font-size:15px;font-weight:700;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-card-c-actions{display:flex;gap:16px;justify-content:flex-end;padding-top:10px;border-top:1px solid #F1F4FA}.runs{margin-top:4px}.runs-note{color:#6b7280;font-size:.95rem;padding:32px 4px;text-align:center}.runs-note.error{color:#b42318}.runs-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.runs-filter{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:6px 15px;font-size:.85rem;cursor:pointer;color:#4b5563;transition:border-color .15s ease,background .15s ease,color .15s ease}.runs-filter:hover{border-color:#b9c0d4;background:#fafbfe}.runs-filter.active{background:#eef1fb;border-color:#3851c4;color:#3851c4;font-weight:500}.runs-message{margin-left:auto;font-size:.85rem;color:#3851c4;background:#eef1fb;padding:5px 12px;border-radius:8px}.runs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.run{border:1px solid #e9ebf1;border-radius:12px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.run:hover{border-color:#d7dced}.run.is-open{border-color:#c7cfeb;box-shadow:0 1px 3px #3851c40f}.run-head{display:flex;align-items:center;gap:10px;padding:12px 14px;flex-wrap:wrap}.run-toggle{display:flex;align-items:center;gap:10px;flex:1 1 220px;background:none;border:none;padding:0;cursor:pointer;text-align:left;min-width:0}.run-caret{color:#9aa1b4;font-size:.72rem;width:14px;flex-shrink:0;transition:color .15s ease}.run-toggle:hover .run-caret{color:#3851c4}.run-title{display:flex;flex-direction:column;min-width:0}.run-name{font-weight:500;font-size:.95rem;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-sub{font-size:.83rem;color:#6b7280;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-controls{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:nowrap}.run-state{font-size:.75rem;font-weight:500;padding:4px 11px;border-radius:999px;white-space:nowrap;flex-shrink:0}.run-state.is-active{background:#e7f6ed;color:#17663a}.run-state.is-stopped{background:#fdf3e2;color:#8a5a06}.run-state.is-completed{background:#f1f2f5;color:#4b5563}.run-action{border:1px solid #dfe3ec;background:#fff;border-radius:8px;padding:5px 13px;font-size:.82rem;cursor:pointer;color:#374151;white-space:nowrap;transition:border-color .15s ease,color .15s ease,background .15s ease}.run-action:hover:not(:disabled){border-color:#3851c4;color:#3851c4;background:#f7f8fe}.run-action.danger:hover:not(:disabled){border-color:#e4a3a0;color:#b42318;background:#fdf6f6}.run-action:disabled{opacity:.45;cursor:default}.run-steps{list-style:none;margin:0;padding:4px 14px 12px 34px;position:relative}.run-steps:before{content:"";position:absolute;left:21px;top:10px;bottom:20px;width:2px;background:#eaecf3;border-radius:2px}.run-step{display:flex;width:100%;gap:12px;align-items:baseline;background:none;border:none;padding:8px 10px;cursor:pointer;text-align:left;border-radius:8px;position:relative;transition:background .15s ease}.run-step:before{content:"";position:absolute;left:-17px;top:14px;width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid #ccd2e6}.run-step:hover{background:#f5f7fd}.run-step:hover:before{border-color:#3851c4}.run-step-name{flex:1;font-size:.89rem;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-step-meta{font-size:.82rem;color:#6b7280;white-space:nowrap}.run-step-caret{font-size:.72rem;color:#6b7280;width:11px;flex:none}.run-step-wrap.is-open .run-step-caret{color:#3851c4}.run-step-score,.run-exercise-score{font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:46px;text-align:right;flex:none}.run-step-score.is-pass,.run-exercise-score.is-pass{color:#157347}.run-step-score.is-under,.run-exercise-score.is-under{color:#a5451f}.run-step-score.is-todo,.run-exercise-score.is-todo{color:#9ca3af;font-weight:500}.run-step-body{margin:2px 0 8px 10px;padding:6px 12px 10px;background:#f7f8fc;border-radius:8px}.run-exercises{list-style:none;margin:0;padding:0}.run-exercise{display:flex;align-items:center;gap:8px;padding:5px 2px;font-size:.82rem;border-bottom:1px solid #ecedf4}.run-exercise:last-child{border-bottom:none}.run-exercise-name{flex:1 1 auto;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-chip{font-size:.74rem;font-variant-numeric:tabular-nums;color:#6b7280;background:#eceef6;border-radius:5px;padding:1px 7px;white-space:nowrap;flex:none}.run-chip.is-time{color:#3851c4;background:#e8ebfa;font-weight:600}.run-step-link{display:inline-block;margin-top:8px;padding:0;background:none;border:none;font-size:.8rem;color:#3851c4;cursor:pointer}.run-step-link:hover{text-decoration:underline}.run-exercise-empty{font-size:.82rem;color:#9ca3af;margin:4px 2px}.run-empty{font-size:.86rem;color:#9ca3af;padding:6px 10px}.cohort-summary{font-size:.86rem;color:#6b7280;margin:0 0 12px}.cohort-row{width:100%;background:none;border:none;cursor:pointer;text-align:left;border-radius:12px;transition:background .15s ease}.cohort-row:hover{background:#f7f8fd}.cohort-progress{margin-left:auto;white-space:nowrap;margin-top:0}.cohort-progress.is-pass{color:#157347;font-weight:600}.cohort-progress.is-under{color:#a5451f;font-weight:600}.cohort-progress.is-todo{color:#9ca3af}.patient-sessions-container{display:flex;flex-direction:column;width:100%;margin-top:8px}.sessions-tabs .ant-tabs-tab .ant-tabs-tab-btn{font-size:15px}.sessions-tabs .ant-tabs-tab:hover .ant-tabs-tab-btn{color:var(--brand-600)}.sessions-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--brand-500);font-weight:700}.sessions-tabs .ant-tabs-ink-bar{background:var(--brand-500)}.sessions-toolbar{display:flex;justify-content:flex-end;margin-bottom:2px}.sessions-download-all{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:10px;padding:7px 13px;font-size:13px;cursor:pointer;transition:border-color .12s ease,color .12s ease}.sessions-download-all:hover:not(:disabled){border-color:var(--brand-300);color:var(--color-text)}.sessions-download-all:disabled{opacity:.5;cursor:default}.session-list{display:flex;flex-direction:column;gap:10px;padding-top:6px}.session-assign-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1.5px dashed var(--brand-300);color:var(--brand-500);border-radius:10px;padding:11px;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.session-assign-btn:hover{border-color:var(--brand-500);background:var(--brand-50)}.session-assign-btn:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}.session-row{display:grid;grid-template-columns:minmax(0,1.6fr) 110px minmax(150px,1.4fr) 70px;gap:14px;align-items:center;background:#fff;border:1px solid var(--color-border-subtle);border-radius:11px;padding:11px 14px;transition:box-shadow .15s ease,border-color .15s ease}.session-row:hover{box-shadow:var(--shadow-sm);border-color:var(--brand-200)}.session-row-main{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:none;border:none;padding:0;cursor:pointer;text-align:left;font:inherit}.session-row-main:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px;border-radius:6px}.session-row-name{font-size:14px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.session-row-sub{font-size:11.5px;color:var(--color-text-muted)}.session-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap;width:fit-content}.chip-progress{background:var(--brand-50);color:var(--brand-700)}.chip-progress .chip-dot{background:var(--brand-500)}.chip-done{background:var(--color-success-bg);color:#14622b}.chip-done .chip-dot{background:var(--color-success)}.session-progress{display:flex;align-items:center;gap:10px}.session-progress-track{flex:1;height:7px;border-radius:6px;background:#eef1f7;overflow:hidden;min-width:70px}.session-progress-fill{display:block;height:100%;background:var(--brand-500);border-radius:6px}.session-progress-pct{font-size:12.5px;color:var(--color-text);font-weight:600;width:38px;text-align:right}.session-acc{display:flex;align-items:center;gap:8px}.session-acc-label{font-size:12px;color:var(--color-text-muted)}.session-row-actions{display:flex;gap:12px;justify-content:flex-end}.session-action-icon{font-size:17px;color:var(--color-text-muted);transition:color .12s ease}.icon-btn:hover .session-action-icon{color:var(--brand-500)}.session-empty{font-size:13px;color:var(--color-text-muted);padding:14px 4px;margin:0}.session-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 16px}.session-state-error{margin:16px 0}.pf-form{max-width:640px;margin:0 auto}.pf-back{margin-bottom:10px}.pf-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.pf-section{padding:18px 20px}.pf-section+.pf-section{border-top:1px solid #EEF1F7}.pf-section-title{margin:0 0 12px;font-size:12px;font-weight:700;color:var(--brand-500);text-transform:uppercase;letter-spacing:.4px}.pf-section-optional{color:var(--color-text-muted);font-weight:400;text-transform:none;letter-spacing:0}.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pf-field{display:flex;flex-direction:column;gap:5px;min-width:0}.pf-label{font-size:12.5px;color:var(--color-text-muted)}.pf-field-hint,.pf-field-error,.pf-field-ok{font-size:12px;line-height:1.3}.pf-field-hint{color:var(--color-text-muted)}.pf-field-error{color:var(--color-error)}.pf-field-ok{color:var(--color-success)}.pf-card .ant-input,.pf-card .ant-input-affix-wrapper,.pf-card .ant-input-number,.pf-card .ant-select-selector{border-radius:10px!important}.pf-date{width:100%;padding:7px 11px;border:1px solid var(--color-border);border-radius:10px;font-size:14px;color:var(--color-text);background:#fff;height:36px;box-sizing:border-box}.pf-date:focus-visible{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 2px #3851c426}.pf-dx-empty{margin:0 0 10px;font-size:13px;color:var(--color-text-muted)}.pf-dx-row{display:grid;grid-template-columns:1fr 150px 36px;gap:10px;align-items:center;margin-bottom:10px}.pf-dx-remove{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:10px;background:#fff;color:var(--color-text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.pf-dx-remove:hover{color:var(--color-error);border-color:var(--color-error)}.pf-dx-remove:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}.pf-dx-add{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:4px 0;color:var(--brand-500);font-size:13px;font-weight:600;cursor:pointer}.pf-dx-add:hover{color:var(--brand-600)}.pf-dx-add:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px;border-radius:6px}.pf-settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.pf-settings-title{font-size:14px;font-weight:600;color:var(--color-text)}.pf-settings-sub{font-size:12px;color:var(--color-text-muted);margin-top:2px}.pf-card .ant-switch.ant-switch-checked{background:var(--brand-500)}.pf-card .ant-segmented{align-self:flex-start}.pf-card .ant-segmented .ant-segmented-item-selected,.pf-card .ant-segmented .ant-segmented-thumb{background-color:var(--brand-500)}.pf-card .ant-segmented .ant-segmented-item-selected,.pf-card .ant-segmented .ant-segmented-item-selected .ant-segmented-item-label{color:#fff}.pf-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 20px;background:#f8faff;border-top:1px solid #EEF1F7}.pf-status{margin-right:auto;font-size:13px}.pf-status-error{color:var(--color-error)}.pf-btn-cancel,.pf-btn-submit{border-radius:10px;padding:9px 18px;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.pf-btn-cancel{background:#fff;border:1px solid var(--color-border);color:var(--color-text-muted)}.pf-btn-cancel:hover{border-color:var(--brand-300);color:var(--color-text)}.pf-btn-submit{background:var(--brand-500);border:1px solid var(--brand-500);color:#fff}.pf-btn-submit:hover{background:var(--brand-600);border-color:var(--brand-600)}.pf-btn-submit:disabled{opacity:.65;cursor:default}.pf-btn-cancel:focus-visible,.pf-btn-submit:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}@media (max-width: 560px){.pf-grid{grid-template-columns:1fr}.pf-dx-row{grid-template-columns:1fr 120px 36px}}:root{--color-background: var(--brand-900);--color-text-light: #FFFFFF;--color-text-dark: #1C1C1C;--color-accent: var(--brand-500);--color-accent-light: var(--brand-400);--color-accent-dark: var(--brand-700);--color-accent-glow: rgba(56, 81, 196, .3);--color-muted: #F0F4FA;--color-card-background: #FAFCFF;--color-users: #A9B3CE;--color-users-light: #D3D9E6;--color-users-dark: #6E7892;--color-users-text: #2C3345;--color-activities: #ED6A5A;--color-activities-light: #F9A89C;--color-activities-dark: #B84C3E;--color-activities-text: #4D1D18;--color-exercises: #7EB77F;--color-exercises-light: #B9DCBA;--color-exercises-dark: #558E57;--color-exercises-text: #233B25;--sidebar-width: 200px;--sidebar-width-collapsed: 80px;--font-family-base: "Leggimi", sans-serif;--font-size-base: 1rem;--font-size-large: 20px;--font-size-xlarge: xx-large;--icon-size-user: 30px;--icon-size-logout-width: 18px;--icon-size-logout-height: 20px;--layout-padding: 20px}@font-face{font-family:Leggimi;src:url(/Leggimi.ttf) format("truetype");font-weight:400;font-style:normal}.ant-layout{min-height:100vh}.sidebar{position:fixed;top:0;left:0;bottom:0;background-color:var(--color-background);color:var(--color-text-light);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;z-index:1000;transition:transform .25s ease}.app-shell>.ant-layout{margin-left:var(--sidebar-width);transition:margin-left .2s ease;background:var(--color-page)}.app-shell.is-collapsed>.ant-layout{margin-left:var(--sidebar-width-collapsed)}.app-shell.is-mobile>.ant-layout{margin-left:0}.app-shell.is-mobile .sidebar{transform:translate(0);box-shadow:2px 0 14px #00000059}.app-shell.is-mobile.is-collapsed .sidebar{transform:translate(-100%);box-shadow:none}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:999}.ant-layout-sider-children{display:flex;flex-direction:column;justify-content:space-between;height:100%;overflow:hidden}.menu-bar{flex:1;overflow-y:auto;width:100%;font-size:var(--font-size-base)}.sidebar .ant-menu,.sidebar .ant-menu-sub,.sidebar .ant-menu.ant-menu-dark,.sidebar .ant-menu-dark .ant-menu-sub{background:transparent!important}.sidebar-footer{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:10px;padding:16px}.toggle-theme-btn{display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base)}.toggle-theme-btn svg{font-size:11px}.logout-button{display:flex;align-items:center;justify-content:center;gap:8px;height:38px;width:100%;border-radius:8px;font-weight:700;background:#cf222e1f!important;border:1.5px solid rgba(207,34,46,.45)!important;color:#ff9ba1!important;box-shadow:none!important;transition:background .15s ease,border-color .15s ease,color .15s ease}.logout-button:hover,.logout-button:focus-visible{background:#cf222e38!important;border-color:#cf222eb3!important;color:#ffb3b8!important}.logout-button svg{width:var(--icon-size-logout-width);height:var(--icon-size-logout-height)}.header{display:flex;align-items:center;padding:0 16px}.page-title{margin:0;font-size:22px;font-weight:700;color:var(--color-text);line-height:1.2}.toggle-button{margin-left:15px;margin-right:20px}.user-menu-trigger{margin-left:auto;display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:6px 10px;border-radius:8px;color:var(--color-text);transition:background-color .15s ease}.user-menu-trigger:hover{background:var(--brand-50)}.user-menu-trigger:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}.username{font-size:15px;font-weight:600}.user-menu-caret{font-size:11px;color:var(--color-text-muted)}.user-icon{font-size:var(--icon-size-user);color:var(--color-accent)}.main-content{padding:16px;box-sizing:border-box}.sidebar-header{display:flex;align-items:center;justify-content:center;gap:8px;padding:28px 16px}.brand-lockup{display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}.brand-mark{width:34px;height:34px;flex-shrink:0;border-radius:9px;background:var(--brand-500);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;line-height:1}.brand-wordmark{color:#fff;font-size:22px;font-weight:700;letter-spacing:.3px}.sidebar-toggle{color:#ffffffbf!important;font-size:18px;flex-shrink:0}.sidebar-toggle:hover,.sidebar-toggle:focus-visible{color:#fff!important;background:#ffffff1a!important}.sidebar.ant-layout-sider-collapsed .sidebar-header{flex-direction:column;gap:12px;padding:16px 4px}.sidebar.ant-layout-sider-collapsed .sidebar-footer{padding:16px 8px;justify-content:center}.menu-bar .ant-menu-item-selected{position:relative;background-color:var(--color-accent)!important;color:var(--color-text-light)!important}.menu-bar .ant-menu-item-selected:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:#fff;border-radius:0 3px 3px 0}.menu-bar .ant-menu-item-selected:hover{background-color:var(--color-accent)!important}.assign-page{width:100%;height:calc(100vh - 120px);min-height:0;box-sizing:border-box;display:flex;flex-direction:column;gap:14px}.assign-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:none;background:none;padding:0;font-size:13px;color:var(--color-text-muted);cursor:pointer;margin-bottom:-6px}.assign-back:hover{color:var(--brand-600)}.assign-title{margin:0;font-size:22px;font-weight:700;color:var(--color-text)}.assign-title-act{color:var(--brand-600)}.tabs{position:relative;display:flex;width:100%;border-bottom:1px solid var(--color-border);gap:0;background:transparent}.tab{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;padding:12px 8px;border:0;background:transparent;cursor:pointer;font-weight:700;font-size:14px;color:var(--color-text-muted);border-radius:0;position:relative}.tab:hover{color:var(--brand-700)}.tab.active{color:var(--brand-500)}.tab-ink{position:absolute;bottom:-1px;left:0;height:3px;width:50%;background:var(--brand-500);border-radius:3px 3px 0 0;transform:translate(0);transition:transform .2s ease;pointer-events:none}.tab:focus-visible{outline:none;box-shadow:inset 0 -3px #3851c440}.assign-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.assign-search{display:flex;align-items:center;gap:8px;flex:1 1 240px;min-width:200px;padding:8px 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-muted);transition:border-color .12s ease,box-shadow .12s ease}.assign-search:focus-within{border-color:var(--brand-500);box-shadow:0 0 0 3px #3851c426}.assign-search input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--color-text)}.assign-secondary{padding:8px 14px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.assign-secondary:hover:not(:disabled){background:var(--brand-50);border-color:var(--brand-200)}.assign-secondary:disabled{opacity:.5;cursor:not-allowed}.assign-secondary:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}.assign-hint-icon{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--color-text-muted);cursor:help;padding:4px 6px;border-radius:8px}.assign-hint-icon:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}.assign-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:4px;border:1px solid var(--color-border-subtle);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm)}.assign-list.is-loading{opacity:.6}.assign-list,.assign-row,.assign-row *{-webkit-user-select:none;-moz-user-select:none;user-select:none}.assign-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;border:1px solid transparent;cursor:pointer;background:transparent;transition:background-color .12s ease,border-color .12s ease;touch-action:manipulation;outline:none}.assign-row:hover{background:var(--brand-50)}.assign-row:focus-visible{border-color:var(--brand-500);box-shadow:0 0 0 3px #3851c42e}.assign-row.selected{background:var(--brand-50);border-color:var(--brand-300)}.assign-row-name{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assign-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;border:2px solid var(--color-border);color:#fff;font-size:11px;transition:background-color .12s ease,border-color .12s ease}.assign-row.selected .assign-check{background:var(--brand-500);border-color:var(--brand-500)}.assign-state{padding:40px 16px;text-align:center;color:var(--color-text-muted);font-size:14px}.assign-actionbar{display:flex;align-items:center;gap:12px;flex-shrink:0;padding-top:4px}.assign-count{font-size:14px;color:var(--color-text-muted)}.assign-count strong{color:var(--color-text);font-size:15px}.assign-message{font-size:14px;color:var(--color-text)}.assign-message.inline{color:var(--brand-700)}.assign-message.error{color:var(--color-error);padding:24px}.assign-action{margin-left:auto;min-width:140px;height:42px;padding:0 22px;border:none;border-radius:10px;cursor:pointer;font-size:15px;font-weight:700;color:#fff;transition:background-color .12s ease,transform .05s ease}.assign-action:active{transform:translateY(1px)}.assign-action:disabled{opacity:.5;cursor:not-allowed}.assign-action.primary{background:var(--brand-500)}.assign-action.primary:hover:not(:disabled){background:var(--brand-600)}.assign-action.danger{background:var(--color-error)}.assign-action.danger:hover:not(:disabled){background:#b01722}.ant-tooltip kbd{font-family:inherit;font-size:11px;padding:1px 5px;border-radius:5px;background:#ffffff26;border:1px solid rgba(255,255,255,.25)}@media (max-width: 768px){.assign-page{height:calc(100vh - 90px)}.assign-title{font-size:19px}.assign-search{flex-basis:100%}.assign-action{min-width:110px}}.session-review{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.sr-back{display:inline-flex;align-items:center;gap:7px;background:none;border:none;padding:0;color:var(--color-text-muted);font-size:13px;cursor:pointer;width:fit-content}.sr-back:hover{color:var(--brand-500)}.sr-back:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px;border-radius:4px}.sr-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:14px;box-shadow:var(--shadow-sm);padding:16px 18px}.sr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.sr-title{font-size:18px;font-weight:700;color:var(--color-text)}.sr-meta{margin-top:6px}.sr-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:20px}.chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sr-chip-progress{background:var(--brand-50);color:var(--brand-700)}.sr-chip-progress .chip-dot{background:var(--brand-500)}.sr-chip-done{background:var(--color-success-bg);color:#14622b}.sr-chip-done .chip-dot{background:var(--color-success)}.sr-export{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:10px;padding:8px 13px;font-size:13px;cursor:pointer;transition:border-color .12s ease,color .12s ease}.sr-export:hover{border-color:var(--brand-300);color:var(--color-text)}.sr-export:focus-visible{outline:3px solid var(--brand-500);outline-offset:2px}.sr-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.sr-metric{background:#f4f6fb;border-radius:10px;padding:12px}.sr-metric-label{font-size:12.5px;color:var(--color-text-muted)}.sr-metric-value{font-size:22px;font-weight:500;color:var(--color-text);margin-top:2px}.sr-section-title{font-size:12px;font-weight:700;color:var(--brand-500);text-transform:uppercase;letter-spacing:.4px;margin-bottom:-4px}.sr-section-sub{color:var(--color-text-muted);font-weight:400;text-transform:none;letter-spacing:0}.sr-ex-list{display:flex;flex-direction:column;gap:10px}.sr-ex{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:12px;padding:13px 15px}.sr-ex-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sr-ex-name{font-size:14px;font-weight:600;color:var(--color-text)}.sr-notdone{font-size:12.5px;color:var(--color-text-muted)}.acc-pill{font-size:13px;font-weight:600;padding:2px 10px;border-radius:20px}.acc-pill.acc-high{background:var(--color-success-bg);color:#14622b}.acc-pill.acc-mid{background:var(--color-warning-bg);color:#8a5a12}.acc-pill.acc-low{background:var(--color-error-bg);color:#a01b25}.sr-bar-row{display:flex;align-items:center;gap:12px;margin-top:11px}.sr-bar-track{flex:1;height:8px;border-radius:6px;overflow:hidden;background:var(--color-error-bg);min-width:90px}.sr-bar-correct{display:block;height:100%;background:var(--color-success);border-radius:6px}.sr-counts{font-size:12.5px;color:var(--color-text-muted);white-space:nowrap}.sr-counts strong{color:var(--color-text);font-weight:600}.sr-attempts{margin-top:12px;border-top:1px solid var(--color-border-subtle);max-height:260px;overflow-y:auto}.sr-attempt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #F4F6FB}.sr-attempt:last-child{border-bottom:none}.sr-attempt-n{font-size:11.5px;color:#9aa3b2;width:22px;flex-shrink:0}.sr-attempt-sel{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1;min-width:0}.sr-word{font-size:11.5px;background:var(--brand-50);color:var(--brand-700);padding:2px 8px;border-radius:6px}.sr-word-muted{background:none;color:#c2c8d4}.sr-result{font-size:12px;font-weight:600;white-space:nowrap}.sr-result-ok{color:#14622b}.sr-result-no{color:#a01b25}.sr-chat{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:12px;max-height:440px;overflow-y:auto}.sr-msg{display:flex}.sr-msg-assistant{justify-content:flex-start}.sr-msg-user{justify-content:flex-end}.sr-bubble{max-width:80%;padding:9px 12px;border-radius:12px}.sr-msg-assistant .sr-bubble{background:var(--brand-50);border-bottom-left-radius:3px}.sr-msg-user .sr-bubble{background:#f1efe8;border-bottom-right-radius:3px}.sr-bubble-head{display:flex;align-items:center;gap:8px;margin-bottom:5px;flex-wrap:wrap}.sr-role{font-size:11px;font-weight:600;color:var(--color-text)}.sr-emotion{font-size:11px;color:var(--color-warning)}.sr-audio-badge{font-size:11px;color:var(--brand-500);display:inline-flex;align-items:center;gap:3px}.sr-bubble-text{font-size:13px;color:var(--color-text);line-height:1.5}.sr-trans{color:var(--color-text-muted)}.sr-empty{font-size:13px;color:var(--color-text-muted);margin:0;padding:8px 2px}.sr-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 16px}.sr-state-error{max-width:520px;margin:24px auto}.exlib-pills{display:flex;gap:6px;align-items:center}.exlib-pill{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:13px;padding:5px 14px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.exlib-pill:hover{border-color:var(--brand-300);color:var(--brand-600)}.exlib-pill.active{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);font-weight:600}.exlib-pill:focus-visible{outline:2px solid var(--brand-400);outline-offset:1px}.exlib-section{margin-bottom:22px}.exlib-area-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 10px}.exlib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.exlib-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:12px;padding:14px 16px;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,transform .15s}.exlib-card:hover{border-color:var(--brand-300);box-shadow:0 4px 10px #131c4a14;transform:translateY(-1px)}.exlib-card:focus-visible{outline:2px solid var(--brand-400);outline-offset:2px}.exlib-card-icon{font-size:20px;color:var(--brand-500);margin-bottom:4px}.exlib-card-title{font-size:14px;font-weight:600;color:var(--color-text)}.exlib-card-desc{font-size:12.5px;line-height:1.5;color:var(--color-text-muted)}.exlib-card-count{margin-top:6px;font-size:11.5px;color:var(--color-text-muted)}.exlib-empty{color:var(--color-text-muted);padding:24px 4px}.exdet-page{padding-bottom:24px}.exdet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:6px}.exdet-back{display:inline-flex;align-items:center;gap:6px;border:none;background:none;padding:0;font-size:13px;color:var(--color-text-muted);cursor:pointer}.exdet-back:hover{color:var(--brand-600)}.exdet-title{font-size:20px;font-weight:600;color:var(--color-text);margin:6px 0 8px}.exdet-chips{display:flex;gap:6px}.exdet-chip{font-size:11.5px;padding:3px 12px;border-radius:999px;border:1px solid var(--color-border);color:var(--color-text-muted)}.exdet-chip-area{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600);font-weight:600}.exdet-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:14px;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow-sm)}@media (max-width: 800px){.exdet-info-grid{grid-template-columns:1fr}}.exdet-info-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-text-muted);margin:0 0 6px}.exdet-info-text{font-size:13.5px;line-height:1.65;color:var(--color-text);margin:0 0 16px}.exdet-gif{width:100%;max-height:260px;object-fit:contain;border:1px solid var(--color-border-subtle);border-radius:8px;background:var(--color-page)}.exdet-gif-placeholder{height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--color-text-muted);font-size:12.5px}.exdet-gif-placeholder .anticon{font-size:28px;color:var(--brand-400)}.exdet-list-block{margin-top:20px}.exdet-list{border:1px solid var(--color-border-subtle);border-radius:10px;background:var(--color-surface);overflow:hidden}.exdet-row-wrap+.exdet-row-wrap{border-top:1px solid var(--color-border-subtle)}.exdet-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:none;background:none;padding:12px 16px;cursor:pointer;text-align:left}.exdet-row:hover{background:var(--brand-50)}.exdet-row:focus-visible{outline:2px solid var(--brand-400);outline-offset:-2px}.exdet-row-main{display:flex;flex-direction:column;gap:2px}.exdet-row-title{font-size:13.5px;font-weight:600;color:var(--color-text)}.exdet-row-meta{font-size:12px;color:var(--color-text-muted)}.exdet-row-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--brand-600);white-space:nowrap}.exdet-items{display:flex;flex-wrap:wrap;gap:8px;padding:4px 16px 14px;background:var(--color-page)}.exdet-item-chip{font-size:12px;padding:4px 12px;border-radius:8px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.exdet-items-empty{font-size:12.5px;color:var(--color-text-muted)}.exdet-timing-note{display:flex;gap:8px;align-items:flex-start;margin-top:4px;padding:10px 12px;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:8px;font-size:12.5px;line-height:1.55;color:var(--brand-800)}.exdet-timing-note .anticon{color:var(--brand-500);margin-top:2px;flex-shrink:0}.exdet-timing-note strong{font-weight:600}.exdet-speed{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--brand-50);border:1px solid var(--brand-200);color:var(--brand-700);white-space:nowrap;flex-shrink:0}.exdet-speed .anticon{font-size:13px;color:var(--brand-500)}.exdet-speed-ms{font-size:13px;font-weight:600}.exdet-speed-s{font-size:11.5px;color:var(--brand-500)}.va-page{padding-bottom:24px}.va-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.va-back{display:inline-flex;align-items:center;gap:6px;border:none;background:none;padding:0;font-size:13px;color:var(--color-text-muted);cursor:pointer}.va-back:hover{color:var(--brand-600)}.va-title{font-size:20px;font-weight:600;color:var(--color-text);margin:6px 0 8px}.va-chips{display:flex;align-items:center;gap:6px}.va-chip{font-size:11.5px;padding:3px 12px;border-radius:999px;border:1px solid var(--color-border);color:var(--color-text-muted)}.va-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.va-delete{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-error);font-size:13.5px;font-weight:600;cursor:pointer}.va-delete:hover{border-color:var(--color-error);background:var(--color-error-bg)}.va-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow-sm);margin-bottom:14px}.va-section-label{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-600);margin:0 0 4px}.va-section-hint{font-size:13px;color:var(--color-text-muted);margin:0 0 12px}.va-feature-chips{display:flex;flex-wrap:wrap;gap:8px}.va-feature{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 14px;border-radius:999px;border:1px solid var(--color-border);color:var(--color-text-muted)}.va-feature.on{background:var(--brand-50);border-color:var(--brand-300);color:var(--brand-700);font-weight:600}.va-seq{display:flex;flex-direction:column;gap:8px}.va-seq-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--color-border-subtle);border-radius:10px;background:var(--color-page)}.va-seq-num{width:26px;height:26px;flex-shrink:0;border-radius:8px;background:var(--brand-500);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}.va-seq-body{display:flex;flex-direction:column;gap:2px;min-width:0}.va-seq-title{font-size:13.5px;font-weight:600;color:var(--color-text)}.va-seq-meta{font-size:12px;color:var(--color-text-muted)}.va-seq-empty{font-size:13.5px;color:var(--color-text-muted)}@media (max-width: 640px){.va-header{flex-direction:column}}
