@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#171717;background:#f6f6f6;font-synthesis:none;--line:#e6e6e6;--muted:#737373;--black:#151515}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #888;outline-offset:3px}input,textarea,select{min-width:0}svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1.1px;font-weight:650}h2{font-size:20px;font-weight:650;letter-spacing:-.5px}h3{font-size:17px;font-weight:650}.boot{padding:20vh 10vw;font-size:44px;font-weight:900}.boot span{display:block;font-size:16px;letter-spacing:7px}.sidebar{width:230px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:35px 20px 20px;z-index:30}.brand{display:flex;align-items:center;gap:11px}.brand-mark{background:#161616;color:#fff;height:40px;width:40px;display:grid;place-items:center;font-size:28px;font-weight:900;font-style:italic;letter-spacing:-4px;padding-right:4px;transform:skew(-5deg)}.brand strong{font-size:23px;font-weight:800;letter-spacing:-1px;line-height:1}.brand small{display:block;font-size:10px;letter-spacing:4.5px;margin-top:5px}.workspace-label{font-size:12px;color:#8a8a8a;letter-spacing:1.3px;text-transform:uppercase;margin:46px 13px 14px}.nav{display:grid;gap:5px}.nav a{display:flex;gap:13px;align-items:center;padding:12px 14px;border-radius:7px;color:#737373;font-size:14px;font-weight:550}.nav a:hover{background:#f5f5f5;color:#151515}.nav a.active{background:#181818;color:#fff}.nav a.active svg{stroke-width:1.8}.nav .count{margin-left:auto;font-size:12px;background:#ededed;padding:2px 7px;border-radius:5px;color:#333}.nav a.active .count{background:#454545;color:#fff}.side-bottom{margin-top:auto;padding-top:25px}.side-promo{background:#f6f6f6;padding:18px;border-radius:8px;margin-bottom:22px}.side-promo p{font-size:13px;color:#737373;line-height:1.6;margin:8px 0 14px}.side-promo a{font-size:13px;font-weight:650;display:flex;gap:15px;align-items:center}.identity{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;gap:10px}.identity strong{font-size:14px}.identity small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.avatar{height:40px;width:40px;display:grid;place-items:center;border-radius:50%;background:#eaeaea;color:#494949;font-size:13px;font-weight:650;flex-shrink:0}.avatar.large{height:58px;width:58px;font-size:19px}.shell{margin-left:230px}.topbar{height:81px;padding:0 38px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:space-between;gap:12px}.crumb{font-size:14px;color:#888;display:flex;align-items:center;gap:13px}.crumb b{color:#222;font-weight:500}.top-actions{display:flex;align-items:center;gap:17px}.top-date{font-size:13px;color:#777}.iconbtn{border:1px solid var(--line);border-radius:8px;background:white;width:39px;height:39px;display:grid;place-items:center}.iconbtn:hover{background:#f2f2f2}.demo-banner{font-size:12px;background:#ececec;color:#565656;padding:8px 38px;display:flex;justify-content:space-between;gap:10px}.demo-banner a{text-decoration:underline;font-weight:650}.content{max-width:1560px;margin:auto;padding:34px 38px 48px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.eyebrow{font-size:12px;letter-spacing:1.8px;text-transform:uppercase;font-weight:600;color:#838383;margin-bottom:9px}.sub{font-size:14px;color:#777;line-height:1.6;margin-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #161616;background:#161616;color:white;border-radius:6px;padding:11px 17px;font-size:14px;font-weight:550;min-height:43px;white-space:nowrap}.btn:hover{background:#383838}.btn.secondary{background:white;border-color:#dedede;color:#222}.btn.secondary:hover{background:#f3f3f3}.btn.ghost{border-color:transparent;background:transparent;color:#333;padding:8px 3px}.btn.small{font-size:13px;padding:7px 12px;min-height:35px}.btn.light{background:white;color:#161616;border-color:white}.btn.danger{background:#fff;border-color:#999;color:#222}.btn svg{width:17px;height:17px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.stat{border:1px solid var(--line);border-radius:9px;background:#fff;padding:20px 22px}.stat-label{display:flex;justify-content:space-between;align-items:center;color:#777;font-size:13px}.stat-label svg{width:18px;height:18px;color:#777}.stat-value{font-size:31px;letter-spacing:-1.2px;font-weight:650;margin:13px 0 7px}.stat-note{font-size:12px;color:#888}.stat-note b{color:#333;font-weight:500}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:22px}.stack{display:grid;gap:22px;align-content:start}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:24px;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.card-head h2{font-size:17px}.card-head p{font-size:12px;color:#888;margin-top:6px}.text-link{font-size:13px;font-weight:550;display:inline-flex;align-items:center;gap:5px}.text-link svg{width:15px}.dark-card{background:#191919;color:#fff;border:0;position:relative;overflow:hidden;min-height:207px;padding:26px}.dark-card .eyebrow{color:#a7a7a7}.dark-card h2{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;font-size:35px;line-height:1.08;letter-spacing:.2px;max-width:280px}.dark-card p{color:#aaa;font-size:13px;line-height:1.6;max-width:245px;margin:11px 0 20px}.dark-card .btn{font-size:12px;min-height:34px;padding:6px 12px}.dark-card .watermark{position:absolute;right:-6px;bottom:-30px;font-size:185px;line-height:1;font-weight:900;font-style:italic;color:#292929;pointer-events:none;letter-spacing:-25px;transform:skew(-8deg)}.dark-card>*:not(.watermark){position:relative;z-index:1}.badge{font-size:12px;border-radius:5px;padding:5px 8px;background:#f1f1f1;color:#666;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.badge.dark{background:#222;color:#fff}.badge.outline{background:white;border:1px solid #dedede}.date-pill{padding:7px 11px;background:#f5f5f5;border:1px solid #e9e9e9;border-radius:6px;font-size:12px}.agenda-item{display:flex;gap:16px;align-items:center;border-top:1px solid #efefef;padding:16px 0}.agenda-item:first-child{border-top:0;padding-top:0}.agenda-item:last-child{padding-bottom:0}.time{width:47px;flex-shrink:0;font-size:14px;font-weight:650}.time small{display:block;color:#aaa;font-size:11px;font-weight:400;margin-top:5px}.agenda-marker{height:42px;width:3px;border-radius:2px;background:#d5d5d5}.agenda-item:first-child .agenda-marker{background:#222}.agenda-info{flex:1}.agenda-info strong{font-size:14px;font-weight:550}.agenda-info p{font-size:12px;color:#8b8b8b;margin-top:5px}.agenda-item .avatar{height:33px;width:33px;font-size:11px}.chart-legend{display:flex;gap:18px;color:#888;font-size:12px}.legend-square{height:8px;width:8px;background:#161616;display:inline-block;margin-right:5px;border-radius:2px}.legend-square.gray{background:#dedede}.bar-chart{height:172px;display:flex;gap:15px;align-items:stretch;margin-top:28px;padding-left:22px;background:repeating-linear-gradient(to top,transparent 0,transparent 38px,#eee 39px,#eee 40px);border-bottom:1px solid #eee}.bar-group{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:4px;position:relative;padding:0 8px}.bar{width:23px;max-width:42%;background:#e7e7e7;border-radius:4px 4px 0 0;min-height:2px}.bar.actual{background:#1e1e1e}.bar-label{position:absolute;bottom:-26px;font-size:12px;color:#888;white-space:nowrap}.chart-foot{border-top:1px solid #eee;margin-top:47px;padding-top:16px;display:flex;justify-content:space-between;font-size:12px;color:#888}.chart-foot strong{color:#333;font-weight:500}.student-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #eee}.student-row:first-child{border-top:0;padding-top:0}.student-row .info{flex:1}.student-row strong{font-size:14px;font-weight:550}.student-row p{font-size:12px;color:#888;margin-top:5px}.student-row .percent{font-size:13px;font-weight:550}.mini-progress{height:4px;width:60px;background:#e7e7e7;border-radius:3px;margin-top:7px;overflow:hidden}.mini-progress span{height:100%;display:block;background:#343434}.financial-row{display:flex;justify-content:space-between;font-size:14px;padding:13px 0;border-top:1px solid #eee}.financial-row small{color:#888;font-size:12px}.financial-row.total{font-size:17px;font-weight:650}.empty{padding:35px 20px;text-align:center;border:1px dashed #d8d8d8;border-radius:8px;color:#777;line-height:1.7;font-size:14px}.empty svg{display:block;margin:0 auto 13px;width:30px;height:30px;color:#999}.empty .btn{margin-top:15px}.filters{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px;flex-wrap:wrap}.search{display:flex;align-items:center;gap:10px;background:white;border:1px solid #ddd;border-radius:7px;padding:0 13px;min-width:260px}.search input{border:0;background:transparent;padding:12px 0;width:100%;outline:none;font-size:14px}.search svg{color:#888;width:17px}.filter-select{border:1px solid #ddd;background:#fff;border-radius:6px;padding:10px 12px;font-size:14px;max-width:100%}.students-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.student-card{padding:22px;transition:transform .15s,border-color .15s}.student-card:hover{transform:translateY(-2px);border-color:#aaa}.student-card-top{display:flex;align-items:center;gap:13px}.student-card h3{font-size:16px}.student-card .sub{font-size:12px;margin-top:4px}.student-card .tags{margin:18px 0;display:flex;gap:6px;flex-wrap:wrap}.student-card-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee;padding-top:15px;color:#888;font-size:12px}.student-card-foot strong{font-size:13px;color:#444}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{color:#888;font-size:12px;font-weight:500;padding:12px 14px;background:#fafafa;border-bottom:1px solid #e7e7e7;white-space:nowrap}td{padding:16px 14px;border-bottom:1px solid #eee}tr:last-child td{border-bottom:0}.cell-person{display:flex;align-items:center;gap:10px}.cell-person small{display:block;color:#888;font-size:12px;margin-top:4px}.tabs{display:flex;gap:5px;border-bottom:1px solid #ddd;margin:24px 0;overflow-x:auto}.tabs button{background:transparent;border:0;border-bottom:2px solid transparent;padding:12px 15px;font-size:14px;color:#777;white-space:nowrap}.tabs button.active{border-color:#111;color:#111;font-weight:600}.profile-summary{display:flex;gap:20px;align-items:center}.profile-summary .avatar{width:75px;height:75px;font-size:25px}.profile-summary .actions{margin-left:auto}.profile-data{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:18px 0}.profile-data dt{font-size:12px;color:#888;margin-bottom:7px}.profile-data dd{margin:0;font-size:14px;line-height:1.6}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#555}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid #d6d6d6;border-radius:6px;padding:11px 12px;background:#fff;color:#191919;font-size:15px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #bbb;outline-offset:1px}.field textarea{min-height:85px;resize:vertical}.field small{font-size:12px;color:#888;line-height:1.5}.form-section{grid-column:1/-1;border-bottom:1px solid #eee;padding:10px 0;font-size:14px;font-weight:650;color:#222}.check-field{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6}.check-field input{width:18px;height:18px;accent-color:#111;flex-shrink:0}dialog{border:1px solid #ddd;border-radius:12px;width:min(740px,calc(100vw - 32px));padding:0;max-height:90dvh;color:#191919;box-shadow:0 24px 100px #0003}dialog::backdrop{background:#0007;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff;z-index:5}.modal-head h2{font-size:21px}.modal-body{padding:25px 28px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:20px 28px;border-top:1px solid #eee;position:sticky;bottom:0;background:#fff}.error{font-size:14px;color:#222;background:#f3f3f3;border-left:3px solid #111;padding:12px;line-height:1.5;margin:14px 0}.hidden{display:none!important}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#181818;color:white;padding:14px 23px;border-radius:8px;z-index:100;opacity:0;pointer-events:none;font-size:14px;max-width:90%;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.exercise{display:grid;grid-template-columns:35px minmax(0,1fr) auto;gap:15px;padding:19px 0;border-top:1px solid #eee;align-items:center}.exercise-num{font-size:24px;color:#bbb;font-family:'Barlow Condensed',Impact,sans-serif}.exercise strong{font-size:15px}.exercise p{font-size:13px;color:#777;line-height:1.7;margin-top:5px}.exercise-editor{border:1px solid #ddd;border-radius:8px;padding:15px;margin:12px 0;background:#fafafa}.exercise-editor .form-grid{grid-template-columns:repeat(4,1fr);gap:10px}.exercise-editor .span3{grid-column:span 3}.exercise-editor .full{grid-column:1/-1}.messages-layout{display:grid;grid-template-columns:260px 1fr;min-height:550px;padding:0;overflow:hidden}.threads{border-right:1px solid #e5e5e5;padding:15px}.thread{width:100%;display:flex;gap:10px;text-align:left;padding:14px 10px;background:transparent;border:0;border-radius:6px;align-items:center}.thread.active{background:#f0f0f0}.thread strong{font-size:14px}.thread small{display:block;color:#888;font-size:12px;margin-top:5px}.conversation{display:flex;flex-direction:column;min-width:0}.conversation-head{padding:20px;border-bottom:1px solid #eee;font-size:15px;font-weight:600}.bubbles{flex:1;padding:22px;overflow-y:auto;max-height:480px;display:flex;flex-direction:column;gap:15px}.bubble{max-width:85%;align-self:flex-start;background:#f1f1f1;border-radius:0 10px 10px 10px;padding:13px 17px;font-size:14px;line-height:1.6;white-space:pre-wrap}.bubble.mine{align-self:flex-end;background:#222;color:white;border-radius:10px 0 10px 10px}.bubble small{display:block;font-size:11px;opacity:.6;margin-top:6px}.message-form{display:flex;gap:10px;padding:18px;border-top:1px solid #eee}.message-form input{flex:1;min-width:0;border:1px solid #ddd;border-radius:6px;padding:12px;font-size:14px}.line-chart{width:100%;height:190px;stroke-width:2}.line-chart text{stroke:none;fill:#888;font-size:12px}.line-chart .grid{stroke:#eee;stroke-width:1}.trend-values{display:flex;gap:35px;margin-top:15px}.trend-values strong{display:block;font-size:23px}.trend-values span{font-size:12px;color:#888}.notice{padding:15px 18px;border:1px solid #ddd;background:#f0f0f0;border-radius:7px;font-size:13px;color:#555;line-height:1.6;margin-bottom:22px}.schedule-day{margin-bottom:24px}.schedule-day-title{font-size:13px;font-weight:600;margin-bottom:12px;display:flex;gap:10px;align-items:center}.week-nav{display:flex;align-items:center;gap:10px}.public{background:#fff;min-height:100vh}.public-nav{padding:25px 7%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee}.public-links{display:flex;gap:25px;align-items:center;font-size:14px}.public-hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:620px;background:#161616;color:#fff}.public-hero-copy{padding:75px 12% 70px 14%}.public-hero .eyebrow{color:#a7a7a7}.public-hero h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(62px,6.3vw,104px);font-weight:700;line-height:.98;letter-spacing:-1px;margin:22px 0}.public-hero p{font-size:16px;color:#aaa;line-height:1.8;max-width:370px;margin-bottom:30px}.public-hero-photo{min-height:400px;background:#292929;overflow:hidden}.public-hero-photo img{width:100%;height:100%;max-height:700px;object-fit:cover;filter:grayscale(1)}.public-section{padding:70px 7%;max-width:1400px;margin:auto}.public-section h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:43px;text-transform:uppercase}.public-section p{line-height:1.8;color:#777}.public-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:35px}.pillar{border-top:2px solid #222;padding-top:22px}.pillar .number{font-family:'Barlow Condensed',Impact,sans-serif;font-size:35px;color:#aaa;margin-bottom:15px}.pillar h3{font-size:20px;margin-bottom:12px}.public-footer{border-top:1px solid #ddd;padding:28px 7%;display:flex;justify-content:space-between;gap:20px;color:#888;font-size:13px}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-art{background:#141414;color:#fff;padding:70px;display:flex;flex-direction:column;justify-content:space-between}.login-art h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:90px;line-height:1;text-transform:uppercase;max-width:500px}.login-art .brand-mark{background:white;color:#111}.login-art p{color:#aaa;font-size:15px}.login-form{padding:60px;display:flex;flex-direction:column;justify-content:center;max-width:550px;width:100%;margin:auto}.login-form h2{font-size:32px;margin-bottom:12px}.login-form form{margin-top:30px;display:grid;gap:20px}.mobile-toggle{display:none}.muted{color:#888}.nowrap{white-space:nowrap}.mb{margin-bottom:22px}.mt{margin-top:22px}.full-width{width:100%}.audit-note{font-size:12px;color:#999;line-height:1.7;margin-top:20px}.timeline{padding-left:20px;border-left:1px solid #ddd;margin:15px 0}.timeline-item{padding-bottom:25px}.timeline-item:last-child{padding-bottom:0}.timeline-item p{font-size:14px;line-height:1.7;color:#666;margin:8px 0}.timeline-item small{font-size:12px;color:#999}.metric-big{font-size:40px;letter-spacing:-1px}.table-actions{display:flex;gap:8px}.card .list-note{padding:14px 0;border-top:1px solid #eee;font-size:14px;line-height:1.6}.list-note small{display:block;color:#888;font-size:12px;margin-top:7px}.install-btn{font-size:12px}.footer-note{margin-top:30px;font-size:12px;color:#a0a0a0;display:flex;justify-content:space-between}
@media(min-width:1600px){.content{padding-top:42px}.card{padding:27px}.stats{gap:22px}}
@media(max-width:1150px){.sidebar{width:200px;padding:30px 14px}.shell{margin-left:200px}.content{padding:26px}.topbar{padding:0 26px}.demo-banner{padding:8px 26px}.students-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}.stat{padding:16px}.stat-value{font-size:26px}.top-date{display:none}.brand strong{font-size:21px}.public-hero-copy{padding:60px 10%}.public-hero h1{font-size:75px}}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.public-hero{grid-template-columns:1fr 1fr}.public-hero h1{font-size:62px}.public-links>a:not(.btn){display:none}.profile-data{grid-template-columns:repeat(2,1fr)}.login-art{padding:35px}.login-art h1{font-size:68px}.login-form{padding:35px}.profile-summary{flex-wrap:wrap}.profile-summary .actions{margin-left:0}.threads{padding:8px}.messages-layout{grid-template-columns:200px 1fr}}
@media(max-width:650px){h1{font-size:28px}.sidebar{transform:translateX(-100%);transition:transform .2s;width:230px;box-shadow:20px 0 100px #0002}.sidebar.open{transform:translateX(0)}.shell{margin-left:0}.topbar{height:64px;padding:0 18px}.content{padding:24px 17px}.demo-banner{padding:8px 17px;font-size:11px}.demo-banner span{max-width:72%}.mobile-toggle{display:grid}.crumb{font-size:13px}.top-actions{gap:9px}.top-actions .avatar{display:none}.heading{align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:22px}.heading .btn{font-size:13px}.stats{gap:10px}.stat{padding:16px 14px}.stat-value{font-size:27px}.stat-label{font-size:12px}.stat-note{font-size:11px}.stat-label svg{width:16px}.card{padding:20px}.dashboard-grid{gap:17px}.stack{gap:17px}.students-grid{grid-template-columns:1fr}.search{min-width:0;flex:1}.filters .search{flex-basis:100%}.card-head{gap:10px}.card-head h2{font-size:16px}.bar-chart{gap:5px;padding-left:0}.bar-group{padding:0 4px}.profile-data{gap:17px}.form-grid{grid-template-columns:1fr}.field.full,.form-section{grid-column:1}.modal-head{padding:18px}.modal-body{padding:20px 18px}.modal-foot{padding:15px 18px}.exercise-editor .form-grid{grid-template-columns:1fr 1fr}.exercise-editor .span3{grid-column:1/-1}.exercise-editor .full{grid-column:1/-1}.messages-layout{grid-template-columns:1fr}.threads{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid #ddd}.thread{min-width:160px}.thread .avatar{display:none}.bubbles{max-height:400px;min-height:250px}.public-nav{padding:20px}.public-hero{grid-template-columns:1fr}.public-hero-copy{padding:55px 25px}.public-hero h1{font-size:78px}.public-hero-photo{min-height:220px;height:280px}.public-section{padding:45px 24px}.public-pillars{grid-template-columns:1fr}.public-footer{padding:25px;flex-direction:column}.public-links{gap:8px}.public-links .btn{font-size:12px;padding:9px}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-form{padding:35px 25px}.login-form:before{content:'GUEDES PERSONAL';font-size:14px;letter-spacing:3px;margin-bottom:60px;font-weight:700}.exercise{grid-template-columns:25px 1fr}.exercise .actions{grid-column:2}.footer-note{font-size:11px}.schedule-day .agenda-item{flex-wrap:wrap}.agenda-item .actions{margin-left:66px}.topbar .crumb b{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-summary .avatar{width:58px;height:58px;font-size:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.registration-form{max-width:840px;justify-content:flex-start;padding-top:70px;padding-bottom:70px}.registration-form>form{width:100%}.registration-form .form-grid{gap:17px}.registration-page .login-art{position:sticky;top:0;height:100vh}.registration-page .login-art h1{font-size:clamp(54px,6vw,86px)}
@media(max-width:650px){.registration-form{padding-top:35px;padding-bottom:50px}.registration-page .registration-form:before{margin-bottom:35px}.registration-page .login-art{position:static;height:auto}}
.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-summary .avatar img{border-radius:50%}

/* Keep account controls visible; only the navigation list scrolls. */
.sidebar{height:100vh;height:100dvh;overflow:hidden;padding-top:24px;padding-bottom:max(16px,env(safe-area-inset-bottom))}
.sidebar>.brand,.sidebar>.workspace-label{flex-shrink:0}
.sidebar>.workspace-label{margin:24px 10px 14px;font-size:11px;letter-spacing:1px}
.sidebar>.nav{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:3px;margin:-3px;align-content:start}
.sidebar>.nav a{flex-shrink:0;min-height:44px;padding:11px 10px;gap:10px}
.sidebar .side-bottom{flex:0 0 auto;margin-top:0;padding-top:14px}
.sidebar .side-promo{padding:11px 10px;margin-bottom:12px}
.sidebar .side-promo a{font-size:12px;gap:8px}
.sidebar .side-promo a span{flex:1;min-width:0}
.sidebar .side-promo svg{width:16px;height:16px}
.sidebar .identity{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding-top:14px}
.sidebar .identity>.avatar{height:34px;width:34px}
.sidebar .identity>div{min-width:0}
.sidebar .identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar .identity small{font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.sidebar .sidebar-logout{grid-column:1/-1;width:100%;min-height:44px;justify-content:flex-start;padding:10px 12px}
@media(max-height:600px){.sidebar{padding-top:14px}.sidebar>.workspace-label{margin-top:14px;margin-bottom:10px}.sidebar .side-bottom{padding-top:10px}.sidebar .side-promo{display:none}}
@media(max-height:400px){.sidebar>.brand,.sidebar>.workspace-label{display:none}.sidebar .identity{padding-top:8px;gap:6px}.sidebar .side-bottom{padding-top:8px}}

.profile-avatar{display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;flex-shrink:0;cursor:pointer;min-width:40px;min-height:40px}
.profile-avatar:hover{outline:2px solid #bbb;outline-offset:3px}
.sidebar .identity>.profile-avatar{min-width:34px;min-height:34px;width:34px;height:34px}
.sidebar .identity>.profile-avatar .avatar{width:34px;height:34px}
.crop-frame{position:relative;width:min(100%,280px);aspect-ratio:1;margin:24px auto;border-radius:50%;background:#ededed;box-shadow:0 0 0 2px #ccc}
#photo-canvas{display:block;width:100%;height:100%;border-radius:50%;touch-action:none;opacity:0}
#photo-canvas.ready{opacity:1;cursor:grab}
#photo-canvas.ready:active{cursor:grabbing}
.crop-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:64px;color:#666;font-weight:600;pointer-events:none}
.crop-placeholder[hidden]{display:none}
.crop-controls{display:grid;gap:12px}
.crop-controls input[type=range]{width:100%;min-height:32px;padding:0;accent-color:#222}
.crop-error:empty{display:none}
@media(max-width:650px){.top-actions .profile-avatar .avatar{display:grid;width:34px;height:34px}.top-actions .profile-avatar{min-width:34px;min-height:34px}}

/* Fernanda's portrait follows the monochrome identity without altering the source photo. */
.public-hero .fernanda-photo{position:relative;margin:0;min-height:560px;isolation:isolate;background:#292929}
.public-hero .fernanda-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:32% top;filter:grayscale(1)}
.fernanda-photo::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.24) 25%,transparent 48%)}
.fernanda-photo figcaption{position:absolute;bottom:36px;left:36px;right:30px;z-index:2;display:grid;gap:9px;color:#fff}
.portrait-role{font-size:11px;letter-spacing:2.4px;font-weight:600;color:#e2e2e2}
.fernanda-photo figcaption strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(32px,3vw,48px);line-height:1.05;font-weight:600;letter-spacing:.4px}
.portrait-description{font-size:13px;line-height:1.5;color:#ddd;max-width:290px}
@media(max-width:900px) and (min-width:651px){.public-hero .fernanda-photo img{object-position:29% top}.fernanda-photo figcaption{left:24px;right:20px;bottom:28px}}
@media(max-width:650px){.public-hero .fernanda-photo{height:clamp(380px,100vw,520px);min-height:0}.public-hero .fernanda-photo img{object-position:28% top}.fernanda-photo figcaption{left:25px;right:25px;bottom:27px}.fernanda-photo figcaption strong{font-size:38px}}

/* Approved horizontal FG identity, shared by the public site and account area. */
.brand{flex-shrink:0;max-width:100%}
.brand-logo-frame{display:block;position:relative;width:188px;max-width:100%;aspect-ratio:1440/390;overflow:hidden;flex-shrink:0}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.public-nav .brand-logo-frame{width:240px}
.login-art .brand-logo-frame{width:280px}
.login-art .brand-logo{filter:invert(1)}
@media(max-width:600px){.public-nav{gap:12px}.public-nav .brand-logo-frame{width:160px}.public-nav .btn{font-size:12px;padding:10px 12px}}

/* Social profile: monochrome icon and accessible external link. */
.instagram-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;max-width:100%;color:#222;font-size:14px;font-weight:550;border-radius:4px;overflow-wrap:anywhere}
.instagram-link svg{width:22px;height:22px;flex-shrink:0}
.instagram-link:hover span{text-decoration:underline;text-underline-offset:4px}
.instagram-profile{margin-top:18px}
.public-footer .instagram-link{font-size:13px}

.calendar-card{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.calendar-card>div:first-child{min-width:0;flex:1}.calendar-card h2{display:flex;align-items:center;gap:10px;font-size:18px}
.calendar-card>.actions{flex-shrink:0;max-width:260px;justify-content:flex-end}.calendar-callback{overflow-wrap:anywhere}
@media(max-width:800px){.calendar-card{flex-direction:column;gap:16px}.calendar-card>.actions{max-width:100%;justify-content:flex-start}}

/* Keep the introductory line intact, with type sized to its column. */
.public-hero-copy{container-type:inline-size}
.public-hero .public-hero-copy>.eyebrow{font-size:11px;font-size:clamp(10px,3cqw,12px);letter-spacing:.06em;line-height:1.5;max-width:none;white-space:nowrap}

/* Mobile layout fits the viewport without disabling pinch zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.public-hero>*,.public-pillars>*,.two-col>*,.form-grid>*,.stats>*,.stack,.table-wrap{min-width:0}
.table-wrap{max-width:100%}
@media(max-width:650px){
 .public-hero{grid-template-columns:minmax(0,1fr);min-height:0}
 .public-hero h1{font-size:clamp(36px,12vw,64px);font-size:clamp(36px,15cqw,64px);line-height:1.03}
 .public-hero-copy{padding:40px 24px}
 .public-hero .btn{max-width:100%;white-space:normal}
 .public-nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:18px 20px}
 .public-nav .brand{min-width:0;width:100%;max-width:160px}
 .public-nav .brand-logo-frame{width:100%;max-width:160px}
 .public-links{min-width:0;justify-content:flex-end}
 .public-links .btn{max-width:100%;white-space:normal;text-align:center}
 .public-section h2{font-size:clamp(30px,9vw,43px);overflow-wrap:anywhere}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .profile-data{grid-template-columns:repeat(2,minmax(0,1fr))}
 .card-head,.agenda-item,.week-nav,.chart-foot,.footer-note{flex-wrap:wrap}
 .agenda-info,.student-row .info,.profile-data>div,.student-card-top>div{min-width:0;overflow-wrap:anywhere}
 .agenda-item .actions{margin-left:0;flex-basis:100%}
 .week-nav{max-width:100%}
 .week-nav input{flex:1 1 140px;min-width:0;width:140px}
 .btn{max-width:100%;white-space:normal}
 .iconbtn{flex-shrink:0}
 .topbar .crumb{min-width:0;gap:8px}
 .topbar .crumb>span{display:none}
 .topbar .crumb b{min-width:0;max-width:100%}
 .top-actions{flex-shrink:0}
 .top-actions>.btn{font-size:11px;padding:6px;min-height:36px}
 .demo-banner{flex-wrap:wrap}
 .demo-banner span{max-width:100%;flex-basis:100%}
 .message-form{flex-wrap:wrap}
 .message-form input{flex:1 1 160px}
 .bubble,.notice,.audit-note,.financial-row,.list-note{overflow-wrap:anywhere}
 .financial-row{gap:12px;flex-wrap:wrap}
 .trend-values{gap:16px;flex-wrap:wrap}
 .modal-head h2{min-width:0;overflow-wrap:anywhere}
 .modal-foot{flex-wrap:wrap}
 .field input,.field select,.field textarea,.search input,.filter-select,.message-form input{font-size:16px}
}
@media(min-width:651px) and (max-width:900px){
 .public-hero{grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-hero h1{font-size:clamp(36px,6.8vw,62px);font-size:clamp(36px,15cqw,62px)}
}
@media(pointer:coarse){
 .field input,.field select,.field textarea,.search input,.filter-select,.message-form input{font-size:16px}
}
.template-student-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:14px}.template-student-list .check-field{padding:10px;border-radius:6px;background:#fafafa}.template-student-list small{color:var(--muted)}
@media(max-width:650px){.template-student-list{grid-template-columns:1fr}}
.exercise-library-picker{display:flex;align-items:end;gap:12px;margin:14px 0 18px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fafafa}.exercise-library-picker .field{flex:1;margin:0}.exercise-library-picker .filter-select{width:100%;min-height:44px}.exercise-library-picker .btn{flex-shrink:0}
@media(max-width:650px){.exercise-library-picker{align-items:stretch;flex-direction:column}.exercise-library-picker .btn{width:100%}}

/* High-contrast theme selected by each user and saved on the device. */
html[data-theme="dark"]{color-scheme:dark;--line:#343434;--muted:#b8b8b8;--black:#f4f4f4;background:#0f0f0f;color:#f4f4f4}
html[data-theme="dark"] body,html[data-theme="dark"] #app{background:#0f0f0f;color:#f4f4f4}
html[data-theme="dark"] .sidebar,html[data-theme="dark"] .topbar,html[data-theme="dark"] .card,html[data-theme="dark"] .stat,html[data-theme="dark"] dialog,html[data-theme="dark"] .modal-head,html[data-theme="dark"] .modal-foot,html[data-theme="dark"] .public,html[data-theme="dark"] .public-nav,html[data-theme="dark"] .login-page,html[data-theme="dark"] .login-form{background:#181818;color:#f4f4f4;border-color:#343434}
html[data-theme="dark"] .side-promo,html[data-theme="dark"] .exercise-editor,html[data-theme="dark"] .exercise-library-picker,html[data-theme="dark"] .notice,html[data-theme="dark"] .date-pill,html[data-theme="dark"] .badge,html[data-theme="dark"] .demo-banner,html[data-theme="dark"] .thread.active,html[data-theme="dark"] .bubble,html[data-theme="dark"] th{background:#242424;color:#dedede;border-color:#3b3b3b}
html[data-theme="dark"] .public-section[style*="background"]{background:#141414!important}
html[data-theme="dark"] .field input,html[data-theme="dark"] .field select,html[data-theme="dark"] .field textarea,html[data-theme="dark"] .filter-select,html[data-theme="dark"] .search,html[data-theme="dark"] .search input,html[data-theme="dark"] .message-form input{background:#151515;color:#f5f5f5;border-color:#424242}
html[data-theme="dark"] .btn{background:#f1f1f1;color:#111;border-color:#f1f1f1}
html[data-theme="dark"] .btn:hover{background:#fff}
html[data-theme="dark"] .btn.secondary,html[data-theme="dark"] .iconbtn{background:#202020;color:#f2f2f2;border-color:#444}
html[data-theme="dark"] .btn.secondary:hover,html[data-theme="dark"] .iconbtn:hover{background:#303030}
html[data-theme="dark"] .btn.ghost{background:transparent;color:#ededed;border-color:transparent}
html[data-theme="dark"] .nav a{color:#bdbdbd}
html[data-theme="dark"] .nav a:hover{background:#252525;color:#fff}
html[data-theme="dark"] .nav a.active{background:#f2f2f2;color:#111}
html[data-theme="dark"] .nav .count{background:#353535;color:#eee}
html[data-theme="dark"] .nav a.active .count,html[data-theme="dark"] .badge.dark{background:#151515;color:#fff}
html[data-theme="dark"] .badge.outline{background:#181818;border-color:#494949;color:#e6e6e6}
html[data-theme="dark"] .avatar{background:#303030;color:#f1f1f1}
html[data-theme="dark"] .sidebar .brand-logo,html[data-theme="dark"] .public-nav .brand-logo{filter:invert(1)}
html[data-theme="dark"] .crumb,html[data-theme="dark"] .crumb b,html[data-theme="dark"] .top-date,html[data-theme="dark"] .workspace-label,html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .sub,html[data-theme="dark"] .muted,html[data-theme="dark"] .audit-note,html[data-theme="dark"] .footer-note,html[data-theme="dark"] .public-section p,html[data-theme="dark"] .public-footer,html[data-theme="dark"] .stat-label,html[data-theme="dark"] .stat-note,html[data-theme="dark"] .card-head p,html[data-theme="dark"] .student-row p,html[data-theme="dark"] .agenda-info p,html[data-theme="dark"] .exercise p,html[data-theme="dark"] .profile-data dt,html[data-theme="dark"] .field,html[data-theme="dark"] .field small,html[data-theme="dark"] .timeline-item p,html[data-theme="dark"] .timeline-item small{color:#b8b8b8}
html[data-theme="dark"] .identity,html[data-theme="dark"] .student-row,html[data-theme="dark"] .agenda-item,html[data-theme="dark"] .financial-row,html[data-theme="dark"] .student-card-foot,html[data-theme="dark"] .card .list-note,html[data-theme="dark"] .conversation-head,html[data-theme="dark"] .message-form,html[data-theme="dark"] td,html[data-theme="dark"] th,html[data-theme="dark"] .tabs,html[data-theme="dark"] .form-section,html[data-theme="dark"] .modal-head,html[data-theme="dark"] .modal-foot,html[data-theme="dark"] .public-nav,html[data-theme="dark"] .public-footer{border-color:#343434}
html[data-theme="dark"] .bubble.mine{background:#f1f1f1;color:#111}
html[data-theme="dark"] .bar-chart{background:repeating-linear-gradient(to top,transparent 0,transparent 38px,#303030 39px,#303030 40px);border-color:#343434}
html[data-theme="dark"] .bar{background:#464646}html[data-theme="dark"] .bar.actual,html[data-theme="dark"] .legend-square{background:#f2f2f2}html[data-theme="dark"] .legend-square.gray{background:#555}
html[data-theme="dark"] .line-chart .grid{stroke:#363636}html[data-theme="dark"] .line-chart text{fill:#b8b8b8}
html[data-theme="dark"] .mini-progress{background:#3b3b3b}html[data-theme="dark"] .mini-progress span{background:#f1f1f1}
html[data-theme="dark"] .dark-card,html[data-theme="dark"] .public-hero,html[data-theme="dark"] .login-art{background:#080808}
html[data-theme="dark"] .dark-card .watermark{color:#1c1c1c}
html[data-theme="dark"] button:focus-visible,html[data-theme="dark"] a:focus-visible{outline-color:#f1f1f1}
.theme-toggle{position:relative}.theme-toggle svg{width:19px;height:19px}
.stat-link{display:block;position:relative;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.stat-link:hover{transform:translateY(-2px);border-color:#999;box-shadow:0 8px 24px #0000000d}.stat-link:focus-visible{outline:3px solid #777;outline-offset:3px}.stat-shortcut{display:flex;align-items:center;gap:3px;margin-top:10px;color:#333;font-weight:600}.stat-shortcut svg{width:13px;height:13px}.birthday-card{margin-bottom:0}.birthday-row{gap:11px}.birthday-row .info{min-width:0}.birthday-day{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-weight:650;font-size:13px;flex-shrink:0}.birthday-row .btn{flex-shrink:0}
html[data-theme="dark"] .stat-shortcut{color:#f1f1f1}html[data-theme="dark"] .stat-link:hover{border-color:#888;box-shadow:0 8px 28px #0008}
@media(max-width:650px){.birthday-row{align-items:flex-start;flex-wrap:wrap}.birthday-row .info{flex:1}.birthday-row .btn{margin-left:51px}}

dialog[open]{display:flex;flex-direction:column;overflow:hidden}
#modal-form{display:flex;flex-direction:column;width:100%;max-height:90dvh;min-height:0}
.modal-head,.modal-foot{position:static;flex:0 0 auto}
.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}
#exercise-editors .exercise-editor:first-child .conjugated-field{display:none}
.conjugated-field{padding:12px;border-radius:7px;background:#eee}.conjugated-field span{display:grid;gap:3px}.conjugated-field strong{color:#222}.conjugated-badge{margin-left:6px;vertical-align:middle;background:#e8e8e8;color:#333}.exercise-conjugated{border-left:3px solid #222;padding-left:12px}.workout-summary{display:flex;gap:1px;margin-bottom:23px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--line)}.workout-summary>div{display:flex;align-items:center;gap:10px;flex:1;background:#fff;padding:16px 20px}.workout-summary strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:31px;line-height:1}.workout-summary span{font-size:13px;color:#777;line-height:1.4}
html[data-theme="dark"] .conjugated-field,html[data-theme="dark"] .conjugated-badge{background:#303030;color:#eee}html[data-theme="dark"] .conjugated-field strong{color:#f2f2f2}html[data-theme="dark"] .exercise-conjugated{border-left-color:#eee}html[data-theme="dark"] .workout-summary{background:#343434;border-color:#343434}html[data-theme="dark"] .workout-summary>div{background:#181818}html[data-theme="dark"] .workout-summary span{color:#bbb}
@media(max-width:650px){dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}#modal-form{max-height:calc(100dvh - 16px)}.modal-body{padding:20px}.modal-head,.modal-foot{padding:18px 20px}.workout-summary{flex-direction:column}.workout-summary>div{padding:14px 16px}.exercise-conjugated{padding-left:9px}}
/* Each conjugated pair has its own boundary and rest period. */
.conjugated-group{margin:20px 0;border:1px solid var(--line);border-left:3px solid var(--black);border-radius:8px;overflow:hidden}
.conjugated-group-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:13px 16px;background:#f3f3f3;font-size:14px}
.conjugated-group-head span{color:#666}
.conjugated-group .exercise{margin:0 16px;grid-template-columns:40px minmax(0,1fr) auto}
.conjugated-group .exercise-num{color:#666}
.conjugated-group-rest{padding:13px 16px;border-top:1px solid var(--line);font-size:14px;line-height:1.6;background:#f3f3f3}
html[data-theme="dark"] .conjugated-group{border-color:#444;border-left-color:#ddd}
html[data-theme="dark"] .conjugated-group-head,html[data-theme="dark"] .conjugated-group-rest{background:#242424;color:#f4f4f4}
html[data-theme="dark"] .conjugated-group-head span,html[data-theme="dark"] .conjugated-group .exercise-num{color:#bbb}
@media(max-width:650px){.conjugated-group .exercise{grid-template-columns:35px minmax(0,1fr);gap:10px;margin:0 12px}.conjugated-group .exercise>.btn{grid-column:2;justify-self:start}.conjugated-group-head,.conjugated-group-rest{padding:12px}}
.exercise-library-groups{display:grid;gap:14px}.exercise-library-group{border:1px solid var(--line);border-radius:8px;min-width:0}.exercise-library-group summary{padding:16px;cursor:pointer;display:list-item;list-style-position:inside;font-size:16px}.exercise-library-group summary .badge{margin-left:10px}.exercise-library-group summary:focus-visible{outline:2px solid currentColor;outline-offset:2px}.exercise-library-group-body{padding:0 14px 14px}.exercise-library-group[open] summary{border-bottom:1px solid var(--line);margin-bottom:14px}.exercise-library-group .card-head{flex-wrap:wrap}.exercise-library-group h2{overflow-wrap:anywhere}
html[data-theme="dark"] .exercise-library-group,html[data-theme="dark"] .exercise-library-group[open] summary{border-color:#444}
