/* The portal extends the original Semnora showcase palette and typography. */
.development-banner{background:var(--ink);color:#d9e9ee;font-size:12px;padding:8px 0}.development-banner>.wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.development-banner strong{color:var(--mint);font-weight:600}.development-banner span:last-child{margin-left:auto}.dev-indicator{width:6px;height:6px;background:var(--mint);border-radius:50%}.nav-account{display:flex;align-items:center;gap:15px}.logout-form{margin:0}.quiet-button{border:0;background:none;padding:10px 0;color:var(--muted);font-size:13px}.quiet-button:hover{color:var(--teal)}.footer-links{display:flex;flex-wrap:wrap;gap:20px}.footer-links a:hover{text-decoration:underline}.portal-main{min-height:calc(100vh - 290px)}.portal-section{padding-block:48px 64px}.portal-page h1{font-size:clamp(32px,3.5vw,46px);line-height:1.16;letter-spacing:-1.5px;font-weight:550}.portal-page h2{font-size:23px;line-height:1.3;letter-spacing:-.5px;font-weight:600}.portal-page h3{font-size:18px;line-height:1.4;letter-spacing:-.3px;font-weight:600}.page-heading{margin-bottom:28px;max-width:780px}.page-heading .kicker{margin-bottom:10px}.lead{margin-top:14px;color:var(--muted);font-size:16px;line-height:1.8;max-width:740px}.account-tabs{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);margin-bottom:30px;overflow-x:auto}.account-tabs a{padding:12px 18px;white-space:nowrap;font-size:14px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent}.account-tabs a:hover{color:var(--teal)}.account-tabs a[aria-current=page]{color:var(--teal);border-color:var(--teal)}.surface{padding:30px;border:1px solid var(--line);border-radius:12px;background:#fff}.surface+.surface{margin-top:22px}.surface-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.surface-heading p{color:var(--muted);font-size:14px;margin-top:6px}.narrow-panel{max-width:580px;margin-inline:auto}.narrow-panel h1{font-size:34px}.wide-panel{max-width:800px}.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;align-items:start}.dashboard-grid>.surface{margin:0}.quick-links{display:grid;gap:12px;margin-top:24px}.quick-link{display:flex;gap:18px;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:18px;border-radius:8px}.quick-link:hover{background:var(--soft);border-color:#b5d7cd}.quick-link strong{display:block;font-size:16px;font-weight:600}.quick-link small{display:block;color:var(--muted);margin-top:3px;font-size:13px}.quick-link>.icon{color:var(--teal)}.account-meta{display:grid;gap:18px;margin:0}.account-meta dt{color:var(--muted);font-size:12px;margin-bottom:3px}.account-meta dd{margin:0;font-size:15px;overflow-wrap:anywhere}.account-meta code{font-size:12px}.license-list{display:grid;gap:22px}.license-card{padding:28px;border:1px solid var(--line);background:#fff;border-radius:12px}.license-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.license-card-heading .edition-title{font-size:24px;font-weight:600;letter-spacing:-.7px}.license-card-heading p{color:var(--muted);font-size:13px;margin-top:4px}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;background:var(--soft);border:1px solid #c9e3da;border-radius:5px;color:var(--teal-dark);font-size:12px;font-weight:600;white-space:nowrap}.pill.muted{color:var(--muted);background:var(--paper);border-color:var(--line)}.pill.warning{background:#fff5e7;border-color:#edd9b6;color:#765318}.license-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:25px 0;padding:22px 0;border-block:1px solid var(--line)}.license-facts dt{font-size:12px;color:var(--muted);margin-bottom:5px}.license-facts dd{margin:0;font-size:15px;font-weight:600}.license-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}.license-foot p{max-width:680px}.empty-state{padding:40px 30px;text-align:center;background:#fff;border:1px dashed #c9d7dc;border-radius:12px}.empty-state>.icon{height:32px;width:32px;color:var(--teal);margin-bottom:12px}.empty-state h2{margin-bottom:9px}.empty-state p{max-width:510px;margin-inline:auto;font-size:15px;color:var(--muted)}.empty-state .button{margin-top:20px}.notice{border:1px solid #bfdfd3;border-left:3px solid var(--teal);background:var(--soft);border-radius:6px;padding:15px 18px;margin-bottom:22px;font-size:14px;color:var(--teal-dark);line-height:1.65}.notice p+p{margin-top:8px}.notice strong{font-weight:600}.notice.warning{border-color:#ead3ad;border-left-color:#b17b2b;background:#fff8ed;color:#72511d}.notice.info{color:var(--ink);background:#eff4f7;border-color:#ccdce5;border-left-color:var(--ink)}.notice a{text-decoration:underline;text-underline-offset:3px}.form-grid{display:grid;gap:21px}.field{display:grid;gap:7px}.field label,.form-label{font-size:14px;font-weight:600;display:block}.field input,.field select,.field textarea,.form-control{width:100%;min-height:46px;padding:10px 12px;font:inherit;font-size:15px;line-height:1.5;border:1px solid #c4d3d9;border-radius:6px;background:#fff;color:var(--ink)}.field textarea{resize:vertical;min-height:100px}.field input:focus,.field select:focus,.field textarea:focus,.form-control:focus{outline:3px solid #8de0ca77;outline-offset:1px;border-color:var(--teal)}.form-help{font-size:12px;color:var(--muted);line-height:1.65}.form-help code{font-size:12px;overflow-wrap:anywhere}.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px}.form-actions .button{border:0}.button.secondary{background:#fff;border:1px solid #c4d3d9;color:var(--ink)}.button.secondary:hover{background:var(--soft)}.button.compact{padding:8px 14px;min-height:40px;font-size:13px;gap:8px}.button.danger{background:#fff;color:#963d35;border:1px solid #e1c3bf}.button.danger:hover{background:#fcf0ee}.field-validation-error{font-size:13px;color:#a33c31}.validation-summary-errors{background:#fff2ef;border:1px solid #efc9c3;border-left:3px solid #a33c31;border-radius:6px;color:#963d35;padding:14px 18px;margin-bottom:22px;font-size:14px}.validation-summary-errors ul{padding-left:20px;margin:0}.validation-summary-valid{display:none}.input-validation-error{border-color:#b55c50!important}.activation-panel{margin-top:32px}.activation-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:40px}.activation-aside{padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:8px;font-size:14px;color:var(--muted)}.activation-aside strong{display:block;color:var(--ink);margin-bottom:10px}.activation-aside ol{margin:0;padding-left:20px;display:grid;gap:10px}.ticket-panel{border-color:var(--teal);box-shadow:0 0 0 3px #087f7510}.ticket-value{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;overflow-wrap:anywhere;font-size:14px!important;background:var(--paper)!important}.ticket-details{display:flex;gap:15px 25px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:14px}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:9px;background:white}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.data-table caption{text-align:left;padding:18px 20px;font-weight:600}.data-table th{background:#f0f5f5;color:var(--muted);font-size:12px;font-weight:600;padding:12px 18px;white-space:nowrap}.data-table td{padding:18px;border-top:1px solid var(--line);vertical-align:middle}.data-table td strong{font-weight:600}.data-table td small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.data-table td code{font-size:11px;overflow-wrap:anywhere}.data-table td form{margin:0}.table-actions{text-align:right;white-space:nowrap}.prose-panel{max-width:800px}.prose-panel h2{margin:24px 0 10px}.prose-panel h2:first-child{margin-top:0}.prose-panel p{color:var(--muted);font-size:16px;line-height:1.85}.stat-line{display:flex;align-items:baseline;gap:12px;margin-bottom:24px}.stat-line strong{font-size:42px;font-weight:500;line-height:1}.stat-line span{font-size:14px;color:var(--muted)}.inline-code{overflow-wrap:anywhere;font-size:12px}.section-space{margin-top:30px}.page-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.page-toolbar p{color:var(--muted);font-size:14px}.portal-page code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.portal-page .surface ul:not(.validation-summary-errors ul){padding-left:20px;color:var(--muted)}
@media(max-width:950px){.dashboard-grid,.activation-layout{grid-template-columns:1fr;gap:22px}.license-facts{grid-template-columns:repeat(2,1fr)}.portal-section{padding-top:34px}}
@media(max-width:600px){.development-banner{font-size:11px}.development-banner>.wrap{gap:5px 8px}.development-banner span:last-child{margin-left:14px;width:100%}.nav-account{gap:10px}.quiet-button{font-size:12px}.portal-page h1{font-size:32px}.portal-page h2{font-size:22px}.portal-section{padding-block:29px 42px}.surface,.license-card{padding:22px 18px}.narrow-panel h1{font-size:30px}.page-heading{margin-bottom:24px}.account-tabs{gap:0;margin-bottom:22px}.account-tabs a{padding-inline:13px}.license-card-heading,.surface-heading,.page-toolbar{flex-direction:column;gap:12px}.license-facts{gap:18px 12px}.license-foot{align-items:flex-start;flex-direction:column;gap:13px}.license-card-heading .edition-title{font-size:23px}.form-actions{gap:16px}.form-actions>.button{width:100%}.data-table td,.data-table th{padding:14px}.ticket-details{gap:8px}.footer-links{gap:7px;flex-direction:column}.activation-aside{padding:18px}.empty-state{padding:30px 20px}}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}

.narrow-panel>.form-help,.narrow-panel>a,.narrow-panel>form+p,.narrow-panel>p+.field,.narrow-panel>.form-help+form{margin-top:16px}.narrow-panel>a{display:inline-block;color:var(--teal);text-decoration:underline;text-underline-offset:3px}.portal-page pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7}
