:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#f4f7fb;background:#071018;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 18% 12%,#132f40 0,transparent 30%),radial-gradient(circle at 82% 80%,#17283e 0,transparent 32%),#071018;color:#eef4f8}button,input{font:inherit}.eyebrow{font-size:.72rem;letter-spacing:.2em;color:#7fd9d3;font-weight:700}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-brand{padding:9vh 8vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;border-right:1px solid #ffffff12}.auth-brand h1{font-size:clamp(4rem,9vw,8rem);letter-spacing:-.06em;margin:.25rem 0 1rem}.tagline{font-size:1.2rem;line-height:1.6;color:#b6c3cc;max-width:520px}.motto{margin-top:3rem;color:#7fd9d3}.orbital-mark{position:absolute;width:540px;height:540px;right:-220px;top:50%;transform:translateY(-50%);border:1px solid #7fd9d32b;border-radius:50%}.orbital-mark:before,.orbital-mark:after{content:"";position:absolute;border:1px solid #7fd9d31f;border-radius:50%;inset:58px}.orbital-mark:after{inset:125px}.orbital-mark span{position:absolute;width:14px;height:14px;background:#7fd9d3;border-radius:50%;left:68px;top:112px;box-shadow:0 0 34px #7fd9d3}.login-panel{display:flex;align-items:center;justify-content:center;padding:2rem}.login-card{width:min(430px,100%);padding:2.5rem;border:1px solid #ffffff16;background:#0d1720d9;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:24px;box-shadow:0 26px 80px #0007}.login-card h2{font-size:2rem;margin:.4rem 0 .5rem}.hint,.security-note{color:#91a0ab;line-height:1.5}.login-card form{display:grid;gap:1rem;margin-top:2rem}.login-card label{display:grid;gap:.5rem;color:#b8c5ce;font-size:.88rem}.login-card input{width:100%;border:1px solid #ffffff24;background:#071018;color:#fff;border-radius:12px;padding:.9rem 1rem;outline:none}.login-card input:focus{border-color:#7fd9d3;box-shadow:0 0 0 3px #7fd9d31c}.login-card button{margin-top:.5rem;border:0;border-radius:12px;padding:1rem;background:#7fd9d3;color:#071018;font-weight:700;cursor:pointer}.login-card button:disabled{opacity:.5;cursor:not-allowed}.error{background:#ff6b6b1a;border:1px solid #ff6b6b55;color:#faa;padding:.8rem 1rem;border-radius:10px}.security-note{font-size:.76rem;margin-top:1.5rem}.dashboard{min-height:100vh;background:linear-gradient(180deg,#071018,#0a1118)}.topbar{height:74px;border-bottom:1px solid #ffffff12;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.5rem,5vw,5rem);position:sticky;top:0;background:#071018e8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10}.brand-home{display:flex;align-items:center;background:none;border:0;color:inherit;padding:0;cursor:pointer}.brand{font-weight:800;letter-spacing:.06em}.product{margin-left:1rem;color:#7fd9d3;font-size:.72rem;letter-spacing:.15em}.crumb{margin-left:.7rem;color:#758692;font-size:.8rem}.userbox{display:flex;gap:1rem;align-items:center;color:#b5c2ca}.userbox button,.back,.secondary-button{background:transparent;color:#dce5ea;border:1px solid #ffffff22;padding:.55rem .9rem;border-radius:9px;cursor:pointer}.welcome{padding:clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,7rem) 2rem}.welcome h1{font-size:clamp(2.6rem,6vw,5.4rem);letter-spacing:-.055em;margin:.4rem 0 1rem}.welcome>p:last-child{color:#95a3ad;max-width:650px;font-size:1.05rem}.module-grid{padding:1rem clamp(1.5rem,7vw,7rem) 6rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.module-card{appearance:none;text-align:left;color:inherit;background:#0e1821;border:1px solid #ffffff14;border-radius:20px;padding:1.5rem;min-height:260px;display:grid;grid-template-columns:80px 1fr;gap:1rem;cursor:pointer;transition:.2s transform,.2s border-color,.2s background}.module-card:hover{transform:translateY(-3px);border-color:#7fd9d35c;background:#111d27}.module-number{color:#7fd9d3;font-size:.8rem;letter-spacing:.08em;font-weight:700}.module-state{display:inline-flex;border:1px solid #7fd9d32d;background:#7fd9d30c;color:#7fd9d3;border-radius:99px;padding:.3rem .55rem;font-size:.68rem;letter-spacing:.05em;margin-bottom:1rem}.module-card h2{font-size:1.7rem;margin:0 0 1rem}.module-card p{color:#94a3ad;line-height:1.55}.open{display:inline-block;margin-top:1.5rem;color:#7fd9d3;font-weight:600}.empty{color:#94a3ad;border:1px dashed #ffffff1d;border-radius:16px;padding:2rem}.loading{min-height:100vh;display:grid;place-items:center;letter-spacing:.25em;color:#7fd9d3;font-weight:700}.module-page{background:radial-gradient(circle at 92% 12%,#18344955 0,transparent 28%),linear-gradient(180deg,#071018,#09121a)}.module-hero{display:flex;justify-content:space-between;gap:2rem;align-items:flex-end;padding:4rem clamp(1.5rem,6vw,6rem) 2.2rem}.module-hero h1{font-size:clamp(2.5rem,5vw,4.7rem);letter-spacing:-.05em;margin:.45rem 0 .8rem}.module-hero p:last-child{color:#98a7b0;line-height:1.55;max-width:780px;margin-bottom:0}.module-content{padding:0 clamp(1.5rem,6vw,6rem) 5rem}.status-banner{border:1px solid #ffffff17;background:#0d1720;border-radius:16px;padding:1rem 1.1rem;display:flex;align-items:center;gap:.8rem;color:#dbe5ea}.status-banner>div{display:grid;gap:.22rem}.status-banner span:not(.status-dot):not(.pulse){color:#93a3ad;font-size:.88rem}.status-banner.warning{border-color:#e5b95b47;background:#e5b95b0c}.status-banner.ok{border-color:#68d7ad47;background:#68d7ad0c}.status-banner.danger{border-color:#ff6b6b55;background:#ff6b6b12;color:#ffc1c1}.status-banner.muted{color:#93a3ad}.status-dot,.pulse{width:10px;height:10px;border-radius:50%;background:#e5b95b;flex:0 0 auto}.status-banner.ok .status-dot{background:#68d7ad}.pulse{background:#7fd9d3;box-shadow:0 0 #7fd9d366;animation:pulse 1.5s infinite}@keyframes pulse{70%{box-shadow:0 0 0 8px #7fd9d300}}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.stat-card{background:#0d1720;border:1px solid #ffffff12;border-radius:16px;padding:1.25rem;min-height:130px;display:flex;flex-direction:column;justify-content:flex-end}.stat-card strong{font-size:2rem;letter-spacing:-.04em}.stat-card span{margin-top:.3rem;color:#c2cdd3}.stat-card small{margin-top:.45rem;color:#70818c}.workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.workspace-card{background:#0d1720;border:1px solid #ffffff12;border-radius:18px;padding:1.35rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem;min-height:180px}.workspace-card h3{font-size:1.25rem;margin:0 0 .65rem}.workspace-card p{color:#92a1aa;line-height:1.5;max-width:520px;margin:0}.workspace-card button{border:1px solid #ffffff20;border-radius:10px;background:#101d27;color:#cbd6dc;padding:.75rem 1rem;white-space:nowrap}.workspace-card button:disabled{opacity:.48;cursor:not-allowed}.stage-note{margin-top:1rem;border:1px dashed #7fd9d33c;border-radius:18px;padding:1.35rem;background:#7fd9d308;display:grid;gap:.45rem}.stage-note span{color:#7fd9d3;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.stage-note strong{font-size:1.05rem}.stage-note p{margin:0;color:#899aa4;line-height:1.5}.secondary-button{white-space:nowrap}.secondary-button:hover,.userbox button:hover{border-color:#7fd9d355;color:#7fd9d3}@media(max-width:950px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid{grid-template-columns:1fr}.module-hero{align-items:flex-start;flex-direction:column}.secondary-button{align-self:flex-start}}@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.login-panel{min-height:100vh}.module-card{grid-template-columns:1fr}.topbar{padding:0 1rem}.userbox>span,.crumb{display:none}.module-hero{padding-top:2.7rem}.stats-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.stats-grid{grid-template-columns:1fr}.workspace-card{align-items:stretch;flex-direction:column}.workspace-card button{width:100%}}.registry-panel{margin:1rem 0;background:#0d1720;border:1px solid #ffffff12;border-radius:18px;overflow:hidden}.registry-head{padding:1.35rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid #ffffff10}.registry-head h2{margin:.2rem 0 .55rem;font-size:1.55rem}.registry-head p:last-child{margin:0;color:#8fa0aa;line-height:1.5;max-width:760px}.persona-version{font-size:.72rem;letter-spacing:.08em;color:#7fd9d3;border:1px solid #7fd9d32f;border-radius:99px;padding:.35rem .6rem;white-space:nowrap}.registry-filters{padding:1rem 1.35rem;display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,280px);gap:.75rem;border-bottom:1px solid #ffffff10}.registry-filters input,.registry-filters select{width:100%;border:1px solid #ffffff1c;background:#08131b;color:#eaf1f5;border-radius:10px;padding:.78rem .9rem;outline:none}.registry-filters input:focus,.registry-filters select:focus{border-color:#7fd9d355}.student-table-wrap{overflow:auto}.student-table{width:100%;border-collapse:collapse;min-width:760px}.student-table th,.student-table td{text-align:left;padding:.9rem 1.1rem;border-bottom:1px solid #ffffff0c}.student-table th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#71838e;font-weight:700;background:#0a151d}.student-table td{color:#aebbc3}.student-table td strong{color:#e9f0f4;font-weight:600}.student-table tbody tr:hover{background:#ffffff05}.status-pill{display:inline-flex;padding:.28rem .5rem;border-radius:99px;background:#68d7ad12;border:1px solid #68d7ad32;color:#8ae4c0;font-size:.74rem}.table-empty{text-align:center!important;color:#70818c!important;padding:2rem!important}.registry-foot{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1.35rem;color:#71838e;font-size:.78rem;background:#0a151d}.compact-workspaces{margin-top:1rem}.compact-workspaces .workspace-card{min-height:150px}@media(max-width:700px){.registry-head{flex-direction:column}.registry-filters{grid-template-columns:1fr}.registry-foot{flex-direction:column;gap:.3rem}}.import-panel{margin-top:1rem;background:#0d1720;border:1px solid #7fd9d32b;border-radius:18px;overflow:hidden}.import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.35rem;border-bottom:1px solid #ffffff10}.import-head h2{margin:.2rem 0 .55rem;font-size:1.55rem}.import-head p:last-child{margin:0;color:#8fa0aa;line-height:1.5;max-width:820px}.import-upload{display:flex;gap:.8rem;align-items:stretch;padding:1.15rem 1.35rem .7rem}.file-picker{flex:1;border:1px dashed #7fd9d34a;background:#08131b;border-radius:12px;padding:.9rem 1rem;color:#cbd7dd;cursor:pointer;display:flex;align-items:center}.file-picker input{display:none}.primary-action{border:0;border-radius:10px;padding:.8rem 1.2rem;background:#7fd9d3;color:#071018;font-weight:800;cursor:pointer;min-width:160px}.primary-action:disabled{opacity:.45;cursor:not-allowed}.import-file-note{padding:0 1.35rem 1.1rem;color:#71838e;font-size:.8rem}.import-panel>.status-banner{margin:0 1.35rem 1.1rem}.import-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;padding:0 1.35rem 1rem}.import-summary-grid .stat-card{min-height:110px}.import-actions-summary{margin:0 1.35rem 1rem;padding:.75rem 1rem;border-radius:12px;background:#08131b;border:1px solid #ffffff10;display:flex;flex-wrap:wrap;gap:1rem;color:#82939e;font-size:.82rem}.import-actions-summary b{color:#e8eff3}.import-filters{padding:1rem 1.35rem;display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px 180px;gap:.7rem;border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10}.import-filters input,.import-filters select{width:100%;border:1px solid #ffffff1c;background:#08131b;color:#eaf1f5;border-radius:10px;padding:.75rem .85rem;outline:none}.import-table{min-width:1280px}.import-table td{vertical-align:top}.import-table td small{display:block;margin-top:.3rem;color:#647681}.review-pill,.action-pill{display:inline-flex;padding:.26rem .48rem;border-radius:99px;font-size:.67rem;font-weight:800;letter-spacing:.04em}.review-pill.ok{color:#8ae4c0;border:1px solid #68d7ad38;background:#68d7ad12}.review-pill.review{color:#ffd37d;border:1px solid #e5b95b42;background:#e5b95b12}.review-pill.blocked{color:#faa;border:1px solid #ff6b6b48;background:#ff6b6b12}.action-pill{color:#b9c8d0;border:1px solid #ffffff18;background:#ffffff08}.action-create{color:#8ae4c0}.action-update{color:#82cfff}.action-conflict,.action-blocked{color:#ffb5a7}.issue-cell{min-width:300px}.issue{display:block;margin-bottom:.35rem;padding:.35rem .45rem;border-radius:7px;font-size:.75rem;line-height:1.35}.issue-review{background:#e5b95b10;color:#e7c87f}.issue-blocked{background:#ff6b6b11;color:#ffb1b1}.issue-info{background:#7fd9d30d;color:#92d9d5}.issue-none{font-size:.76rem;color:#64808b}.import-row.row-review{background:#e5b95b05}.import-row.row-blocked{background:#ff6b6b05}.import-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.35rem;background:#0a151d;color:#71838e;font-size:.8rem}.import-pagination>div{display:flex;align-items:center;gap:.6rem}.import-pagination button{border:1px solid #ffffff1b;background:#0d1720;color:#dce5ea;border-radius:8px;padding:.35rem .65rem;cursor:pointer}.import-pagination button:disabled{opacity:.35;cursor:not-allowed}.import-confirm-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.35rem;border-top:1px solid #ffffff10}.import-confirm-bar>div{display:grid;gap:.25rem}.import-confirm-bar span{color:#7c8d98;font-size:.82rem}.import-confirm-bar button{border:1px solid #ffffff18;background:#101a22;color:#7e8d96;border-radius:10px;padding:.8rem 1rem}.import-confirm-bar button:disabled{opacity:.5}@media(max-width:950px){.import-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-filters{grid-template-columns:1fr 1fr}.import-filters input{grid-column:1/-1}}@media(max-width:650px){.import-head,.import-upload,.import-confirm-bar{flex-direction:column}.import-summary-grid,.import-filters{grid-template-columns:1fr}.import-filters input{grid-column:auto}.primary-action{width:100%}}.import-safety{margin:0 1.35rem 1rem;padding:.85rem 1rem;border-radius:12px;display:grid;gap:.3rem;border:1px solid #ffffff14;background:#08131b}.import-safety.ready{border-color:#68d7ad42;background:#68d7ad0b}.import-safety.waiting{border-color:#e5b95b42;background:#e5b95b0b}.import-safety strong{color:#e8eff3}.import-safety span,.import-safety small{color:#8aa0ab}.import-success{margin:0 1.35rem 1rem!important}.inline-action{margin-left:auto;border:1px solid #7fd9d344;background:#7fd9d30b;color:#9ce8e3;border-radius:8px;padding:.35rem .6rem;cursor:pointer}.decision-cell{min-width:160px}.decision-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.mini-action{border:1px solid #ffffff1a;background:#101a22;color:#b8c6cd;border-radius:8px;padding:.35rem .55rem;cursor:pointer;font-size:.72rem}.mini-action.active{border-color:#68d7ad52;color:#89e1bc;background:#68d7ad10}.mini-action.active.danger{border-color:#ff6b6b52;color:#ffb0b0;background:#ff6b6b10}.decision-cell select{max-width:190px;background:#08131b;color:#dce5ea;border:1px solid #ffffff1b;border-radius:8px;padding:.35rem}.inline-edit{width:100%;min-width:120px;background:#08131b;color:#e9f0f4;border:1px solid #ffffff20;border-radius:7px;padding:.38rem .45rem}.stack-edit{display:grid;gap:.35rem;min-width:150px}.passport-edits{display:grid;grid-template-columns:72px 96px;gap:.35rem}.row-skipped{opacity:.42;text-decoration-color:#ff6b6b}.confirm-overlay{position:fixed;inset:0;z-index:1000;background:#02080dcc;display:grid;place-items:center;padding:1rem}.confirm-dialog{width:min(620px,100%);background:#0d1720;border:1px solid #7fd9d33a;border-radius:18px;padding:1.5rem;box-shadow:0 30px 80px #0009}.confirm-dialog h3{font-size:1.55rem;margin:.25rem 0 .8rem}.confirm-dialog p{color:#9aabb4;line-height:1.55}.confirm-warning{margin:1rem 0;padding:.8rem;border-radius:10px;background:#e5b95b0d;border:1px solid #e5b95b36;color:#d9c18d}.confirm-dialog label{display:grid;gap:.45rem;color:#b8c6cd}.confirm-dialog label input{background:#08131b;color:#fff;border:1px solid #7fd9d34a;border-radius:9px;padding:.75rem}.confirm-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.1rem}.quality-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .5rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);font-size:.76rem;white-space:nowrap}.quality-badge.verified{color:#80e9c9;border-color:#41d2a659;background:#41d2a614}.quality-badge.review{color:#ffd677;border-color:#ffbe4659;background:#ffbe4614}.quality-badge.conflict{color:#ff9a9a;border-color:#ff5a5a61;background:#ff5a5a17}.clickable-row{cursor:pointer;transition:background .15s ease}.clickable-row:hover{background:#66e5e209}.student-form{width:min(760px,calc(100vw - 40px))}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.form-grid label{display:grid;gap:7px;font-size:.82rem;color:#9cb1bd}.form-grid input{width:100%;box-sizing:border-box}.student-card-dialog{width:min(820px,calc(100vw - 40px))}.card-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.student-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 22px}.student-card-grid>div{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff05;display:grid;gap:6px}.student-card-grid span{font-size:.72rem;color:#78909e;text-transform:uppercase;letter-spacing:.06em}.quality-list{border-top:1px solid rgba(255,255,255,.08);padding-top:18px}.quality-list h4{margin:0 0 12px}.quality-item{display:grid;gap:4px;margin:8px 0;padding:12px 14px;border:1px solid rgba(255,190,70,.22);background:#ffbe460d;border-radius:10px}.quality-item.conflict{border-color:#ff5a5a47;background:#ff5a5a0f}.quality-item span,.quality-empty{color:#839aa7;font-size:.8rem}@media(max-width:800px){.form-grid,.student-card-grid{grid-template-columns:1fr}.quality-badge{white-space:normal}}button:not(:disabled){cursor:pointer;transition:transform .14s ease,border-color .14s ease,background-color .14s ease,box-shadow .14s ease,filter .14s ease,color .14s ease}button:not(:disabled):not(.module-card):not(.brand-home):hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 7px 18px #0000002e}button:not(:disabled):not(.module-card):not(.brand-home):active{transform:translateY(0) scale(.985);box-shadow:0 2px 8px #00000029}button:focus-visible,.tech-details summary:focus-visible,.file-picker:focus-within{outline:2px solid rgba(127,217,211,.7);outline-offset:2px}.brand-home:hover .brand,.brand-home:hover .product{color:#9ce8e3}.workspace-card button:not(:disabled):hover,.mini-action:not(:disabled):hover,.import-pagination button:not(:disabled):hover,.secondary-button:not(:disabled):hover,.userbox button:not(:disabled):hover{border-color:#7fd9d38c;color:#b7f0ec;background:#7fd9d314}.primary-action:not(:disabled):hover,.login-card button:not(:disabled):hover{background:#94e3de;box-shadow:0 8px 22px #7fd9d32e}.file-picker{transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.file-picker:hover{border-color:#7fd9d3a6;background:#7fd9d30b}button:disabled{cursor:not-allowed}.tech-details{position:relative;flex:0 0 auto}.tech-details summary{list-style:none;width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(127,217,211,.28);border-radius:999px;color:#8ddbd6;background:#7fd9d30e;cursor:pointer;font-weight:800;-webkit-user-select:none;user-select:none;transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.tech-details summary::-webkit-details-marker{display:none}.tech-details summary:hover{border-color:#7fd9d39e;background:#7fd9d31f;transform:translateY(-1px)}.tech-details[open] summary{background:#7fd9d324;border-color:#7fd9d39e}.tech-details>div{position:absolute;z-index:40;right:0;top:40px;width:min(380px,calc(100vw - 48px));padding:.85rem 1rem;border:1px solid rgba(127,217,211,.24);border-radius:12px;background:#0a151d;box-shadow:0 18px 44px #00000073;color:#91a5b0;font-size:.78rem;line-height:1.5}.tech-details>div p{margin:.3rem 0}.import-safety{grid-template-columns:minmax(0,1fr) auto;align-items:center}.import-safety>div:first-child{display:grid;gap:.3rem}.import-safety .tech-details>div{top:38px}.import-success{position:relative}.import-success>.tech-details{margin-left:auto}.review-pill{letter-spacing:0;text-transform:none}@media(max-width:650px){.import-safety{grid-template-columns:1fr}.tech-details>div{right:auto;left:0}}.confirm-progress,.confirm-error,.confirm-success{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:16px 0;background:#ffffff06}.confirm-error{border-color:#ff696952;background:#7d1f1f24}.confirm-error strong{color:#ffb4b4}.confirm-success{border-color:#66e2be59;background:#267b651f}.confirm-success strong{color:#8ff0d2}.confirm-progress{flex-direction:row;align-items:center}.progress-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(126,224,218,.22);border-top-color:#7ee0da;animation:orbita-spin .8s linear infinite;flex:0 0 auto}@keyframes orbita-spin{to{transform:rotate(360deg)}}.registry-filters-wide{grid-template-columns:minmax(260px,1fr) minmax(150px,220px) minmax(180px,240px) minmax(180px,240px)}.status-pill.archived{background:#ffbe5c14;border-color:#ffbe5c47;color:#efc77f}.student-card-overlay{align-items:flex-start;overflow:auto;padding:5vh 20px}.student-card-sheet{width:min(1120px,calc(100vw - 40px));max-height:none;background:#0c1720;border:1px solid rgba(127,217,211,.25);border-radius:20px;box-shadow:0 28px 80px #00000094;padding:24px;color:#e9f0f4}.student-card-sheet h3{font-size:1.65rem;margin:.2rem 0 .55rem}.card-header-actions,.card-badges{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.card-badges{margin-top:8px}.card-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 16px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:10px}.card-tabs button{border:1px solid rgba(255,255,255,.1);background:#09141c;color:#91a4af;border-radius:10px;padding:.65rem .9rem;cursor:pointer}.card-tabs button.active{color:#9be8e2;border-color:#7fd9d36b;background:#7fd9d317}.card-quality-summary{border:1px solid rgba(240,188,88,.26);background:#f0bc580f;border-radius:14px;padding:14px 16px;display:grid;gap:8px;margin-top:16px}.card-quality-summary strong{color:#f0cd86}.card-quality-summary>div{display:flex;gap:7px;flex-wrap:wrap}.card-quality-summary span{font-size:.78rem;color:#c2a96f;border:1px solid rgba(240,188,88,.18);border-radius:99px;padding:.28rem .5rem}.student-card-grid.detailed{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.student-card-grid.detailed .wide{grid-column:span 2}.student-card-grid.detailed strong{word-break:break-word;white-space:pre-wrap}.card-edit-panel{padding-top:4px}.card-form-grid textarea,.nested-dialog textarea{min-height:86px;resize:vertical}.card-form-grid .span-2{grid-column:span 2}.card-form-grid select,.card-form-grid textarea,.nested-dialog input,.nested-dialog textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:#08131b;color:#eaf1f5;border-radius:10px;padding:.78rem .9rem;outline:none}.student-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.danger-button{border:1px solid rgba(255,108,108,.35);background:#ff6c6c14;color:#ffb0b0;border-radius:10px;padding:.72rem 1rem;font-weight:700;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.danger-button:not(:disabled):hover{transform:translateY(-1px);border-color:#ff6c6cb3;background:#ff6c6c24}.danger-button:disabled{opacity:.5;cursor:not-allowed}.history-panel h4{margin:18px 0 10px}.history-list{display:grid;gap:10px}.history-item{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:13px 14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff05}.history-date{color:#7fd9d3;font-size:.82rem}.history-item>div:last-child{display:grid;gap:4px}.history-item span,.enrollment-history span{color:#90a2ad;font-size:.82rem}.enrollment-history{display:grid;gap:8px}.enrollment-history>div{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#09141c}.nested-dialog-backdrop{position:fixed;inset:0;z-index:120;background:#02080cb8;display:grid;place-items:center;padding:20px}.nested-dialog{width:min(560px,calc(100vw - 40px));background:#0d1922;border:1px solid rgba(127,217,211,.28);border-radius:18px;padding:22px;box-shadow:0 30px 90px #0009}.nested-dialog h4{font-size:1.35rem;margin:.25rem 0 16px}.nested-dialog label{display:grid;gap:6px;margin:10px 0;color:#9dafb8;font-size:.84rem}@media(max-width:980px){.registry-filters-wide,.student-card-grid.detailed{grid-template-columns:1fr 1fr}}@media(max-width:650px){.registry-filters-wide{grid-template-columns:1fr}.student-card-sheet{width:calc(100vw - 20px);padding:16px}.card-title-row{flex-direction:column}.student-card-grid.detailed{grid-template-columns:1fr}.student-card-grid.detailed .wide,.card-form-grid .span-2{grid-column:span 1}.history-item{grid-template-columns:1fr}.enrollment-history>div{align-items:flex-start;flex-direction:column}}.registry-foot-pages{align-items:center}.registry-pager{display:flex;align-items:center;gap:10px}.registry-pager button{border:1px solid rgba(255,255,255,.12);background:#09141c;color:#aab9c2;border-radius:9px;padding:.45rem .7rem;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.registry-pager button:not(:disabled):hover{transform:translateY(-1px);border-color:#7fd9d380;background:#7fd9d314;color:#b7f0ec}.registry-pager button:disabled{opacity:.38}.registry-pager span{min-width:70px;text-align:center;color:#7f929d}@media(max-width:650px){.registry-foot-pages{align-items:flex-start}.registry-pager{width:100%;justify-content:space-between}}
