.portal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:28px}.portal-top h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.12;margin:12px 0 18px}.portal-top .actions{flex-wrap:wrap}.portal-notice{font-size:.875rem;background:#f3f5f7;border-left:3px solid #cf1231;padding:18px 22px;margin:24px 0;color:#434850}.portal-login{max-width:900px}.portal-login p,.portal-login .actions{margin:22px 0}.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}.portal-resource{border:1px solid var(--line);padding:28px;overflow-wrap:anywhere}.portal-resource h2{font-size:1.5rem;margin:12px 0}.portal-resource p{margin:12px 0}.portal-resource .resource-content{white-space:pre-wrap}.portal-resource summary{cursor:pointer;font-weight:600;margin:20px 0}.portal-resource .btn{margin-top:16px}.portal-filters{grid-template-columns:2fr 1fr 1fr}.portal-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.portal-tabs button{padding:14px 20px;border:1px solid var(--line)}.portal-tabs button[aria-pressed=true]{background:var(--ink);color:white}.portal-table{overflow-x:auto;margin:28px 0}.portal-table table{border-collapse:collapse;width:100%;min-width:650px;text-align:left}.portal-table th,.portal-table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:top}.portal-table th{background:var(--pale)}.portal-record{padding:22px;border:1px solid var(--line);margin-bottom:16px;overflow-wrap:anywhere}.portal-record h3{font-size:1.2rem;margin-bottom:10px}.portal-record p{font-size:.9rem;margin:8px 0}.portal-record button{margin:12px 12px 0 0;text-decoration:underline;padding:6px 0}.portal-record .record-state{font-weight:600;color:#9e1730}.form-message:not(:empty),#management-status:not(:empty),#portal-status:not(:empty){padding:14px 0;line-height:1.5}.form-help{display:block}.portal-tabs~section[hidden],[hidden]{display:none!important}@media(max-width:1000px){.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-top{flex-direction:column}}@media(max-width:700px){.portal-grid,.portal-filters{grid-template-columns:1fr}.portal-tabs button{flex:1}.portal-top .actions{gap:18px}.portal-resource{padding:22px}}
