.p-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:linear-gradient(to right,var(--ink) 240px,var(--bg-soft) 240px)}.p-side{background:var(--ink);color:var(--steel);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.p-side .logo{padding:4px 8px 18px}.p-mobilebar .logo{padding:0}.p-org{font-size:12px;color:rgba(255,255,255,.55);padding:0 8px 14px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:10px}.p-org b{display:block;color:#fff;font-size:14px}.p-nav a{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:14px;font-weight:500;color:rgba(255,255,255,.72);transition:background-color .15s ease,color .15s ease}@media (hover:hover) and (pointer:fine){.p-nav a:hover{background:rgba(255,255,255,.06);color:#fff}}.p-nav a[aria-current=page]{background:rgba(255,255,255,.08);color:#fff}.p-nav a[aria-current=page]:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--amber)}.p-nav .grp{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.4);padding:14px 10px 4px}.p-me{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:12px 8px 0;font-size:13px}.p-me b{color:#fff;display:block}.p-me button{background:none;border:0;color:rgba(255,255,255,.55);padding:6px 0 0;font-size:13px}.p-me button:hover{color:#fff}.p-main{padding:32px clamp(16px,4vw,40px) 64px;min-width:0}.p-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}.p-head h1{font-size:26px}.p-head p{color:var(--muted);font-size:14px;margin-top:4px}.p-mobilebar{display:none}@media (max-width:860px){.p-shell{grid-template-columns:1fr;background:var(--bg-soft)}.p-side{position:static;height:auto;padding:12px 16px}.p-side .p-me,.p-side .p-nav,.p-side .p-org{display:none}.p-side.open .p-me,.p-side.open .p-nav,.p-side.open .p-org{display:block}.p-side .logo{padding:0}.p-mobilebar{display:flex;justify-content:space-between;align-items:center}.p-mobilebar button{background:none;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;padding:4px 10px}}.card-p{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.card-p+.card-p{margin-top:16px}.grid-cards>.card-p{margin-top:0}.card-p h2{font-size:17px;margin-bottom:12px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px}.stat-p{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}.stat-p b{display:block;font-size:26px;color:var(--ink);letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-p span{font-size:13px;color:var(--muted)}.tbl{width:100%;border-collapse:collapse;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tbl th{text-align:left;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:8px 10px}.tbl td,.tbl th{border-bottom:1px solid var(--line)}.tbl td{padding:10px;vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl-wrap{overflow-x:auto}.muted{color:var(--muted)}.small{font-size:13px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.badge.CA{background:#f3ead8;color:#6e4f18;border-color:#e6d5b3}.badge.SM{background:#eceff3;color:#1e2a38;border-color:#d9dfe6}.badge.SR{background:#e6ecf2;color:#34414f;border-color:#cbd5df}.badge.G{background:#fff1e8;color:#a3360f;border-color:#f8d9c8}.badge.off{background:#fdecef;color:#c23b5e;border-color:#f7d0da}.f{grid-gap:14px;gap:14px}.f,.f-row{display:grid}.f-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;align-items:end}.f label,.f-row label,.lbl{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:600;color:var(--ink)}.f label.row,.f-row label.row{display:flex}.inp{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:14px;font-weight:500;transition:box-shadow .15s ease,border-color .15s ease}.inp:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(138,100,32,.16)}textarea.inp{resize:vertical;min-height:70px}input[type=color].inp{padding:3px;height:40px}.err{background:#fdecef;color:#a32b4c;border:1px solid #f7d0da;border-radius:9px}.err,.ok{padding:9px 12px;font-size:14px}.ok{background:var(--teal-soft);color:var(--teal-deep);border:1px solid #e6d5b3;border-radius:9px}.btn-sm{padding:7px 12px;font-size:13px;border-radius:8px}.btn-danger{background:#fff;color:#c23b5e;border-color:#f2c5d1}.btn-danger:hover{background:#fdecef}.btn[disabled]{opacity:.55;cursor:not-allowed}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spacer{flex:1 1}.empty-p{border:2px dashed var(--line);border-radius:12px;padding:32px;text-align:center;color:var(--muted);font-size:14px}.copy{display:flex;gap:6px}.copy input{font-family:var(--mono);font-size:12px}details.card-p>summary{cursor:pointer;font-weight:700;color:var(--ink)}details.card-p[open]>summary{margin-bottom:14px}.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(60% 50% at 50% 0,rgba(212,162,76,.14),rgba(212,162,76,0) 70%),var(--paper)}.auth-card{width:min(420px,100%);background:#fff;border-radius:22px;box-shadow:var(--shadow-lg);padding:32px}.auth-card .logo{margin-bottom:22px}.auth-card h1{font-size:24px;margin-bottom:6px}.auth-card>p{margin-bottom:20px}.auth-card>p,.auth-foot{color:var(--muted);font-size:14px}.auth-foot{margin-top:18px;text-align:center}.auth-foot a{color:var(--teal);font-weight:600}.bld{display:grid;grid-template-columns:320px 1fr;grid-gap:16px;gap:16px;align-items:start}@media (max-width:960px){.bld{grid-template-columns:1fr}}.bld .b-deck{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.save-state{font-size:13px;color:var(--muted)}.slide-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:6px;gap:6px;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:8px}.slide-picks label{display:flex;gap:8px;align-items:flex-start;font-weight:500;font-size:13px;padding:4px 6px;border-radius:6px}.slide-picks label:hover{background:var(--bg-soft)}.swatch{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none;margin-top:3px}@media (max-width:860px){.desktop-logo{display:none}}.warn{background:var(--amber-soft);color:#7a4d00;border:1px solid #f3dca6;padding:9px 12px;border-radius:9px;font-size:14px}.meter{height:10px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);overflow:hidden}.meter>i{display:block;height:100%;background:var(--teal);border-radius:999px}.meter.is-warn>i{background:var(--warn)}.meter.is-full>i{background:var(--rose)}.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}.perm-group{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0}.perm-group legend{font-size:13px;font-weight:600;color:var(--ink);padding:0 4px}.perm-group label{display:flex;gap:8px;align-items:flex-start;font-size:13px;font-weight:500;padding:4px 0}.role-item{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px}.role-item>summary{cursor:pointer}