@import url('../vendor/privacy-assets/css/fonts.css');

/* JoHo Studio: warm paper, clear cobalt, a little room for play. Opt-in only. */
:root[data-joho-studio]{--studio-paper:#f7f5ef;--studio-white:#fffefa;--studio-ink:#202c43;--studio-muted:#626b7b;--studio-blue:#3d4ed1;--studio-blue-dark:#2b3baf;--studio-blue-soft:#eeefff;--studio-line:#dedfd9;--studio-mint:#def0e7;--studio-apricot:#ffe6c8;--studio-lilac:#e9e2fa;--studio-rose:#f8e0e6;--studio-shadow:0 6px 24px #24334808;--studio-font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--studio-heading:"Montserrat",var(--studio-font)}
html[data-joho-studio]:not([data-joho-studio="analysis-preserved"]):not([data-joho-studio="tabs"]):not([data-joho-studio="player"]):not([data-joho-studio="live"]) body{--ink:var(--studio-ink);--text:var(--studio-ink);--muted:var(--studio-muted);--line:var(--studio-line);--teal:var(--studio-blue);--teal-dark:var(--studio-blue-dark);--surface:#fffefa;--shadow:var(--studio-shadow);--joho-blue:var(--studio-blue);--joho-navy:var(--studio-ink);--joho-ink:var(--studio-ink);--joho-muted:var(--studio-muted);--joho-paper:var(--studio-paper);--joho-soft:#efefea;--joho-line:var(--studio-line);--joho-font:var(--studio-font);background:var(--studio-paper);color:var(--studio-ink);font-family:var(--studio-font);line-height:1.5}
html[data-joho-studio]:not([data-joho-studio="analysis-preserved"]):not([data-joho-studio="tabs"]):not([data-joho-studio="player"]):not([data-joho-studio="live"]) :is(h1,h2,h3,h4){font-family:var(--studio-heading);letter-spacing:-.035em;line-height:1.25;font-weight:700}
html[data-joho-studio]:not([data-joho-studio="analysis-preserved"]) :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #6575dd!important;outline-offset:3px}
html[data-joho-studio]:not([data-joho-studio="analysis-preserved"]) :is(.button,.primary,.quiet){transition:background-color .16s,border-color .16s,box-shadow .16s}

/* Home: four generous doors, and a small place to make some music. */
html[data-joho-studio="home"] body.school-home{min-height:100dvh;padding:clamp(28px,6vh,72px) 26px;background:radial-gradient(ellipse at 100% 0,#e8e4fa 0,transparent 34%),var(--studio-paper);color:var(--studio-ink)}
html[data-joho-studio="home"] .school-home>main{width:min(1040px,100%);gap:28px;align-items:stretch}
html[data-joho-studio="home"] .school-home-header{position:relative;gap:20px;margin:0 0 8px;padding:12px 0 20px}
html[data-joho-studio="home"] .school-home h1{font-size:clamp(2.7rem,6vw,4.8rem);font-family:var(--studio-heading);font-weight:800;letter-spacing:-.075em;color:var(--studio-ink)}
html[data-joho-studio="home"] .school-home-header p{color:var(--studio-muted);font-size:16px;max-width:420px;line-height:1.6}
html[data-joho-studio="home"] .landing-logo{background:#fff;padding:10px;border:1px solid var(--studio-line);transform:rotate(-5deg);border-radius:24px}
html[data-joho-studio="home"] .landing-logo img{width:66px;height:66px;border-radius:12px;object-fit:contain}
html[data-joho-studio="home"] .school-home .actions{gap:18px}
html[data-joho-studio="home"] .actions a.home-app{--card-accent:var(--studio-blue);--card-soft:var(--studio-blue-soft);display:grid;grid-template-columns:1fr 38px;grid-template-rows:56px auto auto;gap:10px 12px;min-height:218px;padding:28px;border:1px solid var(--studio-line);border-radius:24px;background:var(--studio-white);color:var(--studio-ink);box-shadow:0 4px 0 #dedfd966;text-align:left;transform:none}
html[data-joho-studio="home"] .home-app--info{--card-accent:#7460ad!important;--card-soft:var(--studio-lilac)!important}
html[data-joho-studio="home"] .home-app--analyse{--card-accent:#297967!important;--card-soft:var(--studio-mint)!important}
html[data-joho-studio="home"] .home-app--probomat{--card-accent:#a35e36!important;--card-soft:var(--studio-apricot)!important}
html[data-joho-studio="home"] .home-app--theorie{--card-accent:#a14f70!important;--card-soft:var(--studio-rose)!important}
html[data-joho-studio="home"] .home-app-icon{grid-column:1;display:grid;place-items:center;width:54px;height:54px;border-radius:18px 18px 18px 7px;background:var(--card-soft);color:var(--card-accent);font-size:23px;box-shadow:none}
html[data-joho-studio="home"] body.school-home .actions a.home-app strong{grid-column:1/-1;color:var(--studio-ink);font-family:var(--studio-heading);font-weight:700;font-size:25px;letter-spacing:-.045em;line-height:1.2;text-transform:none}
html[data-joho-studio="home"] .home-app-description{grid-column:1/-1;color:var(--studio-muted);font-size:14px;line-height:1.5}
html[data-joho-studio="home"] .home-app-arrow{grid-column:2;grid-row:1;align-self:start;justify-self:end;display:grid;place-items:center;width:34px;height:34px;background:var(--card-soft);color:var(--card-accent);border-radius:50%;font:22px/1 var(--studio-font)}
html[data-joho-studio="home"] .actions a.home-app{-webkit-tap-highlight-color:transparent}
html[data-joho-studio="home"] body.school-home .actions a.home-app:is(:hover,:focus,:active){background:var(--card-soft);color:var(--studio-ink);border-color:var(--card-accent);box-shadow:0 5px 0 var(--card-soft);filter:none}
html[data-joho-studio="home"] body.school-home .actions a.home-app:is(:hover,:focus,:active) .home-app-description{color:#4e5b71}
html[data-joho-studio="home"] body.school-home .actions a.home-app:focus-visible{outline:2px solid var(--card-accent);outline-offset:3px}
html[data-joho-studio="home"] body.school-home .actions a.home-app:active{transform:translateY(0)}
html[data-joho-studio="home"] .home-tools{border:1px solid #c7ded4;background:#e8f2ec;border-radius:20px;padding:20px 24px;box-shadow:none}
html[data-joho-studio="home"] .home-tools-label span{color:#417563;letter-spacing:.12em;font-size:10px}
html[data-joho-studio="home"] .home-tools-label p{color:#244d42;font-size:17px;font-weight:700}
html[data-joho-studio="home"] .landing-menu__button{background:var(--studio-white);border:1px solid var(--studio-line);border-radius:14px;backdrop-filter:none}
html[data-joho-studio="home"] .landing-menu__button::before{background:var(--studio-ink);box-shadow:0 -7px 0 var(--studio-ink),0 7px 0 var(--studio-ink)}
html[data-joho-studio="home"] .landing-menu__panel{background:#fffefa;border:1px solid var(--studio-line);color:var(--studio-ink);box-shadow:0 12px 40px #23304b1a}
html[data-joho-studio="home"] :is(.landing-menu__heading,.landing-menu__link){color:var(--studio-ink)}

/* Orga: a compact navigation ribbon and calm working surfaces. */
html[data-joho-studio="orga"] body{font-size:14px}
html[data-joho-studio="orga"] body:not(.library-only) .seating-top{background:var(--studio-white);border-bottom:1px solid var(--studio-line);box-shadow:0 4px 20px #222d4605}
.studio-brand{display:flex;align-items:center;flex:none;gap:9px;min-width:124px;color:#253357;text-decoration:none}
.studio-brand img{width:34px;height:34px;object-fit:contain}
.studio-brand strong{display:block;font:800 18px/1.1 var(--studio-heading);letter-spacing:-.05em}
.studio-brand small{display:block;margin-top:3px;color:var(--studio-muted);font:10px/1.2 var(--studio-font)}
html[data-joho-studio="orga"] body:not(.library-only) .workspace-tabs{gap:16px;min-height:76px;padding:13px 24px;flex-wrap:nowrap;justify-content:space-between}
html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab-primary{display:flex;flex:1;min-width:0;gap:4px;overflow-x:auto;scrollbar-width:none;align-items:center}
html[data-joho-studio="orga"] .workspace-tab-primary::-webkit-scrollbar{display:none}
html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab{color:#5d667a;border:1px solid transparent;border-radius:12px;flex:none;font-size:13px;min-height:43px;padding:9px 11px;white-space:nowrap}
html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab:is(.is-active,[aria-selected=true]){background:var(--studio-blue);color:white;border-color:var(--studio-blue);box-shadow:0 3px 9px #3d4ed124}
html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab:hover{background:#eeeff8;color:#2f3c66}
html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab.is-active:hover{background:var(--studio-blue-dark);color:white}
html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab-links{flex:none;gap:2px}
html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab-links>.workspace-tab{font-size:11px;min-height:36px;padding:7px}
html[data-joho-studio="orga"] body:not(.library-only) .mobile-nav-menu>summary{color:#3e4c6b;background:#efefe9;border:1px solid var(--studio-line);border-radius:11px}
html[data-joho-studio="orga"] body:not(.library-only) .mobile-nav-menu-panel{background:var(--studio-white);border-radius:18px;border-color:var(--studio-line);box-shadow:0 16px 50px #28324a20}
html[data-joho-studio="orga"] body:not(.library-only) :is(.seating-shell,#seatingWorkspace){padding-top:28px}
html[data-joho-studio="orga"] body:not(.library-only) .eyebrow{color:#657397;font-size:10px;letter-spacing:.1em}
html[data-joho-studio="orga"] body:not(.library-only) h1{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800}
html[data-joho-studio="orga"] body:not(.library-only) .button{border-radius:11px;min-height:42px;font-size:13px;font-weight:650}
html[data-joho-studio="orga"] body:not(.library-only) .button-primary{background:var(--studio-blue);border-color:var(--studio-blue);box-shadow:0 2px 0 #293aa41a}
html[data-joho-studio="orga"] body:not(.library-only) .button-quiet{background:#fffefa;border-color:var(--studio-line);color:var(--studio-ink)}
html[data-joho-studio="orga"] body:not(.library-only) :is(.schedule-day,.classroom,.admin-card,.technology-card,.qr-card,.qr-row,.library-classes-card,.library-step-card,.library-book-card,.library-room-panel,.library-student-search,.grade-overview){background:var(--studio-white);border-color:var(--studio-line);border-radius:18px;box-shadow:var(--studio-shadow)}
html[data-joho-studio="orga"] body:not(.library-only) .schedule-day.is-today{border-top:4px solid var(--studio-blue)}
html[data-joho-studio="orga"] body:not(.library-only) .timetable-day-nav{background:var(--studio-paper);gap:7px}
html[data-joho-studio="orga"] body:not(.library-only) .timetable-day-nav button{border-color:var(--studio-line);background:#fffefa;border-radius:12px;min-height:48px}
html[data-joho-studio="orga"] body:not(.library-only) .timetable-day-nav [aria-current=date]{background:var(--studio-blue);color:white;border-color:var(--studio-blue)}
html[data-joho-studio="orga"] .timetable-day-nav [aria-current=date] span{color:#edf0ff}
html[data-joho-studio="orga"] body:not(.library-only) .schedule-event{background:#f6f6f1;border-color:#e4e4de;border-radius:12px;padding-block:15px}
html[data-joho-studio="orga"] body:not(.library-only) .schedule-event.is-current{background:#eeefff;border-color:#a6b0eb;box-shadow:inset 4px 0 var(--studio-blue)}
html[data-joho-studio="orga"] body:not(.library-only) .schedule-event.is-unmapped{background:#fff1dc;border-color:#dfcba9}
html[data-joho-studio="orga"] body:not(.library-only) .schedule-day-heading>span{background:var(--studio-mint);color:#356653;padding:5px 9px;border-radius:7px;font-weight:650}
@media(min-width:1100px){html[data-joho-studio="orga"] body:not(.library-only) .timetable-head{grid-template-columns:minmax(0,1fr) auto auto;gap:10px 22px}html[data-joho-studio="orga"] body:not(.library-only) .timetable-head>.week-switcher{grid-column:3;grid-row:1}html[data-joho-studio="orga"] body:not(.library-only) #toggleTimetableSettings{grid-column:3;grid-row:2}html[data-joho-studio="orga"] .timetable-files-button{grid-column:2;grid-row:1/span 2}}
html[data-joho-studio="orga"] body:not(.library-only) .seating-toolbar{gap:10px;padding-bottom:18px;border-color:var(--studio-line)}
html[data-joho-studio="orga"] #musicboxWorkspace > .orga-view-heading{gap:20px;flex-wrap:wrap}
html[data-joho-studio="orga"] #musicboxWorkspace .mb-hero-controls{color:var(--studio-ink)}
html[data-joho-studio="orga"] #musicboxWorkspace .mb-hero-controls small{color:var(--studio-muted)}
html[data-joho-studio="orga"] #musicboxWorkspace .mb-badge{background:#eeefff;border-color:#c6cae8;color:#344575}
html[data-joho-studio="orga"] body:not(.library-only) .class-control .select2-selection--single{border-color:#c7ccdb;background:#fffefa;border-radius:12px;height:47px}
html[data-joho-studio="orga"] body:not(.library-only) #seatingWorkspace .classroom{padding:20px;background:radial-gradient(#6b748e13 1px,transparent 1px) 0 0/18px 18px,#fffefa}
html[data-joho-studio="orga"] body:not(.library-only) #seatingWorkspace .student-pool{background:#eeeee8;border-color:var(--studio-line);border-radius:16px}
html[data-joho-studio="orga"] body:not(.library-only) #seatingWorkspace .seat-slot .student-card{border-radius:11px;box-shadow:0 2px 5px #26334d0b}
html[data-joho-studio="orga"] body:not(.library-only) #seatingWorkspace .teacher-desk{background:var(--studio-blue);border-radius:8px 8px 18px 18px}
html[data-joho-studio="orga"] .grade-overview-scroll{border-color:var(--studio-line);border-radius:12px}
html[data-joho-studio="orga"] .grade-overview-scroll thead th{background:#eeeffa;color:#2e3d72}
html[data-joho-studio="orga"] .grade-overview-scroll th:first-child{background:var(--studio-white)}
html[data-joho-studio="orga"] .grade-overview-scroll thead th:first-child{background:#eeeffa}
html[data-joho-studio="orga"] .grade-overview-scroll :is(th,td){border-color:#e2e3e9}
html[data-joho-studio="orga"] body:not(.library-only) .organizer-note-commandbar{border:1px solid var(--studio-line);border-radius:16px;background:#fffefa}
html[data-joho-studio="orga"] body:not(.library-only) .organizer-saved-notes:not([data-view=list]) .organizer-saved-note{border-radius:4px 18px 18px 18px;border-top:0;border-color:color-mix(in srgb,var(--postit) 60%,#d9d6c8);background:color-mix(in srgb,var(--postit) 30%,#fffefa);box-shadow:0 4px 0 #dedbc84d}
html[data-joho-studio="orga"] body:not(.library-only) .organizer-note-pin{color:#6e5c87}
html[data-joho-studio="orga"] body:not(.library-only) :is(.technology-hero,.qr-hero){padding:16px 0 24px}
html[data-joho-studio="orga"] .technology-stat-grid{background:var(--studio-line);border-color:var(--studio-line)}
html[data-joho-studio="orga"] .technology-stat-grid>*{background:#eeeffa}
html[data-joho-studio="orga"] body:not(.library-only) .qr-code-card{background:#f6f4fc;border-color:#e2ddeb;border-radius:14px}
html[data-joho-studio="orga"] body:not(.library-only) .qr-set-item{border-radius:12px}
html[data-joho-studio="orga"] body:not(.library-only) .qr-hero h2::after{content:'↗';display:inline-block;color:#8975ad;transform:rotate(-12deg);margin-left:12px;font-weight:500}
html[data-joho-studio="orga"] #musicboxWorkspace{--mb-blue:var(--studio-blue);--mb-line:var(--studio-line)}
html[data-joho-studio="orga"] #musicboxWorkspace .mb-hero{background:#363e80;border-radius:22px;padding:26px 30px}
html[data-joho-studio="orga"] #musicboxWorkspace .mb-card{background:var(--studio-white);border-radius:18px;border-color:var(--studio-line)}
html[data-joho-studio="orga"] #musicboxWorkspace .mb-device-tabs button[aria-selected=true]{background:var(--studio-mint);border-color:#93c8b4;color:#275d4b;box-shadow:inset 0 -2px #417c64}
html[data-joho-studio="orga"] #musicboxWorkspace .mb-pad{border-radius:12px;box-shadow:0 3px 0 #23304e0d}
html[data-joho-studio="orga"] .library-subnav{background:#ebece5;border:0;border-radius:14px;padding:5px}
html[data-joho-studio="orga"] .library-subnav button.is-active{background:#fffefa;color:#273d58;box-shadow:0 2px 8px #2433480a}
html[data-joho-studio="orga"] body.library-only{--teal:#2a7564;--teal-dark:#245e51;background:var(--studio-paper)}
html[data-joho-studio="orga"] body.library-only .seating-top{background:#edf4ef;border-bottom:1px solid #cfdfd5}
html[data-joho-studio="orga"] body.library-only .workspace-tab{color:#386758;border-radius:10px}
html[data-joho-studio="orga"] body.library-only :is(.library-class-hero,.library-book-card,.library-classes-card,.library-step-card,.library-catalog-toolbar,.library-student-search,.library-room-panel){border-radius:18px;border-color:var(--studio-line);box-shadow:var(--studio-shadow);background:#fffefa}

/* Files and lesson folders: a legible library with a little stationery character. */
html[data-joho-studio="files"] body{--accent:var(--studio-blue);--accent-soft:var(--studio-blue-soft);--page:var(--studio-paper);--surface:#fffefa;--text:var(--studio-ink);font-size:14px}
html[data-joho-studio="files"] .sidebar{background:var(--studio-white);border-color:var(--studio-line)}
html[data-joho-studio="files"] .brand{color:var(--studio-ink)}
html[data-joho-studio="files"] .brand-row{padding-bottom:20px;border-bottom:1px solid var(--studio-line)}
html[data-joho-studio="files"] .brand img{background:#eeeffa;border-radius:14px;padding:6px}
html[data-joho-studio="files"] .brand small{color:var(--studio-muted);font-size:11px}
html[data-joho-studio="files"] .sidebar-section-label{color:#737b8d;font-size:10px;letter-spacing:.1em;margin-top:26px}
html[data-joho-studio="files"] .nav-item{min-height:46px;border-radius:12px;color:#5a6578;font-size:13px;padding:11px 13px}
html[data-joho-studio="files"] .nav-item:is(.active,[aria-current=page]){background:var(--studio-blue);color:white;box-shadow:0 3px 10px #3d4ed11a}
html[data-joho-studio="files"] .nav-item.active b{background:#ffffff24;color:white}
html[data-joho-studio="files"] .nav-item:hover{background:#eeeff8;color:#2f3c66}
html[data-joho-studio="files"] .nav-item.active:hover{background:var(--studio-blue-dark);color:white}
html[data-joho-studio="files"] .sidebar-bottom :is(a,button){color:#596986;border-color:var(--studio-line)}
html[data-joho-studio="files"] .sidebar :is(.planning-nav-help,.subject-choice){color:var(--studio-muted)}
html[data-joho-studio="files"] .sidebar :is(.subject-choice select,.grade-button){background:#efefe9;color:#3a4962;border-color:var(--studio-line)}
html[data-joho-studio="files"] .sidebar .grade-button.active{background:var(--studio-blue);color:white;border-color:var(--studio-blue)}
html[data-joho-studio="files"] .mobile-shortcuts button{color:#536079}
html[data-joho-studio="files"] .mobile-shortcuts [aria-current=page]{background:var(--studio-blue);color:white}
html[data-joho-studio="files"] #mobileNavigation{background:#eeeff8;color:#3d4b6a;border-color:#d7daea;border-radius:12px}
html[data-joho-studio="files"] .search input:focus-visible{outline:none!important}
html[data-joho-studio="files"] .search:focus-within{outline:2px solid #6575dd;outline-offset:2px}
html[data-joho-studio="files"] .workspace-topbar{background:var(--studio-paper);border-color:var(--studio-line)}
html[data-joho-studio="files"] :is(.primary,.button.primary){background:var(--studio-blue);border-color:var(--studio-blue);color:white;border-radius:11px}
html[data-joho-studio="files"] :is(.quiet,.button.quiet){background:#eeeee8;border-color:#e0e1d9;color:#34415c;border-radius:11px}
html[data-joho-studio="files"] :is(.collection-card,.plan-block,.stage-wrap,.file-card,.material-card,.collection-cover){border-radius:18px;border-color:var(--studio-line);box-shadow:var(--studio-shadow)}
html[data-joho-studio="files"] .collection-card{background:var(--studio-white);overflow:hidden}
html[data-joho-studio="files"] .collection-card.lesson-card{border-top:5px solid color-mix(in srgb,var(--category-color,#c5d4ef) 70%,#b9bed1)}
html[data-joho-studio="files"] .collection-cover{background:#f1eee5;border:0;border-radius:0;box-shadow:none}
html[data-joho-studio="files"] .material-card .tile-top{background:#f6f4ed}
html[data-joho-studio="files"] .collection-card :is(h2,h3,strong){color:var(--studio-ink)}
html[data-joho-studio="files"] .collection-card .tile-modified{color:#697487;font-size:11px}
html[data-joho-studio="files"] :is(.library-filters,.search-panel,.plan-toolbar,.lesson-preparation){background:#eeeee7;border:1px solid var(--studio-line);border-radius:16px}
html[data-joho-studio="files"] :is(.tag,.area-button){border-radius:8px;color:#536078;background:#e9e9f0}
html[data-joho-studio="files"] :is(.tag.active,.area-button.active){background:var(--studio-blue-soft);color:#2b3e9a;box-shadow:inset 0 0 0 1px #bac1ea}
html[data-joho-studio="files"] :is(.search-field input,#filterTagSearch){background:#fffefa;border-color:#cfd3d8;border-radius:12px;font-size:14px}
html[data-joho-studio="files"] .lesson-material.selected{background:var(--studio-blue-soft);border-color:#9faeea;box-shadow:inset 3px 0 var(--studio-blue)}
html[data-joho-studio="files"] .stage{background:#e9e9e3}
html[data-joho-studio="files"] .stage-toolbar{background:#fffefa;border-radius:17px 17px 0 0}
html[data-joho-studio="files"] .action-menu-panel{border-color:var(--studio-line);border-radius:16px;background:#fffefa;box-shadow:0 16px 42px #26334a22}
html[data-joho-studio="files"] :is(.empty-state,.plan-empty){background:#f1eee5;border:1px dashed #b9b6a7;border-radius:20px;color:#697163}
html[data-joho-studio="files"] .plan-block>header{background:#e9eee9;border-color:var(--studio-line)}
html[data-joho-studio="files"] .session-bar{background:#fffefa;border-color:var(--studio-line)}

/* Administration: the same hierarchy, without painting the analysis panel. */
html[data-joho-studio="admin"] body{--admin-light-blue:var(--studio-blue);--admin-light-blue-strong:var(--studio-blue-dark);--admin-light-panel:#fffefa;--admin-light-panel-soft:#f2f1ea;--admin-light-line:var(--studio-line);--admin-fresh-sky:var(--studio-blue);--surface-muted:#f2f1ea;--text-primary:var(--studio-ink);--admin-fresh-panel:#fffefa}
html[data-joho-studio="admin"] .admin-app-header{background:var(--studio-white);border-bottom:1px solid var(--studio-line);color:var(--studio-ink);box-shadow:0 3px 16px #24334806}
html[data-joho-studio="admin"] .admin-app-header :is(h1,a,.admin-header-eyebrow,.admin-user-name){color:var(--studio-ink)}
html[data-joho-studio="admin"] .admin-app-links a{background:#f0f0ea;border-radius:10px}
html[data-joho-studio="admin"] .admin-sidebar{background:#fffefa;border:1px solid var(--studio-line);border-radius:18px;padding:18px;box-shadow:var(--studio-shadow)}
html[data-joho-studio="admin"] .admin-nav a{border-radius:11px;padding:12px;font-size:13px}
html[data-joho-studio="admin"] .admin-nav a:is(.is-active,[aria-current=true]){background:var(--studio-blue);color:white}
html[data-joho-studio="admin"] .admin-nav a.is-active small{color:#e5e9ff}
html[data-joho-studio="admin"] .admin-nav-search input{border-radius:11px;background:#f6f5ef;border-color:var(--studio-line)}
html[data-joho-studio="admin"] :is(.admin-main>.box,.admin-panel-metrics,.admin-panel-card,.card,.dashboard-card){background:#fffefa;border-color:var(--studio-line);border-radius:18px;box-shadow:var(--studio-shadow)}
html[data-joho-studio="admin"] .admin-main>.box>summary{background:#f2f1ea;border-color:var(--studio-line);padding:20px;font-size:17px;border-radius:17px 17px 0 0}
html[data-joho-studio="admin"] :is(.admin-top-actions,.admin-panel-overview){border-radius:18px;background:#eeeffa;border-color:#dde0ed}
html[data-joho-studio="admin"] :is(input,select,textarea):not([type=checkbox]):not([type=range]):not([type=radio]){border-radius:10px;border-color:#ccd1da;background:#fffefa}
html[data-joho-studio="admin"] :is(button,.choir-action-btn,.btn){border-radius:10px}
html[data-joho-studio="admin"] #fm-breadcrumb a{color:#415b85}

/* EOS: a fresh creative workspace; the actual film and code colours stay intact. */
html[data-joho-studio="eos"] body{--teal:#287d6c;--teal-soft:#e2f2e9;--bg:var(--studio-paper);--violet:#7b63ad;line-height:normal}
html[data-joho-studio="eos"] .app-header{background:var(--studio-white);border-color:var(--studio-line)}
html[data-joho-studio="eos"] .brand-mark{border-radius:16px 16px 16px 5px;background:var(--studio-lilac);color:#7660a2}
html[data-joho-studio="eos"] :is(.rail,.panel-header,.stage-toolbar){background:#fffefa;border-color:var(--studio-line)}
html[data-joho-studio="eos"] .rail-button.active{background:var(--studio-mint);color:#276b58;border-radius:13px}
html[data-joho-studio="eos"] :is(.editor-panel,.stage-panel,.objects-panel){border-radius:16px;border-color:var(--studio-line);box-shadow:var(--studio-shadow)}
html[data-joho-studio="eos"] .runbar{background:#eeeee7;border-color:var(--studio-line);border-radius:14px}
html[data-joho-studio="eos"] :is(.runbar .primary,#run){border-radius:10px;background:#2d7b62;color:white}
html[data-joho-studio="eos"] .modal{background:#fffefa;border-color:var(--studio-line);border-radius:22px;box-shadow:0 25px 80px #25334830}
html[data-joho-studio="eos-admin"] :is(.card,.panel,article,section){border-color:var(--studio-line);border-radius:16px}
@media(max-height:500px){html[data-joho-studio="eos"] .objects-panel{height:70px;max-height:24%}html[data-joho-studio="eos"] .panel-header{padding:6px 10px;min-height:40px}}

/* The student team's portal, accounts and quieter support pages. */
html[data-joho-studio="team"] .topbar{background:var(--studio-white);color:var(--studio-ink);border:1px solid var(--studio-line);border-top:0;border-radius:0 0 20px 20px}
html[data-joho-studio="team"] .intro h1{font-size:clamp(2rem,5vw,3.3rem);letter-spacing:-.05em}
html[data-joho-studio="team"] :is(.overview,.school-calendar,.event-card,.event,.contribution-card,.project-card){background:#fffefa;border-color:var(--studio-line);border-radius:18px;box-shadow:var(--studio-shadow)}
html[data-joho-studio="team"] .toolbar{background:#efefe9;border-radius:15px;border-color:var(--studio-line);padding:16px}
html[data-joho-studio="team"] .button{border-radius:11px;min-height:42px}
html[data-joho-studio="team"] .primary{background:var(--studio-blue);color:white;border-color:var(--studio-blue)}
html[data-joho-studio="team"] .calendar-heading{background:var(--studio-mint);border-radius:16px;padding:18px}
html[data-joho-studio="account"] body{display:block;min-height:100dvh;margin:0;padding:24px;background:radial-gradient(ellipse at 20% 0,#e7e3fa,transparent 45%),var(--studio-paper)}
html[data-joho-studio="account"] :is(main,.wrap>.box){width:min(560px,100%);padding:clamp(24px,6vw,44px);background:#fffefa;border:1px solid var(--studio-line);border-radius:24px;box-shadow:0 12px 48px #2433480c;color:var(--studio-ink)}
html[data-joho-studio="account"] :is(h1,h2,p,label,summary,code){color:var(--studio-ink)}
html[data-joho-studio="account"] :is(.button,button,.actions>a){background:var(--studio-blue);color:white;border:1px solid var(--studio-blue);border-radius:11px;min-height:44px;padding:11px 16px;font-family:var(--studio-font);font-weight:650;box-shadow:none}
html[data-joho-studio="account"] :is(input:not([type=checkbox]),textarea){background:white;color:var(--studio-ink);border:1px solid #c8cfda;border-radius:10px;padding:12px}
html[data-joho-studio="account"] .eyebrow{color:var(--studio-blue);font-size:11px;letter-spacing:.1em}
html[data-joho-studio="account"] .hint{color:var(--studio-muted)}
html[data-joho-studio="account"] .error{background:#fae8e8;border:1px solid #e3bcbc;color:#9c3543;border-radius:12px;padding:13px}
html[data-joho-studio="account"] .actions>a.secondary{background:#eeeee8;color:#49566e;border-color:var(--studio-line)}
html[data-joho-studio="document"] body{padding:clamp(20px,5vw,52px)}
html[data-joho-studio="document"] :is(main,.container,.page){max-width:1120px;margin-inline:auto;border-radius:20px;color:var(--studio-ink)}
html[data-joho-studio="document"] :is(a,h1,h2,h3){color:#2e426e}
html[data-joho-studio="document"] :is(.card,.box,article){background:#fffefa;border:1px solid var(--studio-line);border-radius:17px;padding:22px}
html[data-joho-studio="events"] :is(header,.event-card,.event-row,.calendar-card,.panel){border-color:var(--studio-line);border-radius:18px}

/* A light practice lobby; media transport and the score keep their own contrast. */
html[data-joho-studio="player"] body{background:var(--studio-paper);color:var(--studio-ink);font-family:var(--studio-font)}
html[data-joho-studio="player"] .gradient-area{background:radial-gradient(ellipse at 100% 0,#e8e4fa,transparent 40%),var(--studio-paper)}
html[data-joho-studio="player"] :is(#songTitle,.logo-user-name,.logo-user-firstname,.logo-user-lastname,.feedback-bar a){color:var(--studio-ink);text-shadow:none}
html[data-joho-studio="player"] #songTitle{font-family:var(--studio-heading);font-weight:700;letter-spacing:-.04em}
html[data-joho-studio="player"] .title-song-nav{color:#293b8e;opacity:1}
html[data-joho-studio="player"] .title-song-nav:is(:hover,:focus,:focus-visible,:active){color:#172a73;opacity:1}
html[data-joho-studio="player"] .title-song-nav:focus-visible{outline:2px solid #3d4ed1;outline-offset:3px;border-radius:8px}
html[data-joho-studio="player"] .control-help-button{background:#eeefff;color:#293b8e;border:1px solid #adb6db;box-shadow:0 2px 5px #24334814}
html[data-joho-studio="player"] .control-help-button .control-help-icon{color:#293b8e;border-color:#293b8e;opacity:1}
html[data-joho-studio="player"] .control-help-button:is(:hover,:focus-visible,.has-visible-tooltips){background:#dce4ff;color:#172a73;border-color:#7e91d1}
html[data-joho-studio="player"] .control-help-button:is(:hover,:focus-visible,.has-visible-tooltips) .control-help-icon{color:#172a73;border-color:#172a73}
html[data-joho-studio="player"] :is(#songSelectContainer,#playlistSelectContainer,.controls-container){border-radius:16px;background:var(--studio-white);border-color:var(--studio-line)}
html[data-joho-studio="player"] :is(#songSelect,#playlistSelect){border-radius:11px;background:var(--studio-white);color:var(--studio-ink);border-color:#c9cfdf;box-shadow:0 3px 0 #dedfd966}
html[data-joho-studio="player"] :is(.playlist-container,.song-container) .select2-container--default .select2-selection--single{background:var(--studio-white);border:1px solid #c9cfdf;border-radius:12px;box-shadow:0 4px 0 #dedfd955}
html[data-joho-studio="player"] :is(.playlist-container,.song-container) .select2-selection__rendered{color:var(--studio-ink)}
html[data-joho-studio="player"] :is(.playlist-container,.song-container) .select2-dropdown{background:var(--studio-white);color:var(--studio-ink);border-color:#c9cfdf;box-shadow:0 12px 32px #24334820}
html[data-joho-studio="player"] :is(.playlist-container,.song-container) .select2-search__field{background:white;color:var(--studio-ink);border-bottom-color:#b7bfd7}
html[data-joho-studio="player"] :is(.playlist-container,.song-container) .select2-results__option{box-sizing:border-box;background:transparent;color:var(--studio-ink)}
html[data-joho-studio="player"] .select2-results__option .song-select-option{align-items:flex-start;white-space:normal}
html[data-joho-studio="player"] .select2-results__option .song-select-option__label{white-space:normal;overflow-wrap:anywhere;line-height:1.45;text-overflow:clip}
html[data-joho-studio="player"] :is(.playlist-container,.song-container) :is(.select2-results__option--highlighted[aria-selected],.select2-results__option[aria-selected=true]){background:var(--studio-blue-soft);color:#263b94;box-shadow:inset 3px 0 var(--studio-blue)}
html[data-joho-studio="player"] :is(.playlist-container,.song-container) .select2-selection__placeholder{color:var(--studio-muted)}
html[data-joho-studio="player"] :is(.playlist-container,.song-container) .select2-selection__arrow b{border-top-color:#536079}
html[data-joho-studio="player"] :is(.playlist-container,.song-container) .select2-container--open .select2-selection__arrow b{border-bottom-color:#536079}
html[data-joho-studio="player"] .song-select-option{color:var(--studio-ink)}
html[data-joho-studio="player"] .song-select-option--practiced{color:#17614a;background:none}
html[data-joho-studio="player"] .song-select-option--missing{color:#983452;background:none}
html[data-joho-studio="player"] .song-select-option__marker{color:#536079;background:#eeeee8;border-color:#cbd0d8;box-shadow:none}
html[data-joho-studio="player"] .song-select-option--practiced .song-select-option__marker{color:#18563f;background:#def0e7;border-color:#a2cbb7;box-shadow:none}
html[data-joho-studio="player"] .song-select-option--missing .song-select-option__marker{color:#8a284a;background:#f8e0e6;border-color:#dcafbe;box-shadow:none}
html[data-joho-studio="player"] .main-content>h1{font-family:var(--studio-heading);color:var(--studio-ink);font-weight:700}
html[data-joho-studio="player"] #videoContainer:not(.fullscreen-active){border-radius:20px;box-shadow:0 10px 30px #0002}
html[data-joho-studio="player"] :is(.option-button,.option-link-button){border-radius:11px}
@media(max-width:700px){html[data-joho-studio="player"] .controls-wrapper{flex-direction:column;gap:12px}html[data-joho-studio="player"] .controls-wrapper :is(.playlist-container,.song-container){flex:0 0 auto;width:100%;max-width:none}html[data-joho-studio="player"] :is(.playlist-container,.song-container) .select2-container--open .select2-dropdown{left:0!important;width:100%!important;max-width:100%}}
html[data-joho-studio="live"] body{font-family:var(--studio-font)}
html[data-joho-studio="live"] :is(.card,.panel,.stage-card,.setlist-card){border-radius:16px}

/* The outer tab ribbon is deliberately untouched whenever analysis is active. */
html[data-joho-studio="tabs"]{--app-tabs-chrome-background:#eae9e1}
html[data-joho-studio="tabs"] body{background:var(--studio-paper);font-family:var(--studio-font)}
html[data-joho-studio="tabs"] .app-tabs-bar{background:#eae9e1;border-bottom:1px solid #d8d9d3;padding-inline:max(10px,env(safe-area-inset-right));gap:7px}
html[data-joho-studio="tabs"] :is(.tabs-home,.tabs-add){color:#4a5570;border-radius:10px}
html[data-joho-studio="tabs"] :is(.tabs-home,.tabs-add):hover{background:#dcded9}
html[data-joho-studio="tabs"] .app-tab{background:#dfe2ed;color:#5d677f;border:1px solid transparent;border-bottom:0;border-radius:12px 12px 0 0}
html[data-joho-studio="tabs"] .app-tab.is-active{background:#fffefa;color:#2c3e9e;border-color:#d0d4de;box-shadow:none}
html[data-joho-studio="tabs"] .app-tab>[role=tab]:focus-visible{outline:2px solid #6575dd!important;outline-offset:-5px}
html[data-joho-studio="tabs"] .app-tab-close:hover{background:#e0e4f2}
html[data-joho-studio="tabs"] :is(.app-tab-panels,.app-tab-panel,.tab-loading){background:var(--studio-paper)}
html[data-joho-studio="tabs"] .app-tab-picker{background:#fffefa;border-radius:20px;border-color:var(--studio-line);box-shadow:0 20px 60px #26334a25}
html[data-joho-studio="tabs"] .tab-destinations button{border-radius:12px;background:#f5f4ee;border-color:var(--studio-line)}
html[data-joho-studio="tabs"] .tab-destinations button:hover{background:var(--studio-blue-soft);border-color:#afb8e7}

@media(min-width:1001px) and (max-width:1430px){html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab-links>.workspace-tab{display:none}html[data-joho-studio="orga"] body:not(.library-only) .workspace-tabs{gap:10px;padding-inline:18px}.studio-brand{min-width:110px}}
@media(max-width:1000px){html[data-joho-studio="orga"] body:not(.library-only) .workspace-tabs{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:10px;padding:11px 16px}.studio-brand{grid-column:1;grid-row:1}.studio-brand small{display:none}html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab-links{grid-column:2;grid-row:1;width:44px;justify-content:flex-end}html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab-links>.workspace-tab{display:none}html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab-primary{grid-column:1/-1;grid-row:2;display:flex;gap:5px;width:100%;min-width:0;overflow-x:auto}html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab{flex-direction:row;min-width:fit-content;font-size:12px;padding:8px 11px;min-height:42px}.studio-brand img{width:28px;height:28px}html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab-primary .desktop-tab-label{display:inline}html[data-joho-studio="orga"] body:not(.library-only) .workspace-tab-primary .mobile-tab-label{display:none}}
@media(max-width:700px){html[data-joho-studio="home"] body.school-home{padding:58px 16px 24px}html[data-joho-studio="home"] .school-home-header{gap:14px}html[data-joho-studio="home"] .school-home h1{font-size:38px}html[data-joho-studio="home"] .school-home-header p{font-size:13px}html[data-joho-studio="home"] .landing-logo{padding:7px;border-radius:17px}html[data-joho-studio="home"] .landing-logo img{width:44px;height:44px}html[data-joho-studio="home"] .school-home .actions{gap:12px}html[data-joho-studio="home"] .actions a.home-app{min-height:180px;padding:18px 16px;border-radius:19px;grid-template-rows:45px auto auto;gap:10px}html[data-joho-studio="home"] .home-app-icon{width:42px;height:42px;border-radius:14px 14px 14px 5px;font-size:19px}html[data-joho-studio="home"] body.school-home .actions a.home-app strong{font-size:18px;overflow-wrap:anywhere}html[data-joho-studio="home"] .home-app-description{font-size:12px}html[data-joho-studio="home"] .home-app-arrow{width:25px;height:25px;font-size:18px}html[data-joho-studio="home"] .home-tools{padding:16px;gap:12px}html[data-joho-studio="orga"] body:not(.library-only) .seating-shell{padding-top:20px}html[data-joho-studio="orga"] .grade-overview{border-radius:15px}html[data-joho-studio="files"] .mobile-shortcuts{background:var(--studio-white);border-color:var(--studio-line)}html[data-joho-studio="files"] .sidebar{background:#fffefa}html[data-joho-studio="files"] main{padding-inline:16px}html[data-joho-studio="files"] .collection-card{border-radius:15px}html[data-joho-studio="admin"] .admin-app-header{padding:14px 16px}html[data-joho-studio="team"] .topbar{border-radius:0;padding:12px 18px}}
@media(prefers-reduced-motion:reduce){html[data-joho-studio]:not([data-joho-studio="analysis-preserved"]) *,html[data-joho-studio]:not([data-joho-studio="analysis-preserved"]) *::before,html[data-joho-studio]:not([data-joho-studio="analysis-preserved"]) *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{html[data-joho-studio]:not([data-joho-studio="analysis-preserved"]) body{background:white!important;box-shadow:none!important}.studio-brand{display:none!important}}
