:root{font-family:Segoe UI,system-ui,sans-serif;color:#1f2428;background:#f7f4ee;font-synthesis:none;line-height:1.5;--green:#135e48;--border:#dedbd3;--muted:#656b69}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #135e48;outline-offset:3px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15;letter-spacing:-.035em;margin-bottom:0}h2{font-size:1.25rem;letter-spacing:-.02em}h3{font-size:1.05rem}small,code{display:block;font-size:.8rem}code{color:var(--muted);overflow-wrap:anywhere}small,.muted{color:var(--muted)}.admin-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100dvh}.sidebar{padding:32px 24px;background:#f0ede5;border-right:1px solid var(--border);display:flex;flex-direction:column}.brand{font-size:1.45rem;font-weight:700;text-decoration:none;color:#1f2428;letter-spacing:-.045em}.brand span{color:var(--green);font-weight:500}.sidebar-context{font-size:.78rem;color:var(--muted);margin:10px 0 32px}.sidebar nav{display:grid;gap:6px}.sidebar nav button{border:0;background:none;text-align:left;border-radius:8px;padding:12px 14px;min-height:44px;color:var(--muted)}.sidebar nav button[aria-current=page]{background:#e1e9e2;color:var(--green);font-weight:600}.sidebar-account{margin-top:auto;padding-top:48px;font-size:.85rem}.sidebar-account span{display:block;color:var(--muted);overflow-wrap:anywhere}.sidebar-account button,.back{padding:8px 0;background:none;border:0;color:var(--green);text-decoration:underline;min-height:44px}main{min-width:0;padding:40px clamp(20px,4vw,56px)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}.eyebrow{font-size:.8rem;color:var(--muted);margin-bottom:8px}.pill{display:inline-block;border:1px solid var(--border);padding:5px 10px;border-radius:20px;font-size:.78rem;white-space:nowrap}.panel,.login-panel{background:#fffdf9;border:1px solid var(--border);border-radius:12px;padding:24px}.login-panel{max-width:520px}.login-panel details{margin-top:24px}.login-panel form{margin-top:20px;display:grid;gap:16px}.workspace{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}.workspace.has-detail{grid-template-columns:minmax(260px,.85fr) minmax(0,1.3fr)}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading span{color:var(--muted)}label{display:grid;gap:6px;font-size:.85rem;font-weight:500}input,select{min-width:0;max-width:100%;border:1px solid #b8bcb5;background:#fffdf9;color:inherit;border-radius:6px;padding:10px 12px;min-height:44px}.search-label{margin-bottom:20px}.user-list{border-top:1px solid var(--border)}.user-row{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--border);padding:18px 8px;background:none;color:inherit}.user-row>span:first-child{min-width:0}.user-row small{overflow-wrap:anywhere;margin-top:4px}.user-row[aria-pressed=true]{background:#edf3ee;border-left:3px solid var(--green);padding-left:12px}.status{font-size:.72rem;align-self:flex-start;border-radius:20px;padding:3px 8px;background:#e8e8e3;white-space:nowrap}.status.active{background:#e4eee5;color:var(--green)}.status.invited{background:#f3ead5;color:#715714}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-size:.8rem}.pagination button,.direct-row button{min-height:44px;padding:8px 12px;border:1px solid var(--border);background:transparent;color:var(--green);border-radius:6px}.detail-heading{padding:12px 0 20px}.detail-heading h2{font-size:1.6rem;margin-bottom:4px}.detail-heading p{overflow-wrap:anywhere;color:var(--muted)}.detail-panel section{padding-top:24px;border-top:1px solid var(--border);margin-bottom:28px}.role-pills{display:flex;flex-wrap:wrap;gap:8px}.grant-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.7fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--border);font-size:.85rem}.grant-row strong,.direct-row strong{font-weight:500}.grant-row small{margin-top:4px}.direct-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border);font-size:.85rem}.direct-row>div{min-width:0}.grant-form{margin-top:24px;background:#f4f4ed;border-radius:8px;padding:20px;display:grid;gap:16px}.grant-form h4{margin:0}.grant-form fieldset{margin:0;padding:12px;border:1px solid var(--border);border-radius:6px}.grant-form legend{font-size:.85rem}.check{display:flex;align-items:center;gap:10px;min-height:44px}.check input{min-height:20px;width:18px;height:18px;accent-color:var(--green)}.button{display:inline-block;text-decoration:none;background:var(--green);color:#fff;border:0;border-radius:6px;padding:12px 18px;font-weight:500;min-height:44px}.notice{background:#e5eee5;padding:14px 18px;border-radius:6px;margin-bottom:20px}.notice.error{background:#f4e4df;color:#873b29}.empty{padding:16px 0;font-size:.9rem;color:var(--muted)}.role-summary{padding:20px 0;border-bottom:1px solid var(--border)}.role-summary p{margin-bottom:0}.role-summary+.muted{margin-top:20px}summary{cursor:pointer;min-height:44px;padding:10px 0}@media(max-width:1100px){.workspace.has-detail{grid-template-columns:minmax(0,1fr)}.admin-shell{grid-template-columns:200px minmax(0,1fr)}main{padding:32px 24px}.sidebar{padding:28px 18px}}@media(max-width:640px){.admin-shell{display:block}.sidebar{padding:20px;border-right:0;border-bottom:1px solid var(--border)}.sidebar-context{margin:4px 0 12px}.sidebar nav{display:flex;gap:4px}.sidebar nav button{flex:1;text-align:center;padding:10px 6px}.sidebar-account{padding-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.sidebar-account button{margin-left:auto}.sidebar-account span{display:none}main{padding:24px 16px}.page-header{align-items:flex-start;flex-direction:column;margin-bottom:24px}.panel{padding:18px}.grant-row{grid-template-columns:1fr;gap:6px}.direct-row{align-items:flex-start}.user-row{gap:8px}.detail-heading h2{font-size:1.4rem}}.grant-form select{width:100%;margin-top:6px}.policy-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.65fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.policy-editor .check span{min-width:0;overflow-wrap:anywhere}.form-actions{display:flex;flex-wrap:wrap;gap:12px}.role-summary>button,.form-actions>button:not(.button),.panel>button{border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--green);padding:10px 14px;min-height:44px}fieldset{min-width:0;max-width:100%;border:1px solid var(--border);border-radius:6px}.role-summary strong,.role-summary small{overflow-wrap:anywhere}.panel-heading{flex-wrap:wrap;gap:12px}.panel-heading h2,.panel-heading h3{margin-bottom:0}.panel-heading{margin-bottom:16px}@media(max-width:640px){.sidebar nav{flex-wrap:wrap}.sidebar nav button{flex:1 0 30%}.policy-editor{grid-template-columns:minmax(0,1fr)}.form-actions>button{width:100%}.pill{white-space:normal;overflow-wrap:anywhere}.direct-row{flex-wrap:wrap}.role-summary .panel-heading{align-items:flex-start}}.detail-panel section>button{min-height:44px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--green);padding:10px 14px;margin:8px 8px 0 0}
