/* Genesis P42 — Concrete human authority ledger */
.p42-authority-section{padding:110px 0;background:linear-gradient(180deg,var(--c-paper),color-mix(in srgb,var(--c-green) 5%,var(--c-paper)));position:relative;overflow:hidden}
.p42-authority-section:before{content:"";position:absolute;inset-inline-start:-220px;top:90px;width:470px;height:470px;border:1px solid color-mix(in srgb,var(--c-green) 16%,transparent);border-radius:50%;box-shadow:0 0 0 60px color-mix(in srgb,var(--c-green) 3%,transparent),0 0 0 120px color-mix(in srgb,var(--c-green) 2%,transparent);pointer-events:none}
.p42-ledger{position:relative;display:grid;grid-template-columns:minmax(245px,.68fr) minmax(0,1.7fr);gap:22px;margin-top:42px}
.p42-role-tabs{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--c-line);border-radius:26px;background:color-mix(in srgb,var(--c-paper) 86%,transparent);box-shadow:var(--c-shadow)}
.p42-role-tab{appearance:none;display:grid;grid-template-columns:42px 1fr;gap:12px;width:100%;padding:17px;border:1px solid transparent;border-radius:18px;background:transparent;color:var(--c-ink);text-align:start;font:inherit;cursor:pointer;transition:.2s ease}
.p42-role-tab>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--c-soft);color:var(--c-green);font-size:.72rem;font-weight:950;letter-spacing:.08em}.p42-role-tab strong{font-size:.97rem;line-height:1.25}.p42-role-tab small{color:var(--c-muted);line-height:1.42}
.p42-role-tab:hover,.p42-role-tab:focus-visible{border-color:color-mix(in srgb,var(--c-green) 34%,var(--c-line));background:color-mix(in srgb,var(--c-green) 5%,var(--c-paper));outline:none}.p42-role-tab.is-active{background:var(--c-deep);color:#fff;border-color:color-mix(in srgb,var(--c-gold) 58%,transparent);box-shadow:0 16px 34px rgba(6,34,31,.16);transform:translateX(4px)}.font-arabic .p42-role-tab.is-active{transform:translateX(-4px)}.p42-role-tab.is-active>span{background:var(--c-gold);color:var(--c-deep)}.p42-role-tab.is-active small{color:rgba(255,255,255,.66)}
.p42-matrix-wrap{border:1px solid var(--c-line);border-radius:28px;background:var(--c-paper);box-shadow:var(--c-shadow);overflow:hidden}.p42-matrix-head,.p42-row{display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(130px,.45fr) minmax(230px,1fr);gap:18px;align-items:center}.p42-matrix-head{padding:14px 22px;background:var(--c-deep);color:rgba(255,255,255,.7);font-size:.68rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.font-arabic .p42-matrix-head{letter-spacing:0;text-transform:none}
.p42-row{position:relative;padding:18px 22px;border-top:1px solid var(--c-line);transition:opacity .2s ease,background .2s ease,transform .2s ease}.p42-row:first-child{border-top:0}.p42-row>div{display:grid;grid-template-columns:34px 1fr;gap:2px 11px;align-items:center}.p42-row b{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--c-soft);color:var(--c-green);font-size:.68rem}.p42-row strong{color:var(--c-ink);font-size:.98rem}.p42-row small{color:var(--c-muted)}.p42-row p{margin:0;color:var(--c-muted);line-height:1.5;font-size:.88rem}.p42-state{justify-self:start;padding:8px 11px;border-radius:999px;background:color-mix(in srgb,var(--c-green) 10%,var(--c-paper));border:1px solid color-mix(in srgb,var(--c-green) 24%,var(--c-line));color:var(--c-green);font-size:.7rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.font-arabic .p42-state{letter-spacing:0;text-transform:none}
.p42-row.is-secondary{opacity:.48}.p42-row.is-primary{background:color-mix(in srgb,var(--c-green) 6%,var(--c-paper));transform:translateX(3px)}.font-arabic .p42-row.is-primary{transform:translateX(-3px)}.p42-row.is-primary:before{content:"";position:absolute;inset-block:9px;inset-inline-start:0;width:3px;border-radius:3px;background:linear-gradient(var(--c-green),var(--c-gold))}.p42-stop-row .p42-state{background:rgba(197,70,57,.08);border-color:rgba(197,70,57,.3);color:#a63e33}
.p42-boundary{display:flex;gap:18px;align-items:flex-start;margin-top:24px;padding:22px 24px;border:1px solid color-mix(in srgb,#b94437 32%,var(--c-line));border-radius:22px;background:color-mix(in srgb,#b94437 5%,var(--c-paper));box-shadow:0 14px 32px rgba(88,25,19,.06)}.p42-boundary>span{flex:0 0 auto;display:grid;place-items:center;min-width:66px;height:42px;padding:0 12px;border-radius:13px;background:#a93f34;color:#fff;font-size:.72rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.font-arabic .p42-boundary>span{letter-spacing:0;text-transform:none}.p42-boundary strong{display:block;color:var(--c-ink);font-size:1rem}.p42-boundary p{margin:6px 0 0;color:var(--c-muted);line-height:1.65}
html.dark .p42-authority-section{background:linear-gradient(180deg,#0b1717,#0d1d1b)}html.dark .p42-role-tabs,html.dark .p42-matrix-wrap{background:#10211f;border-color:rgba(255,255,255,.1)}html.dark .p42-row{border-color:rgba(255,255,255,.08)}html.dark .p42-row.is-primary{background:rgba(66,139,119,.12)}html.dark .p42-role-tab:not(.is-active){color:#fff}html.dark .p42-role-tab small,html.dark .p42-row small,html.dark .p42-row p,html.dark .p42-boundary p{color:rgba(255,255,255,.62)}html.dark .p42-row strong,html.dark .p42-boundary strong{color:#fff}html.dark .p42-boundary{background:rgba(169,63,52,.09);border-color:rgba(218,100,87,.28)}
@media(max-width:1050px){.p42-ledger{grid-template-columns:1fr}.p42-role-tabs{display:grid;grid-template-columns:repeat(4,1fr)}.p42-role-tab{grid-template-columns:36px 1fr;padding:14px}.p42-role-tab>span{width:36px;height:36px}.p42-role-tab.is-active,.font-arabic .p42-role-tab.is-active{transform:none}.p42-matrix-head,.p42-row{grid-template-columns:minmax(210px,1.1fr) 120px minmax(210px,1fr)}}
@media(max-width:760px){.p42-authority-section{padding:78px 0}.p42-role-tabs{grid-template-columns:1fr 1fr}.p42-role-tab small{display:none}.p42-matrix-wrap{overflow-x:auto}.p42-matrix-head,.p42-row{min-width:720px}.p42-boundary{padding:18px}.p42-boundary>span{min-width:58px}}
@media(max-width:480px){.p42-role-tabs{grid-template-columns:1fr}.p42-boundary{display:block}.p42-boundary>span{display:inline-grid;margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.p42-role-tab,.p42-row{transition:none}}
