/* Parent notifications — compact tactile admin surface. */
.pn-admin{display:grid;gap:18px;}.pn-admin .ad-surface{border-radius:26px;}.pn-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;}.pn-hero h2,.pn-config h3,.pn-log h3{margin:4px 0 7px;font-size:22px;line-height:1.12;}.pn-hero p,.pn-config p,.pn-log p{margin:0;color:var(--a2-legacy-text-secondary,var(--ad-muted,#6d8087));}.pn-mode-badge{flex:none;padding:10px 14px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.08em;background:var(--a2-legacy-danger-soft,rgba(120,130,140,.1));color:var(--a2-legacy-danger,var(--ad-muted,#667b83));box-shadow:var(--a2-legacy-shadow-inset,inset 0 0 0 1px rgba(100,120,130,.12));}.pn-mode-badge.is-dry{background:var(--a2-legacy-danger-soft,rgba(4,154,148,.12));color:var(--a2-legacy-danger,#087c79);box-shadow:var(--a2-legacy-shadow-inset,inset 0 0 0 1px rgba(4,154,148,.18));}.pn-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}.pn-metrics article{padding:16px 17px;border-radius:20px;background:var(--a2-legacy-surface,var(--ad-surface,#fff));box-shadow:var(--a2-legacy-shadow-control,0 12px 28px -22px rgba(18,46,52,.55),inset 0 0 0 1px rgba(86,112,120,.08));}.pn-metrics span{display:block;color:var(--a2-legacy-text,var(--ad-muted,#6d8087));font-size:12px;min-height:30px;}.pn-metrics b{display:block;margin-top:4px;font-size:26px;}.pn-config,.pn-log{padding:22px;}.pn-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;}.pn-segment{display:flex;padding:4px;border-radius:16px;background:var(--a2-legacy-surface-well,rgba(101,125,132,.09));box-shadow:var(--a2-legacy-shadow-inset,inset 0 2px 7px rgba(24,50,56,.08));}.pn-segment button{border:0;background:transparent;border-radius:12px;padding:9px 14px;font:inherit;font-weight:750;color:var(--a2-legacy-text,var(--ad-muted,#60747c));cursor:pointer;}.pn-segment button[aria-pressed="true"]{background:var(--a2-legacy-accent-soft,var(--ad-surface,#fff));color:var(--a2-legacy-accent,#087f7d);box-shadow:var(--a2-legacy-shadow-control,0 5px 14px -8px rgba(18,49,56,.6),inset 0 0 0 1px rgba(32,137,134,.1));}.pn-rules{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;}.pn-rules span{padding:8px 11px;border-radius:999px;background:var(--a2-legacy-surface-well,rgba(86,111,120,.07));font-size:12px;color:var(--a2-legacy-text,var(--ad-muted,#62767d));}.pn-rules b{color:var(--a2-legacy-accent,var(--ad-text,#17343d));}.pn-groups-head{display:flex;justify-content:space-between;align-items:center;margin:20px 0 10px;}.pn-groups-head span{font-size:12px;color:var(--a2-legacy-text,var(--ad-muted,#6d8087));}.pn-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}.pn-group{display:flex;align-items:center;justify-content:space-between;text-align:left;border:0;border-radius:18px;padding:13px 14px;background:var(--a2-legacy-surface-well,rgba(89,113,121,.065));color:inherit;cursor:pointer;box-shadow:var(--a2-legacy-shadow-inset,inset 0 0 0 1px rgba(83,108,116,.07));}.pn-group span{display:grid;gap:3px;}.pn-group small{color:var(--a2-legacy-text-secondary,var(--ad-muted,#6c7d84));font-size:11px;}.pn-group i{display:grid;place-items:center;width:30px;height:30px;border-radius:11px;font-style:normal;font-weight:850;background:var(--a2-legacy-surface-well,rgba(94,117,125,.08));color:var(--a2-legacy-text,#698087);}.pn-group.is-selected{background:var(--a2-legacy-field,rgba(0,145,142,.095));box-shadow:var(--a2-legacy-shadow-control,inset 0 0 0 1px rgba(0,145,142,.19),0 10px 22px -20px rgba(0,100,100,.7));}.pn-group.is-selected i{background:var(--a2-legacy-accent,#0c9995);color:var(--a2-legacy-ink,#fff);}.pn-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}.pn-actions button,.pn-log [data-refresh]{border:0;border-radius:14px;padding:10px 14px;font:inherit;font-weight:750;cursor:pointer;background:var(--a2-legacy-surface,rgba(93,116,123,.08));color:inherit;}.pn-actions .pn-primary{background:var(--av-primary-gradient);color:var(--av-primary-ink);box-shadow:var(--av-shadow-primary);}.pn-actions .pn-danger{color:var(--a2-legacy-danger,#ad4b47);background:var(--a2-legacy-danger-soft,rgba(190,72,65,.08));}.pn-actions button:disabled{opacity:.42;cursor:not-allowed;}.pn-journal{display:grid;gap:9px;margin-top:17px;}.pn-event{padding:13px 15px;border-radius:17px;background:var(--a2-legacy-surface-well,rgba(91,114,121,.055));box-shadow:var(--a2-legacy-shadow-inset,inset 3px 0 0 rgba(105,128,135,.22));}.pn-event.is-send{background:var(--a2-legacy-success-soft,rgba(0,145,142,.07));box-shadow:var(--a2-legacy-shadow-inset,inset 3px 0 0 rgba(0,145,142,.72));}.pn-event.is-cancel{background:var(--a2-legacy-surface-well,rgba(85,117,128,.055));box-shadow:var(--a2-legacy-shadow-inset,inset 3px 0 0 rgba(97,124,133,.38));}.pn-event.is-suppress{background:var(--a2-legacy-warning-soft,rgba(194,132,50,.07));box-shadow:var(--a2-legacy-shadow-inset,inset 3px 0 0 rgba(194,132,50,.62));}.pn-event-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px;}.pn-event-top span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:var(--a2-legacy-accent,#118783);}.pn-event-top time,.pn-event small{font-size:11px;color:var(--a2-legacy-text-secondary,var(--ad-muted,#718289));}.pn-event>b{font-size:14px;}.pn-event p{margin:4px 0!important;font-size:13px;color:var(--a2-legacy-text-secondary,var(--ad-text,#24404a))!important;}.pn-empty,.pn-empty-log{color:var(--a2-legacy-text,var(--ad-muted,#718289));}.pn-empty-log{display:grid;gap:5px;padding:24px;text-align:center;border-radius:18px;background:var(--a2-legacy-surface-well,rgba(90,115,123,.045));}.pn-admin.is-busy{opacity:.72;pointer-events:none;}.pn-loading{padding:24px;}
body.theme-dark .pn-mode-badge.is-dry{color:var(--a2-legacy-danger,#73ddd5);background:var(--a2-legacy-danger-soft,rgba(57,201,191,.12));}body.theme-dark .pn-group.is-selected{background:var(--a2-legacy-field,rgba(54,199,190,.11));}body.theme-dark .pn-group.is-selected i{background:var(--a2-legacy-accent,#2cb9b1);color:var(--a2-legacy-ink,#062623);}body.theme-dark .pn-event p{color:var(--a2-legacy-text-secondary,#dbe9eb)!important;}
@media(max-width:900px){.pn-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.pn-groups{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.pn-hero,.pn-section-head{display:grid;}.pn-mode-badge{justify-self:start;}.pn-metrics{grid-template-columns:1fr 1fr;}.pn-groups{grid-template-columns:1fr;}.pn-actions{display:grid;}.pn-actions button{width:100%;}}
.pn-mode-badge.is-live{background:var(--a2-legacy-danger-soft,rgba(198,70,62,.10));color:var(--a2-legacy-danger,#b14842);box-shadow:var(--a2-legacy-shadow-inset,inset 0 0 0 1px rgba(198,70,62,.16));}
body.theme-dark .pn-mode-badge.is-live{color:var(--a2-legacy-danger,#ffaaa4);background:var(--a2-legacy-danger-soft,rgba(220,84,77,.13));}
/* RC29 — visible delivery failures in the owner dashboard. */
.pn-metrics{grid-template-columns:repeat(6,minmax(0,1fr));}.pn-metrics article.is-warning{background:var(--a2-legacy-warning-soft,rgba(194,132,50,.075));box-shadow:var(--a2-legacy-shadow-control,0 12px 28px -22px rgba(18,46,52,.55),inset 0 0 0 1px rgba(194,132,50,.18));}.pn-metrics article.is-warning b{color:var(--a2-legacy-warning,#a96e16);}.pn-metrics article small{display:block;margin-top:2px;font-size:10px;line-height:1.25;color:var(--a2-legacy-text-secondary,var(--ad-muted,#718289));}
@media(max-width:1180px){.pn-metrics{grid-template-columns:repeat(3,minmax(0,1fr));}}

.pn-production{padding:20px;color:var(--a2-text,var(--av-text-primary))}.pn-production header{display:flex;align-items:start;justify-content:space-between;gap:12px}.pn-production h2{margin:4px 0}.pn-production p{font-size:13px;line-height:1.5;color:var(--a2-muted,var(--av-text-secondary))}.pn-production dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.pn-production-metric{padding:12px;border-radius:14px;background:var(--a2-well,var(--av-well));border:1px solid var(--a2-border,var(--av-border-subtle));box-shadow:var(--av-shadow-well);}.pn-production dt{font-size:12px}.pn-production dd{margin:5px 0 0;font-size:24px;font-weight:650}.pn-production footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px}.pn-summary-note{font-size:11px!important}@media(max-width:640px){.pn-production{padding:16px}.pn-production header{flex-wrap:wrap}.pn-production dl{gap:8px}.pn-production-metric{padding:10px;box-shadow:var(--av-shadow-well);}}

.pn-production-controls{margin-top:20px;padding-top:18px;border-top:1px solid var(--av-divider)}.pn-production-controls h3{margin:0 0 12px;font-size:18px}.pn-production-controls h4{margin:18px 0 12px;font-size:14px}.pn-enabled{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}.pn-enabled input{width:20px;height:20px;accent-color:var(--av-accent)}.pn-controls-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.pn-controls-footer button{min-height:44px;padding:10px 18px}.pn-controls-footer [role=status]{font-size:12px;color:var(--av-text-secondary)}

/* RC26 — owner emergency revoke without taking over parent push preferences. */
.pn-production-access{margin-top:20px;padding-top:18px;border-top:1px solid var(--av-divider)}.pn-production-access h3{margin:0 0 4px;font-size:18px}.pn-access-list{display:grid;margin-top:10px}.pn-access-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--av-divider)}.pn-access-list article:first-child{border-top:0}.pn-access-list article>div{display:grid;gap:3px;min-width:0}.pn-access-list b{font-size:13px;color:var(--av-text-primary)}.pn-access-list small{font-size:11.5px;color:var(--av-text-secondary)}.pn-access-revoke{min-height:40px;color:var(--av-danger)!important;background:color-mix(in srgb,var(--av-danger) 8%,var(--av-surface-1))!important;border-color:color-mix(in srgb,var(--av-danger) 18%,transparent)!important;box-shadow:none!important}@media(max-width:640px){.pn-access-list article{grid-template-columns:1fr}.pn-access-revoke{width:100%}}
