:root{color:#26332f;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.58}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0}.eyebrow{color:#728079;letter-spacing:.12em;margin:0 0 7px;font-size:11px;font-weight:800}.primary,.secondary,.icon-text-button,.icon-button,.text-button,.hint-button{border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:700;display:inline-flex}.primary{color:#fff;background:#176b55;padding:0 18px}.primary:hover{background:#115d49}.secondary{color:#34453f;background:#fff;border:1px solid #cbd4ce;padding:0 16px}.secondary:hover,.icon-text-button:hover{background:#f1f4f2}.secondary.inverse{color:#fff;background:0 0;border-color:#5f786f}.full{width:100%}.icon-text-button{color:#41524b;background:#fff;border:1px solid #d2dad5;padding:0 13px}.icon-button{color:#53635d;background:0 0;width:42px;padding:0}.text-button{color:#bbcbc5;background:0 0;padding:0}.text-button.dark{color:#42514b}label{color:#4f5e58;gap:7px;font-size:13px;font-weight:700;display:grid}input{color:#26332f;background:#fff;border:1px solid #cbd4ce;border-radius:5px;outline:none;width:100%;min-height:44px;padding:0 12px}input:focus{border-color:#176b55;box-shadow:0 0 0 3px #176b551f}.form-error{color:#a52b2b;margin:0;font-size:13px;font-weight:700}.login-page{grid-template-columns:minmax(320px,480px) minmax(0,1fr);min-height:100vh;padding:0;display:grid}.login-panel{background:#fff;flex-direction:column;justify-content:center;padding:clamp(36px,8vw,84px);display:flex}.brand-symbol{color:#fff;background:#176b55;border-radius:8px;place-items:center;width:54px;height:54px;margin-bottom:28px;display:grid}.brand-symbol.small{width:36px;height:36px;margin:0}.brand-symbol.small svg{width:19px}.login-panel h1{margin-bottom:12px;font-size:clamp(34px,5vw,48px)}.login-copy{color:#66756f;max-width:330px;margin-bottom:34px;line-height:1.55}.login-panel form{gap:18px;display:grid}.login-context{background:#203d36;min-height:100vh;position:relative;overflow:hidden}.context-day{color:#dbe6e1;grid-template-rows:auto 1fr auto 1fr auto 1fr auto 1fr auto;width:56%;font-size:clamp(18px,2vw,28px);font-weight:800;display:grid;position:absolute;top:12%;bottom:12%;left:22%}.context-day i{background:#5a756c;width:2px;margin-left:34px}.context-note{color:#32423c;background:#f7f3e7;border-left:4px solid #e0b84c;width:150px;padding:18px 20px;font-size:18px;font-weight:800;position:absolute;box-shadow:0 18px 40px #0000002e}.note-one{top:23%;right:9%;transform:rotate(3deg)}.note-two{top:49%;right:22%;transform:rotate(-2deg)}.note-three{bottom:15%;right:8%;transform:rotate(2deg)}.app-shell{grid-template-columns:270px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:#203d36;flex-direction:column;height:100vh;padding:22px 18px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:11px;margin-bottom:34px;font-weight:800;display:flex}.nav-heading{color:#aebfb9;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;margin:0 8px 8px;font-size:11px;font-weight:800;display:flex}.patient-nav{min-height:0;overflow-y:auto}.patient-nav button{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:11px;padding:10px;display:flex}.patient-nav button:hover,.patient-nav button.active{background:#315249}.patient-nav button.active{box-shadow:inset 3px 0 #e0b84c}.patient-nav strong,.patient-nav small{display:block}.patient-nav small{color:#acc0b8;text-overflow:ellipsis;white-space:nowrap;max-width:165px;margin-top:3px;overflow:hidden}.avatar{color:#24453c;background:#d7e4df;border-radius:6px;flex:0 0 36px;place-items:center;height:36px;font-weight:800;display:grid}.sidebar-actions{gap:8px;margin-top:auto;display:grid}.therapist-main{min-width:0;padding:0 38px 48px}.topbar{border-bottom:1px solid #d9dfdb;justify-content:space-between;align-items:center;min-height:112px;display:flex}.topbar h1{margin:0;font-size:30px}.connection{color:#68766f;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.connection i{background:#2a9c70;border-radius:50%;width:9px;height:9px}.connection.busy i{background:#e0b84c}.workspace{gap:24px;max-width:1120px;margin:32px auto 0;display:grid}.config-section,.history-section{background:#fff;border:1px solid #d8dfda;border-radius:7px;overflow:hidden}.section-accent{color:#175a48;background:#d9eee6;padding:9px 24px;font-size:12px;font-weight:800}.section-heading{border-bottom:1px solid #e2e7e4;justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:20px 24px;display:flex}.section-heading h2{margin:0;font-size:23px}.heading-actions{align-items:center;gap:12px;display:flex}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:22px 36px;padding:28px 24px;display:grid}.input-suffix{max-width:180px;position:relative}.input-suffix input{padding-right:52px}.input-suffix span{color:#77847f;position:absolute;top:13px;right:12px}.toggle{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:11px;min-height:44px;display:inline-grid}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:#bfc9c3;border-radius:12px;width:42px;height:24px;padding:3px;transition:all .15s;display:block}.toggle-track i{background:#fff;border-radius:50%;width:18px;height:18px;transition:all .15s;display:block}.toggle input:checked+.toggle-track{background:#176b55}.toggle input:checked+.toggle-track i{transform:translate(18px)}.source-note{color:#59655f;background:#faf8ef;border-left:3px solid #e0b84c;margin:0 24px 24px;padding:15px 17px;line-height:1.5}.section-footer{justify-content:flex-end;padding:0 24px 24px;display:flex}.metric-row{border-bottom:1px solid #e2e7e4;grid-template-columns:repeat(4,1fr);display:grid}.metric{border-right:1px solid #e2e7e4;padding:22px 24px}.metric:last-child{border:0}.metric span{color:#738079;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.metric strong{font-size:25px}.history-empty{color:#77847f;text-align:center;padding:38px 24px}.history-chart{border-bottom:1px solid #e2e7e4;align-items:end;gap:16px;height:210px;padding:30px 30px 22px;display:flex}.chart-column{text-align:center;flex:1;grid-template-rows:22px 1fr 18px;align-items:end;height:100%;display:grid}.chart-column strong,.chart-column small{color:#6f7b75;font-size:11px}.chart-column span{background:#d29a3b;border-radius:3px 3px 0 0;width:min(34px,70%);min-height:10px;margin:0 auto}.chart-column span.solved{background:#2a9872}.session-list article{border-bottom:1px solid #edf0ee;grid-template-columns:1.3fr 1fr .8fr 1fr;gap:18px;padding:15px 24px;font-size:13px;display:grid}.session-list article:last-child{border:0}.flash{border-radius:6px;justify-content:space-between;align-items:center;max-width:1120px;margin:18px auto 0;padding:13px 16px;font-weight:700;display:flex}.flash.success{color:#185844;background:#dcefe7}.flash.error{color:#8f2927;background:#f7e1df}.flash button{color:inherit;background:0 0;border:0}.empty-state{color:#66736d;text-align:center;align-content:center;place-items:center;gap:14px;min-height:360px;display:grid}.empty-state h2{color:#2d3b36;margin:0}.patient-page{background:#f3f5f2;min-height:100vh}.patient-header{background:#fff;border-bottom:1px solid #d9dfdb;justify-content:space-between;align-items:center;min-height:76px;padding:0 clamp(20px,5vw,64px);display:flex}.patient-header>strong{font-size:20px}.patient-header-actions{align-items:center;gap:22px;display:flex}.font-control{border:1px solid #cdd5d0;border-radius:5px;display:flex;overflow:hidden}.font-control button{background:#fff;border:0;border-right:1px solid #cdd5d0;min-width:42px;height:38px;font-weight:800}.font-control button:last-child{border:0}.font-control button.active{color:#fff;background:#23483e}.patient-main{min-width:0;max-width:880px;margin:0 auto;padding:54px 24px}.patient-title{margin-bottom:28px}.patient-title h1{margin:0;font-size:34px}.exercise-tile{background:#fff;border:1px solid #d6ddd8;border-radius:7px;grid-template-columns:240px minmax(0,1fr);min-height:280px;display:grid;overflow:hidden}.calendar-visual{color:#fff;background:#24453c;grid-template-rows:repeat(4,1fr);grid-template-columns:auto 1fr;align-items:center;gap:0 16px;padding:34px;font-size:24px;font-weight:800;display:grid}.calendar-visual i{background:#759087;height:2px}.tile-content{flex-direction:column;justify-content:center;padding:38px;display:flex}.tile-content h2{margin-bottom:22px;font-size:29px}.tile-facts{color:#607069;flex-wrap:wrap;gap:22px;margin-bottom:32px;font-size:14px;font-weight:700;display:flex}.tile-facts span{align-items:center;gap:7px;display:flex}.tile-actions{gap:10px;display:flex}.font-large{font-size:1.12rem}.font-xlarge{font-size:1.25rem}.game-page{background:#eef1ee;min-height:100vh}.game-header{background:#fff;border-bottom:1px solid #d3dad5;grid-template-columns:170px minmax(240px,1fr) auto;align-items:center;gap:20px;min-height:88px;padding:12px 24px;display:grid}.game-header>.secondary{justify-self:start}.game-title{text-align:center}.game-title h1{margin:0;font-size:25px}.game-stats{gap:8px;display:flex}.game-stats span{color:#6b7772;text-align:center;border-left:1px solid #dfe4e1;min-width:94px;padding:9px 12px;font-size:11px}.game-stats strong{color:#283630;font-size:17px;display:block}.game-stats .urgent strong{color:#b12f2c}.planning-workspace{background:#d5dcd7;grid-template-columns:300px 470px minmax(480px,1fr);gap:1px;min-height:calc(100vh - 88px);padding:0;display:grid}.task-pool,.day-planner,.rules-panel{background:#f8faf8;min-width:0;padding:22px}.day-planner{background:#fff}.panel-title{justify-content:space-between;align-items:start;gap:12px;min-height:54px;display:flex}.panel-title h2{margin:0;font-size:20px}.panel-title>span{color:#52615b;background:#e3e9e5;border-radius:15px;place-items:center;min-width:30px;height:30px;padding:0 8px;font-size:12px;font-weight:800;display:grid}.task-list{gap:8px;display:grid}.task-card{color:#2e3c37;text-align:left;background:#fff;border:1px solid #d3dad5;border-left:4px solid #5d8e7d;border-radius:5px;grid-template-columns:18px 1fr;align-items:center;gap:9px;width:100%;min-height:64px;padding:10px 12px;display:grid}.task-card.fixed{border-left-color:#ca8c33}.task-card.work{border-left-color:#707aa0}.task-card.selected{border-color:#176b55;box-shadow:0 0 0 3px #176b5521}.task-card svg,.slot-content svg{color:#99a49f}.task-card strong,.task-card small,.slot-content strong,.slot-content small{display:block}.task-card small,.slot-content small{color:#69766f;margin-top:3px;font-size:11px;line-height:1.3}.pool-empty{color:#78847f;text-align:center;padding:24px 10px}.hint-button{color:#705b1c;background:#fbf6e7;border:1px solid #d3bd78;width:100%;margin-top:16px}.hint-box{background:#fffaf0;border-left:3px solid #d2a531;margin-top:10px;padding:13px}.hint-box p{color:#665f4d;margin:5px 0 0;font-size:13px;line-height:1.45}.timeline{border-top:1px solid #dce2de}.time-slot{border-bottom:1px solid #dce2de;grid-template-columns:112px minmax(0,1fr);min-height:68px;display:grid}.time-slot time{color:#5d6b65;padding:18px 12px 0 0;font-size:12px;font-weight:800}.slot-content{color:#394841;text-align:left;background:#fafcfb;border:1px dashed #ccd5cf;border-radius:5px;align-items:center;gap:9px;min-width:0;margin:5px 0;padding:7px 11px;display:flex;overflow:hidden}.slot-content.filled{background:#edf6f2;border-style:solid;border-color:#bdd2c9}.time-slot.can-place .slot-content:not(.filled){color:#176b55;background:#f0faf6;border-color:#2a9270}.slot-placeholder{color:#9aa49f;font-size:12px}.rules-panel{background:#f4f1e8}.case-text{color:#3f4c46;max-width:760px;font-size:15px;line-height:1.62}.case-text p{margin-bottom:16px}.case-text ul{gap:10px;margin:0;padding-left:22px;display:grid}.check-feedback{color:#7e302d;background:#f7e4df;margin:15px 0;padding:13px}.check-feedback p{margin:5px 0 0;font-size:12px;line-height:1.4}.check-button{margin-top:16px}.modal-backdrop{z-index:20;background:#15241fa8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.form-dialog,.result-dialog,.patient-history{background:#fff;border-radius:7px;width:min(520px,100%);max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 24px 70px #00000040}.form-dialog{gap:17px;padding:0 24px 24px;display:grid}.form-dialog .section-heading{margin:0 -24px 4px}.result-dialog{text-align:center;padding:34px}.result-symbol{color:#77672f;background:#eee9dc;border-radius:50%;place-items:center;width:68px;height:68px;margin:0 auto 20px;display:grid}.result-symbol.success{color:#176b55;background:#dcefe7}.result-dialog h2{margin-bottom:26px}.result-metrics{border:1px solid #e0e5e2;grid-template-columns:repeat(2,1fr);margin-bottom:24px;display:grid}.result-metrics span{color:#69756f;border-bottom:1px solid #e0e5e2;border-right:1px solid #e0e5e2;padding:15px;font-size:12px}.result-metrics span:nth-child(2n){border-right:0}.result-metrics span:nth-child(n+3){border-bottom:0}.result-metrics strong{color:#283630;margin-bottom:3px;font-size:20px;display:block}.patient-history{width:min(680px,100%)}.patient-session-list article{border-bottom:1px solid #e7ebe8;grid-template-columns:44px 1fr 1fr;align-items:center;gap:14px;padding:15px 24px;display:grid}.patient-session-list article:last-child{border:0}.patient-session-list strong,.patient-session-list small{display:block}.patient-session-list small{color:#738079;margin-top:3px}.session-status{color:#826f30;background:#eee9dc;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.session-status.solved{color:#176b55;background:#dcefe7}@media (width<=1250px){.planning-workspace{grid-template-columns:270px 430px minmax(420px,1fr)}.task-pool,.day-planner,.rules-panel{padding:18px}.case-text{font-size:14px}}@media (width<=1120px){.planning-workspace{grid-template-columns:minmax(230px,.75fr) minmax(430px,1.25fr)}.rules-panel{grid-column:1/-1}}@media (width<=850px){.login-page{grid-template-columns:1fr}.login-context{display:none}.login-panel{min-height:100vh}.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:16px;position:static}.sidebar-brand{margin-bottom:16px}.patient-nav{gap:8px;display:flex;overflow-x:auto}.patient-nav button{min-width:210px}.sidebar-actions{grid-template-columns:1fr 1fr;margin-top:14px}.therapist-main{padding:0 20px 38px}.field-grid{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid #e2e7e4}.exercise-tile{grid-template-columns:180px minmax(0,1fr)}.game-header{grid-template-columns:auto 1fr}.game-title{text-align:left}.game-stats{grid-column:1/-1;justify-content:center}.planning-workspace{grid-template-columns:1fr}.rules-panel{grid-column:auto}.task-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.login-panel{padding:32px 22px}.topbar{align-items:flex-start;padding:24px 0}.connection{display:none}.section-heading{flex-direction:column;align-items:flex-start}.heading-actions{flex-wrap:wrap;justify-content:space-between;width:100%}.session-list article{grid-template-columns:1fr 1fr}.patient-header{align-items:flex-start;gap:14px;padding:16px 18px}.patient-header-actions{flex-direction:column-reverse;align-items:flex-end;gap:8px}.exercise-tile{grid-template-columns:1fr}.calendar-visual{grid-template-rows:1fr;grid-template-columns:repeat(7,auto);min-height:130px}.tile-content{padding:28px 22px}.tile-actions{flex-direction:column}.game-header{padding:12px}.game-title h1{font-size:19px}.game-title .eyebrow{display:none}.game-stats span{flex:1;min-width:0;padding:7px}.task-pool,.day-planner,.rules-panel{padding:16px}.task-list{grid-template-columns:1fr}.time-slot{grid-template-columns:92px minmax(0,1fr)}.slot-content small{display:none}.result-dialog{padding:26px 20px}}
