:root{--color-accent:#3aa1aa;--color-accent-dark:#267b82;--color-accent-soft:#e5f5f6;--color-border:#dce5e6;--color-danger:#c94b4b;--color-ink:#182225;--color-muted:#667477;--color-page:#f6f8f8;--color-surface:#ffffff;--color-warning:#d99a22;--color-yellow:#f4d45c;--border:var(--color-border);--charcoal:var(--color-ink);--muted:var(--color-muted);--surface-soft:var(--color-page);--teal:var(--color-accent);--teal-dark:var(--color-accent-dark);--font-body:"Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Roboto","Helvetica Neue",Arial,sans-serif;--font-heading:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Roboto","Helvetica Neue",Arial,sans-serif}.portfolio-directory,.portfolio-workspace{display:grid;grid-gap:1.25rem;gap:1.25rem}.portfolio-directory-header,.portfolio-entry-actions,.portfolio-hero,.portfolio-hero-actions,.portfolio-identity,.portfolio-language-options{display:flex}.portfolio-directory-header,.portfolio-hero{align-items:flex-start;justify-content:space-between;gap:1rem}.portfolio-guide-intro{line-height:1.55;margin:-.25rem 0 0}.portfolio-guide-section>h4{align-items:center;display:flex;gap:.5rem}.portfolio-guide-section>h4 svg{color:var(--color-accent-dark);flex:0 0 auto}.portfolio-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:.65rem;gap:.65rem;padding:.65rem .8rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface-soft)}.portfolio-search svg{width:1.1rem;color:var(--muted)}.portfolio-search input{min-width:0;border:0;background:transparent;outline:0}.portfolio-student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.portfolio-student-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.75rem;gap:.75rem;align-items:center;min-width:0;padding:1rem;border:1px solid var(--border);border-radius:1.1rem;color:inherit;text-decoration:none;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.portfolio-student-card:hover{border-color:var(--teal);box-shadow:0 12px 30px rgb(58 161 170/12%);transform:translateY(-2px)}.portfolio-profile-placeholder,.portfolio-student-avatar{display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--teal),#287d85);color:#fff;font-weight:700}.portfolio-student-avatar{width:3rem;height:3rem}.portfolio-student-card small,.portfolio-student-card strong,.portfolio-student-counts{display:block;overflow-wrap:anywhere}.portfolio-student-card small,.portfolio-student-counts{color:var(--muted)}.portfolio-student-counts{grid-column:1/-1;padding-top:.65rem;border-top:1px solid var(--border);font-size:.82rem}.portfolio-back-link{display:inline-flex;align-items:center;gap:.4rem;width:-moz-fit-content;width:fit-content;margin-bottom:.85rem;color:var(--teal-dark);font-weight:650;text-decoration:none}.portfolio-back-link svg{width:1rem}.portfolio-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f6fbfb,#fff 68%)}.portfolio-hero:after{content:"";position:absolute;right:-4rem;bottom:-6rem;width:15rem;height:15rem;border-radius:50%;background:rgb(240 201 77/16%);pointer-events:none}.portfolio-identity{align-items:center;gap:1rem;min-width:0}.portfolio-identity h2{margin:.15rem 0 .25rem;font-size:clamp(1.75rem,3vw,2.5rem);overflow-wrap:anywhere}.portfolio-identity p{margin:0;color:var(--muted)}.portfolio-profile-photo,.portfolio-profile-placeholder{flex:0 0 auto;width:6.5rem;height:6.5rem;object-fit:cover;box-shadow:0 0 0 5px #fff,0 10px 30px rgb(24 34 37/12%)}.portfolio-profile-placeholder{font-size:1.65rem}.portfolio-hero-actions{position:relative;z-index:1;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.portfolio-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.portfolio-summary-card{display:grid;grid-template-columns:auto 1fr;grid-gap:.25rem .65rem;gap:.25rem .65rem;align-items:center;padding:1rem}.portfolio-summary-card svg{grid-row:1/3;width:1.7rem;color:var(--teal)}.portfolio-summary-card strong{font-size:1.45rem;line-height:1}.portfolio-summary-card span{color:var(--muted);font-size:.84rem}.portfolio-profile-overview{display:grid;grid-gap:.8rem;gap:.8rem}.portfolio-bio-card{display:grid;grid-gap:.55rem;gap:.55rem;padding:1.1rem 1.2rem;border-left:4px solid var(--teal);background:linear-gradient(135deg,#ffffff,#f5fbfb)}.portfolio-bio-card p{margin:0;color:var(--charcoal);font-size:1rem;line-height:1.75;white-space:pre-wrap}.portfolio-profile-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.portfolio-profile-detail-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;grid-gap:.2rem .7rem;gap:.2rem .7rem;align-items:center;padding:1rem}.portfolio-profile-detail-card svg{grid-row:1/3;width:1.7rem;height:1.7rem;color:var(--teal)}.portfolio-profile-detail-card span{color:var(--muted);font-size:.78rem}.portfolio-profile-detail-card strong{line-height:1.35;overflow-wrap:anywhere}.portfolio-section{min-width:0}.portfolio-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.85rem;gap:.85rem;margin-top:1rem}.portfolio-entry-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:#fff}.portfolio-entry-card h4{margin:.35rem 0;font-size:1.05rem;overflow-wrap:anywhere}.portfolio-entry-card>p{margin:.25rem 0 .65rem;color:var(--muted);line-height:1.5;white-space:pre-wrap}.portfolio-entry-date{color:var(--teal-dark);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.portfolio-entry-preview{position:relative;display:grid;place-items:center;width:calc(100% + 2rem);height:11rem;margin:-1rem -1rem .85rem;overflow:hidden;border:0;background:#eaf3f3;color:var(--teal-dark);cursor:pointer}.portfolio-entry-preview img{width:100%;height:100%;object-fit:cover}.portfolio-entry-preview.youtube>svg{position:absolute;width:3rem;height:3rem;padding:.7rem;border-radius:50%;background:rgb(0 0 0/68%);color:#fff}.portfolio-entry-preview.document{gap:.35rem;font-weight:800;letter-spacing:.08em}.portfolio-entry-preview.document svg{width:2.5rem;height:2.5rem}.portfolio-entry-actions{flex-wrap:wrap;gap:.45rem;margin-top:auto;padding-top:.85rem}.portfolio-performance-list{display:grid;grid-gap:.7rem;gap:.7rem;margin-top:.75rem}.portfolio-performance-list>div{display:grid;grid-gap:.15rem;gap:.15rem;padding:.75rem;border-left:3px solid var(--teal);border-radius:.35rem .75rem .75rem .35rem;background:var(--surface-soft)}.portfolio-performance-list span,.portfolio-performance-list time{color:var(--muted);font-size:.82rem}.portfolio-form .checkbox-row,.portfolio-pdf-toggle{display:flex;align-items:center;gap:.5rem;margin-top:.9rem;font-size:.86rem}.portfolio-load-more{justify-self:center}.portfolio-modal{width:min(34rem,calc(100vw - 2rem));max-height:min(88vh,54rem);overflow-y:auto}.portfolio-modal.wide{width:min(52rem,calc(100vw - 2rem))}.portfolio-modal.viewer{width:min(68rem,calc(100vw - 2rem));height:min(88vh,50rem);grid-template-rows:auto minmax(0,1fr);overflow:hidden}.portfolio-form{display:grid;grid-gap:.9rem;gap:.9rem}.portfolio-form label{display:grid;grid-gap:.4rem;gap:.4rem;min-width:0;color:var(--muted);font-size:.82rem;font-weight:650}.portfolio-form input,.portfolio-form select,.portfolio-form textarea{width:100%;min-width:0}.portfolio-form input:not([type=checkbox]):not([type=file]),.portfolio-form select,.portfolio-form textarea{padding:.78rem .85rem;border:1px solid var(--border);border-radius:.8rem;outline:none;background:#fbfdfd;color:var(--charcoal);box-shadow:0 1px 0 rgb(24 34 37/3%);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.portfolio-form input:not([type=checkbox]):not([type=file]):focus,.portfolio-form select:focus,.portfolio-form textarea:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px rgb(58 161 170/14%)}.portfolio-form textarea{min-height:7rem;resize:vertical}.portfolio-form input[type=file]{padding:.65rem;border:1px dashed #a9cacc;border-radius:.8rem;background:var(--surface-soft);color:var(--muted)}.portfolio-form input[type=file]::-webkit-file-upload-button{margin-right:.75rem;padding:.55rem .75rem;border:0;border-radius:.65rem;background:var(--teal);color:#fff;font-weight:700;cursor:pointer}.portfolio-form input[type=file]::file-selector-button{margin-right:.75rem;padding:.55rem .75rem;border:0;border-radius:.65rem;background:var(--teal);color:#fff;font-weight:700;cursor:pointer}.portfolio-form input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--teal)}.portfolio-viewer{display:flex;align-items:center;justify-content:center;width:100%;min-height:0;height:100%;overflow:auto;padding:.75rem;border-radius:.9rem;background:#101719}.portfolio-viewer img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.portfolio-viewer iframe{width:100%;height:100%;min-height:34rem;border:0;background:#fff}.portfolio-language-options{gap:.65rem;margin:1rem 0}.portfolio-language-options button{flex:1 1;padding:.85rem;border:1px solid var(--border);border-radius:.8rem;background:#fff}.portfolio-language-options button[aria-pressed=true]{border-color:var(--teal);background:var(--surface-soft);color:var(--teal-dark);font-weight:700}.event-programme-section{display:grid;grid-gap:.85rem;gap:.85rem;padding:1rem;border:1px solid var(--color-border);border-radius:1rem;background:#fbfdfd}.event-programme-details h3,.event-programme-header,.event-programme-header h3,.event-programme-row-actions{display:flex;align-items:center}.event-programme-header{justify-content:space-between;gap:1rem}.event-programme-details h3,.event-programme-header h3{gap:.45rem;margin:0}.event-programme-header p{margin:.3rem 0 0}.event-programme-detail-list,.event-programme-rows{display:grid;grid-gap:.55rem;gap:.55rem}.event-programme-detail-list>article,.event-programme-rows>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:.75rem;gap:.75rem;min-width:0;padding:.75rem;border:1px solid var(--color-border);border-radius:.85rem;background:#fff}.event-programme-time{display:grid;justify-items:center;grid-gap:.2rem;gap:.2rem;min-width:3.5rem;color:var(--color-accent-dark);font-size:.78rem;font-weight:700}.event-programme-detail-list article>div,.event-programme-rows article>div:nth-child(2){display:grid;grid-gap:.15rem;gap:.15rem;min-width:0}.event-programme-detail-list small,.event-programme-detail-list span,.event-programme-rows small,.event-programme-rows span{overflow-wrap:anywhere}.event-programme-detail-list small,.event-programme-rows small{color:var(--color-muted)}.event-programme-row-actions{gap:.35rem}.event-programme-row-actions button{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:.65rem;background:#fff;color:var(--color-muted)}.event-programme-row-actions svg{width:1rem}.event-programme-empty{margin:0;color:var(--color-muted)}.event-programme-backdrop{z-index:120}.event-programme-modal{width:min(48rem,calc(100vw - 2rem));max-height:min(90vh,54rem);overflow-y:auto}.event-programme-form{display:grid;grid-gap:.85rem;gap:.85rem}.event-programme-form label{display:grid;grid-gap:.35rem;gap:.35rem;min-width:0}.event-programme-search{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.6rem;gap:.6rem;align-items:end}.event-programme-student-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.45rem;gap:.45rem;max-height:12rem;overflow-y:auto}.event-programme-student-results button{display:grid;grid-gap:.15rem;gap:.15rem;min-width:0;padding:.65rem;border:1px solid var(--color-border);border-radius:.7rem;background:#fff;text-align:left}.event-programme-student-results button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent-soft)}.event-programme-student-results span{color:var(--color-muted);font-size:.78rem}.event-programme-details{display:grid;grid-gap:.75rem;gap:.75rem}.event-programme-detail-list time{color:var(--color-accent-dark);font-weight:750}.event-print-programme ol{display:grid;grid-gap:.45rem;gap:.45rem;margin:0;padding:0;list-style:none}.event-print-programme li{display:grid;grid-template-columns:4.5rem minmax(0,1fr);grid-gap:.7rem;gap:.7rem;padding:.65rem 0;border-bottom:1px solid #dce5e6}.event-print-programme li>span{display:grid;grid-gap:.15rem;gap:.15rem}@media (max-width:680px){.event-programme-header,.event-programme-search{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.event-programme-header>button,.event-programme-search>button{width:100%}.event-programme-student-results{grid-template-columns:1fr}.event-programme-detail-list>article,.event-programme-rows>article{grid-template-columns:auto minmax(0,1fr)}.event-programme-row-actions{grid-column:1/-1;justify-content:flex-end}}@media (max-width:980px){.portfolio-entry-grid,.portfolio-profile-detail-grid,.portfolio-student-grid,.portfolio-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-hero{flex-direction:column}.portfolio-hero-actions{justify-content:flex-start}}@media (max-width:680px){.portfolio-directory-header,.portfolio-identity{grid-template-columns:1fr;flex-direction:column}.portfolio-entry-actions>*,.portfolio-hero-actions,.portfolio-hero-actions>*,.portfolio-search button{width:100%}.portfolio-search{grid-template-columns:auto minmax(0,1fr)}.portfolio-search button{grid-column:1/-1}.portfolio-entry-grid,.portfolio-profile-detail-grid,.portfolio-student-grid{grid-template-columns:1fr}.portfolio-profile-photo,.portfolio-profile-placeholder{width:5.25rem;height:5.25rem}.portfolio-modal,.portfolio-modal.viewer,.portfolio-modal.wide{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.portfolio-modal.viewer{height:calc(100dvh - 1rem)}.portfolio-viewer iframe{min-height:24rem}}.events-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.events-header .card-title{margin-bottom:6px}.events-header p{line-height:1.55;margin:0;max-width:720px}.events-header-actions{align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px;justify-content:flex-end}.events-workspace{display:grid;grid-gap:18px;gap:18px}.events-tabs{border-bottom:1px solid var(--color-border);display:flex;gap:4px;overflow-x:auto}.events-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--color-muted);cursor:pointer;font:inherit;font-weight:700;min-height:44px;padding:9px 15px;white-space:nowrap}.events-tabs button[data-active=true]{border-bottom-color:var(--color-accent);color:var(--color-ink)}.events-filter-bar{align-items:end;background:#fbfdfd;border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(240px,1fr) minmax(200px,.42fr) auto;padding:14px}.events-filter-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.event-category-dropdown{min-width:0;position:relative}.event-category-trigger{align-items:center;background:#ffffff;border:1px solid var(--color-border);border-radius:8px;color:var(--color-ink);display:flex;gap:10px;justify-content:space-between;min-height:44px;padding:10px 12px;text-align:left;width:100%}.event-category-trigger:hover,.event-category-trigger[aria-expanded=true]{border-color:rgba(58,161,170,.65)}.event-category-trigger:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(58,161,170,.16);outline:0}.event-category-trigger>svg{color:var(--color-muted);flex:0 0 auto;transition:transform .15s ease}.event-category-trigger>svg[data-open=true]{transform:rotate(180deg)}.event-category-option,.event-category-value{align-items:center;display:flex;min-width:0}.event-category-value{gap:9px}.event-category-options{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 16px 36px rgba(17,26,29,.16);display:grid;grid-gap:3px;gap:3px;left:0;margin-top:6px;max-height:310px;min-width:230px;overflow-y:auto;padding:6px;position:absolute;right:0;z-index:20}.event-category-option{background:transparent;border:0;border-radius:7px;color:var(--color-ink);gap:9px;min-height:40px;padding:8px 10px;text-align:left;width:100%}.event-category-option:hover,.event-category-option[aria-selected=true]{background:var(--color-accent-soft);color:var(--color-accent-dark)}.event-category-option>span:nth-child(2){flex:1 1 auto}.event-category-check{flex:0 0 auto;opacity:0}.event-category-check[data-visible=true]{opacity:1}.event-category-dot{background:var(--color-accent);border-radius:999px;flex:0 0 auto;height:10px;width:10px}.event-category-dot[data-category=CONCERT]{background:#8a45bd}.event-category-dot[data-category=COMPETITION]{background:#e79728}.event-category-dot[data-category=WORKSHOP]{background:#258f83}.event-category-dot[data-category=REHEARSAL]{background:#3f78b3}.event-category-dot[data-category=MEETING]{background:#667b81}.event-category-dot[data-category=ANNOUNCEMENT]{background:#d45c4d}.event-category-dot[data-category=OTHER]{background:#568c87}.events-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));opacity:1;transition:opacity .16s ease}.events-grid[aria-busy=true]{opacity:.65}.event-card{background:#ffffff;border:1px solid var(--color-border);border-radius:12px;box-shadow:0 9px 24px rgba(17,26,29,.07);display:grid;min-width:0;overflow:hidden}.event-card[data-status=CANCELLED]{background:#f3f5f5;filter:grayscale(.55)}.calendar-event-agenda-item[data-status=CANCELLED] strong,.calendar-event-card[data-status=CANCELLED] strong,.event-card[data-status=CANCELLED] h3{text-decoration:line-through}.event-card-cover{align-items:stretch;background:#d7eded;border:0;cursor:pointer;display:flex;min-height:180px;overflow:hidden;padding:0;position:relative;text-align:left;width:100%}.event-card-cover>img,.event-cover-preview img,.event-details-cover>img{height:100%;object-fit:cover;width:100%}.event-category-placeholder{align-items:center;color:#ffffff;display:flex;flex:1 1;flex-direction:column;font-size:17px;font-weight:800;gap:10px;justify-content:center;padding:24px;text-align:center}.event-category-placeholder svg{height:40px;width:40px}.calendar-event-card[data-category=CONCERT] .calendar-event-card-icon,.event-details-cover[data-category=CONCERT],[data-category=CONCERT] .event-category-placeholder{background:linear-gradient(135deg,#6e3cbc,#d1509d)}.calendar-event-card[data-category=COMPETITION] .calendar-event-card-icon,.event-details-cover[data-category=COMPETITION],[data-category=COMPETITION] .event-category-placeholder{background:linear-gradient(135deg,#e18121,#f2bd3e)}.calendar-event-card[data-category=WORKSHOP] .calendar-event-card-icon,.event-details-cover[data-category=WORKSHOP],[data-category=WORKSHOP] .event-category-placeholder{background:linear-gradient(135deg,#167a78,#4db39a)}.calendar-event-card[data-category=REHEARSAL] .calendar-event-card-icon,.event-details-cover[data-category=REHEARSAL],[data-category=REHEARSAL] .event-category-placeholder{background:linear-gradient(135deg,#305f9c,#5799d6)}.calendar-event-card[data-category=MEETING] .calendar-event-card-icon,.event-details-cover[data-category=MEETING],[data-category=MEETING] .event-category-placeholder{background:linear-gradient(135deg,#50636a,#84989d)}.calendar-event-card[data-category=ANNOUNCEMENT] .calendar-event-card-icon,.event-details-cover[data-category=ANNOUNCEMENT],[data-category=ANNOUNCEMENT] .event-category-placeholder{background:linear-gradient(135deg,#ca4f43,#ed8063)}.calendar-event-card[data-category=OTHER] .calendar-event-card-icon,.event-details-cover[data-category=OTHER],[data-category=OTHER] .event-category-placeholder{background:linear-gradient(135deg,#3c7777,#72aaa2)}.event-card-badges,.event-details-cover-badges{display:flex;flex-wrap:wrap;gap:6px;left:10px;position:absolute;top:10px}.event-important-badge,.event-status-badge,.event-youtube-indicator{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(255,255,255,.9);border-radius:999px;color:#23383b;display:inline-flex;font-size:11px;font-weight:800;gap:4px;padding:5px 8px}.event-important-badge{background:#fff0a6;color:#7c5700}.event-status-badge[data-status=CANCELLED]{background:#e3e8e9;color:#59676a}.event-status-badge[data-status=DRAFT]{background:#e9e5f4;color:#5f4789}.event-youtube-indicator{bottom:10px;color:#b12626;position:absolute;right:10px}.event-card-content{align-content:start;display:grid;grid-gap:13px;gap:13px;padding:16px}.event-card-content h3{font-size:20px;line-height:1.25;margin:3px 0 0;overflow-wrap:anywhere}.event-card-meta{display:grid;grid-gap:7px;gap:7px}.event-card-meta>span{align-items:flex-start;color:var(--color-muted);display:flex;font-size:13px;gap:7px;line-height:1.4;min-width:0;overflow-wrap:anywhere}.event-card-meta svg{flex:0 0 auto;height:15px;margin-top:2px;width:15px}.event-participation-badges{display:flex;flex-wrap:wrap;gap:6px}.event-participation-badges>span{background:#e0f4ef;border:1px solid #b8e0d6;border-radius:999px;color:#216b5a;font-size:11px;font-weight:800;padding:5px 8px}.event-card-actions{align-items:center;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:12px}.event-print-shell{background:#eaf0f0;min-height:100vh;padding:24px}.event-print-toolbar{align-items:center;display:flex;gap:10px;justify-content:space-between;margin:0 auto 18px;max-width:210mm}.event-print-page{background:#ffffff;box-shadow:0 18px 45px rgba(17,26,29,.13);margin:0 auto;min-height:297mm;overflow:hidden;page:event-print;width:min(100%,210mm)}.event-print-cover{align-items:stretch;background:linear-gradient(135deg,#3c7777,#72aaa2);color:#ffffff;display:flex;height:72mm;overflow:hidden;position:relative}.event-print-cover[data-category=CONCERT]{background:linear-gradient(135deg,#6e3cbc,#d1509d)}.event-print-cover[data-category=COMPETITION]{background:linear-gradient(135deg,#e18121,#f2bd3e)}.event-print-cover[data-category=WORKSHOP]{background:linear-gradient(135deg,#167a78,#4db39a)}.event-print-cover[data-category=REHEARSAL]{background:linear-gradient(135deg,#305f9c,#5799d6)}.event-print-cover[data-category=MEETING]{background:linear-gradient(135deg,#50636a,#84989d)}.event-print-cover[data-category=ANNOUNCEMENT]{background:linear-gradient(135deg,#ca4f43,#ed8063)}.event-print-cover>img{height:100%;object-fit:cover;width:100%}.event-print-placeholder{align-items:center;display:flex;flex:1 1;flex-direction:column;font-size:25px;font-weight:850;gap:12px;justify-content:center;padding:24px;text-align:center}.event-print-placeholder>svg{height:52px;width:52px}.event-print-badges{display:flex;flex-wrap:wrap;gap:7px;left:12mm;position:absolute;top:10mm}.event-print-content{display:grid;grid-gap:9mm;gap:9mm;padding:12mm 15mm 17mm}.event-print-heading h1{color:var(--color-ink);font-size:32px;line-height:1.15;margin:4px 0 0;overflow-wrap:anywhere}.event-print-page[data-status=CANCELLED] .event-print-heading h1{text-decoration:line-through}.event-print-facts{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.event-print-fact{background:#f2f7f7;border:1px solid #d8e3e3;border-radius:8px;page-break-inside:avoid;break-inside:avoid;display:grid;grid-gap:4px;gap:4px;min-width:0;padding:11px 12px}.event-print-fact small{color:var(--color-muted);font-size:11px;font-weight:750}.event-print-fact strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.event-print-section{border-top:1px solid #d8e3e3;padding-top:7mm}.event-print-section>h2{font-size:19px;margin:0 0 4mm}.event-print-description .event-rich-text{color:#283739;font-size:14px;line-height:1.6}.event-print-youtube{page-break-inside:avoid;break-inside:avoid}.event-print-youtube a{color:#265e80;overflow-wrap:anywhere}.event-print-empty{color:var(--color-muted);line-height:1.5;margin:0}.event-print-participants{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.event-print-participants>li{align-items:center;border:1px solid #d8e3e3;border-radius:8px;page-break-inside:avoid;break-inside:avoid;display:flex;gap:10px;min-width:0;padding:9px 10px}.event-print-participants>li>span:last-child{display:grid;min-width:0}.event-print-participants small,.event-print-participants strong{overflow-wrap:anywhere}.event-print-participants small{color:var(--color-muted);margin-top:2px}.event-print-avatar{align-items:center;background:#dceeee;border-radius:50%;color:#315f62;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:850;height:34px;justify-content:center;width:34px}@media (max-width:720px){.event-print-shell{padding:12px}.event-print-page{min-height:calc(100vh - 76px)}.event-print-cover{height:52vw;max-height:270px;min-height:190px}.event-print-content{gap:28px;padding:24px 18px 34px}.event-print-badges{left:14px;top:14px}.event-print-heading h1{font-size:27px}.event-print-facts,.event-print-participants{grid-template-columns:1fr}}@page event-print{margin:12mm;size:A4 portrait}@media print{body,html{background:#ffffff}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.event-print-shell{background:#ffffff;min-height:0;padding:0}.event-print-toolbar{display:none}.event-print-page{box-shadow:none;margin:0;min-height:0;overflow:visible;width:auto}.event-print-cover{border-radius:7px;height:65mm}.event-print-content{gap:7mm;padding:9mm 2mm 0}.event-print-facts,.event-print-heading,.event-print-participants>li,.event-print-youtube{page-break-inside:avoid;break-inside:avoid}.event-print-section{padding-top:5mm}.event-print-description a:after,.event-print-youtube a:after{color:#556467;content:" (" attr(href) ")";font-size:10px}.event-print-youtube a:after{content:none}}.events-empty-state{align-items:center;color:var(--color-muted);display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:30px;text-align:center}.events-empty-state>svg{color:var(--color-accent);height:45px;width:45px}.events-empty-state h3{color:var(--color-ink);margin:13px 0 4px}.events-empty-state p{margin:0}.events-pagination{align-items:center;display:flex;gap:12px;justify-content:center}.event-form-modal{max-width:1060px;width:min(100%,1060px)}.event-form{display:grid;grid-gap:20px;gap:20px}.event-location-field,.event-title-field{grid-column:span 2}.event-end-toggle,.event-important-toggle{align-self:end;min-height:44px}.event-form-section{border-top:1px solid var(--color-border);display:grid;grid-gap:14px;gap:14px;padding-top:18px}.event-form-section h3{align-items:center;display:flex;gap:8px;margin:0 0 4px}.event-media-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.event-cover-preview{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.event-cover-preview img,.event-youtube-thumbnail{aspect-ratio:16/9;border:1px solid var(--color-border);border-radius:8px;max-height:230px;object-fit:cover;width:100%}.event-cover-preview img{aspect-ratio:16/9;height:auto;max-height:none;max-width:409px}.event-youtube-thumbnail{margin-top:8px}.event-rich-editor{border:1px solid var(--color-border);border-radius:8px;overflow:visible;position:relative}.event-editor-toolbar{align-items:center;background:#f1f6f6;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:4px;padding:7px;position:relative;z-index:4}.event-editor-button{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--color-ink);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.event-editor-button:hover,.event-editor-button[data-active=true]{background:#ffffff;border-color:#a8d5d7;color:var(--color-accent-dark)}.event-editor-button:disabled{cursor:not-allowed;opacity:.35}.event-editor-button svg{height:17px;width:17px}.event-editor-divider{background:var(--color-border);height:24px;margin:0 3px;width:1px}.event-editor-menu-wrap{position:relative}.event-editor-menu-trigger{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--color-ink);cursor:pointer;display:inline-flex;font:inherit;font-size:12px;font-weight:750;gap:5px;height:34px;padding:0 8px}.event-editor-menu-trigger:hover,.event-editor-menu-trigger[aria-expanded=true]{background:#ffffff;border-color:#a8d5d7;color:var(--color-accent-dark)}.event-editor-menu-trigger svg{height:15px;width:15px}.event-editor-menu-trigger svg:last-child{height:13px;width:13px}.event-editor-dropdown{background:#ffffff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 14px 38px rgba(24,34,37,.16);display:grid;grid-gap:3px;gap:3px;left:0;min-width:190px;padding:6px;position:absolute;top:calc(100% + 7px);z-index:20}.event-editor-font-menu{min-width:220px}.event-editor-dropdown-item{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--color-ink);cursor:pointer;display:grid;font:inherit;font-size:13px;grid-gap:8px;gap:8px;grid-template-columns:22px minmax(0,1fr) 16px;min-height:38px;padding:7px 8px;text-align:left;width:100%}.event-editor-font-menu .event-editor-dropdown-item{grid-template-columns:minmax(0,1fr) 16px}.event-editor-dropdown-item:focus-visible,.event-editor-dropdown-item:hover{background:var(--color-accent-soft);outline:none}.event-editor-dropdown-item svg{color:var(--color-accent-dark);height:15px;width:15px}.event-editor-color-swatch,.event-editor-reset-swatch{border:1px solid rgba(24,34,37,.18);border-radius:50%;height:20px;width:20px}.event-editor-reset-swatch{background:linear-gradient(135deg,#ffffff,#ffffff 43%,#c94b4b 45%,#c94b4b 55%,#ffffff 57%,#ffffff)}.event-rich-editor .tiptap{line-height:1.6;min-height:210px;outline:none;padding:14px}.event-rich-editor .tiptap>:first-child,.event-rich-text>:first-child{margin-top:0}.event-rich-editor .tiptap>:last-child,.event-rich-text>:last-child{margin-bottom:0}.event-rich-editor .form-hint{border-top:1px solid var(--color-border);margin:0;padding:7px 12px}.event-rich-editor blockquote,.event-rich-text blockquote{border-left:4px solid var(--color-accent);color:#52676a;margin-left:0;padding-left:14px}.event-rich-text{line-height:1.65;overflow-wrap:anywhere}.event-rich-text a{color:var(--color-accent-dark);font-weight:700}.event-rich-mention{background:#dff2f2;border:1px solid #b8dddd;border-radius:999px;color:#226c73;display:inline;font-family:var(--font-body);font-weight:800;padding:1px 5px;white-space:normal}.event-mention-popup{background:#ffffff;border:1px solid var(--color-border);border-radius:12px;box-shadow:0 18px 48px rgba(24,34,37,.2);max-height:244px;overflow:hidden auto;padding:6px;position:fixed;z-index:1600}.event-mention-option{align-items:start;background:transparent;border:0;border-radius:8px;color:var(--color-ink);cursor:pointer;display:grid;font:inherit;grid-gap:3px;gap:3px;padding:9px 10px;text-align:left;width:100%}.event-mention-option:hover,.event-mention-option[aria-selected=true]{background:var(--color-accent-soft)}.event-mention-option span,.event-mention-option strong{overflow-wrap:anywhere}.event-mention-option span{color:var(--color-muted);font-size:11px}.event-mention-popup-state{color:var(--color-muted);font-size:13px;margin:0;padding:13px 11px}.event-participant-search-row{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) 190px}.event-participant-search{align-items:center;background:#ffffff;border:1px solid var(--color-border);border-radius:8px;display:flex;gap:8px;min-height:44px;padding:0 11px}.event-participant-search:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(58,161,170,.15)}.event-participant-search svg{color:var(--color-muted);flex:0 0 auto;height:17px;width:17px}.event-participant-search input{background:transparent;border:0;box-shadow:none;min-height:42px;padding-left:0;padding-right:0}.event-role-options .event-category-option[data-active=true]{background:var(--color-accent-soft);color:var(--color-accent-dark)}.event-role-dot{background:#87979b;border-radius:999px;flex:0 0 auto;height:10px;width:10px}.event-role-dot[data-role=STUDENT]{background:#8a45bd}.event-role-dot[data-role=PARENT]{background:#d77b2d}.event-role-dot[data-role=TEACHER]{background:#258f83}.event-role-dot[data-role=ADMIN]{background:#3f78b3}.event-role-dot[data-role=OWNER]{background:#b04f6f}.event-participant-role-badge{background:#eef2f3;border-radius:999px;color:#52676a;display:inline-flex;font-size:10px;font-weight:800;line-height:1.2;padding:3px 7px;width:-moz-fit-content;width:fit-content}.event-participant-role-badge[data-role=STUDENT]{background:#f1e8f8;color:#713599}.event-participant-role-badge[data-role=PARENT]{background:#fff0e1;color:#99531e}.event-participant-role-badge[data-role=TEACHER]{background:#e0f4ef;color:#216b5a}.event-participant-role-badge[data-role=ADMIN]{background:#e5eff9;color:#315f8d}.event-participant-role-badge[data-role=OWNER]{background:#f8e8ee;color:#8b3e59}.event-participant-result-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.event-selected-participants{display:flex;flex-wrap:wrap;gap:7px}.event-selected-participants button,.event-selected-participants>span{align-items:center;background:#e0f4ef;border:1px solid #b8e0d6;border-radius:999px;color:#216b5a;cursor:pointer;display:inline-flex;flex-wrap:wrap;font:inherit;font-size:12px;font-weight:750;gap:5px;min-height:34px;max-width:100%;overflow-wrap:anywhere;padding:6px 10px;text-align:left}.event-selected-participants small{background:rgba(255,255,255,.72);border-radius:999px;color:#6e5048;font-size:10px;padding:2px 6px}.event-selected-participants>span{cursor:default}.event-selected-participants .event-mentioned-participant{background:#e4eef9;border-color:#c3d5ea;color:#305f9c}.event-selected-participants .event-mentioned-badge{background:#305f9c;color:#ffffff}.event-archived-participants{background:#f8f5f2;border:1px dashed #d9cec6;border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:12px}.event-participant-results{border:1px solid var(--color-border);border-radius:8px;display:grid;max-height:250px;overflow-y:auto;padding:5px}.event-participant-results>button{align-items:center;background:#ffffff;border:0;border-radius:7px;color:var(--color-ink);cursor:pointer;display:flex;font:inherit;gap:12px;justify-content:space-between;min-height:52px;padding:8px 10px;text-align:left;width:100%}.event-participant-results>button:hover,.event-participant-results>button[data-selected=true]{background:var(--color-accent-soft)}.event-participant-results>button>span{display:grid;min-width:0}.event-participant-results small{color:var(--color-muted);overflow-wrap:anywhere}.event-details-modal{gap:0;max-width:900px;overflow:hidden auto;padding:0;width:min(100%,900px)}.event-details-cover{align-items:center;color:#ffffff;display:flex;justify-content:center;height:clamp(220px,32vh,320px);min-height:0;overflow:hidden;position:relative}.event-details-cover>span:not(.event-details-cover-badges){font-size:30px;font-weight:850}.event-details-close{background:rgba(17,26,29,.7);border-color:rgba(255,255,255,.35);color:#ffffff;position:absolute;right:12px;top:12px;z-index:2}.event-details-content{display:grid;grid-gap:22px;gap:22px;padding:24px}.event-details-footer{background:rgba(255,255,255,.97);border-top:1px solid var(--color-border);bottom:0;padding:16px 24px;position:-webkit-sticky;position:sticky;z-index:5}.important-event-action{align-items:center;display:flex;gap:18px;justify-content:space-between}.important-event-action>div{min-width:0}.important-event-action p{margin:4px 0 0}.important-event-action .primary-button{flex:0 0 auto;white-space:nowrap}.spin-icon{animation:important-event-spin .8s linear infinite}@keyframes important-event-spin{to{transform:rotate(1turn)}}.event-details-heading h2{font-size:clamp(26px,4vw,38px);line-height:1.15;margin:5px 0 10px;overflow-wrap:anywhere}.event-facts-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.event-fact{align-items:flex-start;background:#f4f8f8;border:1px solid var(--color-border);border-radius:8px;display:flex;gap:10px;padding:12px}.event-fact>svg{color:var(--color-accent-dark);flex:0 0 auto;height:19px;margin-top:2px;width:19px}.event-fact>span{display:grid;min-width:0}.event-fact small{color:var(--color-muted);font-weight:700}.event-fact strong{overflow-wrap:anywhere}.event-acknowledgement-section,.event-description-section,.event-participants-section,.event-video-section{border-top:1px solid var(--color-border);padding-top:19px}.event-description-section>h3,.event-participants-section>h3,.event-video-section>h3{align-items:center;display:flex;gap:8px;margin:0 0 12px}.event-acknowledgement-section{display:grid;grid-gap:14px;gap:14px}.event-acknowledgement-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.event-acknowledgement-heading h3{align-items:center;display:flex;gap:8px;margin:0 0 5px}.event-acknowledgement-heading h3 svg{color:var(--color-accent-dark);height:20px;width:20px}.event-acknowledgement-heading p{margin:0}.event-acknowledgement-heading>strong{background:var(--color-accent-soft);border-radius:999px;color:var(--color-accent-dark);flex:0 0 auto;font-size:13px;padding:7px 11px}.event-acknowledgement-progress{background:#e8eeee;border-radius:999px;height:9px;overflow:hidden}.event-acknowledgement-progress span{background:linear-gradient(90deg,var(--color-accent),#267b82);display:block;height:100%;min-width:0}.event-acknowledgement-tabs{border-bottom:1px solid var(--color-border);display:flex;gap:4px}.event-acknowledgement-tabs button{align-items:center;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--color-muted);display:inline-flex;font:inherit;font-size:13px;font-weight:750;gap:6px;min-height:42px;padding:8px 11px}.event-acknowledgement-tabs button[data-active=true]{border-bottom-color:var(--color-accent);color:var(--color-accent-dark)}.event-acknowledgement-tabs svg{height:16px;width:16px}.event-acknowledgement-filters{align-items:end;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) 190px auto}.event-acknowledgement-filters>button{min-height:44px}.event-acknowledgement-list{border:1px solid var(--color-border);border-radius:8px;list-style:none;margin:0;padding:5px}.event-acknowledgement-list li{align-items:center;border-bottom:1px solid #edf1f1;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;min-height:58px;padding:7px 8px}.event-acknowledgement-list li:last-child{border-bottom:0}.event-acknowledgement-list li>span:nth-child(2){display:grid;min-width:0}.event-acknowledgement-list small,.event-acknowledgement-list time{color:var(--color-muted);font-size:12px;overflow-wrap:anywhere}.event-acknowledgement-error{align-items:center;background:#fff4f2;border:1px solid #efd1cb;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.event-acknowledgement-error p{margin:0}.event-acknowledgement-pagination{justify-content:center}.event-participants-section h3 svg,.event-video-section h3 svg{height:20px;width:20px}.event-video-frame{aspect-ratio:16/9;background:#0c1011;border-radius:10px;overflow:hidden}.event-video-frame iframe{border:0;height:100%;width:100%}.event-participant-list{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.event-participant-list li{align-items:center;background:#f4f8f8;border-radius:8px;display:flex;gap:9px;min-width:0;padding:9px}.event-participant-list li>span:last-child{display:grid;min-width:0}.event-participant-list small,.event-participant-list strong{overflow-wrap:anywhere}.event-participant-list small{color:var(--color-muted)}.event-participant-avatar{flex:0 0 auto;height:36px;width:36px}.event-confirmation-copy{background:#f4f8f8;border-radius:8px;padding:14px}.event-confirmation-copy p{color:var(--color-muted);line-height:1.5;margin:5px 0 0}.month-day-events{align-self:flex-end;background:#ffe7bd;border-radius:999px;color:#884e08;font-size:12px;font-weight:800;min-width:24px;padding:3px 7px;text-align:center}.day-agenda-list li{grid-template-columns:58px minmax(0,1fr) auto}.calendar-agenda-kind{background:rgba(143,208,214,.14);border-radius:999px;color:#a9dce0;font-size:10px;font-weight:800;padding:4px 6px;text-transform:uppercase}.calendar-agenda-kind.event{background:rgba(255,199,96,.15);color:#ffd58c}.calendar-event-agenda-button{background:transparent;border:0;cursor:pointer;font:inherit;padding:0;text-align:left}.selected-events{border-top:1px solid var(--color-border);display:grid;grid-gap:12px;gap:12px;padding-top:18px}.calendar-event-list{display:grid;grid-gap:10px;gap:10px}.calendar-event-card{align-items:center;background:#fbfdfd;border:1px solid var(--color-border);border-radius:9px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:48px minmax(0,1fr) auto;padding:11px}.calendar-event-card[data-status=CANCELLED]{background:#f0f3f3;filter:grayscale(.65)}.calendar-event-card-icon{align-items:center;border-radius:9px;color:#ffffff;display:flex;height:48px;justify-content:center;width:48px}.calendar-event-card .item-main{display:grid;grid-gap:3px;gap:3px;min-width:0}.calendar-event-card .item-meta,.calendar-event-card strong{overflow-wrap:anywhere}@media (max-width:1180px){.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.events-header{align-items:stretch;flex-direction:column}.events-header-actions{justify-content:flex-start;width:100%}.events-filter-bar{grid-template-columns:1fr}.events-filter-actions{justify-content:flex-start}.event-facts-grid,.event-media-grid,.event-participant-list,.events-grid{grid-template-columns:1fr}.event-location-field,.event-title-field{grid-column:auto}.event-acknowledgement-filters,.event-participant-search-row{grid-template-columns:1fr}.event-acknowledgement-filters>button{justify-content:center;width:100%}.calendar-event-card{align-items:flex-start;grid-template-columns:42px minmax(0,1fr)}.calendar-event-card-icon{height:42px;width:42px}.calendar-event-card .secondary-button{grid-column:1/-1;width:100%}}@media (max-width:560px){.events-filter-actions,.events-header-actions{align-items:stretch;flex-direction:column}.events-filter-actions>*,.events-header-actions button,.events-header-actions>*{width:100%}.events-tabs{margin-left:-14px;margin-right:-14px;padding:0 8px}.event-card-cover{min-height:160px}.event-card-actions{align-items:stretch;flex-direction:column}.event-details-backdrop,.event-form-backdrop{align-items:stretch;padding:0}.event-details-modal,.event-form-modal{border:0;border-radius:0;max-height:100dvh;width:100%}.event-details-cover{height:clamp(190px,28vh,240px);min-height:190px}.event-details-content{padding:18px 14px calc(22px + env(safe-area-inset-bottom))}.event-details-footer{padding:14px 14px calc(14px + env(safe-area-inset-bottom))}.important-event-action{align-items:stretch;flex-direction:column;gap:12px}.important-event-action .primary-button{justify-content:center;white-space:normal;width:100%}.event-acknowledgement-heading{align-items:stretch;flex-direction:column}.event-acknowledgement-heading>strong{align-self:flex-start}.event-acknowledgement-tabs button{flex:1 1;justify-content:center;padding-left:6px;padding-right:6px}.event-acknowledgement-list li{align-items:start;grid-template-columns:auto minmax(0,1fr)}.event-acknowledgement-list time{grid-column:2}.event-form-actions{padding-bottom:env(safe-area-inset-bottom)}.event-editor-divider{display:none}.event-rich-editor .tiptap{min-height:180px}.event-cover-preview img{height:auto;max-width:320px}.event-editor-menu-trigger span{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-editor-dropdown{left:auto;max-width:min(260px,calc(100vw - 28px));right:0}.month-day-events,.month-day-lessons{font-size:9px;min-width:17px;padding:1px 4px}.day-agenda-list li{align-items:start;grid-template-columns:48px minmax(0,1fr)}.calendar-agenda-kind{grid-column:2;justify-self:start}}*{box-sizing:border-box}html{background:var(--color-page);color:var(--color-ink);font-family:var(--font-body)}body,html{max-width:100%;overflow-x:hidden}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;max-width:100%;min-width:0}button{cursor:pointer}.account-card,.app-shell,.card,.content,.dashboard-grid,.day-agenda,.feedback-thread-card,.file-asset-card,.item-main,.lesson-card,.list-item,.main-area,.material-card,.month-calendar,.panel-grid,.parent-child-card,.relation-list,.selected-lessons,.student-card,.topbar,.topbar-title{min-width:0}.agenda-main span,.agenda-main strong,.card-title,.feedback-message p,.file-asset-card,.item-meta,.item-title,.lesson-heading-topic,.lesson-main h3,.lesson-note p,.material-body,.material-link,.page-title,.relation-value,.student-notes,.summary-tile p{overflow-wrap:anywhere}.app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{background:#111a1d;color:#f8fbfb;display:flex;flex-direction:column;gap:32px;padding:28px 20px}.brand{align-items:center;display:flex;gap:12px}.brand-logo{border-radius:8px;display:block;height:auto;max-width:210px;width:100%}.login-card .brand-logo{max-width:235px;padding:0}.login-card .brand{justify-content:center}.nav-list{display:grid;grid-gap:6px;gap:6px}.nav-item{align-items:center;border-radius:8px;color:#d7e0e2;display:flex;gap:10px;padding:11px 12px}.nav-item[data-active=true]{background:rgba(58,161,170,.18);color:#ffffff}.nav-item svg{color:var(--color-accent);height:18px;width:18px}.nav-item-label{flex:1 1 auto;min-width:0}.notification-badge{align-items:center;background:#d83b46;border:2px solid #ffffff;border-radius:999px;color:#ffffff;display:inline-flex;flex:0 0 auto;font-size:10px;font-weight:800;height:20px;justify-content:center;line-height:1;min-width:20px;padding:0 5px;white-space:nowrap}.mobile-bottom-nav{display:none}.mobile-nav-list{display:flex;gap:8px;overflow:visible;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.mobile-nav-item{align-items:center;border:1px solid transparent;border-radius:8px;color:#d7e0e2;display:flex;flex:1 1;flex-direction:column;font-size:12px;font-weight:700;gap:4px;justify-content:center;min-height:56px;min-width:0;padding:7px 9px;text-align:center}.mobile-nav-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-item svg{color:var(--color-accent);height:19px;width:19px}.mobile-nav-icon{display:inline-flex;position:relative}.mobile-nav-item .mobile-nav-icon{overflow:visible}.mobile-nav-icon .notification-badge{position:absolute;right:-15px;top:-8px}.mobile-nav-item[data-active=true]{background:rgba(58,161,170,.2);border-color:rgba(58,161,170,.28);color:#ffffff}.mobile-more-menu{flex:1 1;min-width:0;position:relative}.mobile-more-trigger{cursor:pointer;list-style:none;width:100%}.mobile-more-trigger::-webkit-details-marker{display:none}.mobile-more-panel{background:#111a1d;border:1px solid rgba(255,255,255,.1);border-radius:8px;bottom:calc(100% + 10px);box-shadow:0 -14px 36px rgba(17,26,29,.24);display:grid;grid-gap:6px;gap:6px;padding:8px;position:absolute;right:0;width:min(240px,calc(100vw - 24px))}.mobile-more-item{align-items:center;border-radius:8px;color:#d7e0e2;display:flex;font-size:14px;font-weight:700;gap:10px;min-height:44px;padding:10px 12px}.mobile-more-item svg{color:var(--color-accent);flex:0 0 auto;height:18px;width:18px}.mobile-more-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-more-item>.notification-badge{margin-left:auto;overflow:visible}.mobile-more-item[data-active=true]{background:rgba(58,161,170,.18);color:#ffffff}.main-area{display:flex;flex-direction:column;min-width:0}.topbar{align-items:center;background:rgba(246,248,248,.92);border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;justify-content:space-between;min-height:72px;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:40}.topbar-title{display:grid;grid-gap:2px;gap:2px}.eyebrow{color:var(--color-accent-dark);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.page-title{font-family:var(--font-heading);font-size:30px;font-weight:650;line-height:1.1;margin:0}.user-pill{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;display:flex;gap:10px;padding:7px 12px 7px 8px}.user-pill span:not(.avatar){min-width:0;overflow:hidden;text-overflow:ellipsis}.icon-button{align-items:center;background:transparent;border:0;border-radius:999px;color:var(--color-muted);display:inline-flex;height:32px;justify-content:center;margin-right:-6px;width:32px}.icon-button.bordered{border:1px solid var(--color-border);margin-right:0}.icon-button:disabled{cursor:not-allowed;opacity:.6}.avatar,.icon-button:hover{background:var(--color-accent-soft);color:var(--color-accent-dark)}.avatar{align-items:center;border-radius:999px;display:inline-flex;font-weight:700;height:32px;justify-content:center;width:32px}.topbar-actions{align-items:center;display:flex;gap:12px;min-width:0}.language-switcher{flex:0 0 auto;position:relative}.language-switcher-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-ink);display:inline-flex;font:inherit;font-size:12px;font-weight:800;gap:7px;height:44px;padding:0 11px}.language-switcher-menu img,.language-switcher-trigger img{border:1px solid rgba(17,26,29,.14);border-radius:3px;display:block;object-fit:cover}.language-switcher-menu button:focus-visible,.language-switcher-trigger:focus-visible{box-shadow:0 0 0 3px rgba(58,161,170,.18);outline:2px solid var(--color-accent);outline-offset:1px}.language-switcher-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 16px 36px rgba(17,26,29,.18);display:grid;grid-gap:3px;gap:3px;min-width:170px;padding:6px;position:absolute;right:0;top:calc(100% + 7px);z-index:75}.language-switcher-menu button{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--color-ink);display:grid;font:inherit;grid-gap:9px;gap:9px;grid-template-columns:30px minmax(0,1fr) 18px;min-height:42px;padding:7px 9px;text-align:left}.language-switcher-menu button:hover,.language-switcher-menu button[data-active=true]{background:var(--color-accent-soft)}.login-language-switcher{display:flex;justify-content:flex-end;margin-bottom:8px}.notification-center-anchor{flex:0 0 auto}.notification-bell{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);display:inline-flex;height:44px;justify-content:center;position:relative;width:44px}.notification-bell:hover,.notification-bell[aria-expanded=true]{background:var(--color-accent-soft);border-color:rgba(58,161,170,.42);color:var(--color-accent-dark)}.notification-bell>svg{height:20px;width:20px}.notification-bell .notification-badge{border-color:var(--color-surface);position:absolute;right:-5px;top:-6px}.notification-center-layer{inset:0;position:fixed;z-index:80}.notification-center-scrim{background:rgba(17,26,29,.4);border:0;inset:0;padding:0;position:absolute;width:100%}.notification-center-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 24px 70px rgba(17,26,29,.28);display:flex;flex-direction:column;max-height:calc(100vh - 104px);overflow:hidden;padding:20px;position:absolute;right:24px;top:84px;width:min(430px,calc(100vw - 48px))}.dashboard-notification-actions,.dashboard-notification-header,.notification-center-header,.notification-center-toolbar{align-items:center;display:flex}.dashboard-notification-header,.notification-center-header{justify-content:space-between}.notification-center-header{gap:16px}.notification-center-header h2{font-family:var(--font-heading);font-size:24px;margin:2px 0 0}.notification-center-header .icon-button{margin:0}.notification-center-toolbar{border-bottom:1px solid var(--color-border);color:var(--color-muted);font-size:13px;justify-content:space-between;margin:16px 0 0;padding:0 0 14px}.secondary-button.notification-small-button{font-size:12px;min-height:34px;padding:7px 10px}.notification-small-button svg{height:15px;width:15px}.notification-list{display:grid;grid-gap:8px;gap:8px;margin-top:12px;overflow-y:auto;padding-right:2px}.notification-center-panel>.notification-list{flex:1 1 auto;min-height:0}.notification-list.compact{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));overflow:visible}.notification-item{align-items:flex-start;background:#f8faf9;border:1px solid var(--color-border);border-radius:9px;color:var(--color-text);display:flex;gap:11px;padding:12px;text-align:left;width:100%}.notification-item:hover{background:var(--color-accent-soft);border-color:rgba(58,161,170,.34)}.notification-item-icon{align-items:center;background:#ffffff;border:1px solid var(--color-border);border-radius:999px;color:var(--color-accent-dark);display:inline-flex;flex:0 0 auto;height:34px;justify-content:center;width:34px}.notification-item-icon svg{height:17px;width:17px}.notification-item-copy{display:grid;flex:1 1 auto;grid-gap:3px;gap:3px;min-width:0}.notification-item-copy span,.notification-item-copy strong{overflow-wrap:anywhere}.notification-item-copy>span{color:var(--color-muted);font-size:13px;line-height:1.4}.notification-item-copy time{color:#778286;font-size:11px;margin-top:3px}.notification-empty{align-items:center;color:var(--color-muted);display:grid;grid-gap:5px;gap:5px;justify-items:center;min-height:180px;padding:24px;text-align:center}.notification-empty svg{color:var(--color-accent);height:34px;width:34px}.notification-empty strong{color:var(--color-text)}.notification-empty span{font-size:13px}.notification-load-more{margin-top:12px;width:100%}.dashboard-notifications{display:grid;grid-gap:4px;gap:4px}.dashboard-notification-header{gap:16px}.dashboard-notification-header .card-title{margin-bottom:0}.dashboard-notification-actions{gap:8px}.dashboard-notifications .notification-empty{min-height:120px}.dashboard-notifications .notification-item{height:100%}.content{display:grid;grid-gap:24px;gap:24px;padding:28px 32px 40px}.dashboard-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.panel-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:18px}.stat-card{display:grid;grid-gap:12px;gap:12px}.stat-header{align-items:center;color:var(--color-muted);display:flex;font-size:14px;gap:8px}.stat-header svg{color:var(--color-accent);height:18px;width:18px}.stat-value{font-family:var(--font-heading);font-size:32px;line-height:1}.card-title{align-items:center;display:flex;font-size:18px;font-weight:700;gap:8px;margin:0 0 14px}.card-title svg{color:var(--color-accent);height:19px;width:19px}.list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0}.list-item{align-items:center;border:1px solid var(--color-border);border-radius:8px;display:flex;justify-content:space-between;list-style:none;padding:12px}.item-main{display:grid;grid-gap:3px;gap:3px}.item-title{font-weight:700}.item-meta{color:var(--color-muted);font-size:14px;line-height:1.45}.badge{background:var(--color-accent-soft);border-radius:999px;color:var(--color-accent-dark);font-size:13px;font-weight:700;max-width:100%;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;white-space:nowrap}.login-page{align-items:center;background:linear-gradient(90deg,rgba(17,26,29,.88),rgba(17,26,29,.55)),#111a1d;display:grid;justify-items:center;min-height:100vh;padding:24px}.login-card{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.4);border-radius:8px;display:grid;grid-gap:24px;gap:24px;max-width:440px;padding:28px;width:100%}.login-heading{display:grid;grid-gap:8px;gap:8px}.login-heading h1{font-family:var(--font-heading);font-size:34px;line-height:1.05;margin:0}.login-heading p{color:var(--color-muted);line-height:1.55;margin:0}.form{display:grid;grid-gap:14px;gap:14px}.turnstile-field{display:grid;grid-gap:6px;gap:6px;min-width:0}.turnstile-widget{min-height:65px;min-width:0;width:100%}.turnstile-error{color:var(--color-danger);font-size:13px;line-height:1.4;margin:0;overflow-wrap:anywhere}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:14px;font-weight:700}.field input,.field select{border:1px solid var(--color-border);border-radius:8px;min-height:44px;padding:10px 12px;width:100%}.field select{background:#ffffff}.field textarea{border:1px solid var(--color-border);border-radius:8px;min-height:88px;padding:10px 12px;resize:vertical;width:100%}.searchable-select{gap:8px}.searchable-select-hint{color:var(--color-muted);font-size:13px;line-height:1.3}.form-grid,.management-form{display:grid;grid-gap:14px;gap:14px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-repeat-options{align-content:start;border:0;display:grid;grid-gap:8px;gap:8px;margin:0;padding:0}.lesson-repeat-options legend{color:var(--color-ink);font-size:14px;font-weight:700;margin-bottom:8px}.lesson-repeat-options label{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:8px}.lesson-repeat-options input{accent-color:var(--color-accent);height:16px;margin:0;width:16px}.series-preview{align-items:flex-start;background:var(--color-accent-soft);border:1px solid rgba(58,161,170,.28);border-radius:8px;display:flex;gap:10px;padding:12px 14px}.series-preview svg{color:var(--color-accent-dark);flex:0 0 auto;height:20px;margin-top:1px;width:20px}.series-preview strong{color:var(--color-ink);display:block;font-size:14px;margin-bottom:3px}.series-preview p{color:var(--color-muted);font-size:14px;line-height:1.4;margin:0}.primary-button{align-items:center;background:var(--color-accent);border:0;border-radius:8px;color:#ffffff;display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:44px;padding:10px 14px}.primary-button:disabled{cursor:not-allowed;opacity:.7}.primary-button:hover{background:var(--color-accent-dark)}.secondary-button{align-items:center;background:#ffffff;border:1px solid var(--color-border);border-radius:8px;color:var(--color-ink);display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:44px;padding:10px 14px}.secondary-button:hover{background:var(--color-accent-soft);color:var(--color-accent-dark)}.secondary-button:disabled{cursor:not-allowed;opacity:.55}.danger-button{align-items:center;background:#fff0f0;border:1px solid #efb4b4;border-radius:8px;color:var(--color-danger);display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:44px;padding:10px 14px}.danger-button:hover{background:#ffe4e4}.danger-button:disabled{cursor:not-allowed;opacity:.55}.compact-button{min-height:36px;padding:7px 10px}.form-error{background:#fff0f0;border:1px solid #f0c5c5;border-radius:8px;color:var(--color-danger)}.form-error,.form-success{font-size:14px;margin:0;padding:10px 12px}.form-success{background:#edf9f1;border:1px solid #b8dec4;border-radius:8px;color:#2c7a46}.form-hint{color:var(--color-muted);font-size:13px;line-height:1.45;margin:0}.schedule-conflict-popover{align-items:flex-start;background:#fff0f0;border:1px solid #efb4b4;border-radius:8px;box-shadow:0 12px 28px rgba(139,45,45,.12);color:#7f2d2d;display:flex;gap:10px;padding:12px 14px}.schedule-conflict-popover svg{color:var(--color-danger);flex:0 0 auto;height:20px;margin-top:1px;width:20px}.schedule-conflict-popover strong{color:#6f2424;display:block;font-size:14px;margin-bottom:3px}.schedule-conflict-popover p{font-size:14px;line-height:1.4;margin:0}.schedule-conflict-popover ul{display:grid;grid-gap:3px;gap:3px;margin:8px 0 0;padding-left:18px}.schedule-conflict-popover li{font-size:14px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;min-width:720px;width:100%}.data-table td,.data-table th{border-bottom:1px solid var(--color-border);padding:12px;text-align:left}.data-table th{color:var(--color-muted);font-size:13px;font-weight:700}.data-table td{font-size:14px}.account-card-list{display:none}.account-card{border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:14px}.account-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.account-card-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.user-create-panel{display:grid;grid-gap:16px;gap:16px}.user-create-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.user-create-header .card-title{margin-bottom:6px}.access-guide-card{align-content:start;display:grid;grid-gap:16px;gap:16px}.access-guide-button{justify-self:start}.access-guide-modal{max-width:780px;width:min(100%,780px)}.access-guide-content{display:grid;grid-gap:16px;gap:16px}.access-guide-section{border-top:1px solid var(--color-border);display:grid;grid-gap:10px;gap:10px;padding-top:14px}.access-guide-section:first-child{border-top:0;padding-top:0}.access-guide-section h4{font-family:var(--font-heading);font-size:17px;margin:0}.access-guide-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.access-guide-item{background:#fbfdfd;border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:4px;gap:4px;min-width:0;padding:11px 12px}.access-guide-item p{color:var(--color-muted);font-size:14px;line-height:1.45;margin:0;overflow-wrap:anywhere}.access-guide-steps{display:grid;grid-gap:8px;gap:8px;line-height:1.5;margin:0;padding-left:22px}.access-guide-note{background:var(--color-accent-soft);border:1px solid var(--color-accent);border-radius:8px;color:var(--color-accent-dark);line-height:1.5;margin:0;overflow-wrap:anywhere;padding:11px 12px}.people-filter-form{align-items:end;background:#fbfdfd;border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(220px,1fr) auto;margin-bottom:14px;padding:14px}.people-filter-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end}.account-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.modal-backdrop{align-items:center;background:rgba(17,26,29,.55);bottom:0;display:flex;justify-content:center;left:0;padding:18px;position:fixed;right:0;top:0;z-index:60}.history-confirmation-backdrop{z-index:70}.history-confirmation-modal{max-width:560px;width:min(100%,560px)}.modal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 20px 54px rgba(17,26,29,.25);display:grid;grid-gap:16px;gap:16px;max-height:calc(100vh - 36px);max-width:680px;overflow-y:auto;padding:18px;width:min(100%,680px)}.delete-modal{max-width:520px}.series-delete-modal{max-width:640px;width:min(100%,640px)}.success-modal{max-width:520px}.calendar-export-modal,.feedback-create-modal,.feedback-edit-modal,.feedback-export-modal,.lesson-edit-modal,.schedule-lesson-modal,.student-create-modal,.student-edit-modal{max-width:860px;width:min(100%,860px)}.student-modal-relationships{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.modal-header h3{font-size:22px;line-height:1.15;margin:4px 0}.modal-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.upload-progress-modal{max-width:520px}.material-add-modal{max-width:620px}.upload-progress-shell{display:grid;grid-gap:10px;gap:10px}.upload-progress-track{background:#e6eeee;border-radius:999px;height:14px;overflow:hidden;width:100%}.upload-progress-fill{background:linear-gradient(90deg,var(--color-accent),#64bd87);border-radius:inherit;display:block;height:100%;min-width:6px;transition:width .16s ease}.upload-progress-meta{align-items:center;display:flex;gap:12px;justify-content:space-between}.upload-progress-meta strong{font-size:20px;line-height:1}.upload-progress-meta span{color:var(--color-muted);font-size:14px;font-weight:700}.delete-warning{align-items:flex-start;background:#fff0f0;border:1px solid #efb4b4;border-radius:8px;color:#7f2d2d;display:flex;gap:10px;padding:12px}.delete-warning svg{color:var(--color-danger);flex:0 0 auto;height:20px;margin-top:1px;width:20px}.delete-warning strong{color:#6f2424;display:block;margin-bottom:4px}.delete-warning p{font-size:14px;line-height:1.4;margin:2px 0 0}.series-delete-panel{border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:12px}.series-delete-panel>div>strong{display:block;margin-bottom:4px}.series-delete-date-list{display:grid;grid-gap:7px;gap:7px;list-style:none;margin:0;max-height:260px;overflow-y:auto;padding:0}.series-delete-date-list li{background:#fbfdfd;border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:2px;gap:2px;padding:9px 10px}.series-delete-date-list li[data-selected=true]{background:var(--color-accent-soft);border-color:var(--color-accent)}.series-delete-date-list span,.series-delete-date-list strong{min-width:0;overflow-wrap:anywhere}.series-delete-date-list strong{font-size:14px}.series-delete-date-list span{color:var(--color-muted);font-size:13px}.series-delete-protection{align-items:flex-start;background:#fff7e6;border:1px solid #efd69b;border-radius:8px;color:#705318;display:flex;gap:9px;padding:10px 11px}.series-delete-protection svg{flex:0 0 auto;height:18px;margin-top:1px;width:18px}.series-delete-protection p{font-size:13px;line-height:1.45;margin:0}.linked-account-panel{border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:12px}.linked-account-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.linked-account-list li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:2px;gap:2px;padding:10px}.linked-account-list span,.linked-account-list strong{min-width:0;overflow-wrap:anywhere}.linked-account-list strong{color:var(--color-text);font-size:14px}.linked-account-list span{color:var(--color-muted);font-size:13px}.modal-checkbox{align-items:flex-start;color:var(--color-text);display:flex;font-size:14px;font-weight:700;gap:10px;line-height:1.35}.modal-checkbox input{flex:0 0 auto;height:18px;margin-top:1px;width:18px}.success-message{align-items:flex-start;background:#eefaf4;border:1px solid #b8e4ce;border-radius:8px;color:#1f6a45;display:flex;gap:10px;padding:12px}.success-message svg{color:#2d9a62;flex:0 0 auto;height:20px;margin-top:1px;width:20px}.success-message p{font-size:14px;line-height:1.4;margin:0}.student-list{display:grid;grid-gap:14px;gap:14px}.student-create-panel{display:grid;grid-gap:16px;gap:16px}.student-create-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.student-create-header .card-title{margin-bottom:6px}.student-form-section{border-top:1px solid var(--color-border);display:grid;grid-gap:4px;gap:4px;padding-top:12px}.student-form-section p{margin:0}.student-filter-form{align-items:end;background:#fbfdfd;border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(220px,1fr) auto;margin-bottom:14px;padding:14px}.student-filter-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end}.student-card{border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:16px;gap:16px;padding:16px}.student-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.muted-badge{background:#eef2f2;color:var(--color-muted)}.student-relations{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.relation-list{background:var(--color-page);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:10px}.relation-label{color:var(--color-muted);font-size:12px;font-weight:700;text-transform:uppercase}.relation-value{font-size:14px}.student-notes{background:#fffaf0;border:1px solid #f1ddaa;border-radius:8px;color:#6d5612;margin:0;padding:10px 12px}.relationship-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr}.student-admin-actions{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px}.student-admin-actions,.student-link-panel{border-top:1px solid var(--color-border);padding-top:14px}.student-admin-actions>.student-account-panel,.student-admin-actions>.student-link-panel{border-top:0;padding-top:0}.student-admin-actions>.student-link-panel.is-open{flex:1 0 100%}.student-account-panel{align-items:center;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:8px;padding-top:14px}.student-link-editor{background:#fbfdfd;border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:14px}.student-link-editor-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:12px;justify-content:space-between;padding-bottom:12px}.relationship-error{grid-column:1/-1}.student-link-section{background:#ffffff;border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:12px}.student-link-section-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.student-link-section-header label{color:var(--color-muted);font-size:13px;font-weight:700}.student-link-search,.student-link-select{background:#ffffff;border:1px solid var(--color-border);border-radius:8px;height:36px;min-width:0;padding:6px 8px;width:100%}.student-link-checklist{display:grid;grid-gap:8px;gap:8px;max-height:260px;overflow-y:auto;padding-right:2px}.student-link-check-item{align-items:center;background:#fbfdfd;border:1px solid #edf2f2;border-radius:8px;display:flex;gap:10px;min-height:44px;padding:9px 10px}.student-link-check-item input{flex:0 0 auto;height:18px;width:18px}.student-link-account{display:grid;grid-gap:2px;gap:2px;min-width:0}.student-link-account strong{color:var(--color-ink);font-size:14px;overflow-wrap:anywhere}.student-link-account span{color:var(--color-muted);font-size:13px;overflow-wrap:anywhere}.student-link-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end}.parent-child-card,.parent-child-grid{display:grid;grid-gap:18px;gap:18px}.parent-child-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:20px}.parent-child-hero{align-items:center;display:flex;gap:16px}.parent-child-hero h2{font-family:var(--font-heading);font-size:32px;line-height:1.1;margin:4px 0}.parent-child-hero p{color:var(--color-muted);margin:0}.student-avatar-large{align-items:center;background:var(--color-accent-soft);border:1px solid #c7e9ec;border-radius:8px;color:var(--color-accent-dark);display:inline-flex;font-family:var(--font-heading);font-size:34px;font-weight:700;height:82px;justify-content:center;width:82px}.parent-summary-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-tile{background:var(--color-page);border:1px solid var(--color-border);border-radius:8px;color:inherit;display:grid;grid-gap:8px;gap:8px;padding:14px;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.summary-tile:hover{background:#ffffff;border-color:#afdadd;box-shadow:0 8px 20px rgba(24,34,37,.08);transform:translateY(-1px)}.summary-tile:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.summary-tile svg{color:var(--color-accent);height:20px;width:20px}.summary-tile span{font-weight:700}.summary-tile p{color:var(--color-muted);font-size:14px;line-height:1.45;margin:0}.parent-teachers{border-top:1px solid var(--color-border);display:grid;grid-gap:6px;gap:6px;padding-top:16px}.parent-teachers h3{font-size:16px;margin:0}.lesson-intro{line-height:1.55;margin:-6px 0 16px;max-width:720px}.calendar-workspace{display:grid;grid-gap:18px;gap:18px}.calendar-section-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.calendar-title{margin-bottom:10px}.month-calendar-layout{align-items:stretch;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) minmax(280px,.34fr)}.month-calendar{background:#fbfdfd;border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:16px}.month-calendar-header{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:36px minmax(0,1fr) 36px}.month-calendar-header h3{font-size:22px;font-weight:650;margin:0;text-align:center}.weekday-row{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row span{color:var(--color-muted);font-size:12px;font-weight:700;text-align:center;text-transform:uppercase}.month-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr))}.month-day{align-items:flex-start;aspect-ratio:1;background:#ffffff;border:1px solid var(--color-border);border-radius:8px;color:var(--color-ink);display:flex;flex-direction:column;justify-content:space-between;min-height:76px;padding:9px;text-align:left}.month-day:hover{border-color:#afdadd;box-shadow:0 6px 16px rgba(24,34,37,.08)}.month-day[data-outside-month=true]{background:#f2f5f5;color:#9aa7aa}.month-day[data-selected=true]{border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(58,161,170,.18)}.month-day[data-today=true]{background:#fff9dc;border-color:#ecd26b}.month-day[data-today=true][data-selected=true]{box-shadow:0 0 0 2px rgba(58,161,170,.2),inset 0 0 0 1px #ecd26b}.month-day-number{font-size:15px;font-weight:700}.month-day-lessons{align-self:flex-end;background:var(--color-accent-soft);border-radius:999px;color:var(--color-accent-dark);font-size:12px;font-weight:700;min-width:24px;padding:3px 7px;text-align:center}.day-agenda{background:#111a1d;border-radius:8px;color:#f8fbfb;display:grid;grid-gap:14px;gap:14px;align-content:start;padding:16px}.day-agenda .eyebrow{color:#8fd0d6}.day-agenda-header h3{font-size:22px;font-weight:650;line-height:1.15;margin:5px 0 0}.day-agenda .item-meta{color:#b8c5c8}.day-agenda-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0}.day-agenda-list li{align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:58px minmax(0,1fr);list-style:none;padding:10px}.agenda-time{align-self:center;color:#8fd0d6;font-weight:700}.agenda-main{display:grid;grid-gap:3px;gap:3px;min-width:0}.agenda-main strong{color:#ffffff;font-size:14px;font-weight:700}.agenda-main span{color:#b8c5c8;font-size:14px;line-height:1.35}.agenda-more{color:#b8c5c8;font-size:13px;font-weight:700;margin:0}.schedule-lesson-panel{border-top:1px solid var(--color-border);padding-top:18px}.schedule-lesson-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.schedule-toggle-button{width:-moz-fit-content;width:fit-content}.selected-lessons{border-top:1px solid var(--color-border);display:grid;grid-gap:14px;gap:14px;padding-top:18px}.selected-lessons-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.selected-lessons-header h3{font-size:22px;font-weight:650;margin:4px 0 0}.pagination-controls{align-items:center;display:flex;gap:12px;justify-content:flex-end}.pagination-link[data-disabled=true]{opacity:.55;pointer-events:none}.feedback-create-panel{display:grid;grid-gap:16px;gap:16px}.feedback-create-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.feedback-create-header .card-title{margin-bottom:6px}.feedback-board{display:grid;grid-gap:14px;gap:14px}.feedback-filter-form{align-items:end;background:#fbfdfd;border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(140px,.7fr)) auto;padding:14px}.feedback-filter-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end}.feedback-thread-card,.feedback-thread-list{display:grid;grid-gap:14px;gap:14px}.feedback-thread-card{border:1px solid var(--color-border);border-radius:8px;padding:16px}.feedback-thread-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.feedback-thread-header h3{font-size:22px;font-weight:650;line-height:1.15;margin:4px 0 0}.feedback-student{background:var(--color-page);border-radius:8px;font-weight:700;gap:8px}.feedback-lesson,.feedback-student{align-items:center;display:flex;padding:10px 12px}.feedback-lesson{background:#fbfdfd;border:1px solid #edf2f2;border-radius:8px;gap:10px;min-width:0}.feedback-lesson svg{color:var(--color-accent);flex:0 0 auto;height:18px;width:18px}.feedback-lesson div{display:grid;grid-gap:3px;gap:3px;min-width:0}.feedback-lesson span,.feedback-lesson strong{overflow-wrap:anywhere}.feedback-lesson span{color:var(--color-muted);font-size:13px}.feedback-student svg{color:var(--color-accent);height:18px;width:18px}.feedback-message-list{display:grid;grid-gap:10px;gap:10px}.feedback-message{background:#fbfdfd;border:1px solid #edf2f2;border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:12px}.feedback-message-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.feedback-message-header strong{font-size:14px}.feedback-message-header span{color:var(--color-muted);font-size:13px}.feedback-message p{line-height:1.5;margin:0;white-space:pre-wrap}.feedback-edit-form{display:grid;grid-gap:12px;gap:12px}.feedback-actions{align-items:center;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding-top:14px}.feedback-actions .form-error{flex-basis:100%}.drive-shell{display:grid;grid-gap:16px;gap:16px}.drive-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.drive-add{align-items:flex-end;display:grid;grid-gap:10px;gap:10px;justify-items:end;position:relative}.drive-add-tabs{background:var(--color-page);border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:4px;gap:4px;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px}.drive-add-tab{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--color-muted);cursor:pointer;display:inline-flex;font:inherit;font-size:14px;font-weight:750;gap:6px;justify-content:center;min-height:38px;padding:8px}.drive-add-tab[aria-selected=true]{background:var(--color-surface);color:var(--color-accent-dark);box-shadow:0 1px 4px rgba(24,34,37,.08)}.drive-add-tab:disabled{cursor:not-allowed;opacity:.65}.drive-search-form{align-items:end;background:#fbfdfd;border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(220px,1fr) auto;padding:14px}.drive-search-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.drive-layout{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.learner-drive-layout{grid-template-columns:minmax(0,1fr)}.drive-items-section,.drive-main{display:grid;grid-gap:14px;gap:14px;min-width:0}.drive-file-grid,.drive-folder-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.learner-material-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.drive-file-tile,.drive-folder-tile{align-items:flex-start;border:1px solid var(--color-border);border-radius:8px;color:inherit;display:flex;gap:12px;min-width:0;padding:14px;text-decoration:none;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.drive-file-tile{display:grid}.learner-material-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:inherit;cursor:pointer;display:grid;grid-gap:12px;gap:12px;min-width:0;padding:12px;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;width:100%}.learner-material-tile:hover{border-color:rgba(58,161,170,.65);box-shadow:0 14px 30px rgba(38,123,130,.14);transform:translateY(-1px)}.learner-material-tile:focus-visible{outline:3px solid rgba(58,161,170,.35);outline-offset:2px}.learner-material-thumb{align-items:center;aspect-ratio:16/10;background:#eef4f4;border:1px solid var(--color-border);border-radius:8px;display:flex;justify-content:center;overflow:hidden;width:100%}.learner-material-thumb-media{display:block;height:100%;object-fit:cover;width:100%}.learner-material-thumb-empty{color:var(--color-accent-dark)}.learner-material-thumb-pdf{background:#fff4f1;border-color:#f2b7a7;color:#a53b25;display:grid;grid-gap:10px;gap:10px;justify-items:center}.learner-material-thumb-empty svg{height:44px;width:44px}.learner-material-thumb-pdf svg{height:52px;width:52px}.learner-material-thumb-pdf span{background:#a53b25;border-radius:999px;color:#fff;font-size:12px;font-weight:900;letter-spacing:0;padding:4px 10px}.learner-material-title{font-size:17px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.drive-file-tile:hover,.drive-file-tile[data-selected=true],.drive-folder-tile:hover{border-color:rgba(58,161,170,.65);box-shadow:0 12px 26px rgba(38,123,130,.12);transform:translateY(-1px)}.drive-file-thumb{align-items:center;aspect-ratio:16/10;background:#eef4f4;border:1px solid var(--color-border);border-radius:8px;display:flex;justify-content:center;overflow:hidden;width:100%}.drive-file-thumb-image,.drive-file-thumb-video{display:block;height:100%;object-fit:cover;width:100%}.drive-file-thumb-document{color:var(--color-accent-dark);display:grid;grid-gap:8px;gap:8px;justify-items:center}.drive-file-thumb-document svg{height:30px;width:30px}.drive-file-thumb-document span{color:var(--color-muted);font-size:12px;font-weight:800;text-transform:uppercase}.drive-file-thumb-pdf{background:#fff4f1;border-color:#f2b7a7;color:#a53b25}.drive-file-thumb-pdf span{background:#a53b25;border-radius:999px;color:#fff;padding:4px 10px}.drive-detail-icon,.drive-file-icon,.drive-folder-icon{align-items:center;background:var(--color-accent-soft);border-radius:8px;color:var(--color-accent-dark);display:inline-flex;flex:0 0 auto;height:42px;justify-content:center;width:42px}.drive-detail-icon svg,.drive-file-icon svg,.drive-folder-icon svg{height:21px;width:21px}.drive-file-content,.drive-folder-content{display:grid;grid-gap:4px;gap:4px;min-width:0}.drive-file-content strong,.drive-folder-content strong{font-size:16px;line-height:1.2;overflow-wrap:anywhere}.drive-file-content small,.drive-file-content span,.drive-folder-content small,.drive-folder-content span{color:var(--color-muted);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.drive-breadcrumb{align-items:center;color:var(--color-muted);display:flex;flex-wrap:wrap;font-size:14px;gap:8px}.drive-breadcrumb a{color:var(--color-accent-dark);font-weight:750;text-decoration:none}.drive-folder-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.drive-detail-panel{border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:14px;gap:14px;min-width:0;padding:14px;position:-webkit-sticky;position:sticky;top:18px}.drive-empty-detail{align-items:center;color:var(--color-muted);display:grid;grid-gap:8px;gap:8px;justify-items:center;min-height:220px;text-align:center}.drive-empty-detail svg{color:var(--color-accent-dark);height:34px;width:34px}.drive-detail-header{align-items:flex-start;display:flex;gap:12px;min-width:0}.drive-detail-header h3{font-size:22px;line-height:1.15;margin:4px 0 0;overflow-wrap:anywhere}.drive-assignment-list,.drive-detail-meta{display:grid;grid-gap:10px;gap:10px}.drive-hash-row .relation-value{font-family:var(--font-mono,monospace);font-size:12px;overflow-wrap:anywhere}.drive-detail-actions{align-items:flex-start;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:10px;padding-top:14px}.drive-detail-actions .material-actions{border-top:0;padding-top:0}.drive-detail-section-title{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:8px;padding-top:14px}.drive-detail-section-title span{background:var(--color-page);border-radius:999px;color:var(--color-muted);font-size:12px;font-weight:750;padding:3px 8px}.drive-assignment-row{border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:10px}.drive-assignment-row>div{display:grid;grid-gap:6px;gap:6px;min-width:0}.drive-assignment-row .item-meta,.drive-assignment-row strong{display:block;overflow-wrap:anywhere}.material-create-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.material-create-header .card-title{margin-bottom:6px}.file-library-panel,.material-board{display:grid;grid-gap:14px;gap:14px}.material-filter-form{align-items:end;background:#fbfdfd;border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(180px,1.2fr) minmax(160px,.8fr) minmax(140px,.6fr) auto;padding:14px}.material-actions,.material-filter-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.material-card,.material-list{display:grid;grid-gap:14px;gap:14px}.material-card{border:1px solid var(--color-border);border-radius:8px;padding:16px}.material-card-header{justify-content:space-between}.material-card-header,.material-title-block{align-items:flex-start;display:flex;gap:12px}.material-title-block{min-width:0}.file-asset-icon,.material-kind-icon{align-items:center;background:var(--color-accent-soft);border-radius:8px;color:var(--color-accent-dark);display:inline-flex;flex:0 0 auto;height:38px;justify-content:center;width:38px}.file-asset-icon svg,.material-kind-icon svg{height:19px;width:19px}.material-card-header h3{font-size:22px;font-weight:650;line-height:1.15;margin:4px 0 0}.material-meta-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.material-body{background:#fbfdfd;border:1px solid #edf2f2;border-radius:8px;line-height:1.5;margin:0;overflow-wrap:anywhere;padding:12px;white-space:pre-wrap}.material-youtube-frame{aspect-ratio:16/9;border:0;border-radius:8px;max-width:100%;width:100%}.material-pdf-frame{aspect-ratio:4/5;background:#eef4f4;border:1px solid var(--color-border);border-radius:8px;width:100%}.material-file-preview{display:grid;grid-gap:10px;gap:10px}.material-preview-link{border-radius:8px;display:block;line-height:0;overflow:hidden}.material-preview-link:focus-visible{outline:3px solid rgba(58,161,170,.35);outline-offset:2px}.material-image-preview,.material-video-frame{background:#eef4f4;border:1px solid var(--color-border);border-radius:8px;max-height:420px;max-width:100%;object-fit:contain;width:100%}.material-video-frame{aspect-ratio:16/9}.material-preview-open{align-items:center;color:var(--color-accent-dark);display:inline-flex;font-size:14px;font-weight:750;gap:6px;text-decoration:none;width:-moz-fit-content;width:fit-content}.material-file-summary,.material-link{align-items:center;background:var(--color-page);border-radius:8px;color:var(--color-accent-dark);display:flex;font-weight:700;gap:8px;padding:10px 12px}.material-file-summary svg,.material-link svg{flex:0 0 auto}.material-file-summary{color:var(--color-ink)}.material-file-summary span{min-width:0;overflow-wrap:anywhere}.material-modal-form{display:grid;grid-gap:12px;gap:12px}.learner-preview-modal{max-width:1040px;width:min(100%,1040px)}.learner-image-preview,.learner-video-preview{background:#eef4f4;border:1px solid var(--color-border);border-radius:8px;display:block;max-height:calc(100vh - 190px);object-fit:contain;width:100%}.learner-video-preview,.learner-youtube-preview{aspect-ratio:16/9}.learner-video-player{background:#111a1d;border:1px solid rgba(255,255,255,.08);border-radius:8px;box-shadow:0 18px 42px rgba(17,26,29,.2);color:#f8fbfb;display:grid;overflow:hidden;width:100%}.learner-video-screen{align-items:center;aspect-ratio:16/9;background:#071012;border:0;color:#f8fbfb;cursor:pointer;display:flex;justify-content:center;padding:0;position:relative;width:100%}.learner-video-element{display:block;height:100%;object-fit:contain;width:100%}.learner-video-play-overlay{align-items:center;background:rgba(248,251,251,.92);border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.25);color:#111a1d;display:inline-flex;height:76px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:76px}.learner-video-play-overlay svg{height:34px;margin-left:4px;width:34px}.learner-video-controls{align-items:center;background:linear-gradient(180deg,#162326,#111a1d);display:grid;grid-gap:10px;gap:10px;grid-template-columns:40px auto minmax(0,1fr) auto 40px 40px;padding:12px}.learner-video-control-button{align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#f8fbfb;cursor:pointer;display:inline-flex;height:40px;justify-content:center;width:40px}.learner-video-control-button:hover{background:rgba(255,255,255,.16)}.learner-video-control-button svg{height:18px;width:18px}.learner-video-time{color:rgba(248,251,251,.82);font-size:13px;font-weight:750;min-width:42px;text-align:center}.learner-video-progress{accent-color:var(--color-accent);cursor:pointer;min-width:0;width:100%}.learner-pdf-preview,.learner-youtube-preview{background:#eef4f4;border:1px solid var(--color-border);border-radius:8px;width:100%}.learner-youtube-preview{border:0}.learner-pdf-preview{height:min(76vh,760px)}.learner-text-preview{background:#fbfdfd;line-height:1.6;margin:0;max-height:calc(100vh - 190px);overflow:auto;padding:18px;white-space:pre-wrap}.learner-empty-preview,.learner-text-preview{border:1px solid var(--color-border);border-radius:8px}.learner-empty-preview{align-items:center;background:#eef4f4;color:var(--color-accent-dark);display:flex;justify-content:center;min-height:260px}.learner-empty-preview svg{height:48px;width:48px}.material-actions{border-top:1px solid var(--color-border);padding-top:14px}.material-actions .form-error{flex-basis:100%}.file-asset-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.file-asset-card{align-items:flex-start;border:1px solid var(--color-border);border-radius:8px;display:flex;gap:12px;padding:12px}.lesson-list{display:grid;grid-gap:14px;gap:14px}.lesson-card{border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:16px;gap:16px;padding:16px}.lesson-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.lesson-time{align-items:center;display:flex;font-weight:700;gap:8px}.lesson-time svg{color:var(--color-accent);height:18px;width:18px}.lesson-status[data-status=COMPLETED]{background:#e7f6ed;color:#2d7b4f}.lesson-status[data-status=CANCELLED]{background:#fff0f0;color:var(--color-danger)}.lesson-status[data-status=MISSED]{background:#fff6e6;color:#9a6a13}.lesson-main{display:grid;grid-gap:12px;gap:12px}.lesson-main h3{font-family:var(--font-heading);font-size:24px;font-weight:650;line-height:1.1;margin:3px 0 0}.lesson-heading-topic{color:var(--color-muted);font-family:var(--font-body);font-size:18px;font-weight:500}.lesson-meta-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-meta{background:#f9fbfb;border:1px solid #edf2f2;border-radius:8px;display:grid;grid-gap:5px;gap:5px;padding:12px 13px}.lesson-meta span{color:#738084;font-size:13px;font-weight:600;line-height:1.25}.lesson-meta strong{color:#1d292c;font-size:15px;font-weight:600;line-height:1.25}.lesson-meta[data-attendance=PRESENT]{background:#e7f6ed}.lesson-meta[data-attendance=PRESENT] strong{color:#2d7b4f}.lesson-meta[data-attendance=LATE]{background:#fff6e6}.lesson-meta[data-attendance=LATE] strong{color:#9a6a13}.lesson-meta[data-attendance=ABSENT]{background:#fff0f0}.lesson-meta[data-attendance=ABSENT] strong{color:var(--color-danger)}.lesson-meta[data-attendance=EXCUSED]{background:var(--color-accent-soft)}.lesson-meta[data-attendance=EXCUSED] strong{color:var(--color-accent-dark)}.lesson-note{align-items:flex-start;background:#fffaf0;border:1px solid #f1ddaa;border-radius:8px;color:#6d5612;display:flex;gap:8px;padding:10px 12px}.lesson-note svg{flex:0 0 auto;height:18px;margin-top:1px;width:18px}.lesson-note p{margin:0}.lesson-card-actions{border-top:1px solid var(--color-border);align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding-top:14px}.lesson-update-block{min-width:0}.lesson-update-form{display:grid;grid-gap:12px;gap:12px;width:100%}.lesson-update-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-delete-area{display:flex;justify-content:flex-end;margin-left:auto}@media (max-width:1023px){.app-shell{display:block;min-height:100vh}.sidebar{display:none}.mobile-bottom-nav{background:#111a1d;border-top:1px solid rgba(255,255,255,.1);bottom:0;box-shadow:0 -8px 24px rgba(17,26,29,.18);display:block;left:0;position:fixed;right:0;z-index:30}.main-area{min-height:100vh}.topbar{align-items:center;gap:14px;min-height:68px;padding:18px}.notification-center-panel{max-height:calc(100vh - 92px);right:18px;top:76px}.notification-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.user-pill{max-width:100%}.content{padding:18px 18px calc(100px + env(safe-area-inset-bottom))}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-card-grid,.drive-layout,.drive-search-form,.feedback-filter-form,.form-grid,.lesson-meta-grid,.lesson-update-grid,.material-filter-form,.material-meta-grid,.month-calendar-layout,.panel-grid,.parent-summary-grid,.people-filter-form,.relationship-grid,.student-filter-form,.student-relations{grid-template-columns:1fr}.table-wrap{display:none}.account-card-list{display:grid;grid-gap:12px;gap:12px}.drive-detail-panel{position:static}}@media (max-width:560px){.access-guide-grid{grid-template-columns:1fr}.mobile-nav-list{gap:6px;padding:7px 10px calc(7px + env(safe-area-inset-bottom))}.mobile-nav-item{font-size:11px;min-height:54px;padding:6px 8px}.mobile-more-panel{right:-2px;width:min(220px,calc(100vw - 20px))}.topbar{align-items:flex-start;flex-direction:column;gap:12px;padding:14px}.topbar-title{width:100%}.topbar-actions{justify-content:space-between;width:100%}.language-switcher-trigger{padding-left:9px;padding-right:9px}.topbar-actions .language-switcher-menu{left:0;right:auto}.user-pill{justify-content:space-between;min-width:0;width:100%}.topbar-actions .user-pill{flex:1 1 auto;width:auto}.notification-center-panel{border:0;border-radius:0;inset:0;max-height:100dvh;padding:18px 14px calc(18px + env(safe-area-inset-bottom));width:100%}.dashboard-notification-actions,.dashboard-notification-header,.notification-center-toolbar{align-items:stretch;flex-direction:column}.notification-center-toolbar{gap:10px}.notification-center-toolbar .secondary-button{width:100%}.notification-list.compact{grid-template-columns:1fr}.dashboard-notification-header{gap:12px}.content{gap:14px;padding:14px 12px calc(96px + env(safe-area-inset-bottom))}.card{padding:14px}.drive-file-grid,.drive-folder-grid,.learner-material-grid{grid-template-columns:1fr}.learner-video-controls{gap:8px;grid-template-columns:40px minmax(0,1fr) 40px}.learner-video-controls .learner-video-control-button:last-child,.learner-video-controls .learner-video-time{display:none}.drive-add{justify-items:stretch;width:100%}.drive-add-tabs{grid-template-columns:1fr}.login-page{padding:16px}.login-card{gap:18px;padding:20px}.login-heading h1{font-size:28px}.brand-logo{max-width:190px}.page-title{font-size:24px}.dashboard-grid{grid-template-columns:1fr}.list-item{gap:10px}.account-card-header,.lesson-card-header,.list-item,.material-card-header,.parent-child-hero,.student-card-header{align-items:flex-start;flex-direction:column}.student-avatar-large{font-size:28px;height:66px;width:66px}.parent-child-hero h2{font-size:26px}.calendar-section-header{flex-direction:column}.drive-header,.drive-search-actions,.feedback-create-header,.feedback-filter-actions,.feedback-thread-header,.material-card-header,.material-create-header,.material-filter-actions,.modal-actions,.pagination-controls,.people-filter-actions,.selected-lessons-header,.student-create-header,.student-filter-actions,.student-link-editor-header,.user-create-header{align-items:flex-start;flex-direction:column}.danger-button,.primary-button,.secondary-button{width:100%}.compact-button{min-height:44px}.icon-button{min-width:36px}.student-link-section{padding:10px}.student-link-actions,.student-link-section-header{align-items:flex-start;flex-direction:column}.student-link-search,.student-link-select{height:44px}.account-actions,.account-actions .danger-button,.account-actions .secondary-button,.drive-search-actions,.feedback-actions,.feedback-filter-actions,.lesson-card-actions,.lesson-delete-area,.lesson-delete-area .danger-button,.lesson-update-block,.lesson-update-block .secondary-button,.material-actions,.material-filter-actions,.modal-actions,.modal-actions .danger-button,.modal-actions .primary-button,.modal-actions .secondary-button,.people-filter-actions,.student-account-panel,.student-account-panel .secondary-button,.student-filter-actions,.student-link-actions{width:100%}.modal-backdrop{align-items:flex-end;padding:10px}.modal-card{max-height:calc(100vh - 20px);padding:14px}.month-calendar{gap:10px;padding:10px}.month-calendar-header{gap:8px;grid-template-columns:36px minmax(0,1fr) 36px}.month-calendar-header h3{font-size:18px}.month-grid,.weekday-row{gap:4px}.month-day{border-radius:6px;min-height:42px;padding:5px}.month-day-number{font-size:12px}.month-day-lessons{font-size:10px;min-width:18px;padding:2px 5px}.weekday-row span{font-size:10px}.account-card,.day-agenda,.feedback-thread-card,.lesson-card,.material-card,.parent-child-card,.student-card{padding:12px}.day-agenda-list li{grid-template-columns:48px minmax(0,1fr)}.day-agenda-header h3,.feedback-thread-header h3,.lesson-main h3,.selected-lessons-header h3{font-size:20px}.lesson-heading-topic{display:block;font-size:16px;margin-top:4px}.pagination-controls{width:100%}}.materials-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.drive-folder-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.drive-folder-tile{--folder-accent:#5d9fa5;--folder-deep:#3e7075;--folder-soft:#e8f4f4;background:color-mix(in srgb,var(--folder-soft) 46%,#ffffff);border:1px solid color-mix(in srgb,var(--folder-accent) 25%,var(--color-border));border-radius:10px;box-shadow:0 6px 16px rgba(17,26,29,.045);display:grid;grid-gap:16px;gap:16px;grid-template-columns:76px minmax(0,1fr);min-height:142px;overflow:hidden;padding:20px;position:relative;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.drive-folder-tile:before{background:var(--folder-accent);content:"";height:3px;inset:0 0 auto;opacity:.78;position:absolute}.drive-folder-tile:after{content:none}.drive-folder-tile:hover{border-color:color-mix(in srgb,var(--folder-accent) 48%,var(--color-border));box-shadow:0 10px 22px rgba(17,26,29,.075);transform:translateY(-1px)}.drive-folder-tile:focus-visible{outline:3px solid color-mix(in srgb,var(--folder-accent) 34%,transparent);outline-offset:3px}.drive-folder-tile[data-category=videos]{--folder-accent:#8d79c6;--folder-deep:#5c4d8a;--folder-soft:#eeeafb}.drive-folder-tile[data-category=pdfs]{--folder-accent:#d4787e;--folder-deep:#8b4b50;--folder-soft:#faeaec}.drive-folder-tile[data-category=photos]{--folder-accent:#5c9fbd;--folder-deep:#3e7289;--folder-soft:#e9f4f8}.drive-folder-tile[data-category=youtube]{--folder-accent:#d87563;--folder-deep:#8f493d;--folder-soft:#faece8}.drive-folder-tile[data-category=text]{--folder-accent:#d3a34f;--folder-deep:#85672f;--folder-soft:#fbf1dc}.drive-folder-icon{align-items:center;align-self:start;background:var(--folder-soft);border:1px solid color-mix(in srgb,var(--folder-accent) 34%,var(--color-border));border-radius:10px;box-shadow:none;color:var(--folder-deep);display:inline-flex;height:68px;justify-content:center;position:relative;width:76px;z-index:1}.drive-folder-icon:before{background:var(--folder-soft);border:1px solid color-mix(in srgb,var(--folder-accent) 34%,var(--color-border));border-bottom:0;border-radius:7px 7px 0 0;content:"";height:9px;left:8px;position:absolute;top:-9px;width:30px}.drive-folder-icon svg{height:32px;stroke-width:1.9;width:32px}.drive-folder-content{align-content:start;display:grid;grid-gap:5px;gap:5px;min-width:0;position:relative;z-index:1}.drive-folder-content strong{color:var(--color-ink);font-size:18px;line-height:1.2;overflow-wrap:anywhere}.drive-folder-content>span{color:var(--color-muted);font-size:13px;line-height:1.4;overflow-wrap:anywhere}.drive-folder-content small{background:color-mix(in srgb,var(--folder-soft) 82%,#ffffff);border:1px solid color-mix(in srgb,var(--folder-accent) 24%,var(--color-border));border-radius:999px;color:var(--folder-deep);font-size:12px;font-weight:750;justify-self:start;margin-top:4px;padding:4px 8px}.material-audience-preview-button{background:transparent;border:0;border-radius:7px;cursor:pointer;min-height:36px;padding:6px 2px}.material-audience-preview-button:hover{color:var(--color-accent)}.material-audience-preview-modal{display:grid;grid-gap:16px;gap:16px;overflow-y:auto}.material-audience-tabs{background:var(--color-page);border:1px solid var(--color-border);border-radius:10px;display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));padding:5px}.material-audience-tabs button{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--color-muted);display:inline-flex;font-weight:750;gap:7px;justify-content:center;min-height:42px;padding:8px 12px}.material-audience-tabs button[data-active=true]{background:#ffffff;border-color:var(--color-border);box-shadow:0 5px 14px rgba(17,26,29,.08);color:var(--color-accent-dark)}.material-audience-context{align-items:flex-start;background:#f0f8ff;border:1px solid #cfe3f4;border-radius:10px;color:#295f84;display:flex;gap:10px;padding:11px 13px}.material-audience-context[data-audience=PARENT]{background:#fff7e8;border-color:#efd7a4;color:#805d17}.material-audience-context>svg{flex:0 0 auto;height:20px;margin-top:1px;width:20px}.material-audience-context div{display:grid;grid-gap:2px;gap:2px;min-width:0}.material-audience-context span{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.material-audience-render{background:#f7faf9;border:1px solid var(--color-border);border-radius:12px;display:grid;grid-gap:14px;gap:14px;min-width:0;padding:16px}.material-audience-render-header{display:grid;grid-gap:3px;gap:3px}.material-audience-render-header h3{font-size:22px;line-height:1.2;margin:0;overflow-wrap:anywhere}.material-audience-render .learner-image-preview,.material-audience-render .learner-video-preview{max-height:min(58vh,620px)}.material-audience-render .learner-pdf-preview{height:min(58vh,620px)}.material-audience-render .learner-text-preview{max-height:min(58vh,620px)}.materials-guide-section>h4{align-items:center;display:flex;gap:8px}.materials-guide-section>h4 svg{color:var(--color-accent-dark);flex:0 0 auto}@media (max-width:1023px){.materials-header-actions{justify-content:flex-start}}@media (max-width:560px){.materials-header-actions{align-items:stretch;flex-direction:column;width:100%}.materials-header-actions .drive-add,.materials-header-actions button,.materials-header-actions>*{width:100%}.drive-folder-grid{grid-template-columns:minmax(0,1fr)}.drive-folder-tile{gap:13px;grid-template-columns:64px minmax(0,1fr);min-height:126px;padding:17px 14px}.drive-folder-icon{height:58px;width:64px}.drive-folder-icon svg{height:27px;width:27px}.drive-folder-content strong{font-size:17px}.material-audience-preview-button{background:var(--color-accent-soft);border:1px solid rgba(58,161,170,.28);justify-content:center;min-height:44px;padding:9px 12px;width:100%}.material-audience-preview-modal{gap:12px}.material-audience-tabs{grid-template-columns:1fr}.material-audience-render{padding:10px}.material-audience-render-header h3{font-size:19px}.material-audience-render .learner-pdf-preview{height:56vh}}.dashboard-stat-link{color:inherit;min-height:116px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.dashboard-stat-link:hover{border-color:rgba(58,161,170,.48);box-shadow:0 12px 28px rgba(17,26,29,.09);transform:translateY(-2px)}.dashboard-stat-link:focus-visible{outline:3px solid rgba(58,161,170,.28);outline-offset:3px}.stat-link-arrow{height:16px!important;margin-left:auto;width:16px!important}.dashboard-panel{align-content:start;display:grid;min-height:260px}.dashboard-priority-grid{align-items:stretch;display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-priority-grid>.card{height:100%;min-width:0}.dashboard-priority-grid .dashboard-notifications{align-content:start;min-height:260px}.dashboard-priority-grid .dashboard-event-list{grid-template-columns:minmax(0,1fr)}@media (max-width:1023px){.dashboard-priority-grid{grid-template-columns:minmax(0,1fr)}}.dashboard-panel-header{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.dashboard-panel-header .card-title{margin:0}.dashboard-inline-link,.dashboard-panel-link{align-items:center;color:var(--color-accent-dark);display:inline-flex;font-size:13px;font-weight:750;gap:3px;min-height:36px;padding:6px 4px}.dashboard-inline-link:hover,.dashboard-panel-link:hover{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.dashboard-panel-link svg{height:15px;width:15px}.dashboard-list .list-item{gap:14px}.dashboard-activity-item .item-main,.dashboard-attention-item .item-main,.dashboard-lesson-item .item-main,.dashboard-material-item .item-main{flex:1 1 auto;min-width:0}.dashboard-date-badge{flex:0 0 auto}.dashboard-status{color:var(--color-muted);font-size:12px;font-weight:750;justify-self:start}.dashboard-status[data-status=COMPLETED]{color:#2d7b4f}.dashboard-status[data-status=MISSED]{color:#9a6a13}.dashboard-status[data-status=CANCELLED]{color:var(--color-danger)}.dashboard-reasons{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}.dashboard-reason{background:#fff6e6;border-radius:999px;color:#8a5e12;font-size:11px;font-weight:750;padding:4px 7px}.dashboard-reason[data-reason=feedback]{background:var(--color-accent-soft);color:var(--color-accent-dark)}.dashboard-item-actions,.dashboard-panel-footer{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.dashboard-item-actions{flex:0 0 auto}.dashboard-panel-footer{border-top:1px solid var(--color-border);justify-content:flex-end;margin-top:14px;padding-top:8px}.dashboard-empty-state{align-content:center;color:var(--color-muted);display:grid;grid-gap:9px;gap:9px;justify-items:center;min-height:170px;padding:22px;text-align:center}.dashboard-empty-state svg{color:var(--color-accent);height:34px;width:34px}.dashboard-empty-state p{line-height:1.45;margin:0}.dashboard-error-state{align-items:center;display:grid;grid-gap:16px;gap:16px;grid-template-columns:auto minmax(0,1fr) auto}.dashboard-error-state>svg{color:var(--color-danger);height:28px;width:28px}.dashboard-error-state h2,.dashboard-error-state p{margin:0}.dashboard-error-state h2{font-size:18px}.dashboard-error-state p{color:var(--color-muted);line-height:1.45;margin-top:4px}@media (max-width:560px){.dashboard-stat-link{min-height:104px}.dashboard-error-state,.dashboard-panel-header{align-items:flex-start;grid-template-columns:1fr}.dashboard-panel-header{flex-direction:column;gap:4px}.dashboard-inline-link,.dashboard-panel-link{min-height:44px}.dashboard-date-badge{white-space:normal}.dashboard-item-actions,.dashboard-panel-footer{align-items:stretch;flex-direction:column;width:100%}.dashboard-item-actions .dashboard-inline-link,.dashboard-panel-footer .dashboard-inline-link{background:var(--color-accent-soft);border:1px solid rgba(58,161,170,.25);border-radius:8px;justify-content:center;padding:9px 12px;width:100%}.dashboard-error-state .secondary-button{width:100%}}.modal-card.event-form-modal{max-width:1060px;width:min(100%,1060px)}.modal-card.event-details-modal{max-width:900px;padding:0;width:min(100%,900px)}.day-agenda .day-agenda-list li{grid-template-columns:58px minmax(0,1fr) auto}@media (max-width:560px){.event-details-backdrop,.event-form-backdrop{align-items:stretch;padding:0}.modal-card.event-details-modal,.modal-card.event-form-modal{border:0;border-radius:0;max-height:100dvh;max-width:none;width:100%}.day-agenda .day-agenda-list li{grid-template-columns:48px minmax(0,1fr)}}.band-workspace,.bands-page{display:grid;grid-gap:16px;gap:16px;min-width:0}.band-card-counts,.band-detail-header,.band-detail-heading,.band-header-actions,.band-section-header,.bands-header,.bands-header-actions{align-items:center;display:flex;gap:12px}.band-detail-header,.band-section-header,.bands-header{justify-content:space-between}.band-people-section h3,.band-section-header h3,.bands-header .card-title{align-items:center;display:flex;gap:8px}.band-picker-search,.bands-search{align-items:end;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto auto}.bands-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.band-card{color:inherit;display:grid;grid-gap:12px;gap:12px;min-width:0;text-decoration:none;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.band-card:hover{border-color:rgba(58,161,170,.65);box-shadow:0 14px 30px rgba(38,123,130,.12);transform:translateY(-1px)}.band-card-icon{align-items:center;background:var(--color-accent-soft);border-radius:8px;color:var(--color-accent-dark);display:inline-flex;flex:0 0 auto;height:44px;justify-content:center;width:44px}.band-card-copy,.band-detail-heading>div{min-width:0}.band-card-copy h3,.band-card-copy p,.band-empty-section p{margin:0;overflow-wrap:anywhere}.band-card-copy p,.band-card-counts{color:var(--color-muted)}.band-card-counts{align-items:flex-start;flex-direction:column;font-size:13px;gap:5px}.band-card-counts span{align-items:center;display:flex;gap:6px}.band-empty-section,.bands-empty{align-items:center;color:var(--color-muted);display:grid;grid-gap:8px;gap:8px;justify-items:center;min-height:180px;text-align:center}.band-detail-heading{align-items:flex-start;min-width:0}.band-detail-heading .card-title,.band-detail-heading p{overflow-wrap:anywhere}.band-people-grid{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.band-form,.band-material-section,.band-people-section{display:grid;grid-gap:14px;gap:14px;min-width:0}.band-section-header h3{margin:0}.band-material-picker-list,.band-person-list,.band-picker-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.band-person-list li{align-items:center;border:1px solid var(--color-border);border-radius:8px;grid-gap:10px;gap:10px;grid-template-columns:auto minmax(0,1fr);padding:10px}.band-person-list li,.band-person-list li>span:last-child{display:grid;min-width:0}.band-person-list small,.band-person-list strong{overflow-wrap:anywhere}.band-person-avatar{align-items:center;background:var(--color-accent-soft);border-radius:999px;color:var(--color-accent-dark);display:flex;font-size:12px;font-weight:800;height:36px;justify-content:center;width:36px}.band-material-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.band-material-card{align-content:start;display:grid;grid-gap:8px;gap:8px;min-width:0}.band-material-card .secondary-button{justify-content:center}.bands-folder-tile{background:linear-gradient(145deg,rgba(58,161,170,.12),rgba(255,255,255,.7));border-color:rgba(58,161,170,.45)}.band-exclusive-toggle{align-items:flex-start;background:var(--color-accent-soft);border:1px solid rgba(58,161,170,.35);border-radius:8px;cursor:pointer;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto minmax(0,1fr);padding:12px}.band-exclusive-toggle>input{height:19px;margin-top:2px;width:19px}.band-exclusive-toggle-copy{display:grid;grid-gap:4px;gap:4px;min-width:0}.band-exclusive-toggle-copy strong{align-items:center;display:flex;gap:7px}.band-exclusive-toggle-copy small,.learner-material-source{color:var(--color-muted);overflow-wrap:anywhere}.learner-material-source{font-size:12px;line-height:1.35}.band-material-link-form,.band-material-link-list{display:grid;grid-gap:10px;gap:10px}.band-link-search{display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) auto}.band-material-pagination{margin-top:16px}.modal-card.band-modal-wide{max-width:820px;width:min(100%,820px)}.band-picker-search{grid-template-columns:minmax(0,1fr) auto}.band-picker-list{max-height:min(46vh,420px);overflow-y:auto}.band-material-picker-item,.band-picker-item{align-items:center;border:1px solid var(--color-border);border-radius:8px;display:flex;gap:10px;min-width:0;padding:11px 12px}.band-picker-item{cursor:pointer;min-height:46px}.band-picker-item input{height:18px;width:18px}.band-material-picker-item>span,.band-picker-item span{min-width:0;overflow-wrap:anywhere}.band-material-picker-item{justify-content:space-between}.band-material-picker-item>span{display:grid}@media (max-width:760px){.band-people-grid{grid-template-columns:1fr}.band-detail-header,.band-section-header,.bands-header{align-items:flex-start;flex-direction:column}.band-header-actions{flex-wrap:wrap;width:100%}.bands-header-actions{flex-wrap:wrap}}@media (max-width:560px){.band-link-search,.band-picker-search,.bands-search{align-items:stretch;grid-template-columns:1fr}.band-material-grid,.bands-grid{grid-template-columns:1fr}.band-header-actions,.band-header-actions>button,.band-material-picker-item>button,.band-section-header>button,.bands-header-actions,.bands-header-actions>*{width:100%}.band-material-picker-item{align-items:stretch;flex-direction:column}.modal-card.band-modal,.modal-card.band-modal-wide{max-height:calc(100dvh - 20px);width:100%}}.nav-section-separator{border-top:1px solid rgba(255,255,255,.16);margin:10px 8px 4px}.mobile-more-item[data-separated=true]{border-top:1px solid rgba(255,255,255,.16);border-top-left-radius:0;border-top-right-radius:0;margin-top:5px;padding-top:14px}.payment-create-form,.payment-detail-content,.payments-page{display:grid;grid-gap:1rem;gap:1rem;min-width:0}.payment-card-actions,.payment-charge-top,.payment-mock-actions,.payment-void-row,.payments-header,.payments-header-actions{align-items:center;display:flex}.payment-charge-top,.payments-header{gap:1rem;justify-content:space-between}.payments-header .card-title{margin-bottom:.35rem}.payment-card-actions,.payment-mock-actions,.payments-header-actions{flex-wrap:wrap;gap:.6rem}.payment-summary-grid{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(4,minmax(0,1fr))}.payment-summary-card{border-left:4px solid var(--color-accent);display:grid;grid-gap:.35rem;gap:.35rem}.payment-summary-card span{color:var(--color-muted);font-size:.85rem;font-weight:700}.payment-summary-card strong{font-family:var(--font-heading);font-size:1.8rem}.payment-summary-card[data-tone=paid]{border-left-color:#3d9567}.payment-summary-card[data-tone=overdue]{border-left-color:var(--color-danger)}.payment-summary-card[data-tone=processing]{border-left-color:var(--color-warning)}.payment-filters{align-items:end;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(150px,.8fr) minmax(190px,1.4fr) minmax(150px,.8fr) auto auto}.payment-action-form .field>span,.payment-create-form .field>span,.payment-filters .field>span{font-size:.85rem;font-weight:700}.payment-charge-grid{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(3,minmax(0,1fr))}.payment-charge-card{border-top:4px solid var(--color-accent);display:grid;grid-gap:.9rem;gap:.9rem;min-width:0}.payment-charge-card[data-status=PAID]{border-top-color:#3d9567}.payment-charge-card[data-status=CANCELLED],.payment-charge-card[data-status=OVERDUE]{border-top-color:var(--color-danger)}.payment-charge-card[data-status=PROCESSING]{border-top-color:var(--color-warning)}.modal-header>div,.payment-charge-top>div{min-width:0}.payment-charge-top h3{font-family:var(--font-heading);font-size:1.05rem;margin:.2rem 0 0;overflow-wrap:anywhere}.payment-status-badge{background:var(--color-accent-soft);border-radius:999px;color:var(--color-accent-dark);flex:0 0 auto;font-size:.75rem;font-weight:800;max-width:45%;overflow-wrap:anywhere;padding:.35rem .65rem;text-align:center}.payment-charge-amount{align-items:baseline;display:flex;flex-wrap:wrap;gap:.55rem;font-family:var(--font-heading);font-size:clamp(1.7rem,3vw,2.2rem);font-weight:800}.payment-charge-amount s,.payment-detail-summary s{color:var(--color-muted);font-size:.7em;font-weight:600}.payment-charge-amount span,.payment-detail-summary>span:not(.payment-plan-badge){color:var(--color-accent-dark);font-size:.78rem;font-weight:800}.payment-charge-facts{display:grid;grid-gap:.45rem;gap:.45rem;margin:0}.payment-charge-facts>div{display:flex;gap:.75rem;justify-content:space-between}.payment-charge-facts dt{color:var(--color-muted)}.payment-charge-facts dd{font-weight:700;margin:0;text-align:right}.payment-provider-note,.payments-empty p{color:var(--color-muted);line-height:1.5;margin:0;overflow-wrap:anywhere}.payment-provider-note{background:#fff8e7;border:1px solid #f0d99a;border-radius:8px;font-size:.83rem;padding:.65rem}.payments-empty{display:grid;grid-gap:.5rem;gap:.5rem;justify-items:center;min-height:210px;place-content:center;text-align:center}.payments-empty>svg{color:var(--color-accent);height:2rem;width:2rem}.payments-empty h3{margin:0}.payment-create-modal,.payment-detail-modal{max-width:880px;width:min(100%,880px)}.payment-guide-modal{max-width:760px;width:min(100%,760px)}.payment-admin-forms,.payment-form-grid{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.payment-fixed-price{align-items:center;background:var(--color-accent-soft);border-radius:8px;display:grid;grid-gap:.15rem;gap:.15rem;grid-template-columns:1fr auto;padding:.8rem 1rem}.payment-fixed-price strong{font-size:1.4rem;grid-row:span 2}.payment-fixed-price small{color:var(--color-muted)}.payment-plan-picker{border:1px solid var(--color-border);border-radius:10px;display:grid;grid-gap:.75rem;gap:.75rem;margin:0;min-width:0;padding:.8rem}.payment-plan-picker>legend{font-weight:800;padding:0 .35rem}.payment-plan-picker>p{margin:0}.payment-discount-row{align-items:end;display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:minmax(160px,240px) minmax(0,1fr)}.payment-discount-preview{align-items:center;background:var(--surface-soft);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem .85rem;margin:0;min-height:44px;min-width:0;padding:.55rem .85rem}.payment-discount-preview s,.payment-discount-preview>span{color:var(--color-muted);overflow-wrap:anywhere}.payment-discount-preview strong{color:var(--color-accent-dark);font-weight:800}.payment-discount-preview b{font-size:1.15rem}.payment-discount-preview[data-discounted=true] b{color:var(--color-accent-dark)}.payment-delete-modal{max-width:520px;width:min(100%,520px)}.payment-delete-content{display:grid;grid-gap:.85rem;gap:.85rem}.payment-delete-content>p{align-items:flex-start;display:flex;gap:.6rem;line-height:1.5;margin:0;overflow-wrap:anywhere}.payment-delete-content>p svg{color:var(--color-danger);flex:0 0 auto;margin-top:.15rem}.payment-plan-options{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.payment-plan-options>label{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;display:grid;grid-gap:.45rem;gap:.45rem;min-height:116px;min-width:0;padding:.75rem;position:relative}.payment-plan-options>label[data-selected=true]{background:var(--color-accent-soft);border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.payment-plan-options input{height:18px;position:absolute;right:.7rem;top:.75rem;width:18px}.payment-plan-option-heading{display:grid;grid-gap:.15rem;gap:.15rem;min-width:0;padding-right:1.8rem}.payment-plan-option-heading strong{font-family:var(--font-heading);overflow-wrap:anywhere}.payment-plan-option-heading b{color:var(--color-accent-dark);font-size:1.2rem}.payment-plan-options small{color:var(--color-muted);line-height:1.4;overflow-wrap:anywhere}.payment-plan-badge{background:var(--color-accent-soft);border-radius:999px;color:var(--color-accent-dark);display:inline-block;font-size:.76rem;font-weight:800;max-width:100%;overflow-wrap:anywhere;padding:.25rem .55rem}.payment-search-input{align-items:center;border:1px solid var(--color-border);border-radius:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:.2rem .2rem .2rem .7rem}.payment-search-input svg{color:var(--color-muted)}.payment-search-input input{border:0;outline:0}.payment-student-picker{border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:.25rem;gap:.25rem;margin:0;max-height:280px;overflow-y:auto;padding:.75rem}.payment-student-picker legend{font-weight:700;padding:0 .35rem}.payment-student-picker label{align-items:center;border-radius:8px;display:flex;gap:.65rem;min-height:44px;overflow-wrap:anywhere;padding:.55rem}.payment-student-picker label:hover{background:var(--color-accent-soft)}.payment-student-picker input{flex:0 0 auto;height:18px;width:18px}.payment-student-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:space-between}.payment-detail-summary{align-items:center;background:var(--surface-soft);border-radius:8px;display:flex;flex-wrap:wrap;gap:.6rem 1rem;padding:.8rem 1rem}.payment-detail-summary strong{font-size:1.45rem}.payment-discount-preview small{color:var(--color-accent-dark);font-weight:700;overflow-wrap:anywhere}.payment-detail-summary span{color:var(--color-muted)}.payment-action-form{border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:.75rem;gap:.75rem;min-width:0;padding:.85rem}.payment-action-form h4,.payment-detail-content section>h4{margin:0}.payment-history-list{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.65rem}.payment-history-row{background:var(--surface-soft);border-radius:8px;display:grid;grid-gap:.25rem;gap:.25rem;min-width:0;padding:.75rem}.payment-history-row small,.payment-history-row span{color:var(--color-muted);overflow-wrap:anywhere}.payment-attempt-receipt{justify-self:start;margin-top:.25rem}.payment-void-row{gap:.5rem;margin-top:.35rem}.payment-void-row input{border:1px solid var(--color-border);border-radius:8px;min-height:40px;padding:.5rem .65rem;width:100%}.payment-guide-section h4{align-items:center;display:flex;gap:.5rem}.payment-guide-section h4 svg{color:var(--color-accent-dark);flex:0 0 auto}.payment-guide-plan-list{display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}.payment-guide-plan-list article{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:9px;display:grid;grid-gap:.35rem;gap:.35rem;min-width:0;padding:.7rem}.payment-guide-plan-list article>span{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between}.payment-guide-plan-list article b{color:var(--color-accent-dark);flex:0 0 auto}.payment-guide-plan-list article p{color:var(--color-muted);font-size:.82rem;line-height:1.4;margin:0}.payment-mock-card{display:grid;grid-gap:.8rem;gap:.8rem;margin:clamp(1rem,8vh,5rem) auto;max-width:540px;padding:clamp(1.25rem,4vw,2.4rem);text-align:center}.payment-mock-card h2,.payment-mock-card p{margin:0}.payment-mock-card p{color:var(--color-muted);line-height:1.6}.payment-mock-icon{background:var(--color-accent-soft);border-radius:50%;color:var(--color-accent-dark);display:grid;height:64px;margin:0 auto;place-items:center;width:64px}.payment-mock-actions{justify-content:center;margin-top:.5rem}.payment-legal-footer{align-items:baseline;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:.45rem .8rem;margin-top:.25rem;padding:1rem .2rem .2rem}.payment-legal-footer-label{color:var(--color-muted);font-size:.85rem;font-weight:700}.payment-legal-footer a{align-items:center;color:var(--color-accent-dark);display:inline-flex;font-size:.85rem;gap:.25rem;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:2px}.legal-document-page,.legal-page{display:grid;grid-gap:1rem;gap:1rem;min-width:0}.legal-document-header,.legal-page-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.legal-document-header .card-title,.legal-page-header .card-title{margin-bottom:.35rem}.legal-language-note{background:var(--color-accent-soft);border-radius:999px;color:var(--color-accent-dark);font-size:.82rem;font-weight:700;max-width:100%;padding:.45rem .7rem;text-align:center}.legal-document-grid{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(3,minmax(0,1fr))}.legal-document-card{align-items:flex-start;color:var(--color-text);display:flex;gap:.75rem;min-height:116px;text-decoration:none}.legal-document-card:hover{border-color:var(--color-accent);transform:translateY(-1px)}.legal-document-card>svg{color:var(--color-accent);flex:0 0 auto;height:24px;margin-top:.1rem;width:24px}.legal-document-card>span{display:grid;grid-gap:.35rem;gap:.35rem;min-width:0}.legal-document-card small,.legal-document-card strong{overflow-wrap:anywhere}.legal-document-card strong{font-family:var(--font-heading);font-size:1.05rem}.legal-document-card small{color:var(--color-muted);line-height:1.4}.legal-anpc-card{background:var(--color-accent-soft)}.legal-back-link{color:var(--color-accent-dark);display:inline-block;font-size:.9rem;font-weight:700;margin-bottom:.65rem;text-decoration:underline;text-underline-offset:3px}.legal-document-frame{background:#ffffff;border:1px solid var(--color-border);border-radius:10px;display:block;height:clamp(560px,75dvh,920px);max-width:100%;min-width:0;width:100%}.merchant-information-header{background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent-soft) 72%,transparent),transparent 62%),var(--color-surface)}.merchant-country-badge{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-accent-dark);display:inline-flex;flex:0 0 auto;font-size:.85rem;font-weight:700;gap:.4rem;padding:.5rem .75rem}.merchant-information-layout{align-items:start;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);min-width:0}.merchant-contact-card,.merchant-details-card,.merchant-platforms-card{min-width:0}.merchant-company-heading{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:.85rem;margin-bottom:1rem;padding-bottom:1rem}.merchant-company-icon{background:var(--color-accent-soft);border-radius:12px;color:var(--color-accent-dark);display:grid;flex:0 0 auto;height:48px;place-items:center;width:48px}.merchant-company-heading span:not(.merchant-company-icon){color:var(--color-muted);display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;margin-bottom:.2rem;text-transform:uppercase}.merchant-company-heading h3,.merchant-contact-card h3,.merchant-platforms-card h3,.merchant-platforms-card p{margin:0}.merchant-company-heading h3{font-family:var(--font-heading);font-size:clamp(1.15rem,2vw,1.45rem);overflow-wrap:anywhere}.merchant-detail-list{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.merchant-detail-item{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:10px;min-width:0;padding:.8rem}.merchant-detail-item-wide{grid-column:1/-1}.merchant-detail-item dt{align-items:center;color:var(--color-muted);display:flex;font-size:.78rem;font-weight:700;gap:.35rem;margin-bottom:.3rem;text-transform:uppercase}.merchant-detail-item dd{font-size:.94rem;line-height:1.55;margin:0;overflow-wrap:anywhere}.merchant-information-sidebar{display:grid;grid-gap:1rem;gap:1rem;min-width:0}.merchant-contact-card,.merchant-platforms-card{display:grid;grid-gap:.8rem;gap:.8rem}.merchant-contact-card a{align-items:center;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);display:flex;gap:.65rem;min-height:52px;overflow-wrap:anywhere;padding:.65rem .75rem;text-decoration:none}.merchant-contact-card a:hover{border-color:var(--color-accent)}.merchant-contact-card a>svg{color:var(--color-accent-dark);flex:0 0 auto}.merchant-contact-card a small,.merchant-contact-card a span{display:block;min-width:0}.merchant-contact-card a small{color:var(--color-muted);font-size:.72rem;font-weight:700;margin-bottom:.15rem;text-transform:uppercase}.merchant-sidebar-heading{align-items:flex-start;display:flex;gap:.65rem}.merchant-sidebar-heading>svg{color:var(--color-accent-dark);flex:0 0 auto}.merchant-platforms-card p{color:var(--color-muted);font-size:.84rem;line-height:1.45;margin-top:.25rem}.merchant-platforms-card ul{display:grid;grid-gap:.5rem;gap:.5rem;list-style:none;margin:0;padding:0}.merchant-platforms-card li{align-items:center;display:flex;font-size:.9rem;gap:.55rem;min-width:0;overflow-wrap:anywhere}.merchant-platforms-card li:before{background:var(--color-accent);border-radius:50%;content:"";flex:0 0 auto;height:7px;width:7px}@media (max-width:1023px){.legal-document-grid,.payment-charge-grid,.payment-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.merchant-information-layout{grid-template-columns:1fr}.merchant-information-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.payment-charge-top,.payment-void-row,.payments-header{align-items:stretch;flex-direction:column}.payment-card-actions,.payment-card-actions>*,.payment-mock-actions,.payment-mock-actions>*,.payments-header-actions,.payments-header-actions>*{width:100%}.payment-admin-forms,.payment-form-grid,.payment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-charge-grid,.payment-filters{grid-template-columns:1fr}.payment-action-form>button,.payment-attempt-receipt,.payment-filters>a,.payment-filters>button,.payment-void-row>button{width:100%}.payment-search-input{grid-template-columns:auto minmax(0,1fr)}.payment-search-input>button{grid-column:1/-1;width:100%}.payment-status-badge{max-width:100%;width:-moz-fit-content;width:fit-content}.modal-card.payment-create-modal,.modal-card.payment-delete-modal,.modal-card.payment-detail-modal,.modal-card.payment-guide-modal{max-height:calc(100dvh - 20px);width:100%}.payment-discount-row{grid-template-columns:1fr}.legal-document-header,.legal-page-header{align-items:stretch;flex-direction:column}.legal-document-header .secondary-button{width:100%}.legal-document-grid{grid-template-columns:1fr}.legal-document-frame{height:min(68dvh,680px);min-height:460px}.merchant-country-badge{justify-content:center;width:100%}.merchant-detail-list,.merchant-information-sidebar{grid-template-columns:1fr}.merchant-detail-item-wide{grid-column:auto}.payment-guide-plan-list,.payment-plan-options{grid-template-columns:1fr}}@media (max-width:440px){.payment-admin-forms,.payment-fixed-price,.payment-form-grid,.payment-summary-grid{grid-template-columns:1fr}.payment-fixed-price strong{grid-row:auto}}.security-action-form,.security-panel,.security-workspace{display:grid;grid-gap:16px;gap:16px;min-width:0}.security-hero{background:linear-gradient(135deg,#f4fbfb,#fff 65%);display:grid;grid-gap:20px;gap:20px}.security-alert-banner,.security-card-actions,.security-export-notice,.security-filter-notice,.security-hero-heading,.security-inline-state,.security-pagination,.security-panel-header,.security-panel-heading,.security-privacy-note,.security-row-actions,.security-toolbar{align-items:center;display:flex;gap:10px}.security-hero-heading,.security-panel-heading{align-items:flex-start}.security-hero-heading h2,.security-panel-heading h3,.security-state-card h3,.security-unlock-card h3{margin:3px 0 5px}.security-hero-heading p,.security-panel-heading p,.security-state-card p,.security-unlock-card p{color:var(--color-muted);margin:0}.security-hero-icon,.security-panel-icon,.security-unlock-icon{align-items:center;background:var(--color-accent-soft);border-radius:12px;color:var(--color-accent-dark);display:flex;flex:0 0 auto;height:48px;justify-content:center;width:48px}.security-primary-tabs,.security-subtabs{display:flex;flex-wrap:wrap;gap:8px}.security-primary-tabs a,.security-subtabs button{align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);display:inline-flex;font:inherit;font-size:14px;font-weight:700;gap:7px;min-height:42px;padding:8px 14px;text-decoration:none}.security-primary-tabs a[data-active=true],.security-subtabs button[data-active=true]{background:var(--color-accent-dark);border-color:var(--color-accent-dark);color:#fff}.security-card-actions svg,.security-primary-tabs svg,.security-row-actions svg,.security-subtabs svg,.security-toolbar svg{height:17px;width:17px}.security-alert-banner{background:#fff4e2;border:1px solid #e3a439;border-radius:10px;color:#70460a;justify-content:space-between;padding:13px 16px;text-decoration:none}.security-alert-banner>span{display:grid;flex:1 1;grid-gap:2px;gap:2px}.security-unlock-card{align-items:start;display:grid;grid-gap:18px;gap:18px;grid-template-columns:auto minmax(0,1fr);margin:0 auto;max-width:720px;width:100%}.security-unlock-form{display:grid;grid-gap:12px;gap:12px;grid-column:2}.security-state-card{align-items:center;display:flex;gap:14px}.security-panel-header{align-items:flex-start;justify-content:space-between}.security-card-actions,.security-row-actions,.security-toolbar{flex-wrap:wrap;justify-content:flex-end}.security-filters{align-items:end;background:#fbfdfd;border:1px solid var(--color-border);border-radius:10px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:12px}.security-search-field{grid-column:span 2}.security-filter-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1}.security-export-notice,.security-filter-notice,.security-inline-state,.security-privacy-note{background:var(--color-accent-soft);border-radius:8px;color:var(--color-accent-dark);margin:0;padding:10px 12px}.security-export-notice a,.security-export-notice button,.security-filter-notice a{margin-left:auto}.security-danger-warning,.security-impact-preview[data-allowed=false],.security-inline-error{background:#fff0f0;color:#7f2d2d}.security-table-wrap{overflow-x:auto}.security-table{border-collapse:collapse;min-width:980px;width:100%}.security-table td,.security-table th{border-bottom:1px solid var(--color-border);padding:11px;text-align:left;vertical-align:top}.security-table th{color:var(--color-muted);font-size:12px}.security-event-meta,.security-event-name{display:block;max-width:270px;overflow-wrap:anywhere}.security-event-meta{color:var(--color-muted);font-size:12px;margin-top:3px}.security-card-list{display:none}.security-status-badge{background:#edf2f2;border-radius:999px;color:var(--color-muted);display:inline-flex;font-size:12px;font-weight:800;padding:5px 9px;white-space:nowrap}.security-status-badge[data-tone=critical],.security-status-badge[data-tone=denied],.security-status-badge[data-tone=failure]{background:#ffe3e3;color:#9b2929}.security-status-badge[data-tone=high],.security-status-badge[data-tone=warning]{background:#fff1d6;color:#82540d}.security-status-badge[data-tone=allowed],.security-status-badge[data-tone=success]{background:#e1f6e8;color:#24633a}.security-pagination{justify-content:flex-end}.security-danger-warning,.security-impact-preview{align-items:flex-start;border:1px solid;border-radius:8px;display:flex;gap:10px;padding:11px}.security-danger-warning p,.security-impact-preview p{margin:0}.security-form-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.security-details-modal{max-width:820px;width:min(100%,820px)}.security-code,.security-json-details{overflow-wrap:anywhere}.security-json-details{background:#111a1d;border-radius:8px;color:#dff4f5;font-size:12px;max-height:55vh;overflow:auto;padding:14px;white-space:pre-wrap}.security-spin{animation:security-spin .9s linear infinite}@keyframes security-spin{to{transform:rotate(1turn)}}@media (max-width:1023px){.security-table-wrap{display:none}.security-card-list,.security-mobile-card{display:grid;grid-gap:12px;gap:12px}.security-mobile-card{border:1px solid var(--color-border);border-radius:10px;min-width:0;padding:13px}.security-mobile-card-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.security-mobile-card-header span,.security-mobile-card-header strong{display:block;overflow-wrap:anywhere}.security-mobile-card-header span{color:var(--color-muted);font-size:12px;margin-top:3px}.security-mobile-details{display:grid;grid-gap:8px;gap:8px;margin:0}.security-mobile-details div{display:grid;grid-gap:2px;gap:2px;grid-template-columns:minmax(100px,.35fr) minmax(0,1fr)}.security-mobile-details dt{color:var(--color-muted);font-size:12px}.security-mobile-details dd{margin:0;overflow-wrap:anywhere}}@media (max-width:680px){.security-hero-heading,.security-panel-header,.security-toolbar{align-items:stretch;flex-direction:column}.security-primary-tabs,.security-subtabs{display:grid;grid-template-columns:1fr}.security-primary-tabs a,.security-subtabs button{border-radius:8px;width:100%}.security-search-field{grid-column:auto}.security-filters,.security-form-grid,.security-unlock-card{grid-template-columns:1fr}.security-unlock-form{grid-column:auto}.security-alert-banner{align-items:flex-start}}@media (max-width:560px){.security-card-actions,.security-card-actions button,.security-filter-actions,.security-filter-actions button,.security-pagination,.security-pagination button,.security-row-actions,.security-toolbar,.security-toolbar button{width:100%}.security-export-notice{align-items:stretch;flex-direction:column}.security-export-notice a,.security-export-notice button{margin-left:0;width:100%}.security-mobile-details div{grid-template-columns:1fr}.security-danger-modal,.security-details-modal,.security-ip-rule-modal{max-height:calc(100dvh - 20px)}}