:root{--portal-ink:#142d45;--portal-muted:#526577;--portal-line:#d5dfe7;--portal-action:#0b3f7a;--portal-action-strong:#092f5b;--portal-action-soft:#edf3fa;--portal-accent:#c2410c;--portal-bg:#f3f5f6;--portal-surface:#fff;--portal-radius:8px;--portal-font:Roboto,"Segoe UI",Arial,sans-serif;--portal-success:#176b3a;--portal-danger:#a01f1f;--portal-warning:#914700;--portal-border-strong:#758799;--portal-notice-info-bg:#eaf1f7;--portal-notice-warning-bg:#fff4e9;--portal-notice-danger-bg:#fff0ef;--portal-disabled-bg:#f1f4f6;--portal-outline-border:#93a9bd;--portal-badge-public-bg:#e9f5f0;--portal-badge-public-ink:#17634c;--portal-badge-organization-bg:#edf0f7;--portal-badge-organization-ink:#48466c;--portal-badge-neutral-bg:#eceff2;--portal-space-1:4px;--portal-space-2:8px;--portal-space-3:12px;--portal-space-4:16px;--portal-space-5:24px;--portal-space-6:32px;--portal-space-7:48px;--portal-touch:44px;--portal-hairline:1px;--portal-border-width:1px;--portal-focus-width:3px;--portal-text-xs:11px;--portal-text-sm:13px;--portal-text-md:14px;--portal-text-title:17px;--portal-tracking:.6px;--portal-radius-control:6px;--portal-radius-tag:4px;--portal-card-min:280px;--portal-field-min:200px;--portal-dialog-width:560px;--portal-menu-width:220px;--portal-select-min:180px;--portal-thumb-sm:32px;--portal-thumb:48px;--portal-thumb-lg:96px;--portal-badge-warning-bg:var(--portal-notice-warning-bg);--portal-badge-warning-ink:var(--portal-warning);--portal-danger-strong:#821919;--portal-skeleton:#e4eaef;--portal-scrim:rgba(20,45,69,.6);--portal-shadow-popover:0 8px 24px rgba(20,45,69,.18)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100vh;font:15px/1.5 var(--portal-font);color:var(--portal-ink);background:var(--portal-bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:var(--portal-touch)}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--portal-action)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:var(--portal-focus-width) solid var(--portal-action);outline-offset:var(--portal-focus-width)}h1:focus{outline:none}.skip-link{position:absolute;top:-90px;z-index:200;background:var(--portal-surface);padding:16px}.skip-link:focus{top:4px}.topbar{background:var(--portal-surface);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--portal-space-3) 24px;padding:18px 32px;border-bottom:1px solid var(--portal-line)}.brand{display:flex;align-items:center;gap:22px}.brand svg{width:105px;height:38px}.brand-text{font-size:16px;font-weight:700;border-left:1px solid var(--portal-line);padding-left:22px}.brand-text small{display:block;font-size:11px;font-weight:400;color:var(--portal-muted);margin-top:2px}.context{display:flex;flex-wrap:wrap;align-items:center;gap:var(--portal-space-2) 16px}.top-nav{display:flex;flex-wrap:wrap;gap:var(--portal-space-1)}.top-nav a{display:inline-flex;align-items:center;min-height:var(--portal-touch);padding:0 var(--portal-space-3);font-size:var(--portal-text-md);font-weight:600;color:var(--portal-action);text-decoration:none;border-radius:var(--portal-radius-control)}.top-nav a:hover,.top-nav a[aria-current=page]{background:var(--portal-action-soft)}.instance-label{font-size:12px;font-weight:600;border-left:3px solid var(--portal-accent);padding-left:12px}.session-user{font-size:12px;color:var(--portal-muted);text-align:right;line-height:1.4}.session-user strong{display:block;color:var(--portal-ink);font-size:13px}.main{padding:48px 32px;max-width:1120px;margin:0 auto}.narrow{max-width:520px;margin:0 auto}.medium{max-width:760px;margin:0 auto}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;text-transform:uppercase;color:var(--portal-accent);margin:0 0 12px}h1{font-size:34px;line-height:1.15;font-weight:650;letter-spacing:-.6px;margin:0 0 14px}h2{font-size:20px;line-height:1.25;margin:0 0 10px}.lead{margin:0 0 28px;color:var(--portal-muted);max-width:640px}.surface{background:var(--portal-surface);border:1px solid var(--portal-line);border-radius:var(--portal-radius);padding:28px}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.input-wrap{display:flex;gap:8px}.rdc-input{width:100%;min-height:var(--portal-touch);border:1px solid var(--portal-border-strong);border-radius:6px;padding:10px 12px;background:var(--portal-surface);color:var(--portal-ink)}.rdc-input.compact{width:auto;min-width:var(--portal-select-min)}textarea.rdc-input{min-height:var(--portal-thumb-lg);resize:vertical}.rdc-input:disabled{background:var(--portal-disabled-bg)}.rdc-input[aria-invalid=true]{border-color:var(--portal-danger)}.rdc-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--portal-touch);border:1px solid transparent;border-radius:6px;padding:10px 18px;font-size:14px;font-weight:600;white-space:nowrap;background:var(--portal-surface);color:var(--portal-action);text-decoration:none}.rdc-btn--primary{background:var(--portal-action);color:var(--portal-surface)}.rdc-btn--primary:hover{background:var(--portal-action-strong)}.rdc-btn--outline{border-color:var(--portal-outline-border)}.rdc-btn--outline:hover{background:var(--portal-action-soft)}.rdc-btn--ghost{background:transparent}.rdc-btn--ghost:hover{background:var(--portal-action-soft)}.rdc-btn--danger{background:var(--portal-danger);color:var(--portal-surface)}.rdc-btn--danger:hover{background:var(--portal-danger-strong)}.rdc-btn--danger-outline{color:var(--portal-danger);border-color:var(--portal-danger)}.rdc-btn--danger-outline:hover{background:var(--portal-notice-danger-bg)}.rdc-btn--block{width:100%}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.notice{background:var(--portal-notice-info-bg);color:var(--portal-action);border-left:3px solid var(--portal-action);padding:14px 18px;border-radius:4px;font-size:14px;margin-bottom:22px}.notice.warning{background:var(--portal-notice-warning-bg);color:var(--portal-warning);border-color:var(--portal-warning)}.notice.danger{background:var(--portal-notice-danger-bg);color:var(--portal-danger);border-color:var(--portal-danger)}.notice.success{background:var(--portal-badge-public-bg);color:var(--portal-badge-public-ink);border-color:var(--portal-success)}.notice p{margin:0 0 var(--portal-space-2)}.notice p:last-child{margin:0}.notice .actions{margin-top:var(--portal-space-3)}.notice-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--portal-space-3);flex-wrap:wrap}.hint{font-size:var(--portal-text-sm);color:var(--portal-muted);margin:var(--portal-space-2) 0 0}.field-error{font-size:var(--portal-text-sm);font-weight:600;color:var(--portal-danger);margin:var(--portal-space-2) 0 0}.return-destination{font-size:13px;color:var(--portal-muted);margin:18px 0 0;overflow-wrap:anywhere}.return-destination code,.path code{font-family:inherit;font-weight:600;color:var(--portal-ink)}.help{font-size:13px;color:var(--portal-muted);margin:22px 0 0;border-top:1px solid var(--portal-line);padding-top:18px}.state-code{font-size:12px;font-weight:700;color:var(--portal-muted);letter-spacing:.6px;margin:0 0 10px}.path{font-size:13px;color:var(--portal-muted);margin:0 0 4px;overflow-wrap:anywhere}.badges{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.badge{display:inline-block;font-size:11px;line-height:1.6;padding:3px 9px;border-radius:4px;background:var(--portal-action-soft);color:var(--portal-action);font-weight:600}.badge.public{background:var(--portal-badge-public-bg);color:var(--portal-badge-public-ink)}.badge.organization{background:var(--portal-badge-organization-bg);color:var(--portal-badge-organization-ink)}.badge.neutral{background:var(--portal-badge-neutral-bg);color:var(--portal-muted)}.badge.warning{background:var(--portal-badge-warning-bg);color:var(--portal-badge-warning-ink)}.breadcrumb{font-size:11px;letter-spacing:.6px;color:var(--portal-muted);text-transform:uppercase;margin:0 0 8px;overflow-wrap:anywhere}.dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-bottom:1px solid var(--portal-line);padding-bottom:22px;margin-bottom:26px}.dashboard-head p{margin:0;color:var(--portal-muted);max-width:640px}.empty-version{display:grid;gap:8px;text-align:left;border:1px dashed var(--portal-border-strong);border-radius:var(--portal-radius);padding:36px;background:var(--portal-surface)}.empty-version p{margin:0;color:var(--portal-muted)}.empty-version h2{margin:0}.visually-hidden{position:absolute;width:var(--portal-hairline);height:var(--portal-hairline);margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-frame{display:block;width:100%;height:100%;border:0;background:var(--portal-surface)}portal-root:has(.dashboard-full){display:flex;flex-direction:column;height:100dvh}portal-root:has(.dashboard-full) .main{flex:1;min-height:0;max-width:none;margin:0;padding:0}portal-root:has(.dashboard-full) .footer{display:none}portal-dashboard-page:has(.dashboard-full),.dashboard-full{display:block;height:100%}.subroute{font-size:13px;color:var(--portal-muted);margin:16px 0 0}.session-card{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.session-card dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13px}.session-card dt{color:var(--portal-muted)}.session-card dd{margin:0;font-weight:600}.notice-bar{padding-bottom:0}.plain{max-width:640px;margin:80px auto;padding:0 24px}.filters{display:grid;gap:var(--portal-space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--portal-field-min)),1fr));align-items:end;margin-bottom:var(--portal-space-6)}.filters .field{margin:0}.filters .span-all{grid-column:1/-1}.scope-switch{display:flex;flex-wrap:wrap;border:var(--portal-border-width) solid var(--portal-line);padding:3px;border-radius:var(--portal-radius-control);background:var(--portal-surface);width:fit-content;max-width:100%;margin-bottom:var(--portal-space-4)}.scope-switch button{border:0;border-radius:var(--portal-radius-tag);background:transparent;padding:var(--portal-space-2) var(--portal-space-3);color:var(--portal-muted);font-weight:600}.scope-switch button[aria-pressed=true]{background:var(--portal-action);color:var(--portal-surface)}.card-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--portal-card-min)),1fr));gap:var(--portal-space-4)}.board-card{position:relative;display:flex;flex-direction:column;gap:var(--portal-space-3);height:100%;background:var(--portal-surface);border:var(--portal-border-width) solid var(--portal-line);border-radius:var(--portal-radius);padding:var(--portal-space-5)}.board-card:hover{border-color:var(--portal-outline-border)}.board-card.is-suspended{border-style:dashed;border-color:var(--portal-border-strong)}.board-card:has(.card-link:focus-visible){outline:var(--portal-focus-width) solid var(--portal-action);outline-offset:var(--portal-focus-width)}.card-head{display:flex;gap:var(--portal-space-3);align-items:center;min-width:0}.card-meta{min-width:0}.card-meta .breadcrumb{margin:0 0 var(--portal-space-1)}.card-title{font-size:var(--portal-text-title);line-height:1.3;margin:0;overflow-wrap:anywhere}.card-title a{color:var(--portal-ink);text-decoration:none;font-weight:650}.card-title a:hover{color:var(--portal-action);text-decoration:underline}.card-link:focus-visible{outline:none}.card-link:after{content:"";position:absolute;inset:0}.card-desc{margin:0;color:var(--portal-muted);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-foot{margin-top:auto;display:grid;gap:var(--portal-space-2)}.card-foot .badges{margin:0}.card-note{font-size:var(--portal-text-sm);color:var(--portal-muted);margin:0}.card-actions{position:relative;z-index:1}.load-more{display:flex;flex-direction:column;align-items:center;gap:var(--portal-space-3);margin-top:var(--portal-space-5)}.skeleton{display:block;background:var(--portal-skeleton);border-radius:var(--portal-radius-tag);height:var(--portal-space-4);margin-top:var(--portal-space-3);animation:pulse 1.4s ease-in-out infinite}.skeleton.title{width:60%;height:var(--portal-space-5)}.skeleton.short{width:40%}@keyframes pulse{50%{opacity:.5}}.logo-tile{flex:none;display:grid;place-items:center;width:var(--portal-thumb);height:var(--portal-thumb);border-radius:var(--portal-radius);overflow:hidden;background:var(--portal-action-soft);color:var(--portal-action)}.logo-tile.sm{width:var(--portal-thumb-sm);height:var(--portal-thumb-sm)}.logo-tile.lg{width:var(--portal-thumb-lg);height:var(--portal-thumb-lg)}.logo-tile svg{width:60%;height:60%}.logo-tile.image{border:var(--portal-border-width) solid var(--portal-line);background:var(--portal-surface)}.logo-tile.image img{width:100%;height:100%;object-fit:cover}.section-head{display:flex;justify-content:space-between;align-items:center;gap:var(--portal-space-4);flex-wrap:wrap;margin:var(--portal-space-5) 0 var(--portal-space-3)}.section-head h2{margin:0}.page-section{margin-top:var(--portal-space-7)}.table-surface{padding:0}.data-table{width:100%;border-collapse:collapse;font-size:var(--portal-text-md)}.data-table th,.data-table td{padding:var(--portal-space-3) var(--portal-space-4);text-align:left;vertical-align:middle;border-bottom:var(--portal-border-width) solid var(--portal-line);overflow-wrap:anywhere}.data-table thead th{background:var(--portal-action-soft);color:var(--portal-action);font-size:var(--portal-text-xs);letter-spacing:var(--portal-tracking);text-transform:uppercase;font-weight:700}.data-table thead th:first-child{border-top-left-radius:var(--portal-radius)}.data-table thead th:last-child{border-top-right-radius:var(--portal-radius)}.data-table th[scope=row]{font-weight:400}.data-table tbody tr:last-child>*{border-bottom:0}.name-cell{display:flex;gap:var(--portal-space-3);align-items:center;min-width:0}.level-2 .name-cell{padding-left:var(--portal-space-5)}.level-3 .name-cell{padding-left:var(--portal-space-7)}.is-inactive .row-title{color:var(--portal-muted)}.row-title{display:block;font-weight:600}.row-sub{display:block;font-size:var(--portal-text-sm);color:var(--portal-muted)}.table-foot{padding:var(--portal-space-3) var(--portal-space-4);border-top:var(--portal-border-width) solid var(--portal-line);text-align:center}.row-actions{display:flex;flex-wrap:wrap;gap:var(--portal-space-2);align-items:center}.menu-wrap{position:relative}.action-menu{position:absolute;right:0;top:100%;z-index:20;list-style:none;margin:var(--portal-space-1) 0 0;padding:var(--portal-space-2);min-width:var(--portal-menu-width);background:var(--portal-surface);border:var(--portal-border-width) solid var(--portal-line);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-popover)}.menu-item{display:flex;align-items:center;width:100%;text-align:left;border:0;background:transparent;padding:var(--portal-space-2) var(--portal-space-3);border-radius:var(--portal-radius-control);color:var(--portal-action);font-weight:600}.menu-item:hover{background:var(--portal-action-soft)}.menu-item.danger{color:var(--portal-danger)}.menu-item.danger:hover{background:var(--portal-notice-danger-bg)}.scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--portal-card-min)),1fr));gap:var(--portal-space-4)}.scope-card{background:var(--portal-surface);border:var(--portal-border-width) solid var(--portal-line);border-radius:var(--portal-radius);padding:var(--portal-space-5)}.scope-card.is-current{border-color:var(--portal-action);box-shadow:0 0 0 var(--portal-border-width) var(--portal-action)}.scope-card h3{font-size:var(--portal-text-title);margin:0 0 var(--portal-space-3)}.scope-card h3 .badge{margin-left:var(--portal-space-2);vertical-align:middle}.scope-card dl{margin:0}.scope-card dt{font-size:var(--portal-text-xs);font-weight:700;letter-spacing:var(--portal-tracking);text-transform:uppercase;color:var(--portal-muted)}.scope-card dd{margin:0 0 var(--portal-space-3);font-size:var(--portal-text-md)}.person-list{list-style:none;margin:var(--portal-space-4) 0 0;padding:0;display:grid;gap:var(--portal-space-3)}.person-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--portal-space-3) var(--portal-space-4);align-items:center;border:var(--portal-border-width) solid var(--portal-line);border-radius:var(--portal-radius);padding:var(--portal-space-3) var(--portal-space-4)}.person-actions{display:flex;flex-wrap:wrap;gap:var(--portal-space-2);align-items:center}.spaced{margin-top:var(--portal-space-4)}.hint-flush{margin:0 0 var(--portal-space-3)}dialog.modal{border:0;padding:0;border-radius:var(--portal-radius);width:min(var(--portal-dialog-width),calc(100% - var(--portal-space-6)));max-height:calc(100dvh - var(--portal-space-6));overflow:auto;color:var(--portal-ink);background:var(--portal-surface);box-shadow:var(--portal-shadow-popover);border-top:var(--portal-space-1) solid var(--portal-action)}dialog.modal::backdrop{background:var(--portal-scrim)}.modal-head{padding:var(--portal-space-5) var(--portal-space-5) 0}.modal-head h2{margin:0 0 var(--portal-space-2);overflow-wrap:anywhere}.modal-desc{margin:0;color:var(--portal-muted)}.modal-body{padding:var(--portal-space-4) var(--portal-space-5)}.modal-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--portal-space-3);padding:var(--portal-space-4) var(--portal-space-5) var(--portal-space-5);border-top:var(--portal-border-width) solid var(--portal-line)}fieldset{border:0;margin:0 0 var(--portal-space-4);padding:0;min-width:0}legend{font-size:var(--portal-text-sm);font-weight:600;padding:0;margin-bottom:var(--portal-space-2)}.option{display:flex;gap:var(--portal-space-3);align-items:flex-start;min-height:var(--portal-touch);border:var(--portal-border-width) solid var(--portal-line);border-radius:var(--portal-radius);padding:var(--portal-space-3) var(--portal-space-4);margin-bottom:var(--portal-space-2);cursor:pointer}.option:has(input:checked){border-color:var(--portal-action);background:var(--portal-action-soft)}input[type=checkbox],input[type=radio]{flex:none;width:var(--portal-space-5);height:var(--portal-space-5);margin:0;accent-color:var(--portal-action)}.req-list{margin:var(--portal-space-3) 0;padding-left:var(--portal-space-5);color:var(--portal-muted);font-size:var(--portal-text-sm)}.logo-preview{display:flex;gap:var(--portal-space-4);align-items:center;margin-bottom:var(--portal-space-4)}.logo-preview .hint,.logo-preview .row-title{margin:0}.footer{font-size:11px;color:var(--portal-muted);text-align:center;padding:24px 16px 32px}@media(max-width:760px){.topbar{padding:16px;flex-wrap:wrap;gap:14px}.brand{gap:16px}.brand svg{width:84px;height:30px}.brand-text{font-size:14px;padding-left:16px}.brand-text small{font-size:10px}.context{width:100%;justify-content:space-between;gap:10px 12px;flex-wrap:wrap}.top-nav,.instance-label{flex-basis:100%}.session-user{text-align:left;margin-right:auto}.main{padding:28px 16px}h1{font-size:28px}.surface{padding:20px}.dashboard-head{flex-direction:column;gap:14px}.empty-version{padding:24px}.session-card{grid-template-columns:1fr}.actions .rdc-btn{width:100%}.input-wrap{flex-wrap:wrap}.input-wrap .rdc-btn{width:100%}.section-head{flex-direction:column;align-items:stretch}.data-table,.data-table tbody,.data-table tr,.data-table th,.data-table td{display:block;width:100%}.data-table thead{position:absolute;width:var(--portal-hairline);height:var(--portal-hairline);overflow:hidden;clip:rect(0,0,0,0)}.table-surface{border:0;background:transparent;padding:0}.data-table tr{background:var(--portal-surface);border:var(--portal-border-width) solid var(--portal-line);border-radius:var(--portal-radius);margin-bottom:var(--portal-space-3);padding:var(--portal-space-2) 0}.data-table th,.data-table td{border-bottom:0;padding:var(--portal-space-2) var(--portal-space-4)}.data-table td[data-label]:before{content:attr(data-label);display:block;font-size:var(--portal-text-xs);font-weight:700;letter-spacing:var(--portal-tracking);text-transform:uppercase;color:var(--portal-muted)}.action-menu{position:static;box-shadow:none}.menu-wrap{width:100%}.person-row{grid-template-columns:minmax(0,1fr)}.modal-foot .rdc-btn{width:100%}.modal-head,.modal-body,.modal-foot{padding-left:var(--portal-space-4);padding-right:var(--portal-space-4)}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
