.lems-route-root{background:var(--figma-background-subtle);width:100%;height:100dvh;min-height:0;overflow:hidden}.lems-skeleton{background:linear-gradient(90deg, var(--figma-border,#e5e7eb) 25%, var(--figma-table-header,#f3f4f6) 50%, var(--figma-border,#e5e7eb) 75%);background-size:200% 100%;flex-shrink:0;max-width:100%;animation:1.2s ease-in-out infinite lems-skeleton-shimmer;display:block}@keyframes lems-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.lems-skeleton{animation:none}}.lems-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lems-route-skeleton{background:var(--figma-background-subtle,#f7f8fa);width:100%;height:100dvh;display:flex;overflow:hidden}.lems-route-skeleton-sidebar{box-sizing:border-box;flex-direction:column;flex-shrink:0;gap:18px;width:240px;padding:20px 16px;display:flex}.lems-route-skeleton-main{background:var(--figma-background-regular,#fff);border-radius:16px;flex-direction:column;flex:1;gap:20px;min-width:0;margin:12px 12px 12px 0;padding:28px 32px;display:flex}.lems-route-skeleton-head{flex-direction:column;gap:10px;display:flex}.lems-route-skeleton-filters,.lems-route-skeleton-tabs{flex-wrap:wrap;gap:12px;display:flex}.lems-route-skeleton-tabs{border-bottom:1px solid var(--figma-border,#e5e7eb);gap:24px;padding-bottom:12px}.lems-route-skeleton-table{border:1px solid var(--figma-border,#e5e7eb);border-radius:8px;overflow:hidden}.lems-route-skeleton-row{border-bottom:1px solid var(--figma-border,#e5e7eb);align-items:center;gap:24px;height:56px;padding:0 16px;display:flex}.lems-route-skeleton-row:first-child{background:var(--figma-table-header,#f3f4f6);height:40px}.lems-route-skeleton-row:last-child{border-bottom:0}.lems-route-skeleton-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.lems-route-skeleton-card{border:1px solid var(--figma-border,#e5e7eb);border-radius:12px;flex-direction:column;gap:12px;padding:18px;display:flex}@media (max-width:720px){.lems-route-skeleton-sidebar{display:none}.lems-route-skeleton-main{border-radius:0;margin:0;padding:20px 16px}}.lems-route-status{color:var(--figma-muted);font:500 14px/1.5 var(--font-sans);margin:0;padding:24px}.fee-details-date,.fee-stats-date{color-scheme:normal}.fee-details-date::-webkit-calendar-picker-indicator{opacity:0;pointer-events:none;width:0}.fee-stats-date::-webkit-calendar-picker-indicator{opacity:0;pointer-events:none;width:0}.usage-rule{color:#7c2d12;background:#fff7f3;border:1px solid #fed7c7;border-radius:8px;align-items:flex-start;gap:10px;padding:13px 15px;display:flex}.usage-rule strong{color:#9a3412}.legacy-form-grid{grid-template-columns:repeat(3,1fr);gap:12px 16px;display:grid}.legacy-form-grid .span-3{grid-column:1/-1}.legacy-toolbar{border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}.legacy-count{color:#6b7280;font-size:13px;font-weight:600}.legacy-history{border-top:1px solid #e5e7eb}.legacy-history-item{border-bottom:1px solid #f3f4f6;padding:14px 18px}.legacy-history-item:hover{background:#fafafa}.legacy-breadcrumb{color:#6b7280;align-items:center;gap:6px;padding:0 24px 12px;font-size:13px;display:flex}.legacy-breadcrumb button{cursor:pointer;color:#ea5e2a;font-weight:700;font-family:var(--font-sans);background:0 0;border:none;padding:0}.fee-stats{color:#4b5563;flex-wrap:wrap;gap:20px;font-size:13.5px;display:flex}.fee-stats b{color:#0a0a0a;font-size:15px}.cal-cell{background:#fff;border:1px solid #f3f4f6;border-radius:8px;min-height:72px;padding:6px 8px}.cal-cell.today{background:#fff7f3;border:1.5px solid #ea5e2a}.cal-cell.has-fee{background:#eff6ff}.cal-cell.has-unpaid{background:#fef2f4}@media (max-width:1120px){.grammar-grid{grid-template-columns:1fr!important}.grammar-detail{position:static!important}}@media (max-width:760px){.lems-route-root>div>aside{display:none!important}.lems-route-root header{flex-wrap:wrap!important;gap:8px!important;padding:10px 12px!important}.lems-route-root header>div:first-child,.lems-route-root header>div:nth-child(2){display:none!important}.lems-route-root header>div{min-width:0!important}.grammar-main{padding:12px!important}.grammar-filter-grid{grid-template-columns:1fr!important}}.lems-students{gap:16px;display:grid}.lems-students-header h1{color:var(--figma-foreground);letter-spacing:-.6px;margin:0;font-size:20px;font-weight:600}.lems-students-header p{color:var(--figma-muted);margin:8px 0 0;font-size:14px}.lems-students-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lems-students-search{border:1px solid var(--figma-border);background:var(--figma-input-bg);min-width:200px;height:36px;color:var(--figma-foreground);border-radius:6px;flex:240px;padding:0 12px;font-size:13px}.lems-students-filters .ui-select{min-width:140px}.lems-students-table[aria-busy=true]{opacity:.6}.lems-student-cell{gap:2px;display:grid}.lems-student-cell strong{color:var(--figma-foreground);font-weight:600}.lems-student-cell span,.lems-student-muted{color:var(--figma-muted);font-size:12px}.lems-students-message{color:var(--figma-muted);text-align:center;margin:0;padding:16px;font-size:14px}.lems-students-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ui-pagination-gap{min-width:24px;color:var(--figma-muted);justify-content:center;display:inline-flex}.lems-page-header-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.lems-dialog-form{gap:14px;width:100%;min-width:0;display:grid}.lems-permissions{gap:16px;display:grid}.lems-permissions-message{background:var(--figma-background-subtle);color:var(--figma-foreground);border-radius:6px;margin:0;padding:10px 12px;font-size:13px}.lems-permissions-message[data-tone=error]{color:var(--destructive)}.lems-permissions-layout{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:16px;display:grid}.lems-permissions-roles{gap:8px;display:grid}.lems-permissions-roles ul{gap:2px;max-height:70vh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.lems-permissions-roles li button{width:100%;color:var(--figma-foreground);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;gap:2px;padding:8px 10px;display:grid}.lems-permissions-roles li button[aria-current=true]{background:var(--figma-accent)}.lems-permissions-roles li button span{color:var(--figma-muted);font-size:12px}.lems-permissions-tabs{gap:4px;display:flex}.lems-permissions-tabs button{border:1px solid var(--figma-border);background:var(--figma-input-bg);height:32px;color:var(--figma-foreground);cursor:pointer;border-radius:6px;flex:1;font-size:12px}.lems-permissions-tabs button[aria-selected=true]{border-color:var(--figma-foreground);background:var(--figma-foreground);color:var(--figma-background-regular)}.lems-permissions-detail{gap:12px;min-width:0;display:grid}.lems-permissions-summary{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lems-permissions-summary h2{margin:0;font-size:18px;font-weight:600}.lems-permissions-summary p{color:var(--figma-muted);margin:4px 0 0;font-size:13px}.lems-permissions-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lems-permissions-diff{color:var(--figma-muted);font-size:12px}.lems-permissions-group{border:1px solid var(--figma-border);background:var(--figma-background-regular);border-radius:8px}.lems-permissions-group summary{cursor:pointer;justify-content:space-between;padding:10px 14px;font-weight:600;display:flex}.lems-permissions-group summary span{color:var(--figma-muted);font-size:12px;font-weight:400}.lems-permissions-matrix th[scope=row]{text-align:left;white-space:nowrap;font-weight:500}.lems-permissions-matrix td{text-align:center}.lems-permissions-matrix input[data-changed]{outline:2px solid var(--accent,#ea5e2a);outline-offset:2px}@media (max-width:900px){.lems-permissions-layout{grid-template-columns:1fr}}.lems-permissions-view-tabs{max-width:320px;margin:4px 0 12px}.lems-assignments{gap:12px;display:grid}.lems-assignments-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.lems-assignments-toolbar .lems-students-filters{flex-wrap:nowrap;flex:auto;max-width:560px;margin:0}.lems-assignments-toolbar .lems-students-search{flex:160px;min-width:120px}.lems-assignment-reason{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:220px;display:inline-block;overflow:hidden}.lems-assignment-lookup{align-items:flex-end;gap:8px;display:flex}.lems-assignment-lookup>:first-child{flex:1;min-width:0}.lems-assignment-principal{border:1px solid var(--figma-border);background:var(--figma-input-bg);border-radius:8px;gap:4px;padding:10px 12px;font-size:13px;display:grid}.lems-assignment-principal span{color:var(--figma-muted,#6b7280)}.lems-assignment-principal ul{margin:4px 0 0;padding-left:18px}.lems-assignment-academies{gap:8px;display:grid}.lems-assignment-academies .ui-radio-group>div{gap:6px;max-height:220px;display:grid;overflow-y:auto}.lems-dash-controls{align-items:center;gap:8px;display:flex}.lems-dash-controls .ui-select{min-width:140px}.lems-dash-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px;display:grid}.lems-dash-card{border:1px solid var(--figma-border);background:var(--figma-background-regular);border-radius:12px;flex-direction:column;gap:12px;min-width:0;padding:18px;display:flex}.lems-dash-card>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.lems-dash-card h2{font-size:15px;font-weight:600}.lems-dash-source{color:var(--figma-muted);font-size:12px}.lems-dash-metrics{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:0;display:grid}.lems-dash>.lems-dash-metrics{border:1px solid var(--figma-border);background:var(--figma-background-regular);border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:16px}.lems-dash-metrics div{gap:4px;display:grid}.lems-dash-metrics dt{color:var(--figma-muted);font-size:12px}.lems-dash-metrics dd{color:var(--figma-foreground);margin:0;font-size:22px;font-weight:700}.lems-dash-metrics dd small{color:var(--figma-muted);margin-left:2px;font-size:12px;font-weight:500}.lems-dash-list{gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.lems-dash-list li{justify-content:space-between;gap:8px;min-width:0;display:flex}.lems-dash-ellipsis{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lems-dash-list li>span:last-child{color:var(--figma-muted);flex-shrink:0}.lems-dash-card .ui-table.lems-dash-table{table-layout:fixed;width:100%;min-width:0;font-size:13px}.lems-dash-table th,.lems-dash-table td{padding:8px}.lems-dash-empty{color:var(--figma-muted);margin:0;font-size:13px}.lems-dash-link{color:var(--figma-foreground);align-self:flex-end;margin-top:auto;font-size:13px;text-decoration:underline}
