.portal-home{max-width:1460px;padding-top:34px}.internal-dashboard-home{max-width:none;margin:0;padding-top:20px}.internal-dashboard-home>.stat-row{margin-bottom:28px}.internal-dashboard-history-link{margin-top:18px}.portal-home-columns{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:34px;display:grid}.portal-home-column{gap:28px;min-width:0;display:grid}.portal-home-section{--portal-section-color:var(--accent);--portal-section-soft:var(--accent-soft);border:1px solid var(--border);border-top:3px solid var(--portal-section-color);border-radius:var(--radius);background:var(--surface);min-width:0}.portal-home-announcements{--portal-section-color:var(--warn-text);--portal-section-soft:var(--warn-soft)}.portal-home-schedule{--portal-section-color:var(--info-text);--portal-section-soft:var(--info-soft)}.portal-home-updates{--portal-section-color:var(--accent-text);--portal-section-soft:#eef5f1}.portal-home-section-heading{border-bottom:1px solid var(--border);background:var(--portal-section-soft);border-radius:3px 3px 0 0;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:9px 12px;display:flex}.portal-home-heading-copy{align-items:center;gap:9px;min-width:0;display:flex}.portal-home-heading-icon{border:1px solid color-mix(in srgb, var(--portal-section-color) 25%, transparent);border-radius:var(--radius);background:var(--surface);width:30px;height:30px;color:var(--portal-section-color);flex:0 0 30px;place-items:center;display:grid}.portal-home-heading-copy>div{min-width:0}.portal-home-section-heading h2{font-size:15px;font-weight:700}.portal-home-section-heading p{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;overflow:hidden}.portal-home-heading-actions{flex:none;align-items:center;gap:10px;display:flex}.portal-home-heading-actions>span{border:1px solid color-mix(in srgb, var(--portal-section-color) 25%, var(--border));background:var(--surface);min-width:22px;height:22px;color:var(--portal-section-color);border-radius:12px;place-items:center;padding:0 6px;font-size:11px;font-weight:700;display:grid}.portal-home-heading-actions>a{color:var(--accent-text);font-size:12px;font-weight:700}.portal-home-search-row{border-bottom:1px solid var(--border-soft);background:var(--surface);align-items:center;gap:10px;min-height:45px;padding:7px 10px;display:flex}.portal-home-search{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);min-width:0;min-height:30px;color:var(--text-muted);flex:auto;align-items:center;gap:7px;padding:0 8px;display:flex}.portal-home-search:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.portal-home-search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.portal-home-search input::-webkit-search-cancel-button{display:none}.portal-home-search button{width:24px;height:24px;color:var(--text-muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.portal-home-search button:hover{background:var(--surface-hover);color:var(--text)}.portal-home-search-result{color:var(--text-muted);white-space:nowrap;flex:none;font-size:11px}.portal-home-search-empty{min-height:88px;color:var(--text-muted);text-align:center;place-items:center;gap:6px;padding:18px;display:grid}.portal-home-search-empty p{font-size:13px}.portal-home-empty{background:var(--surface)}.portal-project-list{gap:10px;padding:10px;display:grid}.portal-project-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.portal-project-card-main{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:82px;padding:12px 14px;transition:background-color .14s;display:grid}.portal-project-card:hover .portal-project-card-main,.portal-project-card:focus-within .portal-project-card-main{background:var(--surface-hover)}.portal-project-mark{background:var(--accent-soft);width:42px;height:42px;color:var(--accent-text);font-family:var(--mono);border-radius:7px;place-items:center;font-size:13px;font-weight:800;display:grid}.portal-project-card-copy{gap:3px;min-width:0;display:grid}.portal-project-card-copy>a{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.portal-project-card-copy>a:hover{color:var(--accent-text)}.portal-project-card-meta{justify-items:end;gap:7px;display:grid}.portal-project-card-meta small{color:var(--text-muted);white-space:nowrap;font-size:11px}.portal-project-card>nav{border-top:1px solid var(--border-soft);background:var(--surface-muted);flex-wrap:wrap;display:flex}.portal-project-card>nav a{border-right:1px solid var(--border-soft);min-height:34px;color:var(--text-muted);align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.portal-project-card>nav a:hover{background:var(--surface-hover);color:var(--accent-text)}.portal-update-feed{gap:14px;padding:10px;display:grid}.portal-update-day{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.portal-update-day>h3{border-bottom:1px solid var(--border);background:var(--surface-muted);padding:9px 14px;font-size:13px;font-weight:700}.portal-update-item{gap:10px;padding:14px 16px;transition:background-color .14s;display:grid}.portal-update-item:hover,.portal-update-item:focus-within{background:var(--surface-hover)}.portal-update-item+.portal-update-item{border-top:1px solid var(--border-soft)}.portal-update-item>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-update-item>header a{color:var(--accent-text);font-size:13px;font-weight:700}.portal-update-summary{align-items:flex-start;gap:9px;display:flex}.portal-update-summary>div{gap:4px;min-width:0;display:grid}.portal-update-summary p{color:var(--text-muted);font-size:12px}.portal-update-summary p strong{color:var(--text)}.portal-update-system{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-text);border-radius:50%;flex:0 0 32px;place-items:center;font-size:10px;font-weight:800;display:grid}.portal-update-subject{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.portal-update-subject>a{color:var(--text);font-size:14px;font-weight:700}.portal-update-subject>a:hover{color:var(--accent-text)}.portal-update-body{color:var(--text-muted);overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;line-height:1.7;display:-webkit-box;overflow:hidden}.portal-update-feed time{color:var(--text-muted);white-space:nowrap;font-size:11px}.portal-update-feed nav{justify-content:flex-end;gap:7px;padding-top:2px;display:flex}.portal-update-feed nav a{border:1px solid var(--border);color:var(--text-muted);border-radius:12px;padding:4px 8px;font-size:11px;font-weight:600}.portal-update-feed nav a:hover{border-color:var(--accent);color:var(--accent-text)}.project-team-members{align-items:center;gap:8px;min-width:180px;display:flex}.project-team-avatars{flex:none;padding-left:5px;display:flex}.project-team-avatars .avatar{border:2px solid var(--surface);margin-left:-5px}.project-team-names{max-width:220px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.project-team-empty{color:var(--text-faint);font-size:13px}.portal-project-card-copy .project-team-members{min-width:0}.portal-project-card-copy .project-team-avatars{display:none}.portal-project-card-copy .project-team-names{max-width:100%;font-size:12px}.portal-dashboard-list,.portal-news-list{gap:0;display:grid}.portal-dashboard-list>a:first-child,.portal-news-list>article:first-child>a{padding-top:0}.portal-dashboard-list>a:last-child,.portal-news-list>article:last-child{border-bottom:0;padding-bottom:0}.portal-dashboard-list time,.portal-dashboard-list span,.portal-news-list time{color:var(--text-muted);font-size:12px}.portal-news-list>article{border-bottom:1px solid var(--border-soft)}.portal-news-list>article>a{color:inherit;gap:7px;padding:12px 0;text-decoration:none;transition:background-color .16s,padding .16s;display:grid}.portal-news-list>article>a:hover{background:var(--surface-hover)}.portal-news-list>article>a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.portal-news-list header,.portal-announcement-detail>header{justify-content:space-between;gap:10px;display:flex}.portal-news-list header h3{color:var(--accent-text);font-size:13px;font-weight:700}.platform-announcement-title{align-items:center;gap:7px;min-width:0;display:flex}.platform-announcement-kind{background:var(--info-soft);color:var(--info-text);border-radius:10px;flex:none;padding:3px 7px;font-size:10px;font-weight:700}.platform-announcement-kind.kind-maintenance{background:var(--warn-soft);color:var(--warn-text)}.platform-announcement-kind.kind-important{background:var(--danger-soft);color:var(--danger)}.portal-home-announcements .portal-news-list{background:var(--surface)}.portal-home-announcements .portal-news-list>article{padding:0}.portal-home-announcements .portal-news-list>article>a{padding:11px 14px}.portal-announcement-excerpt{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;line-height:1.65;display:-webkit-box;overflow:hidden}.portal-announcement-link-meta{color:var(--accent-text);justify-self:end;font-size:12px;font-weight:700}.portal-announcement-overview .portal-news-list>article>a{padding:18px}.portal-announcement-overview .portal-news-list>article>a:hover{padding-left:22px;padding-right:22px}.portal-announcement-detail{overflow:hidden}.portal-announcement-detail>header{border-bottom:1px solid var(--border-soft);background:linear-gradient(135deg, var(--surface-muted), var(--surface));align-items:flex-start;padding:22px 24px}.portal-announcement-detail>header>div{gap:10px;display:grid}.portal-announcement-detail>header h1{font-size:clamp(20px,3vw,28px);line-height:1.35}.portal-announcement-detail>header time{color:var(--text-muted);white-space:nowrap;font-size:13px}.portal-announcement-body{padding:28px 24px}.portal-announcement-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;padding:0 24px 28px;display:grid}.portal-announcement-gallery figure{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-muted);margin:0;overflow:hidden}.portal-announcement-gallery img{object-fit:contain;width:100%;height:auto;display:block}.portal-announcement-gallery figcaption{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;font-size:12px;overflow:hidden}.release-note-list{gap:0;display:grid}.release-note-item{border-bottom:1px solid var(--border-soft);padding:16px 14px}.release-note-item:last-child{border-bottom:0}.release-note-item h3{color:var(--accent-text);align-items:baseline;gap:10px;font-size:15px;display:flex}.release-note-item h3 time{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:400}.release-note-title{margin-top:4px;font-size:15px;font-weight:700}.release-note-body{margin-top:10px}.portal-home-section-more{border-top:1px solid var(--border-soft);background:var(--surface-muted);justify-content:flex-end;padding:10px 14px;display:flex}.portal-home-section-more a{color:var(--accent-text);align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}@media (min-width:1200px){.portal-home{padding-top:18px}.portal-home-columns{gap:22px}.portal-home-column{gap:20px}.portal-home-section-heading{min-height:52px}.portal-project-list{gap:6px;padding-top:6px}.portal-project-card-main{min-height:68px;padding:9px 12px}.portal-project-mark{width:36px;height:36px;font-size:12px}.portal-project-card-copy>a{font-size:14px}.portal-project-card>nav a{min-height:30px;padding-inline:10px}.portal-update-feed{gap:10px;padding-top:6px}.portal-update-day>h3{padding:7px 12px}.portal-update-item{gap:7px;padding:10px 12px}.portal-update-summary{gap:7px}.portal-update-system{flex-basis:26px;width:26px;height:26px}.portal-home-announcements .portal-news-list>article>a,.portal-home-schedule .portal-dashboard-list>a{padding:9px 12px}.portal-home-section-more{padding:8px 12px}}@media (max-width:860px){.portal-home{padding-top:22px}.portal-home-columns{grid-template-columns:1fr;gap:28px}}@media (max-width:560px){.portal-project-card-main{grid-template-columns:auto minmax(0,1fr)}.portal-project-card-meta{grid-area:2/2;justify-items:start}.portal-project-card>nav a{flex:auto;justify-content:center;padding-inline:8px}.portal-home-section-heading{flex-direction:column;align-items:flex-start;padding-block:10px}.portal-home-heading-actions{justify-content:flex-end;width:100%}.portal-home-search-row{flex-direction:column;align-items:stretch}.portal-home-search-result{align-self:flex-end}}.portal-update-feed .md{font-size:13px;line-height:1.7}.portal-project-access{gap:6px;min-width:0;display:grid}.portal-project-access legend{color:var(--text);margin-bottom:5px;font-size:14px;font-weight:500}.portal-project-access label{min-width:0;color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.portal-detail{max-width:820px}.portal-schedule-overview-list>a{grid-template-columns:minmax(120px,.32fr) minmax(0,1fr) auto;align-items:center;gap:4px 18px;padding:14px 16px}.portal-schedule-overview-list .portal-schedule-project{color:var(--accent-text);grid-area:1/1/span 3;font-weight:700}.portal-schedule-overview-list time,.portal-schedule-overview-list strong{grid-column:2}.portal-schedule-overview-list .portal-schedule-assignee{white-space:nowrap;grid-area:1/3/span 3}.portal-schedule-list{margin-top:16px}@media (max-width:860px){.portal-schedule-overview-list>a{grid-template-columns:1fr;gap:4px}.portal-schedule-overview-list .portal-schedule-project,.portal-schedule-overview-list time,.portal-schedule-overview-list strong,.portal-schedule-overview-list .portal-schedule-assignee{grid-area:auto/1}}
