.portal-dialog{width:min(620px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid #dce1e9;border-radius:20px;padding:30px;box-shadow:0 24px 80px #16264730;color:#17243c;background:#fff}
.portal-dialog::backdrop{background:#14223999;backdrop-filter:blur(5px)}
.portal-dialog h2{margin:0 0 12px}.portal-dialog p{line-height:1.6}.portal-dialog form{display:grid;gap:14px;margin:20px 0}.portal-field{display:grid;gap:7px;font-size:14px;font-weight:600}
.portal-dialog input,.portal-dialog select,.portal-dialog textarea,.class-feed textarea,.class-feed input,.portal-dialog>select{box-sizing:border-box;width:100%;font:inherit;border:1px solid #c8d0dd;border-radius:9px;padding:12px;background:#fff;color:#17243c}
.portal-dialog .primary-button,.portal-dialog .secondary-button{min-height:44px}.portal-close{float:right}.portal-dialog small{color:#59677c;line-height:1.5}.portal-dialog textarea{margin-bottom:14px}.account-label{font-size:12px;color:#56647a}.header-actions{flex-wrap:wrap}.account-list{display:grid;gap:12px}.account-row{display:flex;gap:10px;flex-wrap:wrap;padding:16px;background:#f4f6fa;border-radius:12px}.account-row>strong,.account-row>span{width:100%}.account-row>span{font-size:13px;color:#56647a}.account-row button{font-size:12px}
.class-feed{max-width:1200px;margin:24px auto;padding:28px;border:1px solid #dce1e9;background:#fff;border-radius:18px}.class-feed h2{margin:0 0 8px}.class-posts{display:grid;gap:12px;margin-top:18px}.class-post{padding:18px;background:#f5f7fb;border:1px solid #e3e7ef;border-radius:12px;overflow-wrap:anywhere}.class-post time{display:block;font-size:12px;color:#67738a;margin-top:4px}.class-post p{white-space:pre-wrap;line-height:1.6}.class-post img{display:block;max-width:100%;max-height:340px;border-radius:8px;margin:12px 0}.class-post a{display:block;color:#3456af;padding:8px 0}.teacher-post-form{display:grid;gap:12px;margin-top:22px}.teacher-post-form small{color:#67738a}.teacher-post-form button{justify-self:end}.screen-view .class-feed{color:#17243c}.screen-view .class-post{font-size:22px}
@media(max-width:640px){.portal-dialog{padding:20px}.class-feed{padding:18px;margin:16px 0}.account-label{width:100%}.header-actions{gap:10px}}
.teacher-main .class-feed,.student-stage .class-feed{width:100%;padding:20px;margin:24px 0 0}.class-feed .class-posts{max-height:480px;overflow-y:auto}.screen-content .class-feed{grid-column:1/-1;width:100%}
