body.portal{height:auto;min-height:100vh;overflow:auto;background:#101820;color:#edf2f5} .portal-top{height:92px;display:flex;align-items:center;gap:32px;padding:20px 4vw;border-bottom:1px solid #34404a;background:#101820}.portal-top img{width:154px;height:auto}.top-context{letter-spacing:.16em;font-size:11px;color:#a2adb6}.portal-top #account-actions{margin-left:auto;display:flex;gap:10px;align-items:center}#portal-main{max-width:1420px;margin:auto;padding:42px 4vw 90px}.loading-text{color:#9ba8b4} .portal h1{font-size:clamp(30px,4vw,54px);line-height:1.1;margin:8px 0 20px;letter-spacing:-.04em}.portal h2{font-size:25px;margin:0 0 18px}.portal h3{margin:0 0 10px;font-size:19px}.eyebrow{text-transform:uppercase;color:#FECF0D;letter-spacing:.17em;font-size:11px;font-weight:bold}.muted{color:#aab6bf}.auth-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;min-height:68vh}.auth-hero{position:relative}.auth-hero h1{font-size:clamp(46px,6vw,82px);max-width:660px}.auth-hero p{max-width:440px;color:#bcc6cc;line-height:1.6}.auth-world{width:100%;border:1px solid #475056;border-radius:8px;margin-top:25px;image-rendering:pixelated;max-height:260px;object-fit:cover;object-position:bottom}.auth-box,.surface{border:1px solid #35414a;background:#18232c;border-radius:14px;padding:28px}.portal form label{display:block;font-size:13px;color:#c7d0d6;margin:16px 0 8px}.portal input,.portal select,.portal textarea{display:block;box-sizing:border-box;width:100%;color:#f5f5f5;background:#0d171f;border:1px solid #4a5660;border-radius:6px;padding:13px;font:inherit;margin-top:7px}.portal textarea{min-height:100px;resize:vertical}.portal input:focus,.portal select:focus,.portal textarea:focus{outline:2px solid #FECF0D;outline-offset:2px}.form-message{min-height:20px;color:#FECF0D;font-size:14px}.form-tabs,.toolbar,.flexline{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.form-tabs{margin-bottom:24px}.form-tabs button,.portal-nav button{border:0;background:transparent;color:#9ba9b3;font:inherit;padding:12px 14px;cursor:pointer;border-bottom:2px solid transparent}.form-tabs .selected,.portal-nav .selected{color:#FECF0D;border-color:#FECF0D}.portal .btn{white-space:normal}.auth-box .btn-primary{width:100%;margin-top:6px}.auth-box small{display:block;color:#a7b3bc;line-height:1.5}.portal-nav{display:flex;gap:20px;border-bottom:1px solid #38434b;margin-bottom:30px}.toolbar{margin:22px 0}.toolbar input,.toolbar select{width:auto;min-width:180px;margin:0}.toolbar .push{margin-left:auto}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.student-tile{position:relative;text-align:left;padding:24px;background:#192630;border:1px solid #3a4751;border-radius:12px;color:inherit;font:inherit;cursor:pointer;transition:transform .18s,border-color .18s}.student-tile:hover{transform:translateY(-3px);border-color:#FECF0D}.tile-initials{width:44px;height:44px;background:#FECF0D;color:#16222b;font-weight:bold;display:grid;place-items:center;border-radius:10px;margin-bottom:18px}.student-tile strong{display:block;font-size:21px}.student-tile p{margin:7px 0;color:#aab8c3;font-size:13px}.tile-progress{height:5px;background:#35434e;border-radius:3px;margin:22px 0 12px;overflow:hidden}.tile-progress span{display:block;height:100%;background:#FECF0D}.badge{display:inline-block;padding:4px 8px;border-radius:4px;background:#2d3c47;color:#d0dce4;font-size:11px}.badge.good{background:#25473b;color:#a4e3c3}.badge.warn{background:#524831;color:#ffe291}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:24px 0}.metric{padding:18px;border:1px solid #3c4851;border-radius:9px}.metric strong{display:block;font-size:29px;color:#FECF0D}.metric span{font-size:12px;color:#afbdc8}.group-item,.license-item,.user-item,.production,.assignment{padding:22px;border:1px solid #354550;background:#182731;border-radius:10px;margin:16px 0}.portal dialog{background:#111f29;border:1px solid #596671;border-radius:14px;color:#eaf1f6;max-height:88vh;overflow:auto;width:min(1000px,90vw);padding:30px}.portal dialog::backdrop{background:rgba(0,0,0,.8)}#password-dialog{width:min(440px,90vw)}.close-dialog{margin-top:24px}.detail-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.production pre,.portal pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0c161d;padding:16px;border-radius:6px}.production audio{width:100%;margin:12px 0}.production-meta{font-size:12px;color:#b6c2ca}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.empty{padding:40px;color:#bac6ce;border:1px dashed #53616b;border-radius:10px;text-align:center}.student-welcome{display:grid;grid-template-columns:1fr 1fr;gap:25px}.link-btn{color:#FECF0D;text-decoration:none;display:inline-block;margin:10px 0}.notice{padding:18px;border-left:3px solid #FECF0D;background:#26343c;line-height:1.5}.portal .danger-text{color:#f4a397}.portal table{width:100%;border-collapse:collapse}.portal td,.portal th{text-align:left;padding:12px;border-bottom:1px solid #344852;font-size:13px}.table-wrap{overflow:auto}.statusline{position:fixed;bottom:18px;right:22px;max-width:80vw;padding:14px 22px;background:#FECF0D;color:#18212a;border-radius:8px;z-index:9999;box-shadow:0 5px 30px #0008}.portal .split{display:grid;grid-template-columns:1fr 1fr;gap:28px}.portal footer{color:#899da9;margin-top:40px;font-size:12px}@media(max-width:800px){.auth-layout,.split,.student-welcome{grid-template-columns:1fr!important;gap:25px}.auth-hero h1{font-size:44px}.portal-top{padding:15px;height:auto;min-height:65px;gap:15px}.portal-top img{width:110px}.top-context{display:none}#account-actions{font-size:12px;flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.portal-nav{gap:0}.portal-nav button{font-size:13px;padding:10px}.toolbar input,.toolbar select{width:100%}.toolbar .push{margin-left:0}.portal dialog{padding:18px}.portal .metrics{grid-template-columns:1fr 1fr}}
.mission-heading{display:flex;justify-content:space-between;align-items:start;gap:24px}.mission-heading .muted{max-width:760px}.mission-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:24px;align-items:start}.mission-step{border:1px solid #344659;border-radius:16px;padding:20px;margin:18px 0;background:#111f2b}.mission-step h4{margin:4px 0 14px}.mission-option{padding:12px;background:#192c39;border-radius:10px;margin:10px 0}.mission-option input[type=radio]{width:auto;margin-right:10px}.mission-publish{margin-top:24px}.mission-assigned{position:sticky;top:20px;max-height:80vh;overflow:auto}.mission-assigned .assignment{padding:18px;margin:16px 0;overflow-wrap:anywhere}.mission-step fieldset{border:1px solid #344659;border-radius:10px}.mission-step textarea{min-height:70px}.mission-layout select{max-width:100%}@media(max-width:850px){.mission-layout{grid-template-columns:1fr}.mission-assigned{position:static;max-height:none}.mission-heading{display:block}}
