/* Shared palette, applied first to the classes screen only. */
:root{--ln-page:#f5f6f8;--ln-paper:#fff;--ln-ink:#263247;--ln-muted:#717c8c;--ln-line:#e5e9ef;--ln-blue:#193f8d;--ln-blue-soft:#edf2fc;--ln-yellow:#edca50;--ln-radius:14px;--ln-control-radius:8px;--ln-font:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;}
html:has(body.ln-classes-view){color-scheme:light;background:var(--ln-page);}
body.ln-classes-view{color-scheme:light;background:var(--ln-page);color:var(--ln-ink);font-family:var(--ln-font);font-size:14px;-webkit-font-smoothing:antialiased;}
body.ln-classes-view>header{height:auto;min-height:64px;padding:12px max(24px,calc((100vw - 1180px)/2));gap:16px;flex-wrap:wrap;border-color:var(--ln-line);background:var(--ln-paper);box-shadow:none;}
body.ln-classes-view header .brand.brand-wordmark{font-size:25px;letter-spacing:-.9px;color:var(--ln-blue);}
body.ln-classes-view header .brand-wordmark i{width:8px;height:8px;flex-basis:8px;background:var(--ln-yellow);}
body.ln-classes-view>header #role-navigation{gap:4px;flex:0 1 auto;max-width:100%;}
body.ln-classes-view>header #role-navigation>button,body.ln-classes-view>header #nav-profile{height:auto;min-height:36px;margin:0;padding:8px 10px;border:1px solid transparent;border-radius:var(--ln-control-radius);font:500 12px/1.3 var(--ln-font);color:var(--ln-muted);background:transparent;box-shadow:none;overflow-wrap:anywhere;}
body.ln-classes-view>header #role-navigation>button.active-role{background:var(--ln-blue-soft);color:var(--ln-blue);border-color:transparent;}
body.ln-classes-view>header #nav-profile{color:var(--ln-blue);border-color:var(--ln-line);background:white;}
body.ln-classes-view>main{max-width:1128px;padding:24px 32px 48px;min-height:calc(100vh - 65px);}
body.ln-classes-view #teacher-cabinet-menu{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;width:100%;padding:0 0 20px;margin:0 0 32px;border-bottom:1px solid var(--ln-line);overflow:visible;}
body.ln-classes-view #teacher-cabinet-menu>.cabinet-menu-button{display:inline-flex;flex:1 1 0;min-width:0;width:auto;min-height:40px;padding:9px 12px;margin:0;border:1px solid transparent;border-radius:var(--ln-control-radius);background:transparent;font:400 14px/1.35 var(--ln-font);color:var(--ln-muted);box-shadow:none;white-space:normal;transition:background-color .15s,color .15s;}
body.ln-classes-view #teacher-cabinet-menu>.cabinet-menu-button.is-selected{background:var(--ln-blue-soft);color:var(--ln-blue);font-weight:500;}
body.ln-classes-view #teacher-cabinet-menu>.cabinet-menu-button:hover{color:var(--ln-blue);background:#e7edf7;}
body.ln-classes-view #cabinet-classes>.page-title{display:block;margin:0 0 24px;padding:0;}
body.ln-classes-view #cabinet-classes>.page-title>div{width:100%;}
body.ln-classes-view #dashboard .classes-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px;}
body.ln-classes-view #dashboard .classes-heading h1{min-width:0;width:auto;margin:0 auto 0 0;font:600 30px/1.2 var(--ln-font);letter-spacing:-.7px;color:var(--ln-ink);}
body.ln-classes-view #dashboard .classes-heading>button{display:inline-flex;justify-content:center;align-items:center;width:auto;min-height:40px;height:auto;padding:10px 14px;margin:0!important;border-radius:var(--ln-control-radius);font:500 13px/1.3 var(--ln-font);}
body.ln-classes-view #dashboard #teacher-invite-open{color:var(--ln-muted);background:transparent;border:1px solid var(--ln-line);}
body.ln-classes-view #dashboard #create-class-open{color:white;background:var(--ln-blue);border:1px solid var(--ln-blue);}
body.ln-classes-view #dashboard .classes-summary{margin:8px 0 0;color:var(--ln-muted);font:400 12px/1.5 var(--ln-font);}
body.ln-classes-view .class-search-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;}
body.ln-classes-view #class-search{width:290px;max-width:100%;min-width:0;min-height:40px;padding:10px 12px;margin:0;border:1px solid var(--ln-line);border-radius:var(--ln-control-radius);background:var(--ln-paper);color:var(--ln-ink);font:400 14px/1.4 var(--ln-font);}
body.ln-classes-view #class-search::placeholder{color:var(--ln-muted);opacity:1;}
body.ln-classes-view .class-search-tools label{margin:0;min-height:40px;display:flex;align-items:center;gap:8px;color:var(--ln-muted);font:400 12px/1.5 var(--ln-font);}
body.ln-classes-view .class-search-tools input[type=checkbox]{accent-color:var(--ln-blue);}
body.ln-classes-view #rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch;}
body.ln-classes-view #rooms .teacher-class-card{display:flex;flex-direction:column;min-width:0;min-height:0;padding:20px;border:1px solid var(--ln-line);border-radius:var(--ln-radius);background:var(--ln-paper);box-shadow:none;text-align:left;transition:border-color .15s;}
body.ln-classes-view #rooms .teacher-class-card:hover{border-color:#c7d1df;}
body.ln-classes-view #rooms .teacher-class-heading{display:flex;align-items:flex-start;gap:10px;min-width:0;margin:0 0 24px;padding:0;}
body.ln-classes-view #rooms .class-card-person{flex:0 0 34px;width:34px;height:34px;margin:0;border:0;border-radius:50%;object-fit:cover;background:var(--ln-blue-soft);color:var(--ln-blue);font:500 14px/1 var(--ln-font);display:grid;place-items:center;}
body.ln-classes-view #rooms .class-name{display:block;align-self:center;flex:1;min-width:0;width:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left;white-space:normal;overflow-wrap:anywhere;color:var(--ln-ink);font:600 16px/1.45 var(--ln-font);}
body.ln-classes-view #rooms .teacher-class-heading>.row-menu{position:relative;top:auto;right:auto;flex:0 0 28px;margin:-4px -7px 0 0;}
body.ln-classes-view #rooms .row-menu>summary{display:grid;place-items:center;width:32px;height:36px;min-height:36px;padding:0;margin:0;border:0;border-radius:8px;background:transparent;color:var(--ln-muted);font:400 22px/1 var(--ln-font);list-style:none;}
body.ln-classes-view #rooms .row-menu>summary::-webkit-details-marker{display:none;}
body.ln-classes-view #rooms .row-menu>summary:hover,body.ln-classes-view #rooms .row-menu[open]>summary{background:var(--ln-blue-soft);color:var(--ln-blue);}
body.ln-classes-view #rooms .class-students{display:flex;align-items:center;gap:7px;margin:auto 0 0;color:var(--ln-muted);font:400 12px/1.5 var(--ln-font);}
body.ln-classes-view #rooms .class-students::before{content:'';flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#a6afbb;}
body.ln-classes-view #rooms [data-student-attached=true] .class-students::before{background:#7e9e90;}
body.ln-classes-view #rooms .class-students.student-online::before{background:#44856a;}
body.ln-classes-view #rooms .class-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid var(--ln-line);}
body.ln-classes-view #rooms .class-card-meta{font:400 12px/1.5 var(--ln-font);color:var(--ln-muted);}
body.ln-classes-view #rooms .class-open{display:inline-flex;align-items:center;gap:8px;flex:0 1 auto;width:auto;min-width:0;min-height:32px;padding:4px 0;margin:0;border:0;border-radius:4px;background:transparent;color:var(--ln-blue);font:500 13px/1.5 var(--ln-font);box-shadow:none;}
body.ln-classes-view #rooms .class-open:hover{color:#102f72;}
body.ln-classes-view .class-open-arrow{display:inline-flex;flex:0 0 16px;}
body.ln-classes-view #rooms .row-menu-body{right:0;min-width:210px;max-width:calc(100vw - 48px);padding:6px;border:1px solid var(--ln-line);border-radius:10px;background:white;box-shadow:0 8px 24px #26324714;}
body.ln-classes-view #rooms .row-menu-body button{display:block;width:100%;min-height:36px;margin:0;padding:8px 10px;border:0;border-radius:6px;background:transparent;text-align:left;font:400 13px/1.4 var(--ln-font);color:var(--ln-ink);}
body.ln-classes-view #rooms .row-menu-body button:hover{background:#f5f6f8;}
body.ln-classes-view #rooms .row-menu-body button.danger{color:#ab4242;}
body.ln-classes-view #rooms>.empty{grid-column:1/-1;padding:28px;border:1px dashed #d6dde7;border-radius:14px;background:white;color:var(--ln-muted);font:400 14px/1.6 var(--ln-font);}
body.ln-classes-view .create-class-dialog{color-scheme:light;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--ln-line);border-radius:14px;background:white;color:var(--ln-ink);font-family:var(--ln-font);box-shadow:0 16px 60px #26324720;}
body.ln-classes-view .create-class-dialog::backdrop{background:#26324755;}
body.ln-classes-view .create-class-dialog h2{margin:0;font:600 22px/1.3 var(--ln-font);letter-spacing:-.3px;}
body.ln-classes-view .create-class-dialog #create-form{margin:24px 0 12px;gap:20px;}
body.ln-classes-view .create-class-dialog label{font-size:14px;font-weight:400;color:var(--ln-ink);}
body.ln-classes-view .create-class-dialog input:not([type=checkbox]),body.ln-classes-view .create-class-dialog select{width:100%;min-height:44px;margin-top:8px;padding:10px 12px;border:1px solid var(--ln-line);border-radius:8px;background:white;color:var(--ln-ink);font:400 16px/1.4 var(--ln-font);}
body.ln-classes-view .create-class-dialog button{min-height:44px;border-radius:8px;font:500 14px/1.4 var(--ln-font);}
body.ln-classes-view .create-class-dialog button.primary{background:var(--ln-blue);color:white;border:1px solid var(--ln-blue);}
body.ln-classes-view :is(button,a,input,summary,select):focus-visible{outline:2px solid #6888bd;outline-offset:3px;}
body.ln-classes-view button:disabled{opacity:.5;cursor:default;}
@media(max-width:900px){body.ln-classes-view #rooms{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){body.ln-classes-view>header{padding:12px 16px;gap:12px;}body.ln-classes-view>header .brand{order:0;}body.ln-classes-view>header #nav-profile{order:1;margin-left:auto;}body.ln-classes-view>header #role-navigation{order:2;flex-basis:100%;}body.ln-classes-view>main{padding:20px 16px 32px;}body.ln-classes-view #teacher-cabinet-menu{gap:4px;margin-bottom:24px;padding-bottom:16px;}body.ln-classes-view #teacher-cabinet-menu>.cabinet-menu-button{min-height:44px;padding:9px 5px;font-size:13px;}body.ln-classes-view #dashboard .classes-heading{gap:10px;}body.ln-classes-view #dashboard .classes-heading h1{flex-basis:100%;font-size:26px;margin-bottom:6px;}body.ln-classes-view #dashboard .classes-heading>button{min-height:44px;flex:1;font-size:13px;}body.ln-classes-view .class-search-tools{align-items:stretch;flex-direction:column;gap:4px;margin-bottom:16px;}body.ln-classes-view #class-search{width:100%;font-size:16px;min-height:44px;}body.ln-classes-view .class-search-tools label{min-height:44px;}body.ln-classes-view #rooms .teacher-class-heading{margin-bottom:20px;}body.ln-classes-view #rooms .row-menu>summary{width:36px;min-height:44px;}body.ln-classes-view #rooms .class-open{min-height:44px;padding:6px 0;}body.ln-classes-view #rooms .row-menu-body button{min-height:44px;}}
@media(max-width:600px){body.ln-classes-view #rooms{grid-template-columns:1fr;}body.ln-classes-view #rooms .teacher-class-card{padding:20px;}}
@media(prefers-reduced-motion:reduce){body.ln-classes-view *{transition:none!important;scroll-behavior:auto!important;}}
/* Overrides for legacy selectors that used direct dashboard children. */
body.ln-classes-view #cabinet-classes .page-title .eyebrow{display:none;}
body.ln-classes-view #rooms .teacher-class-card .class-open,
body.ln-classes-view #rooms .teacher-class-card[data-class-live=true] .class-open{background:transparent;color:var(--ln-blue);}
body.ln-classes-view>footer{color:var(--ln-muted);font:400 12px/1.5 var(--ln-font);}
body.ln-classes-view>footer>span:last-child{display:none;}
body.ln-classes-view button:not(:disabled):hover{box-shadow:none;}
