﻿.htmx-swapping{opacity:0;transition:opacity 140ms}
.abcrc-loading{position:relative}
.abcrc-loading::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--sky-500);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);z-index:5}
.abcrc-loading.htmx-request::before,.htmx-request .abcrc-loading::before{opacity:1}
.abcrc-toasts{position:fixed;right:var(--space-5);bottom:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);z-index:90}
.abcrc-toasts .abcrc-toast{animation:abcrc-pop var(--duration-slow) var(--ease-out)}
.abcrc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.ptn-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.ptn-grid--tight{gap:var(--space-4)}
.ptn-grid--stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.ptn-narrow{max-width:820px;margin-inline:auto}
.ptn-narrow--sm{max-width:640px;margin-inline:auto}
.ptn-form-grid{display:grid;gap:0 var(--space-4);grid-template-columns:1fr}
@media (min-width:640px){.ptn-form-grid{grid-template-columns:1fr 1fr}.ptn-form-grid .ptn-span-2{grid-column:span 2}}

.ptn-filters{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}
.ptn-filters .abcrc-search{min-width:260px;flex:1;max-width:420px}
.ptn-filterbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}
.ptn-filterbar .abcrc-field{margin-bottom:0;flex:1 1 100%}
@media (min-width:760px){.ptn-filterbar .abcrc-field{flex:1 1 160px}}
.abcrc-prose{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-body)}
.abcrc-prose h2{font-size:var(--text-h3);margin-top:var(--space-7)}
.abcrc-prose h3{font-size:var(--text-h4);margin-top:var(--space-6)}
.abcrc-prose img{border-radius:var(--radius-lg);margin:var(--space-6) 0}
.abcrc-prose blockquote{border-left:3px solid var(--blue-700);margin:var(--space-6) 0;padding-left:var(--space-5);color:var(--text-muted)}
.abcrc-prose table{width:100%;border-collapse:collapse;margin:var(--space-6) 0}
.abcrc-prose td,.abcrc-prose th{border:var(--rule);padding:var(--space-2) var(--space-3)}

.ptl{display:flex;min-height:100vh;background:var(--gray-100)}
.ptl__sidebar{width:252px;flex:none;background:var(--blue-900);color:#fff;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:var(--space-5) var(--space-4);overflow-y:auto}
.ptl__logo{display:block;padding:var(--space-2) var(--space-3) var(--space-6)}
.ptl__logo img{height:44px;width:auto}
.ptl__nav{display:flex;flex-direction:column;gap:2px}
.ptl__nav a,.ptl__nav button{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border-radius:6px;color:rgba(255,255,255,.72);font-family:var(--font-display);font-size:var(--text-base);font-weight:500;background:none;border:0;width:100%;text-align:left;cursor:pointer;transition:var(--transition-control)}
.ptl__nav a:hover,.ptl__nav button:hover{background:rgba(255,255,255,.08);color:#fff;text-decoration:none}
.ptl__nav a[aria-current="page"]{background:rgba(255,255,255,.14);color:#fff;font-weight:600}
.ptl__nav i{flex:none}
.ptl__pill{margin-left:auto;background:var(--gold-400);color:var(--ink);font-size:11px;line-height:1;border-radius:var(--radius-pill);padding:4px 8px;font-weight:700;font-family:var(--font-sans)}
.ptl__user{margin-top:auto;display:flex;gap:var(--space-3);align-items:center;padding:var(--space-5) var(--space-2) 0;border-top:1px solid rgba(255,255,255,.12);min-width:0}
.ptl__user strong{display:block;font-size:var(--text-sm);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptl__user span{display:block;font-size:var(--text-xs);color:rgba(255,255,255,.65)}
.ptl__main{flex:1;min-width:0;display:flex;flex-direction:column}
.ptl__topbar{position:sticky;top:0;z-index:30;background:#fff;box-shadow:var(--shadow-header);min-height:64px;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--gutter)}
.ptl__topbar h1{font-size:var(--text-h3);margin:0;flex:1;min-width:0;line-height:1.2}
.ptl__actions{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}
.ptl__content{padding:var(--space-7) var(--gutter) var(--space-11);flex:1}
.ptl__burger{display:none}
.ptl__scrim{display:none;position:fixed;inset:0;background:rgba(14,27,54,.5);backdrop-filter:blur(2px);z-index:55}
@media (max-width:1024px){
  .ptl__sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform var(--duration-slow) var(--ease-out);z-index:60;box-shadow:var(--shadow-lg)}
  .ptl__sidebar.is-open{transform:none}
  .ptl__scrim.is-open{display:block}
  .ptl__burger{display:inline-flex}
}
.ptn-two-col{display:grid;gap:var(--space-6);grid-template-columns:1fr;align-items:start}
@media (min-width:1024px){.ptn-two-col{grid-template-columns:1fr 320px}.ptn-two-col--balanced{grid-template-columns:1.4fr 1fr}.ptn-two-col--sticky > :last-child{position:sticky;top:80px}}
.ptn-stack{display:grid;gap:var(--space-5)}
.ptn-row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}
.ptn-row--between{justify-content:space-between}
.ptn-row--end{justify-content:flex-end}
.ptn-muted{color:var(--text-muted);font-size:var(--text-sm)}
.ptn-kv{display:grid;gap:var(--space-3)}
.ptn-kv > div{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm);border-bottom:var(--rule);padding-bottom:var(--space-3)}
.ptn-kv > div:last-child{border-bottom:0;padding-bottom:0}
.ptn-kv dt{color:var(--text-muted)}
.ptn-kv dd{margin:0;text-align:right;color:var(--text-body);font-weight:500}
.ptn-person{display:flex;align-items:center;gap:var(--space-3);min-width:0}
.ptn-person > div > strong{display:block;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptn-person > div > span{display:block;font-size:var(--text-xs);color:var(--text-muted)}
.ptn-table-actions{display:flex;gap:var(--space-1);justify-content:flex-end}
.abcrc-table td.ptn-cell-actions{text-align:right;white-space:nowrap}
.abcrc-table td.ptn-cell-nowrap{white-space:nowrap}
.ptn-dropzone{border:1px dashed var(--border-default);border-radius:var(--radius-lg);aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-2);background:var(--gray-50);color:var(--text-muted);position:relative;overflow:hidden;cursor:pointer;font-size:var(--text-sm)}
.ptn-dropzone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ptn-dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ptn-dropzone__label{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;background:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:var(--rule);color:var(--blue-700);font-weight:600}
.ptn-avatar-upload{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}
@media (max-width:720px){
  .abcrc-table--responsive thead{display:none}
  .abcrc-table--responsive tr{display:block;border-bottom:var(--rule);padding:var(--space-3) 0}
  .abcrc-table--responsive td{display:flex;gap:var(--space-3);padding:var(--space-1) var(--space-4);border:0;align-items:center}
  .abcrc-table--responsive td::before{content:attr(data-label);flex:0 0 38%;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--gray-600);font-weight:600}
  .abcrc-table--responsive td.ptn-cell-actions{justify-content:flex-start}
  .abcrc-table--responsive td.ptn-cell-actions::before{content:""}
}
.ptn-auth{min-height:100vh;background:var(--blue-50);display:flex;align-items:center;justify-content:center;padding:var(--gutter)}
.ptn-auth__card{width:min(440px,100%);background:#fff;border-radius:10px;box-shadow:var(--shadow-md);padding:var(--space-8) var(--space-7)}
.ptn-auth__logo{display:block;height:48px;width:auto;margin:0 auto var(--space-6)}
.ptn-auth__card h1{font-size:var(--text-h2);text-align:center;margin-bottom:var(--space-6)}
.ptn-auth__footer{margin-top:var(--space-6);padding-top:var(--space-5);border-top:var(--rule);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}
.ptn-auth__links{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);font-size:var(--text-sm)}
.ptn-steps{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-sm);font-family:var(--font-display);font-weight:500}
.ptn-steps__bar{flex:1;height:6px;background:var(--gray-150);border-radius:var(--radius-pill);overflow:hidden;min-width:80px}
.ptn-steps__fill{height:100%;background:var(--blue-700);border-radius:var(--radius-pill);transition:width var(--duration-slower) var(--ease-out)}
.ptn-ballot-list{display:grid;gap:var(--space-3)}
.abcrc-ballot input[type="radio"]{position:absolute;opacity:0;width:0;height:0}
.abcrc-ballot{position:relative}
.abcrc-ballot:focus-within{outline:2px solid var(--border-focus);outline-offset:2px}
.abcrc-ballot__body{flex:1;min-width:0;display:block}
.abcrc-ballot__number{font-family:var(--font-display);font-size:var(--text-h2);font-weight:700;color:var(--gray-300);flex:none;min-width:48px;text-align:right}
.abcrc-ballot[aria-pressed="true"] .abcrc-ballot__number{color:var(--blue-700)}
.abcrc-ballot--neutral{background:var(--gray-50)}
.abcrc-ballot__members{display:grid;gap:2px;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--gray-700)}
.abcrc-ballot__member{display:flex;flex-wrap:wrap;gap:0 var(--space-2)}
.abcrc-ballot__role{font-weight:600;color:var(--text-strong);min-width:140px}
.abcrc-ballot__proposal{display:block;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--gray-700);line-height:var(--leading-normal)}
.ptn-review{display:grid;gap:var(--space-3)}
.ptn-review__item{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;padding:var(--space-4);border:var(--rule);border-radius:var(--radius-lg);background:#fff}
.ptn-review__item strong{display:block;font-family:var(--font-display);color:var(--text-strong)}
.ptn-receipt{max-width:560px;margin-inline:auto;text-align:center}
.ptn-receipt__icon{width:72px;height:72px;border-radius:50%;background:var(--success-100);color:var(--success-500);display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-5)}
.ptn-code{font-family:var(--font-mono);font-size:var(--text-h3);font-weight:600;background:var(--gray-100);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);letter-spacing:.04em;color:var(--gray-900);margin:var(--space-6) 0}
.ptn-result-list{display:grid;gap:var(--space-5)}
.ptn-audit-changes{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--gray-700);white-space:pre-wrap;word-break:break-word;max-width:520px}
.ptn-candidacy-members{list-style:none;padding:0;margin:var(--space-2) 0 0;display:flex;flex-wrap:wrap;gap:var(--space-2)}
.ptn-candidacy-members li{font-size:var(--text-xs);background:var(--blue-50);color:var(--blue-800);border-radius:var(--radius-pill);padding:4px 10px}
.ptn-inline-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3)}
.ptn-status-line{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}
.ptn-tabs-panel{margin-top:var(--space-6)}
.ptn-error{text-align:center;padding:var(--space-11) var(--gutter)}
.ck.ck-editor__main>.ck-editor__editable{min-height:360px;border-radius:0 0 var(--radius-md) var(--radius-md);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed)}
.ck.ck-toolbar{background:var(--gray-50);border-color:var(--border-default);border-radius:var(--radius-md) var(--radius-md) 0 0}
.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{border-color:var(--border-focus);box-shadow:var(--focus-ring)}
.ck-content h2,.ck-content h3{color:var(--text-strong);font-family:var(--font-display)}
.ck.ck-balloon-panel.ck-powered-by-balloon{display:none!important}
@media print{
  .ptl__sidebar,.ptl__topbar,.ptl__scrim,.abcrc-toasts,.no-print{display:none!important}
  .ptl,.ptl__content{background:#fff;padding:0}
  body{background:#fff}
}
.ptn-form-grid--3 .ptn-span-3{grid-column:1 / -1}
@media (min-width:640px){.ptn-form-grid--3 .ptn-span-2{grid-column:span 2}}
@media (min-width:900px){.ptn-form-grid--3{grid-template-columns:1fr 1fr 1fr}}
.ptn-file{padding-top:9px;cursor:pointer}
.ptn-doc{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3);border:var(--rule);border-radius:var(--radius-md);background:#fff}
.ptn-doc > i,.ptn-doc > svg{color:var(--blue-700);flex:none}
.ptn-track-box{display:grid;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);background:var(--blue-50);font-size:var(--text-sm);color:var(--gray-800)}
.ptn-track-box > strong{color:var(--blue-800);font-family:var(--font-display)}

.ptn-fee-summary{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.ptn-fee-summary > div{padding:var(--space-3) var(--space-4);border:var(--rule);border-radius:var(--radius-md);background:var(--gray-50);min-width:0}
.ptn-fee-summary span{display:block;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.ptn-fee-summary strong{display:block;font-family:var(--font-display);font-size:var(--text-h4);color:var(--gray-900);overflow-wrap:anywhere}
.ptn-fee-summary strong.is-due{color:var(--warning-700)}
.ptn-fee-summary strong.is-paid{color:var(--success-700)}
.ptn-brands{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}
.ptn-brand{display:inline-flex;align-items:center;padding:4px 10px;border:var(--rule);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;color:var(--text-muted);background:#fff;opacity:.55;transition:opacity .15s,border-color .15s}
.ptn-brand.is-active{opacity:1;border-color:var(--blue-700);color:var(--blue-800);background:var(--blue-50)}
.ptn-expiry{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.ptn-secure{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--text-xs);color:var(--text-muted);max-width:420px}
.ptn-secure > i,.ptn-secure > svg{flex:none;color:var(--success-500)}
.ptn-courtesy{padding:var(--space-3) var(--space-4);border:1px solid var(--warning-500);background:var(--warning-100);border-radius:var(--radius-md);margin-bottom:var(--space-5)}
.ptn-courtesy .abcrc-choice{margin:0}
form[data-submit-once] button[aria-busy="true"]{opacity:.7;pointer-events:none}
.ptn-plans{border:var(--rule);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-5);display:grid;gap:var(--space-2)}
.ptn-plans legend{padding:0 var(--space-2)}
.ptn-plans .abcrc-choice{margin:0}
.ptn-timeline{list-style:none;margin:0;padding:var(--space-2) var(--space-5);max-height:480px;overflow-y:auto}
.ptn-timeline li{padding:var(--space-3) 0;border-bottom:1px solid var(--gray-100);font-size:var(--text-sm)}
.ptn-timeline li:last-child{border-bottom:0}
.ptn-timeline__when{display:block;font-size:var(--text-xs);color:var(--gray-500)}
.ptn-voucher-usage td{background:var(--gray-50);padding-top:var(--space-2);padding-bottom:var(--space-3);font-size:var(--text-sm)}
.ptn-voucher-usage__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}
.ptn-voucher-usage__list li{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.ptn-voucher-usage__list--muted{margin-top:var(--space-2);color:var(--gray-500)}
.ptn-picker{display:grid;gap:var(--space-3)}
.ptn-picker__frame{position:relative;border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:var(--gray-50);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--text-muted);font-size:var(--text-sm)}
.ptn-picker--wide .ptn-picker__frame{aspect-ratio:16/10}
.ptn-picker--banner .ptn-picker__frame{aspect-ratio:12/5}
.ptn-picker--square .ptn-picker__frame{aspect-ratio:1}
.ptn-picker--logo .ptn-picker__frame{aspect-ratio:16/7;background:#fff}
.ptn-picker--logo-dark .ptn-picker__frame{aspect-ratio:16/7;background:var(--blue-900)}
.ptn-picker__frame img{width:100%;height:100%;object-fit:cover;display:block}
.ptn-picker--logo .ptn-picker__frame img,.ptn-picker--logo-dark .ptn-picker__frame img,.ptn-picker--square .ptn-picker__frame img{object-fit:contain;padding:var(--space-3)}
.ptn-picker__empty{display:inline-flex;align-items:center;gap:6px}
.ptn-picker__frame [hidden]{display:none}
.ptn-picker__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}
.ptn-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-4)}
.ptn-media{border:var(--rule);border-radius:var(--radius-lg);background:#fff;overflow:hidden;display:flex;flex-direction:column;padding:0;text-align:left}
.ptn-media__thumb{aspect-ratio:4/3;background:var(--gray-100);display:block}
.ptn-media__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ptn-media__body{padding:var(--space-3);display:grid;gap:2px;min-width:0}
.ptn-media__title{font-weight:600;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ptn-media__meta{font-size:var(--text-xs);color:var(--text-muted)}
.ptn-media__actions{display:flex;gap:var(--space-1);padding:0 var(--space-3) var(--space-3);margin-top:auto}
button.ptn-media{cursor:pointer;font:inherit;transition:var(--transition-card)}
button.ptn-media:hover,button.ptn-media:focus-visible{border-color:var(--border-brand);box-shadow:var(--shadow-sm)}
.ptn-media-upload{display:grid;gap:var(--space-3);padding:var(--space-4);border:var(--rule);border-radius:var(--radius-lg);background:var(--surface-subtle);margin-bottom:var(--space-5)}
.ptn-dropzone--multi{aspect-ratio:auto;min-height:132px;padding:var(--space-5);text-align:center}
.ptn-dropzone--multi [data-file-count]{position:relative;z-index:1;max-width:46ch}
.ptn-doc-current{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3);border:var(--rule);border-radius:var(--radius-md);background:var(--gray-50);margin-bottom:var(--space-2);font-size:var(--text-sm)}
.ptn-doc-current > i,.ptn-doc-current > svg{color:var(--blue-700);flex:none}
.ptn-doc-current .abcrc-choice{margin:0 0 0 auto}
.ptn-gallery-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.ptn-gallery-link strong{display:block;font-family:var(--font-display);color:var(--text-strong)}
.ptn-content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-5)}
.ptn-content{display:flex;flex-direction:column;border:var(--rule);border-radius:var(--radius-lg);background:#fff;overflow:hidden;color:var(--text-body);text-decoration:none;transition:var(--transition-card)}
.ptn-content:hover{border-color:var(--border-brand);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--text-body)}
.ptn-content__thumb{position:relative;aspect-ratio:16/9;background:var(--blue-900);display:grid;place-items:center;overflow:hidden}
.ptn-content__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}
.ptn-content__play{position:relative;width:52px;height:52px;border-radius:50%;background:var(--gold-400);color:var(--blue-950);display:grid;place-items:center}
.ptn-content__body{padding:var(--space-4);display:grid;gap:var(--space-1)}
.ptn-content__body strong{font-family:var(--font-display);color:var(--text-strong);line-height:1.25}
.ptn-message{white-space:pre-wrap;line-height:var(--leading-relaxed)}
.ptn-row-unread td{background:var(--blue-50)}
.ptn-color{display:flex;gap:var(--space-2);align-items:center}
.ptn-color input[type="color"]{width:48px;height:var(--control-h-md);padding:3px;border:var(--border-width) solid var(--border-default);border-radius:var(--radius-control);background:#fff;cursor:pointer;flex:none}
.ptn-color input[type="color"]::-webkit-color-swatch-wrapper{padding:0}
.ptn-color input[type="color"]::-webkit-color-swatch{border:0;border-radius:4px}
.ptn-swatches{display:inline-flex;align-items:center;gap:4px}
.ptn-swatches i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block}
.ptn-swatches .ptn-muted{margin-left:6px}
.ptn-theme-preview{border:var(--rule);border-radius:var(--radius-lg);overflow:hidden;margin-top:var(--space-2)}
.ptn-theme-preview__hero{background:var(--ev-primary);color:#fff;padding:var(--space-6);font-family:var(--ev-sans)}
.ptn-theme-preview__pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 8px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);font-size:12px;font-weight:600}
.ptn-theme-preview__pill i{width:8px;height:8px;border-radius:50%;background:var(--ev-accent)}
.ptn-theme-preview__hero h3{font-family:var(--ev-display);color:#fff;font-size:26px;line-height:1.1;margin:14px 0 8px;letter-spacing:-.02em}
.ptn-theme-preview__hero p{margin:0 0 16px;color:rgba(255,255,255,.75);font-size:14px}
.ptn-theme-preview__btn{display:inline-block;padding:10px 16px;border-radius:10px;font-weight:600;font-size:13px;background:var(--ev-accent);color:var(--ev-on-accent)}
.ptn-theme-preview__btn--ghost{background:rgba(255,255,255,.1);color:#fff;margin-left:8px}
.ptn-theme-preview__body{padding:var(--space-5) var(--space-6);background:#fff;font-family:var(--ev-sans)}
.ptn-theme-preview__tag{display:inline-block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--ev-secondary) 10%,#fff);color:var(--ev-secondary)}
.ptn-theme-preview__body h4{font-family:var(--ev-display);color:var(--ev-primary);margin:10px 0 6px;font-size:18px}
.ptn-theme-preview__body p{margin:0;font-size:14px;color:var(--gray-700)}
.ptn-theme-preview__body a{color:var(--ev-secondary);font-weight:600}
.ptn-savebar{position:fixed;left:50%;bottom:var(--space-5);transform:translateX(-50%);z-index:85;display:flex;align-items:center;gap:var(--space-5);width:max-content;max-width:calc(100vw - 2 * var(--gutter));background:var(--blue-950);color:rgba(255,255,255,.8);border-radius:var(--radius-md);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);box-shadow:var(--shadow-lg);font-size:var(--text-sm);animation:abcrc-pop var(--duration-slow) var(--ease-out)}
.ptn-savebar[hidden]{display:none}
.ptn-savebar strong{display:block;color:#fff;font-family:var(--font-display)}
.ptn-savebar__actions{display:flex;gap:var(--space-2);flex:none}
.ptn-savebar .abcrc-btn--ghost{color:#fff}
.ptn-savebar .abcrc-btn--ghost:hover{background:rgba(255,255,255,.12);color:#fff}
@media (max-width:640px){.ptn-savebar{flex-direction:column;align-items:stretch;text-align:center;left:var(--gutter);right:var(--gutter);transform:none;width:auto}.ptn-savebar__actions{justify-content:center}}
.ptn-counter{display:block;font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1);text-align:right}
.ptn-counter--warn{color:var(--warning-700,#b45309)}
.ptn-counter--over{color:var(--danger-700,#b91c1c)}
.ptn-access{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--gray-300);border-radius:var(--radius-lg);background:var(--gray-50);margin-bottom:var(--space-5)}
.ptn-access--on{border-color:var(--blue-700);background:var(--blue-50)}
.ptn-access .abcrc-switch{font-weight:600;color:var(--text-strong)}
.ptn-seo{display:grid;gap:var(--space-4)}
.ptn-seo__score{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--rule);border-radius:var(--radius-lg)}
.ptn-seo__score strong{display:block;color:var(--text-strong)}
.ptn-seo__dot{width:14px;height:14px;border-radius:50%;background:var(--gray-400);flex:none}
.ptn-seo__dot[data-state="good"]{background:#16a34a}
.ptn-seo__dot[data-state="warn"]{background:#f59e0b}
.ptn-seo__dot[data-state="bad"]{background:#dc2626}
.ptn-seo__preview{display:grid;gap:2px;padding:var(--space-4);border:var(--rule);border-radius:var(--radius-lg);background:#fff;font-family:Arial,sans-serif}
.ptn-seo__site{font-size:14px;color:#202124}
.ptn-seo__url{font-size:12px;color:#4d5156;word-break:break-all}
.ptn-seo__title{font-size:20px;color:#1a0dab;line-height:1.3;margin-top:4px}
.ptn-seo__desc{font-size:14px;color:#4d5156;line-height:1.5}
.ptn-seo__checks{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}
.ptn-seo__check{position:relative;padding-left:22px;font-size:var(--text-sm);color:var(--text-body)}
.ptn-seo__check::before{content:"";position:absolute;left:0;top:5px;width:12px;height:12px;border-radius:50%;background:var(--gray-400)}
.ptn-seo__check--good::before{background:#16a34a}
.ptn-seo__check--warn::before{background:#f59e0b}
.ptn-seo__check--bad::before{background:#dc2626}
.ptl__group{display:flex;flex-direction:column}
.ptl__group summary{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border-radius:6px;color:rgba(255,255,255,.72);font-family:var(--font-display);font-size:var(--text-sm);cursor:pointer;list-style:none;user-select:none}
.ptl__group summary::-webkit-details-marker{display:none}
.ptl__group summary:hover{background:rgba(255,255,255,.08);color:#fff}
.ptl__group summary:focus-visible{outline:2px solid var(--gold-400);outline-offset:2px}
.ptl__group summary > span:first-of-type{flex:1;min-width:0}
.ptl__group[open] > summary{color:#fff}
.ptl__group[open] > summary .ptl__pill{display:none}
.ptl__chevron{flex:none;opacity:.6;transition:transform .15s ease}
.ptl__group[open] .ptl__chevron{transform:rotate(180deg)}
.ptl__sub{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px var(--space-5);padding-left:var(--space-2);border-left:1px solid rgba(255,255,255,.14)}
.ptl__sub a{min-height:38px}
.ptn-drops{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.ptn-drop{position:relative;display:grid;justify-items:center;align-content:center;gap:var(--space-2);min-height:220px;padding:var(--space-6) var(--space-4);border:2px dashed var(--gray-300);border-radius:var(--radius-lg);background:var(--gray-50);text-align:center;color:var(--blue-700);transition:border-color .15s ease,background .15s ease}
.ptn-drop:hover,.ptn-drop--over,.ptn-drop:focus-within{border-color:var(--blue-700);background:var(--blue-50)}
.ptn-drop--filled{border-style:solid;border-color:var(--success-500);background:var(--success-100)}
.ptn-drop--picked{border-style:solid;border-color:var(--blue-700);background:var(--blue-50)}
.ptn-drop strong{color:var(--text-strong);font-size:var(--text-base)}
.ptn-drop__hint{font-size:var(--text-sm);color:var(--text-muted);word-break:break-word}
.ptn-drop__flag{position:absolute;top:var(--space-3);left:var(--space-3);padding:2px 8px;border-radius:var(--radius-pill);background:var(--blue-700);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em}
.ptn-drop input[type="file"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ptn-drop__current{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;justify-content:center;margin-top:var(--space-2);font-size:var(--text-sm)}
.ptn-drop__current a{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.ptn-drop__current .abcrc-choice{margin:0}
.ptn-drop .abcrc-field__error{position:relative;z-index:1}
.ptn-more{border-top:var(--rule);padding-top:var(--space-4)}
.ptn-more summary{cursor:pointer;font-weight:600;color:var(--blue-700);font-size:var(--text-sm);margin-bottom:var(--space-4)}
.ptn-issues{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.ptn-issue{display:grid;grid-template-columns:72px 1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-4);background:var(--white);border:var(--rule);border-radius:var(--radius-lg)}
.ptn-issue__cover{position:relative;display:grid;place-items:end start;width:72px;aspect-ratio:3/4;border-radius:var(--radius-md);overflow:hidden;background:var(--blue-950);color:#fff;text-decoration:none}
.ptn-issue__cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.ptn-issue__cover span{position:relative;padding:6px;font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);line-height:1}
.ptn-issue__body{display:grid;gap:4px;min-width:0}
.ptn-issue__title{font-weight:600;color:var(--gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ptn-issue__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ptn-tabs{display:grid;gap:var(--space-5);min-width:0}
.ptn-tabs > .abcrc-tabs{overflow-x:auto;flex-wrap:nowrap}
.ptn-tabs > .abcrc-tabs .abcrc-tab{white-space:nowrap}
.ptn-tabs .ptl__pill{margin-left:6px}
.ptn-tabpanel{min-width:0}
.ptn-tabpanel[hidden]{display:none}
.ptn-cards-2{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start}
.ptn-cards-2 .ptn-kv dd{min-width:0;overflow-wrap:anywhere}
.ptn-cards-2 .ptn-row{flex-wrap:wrap}
.ptn-statcard-link{display:block;color:inherit;text-decoration:none;transition:box-shadow .15s,border-color .15s}
.ptn-statcard-link:hover{box-shadow:0 2px 10px rgba(15,35,70,.10)}
.ptn-statcard-link:focus-visible{outline:2px solid var(--blue-700);outline-offset:2px}
.ptn-statcard-link.is-selected{background:var(--blue-50,#eef4fb);border-color:var(--blue-700)}
.ptn-sort{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none;white-space:nowrap}
.ptn-sort:hover{text-decoration:underline}
.ptn-sort abcrc-icon{opacity:.45}
th[aria-sort] .ptn-sort abcrc-icon{opacity:1}
.ptn-checks{border:0;padding:0;margin:0;display:grid;gap:var(--space-2)}
.ptn-checks legend{font-weight:600;font-size:var(--text-sm);color:var(--text-strong);margin-bottom:var(--space-2)}
.ptn-checks label,.ptn-checks__single{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm)}
.ptn-checks input,.ptn-checks__single input{margin-top:3px}
.ptn-audience{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-card);background:var(--blue-50);color:var(--blue-800);font-size:var(--text-sm)}
.ptn-progress{height:8px;border-radius:999px;background:var(--gray-100,#eef0f3);overflow:hidden}
.ptn-progress span{display:block;height:100%;background:var(--success-500);transition:width .4s}
.ptn-library-tabs{overflow-x:auto;flex-wrap:nowrap;margin-bottom:var(--space-5)}
.ptn-library-tabs .abcrc-tab{white-space:nowrap}
.ptn-library-tabs .ptl__pill{margin-left:6px}
.ptn-content__thumb--meeting{background:linear-gradient(135deg,var(--blue-900),var(--blue-700))}
.ptn-reader{max-width:960px;display:grid;gap:var(--space-4)}
.ptn-reader__lede{margin:0;font-size:var(--text-lg);color:var(--text-body)}
.ptn-section-title{margin:0;font-size:var(--text-h4);font-family:var(--font-display);color:var(--text-strong)}
.ptn-meetings{display:grid;gap:var(--space-4)}
.ptn-meeting{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:var(--space-5);align-items:center;padding:var(--space-5)}
.ptn-meeting__date{display:grid;place-items:center;align-content:center;width:72px;height:72px;border-radius:var(--radius-lg);background:var(--blue-950);color:#fff;text-align:center;line-height:1}
.ptn-meeting__date strong{font-family:var(--font-display);font-size:28px}
.ptn-meeting__date span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;color:var(--gold-400)}
.ptn-meeting__body h3{margin:0;font-size:var(--text-h5,1.125rem)}
.ptn-meeting__body p{margin:var(--space-1) 0 0}
.ptn-meeting__desc{margin-top:var(--space-2);font-size:var(--text-sm)}
.ptn-meeting__desc > :last-child{margin-bottom:0}
.ptn-content.is-locked .ptn-content__play{background:var(--gray-200);color:var(--gray-600)}
@media(max-width:720px){
  .ptn-meeting{grid-template-columns:56px minmax(0,1fr);gap:var(--space-4)}
  .ptn-meeting__date{width:56px;height:56px}
  .ptn-meeting__date strong{font-size:22px}
  .ptn-meeting__action{grid-column:1 / -1}
}
.btn-wpp {
  width: 100%;
  padding: .7rem;
  background: #fff;
  color: #15803d;
  border: 1.5px solid #86efac;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font);
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  text-decoration: none;
  transition: all var(--transition);
  box-sizing: border-box;
  margin-top: 8px;
}
.btn-wpp-fab {
  width: 56px;
  height: 56px;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .25) !important;
  background-color: #25D366;
  color: #fff;
  border: none;
}
.wpp-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1050;
}
