@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-display:swap;src:url('/static/fonts/bricolage-grotesque-latin-var.woff2') format('woff2')}
@font-face{font-family:'Inter var';font-style:normal;font-weight:100 900;font-display:swap;src:url('/static/fonts/inter-latin-var.woff2') format('woff2')}

.app-page,.auth-page{
  --font-display:'Bricolage Grotesque',sans-serif;
  --font-sans:'Inter var',Inter,sans-serif;
  --portal-gutter:20px;
  --portal-shell:1312px;
  --portal-control-radius:3px;
  --portal-card-radius:8px;
  --portal-ease:cubic-bezier(.23,1,.32,1);
  font-family:'Inter var',Inter,system-ui,sans-serif;
  font-size:15px;
  line-height:24px;
}
.app-page :is(h1,h2,h3,h4),.auth-page :is(h1,h2,h3,h4){font-family:'Bricolage Grotesque',sans-serif}
.app-page figure{margin:0}
@media(min-width:640px){.app-page{--portal-gutter:32px}}
@media(min-width:1024px){.app-page{--portal-gutter:48px}}
@media(min-width:1280px){.app-page{--portal-gutter:64px}}

/* Shared selectors: account modes, workspace navigation and admin navigation. */
.portal-tab{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:0 13px;border:0;border-radius:4px;background:transparent;box-shadow:none;color:var(--color-mutedfg);font-size:13px;font-weight:550;line-height:20px;letter-spacing:normal;text-decoration:none;text-transform:none;white-space:nowrap;transition:background 160ms var(--portal-ease),color 160ms var(--portal-ease)}
.portal-tab:hover{background:var(--color-accent);color:var(--color-fg)}
.portal-tab[aria-current="page"]{background:color-mix(in oklab,var(--color-primary) 11%,var(--color-card));color:var(--color-fg)}
.portal-tab svg{flex:none;width:16px;height:16px}
.portal-tab[aria-current="page"] svg{color:var(--color-primary)}
.portal-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.account-modes>.portal-tab{flex:1}
@media(max-width:360px){.portal-tab{gap:6px;padding-inline:8px;font-size:12px}}

/* Application shell */
.workspace-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--color-border);background:var(--color-card)}
.workspace-header__inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;width:100%;max-width:calc(var(--portal-shell) + 2 * var(--portal-gutter));min-height:64px;margin:auto;align-items:center;gap:24px;padding-inline:var(--portal-gutter)}
.workspace-header__brand{display:flex;min-height:44px;align-items:center;gap:10px;padding-right:24px;border-right:1px solid var(--color-border);color:var(--color-fg);font-size:15px;font-weight:650;text-decoration:none}
.workspace-header__brand img{display:block;flex:none;width:26px;height:26px}
.workspace-header__nav{display:flex;min-width:0;align-items:center;gap:4px}




.workspace-header__logout svg{flex:none;width:16px;height:16px}
.workspace-header__account{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:20px}
.workspace-header__identity{min-width:0;max-width:160px;text-align:right}
.workspace-header__identity strong{display:block;overflow:hidden;color:var(--color-fg);font-size:12px;font-weight:600;line-height:18px;text-overflow:ellipsis;white-space:nowrap}
.workspace-header__identity span{display:block;color:var(--color-mutedfg);font-size:11px;line-height:16px}
.workspace-header__logout-form{flex:none;margin:0}
.workspace-header__logout{display:flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 10px;border:0;border-radius:4px;background:transparent;color:var(--color-mutedfg);font:inherit;font-size:12px;cursor:pointer}
.workspace-header__logout:hover{background:var(--color-accent);color:var(--color-fg)}
.workspace-header :is(a,button):focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
@media(max-width:980px){.workspace-header__inner{gap:14px}.workspace-header__brand{padding-right:14px}.workspace-header__account{gap:10px}.workspace-header__identity{max-width:100px}.workspace-header__logout span{display:none}.workspace-header__logout{width:44px;padding:0}}
@media(max-width:767px){.workspace-header__inner{grid-template-columns:auto minmax(0,1fr);gap:0 16px;padding-top:6px;padding-bottom:6px}.workspace-header__brand{border:0;padding:0}.workspace-header__account{grid-column:2;grid-row:1}.workspace-header__identity{max-width:150px}.workspace-header__nav{grid-column:1/-1;grid-row:2;gap:4px;margin-top:4px}.workspace-header__nav>.portal-tab{flex:1;padding-inline:8px}}
@media(max-width:360px){.workspace-header__inner{column-gap:8px}.workspace-header__identity{max-width:105px}}

.portal-shell{width:100%;max-width:calc(var(--portal-shell) + 2 * var(--portal-gutter));margin-inline:auto;padding:32px var(--portal-gutter) 72px}
.portal-pagehead{display:flex;min-height:100px;align-items:flex-end;justify-content:space-between;gap:28px;padding-bottom:28px}
.portal-kicker{margin-bottom:14px;color:var(--color-mutedfg);font-size:11px;font-weight:550;letter-spacing:.09em;text-transform:uppercase}
.portal-pagehead h1{margin:0;color:var(--color-fg);font-size:clamp(32px,3vw,40px);font-weight:600;line-height:1.02;letter-spacing:-.035em}
.portal-pagehead>div>p{max-width:680px;margin-top:12px;color:var(--color-mutedfg);font-size:14px;line-height:1.7}
.portal-pagehead__identity,.portal-pagehead__state{display:flex;min-width:220px;align-items:center;gap:12px;padding:15px 16px;border-left:1px solid var(--color-border)}
.portal-pagehead__identity>span{display:grid;width:40px;height:40px;flex:none;place-items:center;border:1px solid var(--color-borderstrong);border-radius:var(--portal-control-radius);color:var(--color-fg);font-weight:700}
.portal-pagehead__identity strong,.portal-pagehead__identity small,.portal-pagehead__state strong,.portal-pagehead__state small{display:block}
.portal-pagehead__identity strong,.portal-pagehead__state strong{color:var(--color-fg);font-size:12px}
.portal-pagehead__identity small,.portal-pagehead__state small{margin-top:3px;color:var(--color-faint);font-size:11px}
.portal-pagehead__state>svg{width:18px;height:18px;color:#41c98a}
.portal-section{margin-top:72px}
.portal-section__head{display:flex;min-height:74px;align-items:center;justify-content:space-between;gap:28px;padding:16px 20px;border-bottom:1px solid var(--color-border)}
.portal-section__head>div{display:flex;align-items:flex-start;gap:18px}
.portal-section__head>div>span{padding-top:3px;color:var(--color-primary);font-size:11px;font-weight:650;letter-spacing:.08em}
.portal-section__head h2{color:var(--color-fg);font-size:20px;font-weight:600;line-height:1.2;letter-spacing:-.015em}
.portal-section__head p{margin-top:5px;color:var(--color-mutedfg);font-size:12px;line-height:1.55}
.portal-section__head>em{flex:none;color:var(--color-faint);font-size:11px;font-style:normal;letter-spacing:.06em;text-transform:uppercase}

/* Shared controls */
.account-feedback{margin:0 0 20px;padding:12px 14px;border:1px solid var(--color-border);border-radius:3px;background:var(--color-field);color:var(--color-fg);font-size:13px;line-height:1.6}.account-feedback.is-error{border-color:rgba(255,125,129,.35);color:#ffadb0}
.auth-page .account-heading h1{font-size:36px}.auth-page .account-heading p{font-size:14px}
.app-page .pc-section .pw-field>label,.app-page .pc-section label:not(.pw-file):not(.pw-check){font-size:12px}.app-page .pc-section .pw-field>small{font-size:11px;line-height:1.6}
.app-page .pc-summary__identity h2{overflow:visible;white-space:normal;overflow-wrap:anywhere}.app-page .pc-summary__metrics dt,.app-page .pc-summary__metrics small{font-size:11px}
.app-page .pc-section input:not([type="hidden"]):not([type="checkbox"]),.app-page .pc-section textarea,.app-page .v-select__trigger{font-size:13px}
.app-page .pw-btn{min-height:42px;height:42px;padding:0 16px;border-radius:var(--portal-control-radius);font-size:12px;letter-spacing:.025em;transition:background 180ms var(--portal-ease),border-color 180ms var(--portal-ease),color 180ms var(--portal-ease),transform 140ms var(--portal-ease)}
.app-page .pw-btn:active{transform:scale(.98)}
.app-page .pw-iconbtn{width:40px;height:40px;border-radius:var(--portal-control-radius);color:var(--color-mutedfg)}
.app-page .pw-iconbtn:hover{border-color:var(--color-borderstrong);background:var(--color-accent);color:var(--color-fg)}
.app-page .pw-iconbtn--danger:hover{border-color:rgba(255,107,112,.34);background:rgba(255,107,112,.07);color:#ff7d81}
.app-page .pw-iconbtn--success:hover{border-color:rgba(65,201,138,.34);background:rgba(65,201,138,.07);color:#62d79f}
.app-page :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select),.app-page .v-select__trigger{border-radius:var(--portal-control-radius)!important}
/* The joined wrapper owns all four outer corners, including browser autofill. */
.app-page .v-password input,.auth-page .v-password input{border-radius:0!important;box-shadow:none}
.app-page .v-password button,.auth-page .v-password button{border-radius:0}
.app-page :is(.pw-badge,.pw-count,.pw-status,.dash-state,.admin-role,.admin-product-count){border-radius:var(--portal-control-radius)}
.app-page .admin-access-modal__panel{border-radius:var(--portal-card-radius)}
.app-page .v-select__menu{border-radius:var(--portal-control-radius);background:var(--color-card)}.app-page .v-select.is-open .v-select__menu{position:fixed;right:auto;bottom:auto;z-index:120;box-sizing:border-box}.app-page .v-select__option{border-radius:var(--portal-control-radius)}


/* Dashboard: optional filename immediately precedes its download action. */
.dash-shell{max-width:calc(var(--portal-shell) + 2 * var(--portal-gutter));padding:32px var(--portal-gutter) 72px}
.dash-head{margin:0;padding-bottom:28px}.dash-account-summary{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:var(--color-mutedfg);font-size:12px}.dash-account-summary strong{color:var(--color-fg);font-weight:600}.dash-account-summary>span{margin-inline:5px}
.dash-section{margin-top:8px}.dash-products{display:grid;gap:20px}
.dash-product{display:block;min-height:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--portal-card-radius);background:var(--color-bg);box-shadow:none}
.dash-product__main{display:grid;grid-template-columns:minmax(0,1fr) 320px}
.dash-product__body{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:26px 28px}
.dash-product__meta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;color:var(--dash-accent);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.dash-state{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:var(--color-mutedfg);font-size:10px;font-style:normal;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.dash-state:before{width:5px;height:5px;border:1px solid currentColor;border-radius:50%;content:""}.dash-state.is-live{color:#61d69e}.dash-state.is-live:before{background:currentColor}
.dash-product h2{margin:14px 0 0;color:var(--color-fg);font:600 clamp(23px,2.2vw,30px)/1.15 'Bricolage Grotesque',sans-serif;letter-spacing:-.025em}
.dash-product__body>p{max-width:660px;margin:12px 0 0;color:var(--color-mutedfg);font-size:14px;line-height:1.7}
.dash-product-links{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:18px;font-size:12px}.dash-product-links>a{display:inline-flex;min-height:36px;align-items:center;gap:8px;color:var(--color-fg);text-decoration:none}.dash-product-links>a:hover{color:var(--color-primary)}.dash-product-links svg{width:14px;height:14px}.dash-product-links>span{color:var(--color-faint)}
.dash-product__access{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:22px;padding:26px 24px;border-left:1px solid var(--color-border);background:var(--color-card)}
.dash-product__access-head>span{display:block;color:var(--color-mutedfg);font-size:11px}.dash-product__access-head strong{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--color-fg);font:600 20px/1.2 'Bricolage Grotesque',sans-serif}.dash-product__access-head strong svg{width:17px;height:17px;color:#61d69e}.dash-product__access-head small{display:block;margin-top:8px;color:var(--color-mutedfg);font-size:12px;line-height:1.6}
.dash-download{display:grid;width:100%;min-width:0;gap:12px}.dash-download>.pw-btn{width:100%}
.dash-download-name{display:grid;min-width:0;gap:8px}.dash-download-name>label{display:flex;justify-content:space-between;gap:8px;color:var(--color-mutedfg);font-size:12px}.dash-download-name small{font-size:11px;line-height:1.5;color:var(--color-mutedfg)}
.dash-download__controls{display:grid;grid-template-columns:1fr;gap:8px}.dash-download__controls>div{display:flex;height:42px;min-width:0;align-items:center;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--portal-control-radius);background:var(--color-field)}.dash-download__controls>div:focus-within{border-color:var(--color-primary)}.dash-download__controls input{width:100%;min-width:0;border:0!important;background:transparent;padding:0 7px;color:var(--color-fg);font-size:13px;outline:0;box-shadow:none!important}.dash-download__controls em{color:var(--color-faint);font-size:12px;font-style:normal}
.dash-product__availability{display:flex;align-items:flex-start;gap:8px;color:var(--color-mutedfg);font-size:12px;line-height:1.6}.dash-product__availability svg{width:16px;height:16px;flex:none;margin-top:2px}
.dash-releases{border-top:1px solid var(--color-border);background:var(--color-bg)}.dash-releases>summary{display:flex;min-height:48px;cursor:pointer;list-style:none;align-items:center;justify-content:space-between;gap:18px;padding:12px 28px;color:var(--color-mutedfg);font-size:12px;font-weight:500;user-select:none}.dash-releases>summary:hover{color:var(--color-fg);background:var(--color-card)}.dash-releases>summary::-webkit-details-marker{display:none}.dash-releases>summary>span{display:flex;align-items:center;gap:9px}.dash-releases>summary svg{width:14px;height:14px}.dash-releases>summary>span:last-child{font-size:11px}.dash-releases[open]>summary>span:last-child svg{transform:rotate(180deg)}
.dash-releases__list{display:grid;border-top:1px solid var(--color-border)}.dash-release__entry{display:grid;grid-template-columns:150px minmax(0,1fr);gap:26px;padding:24px 28px;border-bottom:1px solid var(--color-border)}.dash-release__entry:last-child{border-bottom:0}.dash-release__entry strong,.dash-release__entry time{display:block}.dash-release__entry strong{color:var(--color-fg);font-size:15px}.dash-release__entry time{margin-top:7px;color:var(--color-mutedfg);font-size:12px}.dash-product .dash-release__entry p{margin:0;color:var(--color-mutedfg);font-size:13px;line-height:1.8;white-space:pre-line}
.dash-empty{display:flex;gap:16px;padding:40px;border:1px solid var(--color-border);border-radius:8px}.dash-empty svg{width:24px;height:24px;flex:none;color:var(--color-mutedfg)}.dash-empty strong{display:block;color:var(--color-fg);font-size:17px}.dash-empty p{margin:8px 0;color:var(--color-mutedfg);font-size:14px}.dash-empty a{font-size:13px;color:var(--color-primary)}
.workspace-help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;font-size:12px;color:var(--color-mutedfg)}.workspace-help a{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:var(--color-fg)}.workspace-help svg{width:14px;height:14px}

/* Settings: a settings form, rather than a marketing panel. */
.set-shell{max-width:calc(var(--portal-shell) + 2 * var(--portal-gutter));padding:32px var(--portal-gutter) 72px}
.set-head{margin:0;padding-bottom:28px}
.set-workspace{display:grid;gap:0;border:1px solid var(--color-border);border-radius:var(--portal-card-radius);overflow:hidden}
.set-workspace>section{display:grid;grid-template-columns:300px minmax(0,1fr);min-width:0;background:var(--color-bg);border:0}.set-workspace>section+section{border-top:1px solid var(--color-border)}
.set-workspace .portal-section__head{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:16px;padding:28px;border:0;background:var(--color-card)}.set-workspace .portal-section__head h2{font-size:20px}.set-workspace .portal-section__head p{font-size:13px;line-height:1.7}
.set-identity__facts{display:grid;gap:0;padding:12px 28px}.set-identity__facts>div{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--color-border)}.set-identity__facts>div:last-child{border:0}.set-identity__facts dt{color:var(--color-mutedfg);font-size:12px}.set-identity__facts dd{display:flex;min-width:0;align-items:center;gap:10px;margin:0;font-size:14px;color:var(--color-fg)}.set-identity__facts dd span{overflow-wrap:anywhere}.set-identity__facts svg{width:15px;height:15px;flex:none;color:var(--color-faint)}.set-identity__facts dd>svg:last-child{display:none}
.set-device__status{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-style:normal;color:var(--color-mutedfg)}.set-device__status i{width:5px;height:5px;border-radius:50%;background:currentColor}.set-device__status.is-bound{color:#61d69e}
.set-workspace>.set-device{gap:0;padding:0;border-radius:0;background:transparent}
.set-device__body{display:grid;gap:20px;padding:28px}.set-device__tag{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.set-device__tag>span{font-size:12px;color:var(--color-mutedfg)}.set-device__tag code{font-size:13px;color:var(--color-fg)}.set-device__explanation{display:flex;align-items:flex-start;gap:12px}.set-device__explanation>svg{width:18px;height:18px;flex:none;color:var(--color-primary);margin-top:3px}.set-device__explanation strong{font-size:14px;color:var(--color-fg)}.set-device__explanation p{max-width:650px;margin-top:7px;font-size:13px;line-height:1.75;color:var(--color-mutedfg)}
.set-password__layout{display:flex;min-width:0;flex-direction:column-reverse;align-items:stretch;gap:24px;padding:28px}.set-password__form{display:grid;grid-template-columns:1fr;max-width:580px;width:100%;gap:18px;border:0;padding:0}.set-password-field{display:grid;gap:8px}.set-password-field>label{font-size:12px;font-weight:600;color:var(--color-mutedfg)}.set-password__form input{width:100%;min-width:0;height:46px;padding:0 12px;background:var(--color-field);color:var(--color-fg);font-size:14px;outline:0}.set-password__form>.pw-btn{justify-self:start;margin-top:2px}
.set-password__warning{display:flex;gap:12px;align-items:flex-start;padding:0;border:0}.set-password__warning>svg{width:18px;height:18px;margin-top:3px;flex:none;color:#d09a45}.set-password__warning strong{font-size:13px;color:var(--color-fg)}.set-password__warning p{max-width:600px;margin-top:5px;font-size:12px;line-height:1.7;color:var(--color-mutedfg)}
@media(max-width:900px){.set-workspace>section{grid-template-columns:230px minmax(0,1fr)}.set-identity__facts>div{grid-template-columns:1fr;gap:8px}}
@media(max-width:767px){.set-workspace>section{grid-template-columns:1fr}.set-workspace .portal-section__head{padding:22px;border-bottom:1px solid var(--color-border)}.set-identity__facts{padding:0 22px}.set-device__body,.set-password__layout{padding:22px}.set-device__tag{border:0}.set-password__form{border:0}.set-password__form>.pw-btn{width:100%}}

/* Admin shell */
.admin-shell{max-width:calc(var(--portal-shell) + 2 * var(--portal-gutter))!important;margin-inline:auto!important;padding:44px var(--portal-gutter) 96px!important}
.admin-console-head{margin:0;padding-bottom:30px}
.admin-console-role{display:inline-flex;align-items:center;gap:8px;padding:14px 0 14px 18px;border:0;border-left:1px solid var(--color-border);border-radius:0;background:transparent;color:#b7a2ff;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.admin-console-role svg{width:15px;height:15px}
.admin-console-nav{display:flex;gap:4px;margin:0 0 32px;padding:0;max-width:100%;border:0;background:transparent}

.admin-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 20px}.admin-pagehead h2{color:var(--color-fg);font:600 30px/1.1 'Bricolage Grotesque',sans-serif;letter-spacing:-.025em}.admin-pagehead p{max-width:660px;margin-top:8px;color:var(--color-mutedfg);font-size:12px;line-height:1.6}.admin-pagehead .pw-eyebrow{margin-bottom:8px;color:var(--color-primary)}

/* Product editor */
.pc-pagehead{margin-bottom:20px}.pc-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:24px}.pc-rail{position:sticky;top:92px;display:grid;gap:14px;min-width:0}.pc-rail__block,.pc-outline{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--portal-card-radius);background:var(--color-bg)}.pc-rail__head{padding:16px;border-bottom:1px solid var(--color-border)}.pw-switcher.pc-product-list{padding:6px;background:transparent}.pw-switcher__item.pc-product-link{border-radius:var(--portal-control-radius)}.pc-product-link__mark{border-radius:var(--portal-control-radius)}.pc-product-link__copy strong{white-space:normal;overflow:visible;line-height:1.4}.pc-product-link__copy small{display:none}.pc-product-link .pw-badge{display:none}.pc-outline{border-radius:var(--portal-card-radius)}.pc-outline>a{min-height:38px;border-radius:var(--portal-control-radius)}
.pc-editor{display:grid;min-width:0;gap:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--portal-card-radius);background:var(--color-bg)}
.pc-summary{grid-template-columns:1fr;border:0;border-radius:0;background:var(--color-card);box-shadow:none}.pc-summary__cover{border-radius:var(--portal-control-radius)}.pc-summary__metrics{grid-template-columns:repeat(4,minmax(0,1fr));border-left:0;border-top:1px solid var(--color-border)}.pc-summary__metrics>div{background:var(--color-card)}.pc-summary__metrics dd{max-width:100%;overflow:visible;white-space:nowrap}
.pc-section{border:0;border-top:1px solid var(--color-border);border-radius:0;background:var(--color-bg);box-shadow:none}.pc-section__head{min-height:80px;padding:18px 22px;background:var(--color-card)}.pc-section__number{border-radius:var(--portal-control-radius)}.pc-section__body{padding:24px}.pc-section__head h2{font-family:'Bricolage Grotesque',sans-serif;font-size:20px;font-weight:600}.pc-section__head p{max-width:620px}
.pc-section :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="file"]),textarea,select),.pc-new-plan :is(input,select){border-radius:var(--portal-control-radius)}
.pc-primary-form{position:relative}.pc-savebar{position:sticky;z-index:15;bottom:12px;display:none;margin:-60px 12px 12px;align-items:center;justify-content:space-between;gap:18px;padding:10px 10px 10px 14px;border:1px solid color-mix(in oklab,var(--color-primary) 38%,var(--color-border));border-radius:var(--portal-control-radius);background:color-mix(in oklab,var(--color-card) 94%,transparent);box-shadow:0 18px 48px rgba(0,0,0,.42);backdrop-filter:blur(14px)}.pc-primary-form.is-dirty .pc-savebar{display:flex}.pc-savebar>span{display:flex;align-items:center;gap:8px;color:var(--color-mutedfg);font-size:11px;font-weight:650}.pc-savebar>span svg{width:14px;height:14px;color:var(--color-primary)}
.pc-media-list{display:grid;gap:1px;background:var(--color-border)}.pc-media-list .pw-media-item{grid-template-columns:58px minmax(0,1fr);border:0;border-radius:0;background:var(--color-bg)}.pc-media-list .pw-media__preview{width:44px;border-radius:var(--portal-control-radius);aspect-ratio:1}.pc-media-list .pw-media-item__fields{grid-template-columns:minmax(0,1fr) 90px}.pc-media-list .pw-media-item__url{grid-column:auto}.pc-media-list .pw-media-item__alt{grid-column:1/-1}.pc-media-add{grid-template-columns:1fr;gap:1px;padding:1px;background:var(--color-border)}.pc-media-add>form{border:0;border-radius:0;background:var(--color-bg)}
.pc-plan-list{gap:1px;background:var(--color-border)}.pc-plan-list>form{border:0;border-radius:0;background:var(--color-bg)}.pc-new-plan{padding:20px 0 0}
.pc-plan-field{display:grid;min-width:0;gap:6px}.pc-plan-field>span{display:none}.pc-plan-field .pw-planname{min-width:0}.pc-plan-field .pw-planname>em{flex:none}.pc-plan-field>.pc-plan-toggles,.pc-plan-field>.pc-row-actions{min-height:42px}
.pc-delivery-grid{gap:1px;background:var(--color-border)}.pc-delivery-grid .pw-artifact{border:0;border-radius:0;background:var(--color-bg)}.pw-artifact__field,.pw-version-pair,.pw-version-pair>label{display:grid;gap:6px}.pw-artifact__field,.pw-version-pair{grid-column:1/-1}.pw-artifact__field>span,.pw-version-pair>label>span{color:var(--color-faint);font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.pw-version-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.pw-version-pair input{width:100%;min-width:0;height:40px;padding:0 11px;border:1px solid var(--color-border);background:var(--color-field);color:var(--color-fg);font-size:12px;outline:0}.pw-version-pair input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 14%,transparent)}.pc-subsection{padding-top:24px}.pc-map-table{border-radius:var(--portal-control-radius)}.pc-release-list{gap:1px;background:var(--color-border)}.pc-release-list>form{border:0;border-radius:0;background:var(--color-bg)}
.pc-release-flow{display:grid;margin:0 0 24px;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--color-border);border-radius:var(--portal-control-radius);list-style:none}.pc-release-flow li{display:grid;min-width:0;grid-template-columns:24px minmax(0,1fr);gap:9px;padding:14px;border-right:1px solid var(--color-border);background:var(--color-card)}.pc-release-flow li:last-child{border-right:0}.pc-release-flow>li>span{color:var(--color-faint);font-size:11px;font-weight:700}.pc-release-flow strong,.pc-release-flow small{display:block}.pc-release-flow strong{color:var(--color-fg);font-size:11px}.pc-release-flow small{margin-top:4px;color:var(--color-faint);font-size:11px;line-height:1.45}
.pc-map-actions{display:flex;align-items:center;gap:6px}.pc-map-actions button{min-width:58px;min-height:32px;padding:0 8px;border:1px solid var(--color-border);border-radius:var(--portal-control-radius);background:transparent;color:var(--color-primary);font-size:11px;font-weight:650;cursor:pointer}.pc-map-actions button:hover{border-color:var(--color-borderstrong);background:var(--color-card)}.pc-map-actions button.is-danger{color:#ff7d81}
.pc-danger{margin-top:24px;padding:20px 22px;border-radius:var(--portal-card-radius)}
.pc-create-dialog{width:min(460px,calc(100vw - 24px));max-width:none;max-height:none;margin:auto;padding:0;border:0;background:transparent;color:var(--color-fg)}.pc-create-dialog::backdrop{background:rgba(0,0,0,.74);backdrop-filter:blur(4px)}.pc-create-dialog__panel{display:grid;max-height:calc(100dvh - 24px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--color-borderstrong);border-radius:var(--portal-card-radius);background:var(--color-card);box-shadow:0 30px 90px rgba(0,0,0,.58)}.pc-create-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--color-border)}.pc-create-dialog__head strong{color:var(--color-fg);font:600 20px/1.2 'Bricolage Grotesque',sans-serif}.pc-create-dialog__head p{margin-top:5px;color:var(--color-mutedfg);font-size:11px}.pc-create-dialog__body{display:grid;gap:14px;overflow-y:auto;padding:20px}.pc-create-dialog__body label{display:grid;gap:7px;color:var(--color-mutedfg);font-size:11px;font-weight:650}.pc-create-dialog__body input{width:100%;height:44px;padding:0 12px;border:1px solid var(--color-border);background:var(--color-field);color:var(--color-fg);outline:0}.pc-create-dialog__actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--color-border)}

/* Users and access */
.admin-users-block{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--portal-card-radius);background:var(--color-bg)}.admin-sectionbar{min-height:68px;padding:13px 16px;border-bottom:1px solid var(--color-border);background:var(--color-card)}.admin-users-table{overflow:hidden;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none}.admin-users-table>div:not(:first-child){min-height:68px;padding-block:14px}.admin-users-table>div:not(:first-child):hover{background:var(--color-card)}.admin-users-table>div.is-banned{box-shadow:inset 2px 0 #ff6b70;background:rgba(255,107,112,.025)}
.admin-role,.admin-product-count{height:32px}.admin-product-count{width:108px;background:transparent}.admin-access-open{min-height:32px;padding:0 8px;border:1px solid transparent;border-radius:var(--portal-control-radius)}.admin-access-open:hover{border-color:var(--color-border);background:var(--color-card)}.admin-mobile-label,.admin-action-label{display:none}
.admin-pager{margin:0;padding:14px 16px;border-top:1px solid var(--color-border)}
.admin-access-modal{width:min(1040px,calc(100vw - 32px))}.admin-access-modal__panel{max-height:calc(100dvh - 32px);outline:0}.admin-access-modal__head{padding:20px}.admin-access-modal__body{gap:12px;padding:18px}.admin-access-product{border-radius:var(--portal-control-radius)}.admin-access-product__mark{border-radius:var(--portal-control-radius)}.admin-access-product__fields{grid-template-columns:150px 150px minmax(200px,1fr) 140px 140px;gap:12px;padding:14px}.admin-access-field>input{border-radius:var(--portal-control-radius)}.admin-access-toggle{border-radius:var(--portal-control-radius)}

/* Audit console */
.admin-console-logs{display:grid;height:clamp(460px,calc(100dvh - 280px),900px);min-height:0;max-height:none;grid-template-columns:220px minmax(0,1fr);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--portal-card-radius);background:var(--color-bg)}.admin-logs__files{border-right:1px solid var(--color-border);background:var(--color-card)}.admin-logs__files>header,.admin-logs__viewer>header{min-height:64px}.admin-logs__filelist>a{min-height:58px}.admin-logs__viewer{grid-template-rows:64px minmax(0,1fr) auto}.admin-logs__viewer pre{background:var(--color-bg)}.admin-audit-viewer{background:var(--color-bg)}.admin-audit-table__head{background:var(--color-card)}.admin-audit-table__row{grid-template-columns:1.2fr .85fr 1.2fr 1.4fr 1.45fr}.admin-audit-table__row>*{min-width:0;overflow-wrap:anywhere}.admin-audit-event strong,.admin-audit-event code{display:block}.admin-audit-event strong{color:var(--color-fg);font-size:11px}.admin-audit-event code{margin-top:3px;color:var(--color-faint);font-size:11px}.admin-audit-data summary{width:max-content;color:var(--color-primary);font-size:11px;font-weight:650;cursor:pointer;list-style:none}.admin-audit-data summary::-webkit-details-marker{display:none}.admin-audit-data[open] summary{margin-bottom:7px}.admin-audit-data code{display:block;max-width:100%;padding:7px;border:1px solid var(--color-border);border-radius:var(--portal-control-radius);background:var(--color-card);color:var(--color-mutedfg);font-size:11px;white-space:pre-wrap;word-break:break-word}.admin-audit-none{color:var(--color-faint);font-size:11px}.admin-audit-cards{display:none}.admin-log-tools{display:flex;align-items:center;gap:6px}.admin-log-tools :is(a,button){display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--portal-control-radius);background:transparent;color:var(--color-mutedfg);font-size:11px;font-weight:650;cursor:pointer}.admin-log-tools :is(a,button):hover{border-color:var(--color-borderstrong);color:var(--color-fg)}.admin-log-tools svg{width:12px;height:12px}.admin-logs__viewer pre.is-nowrap{white-space:pre;word-break:normal}.admin-audit-filter>input{border-radius:var(--portal-control-radius)}
.admin-security-filter{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr))}.admin-security-filter>input{width:auto}.admin-security-table__row{grid-template-columns:1.05fr .85fr 1fr 1.45fr 1.65fr}.admin-security-table__row strong>code,.admin-security-table__row>span>code{display:block;margin-top:3px;color:var(--color-faint);font-size:11px;font-weight:500}

@media(max-width:1180px){
  .pc-workspace{grid-template-columns:220px minmax(0,1fr)}.pc-summary__metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-access-product__fields{grid-template-columns:1fr 1fr 1.2fr}.admin-access-toggle,.admin-access-product__fields>.pw-btn{margin-top:0}.admin-access-product__fields>.pw-btn{grid-column:2/4}
  .admin-console-logs{height:auto;grid-template-columns:1fr}.admin-logs__files{max-height:250px;border-right:0;border-bottom:1px solid var(--color-border)}.admin-logs__viewer{min-height:520px}.admin-security-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-audit-table{display:none}.admin-audit-cards{display:grid;gap:1px;overflow-y:auto;background:var(--color-border)}.admin-audit-card{display:grid;gap:10px;padding:16px;background:var(--color-bg)}.admin-audit-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-audit-card header strong{color:var(--color-fg);font-size:11px}.admin-audit-card time{color:var(--color-faint);font-size:11px}.admin-audit-card dl{display:grid;grid-template-columns:80px minmax(0,1fr);gap:7px 12px}.admin-audit-card dt{color:var(--color-faint);font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.admin-audit-card dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--color-mutedfg);font-size:11px}.admin-audit-card dd>strong,.admin-audit-card dd>code{display:block}.admin-audit-card dd>code{margin-top:3px}.admin-audit-card code{font-size:11px}
}
@media(max-width:980px){
  
  .pc-workspace{grid-template-columns:1fr}.pc-rail{position:static;grid-template-columns:minmax(0,1fr) 240px}.pw-switcher.pc-product-list{grid-template-columns:repeat(3,minmax(0,1fr))}.pc-outline{align-content:start}.pc-release-flow{grid-template-columns:1fr 1fr}.pc-release-flow li:nth-child(2){border-right:0}.pc-release-flow li:nth-child(-n+2){border-bottom:1px solid var(--color-border)}
}
@media(max-width:767px){
  
  .portal-shell,.dash-shell,.set-shell,.admin-shell{padding-top:28px!important;padding-bottom:64px!important}.portal-pagehead{min-height:0;align-items:stretch;flex-direction:column;gap:22px;padding-bottom:24px}.portal-pagehead__identity,.portal-pagehead__state,.admin-console-role{width:100%;padding:14px 0 0;border-top:1px solid var(--color-border);border-left:0}.portal-pagehead h1{font-size:32px}.portal-section{margin-top:48px}.portal-section__head{align-items:flex-start;flex-direction:column}
  .dash-summary{grid-template-columns:1fr}.dash-summary>div{min-height:70px;border-right:0;border-bottom:1px solid var(--color-border)}.dash-summary>div:last-child{border-bottom:0}.dash-product__main{grid-template-columns:1fr}.dash-product__body,.dash-product__access{padding:22px}.dash-product__access{grid-column:auto;border-top:1px solid var(--color-border);border-left:0}.dash-release__entry{grid-template-columns:1fr;gap:10px}
  .admin-console-nav{margin-bottom:28px}.admin-console-nav>.portal-tab{flex:1;padding-inline:8px}.admin-pagehead{align-items:stretch;flex-direction:column}.admin-console-role{justify-content:flex-start}.admin-security-filter{grid-template-columns:1fr}
  .pc-rail{grid-template-columns:1fr}.pw-switcher.pc-product-list{grid-template-columns:1fr}.pc-summary__metrics{grid-template-columns:1fr 1fr}.pc-summary__metrics>div:nth-child(3){grid-column:auto;border-left:0}.pc-summary__metrics>div:nth-child(n+3){border-top:1px solid var(--color-border)}.pc-section{scroll-margin-top:120px}.pc-section__head{grid-template-columns:36px minmax(0,1fr)}.pc-section__head>.pw-btn,.pc-section__head>.pw-count,.pc-section__head>.pw-badge{grid-column:2;justify-self:start}.pc-formgrid,.pc-delivery-grid,.pc-media-add,.pc-release-new{grid-template-columns:1fr}.pc-plan-list>form,.pc-new-plan{grid-template-columns:1fr}.pc-plan-head{display:none}.pc-plan-field>span,.pc-mobile-label{display:block;color:var(--color-faint);font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.pc-map-table .pw-table__head{display:none}.pc-map-table .pw-table__row{grid-template-columns:1fr 1fr}.pc-map-table .pw-table__row>span:before{display:block;margin-bottom:4px;color:var(--color-faint);font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;content:attr(data-label)}
  .admin-users-table{display:block!important}.admin-users-table>div[role="row"]{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:18px!important}.admin-users-table>div:first-child{display:none!important}.admin-users-table [role="cell"]{display:grid!important;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:12px}.admin-users-table [role="cell"]:first-child{grid-template-columns:40px minmax(0,1fr)}.admin-users-table [role="cell"]:last-child{display:flex!important;justify-content:flex-start}.admin-mobile-label{display:block;color:var(--color-faint);font-size:11px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}.admin-action-label{display:inline}.admin-users-table [role="cell"] form .pw-iconbtn{width:auto;min-width:40px;padding:0 11px;gap:7px}
  .admin-access-product__fields{grid-template-columns:1fr 1fr}.admin-access-product__fields>.pw-btn{grid-column:1/-1}
}
@media(max-width:520px){
  
  .portal-pagehead h1{font-size:34px}.portal-section__head{padding:15px}.dash-product__topbar{align-items:flex-start;flex-direction:column}.dash-product__facts{grid-template-columns:1fr;gap:12px}.dash-product__facts>div,.dash-product__facts>div+div{padding:0 0 12px;border-right:0;border-bottom:1px solid var(--color-border)}.dash-product__facts>div:last-child{padding-bottom:0;border-bottom:0}.dash-download__controls{grid-template-columns:1fr}.dash-download__controls .pw-btn{width:100%}.dash-releases>summary{align-items:flex-start;flex-direction:column;gap:6px}
  .set-device__tag,.set-device__explanation,.set-password__form,.set-password__warning{padding:0}
  .pc-summary__identity{align-items:flex-start}.pc-summary__metrics{grid-template-columns:1fr}.pc-summary__metrics>div{border-top:1px solid var(--color-border);border-left:0}.pc-summary__metrics>div:first-child{border-top:0}.pc-section__head{grid-template-columns:1fr;padding:16px}.pc-section__head>.pw-btn,.pc-section__head>.pw-count,.pc-section__head>.pw-badge{grid-column:1;width:100%;justify-content:center}.pc-section__body{padding:16px}.pc-savebar{bottom:8px;flex-direction:column;align-items:stretch;margin-right:8px;margin-left:8px}.pc-savebar>.pw-btn{width:100%}.pc-release-flow{grid-template-columns:1fr}.pc-release-flow li{border-right:0;border-bottom:1px solid var(--color-border)}.pc-release-flow li:last-child{border-bottom:0}.pw-version-pair{grid-template-columns:1fr}.admin-users-table [role="cell"]{grid-template-columns:1fr;gap:5px}.admin-role,.admin-product-count,.admin-reset-count{justify-self:start;max-width:100%}.admin-mobile-label{margin-bottom:2px}.admin-access-product__fields{grid-template-columns:1fr}.admin-access-product__fields>.pw-btn{grid-column:auto}.admin-log-tools{flex-wrap:wrap}
}

@media(prefers-reduced-motion:reduce){.app-page *,.app-page *:before,.app-page *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.app-page .pw-btn:active{transform:none}}
@media(forced-colors:active){.portal-tab[aria-current="page"]{outline:1px solid Highlight;text-decoration:underline;text-underline-offset:4px}.dash-state:before,.set-device__status i{forced-color-adjust:auto}.pw-color [data-color-swatch],.pw-color__preview{forced-color-adjust:none;outline:1px solid CanvasText}.pw-color [data-color-swatch][aria-pressed="true"]{outline-width:3px}}

/* Authenticated system notices */
.portal-notice-page{display:grid;min-height:calc(100dvh - 80px);place-items:center}.portal-notice{display:grid;width:min(100%,680px);justify-items:start;padding:clamp(28px,5vw,56px);border:1px solid var(--color-border);border-radius:var(--portal-card-radius);background:var(--color-card)}.portal-notice>svg{width:30px;height:30px;margin:42px 0 24px;color:var(--color-primary);stroke-width:1.5}.portal-notice h1{max-width:540px;margin:0;font-size:clamp(34px,5vw,58px);font-weight:560;letter-spacing:-.045em;line-height:.98}.portal-notice p{max-width:520px;margin:20px 0 30px;color:var(--color-mutedfg);font-size:14px;line-height:1.75}

/* Final authenticated interaction and responsive contracts */
.admin-users-block{display:grid;gap:0}.admin-access-product.is-disabled .admin-access-field{opacity:1}.pw-color [data-color-swatch].is-selected{box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-fg)}.form-submit-status{grid-column:1/-1;align-self:center;color:var(--color-mutedfg);font-size:11px;font-weight:650;letter-spacing:.04em}.admin-access-product>.form-submit-status,.pw-media-item>.form-submit-status,.pc-release-list>form>.form-submit-status{display:block;padding:0 14px 12px}.pw-artifact>.form-submit-status{padding:0 14px 12px}.admin-log-tools [data-log-wrap][aria-pressed="true"]{border-color:color-mix(in oklab,var(--color-primary) 55%,var(--color-border));background:color-mix(in oklab,var(--color-primary) 12%,var(--color-card));color:var(--color-fg)}
.admin-audit-filter>.pw-btn{height:38px;min-height:38px}
@media(min-width:521px) and (max-width:767px){.admin-user-access-cell>:not(.admin-mobile-label),.admin-user-device-cell>:not(.admin-mobile-label){grid-column:2}}
@media(min-width:768px) and (max-width:1180px){.pc-plan-field>span{display:block;color:var(--color-faint);font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}}
@media(max-width:520px){.admin-users-table [role="cell"]:last-child{display:grid!important;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-users-table [role="cell"]:last-child>.admin-mobile-label{width:100%;grid-column:1/-1}.admin-users-table [role="cell"]:last-child>form,.admin-users-table [role="cell"]:last-child .pw-iconbtn{width:100%}.admin-users-table [role="cell"]:last-child>form:last-child:nth-child(even){grid-column:1/-1}.admin-logs__viewer{grid-template-rows:auto minmax(0,1fr) auto}.admin-logs__viewer>header{align-items:flex-start;flex-direction:column;gap:10px;padding-block:12px}.admin-log-tools{width:100%}.admin-log-tools>*{flex:1}.form-submit-status{grid-column:1/-1}}
@media(max-width:560px){.pc-summary__identity h2{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}}
@media(max-width:520px){.admin-log-tools :is(a,button){padding-inline:7px;white-space:nowrap}}
@media(max-width:420px){.admin-users-table [role="cell"] form .pw-iconbtn{gap:5px;padding-inline:6px;font-size:11px;line-height:1.1;white-space:nowrap}.admin-action-label{white-space:nowrap}}
@media(max-width:768px){.app-page :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),textarea){font-size:16px!important}}
