:root{color-scheme:light;--ink:#17231d;--muted:#607067;--line:#d9e1dc;--panel:#ffffff;--canvas:#f3f6f4;--brand:#184d35;--brand-soft:#dcece3;--warning:#8a4b08;--danger:#a52a2a;--radius:12px}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink)}a{color:inherit}button,input,select,textarea{font:inherit}.button-link,button{border:0;border-radius:8px;background:var(--brand);color:white;cursor:pointer;display:inline-flex;justify-content:center;padding:.68rem 1rem;text-decoration:none}.button-secondary{background:#e7ece9;color:var(--ink)}.button-danger{background:var(--danger)}.button-small{font-size:.86rem;padding:.45rem .7rem}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:-.035em}h2{font-size:1.25rem}.eyebrow{color:var(--brand);font-size:.75rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.muted{color:var(--muted)}.error{color:var(--danger)}.stack{display:grid;grid-gap:.8rem;gap:.8rem}.cluster{flex-wrap:wrap;gap:.65rem}.cluster,.spread{align-items:center;display:flex}.spread{justify-content:space-between;gap:1rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.admin-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:#102e20;color:white;padding:1.4rem}.sidebar nav{display:grid;grid-gap:.35rem;gap:.35rem;margin:2rem 0}.sidebar a{border-radius:7px;padding:.6rem .7rem;text-decoration:none}.sidebar a:hover{background:#214b37}.sidebar button{background:transparent;border:1px solid #567563;width:100%}.admin-main{max-width:1200px;padding:2.25rem clamp(1rem,4vw,3.5rem);width:100%}.page-header{align-items:flex-start;justify-content:space-between;gap:1rem}.page-header,.tabs{display:flex;margin-bottom:1.5rem}.tabs{border-bottom:1px solid var(--line);gap:1.1rem;overflow-x:auto}.tabs a{color:var(--muted);padding:.7rem .1rem;text-decoration:none;white-space:nowrap}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{display:grid;grid-gap:.7rem;gap:.7rem;text-decoration:none}.project-card:hover{border-color:#9caf9f;box-shadow:0 6px 20px rgb(16 46 32/8%)}.badge{background:var(--brand-soft);border-radius:999px;color:var(--brand);display:inline-block;font-size:.76rem;font-weight:700;padding:.28rem .55rem}.badge-scheduled{background:#fff0d5;color:var(--warning)}.badge-expired,.badge-revoked{background:#eceeed;color:#68726c}.metric{font-size:1.8rem;font-weight:730}.form-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}label{color:#36473e;display:grid;font-size:.88rem;font-weight:650;grid-gap:.35rem;gap:.35rem}input,select,textarea{background:white;border:1px solid #bfcac3;border-radius:7px;color:var(--ink);padding:.68rem .72rem;width:100%}textarea{min-height:90px;resize:vertical}.full{grid-column:1/-1}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--line);padding:.75rem .55rem;text-align:left;vertical-align:top}th{color:var(--muted);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}.rights-list{margin:.4rem 0 0;padding-left:1.2rem}.rights-preview{background:#f5faf7;border:1px solid #c9ded1;border-radius:9px;padding:1rem}.excluded{background:#faf7f4;border-color:#e5d7ca}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:1.5rem}.auth-card{max-width:430px;width:100%}.consent-card{max-width:540px}.consent-details{display:grid;grid-gap:.8rem;gap:.8rem;margin:1.25rem 0}.consent-details div{border-bottom:1px solid var(--line);padding-bottom:.75rem}.consent-details dt{color:var(--muted);font-size:.78rem;font-weight:700;margin-bottom:.25rem;text-transform:uppercase}.consent-details dd{margin:0}.consent-uri{overflow-wrap:anywhere}.scope-list{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.scope-list li{background:var(--brand-soft);border-radius:999px;color:var(--brand);padding:.25rem .5rem}.consent-actions{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:1fr 1fr}.assignment-state-grid{display:grid;grid-gap:.7rem;gap:.7rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0}.assignment-state-grid div{background:white;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:.15rem;gap:.15rem;padding:.7rem}.assignment-state-grid small,.empty{color:var(--muted)}.empty{padding:2.5rem;text-align:center}details summary{cursor:pointer;font-weight:650}.project-governance-main{margin:0 auto;max-width:1200px;padding:2.25rem clamp(1rem,4vw,3.5rem);width:100%}.project-governance-title{min-width:0}.project-governance-project-name{font-size:1.08rem;font-weight:700;margin-bottom:.35rem}.project-governance-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.project-governance-message{align-items:flex-start;display:grid;grid-gap:.2rem;gap:.2rem;margin-bottom:1.25rem}.project-governance-message-error{border-color:#e3bcbc;color:var(--danger)}.project-governance-summary{align-items:stretch;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);margin-bottom:1.5rem}.project-governance-meta-panel{min-width:0}.project-governance-meta{display:grid;grid-gap:.7rem;gap:.7rem;margin:0}.project-governance-meta div{border-bottom:1px solid var(--line);display:grid;grid-gap:.18rem;gap:.18rem;padding-bottom:.65rem}.project-governance-meta div:last-child{border-bottom:0;padding-bottom:0}.project-governance-meta dt{color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.project-governance-meta dd{margin:0;min-width:0;overflow-wrap:anywhere}.project-governance-meta-note{border-top:1px solid var(--line);margin:.9rem 0 0;padding-top:.8rem}.project-governance-form{display:grid;grid-gap:1.25rem;gap:1.25rem}.project-governance-section-heading{align-items:end;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:.9rem}.project-governance-section-heading h2,.project-governance-section-heading p{margin-bottom:0}.project-governance-section-heading>p{max-width:34rem;text-align:right}.project-governance-binding-grid{align-items:stretch;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.project-governance-binding-card{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-rows:auto auto 1fr;min-width:0}.project-governance-binding-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.project-governance-binding-header h3,.project-governance-binding-header p{margin-bottom:0}.project-governance-binding-framework{margin-bottom:0;overflow-wrap:anywhere}.project-governance-resource-list{align-content:start;display:grid;grid-gap:.5rem;gap:.5rem}.project-governance-resource-option{align-items:center;background:#f8faf9;border:1px solid var(--line);border-radius:8px;cursor:pointer;display:grid;font-weight:600;grid-gap:.65rem;gap:.65rem;grid-template-columns:auto minmax(0,1fr);min-width:0;padding:.62rem .7rem}.project-governance-resource-option:hover{background:#f1f7f3;border-color:#b8c9be}.project-governance-resource-option input[type=checkbox]{accent-color:var(--brand);height:1rem;margin:0;padding:0;width:1rem}.project-governance-resource-option span{min-width:0;overflow-wrap:anywhere}.project-governance-actions{align-items:center;display:flex;gap:1.5rem;justify-content:space-between}.project-governance-actions p{margin:.25rem 0 0}.project-governance-actions button{flex:0 0 auto}@media (max-width:800px){.admin-shell{grid-template-columns:1fr}.sidebar{padding:1rem}.sidebar nav{display:flex;margin:1rem 0;overflow-x:auto}.form-grid,.grid-2,.grid-3{grid-template-columns:1fr}.assignment-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header{display:grid}.project-governance-header-actions{justify-content:flex-start}.project-governance-binding-grid,.project-governance-summary{grid-template-columns:1fr}.project-governance-actions,.project-governance-section-heading{align-items:stretch;display:grid}.project-governance-section-heading>p{max-width:none;text-align:left}.project-governance-actions button{width:100%}}