[hidden]{display:none!important}
:root{
 --primary:#075ee8;--primary-2:#18aee8;--nav:#082c61;--nav-2:#064996;--bg:#f3f6fb;--surface:#fff;--surface-2:#f8faff;
 --ink:#0d2344;--muted:#6d7c95;--line:#dce5f2;--success:#0aa36c;--warn:#e89114;--danger:#d94343;--shadow:0 12px 30px rgba(19,52,97,.09);
 --rail:274px;--radius:20px;font-family:Inter,"Noto Sans Arabic",Tahoma,Arial,sans-serif;color-scheme:light;
}
html[data-theme="dark"]{--bg:#071426;--surface:#0d2039;--surface-2:#112a48;--ink:#edf5ff;--muted:#9fb0c7;--line:#254362;--shadow:0 14px 36px rgba(0,0,0,.3);color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.toast-root{position:fixed;left:24px;bottom:24px;z-index:5000;display:grid;gap:10px}.toast{min-width:260px;max-width:420px;padding:13px 16px;border-radius:14px;background:#102a4c;color:white;box-shadow:0 15px 40px rgba(0,0,0,.25);animation:toast-in .2s ease}.toast.err{background:#a52b37}.toast.ok{background:#087d59}@keyframes toast-in{from{transform:translateY(12px);opacity:0}}

/* Login */
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(440px,1.05fr) minmax(440px,.95fr);direction:ltr;background:linear-gradient(135deg,#e9f4ff,#f8fbff 60%,#eef4ff)}
.login-visual{direction:rtl;position:relative;overflow:hidden;background:linear-gradient(160deg,rgba(7,94,232,.88),rgba(20,153,228,.74)),url('unicloud-campus.webp') center/cover;min-height:100vh;display:grid;place-items:center;padding:60px;color:#fff}.login-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 18%,rgba(255,255,255,.25),transparent 35%),linear-gradient(0deg,rgba(2,29,72,.28),transparent 52%)}.login-brand{position:relative;max-width:640px;text-align:center}.login-logo{width:min(370px,72%);max-height:200px;object-fit:contain;margin:auto;display:block}.login-brand h1{font-size:clamp(34px,4vw,62px);margin:18px 0 10px}.login-brand>p{font-size:20px;line-height:1.9;max-width:560px;margin:auto}.login-values{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}.login-value{padding:18px 12px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.13);backdrop-filter:blur(10px);border-radius:18px;display:grid;gap:7px;justify-items:center}.login-value span{font-size:13px;opacity:.9}
.login-panel{direction:rtl;min-height:100vh;display:grid;place-items:center;padding:36px}.login-card{width:min(570px,100%);background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 30px 80px rgba(19,61,116,.14)}.login-tools{display:flex;gap:10px;justify-content:flex-start;margin-bottom:24px}.tool-btn,.icon-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:13px;min-height:44px;padding:0 13px;display:inline-flex;align-items:center;gap:8px;justify-content:center}.login-card h2{font-size:38px;margin:0 0 8px}.login-card>p{color:var(--muted);margin:0 0 24px}.tabs{display:flex;padding:5px;border:1px solid var(--line);background:var(--surface-2);border-radius:14px;margin-bottom:22px}.tabs button{flex:1;border:0;background:transparent;color:var(--muted);padding:11px;border-radius:10px;font-weight:800}.tabs button.active{background:var(--surface);color:var(--primary);box-shadow:0 4px 12px rgba(15,64,127,.08)}
.field{display:grid;gap:7px;margin-bottom:15px}.field label{font-weight:800;font-size:14px}.field input,.field select,.field textarea,.control{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:13px;min-height:48px;padding:10px 13px;outline:none}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.control:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(7,94,232,.1)}.locked-card{border:1px solid #bcd4ff;background:#eff5ff;padding:14px;border-radius:14px;margin-bottom:16px}.locked-card b{display:block;font-size:18px}.login-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 18px}.primary-btn,.secondary-btn,.ghost-btn,.danger-btn{border-radius:13px;min-height:45px;padding:0 17px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:800}.primary-btn{background:linear-gradient(135deg,var(--primary),#0b48bd);color:#fff;border:0;box-shadow:0 9px 20px rgba(7,94,232,.24)}.secondary-btn{background:var(--surface);color:var(--primary);border:1px solid #a9c6fb}.ghost-btn{background:var(--surface-2);color:var(--ink);border:1px solid var(--line)}.danger-btn{background:#fff1f1;color:var(--danger);border:1px solid #f3bcbc}.wide{width:100%}.demo-box{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:8px}.demo-account{border:1px solid var(--line);background:var(--surface-2);padding:10px 12px;border-radius:12px;text-align:start;color:var(--ink)}

/* App shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) var(--rail);direction:ltr}.side-rail{direction:rtl;grid-column:2;position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav),var(--nav-2));color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:90;overflow:auto}.rail-logo{height:86px;display:grid;place-items:center;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:17px}.rail-logo img{max-width:190px;max-height:68px}.rail-nav{display:grid;gap:8px}.rail-link{border:0;background:transparent;color:#dbeaff;border-radius:14px;padding:13px 14px;display:flex;gap:12px;align-items:center;text-align:right;font-weight:750}.rail-link:hover,.rail-link.active{background:linear-gradient(135deg,#1474ff,#075ee8);color:#fff}.rail-bottom{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:8px}.rail-bottom .rail-link{font-weight:650}.app-main{grid-column:1;direction:rtl;min-width:0}.topbar{height:82px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:14px;position:sticky;top:0;z-index:60}.profile-chip{display:flex;align-items:center;gap:10px;margin-inline-start:auto}.avatar{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:white;display:grid;place-items:center;font-weight:900}.profile-chip small{display:block;color:var(--muted)}.course-switch{min-width:230px}.page-root{padding:26px 30px 50px}.page{max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.page-head h1,.page-head h2{font-size:32px;margin:0 0 7px}.page-head p{color:var(--muted);margin:0;line-height:1.7}.eyebrow{color:var(--primary);font-size:13px;font-weight:900}.hero{background:linear-gradient(135deg,#0a53d0,#1c78f1 58%,#20b5d5);color:white;border-radius:24px;padding:34px;min-height:230px;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:410px;height:410px;border:70px solid rgba(255,255,255,.08);border-radius:50%;left:-150px;bottom:-180px}.hero-copy{position:relative}.hero h1{font-size:42px;margin:0 0 10px}.hero p{font-size:18px;opacity:.92}.hero-art{width:180px;height:150px;border-radius:24px;background:rgba(255,255,255,.13);display:grid;place-items:center}.hero-art .icon{width:74px;height:74px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.metric{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.metric strong{display:block;font-size:30px}.metric small{color:var(--muted)}.metric-icon,.list-icon{width:50px;height:50px;border-radius:15px;background:#eaf2ff;color:var(--primary);display:grid;place-items:center}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h3{margin:0}.panel-body{padding:20px}.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.action-card,.method-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:18px;color:var(--ink);text-align:right;display:grid;gap:8px;min-height:142px}.action-card:hover,.method-card:hover{border-color:#8db6fb;transform:translateY(-2px);box-shadow:var(--shadow)}.action-card .icon,.method-card .icon{color:var(--primary);width:30px;height:30px}.action-card small,.method-card small{color:var(--muted);line-height:1.6}.list{display:grid}.list-item{display:flex;gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.list-item>div:nth-child(2){flex:1;min-width:0}.list-item b{display:block}.list-item small{color:var(--muted);display:block;margin-top:4px}.status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.status.ok{background:#e8f8f1;color:#087f57}.status.warn{background:#fff5e6;color:#a66700}.status.err{background:#ffeded;color:#b2323d}.empty{padding:42px;text-align:center;color:var(--muted);display:grid;gap:12px;justify-items:center}.empty .icon{width:46px;height:46px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:15px}.toolbar .control{width:auto;min-width:180px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.data-table{width:100%;border-collapse:collapse;min-width:920px}.data-table th,.data-table td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.data-table th{background:var(--surface-2);font-size:13px;color:var(--muted);position:sticky;top:0}.data-table td.wrap{white-space:normal;min-width:180px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;direction:ltr;display:inline-block}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.full-span{grid-column:1/-1}.small{font-size:13px;color:var(--muted)}


/* Academic hierarchy */
.group-card{border:1px solid var(--line);border-radius:17px;background:var(--surface-2);overflow:hidden;min-height:150px}.group-card .panel-head{background:var(--surface);padding:14px 16px}.group-card .list{padding:0 16px}.group-card .list-item{padding:11px 0}.group-card .list-item>div{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.group-card .list-item small{margin:0}.field[hidden],[data-custom-groups][hidden]{display:none!important}

/* Attendance */
.method-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.method-card{min-height:170px}.attendance-session{border:1px solid var(--line);border-radius:17px;padding:16px;display:flex;gap:12px;align-items:center;margin-bottom:10px}.attendance-session>div:nth-child(2){flex:1}.attendance-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.qr-stage{min-height:360px;display:grid;place-items:center;text-align:center;background:var(--surface-2);border:1px dashed #a9c4eb;border-radius:18px;padding:22px}.qr-box{width:280px;height:280px;background:#fff;border-radius:16px;padding:14px;display:grid;place-items:center}.qr-box img,.qr-box canvas{max-width:100%!important;max-height:100%!important}.big-code{font:900 52px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:8px;direction:ltr;color:var(--primary)}.countdown{font-size:42px;font-weight:900;color:var(--primary)}.attendance-roster{max-height:480px;overflow:auto}.check-row{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line)}.check-row label{flex:1}.scanner-video{width:100%;min-height:280px;background:#020817;border-radius:17px;object-fit:cover}.scanner-fallback{display:grid;gap:10px;margin-top:14px}.student-session-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:14px}.success-card{padding:18px;border-radius:15px;background:#e9f9f2;color:#087f57;font-weight:800}.warn-card{padding:18px;border-radius:15px;background:#fff6e9;color:#945d00}.info-card{padding:18px;border-radius:15px;background:#edf4ff;color:#164f9f}

/* Modals */
.modal-back{position:fixed;inset:0;background:rgba(3,16,35,.62);backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px;z-index:2000}.modal{width:min(840px,100%);max-height:92vh;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.35);display:flex;flex-direction:column}.modal.wide{width:min(1180px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 21px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:23px}.modal-body{padding:21px;overflow:auto}.modal-foot{padding:16px 21px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-start}.question-card{border:1px solid var(--line);border-radius:15px;padding:17px;margin-bottom:13px}.option{display:flex;align-items:center;gap:9px;padding:10px;border-radius:10px}.option:hover{background:var(--surface-2)}

/* Responsive */
.mobile-menu{display:none}.bottom-nav{display:none}
@media(max-width:1150px){:root{--rail:232px}.metric-grid,.action-grid{grid-template-columns:repeat(2,1fr)}.method-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.attendance-workspace{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}}
@media(max-width:760px){:root{--rail:0px}.app-shell{display:block}.side-rail{position:fixed;right:0;transform:translateX(105%);width:280px;transition:.2s;box-shadow:0 0 60px rgba(0,0,0,.4)}.side-rail.open{transform:none}.app-main{width:100%}.topbar{height:auto;min-height:70px;padding:10px 14px}.profile-chip>div:not(.avatar){display:none}.course-switch{min-width:0;flex:1}.mobile-menu{display:inline-flex}.page-root{padding:18px 14px 90px}.page-head{display:block}.page-head>.row,.page-head>button{margin-top:13px}.hero{padding:24px;min-height:190px}.hero h1{font-size:30px}.hero-art{display:none}.metric-grid{grid-template-columns:1fr 1fr}.action-grid,.method-grid,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.login-card{padding:24px}.login-card h2{font-size:31px}.login-panel{padding:16px}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);z-index:80;padding:7px}.bottom-nav button{border:0;background:transparent;color:var(--muted);font-size:11px;display:grid;justify-items:center;gap:2px}.bottom-nav button.active{color:var(--primary)}.bottom-nav .icon{width:21px;height:21px}.qr-box{width:230px;height:230px}.big-code{font-size:36px}.modal-back{padding:9px}.modal{max-height:96vh;border-radius:18px}.login-values{grid-template-columns:1fr}.toolbar .control{min-width:0;width:100%}}

.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.check-grid .option{border:1px solid var(--line);background:var(--surface-2)}.danger-text{color:var(--danger)!important}.panel.full-span{grid-column:1/-1}
@media(max-width:760px){.check-grid{grid-template-columns:1fr}}

/* Academic progression and reporting */
.progression-operation{margin-top:18px}.progression-table th:first-child,.progression-table td:first-child{width:54px;text-align:center}.progression-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.status+.status{margin-inline-start:5px}.info-card small,.warn-card small{display:block;margin-top:6px;line-height:1.6}.data-table td small{display:block;color:var(--muted);margin-top:4px}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.check-row[hidden]{display:none!important}.progression-operation .check-row{align-self:end;min-height:49px}.history-note{line-height:1.75}.report-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:900px){.progression-operation.grid-3{grid-template-columns:1fr}.progression-operation .full-span{grid-column:auto}}

/* Institution accounts, student lists, and course builder */
.account-card,.roster-card,.course-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:17px;box-shadow:0 7px 20px rgba(19,52,97,.05);display:grid;gap:13px}.account-card:hover,.roster-card:hover,.course-card:hover{border-color:#9dbcf0;box-shadow:var(--shadow)}.account-card-head,.roster-card-head,.course-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.account-card h3,.roster-card h3,.course-card h3{margin:0 0 5px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.card-detail{padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.card-detail small{display:block;color:var(--muted);margin-bottom:4px}.card-actions,.panel-foot{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding-top:13px}.roster-grid,.course-grid,.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.roster-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.roster-stats span{display:inline-flex;align-items:center;min-height:31px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:12px;font-weight:800}.account-name{display:flex;align-items:center;gap:11px}.account-name .avatar{width:43px;height:43px;border-radius:13px}.account-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status.neutral{background:#eef2f7;color:#4c5c73}.status.archived{background:#f1eef7;color:#655475}.course-audience-preview{border:1px dashed #9fbce9;border-radius:16px;background:var(--surface-2);padding:15px}.course-audience-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.course-audience-list span{padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.import-sheet{border:1px solid var(--line);border-radius:17px;padding:16px;margin-top:13px;background:var(--surface)}.import-sheet h4{margin:0 0 12px}.import-preview-table{max-height:420px;overflow:auto}.section-divider{height:1px;background:var(--line);margin:18px 0}.muted-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:800}.required-mark{color:var(--danger)}
@media(max-width:980px){.account-grid,.roster-grid,.course-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.card-grid,.course-audience-list{grid-template-columns:1fr}.account-card-head,.roster-card-head,.course-card-head{display:grid}.card-actions,.panel-foot{display:grid;grid-template-columns:1fr}.card-actions button,.panel-foot button{width:100%}}

/* 0.12.0 — dynamic stage catalog, intelligent row-level import, unified academic scopes */
.stage-catalog-preview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:14px}.stage-catalog-preview span{min-height:42px;border:1px solid #aac5ee;border-radius:12px;background:linear-gradient(145deg,#eef5ff,#fff);display:grid;place-items:center;font-weight:900;color:var(--primary)}
.page-close-btn,.modal-close-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:13px;min-height:42px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:850;white-space:nowrap}.page-close-btn:hover,.modal-close-btn:hover{border-color:#8db6fb;background:#edf4ff;color:var(--primary)}.page-close-btn .icon,.modal-close-btn .icon{width:19px;height:19px}.modal-head{position:sticky;top:0;z-index:4;background:var(--surface);flex-shrink:0}.modal-foot{position:sticky;bottom:0;z-index:4;background:var(--surface);flex-shrink:0}.modal-attention{animation:modalAttention .22s ease}@keyframes modalAttention{0%,100%{transform:translateX(0)}35%{transform:translateX(5px)}70%{transform:translateX(-5px)}}
.import-context-card,.import-stage-summary{border:1px solid #a9c7f2;background:linear-gradient(135deg,#edf5ff,#f7fbff);border-radius:18px;padding:18px;margin-bottom:17px}.import-context-card .panel-head{padding:0 0 10px;border:0}.import-context-card h3,.import-stage-summary h3{margin:2px 0 4px}.import-context-card p,.import-stage-summary p{margin:0;color:var(--muted);line-height:1.75}.import-stage-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-top:18px}.import-stage-summary>div{min-width:0}.import-sheet-card{margin-top:15px;box-shadow:none}.import-sheet-card .panel-head small{display:block;color:var(--muted);margin-top:4px}.info-card.compact{padding:13px;margin-bottom:15px}.fallback-field{border:1px dashed #abc2e5;border-radius:14px;padding:12px;background:var(--surface-2)}.inference-confirm{margin-top:14px;border:1px solid #f1d59f;border-radius:14px;background:#fff9ef}.import-analysis{display:grid;gap:16px;margin-top:18px}.import-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.import-group-card{border:1px solid var(--line);border-radius:15px;padding:14px;background:var(--surface-2)}.import-group-card.has-errors{border-color:#e8aab0;background:#fff6f7}.import-group-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.import-group-card header b{font-size:18px}.import-group-card header small{display:block;color:var(--muted);font-weight:850;margin-top:4px}.import-group-meta{display:grid;gap:5px;margin-top:11px;font-size:12px;color:var(--muted)}
.course-audience-card{display:grid;gap:14px}.audience-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;color:var(--ink)}.audience-main{border:1px solid #b9ddcf;border-radius:14px;background:rgba(255,255,255,.72);padding:12px}.audience-main header{display:flex;align-items:center;justify-content:space-between;gap:10px}.audience-main header b{font-size:17px}.audience-main header span{font-size:12px;font-weight:900;color:#087f57}.audience-subs{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.audience-subs span{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;background:#e8f8f1;border:1px solid #c1ead8;font-size:12px}.audience-sample{padding-top:10px;border-top:1px solid #c1ead8;margin:0}.empty.compact{padding:17px}
@media(max-width:980px){.import-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.page-close-btn span{display:none}.page-close-btn{width:44px;padding:0}.modal-close-btn span{display:inline}.modal-head{padding:13px 14px}.modal-head h2{font-size:19px}.import-stage-summary{display:grid}.import-group-grid,.audience-tree{grid-template-columns:1fr}}

@media(max-width:760px){.stage-catalog-preview{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* UniCloud 0.13.0 — institutional foundation */
.unicloud-splash{position:fixed;inset:0;z-index:10000;display:grid;place-content:center;justify-items:center;gap:10px;color:#fff;background:radial-gradient(circle at 50% 32%,#178cf5 0,#075ee8 36%,#073570 100%);overflow:hidden;transition:opacity .48s ease,visibility .48s ease}.unicloud-splash.splash-hidden{opacity:0;visibility:hidden;pointer-events:none}.splash-logo-wrap{position:relative;width:min(350px,70vw);height:150px;display:grid;place-items:center;animation:splashRise .75s cubic-bezier(.2,.8,.2,1)}.splash-logo{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(0,25,79,.35))}.splash-shine{position:absolute;inset:0;overflow:hidden;mask:url('unicloud-lockup-light.svg') center/contain no-repeat;-webkit-mask:url('unicloud-lockup-light.svg') center/contain no-repeat;background:linear-gradient(105deg,transparent 35%,rgba(255,214,98,.95) 48%,transparent 61%);transform:translateX(-130%);animation:splashShine 1.7s .25s ease-in-out infinite}.unicloud-splash>strong{font-size:28px;letter-spacing:.8px}.unicloud-splash>p{margin:0;opacity:.85;font-weight:700}.splash-progress{width:190px;height:4px;background:rgba(255,255,255,.2);border-radius:999px;overflow:hidden;margin-top:14px}.splash-progress i{display:block;height:100%;width:45%;background:linear-gradient(90deg,#fff0a8,#fff);border-radius:inherit;animation:splashLoad 1.15s ease-in-out infinite}.splash-orbit{position:absolute;width:440px;height:440px;border:1px solid rgba(255,255,255,.14);border-radius:50%;animation:splashSpin 14s linear infinite}.splash-orbit:before,.splash-orbit:after{content:"";position:absolute;inset:55px;border:1px solid rgba(255,255,255,.1);border-radius:50%}.splash-orbit:after{inset:115px}.splash-orbit span{position:absolute;width:10px;height:10px;border-radius:50%;background:#ffe17e;box-shadow:0 0 22px #ffe17e}.splash-orbit span:nth-child(1){top:26px;left:50%}.splash-orbit span:nth-child(2){bottom:72px;left:18px}.splash-orbit span:nth-child(3){right:25px;top:62%}@keyframes splashRise{from{opacity:0;transform:translateY(24px) scale(.93)}to{opacity:1;transform:none}}@keyframes splashShine{0%,20%{transform:translateX(-130%)}70%,100%{transform:translateX(130%)}}@keyframes splashLoad{0%{transform:translateX(-115%)}100%{transform:translateX(335%)}}@keyframes splashSpin{to{transform:rotate(360deg)}}
.account-foundation{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr);gap:18px;margin-bottom:18px}.identity-card{background:linear-gradient(145deg,#082c61,#075ee8);color:#fff;border-radius:24px;padding:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}.identity-card:after{content:"";position:absolute;width:210px;height:210px;border:42px solid rgba(255,255,255,.08);border-radius:50%;inset:auto -75px -90px auto}.identity-card .identity-logo{width:150px;max-height:60px;object-fit:contain;margin-bottom:20px}.identity-card h2{margin:0 0 6px;font-size:29px}.identity-card p{margin:0;opacity:.82}.identity-meta{display:grid;gap:10px;margin-top:22px;position:relative;z-index:1}.identity-meta div{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-top:1px solid rgba(255,255,255,.16);padding-top:10px}.identity-meta small{opacity:.72}.identity-meta b{text-align:end}.authority-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}.authority-card header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.authority-lock{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:850;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:7px 10px}.authority-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.authority-field{border:1px solid var(--line);border-radius:15px;padding:13px;background:var(--surface-2)}.authority-field small{display:block;color:var(--muted);margin-bottom:5px}.authority-field b{font-size:16px}.workflow-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.workflow-step{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:16px;display:grid;gap:7px;position:relative}.workflow-step:not(:last-child):after{content:"";position:absolute;inset-inline-end:-13px;top:50%;width:14px;border-top:2px dotted #9ebbf1}.workflow-step strong{color:var(--primary)}.workflow-step small{color:var(--muted);line-height:1.55}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.permission-card{border:1px solid var(--line);border-radius:13px;padding:10px;background:var(--surface-2)}.permission-card input{accent-color:var(--primary)}.roster-owner{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.publication-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.publication-pill.published{background:#e8f8f1;color:#087f57}.publication-pill.draft{background:#fff6e8;color:#9a5e00}.publication-pill.withdrawn{background:#f3f4f6;color:#596273}.mapping-quality{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.mapping-chip{border:1px solid var(--line);background:var(--surface-2);padding:9px;border-radius:12px;font-size:12px}.mapping-chip b{display:block;color:var(--primary);margin-bottom:3px}.mapping-chip.low{border-color:#e6b3b8;background:#fff6f7}.print-sheet{display:none}.course-governance{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
@media print{body>*:not(.print-sheet){display:none!important}.print-sheet{display:block!important;color:#111;background:#fff;padding:20mm;direction:rtl}.print-sheet table{width:100%;border-collapse:collapse}.print-sheet th,.print-sheet td{border:1px solid #bbb;padding:7px;text-align:right}.print-sheet h1,.print-sheet h2{text-align:center}.print-sheet .print-meta{display:flex;justify-content:space-between;margin:12px 0}}
@media(max-width:980px){.account-foundation{grid-template-columns:1fr}.workflow-strip{grid-template-columns:repeat(2,1fr)}.mapping-quality{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.authority-grid,.permission-grid,.workflow-strip,.mapping-quality{grid-template-columns:1fr}.workflow-step:after{display:none}}

/* 0.13.0 — institution-governed foundation */
.course-governance{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px;margin-bottom:18px;border:1px solid #cfe0fb;border-radius:22px;background:linear-gradient(135deg,#f7faff,#eaf3ff)}
.course-governance h3{margin:4px 0 6px}.course-governance p{margin:0;color:var(--muted)}.course-governance>.row{grid-column:1/-1}.course-governance .roster-stats{justify-content:flex-end}
@media(max-width:760px){.course-governance{grid-template-columns:1fr}.course-governance .roster-stats{justify-content:flex-start}}
.fatal-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:16px;text-align:center;padding:32px;background:radial-gradient(circle at 50% 20%,#123d76,#071426);color:#fff}.fatal-screen img{width:min(320px,70vw);max-height:120px}.fatal-screen h1{margin:8px 0 0}.fatal-screen p{max-width:620px;line-height:1.8;opacity:.84}.field>.row{margin-top:9px;align-items:center}.field>.row small{color:var(--muted);line-height:1.55}
@media(prefers-reduced-motion:reduce){.splash-logo-wrap,.splash-shine,.splash-progress i,.splash-orbit,.toast{animation:none!important}.unicloud-splash{transition:none}}

/* Account wizard and control center */
.commercial-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,.55fr);gap:24px;align-items:center;padding:30px;border-radius:25px;background:linear-gradient(135deg,#082c61,#075ee8 62%,#19a6e5);color:#fff;box-shadow:var(--shadow);overflow:hidden;position:relative}.commercial-hero:after{content:"";position:absolute;width:360px;height:360px;border:65px solid rgba(255,255,255,.08);border-radius:50%;inset:auto -120px -170px auto}.commercial-hero h1{font-size:38px;margin:6px 0 10px}.commercial-hero p{font-size:17px;line-height:1.8;max-width:850px;opacity:.92}.commercial-hero .eyebrow{color:#cfe4ff}.commercial-badge{position:relative;z-index:1;display:grid;justify-items:center;gap:10px;text-align:center;padding:22px;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:rgba(255,255,255,.12);backdrop-filter:blur(12px)}.commercial-badge img{width:170px;height:70px;object-fit:contain}.commercial-badge b{font-size:20px}.commercial-badge small{opacity:.82}.quota-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quota-card{border:1px solid var(--line);background:var(--surface-2);border-radius:15px;padding:13px}.quota-card>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px}.quota-card small{color:var(--muted)}.quota-track{height:7px;border-radius:999px;background:#dce7f7;overflow:hidden;margin-top:10px}.quota-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--primary-2))}.license-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.license-summary>div{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:16px;box-shadow:var(--shadow)}.license-summary small{display:block;color:var(--muted);margin-bottom:7px}.license-summary b{line-height:1.55}.plan-card{border:1px solid var(--line);border-radius:17px;background:var(--surface-2);padding:18px;display:grid;gap:8px}.plan-card h3,.plan-card p{margin:0}.plan-card p,.plan-card small{color:var(--muted)}.account-type-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#e9f2ff;color:#075ee8;font-size:12px;font-weight:900}.block{display:block}.compact-search{min-width:270px;max-width:370px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);color:var(--ink);padding:10px 13px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.permission-card.disabled,.permission-matrix-row.disabled{opacity:.48;pointer-events:none}.permission-matrix{display:grid;gap:8px}.permission-matrix-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:14px;align-items:center;border:1px solid var(--line);background:var(--surface-2);border-radius:13px;padding:10px 12px}.permission-matrix-row label{display:flex;align-items:center;gap:6px;font-size:12px}.institution-tree-row{padding-inline-start:calc(var(--tree-depth,0) * 24px + 4px)}.institution-tree-row:before{content:"";width:calc(var(--tree-depth,0) * 18px);height:1px;background:var(--line);flex:0 0 auto}.danger-text{color:var(--danger)!important}
@media(max-width:1050px){.commercial-hero{grid-template-columns:1fr}.commercial-badge{display:none}.license-summary{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.quota-grid,.license-summary,.grid-4{grid-template-columns:1fr}.permission-matrix-row{grid-template-columns:1fr}.compact-search{min-width:0;width:100%}.panel-head{align-items:stretch;flex-direction:column}.commercial-hero{padding:22px}.commercial-hero h1{font-size:30px}}
.governance-parent-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 18px;padding:12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,var(--surface-2),rgba(7,94,232,.045))}.governance-parent-summary>div{min-width:0;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid rgba(116,145,184,.18)}.governance-parent-summary small{display:block;color:var(--muted);margin-bottom:5px}.governance-parent-summary b{display:block;line-height:1.55;overflow-wrap:anywhere}.permission-matrix-row input[type="checkbox"],.permission-card input[type="checkbox"]{accent-color:var(--primary)}
@media(max-width:760px){.governance-parent-summary{grid-template-columns:1fr}}

/* Account provisioning and full control center */
.governance-wizard{display:grid;gap:18px}.wizard-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;position:relative}.wizard-step{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 10px;border:1px solid var(--line);background:var(--surface-2);border-radius:13px;color:var(--muted);transition:.18s}.wizard-step span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);font-weight:900;flex:0 0 auto}.wizard-step b{font-size:12px;line-height:1.35}.wizard-step.active{border-color:#75a9ff;background:#edf4ff;color:var(--primary);box-shadow:0 8px 22px rgba(7,94,232,.12)}.wizard-step.active span{background:var(--primary);border-color:var(--primary);color:#fff}.wizard-step.done{border-color:#a8dec5;background:#effaf5;color:#157347}.wizard-step.done span{background:#1d9b61;border-color:#1d9b61;color:#fff}.wizard-context{padding:14px 16px;border-radius:15px;border:1px solid #bed4fa;background:linear-gradient(135deg,#f2f7ff,#fff);display:flex;gap:14px;align-items:flex-start}.wizard-context p{margin:0;color:var(--muted);line-height:1.75}.wizard-panel{min-height:280px}.wizard-foot-spacer{flex:1}.wizard-section-head{display:flex;align-items:flex-start;gap:13px;padding:15px 16px;margin-bottom:16px;border:1px solid var(--line);background:linear-gradient(135deg,var(--surface-2),rgba(7,94,232,.04));border-radius:17px}.wizard-section-head.compact{margin-top:20px}.wizard-section-head>span{width:44px;height:44px;border-radius:13px;background:#e9f2ff;color:var(--primary);display:grid;place-items:center;flex:0 0 auto}.wizard-section-head .icon{width:23px;height:23px}.wizard-section-head h3,.wizard-section-head p{margin:0}.wizard-section-head p{color:var(--muted);margin-top:4px;line-height:1.6}.security-note,.large-note,.locked-scope-card{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}.security-note .icon,.large-note .icon,.locked-scope-card .icon{color:var(--primary);flex:0 0 auto}.security-note b,.security-note span,.large-note b,.large-note span,.locked-scope-card small,.locked-scope-card b,.locked-scope-card span{display:block}.security-note span,.large-note span,.locked-scope-card span{color:var(--muted);margin-top:3px;line-height:1.6}.quota-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.quota-input{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);padding:12px 13px}.quota-input small{display:block;color:var(--muted);margin-top:3px}.quota-input input{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);padding:10px;text-align:center;font-weight:850}.account-type-choice{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:9px}.account-type-choice>span{width:34px;height:34px;border-radius:10px;background:#e9f2ff;color:var(--primary);display:grid;place-items:center}.account-type-choice .icon{width:19px;height:19px}.permission-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}.permission-group{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);margin-bottom:12px}.permission-group>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;background:var(--surface-2);border-bottom:1px solid var(--line)}.permission-group>header b,.permission-group>header small{display:block}.permission-group>header small{color:var(--muted);margin-top:3px}.permission-group>header>span{min-width:46px;text-align:center;border-radius:999px;background:#e9f2ff;color:var(--primary);padding:5px 9px;font-weight:900}.permission-group .permission-matrix{padding:10px}.permission-name small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.status.muted{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.review-banner{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:17px;color:#fff;background:linear-gradient(135deg,#082c61,#075ee8);margin-bottom:16px}.review-banner>.icon{width:30px;height:30px;flex:0 0 auto}.review-banner h3,.review-banner p{margin:0}.review-banner p{opacity:.88;margin-top:5px;line-height:1.7}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.review-grid article{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:13px;min-width:0}.review-grid article.full{grid-column:1/-1}.review-grid small,.review-grid b{display:block}.review-grid small{color:var(--muted);margin-bottom:6px}.review-grid b{overflow-wrap:anywhere}.review-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.review-tags span{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 10px;font-size:12px}.review-confirm{display:flex;gap:10px;align-items:flex-start;margin-top:15px;padding:14px;border:1px solid #f2cb7b;background:#fff8e9;border-radius:14px;font-weight:750;line-height:1.7}.account-action-row{flex-wrap:wrap}.account-control-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#082c61,#075ee8 65%,#19a6e5);margin-bottom:16px}.account-control-hero h2,.account-control-hero p{margin:7px 0 0}.account-control-hero .account-type-pill{background:rgba(255,255,255,.16);color:#fff}.account-control-status{display:grid;justify-items:end;gap:5px;min-width:190px}.account-control-status code{color:#fff;background:rgba(255,255,255,.13);padding:6px 9px;border-radius:9px}.control-tabs{display:grid;gap:15px}.control-section{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:16px}.control-section>header{margin-bottom:13px}.control-section>header h3,.control-section>header small{display:block;margin:0}.control-section>header small{color:var(--muted);margin-top:4px;line-height:1.6}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-grid>div{padding:12px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line);min-width:0}.detail-grid small,.detail-grid b{display:block}.detail-grid small{color:var(--muted);margin-bottom:5px}.detail-grid b{overflow-wrap:anywhere}.audit-mini-list{display:grid;gap:8px}.audit-mini-list>div{display:grid;grid-template-columns:minmax(150px,.5fr) auto minmax(180px,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.audit-mini-list span,.audit-mini-list small{color:var(--muted)}.account-control-actions{flex-wrap:wrap}.locked-scope-card{margin-bottom:16px}.locked-scope-card>div{min-width:0}.account-policy-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding:17px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(135deg,var(--surface-2),rgba(7,94,232,.05));margin-bottom:16px}.account-policy-head h3,.account-policy-head p{margin:6px 0 0}.account-policy-head p{color:var(--muted)}
html[data-theme="dark"] .wizard-context{background:linear-gradient(135deg,rgba(7,94,232,.16),var(--surface));border-color:#24518d}html[data-theme="dark"] .wizard-step.active{background:rgba(7,94,232,.18)}html[data-theme="dark"] .review-confirm{background:rgba(216,163,25,.12);border-color:#7a5f1c}
@media(max-width:980px){.wizard-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.review-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quota-editor-grid{grid-template-columns:1fr}}
@media(max-width:620px){.wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-step b{font-size:11px}.review-grid,.detail-grid{grid-template-columns:1fr}.account-control-hero,.account-policy-head{display:grid}.account-control-status{justify-items:start;min-width:0}.audit-mini-list>div{grid-template-columns:1fr}.quota-input{grid-template-columns:1fr}.permission-presets button{flex:1 1 45%}}

/* Professional card-based account and licensing center */
.account-center-page{display:grid;gap:18px}.account-center-head{align-items:flex-end}.governance-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.governance-metric-grid .metric{min-height:112px;padding:17px 18px}.governance-metric-grid .metric strong{font-size:32px}.account-register{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:visible}.account-register-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line)}.account-register-head h3{margin:0 0 4px;font-size:22px}.account-layout-switch{display:inline-flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.account-layout-switch button{border:0;background:transparent;color:var(--muted);border-radius:9px;padding:8px 11px;display:inline-flex;align-items:center;gap:7px;font-weight:850;cursor:pointer}.account-layout-switch button.active{background:var(--surface);color:var(--primary);box-shadow:0 4px 14px rgba(17,54,101,.1)}.account-layout-switch .icon{width:18px;height:18px}.account-filter-bar{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(4,minmax(135px,.65fr)) auto;gap:9px;padding:14px 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--surface-2),var(--surface))}.account-filter-bar select,.account-search-box{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}.account-filter-bar select{padding:0 11px;font-weight:750}.account-search-box{display:flex;align-items:center;gap:9px;padding:0 12px}.account-search-box .icon{width:19px;height:19px;color:var(--muted);flex:0 0 auto}.account-search-box input{border:0;outline:0;background:transparent;color:var(--ink);width:100%;min-width:0;font:inherit}.account-filter-clear{min-height:44px;white-space:nowrap}.account-results-line{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 22px;color:var(--muted);font-size:13px}.account-results-line b{color:var(--ink);font-size:17px}.governance-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 22px 22px}.governance-account-card{--account-accent:#075ee8;position:relative;min-width:0;display:flex;flex-direction:column;gap:13px;padding:17px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:0 9px 26px rgba(17,54,101,.075);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.governance-account-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;border-radius:19px 19px 0 0;background:var(--account-accent)}.governance-account-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--account-accent) 35%,var(--line));box-shadow:0 15px 34px rgba(17,54,101,.12)}.governance-account-card.type-university{--account-accent:#075ee8}.governance-account-card.type-college{--account-accent:#7048e8}.governance-account-card.type-department{--account-accent:#0b9f9a}.governance-account-card.type-teacher{--account-accent:#169b62}.governance-account-card.type-student{--account-accent:#60738f}.account-card-head{display:grid;grid-template-columns:43px minmax(0,1fr);gap:11px;align-items:start;padding-top:3px}.account-card-avatar{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--account-accent) 11%,var(--surface));color:var(--account-accent);border:1px solid color-mix(in srgb,var(--account-accent) 20%,var(--line))}.account-card-avatar .icon{width:22px;height:22px}.account-card-title{min-width:0}.account-card-title-line{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:7px}.account-card-title-line .account-type-pill{background:color-mix(in srgb,var(--account-accent) 11%,var(--surface));color:var(--account-accent);padding:4px 8px}.account-card-title-line .status{font-size:10px;padding:4px 8px}.account-card-title h3{font-size:17px;line-height:1.45;margin:0;overflow-wrap:anywhere}.account-card-title>small{display:block;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-card-path{display:flex;align-items:flex-start;gap:7px;min-height:39px;padding:9px 10px;border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:12px;line-height:1.6}.account-card-path .icon{width:17px;height:17px;flex:0 0 auto;color:var(--account-accent);margin-top:1px}.account-card-path span{overflow-wrap:anywhere}.account-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.account-card-facts>div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.account-card-facts small,.account-card-facts b,.account-card-facts span{display:block}.account-card-facts small{color:var(--muted);font-size:10px;margin-bottom:4px}.account-card-facts b{font-size:13px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-card-facts span{color:var(--muted);font-size:10px;margin-top:3px}.account-card-facts span.attention{color:#b56a00;font-weight:850}.account-card-quotas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:1px}.account-mini-quota{border:1px solid var(--line);border-radius:11px;padding:8px 9px;background:var(--surface)}.account-mini-quota>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.account-mini-quota small{color:var(--muted);font-size:10px}.account-mini-quota b{font-size:12px}.account-mini-quota b span{color:var(--muted);font-weight:650}.account-mini-quota .quota-track{height:5px;margin-top:7px}.governance-account-card footer{margin-top:auto;padding-top:2px}.account-card-actions{display:flex;align-items:center;gap:7px}.account-card-primary,.account-card-secondary{height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:850;cursor:pointer}.account-card-primary{flex:1;border:0;background:var(--primary);color:#fff;padding:0 12px}.account-card-secondary{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);padding:0 11px}.account-card-primary .icon,.account-card-secondary .icon{width:17px;height:17px}.account-more-menu{position:relative}.account-more-menu>summary{list-style:none;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);display:grid;place-items:center;color:var(--ink);cursor:pointer}.account-more-menu>summary::-webkit-details-marker{display:none}.account-more-menu>summary .icon{width:18px;height:18px}.account-more-menu[open]>summary{border-color:#9bbcf2;color:var(--primary);background:#eef5ff}.account-more-popover{position:absolute;z-index:40;inset-inline-end:0;bottom:46px;width:215px;padding:7px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 45px rgba(13,42,82,.2);display:grid;gap:3px}.account-more-popover button{border:0;background:transparent;color:var(--ink);border-radius:9px;padding:9px 10px;display:flex;align-items:center;gap:9px;text-align:start;font-weight:750;cursor:pointer}.account-more-popover button:hover{background:var(--surface-2)}.account-more-popover button.danger-text:hover{background:#fff0f1}.account-more-popover .icon{width:17px;height:17px}.governance-account-grid.compact-layout{grid-template-columns:1fr}.governance-account-grid.compact-layout .governance-account-card{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(200px,1.15fr) minmax(340px,1.4fr) auto;align-items:center;gap:13px;padding:14px 16px}.governance-account-grid.compact-layout .account-card-head{padding:0}.governance-account-grid.compact-layout .account-card-path{min-height:0}.governance-account-grid.compact-layout .account-card-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.governance-account-grid.compact-layout .account-card-quotas{display:none}.governance-account-grid.compact-layout footer{margin:0;padding:0;min-width:240px}.account-register-empty{grid-column:1/-1;min-height:180px;display:grid;place-items:center}.drawer-back{padding:0;place-items:stretch;background:rgba(3,16,35,.52)}.drawer-back .account-drawer{position:absolute;top:0;bottom:0;left:0;width:min(700px,94vw);max-height:none;height:100%;border-radius:0 24px 24px 0;border-inline-start:0;animation:accountDrawerIn .2s ease-out}.drawer-back .account-drawer .modal-head{position:sticky;top:0;z-index:3;background:var(--surface)}.drawer-back .account-drawer .modal-body{padding:18px 20px}.drawer-back .account-drawer .modal-foot{position:sticky;bottom:0;z-index:3;background:var(--surface);box-shadow:0 -10px 25px rgba(17,54,101,.06)}@keyframes accountDrawerIn{from{transform:translateX(-25px);opacity:.45}to{transform:none;opacity:1}}
@media(max-width:1250px){.governance-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.governance-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-filter-bar{grid-template-columns:minmax(240px,1.5fr) repeat(2,minmax(145px,.7fr));}.account-filter-clear{width:max-content}.governance-account-grid.compact-layout .governance-account-card{grid-template-columns:minmax(230px,1fr) minmax(250px,1fr) auto}.governance-account-grid.compact-layout .account-card-facts{display:none}}
@media(max-width:820px){.governance-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-register-head,.account-results-line{align-items:stretch;flex-direction:column}.account-filter-bar{grid-template-columns:1fr 1fr}.account-search-box{grid-column:1/-1}.governance-account-grid{grid-template-columns:1fr;padding-inline:14px}.account-register-head,.account-filter-bar,.account-results-line{padding-inline:14px}.governance-account-grid.compact-layout .governance-account-card{display:flex}.governance-account-grid.compact-layout .account-card-facts{display:grid}.governance-account-grid.compact-layout footer{min-width:0}.drawer-back .account-drawer{width:100%;border-radius:0}.account-control-hero{flex-direction:column}.account-control-status{justify-items:start}}
@media(max-width:520px){.account-filter-bar{grid-template-columns:1fr}.account-search-box{grid-column:auto}.account-card-facts,.account-card-quotas{grid-template-columns:1fr}.account-card-title-line{align-items:flex-start}.account-card-actions{flex-wrap:wrap}.account-card-primary{min-width:160px}.governance-metric-grid{grid-template-columns:1fr 1fr}.governance-metric-grid .metric{min-height:96px}}
.account-card-secondary{width:38px;flex:0 0 38px;padding:0}.account-card-secondary span{display:none}.account-card-policy{color:var(--primary);background:#eef5ff;border-color:#cfe0fb}

/* Institutional scope hierarchy for account governance */
.governance-scope-tree{display:grid;gap:16px;padding:0 22px 22px}.governance-scope-node{--scope-accent:#075ee8;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 10px 28px rgba(17,54,101,.075);overflow:visible}.governance-scope-node.type-university{--scope-accent:#075ee8}.governance-scope-node.type-college{--scope-accent:#7048e8}.governance-scope-node.type-department{--scope-accent:#0b9f9a}.governance-scope-node[hidden]{display:none}.governance-scope-summary{list-style:none;display:grid;grid-template-columns:32px 48px minmax(230px,.9fr) minmax(280px,1.35fr);align-items:center;gap:12px;padding:15px 17px;border-radius:19px;cursor:pointer;background:linear-gradient(135deg,color-mix(in srgb,var(--scope-accent) 8%,var(--surface)),var(--surface));border-inline-start:5px solid var(--scope-accent)}.governance-scope-summary::-webkit-details-marker{display:none}.scope-node-toggle{width:30px;height:30px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;color:var(--muted);background:var(--surface);transition:transform .18s ease,color .18s ease,border-color .18s ease}.scope-node-toggle .icon{width:17px;height:17px;transform:rotate(180deg);transition:transform .18s ease}.governance-scope-node[open]>.governance-scope-summary .scope-node-toggle{color:var(--scope-accent);border-color:color-mix(in srgb,var(--scope-accent) 35%,var(--line))}.governance-scope-node[open]>.governance-scope-summary .scope-node-toggle .icon{transform:rotate(90deg)}.scope-node-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--scope-accent) 12%,var(--surface));color:var(--scope-accent);border:1px solid color-mix(in srgb,var(--scope-accent) 24%,var(--line))}.scope-node-avatar .icon{width:24px;height:24px}.scope-node-identity{min-width:0;display:grid;gap:5px}.scope-node-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scope-node-title-line>b{font-size:18px;line-height:1.4}.scope-node-title-line .account-type-pill{background:color-mix(in srgb,var(--scope-accent) 11%,var(--surface));color:var(--scope-accent)}.scope-node-identity>small{color:var(--muted);font-weight:700}.scope-node-counts{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.scope-node-counts>span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:850;white-space:nowrap}.scope-node-counts .icon{width:15px;height:15px;color:var(--scope-accent)}.scope-node-counts .scope-total-pill{background:color-mix(in srgb,var(--scope-accent) 10%,var(--surface));border-color:color-mix(in srgb,var(--scope-accent) 24%,var(--line));color:var(--scope-accent)}.governance-scope-body{display:grid;gap:15px;padding:0 17px 17px;border-top:1px solid var(--line)}.scope-owner-section,.scope-children-section,.platform-direct-accounts{display:grid;gap:12px;padding-top:15px}.scope-owner-section>header,.scope-children-section>header,.platform-direct-accounts>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.scope-owner-section h4,.scope-children-section h4,.platform-direct-accounts h4{margin:2px 0 0;font-size:16px}.scope-section-count,.scope-group-count{min-width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);font-weight:900;color:var(--ink)}.scope-owner-grid,.scope-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.scope-owner-grid .governance-account-card,.scope-account-grid .governance-account-card{padding:14px;border-radius:16px;box-shadow:0 6px 18px rgba(17,54,101,.06)}.scope-owner-grid .governance-account-card:before,.scope-account-grid .governance-account-card:before{border-radius:16px 16px 0 0}.scope-owner-grid .account-card-path,.scope-account-grid .account-card-path{display:none}.scope-owner-grid .account-card-facts,.scope-account-grid .account-card-facts{gap:6px}.scope-owner-grid .account-card-facts>div,.scope-account-grid .account-card-facts>div{padding:8px}.scope-owner-grid .account-card-quotas,.scope-account-grid .account-card-quotas{display:none}.scope-current-note{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px dashed color-mix(in srgb,var(--scope-accent) 35%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--scope-accent) 6%,var(--surface));color:var(--muted)}.scope-current-note .icon{width:19px;height:19px;color:var(--scope-accent);flex:0 0 auto}.governance-scope-children{display:grid;gap:13px;padding-inline-start:24px;margin-inline-start:8px;border-inline-start:2px solid color-mix(in srgb,var(--scope-accent) 24%,var(--line))}.governance-scope-children>.governance-scope-node{box-shadow:none;border-radius:17px}.governance-scope-children>.governance-scope-node>.governance-scope-summary{border-radius:16px;padding:13px 14px;grid-template-columns:30px 42px minmax(210px,.9fr) minmax(240px,1.2fr)}.governance-scope-children .scope-node-avatar{width:42px;height:42px;border-radius:12px}.governance-direct-account-group{border:1px solid var(--line);border-radius:16px;background:var(--surface-2);overflow:visible}.governance-direct-account-group[hidden]{display:none}.governance-direct-account-group>summary{list-style:none;display:grid;grid-template-columns:40px minmax(0,1fr) 34px 30px;align-items:center;gap:10px;padding:12px 14px;cursor:pointer}.governance-direct-account-group>summary::-webkit-details-marker{display:none}.governance-direct-account-group>summary .scope-node-toggle .icon{transform:rotate(180deg)}.governance-direct-account-group[open]>summary .scope-node-toggle .icon{transform:rotate(90deg)}.scope-group-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);color:var(--primary)}.scope-group-icon .icon{width:20px;height:20px}.governance-direct-account-group.type-teacher .scope-group-icon{color:#169b62;background:#effaf5}.governance-direct-account-group.type-student .scope-group-icon{color:#60738f;background:#f2f5f9}.governance-direct-account-group>summary b{display:block;font-size:15px}.governance-direct-account-group>summary small{display:block;color:var(--muted);margin-top:3px}.governance-direct-account-group>.scope-account-grid{padding:0 12px 12px}.platform-direct-accounts{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:16px}.account-search-empty{margin:0 22px 22px;min-height:140px;place-items:center}.account-search-empty:not([hidden]){display:grid}
@media(max-width:1250px){.scope-owner-grid,.scope-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.governance-scope-summary{grid-template-columns:30px 44px minmax(220px,.9fr) minmax(220px,1.1fr)}.governance-scope-children>.governance-scope-node>.governance-scope-summary{grid-template-columns:28px 40px minmax(190px,.9fr) minmax(190px,1fr)}}
@media(max-width:900px){.governance-scope-tree{padding-inline:14px}.governance-scope-summary,.governance-scope-children>.governance-scope-node>.governance-scope-summary{grid-template-columns:30px 42px minmax(0,1fr)}.scope-node-counts{grid-column:2/-1;justify-content:flex-start}.governance-scope-children{padding-inline-start:14px;margin-inline-start:3px}.scope-owner-grid,.scope-account-grid{grid-template-columns:1fr}.account-search-empty{margin-inline:14px}}
@media(max-width:560px){.governance-scope-tree{padding-inline:10px}.governance-scope-summary,.governance-scope-children>.governance-scope-node>.governance-scope-summary{grid-template-columns:28px 38px minmax(0,1fr);padding:11px}.scope-node-avatar{width:38px;height:38px}.scope-node-title-line>b{font-size:15px}.scope-node-counts{grid-column:1/-1}.scope-node-counts>span{padding:5px 7px}.governance-scope-body{padding-inline:11px}.governance-scope-children{padding-inline-start:8px}.governance-direct-account-group>summary{grid-template-columns:36px minmax(0,1fr) 30px}.governance-direct-account-group>summary>.scope-node-toggle{display:none}.account-layout-switch{width:100%;justify-content:stretch}.account-layout-switch button{flex:1;justify-content:center}}

/* Contextual header and optional profile photos */
.profile-chip-button{border:0;background:transparent;color:var(--ink);padding:5px 7px;border-radius:15px;text-align:start;margin-inline-start:0;flex:0 0 auto}.profile-chip-button:hover{background:var(--surface-2)}.profile-chip-button:focus-visible{outline:3px solid rgba(7,94,232,.18);outline-offset:2px}.profile-chip>span:last-child{display:grid;gap:2px;line-height:1.25}.avatar{overflow:hidden;isolation:isolate}.avatar.has-photo{background:var(--surface-2);border:1px solid var(--line)}.avatar img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.topbar-context{min-width:0;max-width:760px;flex:1;display:flex;align-items:center;gap:11px;border:1px solid var(--line);background:linear-gradient(135deg,var(--surface-2),var(--surface));border-radius:15px;min-height:50px;padding:7px 13px}.topbar-context-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eaf2ff;color:var(--primary);flex:0 0 auto}.topbar-context-icon .icon{width:19px;height:19px}.topbar-context-copy{min-width:0;display:grid;gap:2px;flex:1}.topbar-context-copy small{color:var(--muted);font-size:11px;font-weight:800}.topbar-context-copy b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-context select{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font-weight:850;padding:0 0 1px;outline:0;cursor:pointer;text-overflow:ellipsis}.course-context{border-color:#c9dcfa;background:linear-gradient(135deg,#f4f8ff,var(--surface))}.scope-context .topbar-context-icon{background:#eef5ff}.topbar-tools{display:flex;align-items:center;gap:10px;flex:0 0 auto}.course-switch{min-width:0}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.avatar-file-button{position:relative;overflow:hidden}.avatar-preview-large{width:88px;height:88px;border-radius:24px;font-size:26px}.avatar-preview-xl{width:132px;height:132px;border-radius:32px;font-size:38px;box-shadow:0 14px 32px rgba(15,55,108,.15)}.activation-avatar-card{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:16px;border:1px solid var(--line);border-radius:17px;background:var(--surface-2);padding:14px;margin-bottom:17px}.activation-avatar-card p{margin:5px 0 11px;color:var(--muted);font-size:13px;line-height:1.65}.profile-photo-panel{margin-bottom:18px}.profile-photo-body{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:24px}.profile-photo-preview{display:grid;place-items:center;min-height:150px;border-radius:22px;background:linear-gradient(135deg,#eef5ff,var(--surface-2));border:1px dashed #acc8f5}.profile-photo-copy h3{margin:0 0 7px;font-size:24px}.profile-photo-copy p{margin:0 0 14px;color:var(--muted);line-height:1.75;max-width:760px}.profile-photo-copy>small{display:block;margin-top:10px;color:var(--muted)}
@media(max-width:1000px){.topbar{padding-inline:16px}.topbar-context{max-width:none}.profile-chip-button>span:last-child{display:none}.profile-chip-button .avatar{width:44px;height:44px}.topbar-context-copy small{display:none}}
@media(max-width:760px){.topbar{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:8px}.profile-chip-button{grid-column:auto}.topbar-context{min-height:44px;padding:5px 9px}.topbar-context-icon{display:none}.topbar-tools{gap:6px}.topbar-tools .icon-btn{min-width:42px;padding-inline:9px}.profile-photo-body{grid-template-columns:1fr}.profile-photo-preview{min-height:165px}.activation-avatar-card{grid-template-columns:1fr;text-align:center}.activation-avatar-card>[data-activation-avatar-preview]{display:grid;place-items:center}.activation-avatar-card .row{justify-content:center}}
@media(max-width:520px){.topbar{grid-template-columns:auto minmax(0,1fr) auto}.topbar .page-close-btn{grid-column:1/-1;justify-self:start}.profile-chip-button{display:none}.topbar-context-copy b,.topbar-context select{font-size:12px}.profile-photo-copy .row{display:grid}.profile-photo-copy .row>*{width:100%}}

/* UniCloud 0.15.5 — deterministic header context and reliable profile photo upload */
.topbar-context-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;border:1px solid #bfd4f7;background:var(--surface);color:var(--primary);border-radius:11px;padding:8px 10px;font-weight:850;cursor:pointer;white-space:nowrap}.topbar-context-action:hover{background:#eef5ff}.topbar-context-action .icon{width:16px;height:16px}.course-switcher-list{display:grid;gap:10px}.course-switcher-card{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;text-align:start;border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:13px 14px;color:var(--ink);cursor:pointer}.course-switcher-card:hover{border-color:#a9c8f6;background:#f5f9ff}.course-switcher-card.active{border-color:#6aa1f4;background:#eef5ff;box-shadow:0 0 0 3px rgba(7,94,232,.08)}.course-switcher-card b{display:block;font-size:15px}.course-switcher-card small{display:block;color:var(--muted);margin-top:4px}.course-switcher-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#eaf2ff;color:var(--primary)}.course-switcher-icon .icon{width:21px;height:21px}.profile-photo-status{margin-top:12px;padding:10px 12px;border-radius:11px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:700;line-height:1.6}.profile-photo-status.busy{color:#075ee8;background:#eef5ff;border-color:#bdd4f8}.profile-photo-status.error{color:#9f1c2e;background:#fff1f3;border-color:#fac0c9}.profile-photo-copy [data-pick-account-avatar][disabled],.profile-photo-copy [data-remove-account-avatar][disabled]{opacity:.55;cursor:wait}
@media(max-width:760px){.topbar-context-action span{display:none}.topbar-context-action{padding:8px}.course-switcher-card{grid-template-columns:40px minmax(0,1fr) auto;padding:11px}.course-switcher-icon{width:40px;height:40px}}

/* 0.15.5 — direct profile photo, shared authorized visibility, and account security */
.profile-chip{margin-inline-start:auto;display:flex;align-items:center;gap:8px;min-width:0}.profile-avatar-action{position:relative;width:54px;height:54px;padding:0;border:0;background:transparent;border-radius:17px;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.profile-avatar-action:hover .avatar,.profile-avatar-action:focus-visible .avatar{box-shadow:0 0 0 4px rgba(7,94,232,.14)}.profile-avatar-action:focus-visible{outline:0}.profile-avatar-action.busy{opacity:.65;cursor:wait}.topbar-avatar{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,#eaf2ff,#f8fbff);border:1px solid #bcd2f5;color:var(--primary)}.avatar-camera-badge{position:absolute;inset-inline-end:-2px;bottom:-2px;width:23px;height:23px;border-radius:8px;background:var(--primary);color:#fff;display:grid;place-items:center;border:3px solid var(--surface);box-shadow:0 5px 12px rgba(7,94,232,.25)}.avatar-camera-badge .icon{width:12px;height:12px}.avatar-placeholder-icon{display:grid;place-items:center;width:100%;height:100%}.avatar-placeholder-icon .icon{width:48%;height:48%}.avatar.is-placeholder{background:linear-gradient(135deg,#edf4ff,#f9fbff);color:#6b86ab;border:1px solid #c7d8ef}.profile-chip-button{padding:6px 5px;border:0;background:transparent;color:var(--ink);border-radius:12px;text-align:start}.profile-chip-button:hover{background:var(--surface-2)}.profile-chip-button>span{display:grid;gap:2px;line-height:1.25}.profile-chip-button small{color:var(--muted)}
.self-profile-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;background:linear-gradient(135deg,#082c61,#075ee8 68%,#1aa7e3);color:#fff;border-radius:24px;padding:22px 24px;margin-bottom:18px;box-shadow:var(--shadow);overflow:hidden;position:relative}.self-profile-header:after{content:"";position:absolute;width:250px;height:250px;border:45px solid rgba(255,255,255,.07);border-radius:50%;inset-inline-end:-95px;bottom:-130px}.self-profile-photo-button{position:relative;z-index:1;width:116px;height:116px;padding:0;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.12);border-radius:30px;display:grid;place-items:center;cursor:pointer;box-shadow:0 14px 30px rgba(0,0,0,.12)}.self-profile-photo-button:hover{transform:translateY(-2px);background:rgba(255,255,255,.17)}.self-profile-avatar{width:102px;height:102px;border-radius:25px;font-size:30px;border:3px solid rgba(255,255,255,.78);background:rgba(255,255,255,.13);color:#fff}.self-profile-camera{position:absolute;inset-inline-end:-4px;bottom:-4px;width:36px;height:36px;border-radius:12px;background:#fff;color:var(--primary);display:grid;place-items:center;border:4px solid #0b59d3}.self-profile-camera .icon{width:18px;height:18px}.self-profile-title{position:relative;z-index:1;min-width:0}.self-profile-title .eyebrow{color:#bfe1ff}.self-profile-title h1{font-size:32px;margin:5px 0}.self-profile-title p,.self-profile-title small{display:block;margin:0;color:rgba(255,255,255,.86);line-height:1.7}.self-profile-title small{max-width:760px}.self-profile-actions{position:relative;z-index:1;display:grid;gap:10px;justify-items:end}.self-profile-actions .profile-photo-status{margin:0;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24);color:#fff;max-width:260px}.self-profile-actions .danger-btn{background:#fff;color:#b32636;border-color:#fff}.account-security-grid{align-items:start}.password-change-panel .panel-head h3{display:flex;align-items:center;gap:8px}.password-change-panel .panel-head .icon{color:var(--primary)}.password-change-form{display:grid;gap:14px}.password-rules{display:grid;gap:8px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.password-rules span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.password-rules .icon{width:16px;height:16px;color:#168353}.profile-photo-status.success{color:#087f57;background:#eaf8f1;border-color:#b9e7cf}.table-person{display:flex;align-items:center;gap:10px;min-width:170px}.table-person>span:last-child{min-width:0}.table-person b,.table-person small{display:block}.table-person small{color:var(--muted);margin-top:3px}.table-avatar{width:38px;height:38px;border-radius:12px;flex:0 0 auto}.account-card-avatar{position:relative;background:transparent;border:0}.governed-account-avatar{width:43px;height:43px;border-radius:13px;color:var(--account-accent);background:color-mix(in srgb,var(--account-accent) 11%,var(--surface));border:1px solid color-mix(in srgb,var(--account-accent) 24%,var(--line))}.account-type-corner{position:absolute;inset-inline-end:-5px;bottom:-5px;width:22px;height:22px;border-radius:8px;background:var(--surface);color:var(--account-accent);border:2px solid var(--surface);box-shadow:0 3px 9px rgba(17,54,101,.16);display:grid;place-items:center}.account-type-corner .icon{width:13px;height:13px}.account-control-identity{display:flex;align-items:center;gap:14px;min-width:0}.account-control-avatar{width:76px;height:76px;border-radius:22px;flex:0 0 auto;border:2px solid rgba(255,255,255,.65);background:rgba(255,255,255,.13);color:#fff}.account-control-identity>div{min-width:0}
@media(max-width:1000px){.profile-chip-button>span{display:none}.profile-avatar-action{width:48px;height:48px}.topbar-avatar{width:44px;height:44px}.self-profile-header{grid-template-columns:auto minmax(0,1fr)}.self-profile-actions{grid-column:1/-1;justify-items:start;grid-template-columns:auto minmax(0,1fr);align-items:center}}
@media(max-width:760px){.self-profile-header{grid-template-columns:1fr;text-align:center;justify-items:center}.self-profile-title small{max-width:100%}.self-profile-actions{grid-column:auto;grid-template-columns:1fr;justify-items:center}.self-profile-photo-button{width:104px;height:104px}.self-profile-avatar{width:92px;height:92px}.account-security-grid{grid-template-columns:1fr}.account-control-identity{align-items:flex-start}.account-control-avatar{width:62px;height:62px;border-radius:18px}}
@media(max-width:520px){.profile-chip-button{display:none}.profile-chip{margin-inline-start:auto}.profile-avatar-action{width:46px;height:46px}.topbar-avatar{width:42px;height:42px}.self-profile-title h1{font-size:26px}}
.student-profile-summary{display:flex;align-items:center;gap:14px;padding:14px 16px;margin-bottom:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.student-profile-summary h3,.student-profile-summary p{margin:0}.student-profile-summary p{color:var(--muted);margin-top:4px}.student-profile-avatar{width:68px;height:68px;border-radius:20px;flex:0 0 auto}

/* 0.15.5 intelligent import and activation-code center */
.import-diagnostics-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.import-diagnostics-strip>div{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.import-diagnostics-strip b{font-size:.82rem;color:var(--muted)}.import-diagnostics-strip strong{font-size:1.35rem;color:var(--ink)}.import-diagnostics-strip .warn{border-color:#f2c36b;background:#fff9ed}.preserved-columns{margin:12px 0;padding:12px;border:1px dashed var(--line);border-radius:14px;background:var(--surface-soft)}.preserved-columns>b{display:block;margin-bottom:8px}.preserved-columns>div{display:flex;flex-wrap:wrap;gap:7px}.preserved-columns span{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 9px;font-size:.78rem;color:var(--muted)}.invitation-generation-summary{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(135deg,var(--surface),var(--surface-soft));margin-bottom:18px}.invitation-generation-summary>div{display:flex;align-items:center;gap:14px}.invitation-generation-summary svg{width:30px;height:30px;color:var(--primary)}.invitation-generation-summary b{font-size:2rem;display:block}.invitation-generation-summary small{color:var(--muted)}.invitation-generation-summary p{margin:12px 0 0;color:var(--muted);line-height:1.8}@media(max-width:900px){.import-diagnostics-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.import-diagnostics-strip{grid-template-columns:1fr}}

/* 0.15.5 robust multi-sheet import decisions */
.import-sheet-decision{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin:0 0 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.import-sheet-decision .check-row{margin:0;flex:1}.import-sheet-decision small{display:block;margin-top:3px}.import-sheet-card:has([data-sheet-enabled]:not(:checked)){opacity:.72}.import-sheet-card:has([data-sheet-enabled]:not(:checked)) .mapping-grid{pointer-events:none;filter:grayscale(.5)}

/* 0.15.5 clear import finalization + live camera */
.import-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.import-steps span{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.import-steps b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff}.import-finalize-bar{position:sticky;bottom:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;margin-top:18px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 -10px 28px rgba(15,35,70,.12);backdrop-filter:blur(14px)}.import-finalize-bar>div{display:grid;gap:3px}.import-finalize-bar .primary-btn{min-width:260px}.live-camera-workspace{display:grid;gap:14px}.live-camera-workspace video{width:min(100%,520px);aspect-ratio:1/1;object-fit:cover;margin:auto;border-radius:22px;background:#06152a;transform:scaleX(-1)}@media(max-width:700px){.import-steps{grid-template-columns:1fr}.import-finalize-bar{align-items:stretch;flex-direction:column}.import-finalize-bar .primary-btn{width:100%;min-width:0}}
.import-resolution-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid rgba(120,140,170,.22)}
.import-resolution-actions small{flex:1;min-width:240px}
.avatar-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:8px}
.avatar-source-option{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:24px;display:flex;align-items:center;gap:16px;text-align:start;cursor:pointer;min-height:130px;transition:.2s ease}
.avatar-source-option:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 14px 34px rgba(15,65,145,.12)}
.avatar-source-option>svg{width:34px;height:34px;flex:none}
.avatar-source-option span{display:grid;gap:6px}.avatar-source-option b{font-size:18px}.avatar-source-option small{color:var(--muted);line-height:1.6}
@media(max-width:640px){.avatar-source-grid{grid-template-columns:1fr}.avatar-source-option{min-height:105px}}

/* UniCloud 0.15.5 — automatic update coordinator */
.auto-update-status{position:fixed;z-index:10050;inset-inline-start:50%;bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;max-width:min(92vw,620px);padding:12px 18px;border-radius:16px;background:rgba(7,31,70,.94);color:#fff;box-shadow:0 18px 55px rgba(0,25,70,.28);opacity:0;transform:translate(-50%,18px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;backdrop-filter:blur(14px)}
html[dir="rtl"] .auto-update-status{transform:translate(50%,18px)}
.auto-update-status.visible{opacity:1;transform:translate(-50%,0)}
html[dir="rtl"] .auto-update-status.visible{transform:translate(50%,0)}
.auto-update-status b{font-size:.94rem;line-height:1.5;text-align:center}
.auto-update-status.installing{background:rgba(5,93,232,.96)}
.auto-update-spinner{width:18px;height:18px;flex:0 0 18px;border-radius:50%;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;animation:unicloud-update-spin .75s linear infinite}
@keyframes unicloud-update-spin{to{transform:rotate(360deg)}}
@media(max-width:720px){.auto-update-status{width:calc(100vw - 28px);justify-content:center;padding:11px 14px}.auto-update-status b{font-size:.86rem}}

/* 0.15.5 — one professional source menu from every profile-photo surface */
.activation-avatar-photo-button{position:relative;display:grid;place-items:center;width:92px;height:92px;padding:0;border:0;border-radius:26px;background:transparent;cursor:pointer}
.activation-avatar-photo-button:focus-visible{outline:3px solid rgba(7,94,232,.28);outline-offset:3px}
.activation-avatar-photo-button .avatar-camera-badge{position:absolute;inset-inline-end:-2px;bottom:-2px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;border:3px solid var(--surface);box-shadow:0 8px 20px rgba(7,94,232,.24)}
.activation-avatar-photo-button .avatar-camera-badge .icon{width:15px;height:15px}
@media(max-width:760px){.activation-avatar-photo-button{margin-inline:auto}}


/* UniCloud 0.15.5 — urgent import resolution, automatic analysis result and robust camera */
.import-attention-btn{position:relative;isolation:isolate;background:linear-gradient(135deg,#d71932,#a90f26)!important;border-color:#a90f26!important;color:#fff!important;box-shadow:0 10px 26px rgba(191,18,44,.3);font-weight:950;min-height:50px;animation:import-attention-pulse 1.25s ease-in-out infinite}.import-attention-btn:before{content:"";position:absolute;inset:-5px;border:2px solid rgba(215,25,50,.38);border-radius:inherit;z-index:-1;animation:import-attention-ring 1.25s ease-out infinite}.import-attention-btn:hover{background:linear-gradient(135deg,#e21f3a,#b80d28)!important;transform:translateY(-1px)}.import-attention-btn.working,.import-attention-btn:disabled{animation:none;opacity:.78;cursor:wait}.import-attention-btn.working:before,.import-attention-btn:disabled:before{display:none}@keyframes import-attention-pulse{0%,100%{transform:scale(1);box-shadow:0 9px 24px rgba(191,18,44,.28)}50%{transform:scale(1.035);box-shadow:0 14px 34px rgba(191,18,44,.48)}}@keyframes import-attention-ring{0%{opacity:.75;transform:scale(.98)}100%{opacity:0;transform:scale(1.12)}}
.import-file-progress,.import-analysis-progress,.import-auto-analysis-note{display:flex;align-items:center;gap:13px}.import-file-progress>div,.import-analysis-progress>div,.import-auto-analysis-note>div{display:grid;gap:4px}.import-file-progress small,.import-analysis-progress small,.import-auto-analysis-note small{color:var(--muted);line-height:1.5}.import-analysis-progress{min-height:120px;justify-content:center;border:1px dashed #a9c4eb;border-radius:17px;background:var(--surface-2);margin-top:14px}.import-auto-analysis-note{padding:12px 14px;border:1px solid #bad1f5;border-radius:14px;background:#eff5ff;margin:14px 0}.import-auto-analysis-note .auto-update-spinner{border-color:rgba(7,94,232,.2);border-top-color:var(--primary)}#preview-import.working{cursor:wait;opacity:.72}
.import-result-popup-back{position:absolute;inset:0;z-index:40;display:grid;place-items:center;padding:22px;background:rgba(4,24,53,.52);backdrop-filter:blur(7px);border-radius:inherit}.import-result-popup{position:relative;width:min(620px,100%);padding:28px;border-radius:24px;background:var(--surface);border:1px solid var(--line);box-shadow:0 28px 80px rgba(0,25,70,.34);text-align:center}.import-result-popup.ready{border-top:6px solid #0c9a68}.import-result-popup.needs-action{border-top:6px solid #d71932}.import-result-popup-close{position:absolute;inset-inline-end:14px;top:14px;width:38px;height:38px;border:0;border-radius:12px;background:var(--surface-2);color:var(--ink);display:grid;place-items:center}.import-result-popup-icon{width:66px;height:66px;border-radius:21px;margin:0 auto 13px;display:grid;place-items:center;background:#eaf8f1;color:#0b8e61}.import-result-popup.needs-action .import-result-popup-icon{background:#fff0f2;color:#c41430}.import-result-popup-icon .icon{width:34px;height:34px}.import-result-popup h3{font-size:25px;margin:8px 0}.import-result-popup p{color:var(--muted);line-height:1.8;margin:0}.import-result-popup-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.import-result-popup-stats span{padding:12px 8px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);display:grid;gap:3px;font-size:12px;color:var(--muted)}.import-result-popup-stats b{font-size:22px;color:var(--ink)}.import-result-popup-stats .danger{border-color:#f1b4bd;background:#fff2f4}.import-result-popup-stats .danger b{color:#c41430}.import-result-popup-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.import-result-popup-actions button{min-width:210px}
.camera-stage{position:relative;width:min(100%,560px);aspect-ratio:1/1;margin:auto;border-radius:24px;overflow:hidden;background:#06152a;border:1px solid #1d3558}.live-camera-workspace video{width:100%;height:100%;margin:0;border-radius:0;transform:none}.live-camera-workspace video.is-user-facing{transform:scaleX(-1)}.camera-stage-overlay{position:absolute;inset:8%;border:2px solid rgba(255,255,255,.75);border-radius:32% 32% 38% 38%;pointer-events:none;box-shadow:0 0 0 999px rgba(2,12,28,.18)}.camera-stage-overlay span:before,.camera-stage-overlay span:after{content:"";position:absolute;width:38px;height:38px;border-color:#fff}.camera-stage-overlay span:before{top:-2px;left:-2px;border-top:4px solid;border-left:4px solid;border-radius:14px 0 0 0}.camera-stage-overlay span:after{right:-2px;bottom:-2px;border-right:4px solid;border-bottom:4px solid;border-radius:0 0 14px 0}.camera-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(3,18,39,.78);color:#fff}.camera-loading[hidden]{display:none}.camera-status{margin:0}.camera-device-row,.camera-actions{display:flex;align-items:end;justify-content:center;gap:10px;flex-wrap:wrap}.camera-device-row .field{min-width:min(100%,320px);margin:0}.camera-actions .primary-btn{min-width:230px}.camera-actions .ghost-btn,.camera-actions .secondary-btn{min-width:160px}
@media(max-width:680px){.import-result-popup-back{padding:10px}.import-result-popup{padding:23px 16px}.import-result-popup-stats{grid-template-columns:repeat(2,1fr)}.import-result-popup-actions{display:grid}.import-result-popup-actions button{width:100%;min-width:0}.camera-device-row,.camera-actions{display:grid;align-items:stretch}.camera-device-row>*{width:100%}.camera-actions>*{width:100%!important;min-width:0!important}}
@media(prefers-reduced-motion:reduce){.import-attention-btn,.import-attention-btn:before{animation:none}.import-attention-btn{outline:4px solid rgba(215,25,50,.2)}}

.modal{position:relative}

/* 0.15.5 — bounded account-center rendering and responsive lifecycle */
.account-center-loading{min-height:250px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,var(--surface),var(--surface-2));display:flex;align-items:center;justify-content:center;gap:16px;padding:34px;text-align:start;box-shadow:0 14px 40px rgba(17,54,101,.07)}
.account-center-loading b,.account-center-loading small{display:block}.account-center-loading b{font-size:18px}.account-center-loading small{color:var(--muted);margin-top:5px;line-height:1.65}
.account-loading-spinner{width:34px;height:34px;border:4px solid color-mix(in srgb,var(--primary) 18%,var(--line));border-top-color:var(--primary);border-radius:50%;animation:account-center-spin .75s linear infinite;flex:0 0 auto}
@keyframes account-center-spin{to{transform:rotate(360deg)}}
.account-group-lazy-state{grid-column:1/-1;min-height:108px;border:1px dashed var(--line);border-radius:15px;background:var(--surface);display:flex;align-items:center;justify-content:center;gap:12px;padding:18px;color:var(--muted)}
.account-group-lazy-state>.icon{width:28px;height:28px;color:var(--primary);flex:0 0 auto}.account-group-lazy-state b,.account-group-lazy-state small{display:block}.account-group-lazy-state b{color:var(--ink)}.account-group-lazy-state small{margin-top:4px;line-height:1.55}
.account-group-more{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border:1px dashed var(--line);border-radius:14px;background:var(--surface)}.account-group-more small{color:var(--muted);font-weight:850}
.account-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:18px 22px 22px}.account-pagination>span{min-width:120px;text-align:center}.account-pagination>span b{font-size:18px}.account-pagination>span small{display:block;color:var(--muted);margin-top:2px}.account-pagination button .icon{width:17px;height:17px}.account-pagination button:first-child .icon{transform:rotate(180deg)}
.account-search-results-banner{margin:0 22px 16px;padding:13px 15px;border:1px solid #bfd6fb;border-radius:15px;background:linear-gradient(135deg,#eef5ff,var(--surface));display:flex;align-items:flex-start;gap:11px}.account-search-results-banner>.icon{color:var(--primary);flex:0 0 auto}.account-search-results-banner b,.account-search-results-banner small{display:block}.account-search-results-banner small{color:var(--muted);margin-top:3px;line-height:1.55}
.governance-scope-node{content-visibility:auto;contain-intrinsic-size:180px}
@media(max-width:760px){.account-center-loading{min-height:210px;padding:24px}.account-pagination{gap:8px;padding-inline:10px}.account-pagination>span{min-width:82px}.account-search-results-banner{margin-inline:12px}.account-group-more{align-items:stretch;flex-direction:column}.account-group-more .secondary-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.account-loading-spinner{animation:none;border-top-color:var(--line)}}

/* UniCloud 0.15.5 — system integrity center */
.system-health-page .integrity-issue-list{max-height:36rem;overflow:auto;padding-inline-end:.25rem}
.integrity-issue{border-inline-start:4px solid transparent}
.integrity-issue.error{border-inline-start-color:#dc2626;background:color-mix(in srgb,#dc2626 5%,transparent)}
.integrity-issue.warning{border-inline-start-color:#d97706;background:color-mix(in srgb,#d97706 5%,transparent)}
.system-health-page .panel .secondary-btn[disabled]{opacity:.55;cursor:not-allowed}

/* 0.15.5 — responsive student register and camera workspace */
.student-register-loading{display:grid;gap:18px;min-height:52vh}.student-register-loading .page-head{align-items:flex-start}.student-register-skeleton{display:grid;gap:12px;padding:20px}.student-register-skeleton span{display:block;height:58px;border-radius:14px;background:linear-gradient(90deg,var(--surface-2) 20%,color-mix(in srgb,var(--primary) 8%,var(--surface)) 42%,var(--surface-2) 64%);background-size:260% 100%;animation:studentRegisterShimmer 1.25s ease-in-out infinite}.student-register-skeleton span:first-child{height:92px}.student-register-skeleton span:nth-child(3){width:84%}.student-register-skeleton span:nth-child(4){width:68%}@keyframes studentRegisterShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.student-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0}.student-pagination .row{gap:6px}.student-pagination button{min-width:42px}.student-pagination .active{background:var(--primary);color:#fff;border-color:var(--primary)}.student-pagination .page-summary{color:var(--muted);font-size:.88rem}.student-register-page .data-table tbody tr{content-visibility:auto;contain-intrinsic-size:64px}.roster-modal-toolbar{position:sticky;top:-1px;z-index:3;padding:10px 0;background:var(--surface)}.roster-modal-toolbar .control{min-width:min(100%,360px)}[data-roster-table-host] .data-table tbody tr{content-visibility:auto;contain-intrinsic-size:62px}
.camera-stage>[data-camera-preview]{width:100%;height:100%;display:block;object-fit:cover;background:#06152a}.camera-stage>[data-camera-preview][hidden]{display:none}.live-camera-workspace{max-width:760px;margin:auto}.live-camera-workspace .camera-stage{box-shadow:0 20px 56px rgba(0,20,55,.26)}.camera-status{line-height:1.75}.camera-device-row{padding:2px}.camera-actions{padding-bottom:2px}.camera-actions button{min-height:46px}.camera-stage-overlay{transition:opacity .18s ease}.camera-loading{z-index:3}.camera-loading b{font-size:.95rem}.avatar-source-option{touch-action:manipulation}.live-camera-workspace video{touch-action:none}
@media(max-width:760px){.student-pagination{justify-content:center}.student-pagination .page-summary{width:100%;text-align:center;order:-1}.student-register-page .toolbar{align-items:stretch}.student-register-page .toolbar>*{min-width:100%}.roster-modal-toolbar{display:grid}.roster-modal-toolbar>*{width:100%}.camera-stage{width:100%;max-height:min(64vh,560px)}.live-camera-workspace{width:100%}.camera-stage-overlay{inset:7%;border-radius:30% 30% 36% 36%}.camera-actions{grid-template-columns:1fr}.camera-device-row{grid-template-columns:1fr}.camera-status{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.student-register-skeleton span{animation:none}}
