:root{color-scheme:light;--bg:#f6f7f9;--card:#fff;--text:#202124;--muted:#626976;--border:#e4e6eb;--orange:#c2410c;--soft:#fff0e5;--green:#176c4c;--greenbg:#e9f6ef;--side:#202124}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}body.dark{color-scheme:dark;--bg:#17181b;--card:#232529;--text:#f4f5f7;--muted:#b1b7c2;--border:#3b3e44;--orange:#ff9b59;--soft:#3b2b23;--green:#87d4af;--greenbg:#21382d}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #f97316;outline-offset:3px}aside{width:248px;position:fixed;inset:0 auto 0 0;background:var(--side);color:#eee;display:flex;flex-direction:column;padding:30px 20px}.brand{text-decoration:none;color:white;font-size:30px;font-weight:800;letter-spacing:-1.5px;display:flex;align-items:center;gap:5px}.brand span{color:#ff8b3d}.brand b{font-size:28px;margin-left:auto;color:#ff8b3d}.studio{border-top:1px solid #424449;border-bottom:1px solid #424449;margin:30px 0;padding:22px 0;display:flex;gap:12px;align-items:center}.studio-logo{background:#3c3e43;border-radius:12px;padding:8px 14px;font-size:22px;font-weight:bold}.studio strong{font-size:14px}.studio small,.profile small{display:block;font-size:12px;color:#b9bec7}.nav-label{color:#a0a5af;font-size:12px;letter-spacing:1px;margin:0 8px 14px}nav{display:grid;gap:8px}nav button{border:0;background:none;color:#c1c5ce;padding:13px 14px;text-align:left;border-radius:9px;display:flex;gap:12px;align-items:center;font-size:18px}nav button span{font-size:14px;font-weight:600}nav button.active{background:#f97316;color:#17181b}.side-bottom{margin-top:auto;font-size:14px;color:#b9bec7}.side-bottom strong{color:white}.side-bottom label{display:block;margin:24px 0 8px}.side-bottom select{width:100%;background:#303237;color:white;border:1px solid #50535b;border-radius:8px;padding:9px}.shell{margin-left:248px}header{height:84px;background:var(--card);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 38px;font-size:14px}.breadcrumb,.slash{color:var(--muted)}.slash{margin:0 12px}.profile{display:flex;gap:12px;align-items:center}.avatar{background:var(--soft);color:var(--orange);border-radius:50%;padding:10px;font-weight:700}.profile small{color:var(--muted)}.demo{border:1px solid var(--border);border-radius:6px;padding:4px 8px;color:var(--muted);font-size:12px}main{max-width:1400px;margin:auto;padding:34px 38px}.eyebrow{color:var(--orange);font-size:12px;font-weight:700;letter-spacing:1.5px;margin:0 0 7px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:0 0 9px}h2{font-size:20px;line-height:1.3;margin:0}h3{font-size:18px;margin:0 0 7px}p{margin:0}.muted{color:var(--muted);font-size:14px}.primary,.secondary,.danger{border-radius:8px;padding:10px 16px;font-size:14px;font-weight:650;border:1px solid transparent}.primary{background:#c2410c;color:white}.primary:hover{background:#a93609}.secondary{background:var(--card);color:var(--text);border-color:var(--border)}.danger{background:var(--card);color:#bd332c;border-color:var(--border)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:22px}.stat .label{color:var(--muted);font-size:14px}.stat .value{font-size:30px;font-weight:750;letter-spacing:-1px;margin:8px 0 4px}.value span{font-size:16px;color:var(--muted);font-weight:400}.progress{height:5px;background:var(--border);margin-top:15px;border-radius:5px;overflow:hidden}.progress i{display:block;background:#f97316;height:100%}.next{background:var(--side);color:white;border-radius:14px;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px;position:relative;overflow:hidden}.next:before{content:'';position:absolute;width:5px;background:#f97316;left:0;top:0;bottom:0}.next .eyebrow{color:#ff9b59}.next h2{font-size:25px;margin:8px 0}.next .muted{color:#c2c6ce}.next-date{text-align:right;font-size:28px;font-weight:750}.next-date small{display:block;font-size:14px;color:#c2c6ce;font-weight:400}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 16px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--border);background:var(--card);color:var(--muted);padding:7px 14px;border-radius:20px;font-size:14px}.chip.selected{background:var(--soft);color:var(--orange);border-color:var(--orange)}.weekbar{display:flex;align-items:center;justify-content:space-between;margin:20px 0;gap:12px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:22px}.day{border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:10px;padding:12px;text-align:center;font-size:14px}.day strong{display:block;font-size:22px;color:var(--text)}.day.selected{background:var(--side);border-color:var(--side);color:#ddd}.day.selected strong{color:#ff9b59}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.class-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:14px}.class-card .top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tag{font-size:12px;color:var(--orange);background:var(--soft);padding:4px 9px;border-radius:5px;font-weight:650}.tag.green{color:var(--green);background:var(--greenbg)}.time{font-size:14px;font-weight:650}.info{font-size:14px;color:var(--muted)}.capacity{display:flex;justify-content:space-between;font-size:14px}.class-card button{margin-top:auto;width:100%}.bookings{display:grid;gap:10px}.booking{padding:17px 20px;border:1px solid var(--border);border-radius:10px;background:var(--card);display:flex;justify-content:space-between;align-items:center;gap:16px}.booking strong{font-size:16px}.booking small{display:block;color:var(--muted);font-size:14px;margin-top:3px}.booking .actions{display:flex;gap:8px;align-items:center}.notice{border:1px solid var(--border);padding:16px 20px;border-radius:10px;background:var(--card);font-size:14px;color:var(--muted);margin:20px 0}.empty{padding:30px;border:1px dashed var(--border);border-radius:10px;text-align:center;color:var(--muted)}table{width:100%;border-collapse:collapse;background:var(--card);font-size:14px}th,td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;background:var(--bg)}.table-wrap{border:1px solid var(--border);border-radius:12px;overflow:auto}td strong{display:block}.field{margin:16px 0}.field label{font-size:14px;display:block;font-weight:600;margin-bottom:6px}.field input,.field select{width:100%;border:1px solid var(--border);border-radius:7px;padding:10px;background:var(--card);color:var(--text)}.row{display:flex;gap:15px}.row>*{flex:1}.check{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border);font-size:14px}.check input{width:18px;height:18px;accent-color:#c2410c}footer{padding:20px 38px;font-size:12px;color:var(--muted);display:flex;gap:20px;justify-content:space-between}footer button{font-size:12px;background:none;border:0;color:var(--muted);text-decoration:underline}dialog{width:500px;max-width:calc(100vw - 30px);max-height:90vh;border:1px solid var(--border);padding:26px;border-radius:16px;background:var(--card);color:var(--text)}dialog::backdrop{background:#0008}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.icon{background:none;border:0;font-size:26px;color:var(--muted)}#dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--card);border-radius:9px;padding:14px 20px;box-shadow:0 6px 30px #0003;z-index:10;display:none;font-size:14px;max-width:90vw}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.slot{padding:20px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.slot h3{font-size:23px}.slot button{margin-top:15px;width:100%}@media(max-width:1100px){aside{width:215px;padding:25px 15px}.shell{margin-left:215px}main{padding:28px 22px}.grid{grid-template-columns:repeat(2,1fr)}header{padding:0 22px}.brand{font-size:27px}}@media(max-width:760px){aside{position:relative;width:auto;padding:18px 18px 10px}.brand{font-size:27px}.brand b{margin-left:8px}.studio,.nav-label,.side-bottom p,.side-bottom label{display:none}nav{display:flex;margin-top:16px;gap:6px}nav button{flex:1;padding:10px 8px;justify-content:center}nav button span{font-size:12px}nav button{font-size:0}.side-bottom{position:absolute;right:18px;top:18px}.side-bottom select{width:108px;font-size:12px;padding:6px}.shell{margin-left:0}header{height:66px;padding:0 18px}.breadcrumb,.slash,.demo{display:none}.profile{font-size:12px}.avatar{padding:7px}.profile small{font-size:12px}main{padding:24px 18px}h1{font-size:28px}.page-heading{align-items:flex-start}.page-heading>.primary{padding:9px 12px;white-space:nowrap}.stats{gap:8px;grid-template-columns:1fr 1fr}.stats .stat:last-child{grid-column:span 2}.stat{padding:16px}.stat .value{font-size:26px}.next{padding:22px 18px;align-items:flex-start}.next h2{font-size:22px}.next-date{font-size:22px;white-space:nowrap}.days{gap:5px}.day{padding:8px 3px;font-size:12px}.day strong{font-size:20px}.grid{grid-template-columns:1fr}.weekbar{flex-wrap:wrap}.section-title{align-items:flex-start}.booking{align-items:flex-start;flex-direction:column}.booking .actions{width:100%;justify-content:flex-end}.slots{grid-template-columns:repeat(2,1fr)}footer{padding:20px 18px;flex-direction:column;gap:10px}.row{flex-wrap:wrap}.row>*{min-width:140px}}
/* Navegação e página inicial */
nav a{border:0;background:none;color:#c1c5ce;padding:12px 14px;text-align:left;border-radius:9px;display:flex;gap:12px;align-items:center;font-size:18px;text-decoration:none}nav a span{font-size:14px;font-weight:600}nav a.active{background:#f97316;color:#17181b}.brand:focus-visible{outline-offset:8px}a.primary,a.secondary{text-decoration:none;display:inline-block;text-align:center}.theme-dot{width:36px;height:36px;padding:9px;border:0;background:none;display:grid;place-items:center;border-radius:50%;margin-right:4px}.theme-dot span{width:17px;height:17px;border-radius:50%;background:#202124;border:1px solid #202124;display:block}.dark .theme-dot span{background:#fff;border-color:#fff}.theme-dot:hover{background:var(--bg)}.home-next{border:1px solid var(--border);background:var(--card);border-radius:14px;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin:30px 0 36px}.home-next h2{font-size:25px;margin:10px 0}.home-next .primary{white-space:nowrap}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.portal{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:25px;text-decoration:none;color:var(--text);transition:border-color .18s,transform .18s}.portal:hover{border-color:#f97316;transform:translateY(-2px)}.portal-icon{display:grid;place-items:center;background:var(--soft);color:var(--orange);width:44px;height:44px;font-size:25px;border-radius:10px;margin-bottom:24px}.portal h3{font-size:20px}.portal p{font-size:14px;color:var(--muted);margin:10px 0 24px;min-height:42px}.portal-link{color:var(--orange);font-size:14px;font-weight:600}.explore-link{border-top:1px solid var(--border);margin-top:36px;padding:26px 0;display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--text)}.explore-link>span:first-child{font-size:28px}.explore-link>span:last-child{margin-left:auto}.student-summary{padding:24px 26px;background:var(--card);border:1px solid var(--border);border-radius:12px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:32px}.student-summary h2{margin:8px 0}.search-form{display:flex;gap:12px;max-width:760px;margin:28px 0 32px}.search-form input{flex:1;min-width:0;padding:14px 16px;border:1px solid var(--border);border-radius:9px;font-size:16px;background:var(--card);color:var(--text)}.academy-result{border:1px solid var(--border);border-radius:12px;background:var(--card);padding:24px;display:flex;align-items:center;gap:20px}.academy-result h2{margin:9px 0 5px}.academy-result>a{margin-left:auto;white-space:nowrap}.academy-mark{width:70px;height:70px;border-radius:15px;background:var(--soft);color:var(--orange);display:grid;place-items:center;font-size:32px;font-weight:750}.search-note{margin-top:20px;max-width:690px}.professor-picker{max-width:340px}.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}nav a:hover:not(.active){background:#303237}
@media(max-width:1000px){.portal-grid{grid-template-columns:1fr}.portal{display:grid;grid-template-columns:44px 1fr;column-gap:20px;padding:20px}.portal-icon{grid-row:span 3;margin:0}.portal p{margin:5px 0 10px;min-height:0}.home-next{padding:22px}.student-summary{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){nav{display:grid;grid-template-columns:repeat(3,1fr)}nav a{justify-content:center;padding:9px 5px;gap:0;font-size:0}nav a span{font-size:12px}.brand{margin-bottom:8px}.side-bottom{display:none}.theme-dot{margin:0;width:30px;height:30px;padding:6px}.home-next{flex-direction:column;align-items:flex-start;margin:22px 0 28px}.home-next h2{font-size:22px}.explore-link{flex-wrap:wrap}.explore-link>span:last-child{margin-left:46px;width:100%}.search-form{gap:8px}.search-form .primary{padding:10px}.academy-result{flex-wrap:wrap;padding:20px;gap:15px}.academy-mark{width:48px;height:48px;font-size:25px}.academy-result>div:nth-child(2){flex:1;min-width:160px}.academy-result>a{margin-left:63px}.student-summary{padding:20px}.page-heading>.primary,.page-heading>.secondary{white-space:normal;font-size:14px}.profile{gap:8px}}
.home-search{max-width:none;margin:0 0 30px;position:relative;align-items:center}.home-search input{padding-left:43px}.search-symbol{position:absolute;left:15px;pointer-events:none;font-size:24px;color:var(--muted);line-height:1}.home-search .primary{align-self:stretch}.usual-academy{display:flex;align-items:center;gap:18px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px 24px;text-decoration:none;color:var(--text);max-width:640px;transition:border-color .15s}.usual-academy:hover{border-color:var(--orange)}.usual-academy .academy-mark{width:52px;height:52px;font-size:25px;flex-shrink:0}.usual-info{display:flex;flex-direction:column;gap:4px}.usual-academy>.portal-link{margin-left:auto;white-space:nowrap}.home-balance{margin:-5px 0 18px}.subtle-link{color:var(--orange);font-size:14px;text-decoration:none;font-weight:600}#main section+section{margin-top:32px}.subtle-link:hover{text-decoration:underline}@media(max-width:760px){.usual-academy{padding:17px;gap:12px;flex-wrap:wrap}.usual-info{flex:1;min-width:155px}.usual-academy>.portal-link{margin-left:64px}.home-search{margin-bottom:24px}.home-search input{font-size:14px}.home-search .primary{font-size:14px}.home-balance{font-size:14px}}
.role-switch{display:flex;flex-direction:column;gap:2px}.role-switch select{border:0;background:transparent;color:var(--text);font-size:14px;font-weight:650;padding:4px 22px 4px 0;cursor:pointer;max-width:130px}.role-switch small{color:var(--muted);font-size:12px;max-width:185px}.role-stats{grid-template-columns:repeat(2,1fr)}nav a .nav-icon{font-size:20px;width:22px;text-align:center;flex-shrink:0}nav a{min-height:48px}.profile{gap:10px}@media(max-width:760px){nav{display:flex;flex-wrap:wrap}nav a{flex:1 1 28%;min-height:44px}nav a .nav-icon{display:none}.role-switch small{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-switch select{max-width:110px;font-size:14px}.role-stats{grid-template-columns:1fr 1fr}.role-stats .stat:last-child{grid-column:auto}.profile{gap:6px}}
.initial-load{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-brand-panel{background:#202124;color:white;padding:64px;display:flex;flex-direction:column;justify-content:space-between}.auth-brand-panel .brand{max-width:250px;font-size:36px}.auth-brand-panel h1{font-size:46px;max-width:480px;line-height:1.15;margin:40px 0 18px}.auth-brand-panel p{color:#c2c6ce;max-width:400px;font-size:18px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px 28px;position:relative}.auth-card{width:100%;max-width:430px}.auth-card h1{font-size:30px}.auth-card .primary{width:100%;margin-top:12px;min-height:46px}.auth-options{display:flex;gap:20px;margin:24px 0;border-bottom:1px solid var(--border)}.auth-options button{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);padding:10px 0;font-size:16px}.auth-options button.active{color:var(--orange);border-color:var(--orange)}.auth-links{margin-top:20px;text-align:center}.text-button{background:none;border:0;color:var(--orange);font-size:14px;padding:6px 0;text-decoration:underline}.theme-position{position:absolute;right:25px;top:25px}.error-box{background:var(--soft);color:var(--text);padding:14px 16px;border-radius:8px;border-left:3px solid var(--orange);font-size:14px;margin:16px 0;white-space:pre-line}.portal-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:28px;max-width:850px}.portal-card .field{margin:18px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid .full{grid-column:span 2}.field textarea{font:inherit;min-height:120px;resize:vertical;width:100%;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:12px}.field label{font-size:14px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.establishment-list{display:grid;gap:16px}.establishment-item{padding:22px;border-radius:12px;border:1px solid var(--border);background:var(--card);display:flex;gap:18px;align-items:center}.establishment-item .secondary{margin-left:auto}.establishment-picker{width:100%;font-size:14px;color:#eee;background:#303237;border:1px solid #50535b;border-radius:8px;padding:10px;margin:0 0 20px}.status-inline{font-size:14px;color:var(--muted);margin-bottom:20px}#message{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;background:var(--text);color:var(--card);padding:14px 20px;border-radius:10px;display:none;z-index:100}.intro-small{font-size:12px;color:#b9bec7}.auth-footer{margin-top:26px;font-size:14px;color:var(--muted)}.auth-footer a{color:var(--orange)}.profile-email{font-size:14px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-brand-panel .intro-small{font-size:14px}.portal-title-row{display:flex;gap:16px;align-items:center}.portal-title-row .primary{margin-left:auto}@media(max-width:850px){.auth-layout{grid-template-columns:1fr}.auth-brand-panel{min-height:auto;padding:24px}.auth-brand-panel h1,.auth-brand-panel p,.auth-brand-panel>.intro-small{display:none}.auth-panel{padding:54px 22px;align-items:flex-start}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.portal-card{padding:20px}.profile-email{max-width:130px;font-size:12px}.establishment-item{flex-wrap:wrap}.establishment-item .secondary{margin-left:0}.portal-title-row{flex-wrap:wrap}.portal-title-row .primary{margin-left:0}}
/* Agenda e identidade do estabelecimento */
.academy-mark img,.studio-logo img{width:100%;height:100%;object-fit:contain;border-radius:inherit}
.studio-logo{width:48px;height:48px;flex-shrink:0;padding:8px;display:grid;place-items:center}
.logo-editor{display:flex;gap:24px;margin-bottom:24px;align-items:flex-start}
.logo-editor .academy-mark{width:88px;height:88px;flex-shrink:0}
.logo-preview{width:110px;height:110px;object-fit:contain;margin-top:16px;border:1px solid var(--border);border-radius:12px}
.lesson-list{display:grid;gap:16px;margin:16px 0 32px}
.lesson-card{display:flex;justify-content:space-between;gap:20px;align-items:center}
.lesson-card h2{margin:8px 0}.lesson-card p{margin:6px 0}
.status-cancelled{font-size:14px;color:var(--muted);padding:8px 12px;border:1px solid var(--border);border-radius:8px}
@media(max-width:650px){.lesson-card{display:block}.lesson-card .form-actions{justify-content:flex-start;margin-top:18px}.logo-editor{gap:14px}.logo-editor .academy-mark{width:56px;height:56px}}
/* Área do aluno */
.student-search{display:flex;gap:10px;margin-bottom:30px}.student-search input{flex:1;min-width:0;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);padding:12px 16px;font:inherit}
.habitual-spaces{margin-bottom:32px}.habitual-list{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px}.habitual-space{display:flex;align-items:center;gap:16px;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px;min-width:260px;color:var(--text)}.habitual-space:hover{border-color:var(--orange)}.habitual-space small{display:block;color:var(--orange);margin-top:5px}.habitual-space .academy-mark{flex-shrink:0}
.student-home-section{margin:28px 0}.student-empty{border:1px dashed var(--border);border-radius:12px;padding:30px;min-height:130px;display:flex;flex-direction:column;justify-content:center;gap:8px;background:var(--card);color:var(--muted)}.student-home-section>.bookings{min-height:130px}.student-agenda{margin:22px 0}.loading-status{padding:24px}.student-search+ .error-box{margin-bottom:14px}
@media(max-width:760px){nav{flex-wrap:wrap}nav a{flex:1 1 42%;justify-content:center;padding:9px 8px}nav a span{font-size:12px}.profile{gap:6px}.profile .secondary{padding:8px;font-size:12px}.habitual-space{width:100%;min-width:0}.student-search{gap:8px}.student-search input{padding:10px}.student-empty{padding:22px}}
/* Navegação compacta compartilhada: marca, perfil e atalhos */
.app-shell{margin-left:0;min-height:100dvh;padding-bottom:118px}.app-shell main{max-width:1120px;padding:36px 32px}.app-header{position:sticky;top:0;z-index:20;height:76px;padding:0 max(28px,calc((100vw - 1120px)/2 + 32px));background:var(--card);border-bottom:1px solid var(--border)}.header-brand{color:var(--text);font-size:28px;letter-spacing:-1.3px;gap:0}.header-brand span{color:var(--orange)}.header-controls{display:flex;gap:12px;align-items:center}.round-control{width:42px;height:42px;padding:10px;border:0;border-radius:50%;display:inline-grid;place-items:center;background:transparent;color:var(--text);flex-shrink:0}.round-control:hover{background:var(--bg)}.profile-control{background:var(--soft);color:var(--orange);border:1px solid var(--border);font-size:13px;font-weight:750}.theme-control span{display:flex}.theme-control .theme-sun{display:none}.dark .theme-control .theme-sun{display:flex}.dark .theme-control .theme-moon{display:none}
.compact-navigation{position:fixed;z-index:30;left:50%;transform:translateX(-50%);bottom:22px;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin:0;padding:8px 12px;width:430px;max-width:calc(100vw - 28px);border:1px solid var(--border);border-radius:24px;background:var(--card);box-shadow:0 8px 32px #00000012}.compact-navigation .nav-shortcut{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin:0;padding:8px 4px;border:0;border-radius:14px;font-size:13px;background:none;color:var(--muted);text-align:center;min-width:0}.compact-navigation .nav-shortcut span{font-size:11px;font-weight:550}.compact-navigation .nav-shortcut.is-current{color:var(--orange);background:var(--soft)}.compact-navigation .nav-shortcut:hover{background:var(--bg)}
.navigation-dialog,.profile-dialog{width:390px;max-width:calc(100vw - 32px);padding:24px;border-radius:20px;box-shadow:0 24px 80px #0003}.navigation-dialog .dialog-head,.profile-dialog .dialog-head{margin-bottom:18px}.dialog-head .round-control{width:36px;height:36px}.menu-context{margin-bottom:18px}.drawer-links{display:grid;gap:6px}.drawer-links button,.drawer-links a{display:block;text-align:left;font:inherit;font-size:15px;border:0;text-decoration:none;color:var(--text);background:none;padding:13px 14px;border-radius:10px}.drawer-links button:hover,.drawer-links a:hover{background:var(--bg)}.profile-name{font-size:20px;font-weight:650;margin-bottom:6px}.profile-contact{overflow-wrap:anywhere}.profile-role{font-size:13px;color:var(--orange);margin:18px 0}.profile-actions{display:grid;gap:10px;margin-top:22px}.navigation-dialog .establishment-picker{background:var(--card);color:var(--text);width:100%}.date-with-day small{display:block;margin-top:8px}.form-grid .field>small{display:block;margin-top:8px}
@media(max-width:760px){.app-shell main{padding:26px 18px}.app-header{height:68px;padding:0 18px}.header-brand{font-size:26px}.header-controls{gap:7px}.round-control{width:39px;height:39px}.compact-navigation{bottom:0;left:0;transform:none;width:100%;max-width:none;border-radius:0;border-width:1px 0 0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #00000008}.app-shell{padding-bottom:calc(102px + env(safe-area-inset-bottom))}.compact-navigation .nav-shortcut{font-size:13px;padding:8px 4px}.navigation-dialog,.profile-dialog{padding:22px}.lesson-card .form-actions{flex-wrap:wrap}.page-heading{flex-wrap:wrap}}
