.portal-workspace{max-width:1200px;margin:auto;padding:24px}.portal-workspace [hidden],#releaseForm .form-section[hidden],#releaseForm button[hidden]{display:none!important}.portal-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:28px 0}.portal-heading h1{margin:0;font-size:clamp(28px,4vw,44px)}.portal-actions,.release-steps,.wizard-controls{display:flex;gap:12px;flex-wrap:wrap}.portal-workspace a.action,.portal-workspace button,.release-steps button,.wizard-controls button{padding:12px 16px;background:#fff;border:1px solid #111;color:#111;font:inherit;cursor:pointer;text-decoration:none}.release-steps{margin:16px 0 28px}.release-steps [aria-current=step]{background:#111;color:white}.wizard-controls{justify-content:space-between;margin:24px 0}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.portal-card{border:2px solid #111;padding:24px}.portal-card h2{margin-top:0}.portal-card p{color:#555;line-height:1.5}.portal-workspace input{padding:12px;font:inherit;border:1px solid #111;width:100%;box-sizing:border-box}.catalog-row{padding:20px 0;border-bottom:1px solid #bbb;display:flex;justify-content:space-between;gap:20px;align-items:center}.catalog-row h2{margin:0 0 8px;font-size:20px}.catalog-row p{margin:0;color:#555}.release-review dd{margin:0 0 15px;white-space:pre-wrap;overflow-wrap:anywhere}.release-review dt{font-weight:bold}.release-review section{border-top:1px solid #bbb;padding:15px 0}.portal-workspace :focus-visible,.release-steps :focus-visible{outline:3px solid #b76b30;outline-offset:3px}@media(max-width:650px){.portal-grid{grid-template-columns:1fr}.portal-heading,.catalog-row{align-items:flex-start;flex-direction:column}.portal-workspace{padding:12px}.release-steps button{font-size:13px;padding:8px}}

/* Action links need a layout box: inline padding paints over adjacent text. */
.portal-workspace a.action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 44px;
    line-height: 1.4;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    vertical-align: middle;
}
.portal-heading { flex-wrap: wrap; }
.portal-heading > *, .catalog-row > *, .portal-grid > * { min-width: 0; }
.portal-workspace > p,
.portal-workspace .workspace-card p {
    margin: 0 0 14px;
    line-height: 1.6;
}
.portal-grid > .portal-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}
.portal-grid > .portal-card h2,
.portal-grid > .portal-card p { margin: 0; }
.portal-grid > .portal-card > a.action { margin-top: auto; }
.portal-card, .catalog-row { overflow-wrap: anywhere; }
.portal-workspace .workspace-card h2 { margin-bottom: 12px; line-height: 1.3; }
.portal-workspace .workspace-card .portal-actions { margin: 16px 0; gap: 12px 24px; }
.portal-workspace .portal-actions a { line-height: 1.5; text-underline-offset: 3px; }
.portal-workspace .catalog-row h2 { line-height: 1.35; }
.portal-workspace #catalog-kind { display: block; margin: 8px 0 20px; padding: 10px; max-width: 100%; font: inherit; }
.portal-workspace #catalog-search { margin: 8px 0 16px; }
@media (max-width: 650px) {
    body:has(> .portal-workspace) { padding: 12px; }
    .portal-grid > .portal-card { padding: 20px; }
    .portal-heading { gap: 16px; }
}

/* The accepted product view keeps each track and its own credits together. */
.catalog-row > div:first-child { flex: 1 1 320px; }
.catalog-row > .portal-actions { flex: 0 1 360px; }
.catalog-row details { margin-top: 16px; }
.catalog-row summary { padding: 8px 0; cursor: pointer; font-weight: 600; }
.submitted-tracks { margin: 16px 0; padding-left: 24px; }
.submitted-tracks > li { padding: 16px 0; border-bottom: 1px solid #ddd; }
.submitted-tracks h3 { font-size: 16px; line-height: 1.4; margin-bottom: 8px; }
.track-credit-list { list-style: none; padding: 0; margin: 12px 0 0; }
.track-credit-list li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 20px; padding: 6px 0; line-height: 1.5; }
.track-credit-list li > span:last-child { color: #666; }
@media (max-width: 650px) {
    .catalog-row > div:first-child, .catalog-row > .portal-actions { flex: auto; width: 100%; }
    .track-credit-list li { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

.drafts-panel { border: 1px solid #bbb; padding: 16px; margin: 24px 0; }
.drafts-panel summary { cursor: pointer; font-weight: 600; line-height: 1.5; }
.drafts-panel[open] summary { margin-bottom: 16px; }
.drafts-panel > .portal-actions { margin-top: 16px; }

/* Core portal: one reading width and calmer, consistent controls. */
body.portal-interface{padding:24px}
.portal-interface .portal-workspace{padding:0;width:100%;max-width:1200px}
.portal-interface .page-head{padding:0;border:0;box-shadow:none;margin:24px 0}
.portal-interface .page-head h1{font-size:clamp(28px,4vw,40px);line-height:1.2;margin:0 0 8px;letter-spacing:-.5px}
.portal-interface .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.portal-interface .card,.portal-interface .portal-card,.portal-interface .profile-card,.portal-interface .workspace-card,.portal-interface .form-shell{border:1px solid #ccc;box-shadow:none}
.portal-interface .card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;min-width:0}
.portal-interface .card h2,.portal-interface .card p{margin:0}
.portal-interface .card>a,.portal-interface .card>.portal-actions{margin-top:auto}
.portal-interface .btn,.portal-interface .portal-workspace button,.portal-interface a.action,.portal-interface .release-steps button,.portal-interface .wizard-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;white-space:normal;line-height:1.4;overflow-wrap:anywhere}
.portal-interface .primary-action{background:#111!important;color:#fff!important}
.portal-interface .card a:focus-visible,.portal-interface summary:focus-visible{outline:3px solid #b76b30;outline-offset:3px}
.portal-interface .profile-card h2,.portal-interface .profile-card p{overflow-wrap:anywhere}
.portal-interface .workspace-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.portal-interface .workspace-card{margin:0;padding:24px;min-width:0}
.portal-interface .workspace-card select{min-height:44px}
.portal-interface .workspace-option+.workspace-option{margin-top:24px;padding-top:24px;border-top:1px solid #ddd}
.portal-interface .workspace-option h3{font-size:20px;margin:0 0 10px}
.portal-interface .workspace-option .action{margin-top:4px}
.portal-interface .workspace-profile-options{margin-top:16px;border-top:1px solid #ddd;padding-top:8px}
.portal-interface .workspace-profile-options summary,.portal-interface .draft-tools summary{cursor:pointer;min-height:44px;padding:12px 0;line-height:1.4}
.portal-interface .draft-tools{margin:0 0 24px;border-bottom:1px solid #ddd;padding-bottom:8px}
.portal-interface .draft-tools p{font-size:14px;line-height:1.5;margin:8px 0 12px;color:#555}
.portal-interface .draft-tools button{font:inherit;background:#fff;border:1px solid #111;padding:12px;min-height:44px;cursor:pointer}
.portal-interface .portal-heading{margin-top:24px}
@media(max-width:650px){body.portal-interface{padding:16px}.portal-interface .grid,.portal-interface .workspace-layout{grid-template-columns:1fr}.portal-interface .workspace-card,.portal-interface .card{padding:18px}.portal-interface .form-shell{padding:18px}.portal-interface .release-steps{gap:8px}.portal-interface .release-steps button{font-size:13px}.portal-interface .workspace-option h3{font-size:18px}}

.portal-interface [data-admin-overview][hidden]{display:none}
.portal-interface .hero-panel h2{max-width:24ch;font-size:clamp(28px,4vw,44px)}
.portal-interface .hero-panel,.portal-interface .status-panel,.portal-interface .kpi-card,.portal-interface .section-card{border:1px solid #ccc;box-shadow:none}
body.portal-interface.layout-clean .page-head,body.portal-interface.layout-clean .form-shell{box-shadow:none}
body.portal-interface.layout-clean #logout-btn{min-height:44px}
.portal-interface .workspace-check{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;flex-wrap:wrap}
.portal-interface .workspace-check p{margin:0;font-size:14px}
.portal-interface .workspace-check button{font-size:13px;padding:8px 12px}
.portal-interface .workspace-card h2{font-size:20px}
@media(max-width:650px){.portal-interface .workspace-card .workspace-profile-options{margin-top:8px;padding-top:0}.portal-interface .workspace-card .workspace-profile-options summary{font-size:14px;padding:8px 0}.portal-interface .workspace-card p{margin-bottom:8px;font-size:14px}.portal-interface .workspace-card select{margin:8px 0}.portal-interface .workspace-card h2{font-size:18px;margin-bottom:8px}.portal-interface .workspace-layout{gap:12px}body.portal-interface.layout-clean .form-shell{padding:18px}}

.portal-interface .form-shell button[type="button"]{min-height:44px;font:inherit;padding:8px 12px;white-space:normal}

/* Submission feedback and long review values stay readable on small screens. */
.portal-interface .error-message{scroll-margin-top:24px;overflow-wrap:anywhere;line-height:1.6}
.portal-interface .error-message p{font-weight:600;margin:0 0 8px}
.portal-interface .error-message ul{padding-left:22px;margin:0}
.portal-interface .error-message li+li{margin-top:8px}
.portal-interface .error-message:focus-visible{outline:3px solid #b76b30;outline-offset:3px}
.portal-interface .release-review dl{margin:16px 0;min-width:0}
.portal-interface .release-review dt{line-height:1.5;margin:12px 0 4px;overflow-wrap:anywhere}
.portal-interface .release-review dd{line-height:1.6;font-weight:400}
.portal-interface .release-review h3{font-size:20px;line-height:1.4}
.portal-interface .release-review button{border:1px solid #111;background:#fff;cursor:pointer}

/* Long native selections must not expand historical review forms. */
.portal-workspace select{max-width:100%;min-width:0;box-sizing:border-box}
#legacy-review>label{display:block;min-width:0}
#legacy-review #legacy-product{display:block;width:100%;font:inherit;padding:12px;margin:8px 0 16px}
