/* Innovadata portal · brand-led working interface.
   Hallmark pre-emit source decisions: hierarchy, specificity and restraint. */
.portal-app{--portal-sidebar:232px;--portal-max:1440px;--portal-main:1120px;--portal-error:#8D3928;--portal-success:#047857;--portal-scrim:rgb(28 38 44 / 64%);--portal-shadow:0 8px 24px rgb(28 38 44 / 10%);--portal-loader-size:48px;--portal-loader-time:300ms;--portal-row-space:20px;--portal-time:200ms;--portal-z:30;--portal-mobile-top:72px;background:var(--paper)}
.portal-app *{min-width:0}.portal-app button,.portal-app a{touch-action:manipulation}.portal-app :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--carbon);outline-offset:4px}.portal-app :is(h1,h2,h3){font-style:normal;overflow-wrap:anywhere}.portal-app :is(button,a){text-decoration:none}.portal-app .text-link{min-height:44px;display:inline-flex;align-items:center;width:fit-content}.portal-app .app-button{white-space:nowrap}.portal-app .app-button .action-corner{width:var(--icon-large);height:var(--icon-large)}
.portal-layout{display:grid;grid-template-columns:var(--portal-sidebar) minmax(0,1fr);max-width:var(--portal-max);margin-inline:auto;min-height:100dvh}
.portal-sidebar{padding:var(--s8) var(--s4);border-right:var(--rule) solid var(--border);display:flex;flex-direction:column;gap:var(--s8);position:sticky;top:0;height:100dvh;overflow-y:auto;overscroll-behavior:contain}
.portal-logo{display:block;padding:var(--s2)}.portal-logo img{display:block;width:100%;height:auto}.portal-mobile-header{display:none}
.portal-nav{display:grid;gap:var(--s2)}.portal-nav a{display:flex;align-items:center;gap:var(--s3);min-height:44px;padding:var(--s2) var(--s3);color:var(--carbon);border-radius:var(--radius-control);font-weight:500;white-space:nowrap}.portal-nav a svg{width:var(--icon);height:var(--icon);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.portal-nav a[aria-current=page]{background:var(--carbon);color:var(--surface)}.portal-nav .nav-group-start{margin-top:var(--s4)}
.portal-sidebar-bottom{margin-top:auto;display:grid;gap:var(--s2);border-top:var(--rule) solid var(--border);padding-top:var(--s4)}.portal-sidebar-bottom a,.portal-sidebar-bottom button{justify-content:flex-start;white-space:nowrap}.portal-sidebar-note{color:var(--muted);font-size:var(--text-sm);padding-inline:var(--s3)}
.portal-main{width:100%;max-width:var(--portal-main);padding:var(--s8) var(--s12) var(--s12);display:flex;flex-direction:column;gap:var(--s8)}
.portal-topline{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding-bottom:var(--s4);border-bottom:var(--rule) solid var(--border);font-size:var(--text-sm);color:var(--muted)}.portal-workspace{display:block;max-width:60%;overflow-wrap:anywhere}.portal-test-label{display:inline-flex;align-items:center;gap:var(--s2);white-space:nowrap;color:var(--carbon)}.portal-test-label::before{content:'';width:8px;height:8px;display:block;background:var(--verdite)}
.portal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s6)}.portal-heading h1{font-family:var(--font-display);font-size:var(--text-page);line-height:var(--lh-page);font-weight:700;margin:0}.portal-heading p{margin-top:var(--s2);color:var(--muted);max-width:65ch}.portal-heading-actions{display:flex;flex-wrap:wrap;gap:var(--s2);flex:none}
#portal-content{display:grid;gap:var(--s8);min-height:240px}.portal-feedback{padding:var(--s3) var(--s4);background:var(--selection);color:var(--carbon);border:var(--rule) solid var(--control-rule);overflow-wrap:anywhere}.portal-feedback.error{color:var(--portal-error)}.portal-storage-warning{font-size:var(--text-body);padding:var(--s4);background:var(--support-surface)}
.portal-wallet{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:var(--carbon);color:var(--surface);padding:var(--s8);gap:var(--s8)}.portal-wallet h2{font-family:var(--font-body);font-size:var(--text-body);font-weight:500}.wallet-amount{display:block;font-size:clamp(36px,5vw,56px);font-family:var(--font-display);line-height:1.2;white-space:nowrap;margin-block:var(--s3)}.portal-wallet p{font-size:var(--text-body);color:var(--dark-muted);margin-bottom:var(--s4)}.wallet-action-group{display:grid;align-content:center;gap:var(--s4);border-left:var(--rule) solid var(--dark-muted);padding-left:var(--s8)}.wallet-action-group .text-link{color:var(--surface)}.portal-wallet .app-button{width:fit-content}.portal-wallet :is(a,button):focus-visible{outline-color:var(--lime)}
.portal-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);padding-block:var(--s4);border-block:var(--rule) solid var(--border)}.portal-stat-strip .od-stat{--od-gap:var(--s2)}.portal-stat-strip .stat-number{font-family:var(--font-display);font-size:var(--text-section)}.portal-stat-strip .help{font-size:var(--text-body)}
.portal-section{display:grid;gap:var(--s4)}.portal-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}.portal-section-head h2{font-size:var(--text-lead);font-weight:500}.portal-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s8)}
.portal-list{display:grid}.portal-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s4);align-items:center;padding-block:var(--portal-row-space);border-bottom:var(--rule) solid var(--border)}.portal-list-row:first-child{border-top:var(--rule) solid var(--border)}.portal-row-main{display:grid;gap:var(--s2)}.portal-row-title{font-size:var(--text-body);font-weight:500;color:var(--carbon);overflow-wrap:anywhere}.portal-row-meta{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);color:var(--muted);font-size:var(--text-sm)}.portal-row-meta>span{display:block}.portal-row-actions{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:flex-end}.portal-row-actions .app-button{font-size:var(--text-body)}
.portal-status{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--text-sm);font-weight:500;width:fit-content;padding:var(--s1) var(--s2);border:var(--rule) solid var(--control-rule);color:var(--carbon);background:var(--selection);white-space:nowrap}.portal-status.success{color:var(--portal-success);background:var(--surface)}.portal-status.muted{color:var(--muted);background:var(--paper)}
.portal-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px);gap:var(--s4);align-items:end}.portal-toolbar.single{grid-template-columns:minmax(0,480px)}.portal-app .field{gap:var(--s2)}.portal-app .field :is(input,select,textarea){min-height:44px;padding:var(--s2) var(--s3);font-size:var(--text-body);line-height:1.5}.portal-app .field textarea{resize:vertical;min-height:96px}.portal-app .field .help{font-size:var(--text-body)}.portal-app .field-error{display:block;color:var(--portal-error);font-size:var(--text-body)}.portal-app input[aria-invalid=true],.portal-app textarea[aria-invalid=true]{border-color:var(--portal-error)}
.portal-empty{display:grid;justify-items:start;gap:var(--s3);padding-block:var(--s8);border-block:var(--rule) solid var(--border)}.portal-empty h3{font-size:var(--text-lead)}.portal-empty p{color:var(--muted)}.portal-empty .app-button{margin-top:var(--s2)}
.portal-detail{display:grid;gap:var(--s6)}.portal-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);padding-block:var(--s6);border-block:var(--rule) solid var(--border)}.portal-detail-facts dt{font-size:var(--text-sm);color:var(--muted)}.portal-detail-facts dd{margin:var(--s2) 0 0;font-weight:500;overflow-wrap:anywhere}.portal-detail-facts dl{margin:0}.portal-note{display:grid;gap:var(--s2);padding:var(--s4);background:var(--selection)}.portal-note p{font-size:var(--text-body)}.portal-detail .selection-list{margin:0;padding:0;list-style:none}.portal-detail .selection-list li{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:var(--s4);padding-block:var(--s3);border-bottom:var(--rule) solid var(--border)}.portal-detail .selection-list span{display:block;overflow-wrap:anywhere}
.portal-form{display:grid;gap:var(--s6);max-width:720px}.portal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}.portal-form-grid .full{grid-column:1/-1}.portal-form .profile-business{display:grid;gap:var(--s4)}.portal-form fieldset,.portal-dialog fieldset{margin:0;padding:0;border:0;display:grid;gap:var(--s3)}.portal-form legend,.portal-dialog legend{font-weight:500;margin-bottom:var(--s3)}.portal-check{display:flex;gap:var(--s3);align-items:flex-start;min-height:44px;padding-block:var(--s2);cursor:pointer}.portal-check input{flex:none;width:20px;height:20px;min-height:0;margin:var(--s1) 0 0;accent-color:var(--carbon)}.portal-check .od-field{--od-gap:var(--s1)}.portal-check .help{font-size:var(--text-body)}.portal-inline-actions{display:flex;flex-wrap:wrap;gap:var(--s2)}
.portal-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:var(--rule) solid var(--control-rule);border-radius:var(--radius-control);padding:0;background:var(--surface);color:var(--carbon);overflow-y:auto;overscroll-behavior:contain}.portal-dialog::backdrop{background:var(--portal-scrim)}.portal-dialog form{padding:var(--s6);display:grid;gap:var(--s6)}.portal-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:var(--s4)}.portal-dialog-head h2{font-size:var(--text-section);line-height:1.25}.portal-dialog-body{display:grid;gap:var(--s4)}.portal-dialog-actions{display:flex;flex-wrap:wrap;gap:var(--s2);padding-top:var(--s4);border-top:var(--rule) solid var(--border)}
.portal-key-secret{display:grid;gap:var(--s4);background:var(--selection);padding:var(--s4)}.portal-key-secret code{display:block;overflow-wrap:anywhere;font-size:var(--text-body)}.portal-code{margin:0;background:var(--carbon);color:var(--surface);padding:var(--s4);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:var(--text-sm);line-height:1.6;font-family:var(--font-mono)}.portal-client-buttons{display:flex;flex-wrap:wrap;gap:var(--s2)}.portal-client-buttons button[aria-pressed=true]{background:var(--carbon);color:var(--surface)}.portal-setup{display:grid;gap:var(--s4);padding-block:var(--s4)}
.portal-entry{display:grid;gap:var(--s6);max-width:560px;padding-block:var(--s6)}.portal-entry h2{font-size:var(--text-section)}.portal-entry p{color:var(--muted)}.portal-footer{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6);border-top:var(--rule) solid var(--border);padding-top:var(--s4);margin-top:auto;font-size:var(--text-sm)}
.portal-loader{position:fixed;inset:0;z-index:var(--portal-z);display:grid;place-items:center;pointer-events:none;padding:var(--s4)}.portal-loader>div{display:grid;justify-items:center;gap:var(--s3);padding:var(--s6);background:var(--surface);border:var(--rule) solid var(--control-rule)}.portal-loader .brand-loader{display:block;width:var(--portal-loader-size);height:auto;aspect-ratio:1;stroke:none}.portal-loader .loader-frame{fill:var(--lime);stroke:var(--carbon);stroke-width:1.75}.portal-loader .loader-corner{fill:var(--carbon)}.portal-loader .loader-lines{fill:none;stroke:var(--carbon);stroke-width:1.75;animation:portal-data-loading var(--portal-loader-time) ease-out infinite alternate}@keyframes portal-data-loading{from{opacity:.25}to{opacity:1}}
@media(hover:hover){.portal-nav a:not([aria-current]):hover{background:var(--selection)}.portal-row-title:hover{text-decoration:underline;text-decoration-color:var(--verdite);text-underline-offset:var(--s1)}}
@media(min-width:1440px){.portal-main{padding-inline:var(--s16)}}
@media(max-width:1023px){.portal-app{--portal-sidebar:200px}.portal-main{padding:var(--s6)}.portal-heading{flex-direction:column}.portal-wallet{gap:var(--s6);padding:var(--s6)}.wallet-action-group{padding-left:var(--s6)}.portal-columns{gap:var(--s6)}}
@media(max-width:767px){.portal-layout{display:block}.portal-mobile-header{display:flex;position:sticky;top:0;z-index:var(--portal-z);align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) var(--s4);min-height:var(--portal-mobile-top);background:var(--paper);border-bottom:var(--rule) solid var(--border)}.portal-mobile-header .portal-logo{width:164px;padding:0}.portal-sidebar{position:static;height:auto;padding:var(--s4);border-right:0;border-bottom:var(--rule) solid var(--border);gap:var(--s4)}.portal-sidebar:not([data-mobile-open]){display:none}.portal-sidebar>.portal-logo{display:none}.portal-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-nav .nav-group-start{margin-top:0}.portal-sidebar-bottom{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.portal-sidebar-note{grid-column:1/-1}.portal-main{padding:var(--s4) var(--s4) var(--s8);gap:var(--s6)}.portal-topline{padding-bottom:var(--s3)}.portal-test-label{font-size:var(--text-sm)}.portal-wallet{grid-template-columns:minmax(0,1fr);padding:var(--s6);gap:var(--s4)}.wallet-action-group{border-left:0;border-top:var(--rule) solid var(--dark-muted);padding-left:0;padding-top:var(--s4);gap:var(--s3)}.portal-columns{grid-template-columns:minmax(0,1fr);gap:var(--s8)}.portal-stat-strip{gap:var(--s2)}.portal-stat-strip .help{font-size:var(--text-sm)}.portal-list-row{grid-template-columns:minmax(0,1fr);gap:var(--s3);padding-block:var(--s4)}.portal-row-actions{justify-content:flex-start}.portal-toolbar,.portal-toolbar.single{grid-template-columns:minmax(0,1fr)}.portal-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}.portal-detail .selection-list li{grid-template-columns:minmax(0,1fr);gap:var(--s1)}.portal-form-grid{grid-template-columns:minmax(0,1fr)}.portal-dialog form{padding:var(--s4)}.portal-dialog-head h2{font-size:var(--text-lead)}.portal-section-head{align-items:start}.portal-section-head h2{padding-top:var(--s2)}.portal-heading-actions{flex-wrap:wrap}.portal-heading-actions .app-button{font-size:var(--text-body)}}
@media(max-width:374px){.portal-nav{grid-template-columns:minmax(0,1fr)}.portal-heading-actions{display:grid;justify-items:start}.portal-wallet{padding:var(--s4)}.portal-sidebar-bottom{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.portal-app *, .portal-app *::before,.portal-app *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.portal-main{padding-bottom:max(var(--s12),env(safe-area-inset-bottom))}.portal-app .portal-code:focus-visible{outline-color:var(--lime)}.portal-app #portal-title{scroll-margin-top:var(--portal-mobile-top)}.portal-dialog-feedback{margin:0;color:var(--portal-success);overflow-wrap:anywhere}.portal-list>.app-button{justify-self:start;margin-top:var(--s4)}.portal-dialog .portal-dialog-actions{position:sticky;bottom:0;background:var(--surface);padding-bottom:var(--s2)}
@media(max-width:767px){.portal-mobile-header{padding-top:max(var(--s3),env(safe-area-inset-top));padding-inline-start:max(var(--s4),env(safe-area-inset-left));padding-inline-end:max(var(--s4),env(safe-area-inset-right))}.portal-main{padding-bottom:max(var(--s8),env(safe-area-inset-bottom))}.portal-dialog-actions{gap:var(--s2)}}

/* Hallmark · compact customer workspace · Innovadata Carbon/Lime/Verdite.
   Source-writing decisions: purchase first; utilities separated; lists over panels.
   Pre-emit critique: philosophy=4 hierarchy=5 execution=4 specificity=5 restraint=5 variety=4. */
.portal-app{
  --portal-sidebar:224px;--portal-main:1120px;--portal-row-space:16px;
  --portal-topbar-size:72px;--portal-bottom-size:72px;--portal-form-width:560px;
  --portal-avatar-size:36px;--portal-menu-width:296px;--portal-time:200ms;--portal-exit-time:140ms;
}
.portal-topbar{position:sticky;top:0;z-index:var(--portal-z);background:var(--surface);border-bottom:var(--rule) solid var(--border)}
.portal-topbar-inner{display:flex;align-items:center;gap:var(--s8);min-height:var(--portal-topbar-size);max-width:var(--portal-max);margin-inline:auto;padding:var(--s3) var(--s6)}
.portal-topbar .portal-logo{width:176px;padding:0;flex:none}
.portal-header-context{flex:1;min-width:0}
.portal-header-context .portal-workspace{max-width:100%;font-size:var(--text-body);font-weight:500;color:var(--carbon);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-header-context .portal-test-label{font-size:var(--text-sm);color:var(--muted)}
#portal-account-controls{flex:none;min-height:44px;display:flex;align-items:center}
.portal-account-controls{display:flex;align-items:center;gap:var(--s6)}
.portal-balance{color:var(--carbon);min-height:44px;padding:var(--s1) var(--s3);text-decoration:none;border-radius:var(--radius-control);--od-gap:0}
.portal-balance-label{font-size:var(--text-sm);color:var(--muted)}
.portal-balance strong{font-size:var(--text-body);font-weight:500}
.portal-account-trigger{display:flex;align-items:center;gap:var(--s3);min-height:44px;padding:var(--s1) var(--s2);border:0;border-radius:var(--radius-control);background:transparent;color:var(--carbon);cursor:pointer;font:inherit;text-align:left}
.portal-avatar{display:flex;align-items:center;justify-content:center;flex:none;width:var(--portal-avatar-size);height:var(--portal-avatar-size);background:var(--support-surface);border:var(--rule) solid var(--border);border-radius:var(--radius-control);font-size:var(--text-sm);font-weight:500}
.portal-account-name{--od-gap:0}
.portal-account-name strong{font-size:var(--text-body);font-weight:500}
.portal-account-name>span{font-size:var(--text-sm);color:var(--muted)}
.portal-account-trigger svg{width:16px;height:16px}
.portal-account-trigger[data-pressed],.portal-account-trigger[data-focus-visible]{background:var(--selection)}
.portal-account-trigger[data-focus-visible],.portal-account-menu [data-focus-visible]{outline:2px solid var(--carbon);outline-offset:2px}
.portal-account-popover{width:min(var(--portal-menu-width),calc(100vw - 32px));max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain;padding:var(--s2);border:var(--rule) solid var(--control-rule);border-radius:var(--radius-panel);background:var(--surface);color:var(--carbon);box-shadow:var(--portal-shadow);z-index:60;font-family:var(--font-body);font-size:var(--text-body)}
.portal-account-popover[data-entering]{animation:portal-menu-enter var(--portal-time) ease-out}
.portal-account-popover[data-exiting]{animation:portal-menu-exit var(--portal-exit-time) ease-in}
@keyframes portal-menu-enter{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes portal-menu-exit{from{opacity:1}to{opacity:0}}
.portal-menu-identity{padding:var(--s3);--od-gap:var(--s1);border-bottom:var(--rule) solid var(--border);margin-bottom:var(--s2);overflow-wrap:anywhere}
.portal-menu-identity strong{font-weight:500}
.portal-menu-identity>span{color:var(--muted);font-size:var(--text-sm)}
.portal-account-menu{display:grid;gap:var(--s2);outline:none}
.portal-account-menu [role=menuitem]{display:grid;align-content:center;gap:var(--s1);min-height:44px;padding:var(--s2) var(--s3);border-radius:var(--radius-control);cursor:pointer;outline:none}
.portal-account-menu [role=menuitem]>span{display:block}
.portal-account-menu [data-focused],.portal-account-menu [data-hovered]{background:var(--selection);color:var(--carbon)}
.portal-menu-helper{font-size:var(--text-sm);color:var(--muted)}
.portal-menu-separator{height:var(--rule);background:var(--border);margin-block:var(--s1)}
.portal-menu-signout{border-top:var(--rule) solid var(--border)}
.portal-layout{min-height:calc(100dvh - var(--portal-topbar-size))}
.portal-sidebar{top:var(--portal-topbar-size);height:calc(100dvh - var(--portal-topbar-size));padding:var(--s6) var(--s3);gap:var(--s6);background:var(--paper)}
.portal-nav{gap:var(--s2)}
.portal-nav a{padding:var(--s2) var(--s3);min-height:44px;font-size:var(--text-body)}
.portal-nav a[aria-current=page]{background:var(--selection);color:var(--carbon);box-shadow:inset 0 0 0 var(--rule) var(--control-rule)}
.portal-nav a[aria-current=page] svg{stroke-width:2}
.portal-nav-label{display:block;padding:var(--s4) var(--s3) var(--s1);font-size:var(--text-sm);color:var(--muted);font-weight:500}
.portal-sidebar-bottom{gap:var(--s2);padding:var(--s4) var(--s3) 0}
.portal-sidebar-bottom a{font-size:var(--text-body)}
.portal-sidebar-note{padding:0}
.portal-main{max-width:none;padding:var(--s8);gap:var(--s6);background:var(--surface)}
.portal-heading{gap:var(--s6);align-items:start}

.portal-heading p{margin-top:var(--s2);max-width:60ch}
#portal-content{gap:var(--s8);min-height:0}
.portal-section-head{align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s4)}
.portal-section-head h2{font-size:var(--text-lead);padding-top:0}
.portal-section{gap:var(--s3)}
.portal-empty{padding:var(--s6) 0;border-top:var(--rule) solid var(--border);border-bottom:0;gap:var(--s2)}
.portal-empty h3{font-size:var(--text-body)}
.portal-empty p{max-width:60ch}
.portal-empty .app-button{margin-top:var(--s2)}
.portal-list-row{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,auto)}
.portal-row-actions{max-width:100%;align-items:start;gap:var(--s2);justify-content:flex-end}

.portal-row-meta{gap:var(--s2) var(--s3);align-items:center}
.portal-row-main>.text-link{min-height:0;padding-block:var(--s1)}
.portal-row-more{display:grid;max-width:100%}
.portal-row-more summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:var(--s2) var(--s3);border:var(--rule) solid var(--border);border-radius:var(--radius-control);list-style:none;cursor:pointer;white-space:nowrap}
.portal-row-more summary::-webkit-details-marker{display:none}
.portal-row-more summary::after{content:'';display:block;width:8px;height:8px;margin-left:var(--s2);border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.portal-row-more-actions{display:grid;gap:var(--s2);padding-top:var(--s2)}
.portal-row-more-actions .app-button{justify-content:flex-start}
.portal-status{border:0;padding:var(--s1) var(--s2);font-weight:500}
.portal-status::before{content:'—';color:inherit}
.portal-status.success::before{content:'✓'}
.portal-support-line{padding-top:var(--s4);border-top:var(--rule) solid var(--border);--od-gap:var(--s4);flex-wrap:wrap}
.portal-support-line p{font-size:var(--text-body);color:var(--muted);flex-basis:200px}
.portal-detail-facts{gap:var(--s4);padding-block:var(--s4)}
.portal-detail-facts dt,.portal-detail-facts dd{display:block}
.portal-form{max-width:var(--portal-form-width);gap:var(--s4)}
.portal-form-intro{--od-gap:var(--s2);margin-bottom:var(--s2)}
.portal-form-intro h2{font-size:var(--text-lead)}
.portal-form-intro p{color:var(--muted)}
.portal-settings-nav{display:flex;flex-wrap:wrap;gap:var(--s2);border-bottom:var(--rule) solid var(--border);padding-bottom:var(--s2)}
.portal-settings-link{display:flex;align-items:center;min-height:44px;padding:var(--s2) var(--s3);color:var(--carbon);text-decoration:none;border-radius:var(--radius-control);border:var(--rule) solid transparent;font-weight:500}
.portal-settings-link[aria-current=page]{border-color:var(--control-rule);background:var(--selection)}
.portal-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s2);padding-top:var(--s4);border-top:var(--rule) solid var(--border)}
.portal-save-status{font-size:var(--text-body);color:var(--muted)}
.portal-form .field :is(input,select,textarea){background:var(--surface)}
.portal-check{padding:var(--s3) 0;border-bottom:var(--rule) solid var(--border);gap:var(--s3)}
.portal-note{background:var(--selection);padding:var(--s3) var(--s4);gap:var(--s1)}
.portal-footer{font-size:var(--text-sm);gap:var(--s2) var(--s4);padding-top:var(--s3);margin-top:var(--s6);align-items:center}
.portal-footer>span{display:block;color:var(--muted)}
.portal-bottom-nav{display:none}
.portal-more-list{display:grid;max-width:640px}
.portal-more-link{padding:var(--s4) 0;border-bottom:var(--rule) solid var(--border);min-height:72px;color:var(--carbon);text-decoration:none;--od-gap:var(--s4)}
.portal-more-link .od-field{--od-gap:var(--s1)}
.portal-more-link .help{font-size:var(--text-body);color:var(--muted)}
.portal-more-chevron{display:block;font-size:var(--text-lead)}
body[data-signed-out] .portal-sidebar,body[data-signed-out] .portal-bottom-nav{display:none}
body[data-signed-out] .portal-layout{grid-template-columns:minmax(0,1fr)}
body[data-signed-out] .portal-main{max-width:800px;margin-inline:auto;width:100%}
@media(hover:hover){
  .portal-account-trigger:hover,.portal-balance:hover,.portal-settings-link:not([aria-current]):hover{background:var(--selection);color:var(--carbon)}
  .portal-row-more summary:hover{border-color:var(--carbon);color:var(--carbon)}
  .portal-more-link:hover strong{text-decoration:underline;text-decoration-color:var(--verdite);text-underline-offset:var(--s1)}
}
@media(min-width:1440px){.portal-main{padding:var(--s8) var(--s12)}}
@media(max-width:1023px){
  .portal-topbar-inner{gap:var(--s6);padding-inline:var(--s4)}
  .portal-account-name{display:none}
  .portal-account-controls{gap:var(--s3)}
  .portal-main{padding:var(--s6)}
  .portal-heading{flex-direction:column;gap:var(--s4)}
  .portal-list-row{grid-template-columns:minmax(0,1fr)}
  .portal-row-actions{justify-content:flex-start}
}
@media(max-width:767px){
  .portal-app{--portal-topbar-size:64px;--portal-avatar-size:32px}
  .portal-topbar-inner{gap:var(--s3);min-height:var(--portal-topbar-size);padding:var(--s2) var(--s4);padding-top:max(var(--s2),env(safe-area-inset-top))}
  .portal-topbar .portal-logo{width:128px}
  .portal-header-context{display:none}
  #portal-account-controls{margin-left:auto}
  .portal-account-trigger{gap:var(--s2);padding:var(--s1);min-width:44px;justify-content:center}
  .portal-account-trigger>svg{display:none}
  .portal-account-controls{gap:var(--s2)}
  .portal-balance{padding:var(--s1);font-size:var(--text-body)}
  .portal-layout{display:block;min-height:calc(100dvh - var(--portal-topbar-size))}
  .portal-sidebar{display:none!important}
  .portal-main{padding:var(--s6) var(--s4) calc(var(--portal-bottom-size) + env(safe-area-inset-bottom) + var(--s6));gap:var(--s6);width:100%}
  .portal-heading{gap:var(--s3)}
  
  .portal-heading-actions{gap:var(--s2)}
  #portal-content{gap:var(--s6)}
  .portal-bottom-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);position:fixed;bottom:0;left:0;right:0;min-height:var(--portal-bottom-size);padding:var(--s2) var(--s4);padding-bottom:calc(var(--s2) + env(safe-area-inset-bottom));border-top:var(--rule) solid var(--border);background:var(--surface);z-index:var(--portal-z)}
  .portal-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s1);min-height:56px;padding:var(--s1);font-size:var(--text-body);color:var(--carbon);text-decoration:none;border-radius:var(--radius-control);border:var(--rule) solid transparent}
  .portal-bottom-nav a svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none}
  .portal-bottom-nav a[aria-current=page]{border-color:var(--control-rule);background:var(--selection);font-weight:500}
  .portal-bottom-nav a>span{display:block}
  .portal-section-head{align-items:center}
  .portal-list-row{padding-block:var(--s4);gap:var(--s2)}
  .portal-row-actions{gap:var(--s2);width:100%}
  .portal-row-actions .text-link{min-height:44px}
  .portal-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-form{max-width:none}
  .portal-settings-nav{gap:var(--s2)}
  .portal-settings-link{padding-inline:var(--s2)}
  .portal-settings-form .profile-business{gap:var(--s4)}
  .portal-footer{margin-top:var(--s4)}
  .portal-account-popover{max-height:calc(100dvh - 144px)}
  body[data-signed-out] .portal-main{padding-bottom:max(var(--s8),env(safe-area-inset-bottom))}
}
@media(max-width:374px){
  .portal-topbar .portal-logo{width:112px}
  .portal-balance-label{font-size:12px}
  .portal-detail-facts{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .portal-account-popover,.portal-account-popover[data-entering],.portal-account-popover[data-exiting]{animation:none!important;transition:none!important}
}

/* Complete customer functions. Compact forms, source-defined states, no decorative dashboard panels. */
.portal-app{--portal-form-width:640px}.portal-app .portal-form{max-width:var(--portal-form-width);width:100%;gap:var(--s4)}
.portal-app .portal-form>h2{font-size:var(--text-lead)}.portal-app .portal-form .od-stack{--od-gap:16px}
.portal-app .portal-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;border-top:1px solid var(--border);padding-top:16px;margin-top:16px}
.portal-app input:not([type=checkbox]):not([type=radio]),.portal-app select{min-height:44px;max-width:100%;width:100%;padding:8px 12px}
.portal-app .portal-check{min-height:44px;gap:12px;padding:8px 0}.portal-check input{flex:none;min-width:20px;min-height:20px;margin:0}
.portal-app .field-error{white-space:normal}.portal-app .portal-form .portal-feedback a{display:block;min-height:44px;padding:8px 0}
.portal-app .portal-request-message{white-space:pre-wrap;overflow-wrap:anywhere;max-width:70ch;line-height:1.6}
.portal-app .portal-quote{display:block;font:700 clamp(24px,3vw,32px)/1.25 var(--font-display);color:var(--carbon)}
.portal-app .portal-detail-facts dl{overflow-wrap:anywhere}.portal-app .portal-row-meta>span{white-space:normal;overflow-wrap:anywhere}
.portal-app .portal-row-meta .portal-status{white-space:nowrap}.portal-app .portal-list-row{padding-block:16px}
.portal-app .portal-overview-access{--od-gap:24px;gap:16px 24px;padding-block:8px;border-bottom:1px solid var(--border)}
.portal-app .portal-overview-access a{min-height:44px;display:inline-flex;align-items:center}.portal-guide-prompt{padding:8px 0;border-bottom:1px solid var(--border);--od-gap:16px}.portal-guide-prompt p{margin:0}
.portal-guide-list{display:grid;gap:24px;padding-left:32px}.portal-guide-list li{padding-left:8px}.portal-guide-list h2{font-size:var(--text-lead)}
.portal-app .monitor-filter-builder{--od-gap:16px}.monitor-range{border:0;padding:0;margin:0;min-width:0}.monitor-range legend{font-weight:500;margin-bottom:8px}.monitor-range .range-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.portal-app .monitor-threshold{padding:8px 0 16px 32px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.portal-app .monitor-threshold[hidden],.portal-app .monitor-signal-list[hidden]{display:none}.portal-app .monitor-signal-list{--od-gap:8px}
.portal-app .monitor-filter-builder .filter-group{border:0;border-top:1px solid var(--border);border-radius:0;margin:0;padding:0}
.portal-app .filter-group>summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:500;list-style-position:inside}
.portal-app .filter-group>div{padding:8px 0 16px}.portal-app .compact-tree-host{min-width:0}.portal-app .picker-inline-panel{max-width:100%}
.portal-app .portal-menu-identity{word-break:normal;overflow-wrap:anywhere}.portal-app #portal-return a{max-width:100%;white-space:nowrap}
.portal-app[data-signed-out] .portal-sidebar,.portal-app[data-signed-out] .portal-bottom-nav{display:none}.portal-app[data-signed-out] .portal-layout{display:block;max-width:800px;margin-inline:auto}.portal-app[data-signed-out] .portal-main{padding-bottom:32px}
.portal-app .portal-field-loader{position:fixed;inset:0;display:grid;place-items:center;z-index:65;background:rgb(245 247 244 / 80%);pointer-events:none}.portal-field-loader[hidden]{display:none}.portal-field-loader>div{display:flex;align-items:center;flex-direction:column;gap:16px;padding:24px;background:var(--surface);color:var(--carbon)}
.portal-field-loader .brand-loader{width:48px;height:48px}.portal-field-loader .loader-frame{fill:var(--lime)}.portal-field-loader .loader-corner{fill:var(--carbon)}.portal-field-loader .loader-lines{fill:none;stroke:var(--carbon);stroke-width:1.5;stroke-linecap:round;animation:portal-data-lines 800ms ease-in-out infinite}
@keyframes portal-data-lines{0%,100%{opacity:.25}50%{opacity:1}}
.portal-payment-page{max-width:760px;margin-inline:auto;min-width:0}.portal-payment-page .portal-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portal-payment-page .portal-detail-facts dl{margin:0}.portal-payment-page .portal-detail-facts dt{color:var(--muted)}.portal-payment-page .portal-detail-facts dd{margin:4px 0 0;overflow-wrap:anywhere;font-weight:500}.portal-payment-page .portal-payment-total{font:700 clamp(32px,6vw,48px)/1.2 var(--font-display);margin:0}.portal-payment-page .portal-inline-actions{display:flex;flex-wrap:wrap;gap:8px}.portal-payment-page .portal-inline-actions>*{min-height:44px}.portal-payment-page .portal-note{padding:16px 0;border-block:1px solid var(--border)}
@media(max-width:767px){.portal-app .portal-app .portal-main{padding-inline:16px}.portal-app .portal-form .od-stack{--od-gap:12px}.portal-app .portal-toolbar{grid-template-columns:minmax(0,1fr)}.portal-app .portal-guide-prompt{flex-wrap:wrap}.portal-guide-prompt p{flex-basis:100%}.portal-app .monitor-threshold{padding-left:16px;gap:8px}.monitor-range .range-row{gap:8px}.portal-app .portal-heading-actions{gap:8px}.portal-app .portal-list-row{gap:12px}.portal-app .portal-row-actions{width:100%;gap:8px}.portal-payment-page .portal-detail-facts{grid-template-columns:minmax(0,1fr)}.portal-app .portal-inline-actions,.portal-app .portal-form-actions{gap:8px}.portal-app .portal-main{padding-bottom:calc(var(--portal-bottom-size) + 32px + env(safe-area-inset-bottom))}.portal-app[data-signed-out] .portal-main{padding-bottom:32px}.portal-app .portal-note{padding:16px 0}.portal-app .portal-code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}}
@media(max-width:374px){.portal-app .monitor-threshold{grid-template-columns:minmax(0,1fr)}.portal-app .portal-topbar-inner{gap:8px;padding-inline:12px}.portal-app .portal-topbar .portal-logo{width:144px}}
@media(prefers-reduced-motion:reduce){.portal-field-loader .loader-lines{animation:none;opacity:1}}
.portal-app [hidden],.portal-payment-page [hidden]{display:none!important}.portal-app .portal-menu-identity code{white-space:normal;overflow-wrap:anywhere}.portal-app .field label{display:block;line-height:1.5}.portal-app .portal-signal-helper{grid-column:1/-1}

/* Monitoring · Companies → Changes → Delivery; existing Innovadata tokens. */
.portal-app .monitor-wizard{--monitor-gap:16px;--monitor-panel-space:24px;max-width:760px;gap:var(--monitor-panel-space);scroll-margin-top:calc(var(--portal-topbar-size,72px) + 16px)}
.portal-app .monitor-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);padding:0;margin:0;list-style:none;border-bottom:var(--rule) solid var(--border);padding-bottom:var(--s4)}
.portal-app .monitor-step{display:flex;align-items:center;justify-content:flex-start;gap:var(--s2);min-height:44px;width:100%;padding:var(--s2);border:0;background:transparent;color:var(--carbon);font:inherit;font-weight:500;cursor:pointer;border-radius:var(--radius-control)}
.portal-app .monitor-step-number{display:flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border:var(--rule) solid var(--control-rule);border-radius:50%;font-size:var(--text-sm)}
.portal-app .monitor-step[aria-current=step]{background:var(--lime)}
.portal-app .monitor-step[aria-current=step] .monitor-step-number,.portal-app .monitor-step.is-complete .monitor-step-number{background:var(--carbon);border-color:var(--carbon);color:var(--surface)}
.portal-app .monitor-step:disabled{cursor:default;color:var(--muted);opacity:1}
.portal-app .monitor-step-panel{display:flex;flex-direction:column;gap:var(--monitor-gap);padding:0;border:0;margin:0;min-inline-size:0}
.portal-app .monitor-step-panel>legend{font-size:var(--text-lead);font-weight:500;padding:0;margin-bottom:var(--s4)}
.portal-app .monitor-step-panel>.field{max-width:100%}.portal-app .monitor-step-panel input,.portal-app .monitor-step-panel select{max-width:100%;min-height:44px;font-size:var(--text-body)}
.portal-app .monitor-step-panel :is(p,h2){margin:0;line-height:1.5}
.portal-app .monitor-selection-summary{--od-gap:12px;border-block:var(--rule) solid var(--border);padding-block:var(--s4)}
.portal-app .monitor-selection-summary>.selection-list{margin:0}.portal-app .monitor-inline-filters{display:grid;gap:var(--s3);padding-top:var(--s3)}
.portal-app .monitor-inline-filters .monitor-filter-builder{--od-gap:12px}
.portal-app .monitor-inline-filters .filter-group{margin:0;padding:0}
.portal-app .monitor-inline-filters .filter-group>div{padding:var(--s3) 0;--od-gap:12px}
.portal-app .monitor-event-group{display:grid;gap:0;padding:0;margin:0;border:0;min-inline-size:0}
.portal-app .monitor-event-group>legend{font:500 var(--text-body)/1.5 var(--font-body);padding:0;margin-bottom:var(--s2)}
.portal-app .monitor-event{padding-block:var(--s2);border-bottom:var(--rule) solid var(--border)}
.portal-app .monitor-event .portal-check{min-height:44px;margin:0;padding:var(--s2) 0;gap:var(--s3);align-items:flex-start}
.portal-app .monitor-event .portal-check input{min-height:0;margin-top:var(--s1);width:20px;height:20px;flex:none}
.portal-app .monitor-event .portal-check>span{display:grid;gap:var(--s1);flex:1}.portal-app .monitor-event .portal-check .help{display:block}
.portal-app .monitor-event-options{margin-left:var(--s8);padding-bottom:var(--s2)}
.portal-app :is(.monitor-event-options,.monitor-advanced,.monitor-settings)>summary{display:list-item;min-height:44px;align-content:center;padding-block:var(--s2);font-weight:500;cursor:pointer;color:var(--carbon);line-height:1.5}
.portal-app .monitor-threshold-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);padding-block:var(--s3)}
.portal-app .monitor-advanced{border-block:var(--rule) solid var(--border);padding-block:var(--s2)}
.portal-app .monitor-advanced>.field{margin-block:var(--s3)}
.portal-app .monitor-review{--od-gap:12px;border-top:var(--rule) solid var(--border);padding-top:var(--s6)}
.portal-app .monitor-review h2{font:500 var(--text-lead)/1.5 var(--font-body)}
.portal-app .monitor-review .portal-detail-facts{grid-template-columns:minmax(0,1fr);gap:var(--s3)}
.portal-app .monitor-review .portal-detail-facts dl{padding:0}.portal-app .monitor-review .portal-detail-facts dd{font-size:var(--text-body);line-height:1.5;overflow-wrap:anywhere}
.portal-app .monitor-price{display:block;white-space:nowrap;font-size:var(--text-lead);font-weight:500}
.portal-app .monitor-wizard-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s2);padding-top:var(--s4);border-top:var(--rule) solid var(--border)}
.portal-app .monitor-wizard-actions>.primary{margin-left:auto}
.portal-app .monitor-wizard-actions .app-button{max-width:100%;min-height:48px;padding-inline:var(--s4);font-size:var(--text-body)}
.portal-app .monitor-list-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);padding:var(--s4) 0;min-width:0}
.portal-app .monitor-list-row .od-stack{--od-gap:4px}.portal-app .monitor-list-row p{margin:0;overflow-wrap:anywhere}
.portal-app .monitor-list-row>.text-link{flex:none;max-width:100%;font-weight:500}
.portal-app .monitor-name{font-size:var(--text-lead);font-weight:500;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.portal-app .monitor-row-meta{--od-gap:12px;font-size:var(--text-body)}
.portal-app .monitor-state-bar{--od-gap:16px;border-bottom:var(--rule) solid var(--border);padding-bottom:var(--s4)}
.portal-app .monitor-settings{border-top:var(--rule) solid var(--border);padding-top:var(--s3)}
.portal-app .monitor-settings>div{--od-gap:16px;padding-block:var(--s4)}
.portal-app .monitor-settings :is(p,code,dd){overflow-wrap:anywhere;white-space:normal}
.portal-app .monitor-change-list{display:grid;gap:var(--s4)}
.portal-app .monitor-change-row{--od-gap:12px;padding-block:var(--s4);border-bottom:var(--rule) solid var(--border)}
.portal-app .monitor-change-row h2{font:500 var(--text-lead)/1.5 var(--font-body);margin:0}.portal-app .monitor-change-row p{margin:0}
.portal-app .monitor-change-row .portal-detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.portal-app .monitor-change-row .portal-detail-facts dd{font-size:var(--text-body);overflow-wrap:anywhere}
@media(hover:hover){.portal-app .monitor-step:not(:disabled):hover{background:var(--selection)}.portal-app .monitor-step[aria-current=step]:hover{background:var(--lime-hover)}.portal-app :is(.monitor-event-options,.monitor-advanced,.monitor-settings)>summary:hover{text-decoration:underline;text-decoration-color:var(--verdite);text-decoration-thickness:3px;text-underline-offset:4px}}
@media(min-width:1024px){.portal-app .monitor-toolbar{max-width:760px}}
@media(min-width:1440px){.portal-app .monitor-wizard{max-width:800px}}
@media(max-width:767px){.portal-app .monitor-wizard{--monitor-panel-space:16px;--monitor-gap:12px;max-width:100%}.portal-app .monitor-step{gap:var(--s1);padding:var(--s2) var(--s1);font-size:var(--text-sm)}.portal-app .monitor-step-number{width:24px;height:24px}.portal-app .monitor-list-row{align-items:flex-start;flex-direction:column;gap:var(--s2)}.portal-app .monitor-list-row>.text-link{min-height:44px}.portal-app .monitor-event-options{margin-left:0}.portal-app .monitor-change-row .portal-detail-facts{grid-template-columns:minmax(0,1fr)}.portal-app .monitor-wizard-actions .app-button{font-size:var(--text-sm);padding-inline:var(--s3)}.portal-app .monitor-settings .portal-detail-facts{grid-template-columns:minmax(0,1fr)}}
@media(max-width:374px){.portal-app .monitor-threshold-fields{grid-template-columns:minmax(0,1fr)}.portal-app .monitor-step{flex-direction:column;align-items:flex-start}.portal-app .monitor-wizard-actions{flex-direction:column;align-items:stretch}.portal-app .monitor-wizard-actions>.primary{margin-left:0}}
.portal-app .monitor-conditions{padding-block:var(--s2)}
.portal-app .monitor-conditions>summary{min-height:44px;align-content:center;cursor:pointer;font-weight:500;line-height:1.5}
.portal-app .monitor-step-panel>legend:focus-visible{outline:2px solid var(--carbon);outline-offset:4px}
.portal-app .monitor-event-options .field label{line-height:1.5}
.portal-app .monitor-list-row>.text-link{white-space:normal;overflow-wrap:anywhere}
