/* Figma subjects / subject feed / creative work / assessment, v12.
   Scoped to these routes; shared shell and earlier page components are unchanged. */
.portal-subjects{background:var(--ui-bg);--subject-material:#146f70;--subject-material-bg:#e8f7f5;--subject-creative:#975c12;--subject-creative-bg:#fff4de;--subject-success:#12724e;}
[data-theme="dark"] .portal-subjects{--subject-material:var(--dark-material);--subject-material-bg:var(--dark-material-bg);--subject-creative:var(--dark-warning);--subject-creative-bg:var(--dark-warning-bg);--subject-success:var(--dark-success);}
.portal-subjects .main{background:var(--ui-bg);}
.portal-subjects .content{padding:34px 40px 56px;max-width:1600px;font-family:Manrope,system-ui,sans-serif;color:var(--ui-text);}
.portal-subjects .page-title{display:flex;align-items:flex-end;gap:16px;margin:0 0 28px;}
.portal-subjects .page-title>div{min-width:0;flex:1;}
.portal-subjects .page-title h1{font-size:32px;line-height:40px;font-weight:700;letter-spacing:-.6px;margin:0;overflow-wrap:anywhere;}
.portal-subjects .page-title .subtitle{font-size:16px;line-height:22px;color:var(--ui-muted);margin:12px 0 0;}
.subject-back{display:flex;align-items:center;gap:4px;width:max-content;min-height:44px;margin-bottom:12px;font-size:14px;line-height:20px;font-weight:600;color:var(--ui-brand);}
.subject-count{padding:9px 12px;border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface);color:var(--ui-brand);font-size:13px;line-height:18px;white-space:nowrap;}
.portal-subjects .page-title .button{background:var(--dark-primary,var(--ui-brand));color:var(--ui-cta);border:0;box-shadow:none;min-height:44px;border-radius:12px;}
.subject-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;vertical-align:middle;}
.subject-icon img{display:block;width:auto;height:auto;max-width:none;}
.subject-icon.design-dark{display:none;}[data-theme="dark"] .subject-icon.design-light{display:none;}[data-theme="dark"] .subject-icon.design-dark{display:inline-flex;}
.subject-directory-hint,.creative-hint,.exam-mobile-hint{padding:12px 16px;border-radius:12px;background:var(--ui-tint);color:var(--ui-brand);font-size:14px;line-height:20px;margin:0 0 28px;}
.subject-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.subject-directory-card{min-width:0;min-height:136px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:16px;box-shadow:var(--ui-shadow);padding:20px;}
.subject-directory-card>a{display:flex;align-items:center;gap:12px;color:var(--ui-text);text-decoration:none;}
/* Without admin actions the link fills the card, including its padding. */
.subject-directory-card:not(:has(>.subject-actions)){display:flex;padding:0;}
.subject-directory-card:not(:has(>.subject-actions))>a{flex:1;min-width:0;padding:20px;border-radius:inherit;}
.subject-directory-card:has(:focus-visible){outline:2px solid var(--ui-brand);outline-offset:3px;}
.subject-symbol{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:none;border-radius:12px;background:var(--ui-tint);}
.subject-directory-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px;}
.subject-directory-copy strong{font-size:15px;line-height:21px;font-weight:700;overflow-wrap:anywhere;}
.subject-directory-copy small{font-size:13px;line-height:18px;color:var(--ui-muted);}
.portal-subjects .subject-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--ui-border);margin-top:18px;padding:14px 0 0;}
.subject-directory-help{display:flex;gap:14px;align-items:center;padding:20px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);margin-top:28px;}
.subject-directory-help>b{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;background:var(--ui-tint);border-radius:12px;color:var(--ui-brand);font-size:18px;}
.subject-directory-help strong{font-size:16px;line-height:22px;}.subject-directory-help p{margin:4px 0 0;font-size:14px;line-height:20px;color:var(--ui-muted);}
.portal-subjects .subject-tabs{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:12px;margin:0 0 16px;padding:0;border:0;}
.portal-subjects .subject-all{display:flex;align-items:center;gap:10px;flex-basis:auto;margin:0;padding:0;border:0;}
.subject-current{display:flex;align-items:center;gap:10px;min-height:28px;background:transparent;border:0;color:var(--ui-text);padding:0;font:700 20px/26px Manrope,system-ui,sans-serif;text-align:left;}
.subject-current:before{content:'';width:6px;height:28px;flex:none;background:var(--ui-brand);border-radius:999px;}
.subject-all>small{font-size:13px;line-height:18px;color:var(--ui-muted);}
.subject-tab-row{display:flex;align-items:center;justify-content:flex-start;min-width:0;width:100%;gap:8px;overflow-x:auto;max-width:100%;scrollbar-width:thin;padding:0 0 4px;}
.portal-subjects .subject-tab-row .filter{background:var(--ui-subtle);border:0;border-radius:12px;min-height:44px;padding:12px;font:600 14px/20px Manrope,system-ui,sans-serif;color:var(--ui-muted);white-space:nowrap;box-shadow:none;flex:none;}
.portal-subjects .subject-tab-row .filter.active{color:var(--ui-brand);background:var(--ui-tint);}
.portal-subjects .subject-settings{margin:-12px 0 20px;}
.subject-content-list{display:flex;flex-direction:column;gap:16px;min-width:0;}
.subject-content-list .list-toolbar{margin:0;display:flex;gap:12px;flex-wrap:wrap;color:var(--ui-muted);font-size:13px;}
.subject-content-list .list-toolbar label{display:flex;align-items:center;gap:8px;}
.subject-content-list .list-toolbar select{min-height:36px;padding:7px 12px;background:var(--ui-surface);color:var(--ui-muted);border:1px solid var(--ui-border);border-radius:999px;font:400 13px/18px Manrope,system-ui,sans-serif;}
.subject-aside p{margin:0;color:var(--ui-muted);font-size:14px;line-height:20px;}.subject-aside small{color:var(--ui-muted);font-size:12px;line-height:16px;}
.subject-post .activity-copy{gap:10px;}.subject-post .activity-copy h3{font-size:20px;line-height:26px;}.subject-post .activity-copy p{font-size:15px;line-height:21px;}
.subject-post-resource{--ui-brand:var(--subject-material);--ui-tint:var(--subject-material-bg);}
.subject-external{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;color:var(--ui-brand);font-size:14px;line-height:20px;font-weight:600;}
.subject-file{display:flex;align-items:center;gap:12px;min-height:52px;padding:11px 12px;background:var(--ui-subtle);border:1px solid var(--ui-border);border-radius:12px;color:var(--ui-text);font-size:14px;line-height:20px;text-decoration:none;}
.subject-file-icon{display:flex;align-items:center;justify-content:center;flex:none;}
.subject-file-name{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:600;}
.subject-author{display:flex;align-items:center;gap:8px;border-top:1px solid var(--ui-border);padding-top:16px;color:var(--ui-muted);font-size:13px;line-height:18px;}
.subject-deadline{display:flex;align-items:center;gap:8px;padding:12px;border-radius:12px;background:var(--ui-tint);color:var(--ui-brand);font-size:14px;line-height:20px;font-weight:600;}
.subject-deadline>span:not([class]){flex:1;}.subject-deadline small{font-size:12px;font-weight:400;}.subject-deadline.overdue{color:var(--ui-danger);background:var(--ui-danger-bg);}.subject-deadline.history{color:var(--ui-muted);background:var(--ui-subtle);}
.creative-hint{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:13px;line-height:18px;padding:10px 12px;}
.portal-subjects .subject-work{padding:24px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:16px;box-shadow:var(--ui-shadow);margin:0;min-width:0;}
.portal-subjects .subject-work>summary{display:flex;flex-direction:column;align-items:flex-start;gap:18px;list-style:none;cursor:pointer;margin:0;padding:0;}
.portal-subjects .creative-card-shell{position:relative;min-width:0;}
.portal-subjects .creative-card-shell> .card-share{position:absolute;top:18px;right:18px;margin:0;}
.portal-subjects .creative-card-shell> .subject-work>summary{padding-right:44px;}
@media(max-width:760px){.portal-subjects .creative-card-shell> .card-share{top:12px;right:12px;}}
.subject-work>summary::-webkit-details-marker{display:none;}
.portal-subjects .subject-work .creative-title{font-size:20px;line-height:26px;font-weight:700;margin:0;overflow-wrap:anywhere;}
.work-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--ui-tint);color:var(--ui-brand);font-size:13px;line-height:18px;font-weight:600;}
.subject-work[data-kind="article"] .work-badge{background:var(--subject-material-bg);color:var(--subject-material);}.subject-work[data-kind="essay"] .work-badge{background:var(--subject-creative-bg);color:var(--subject-creative);}
.work-expand{display:flex;gap:8px;align-items:center;font-size:13px;line-height:18px;color:var(--ui-muted);}.subject-work[open] .work-expand>span{transform:rotate(180deg);}
.work-content{display:flex;flex-direction:column;gap:18px;margin-top:18px;}
.work-requirements{display:flex;flex-direction:column;}
.work-requirements summary{list-style:none;cursor:pointer;color:var(--ui-brand);font-size:14px;line-height:20px;font-weight:600;}
.work-requirements summary::-webkit-details-marker{display:none;}.work-requirements:not([open]) .requirements-hide,.work-requirements[open] .requirements-show{display:none;}
.portal-subjects .requirements-copy{margin:12px 0 0;font-size:15px;line-height:21px;color:var(--ui-muted);overflow-wrap:anywhere;}
.requirements-copy>:first-child{margin-top:0;}.requirements-copy>:last-child{margin-bottom:0;}
.work-topics{border-top:1px solid var(--ui-border);padding-top:18px;}.work-topics h4{font-size:18px;line-height:24px;margin:0 0 10px;}
.portal-subjects .topic-list{display:flex;flex-direction:column;gap:10px;list-style:none;padding:0;margin:0;}
.portal-subjects .topic-list li{display:flex;align-items:center;gap:14px;padding:16px 14px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-subtle);margin:0;}
.topic-copy{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:10px;font-size:15px;line-height:22px;font-weight:600;overflow-wrap:anywhere;}
.portal-subjects .topic-student{display:inline-flex;align-items:center;gap:10px;padding:8px 10px;max-width:100%;border:0;border-radius:12px;background:var(--ui-tint);color:var(--ui-text);font-size:15px;line-height:22px;font-weight:600;margin:0;}
.portal-subjects .topic-free{font-size:14px;line-height:20px;color:var(--subject-success);font-weight:600;}
.subject-exam{display:flex;flex-direction:column;gap:20px;min-width:0;}.subject-exam h2{font-size:24px;line-height:32px;margin:0;font-weight:700;}.subject-exam header p{font-size:16px;line-height:22px;color:var(--ui-muted);margin:8px 0 0;}
.portal-subjects .question-list{padding:0;margin:0;list-style:none;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);box-shadow:var(--ui-shadow);overflow:hidden;}
.portal-subjects .question-list li{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;margin:0;font-size:15px;line-height:21px;font-weight:600;overflow-wrap:anywhere;}
.question-list li+li{border-top:1px solid var(--ui-border);}.question-number{display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:12px;background:var(--ui-tint);color:var(--ui-brand);font-size:14px;font-weight:700;}
.exam-files{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);}.exam-files h3{font-size:18px;line-height:24px;margin:0;}
.exam-file{background:var(--ui-surface);}.exam-file .subject-file-icon{width:36px;height:36px;border-radius:12px;background:var(--ui-tint);}
.subject-file-format{font-size:11px;line-height:15px;font-weight:700;color:var(--ui-muted);padding:5px 8px;border:1px solid var(--ui-border);border-radius:12px;}
.subject-download{display:flex;align-items:center;gap:6px;min-height:44px;padding:8px 10px;border-radius:12px;background:var(--ui-tint);color:var(--ui-brand);font-size:13px;line-height:18px;font-weight:600;}
.exam-mobile-hint{display:none;margin:0;}
.portal-subjects .activity-secondary{border:0;background:var(--ui-subtle);color:var(--ui-text);}.portal-subjects .activity-secondary.danger{background:var(--ui-danger-bg);color:var(--ui-danger);}
.portal-subjects #modal[data-subject="true"]{font-family:Manrope,system-ui,sans-serif;padding:24px;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:20px;width:min(520px,calc(100vw - 32px));box-shadow:0 12px 32px #07101f24;}
.portal-subjects #modal.subject-wide-dialog{width:min(820px,calc(100vw - 32px));}
.portal-subjects #modal .modal-head{margin:0 0 18px;gap:16px;}.portal-subjects #modal h2{font-size:20px;line-height:26px;}.portal-subjects #modal .close{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;border:0;background:transparent;}
.portal-subjects #modal #editor{display:flex;flex-direction:column;gap:18px;}.portal-subjects #modal .field{margin:0;gap:7px;font-size:13px;line-height:18px;font-weight:600;color:var(--ui-text);}
.portal-subjects #modal .subject-publication-type{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--ui-border);}
.portal-subjects #modal .field input,.portal-subjects #modal .field textarea,.portal-subjects #modal .field select{min-height:48px;padding:12px 14px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);color:var(--ui-text);font:400 14px/20px Manrope,system-ui,sans-serif;}
.portal-subjects #modal textarea{min-height:120px;white-space:pre-wrap;}.portal-subjects #modal .hint{margin:0;font-size:13px;line-height:18px;color:var(--ui-muted);}.portal-subjects #modal .check{color:var(--ui-text);font-size:14px;}
.portal-subjects #modal .form-buttons{display:flex;gap:10px;margin:0;}.portal-subjects #modal .form-buttons button{flex:1;min-height:44px;border:0;border-radius:12px;font:600 14px/20px Manrope,system-ui,sans-serif;box-shadow:none;}
.portal-subjects #modal .form-buttons button[type="submit"]{order:-1;background:var(--dark-primary,var(--ui-brand));color:var(--ui-cta);}.portal-subjects #modal .form-buttons .secondary{background:var(--ui-subtle);color:var(--ui-text);}
.portal-subjects #modal.subject-danger-dialog .form-buttons button[type="submit"]{background:var(--dark-danger-solid,var(--ui-danger));color:#fff;order:1;}.portal-subjects #modal .form-error:empty{display:none;}
.subject-selected-topic{padding:14px;border-radius:12px;background:var(--ui-tint);font-size:15px;line-height:22px;font-weight:600;}.subject-selected-topic p{margin:6px 0 0;}.subject-selected-topic small{font-size:13px;line-height:18px;color:var(--ui-muted);}
.portal-subjects #modal .topic-edit-row,.portal-subjects #modal .list-preview{background:var(--ui-subtle);border:1px solid var(--ui-border);border-radius:12px;padding:14px;}.portal-subjects #modal .topic-editor{display:flex;flex-direction:column;gap:12px;}
@media(max-width:1100px){.subject-layout{grid-template-columns:minmax(0,1fr);}.subject-aside{display:none;}}
@media(max-width:760px){
 .portal-subjects .content{padding:24px 16px 32px;}.portal-subjects .page-title{margin-bottom:20px;gap:12px;flex-wrap:wrap;}.portal-subjects .page-title h1{font-size:28px;line-height:36px;letter-spacing:-.4px;}.portal-subjects .page-title .subtitle{font-size:15px;line-height:21px;margin-top:10px;}.subject-back{font-size:13px;line-height:18px;margin-bottom:10px;}
 .subject-count{font-size:12px;line-height:16px;padding:7px 10px;background:var(--ui-tint);border:0;}.subject-directory-hint,.subject-directory-help{display:none;}.subject-directory{grid-template-columns:1fr;gap:12px;}.subject-directory-card{padding:16px;min-height:92px;}.subject-symbol{width:44px;height:44px;}.subject-directory-copy strong{font-size:14px;line-height:20px;}.subject-directory-copy small{font-size:12px;line-height:17px;}
 .portal-subjects .subject-tabs{margin-bottom:20px;}.subject-current{font-size:18px;line-height:23px;}.subject-all>small{font-size:12px;}.subject-tab-row .active{order:0;}.subject-content-list{gap:14px;}.subject-post{padding:18px;gap:14px;}.subject-post .activity-copy h3{font-size:18px;line-height:25px;}.subject-post .activity-copy p{font-size:15px;line-height:21px;}
 .portal-subjects .subject-work{padding:18px;}.portal-subjects .subject-work .creative-title{font-size:18px;line-height:25px;}.portal-subjects .topic-list li{flex-direction:column;align-items:stretch;background:var(--ui-surface);border:0;padding:16px 0;border-radius:0;}.portal-subjects .topic-list li>button{width:100%;}.portal-subjects .topic-student{font-size:15px;line-height:22px;}
 .subject-exam h2{font-size:22px;line-height:28px;}.subject-exam header p{font-size:15px;line-height:20px;}.portal-subjects .question-list li{padding:14px;gap:14px;}.exam-files{padding:16px;}.exam-files h3{font-size:18px;line-height:24px;}.exam-file{gap:10px;padding:12px;}.exam-file .subject-file-name{font-size:13px;line-height:18px;}.subject-file-format{font-size:10px;padding:5px;}.subject-download{padding:8px;}.exam-mobile-hint{display:block;}.subject-deadline{flex-wrap:wrap;}.subject-deadline small{margin-left:auto;}
 .portal-subjects #modal[data-subject="true"]{padding:20px;}.portal-subjects #modal .field input,.portal-subjects #modal .field textarea,.portal-subjects #modal .field select{font-size:16px;}
}
@media(max-width:360px){.exam-file{flex-wrap:wrap;}.exam-file .subject-file-name{flex-basis:65%;}.subject-file-format{margin-left:46px;}.subject-download{margin-left:auto;}}
/* Neutralize legacy subject styles only inside the redesigned pages. */
.portal-subjects .subject-work>summary::after{content:none;}
.portal-subjects .topic-list li>.topic-copy{display:flex;flex-direction:column;width:auto;padding:0;}
.portal-subjects .topic-list li>button{max-width:none;flex:none;}
.portal-subjects .question-list li{border-bottom:0;}
.work-expand>span{display:inline-flex;transform:rotate(180deg);}.subject-work[open] .work-expand>span{transform:none;}
.subject-assessment{display:flex;gap:10px;padding:0;border:0;margin:0;}.subject-assessment legend{font-size:13px;font-weight:600;margin-bottom:8px;}.subject-assessment label{display:flex;flex:1;align-items:center;gap:8px;padding:12px;border:1px solid var(--ui-border);border-radius:12px;font-size:14px;background:var(--ui-subtle);}.subject-assessment label:has(:checked){background:var(--ui-tint);border-color:var(--ui-brand);color:var(--ui-brand);}.subject-assessment input{accent-color:var(--ui-brand);}
.subject-form-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;}
.work-requirements[open]{display:flex;flex-direction:column;gap:12px;}.work-requirements[open]>summary{order:1;}.portal-subjects .work-requirements[open] .requirements-copy{margin:0;}
.subject-danger-symbol{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--ui-danger-bg);margin-bottom:16px;}.subject-danger-symbol img{width:auto;height:auto;}
@media(max-width:760px){.subject-form-row{grid-template-columns:minmax(0,1fr);}.subject-directory-card:not(:has(>.subject-actions))>a{padding:16px;}}

.portal-subjects .subject-all{justify-content:space-between;flex-wrap:wrap;min-height:44px;}
.portal-subjects .subject-settings-button{min-height:40px;margin-left:auto;}
.portal-subjects .subject-tab-row{flex-wrap:wrap;overflow:visible;padding:0;}
.portal-subjects .subject-content-list>.list-sort-hint{margin:-8px 0 0;}
@media(max-width:760px){
 .portal-subjects .subject-tab-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
 .portal-subjects .subject-settings-button{min-height:44px;font-size:13px;}
}

/* Compact subject header without the redundant description. */
.portal-subjects .page-title:has(.subject-back){margin-bottom:16px;}
.portal-subjects .subject-tabs{gap:8px;margin-bottom:12px;}
.portal-subjects .subject-all{min-height:24px;}
.portal-subjects .subject-all:has(.subject-settings-button){min-height:40px;}

/* Every subject tab keeps the same content width and sort position. */
.portal-subjects .subject-layout{grid-template-columns:minmax(0,1fr);}
.subject-navigation{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start;}
.subject-sort-slot{min-height:44px;min-width:0;}
.portal-subjects .subject-sort-slot .list-controls{margin:0;min-height:44px;justify-content:flex-end;}
.portal-subjects .subject-sort-slot .list-sorting,.portal-subjects .subject-sort-slot .list-control-sort,.portal-subjects .subject-sort-slot .portal-select-trigger{width:100%;}
.subject-sort-placeholder{min-height:44px;}
.portal-subjects .subject-sort-slot :is(select:disabled,.portal-select-trigger:disabled){opacity:.5;cursor:default;}
@media(max-width:1050px){.subject-navigation{grid-template-columns:minmax(0,1fr);gap:12px;}.subject-sort-slot{width:240px;max-width:100%;justify-self:end;}}
@media(max-width:760px){.subject-sort-slot{width:180px;}}
/* Content editors use the task dialog geometry even when opened from a subject. */
.portal-ui.portal-subjects #modal:is([data-reference="resources"],[data-activity="tasks"]){width:min(720px,calc(100vw - 32px));border-radius:12px;}

.subject-mobile-section{display:none!important;}
@media(max-width:760px){
 .portal-subjects .subject-navigation{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px;align-items:start;}
 .portal-subjects .subject-tab-row{display:none;}
 .portal-ui.portal-subjects .subject-mobile-section{display:flex!important;margin:0;min-width:0;}
 .portal-ui.portal-subjects .subject-mobile-section .list-control-subject{width:100%;max-width:100%;min-width:0;}
 .portal-ui.portal-subjects .subject-mobile-section .portal-select-trigger{width:100%;}
 .portal-subjects .subject-sort-slot{width:100%;min-width:0;max-width:100%;}
}
