:root{--pico-font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--pico-font-size:15px;--pico-primary:#147559;--pico-primary-background:#147559;--pico-primary-border:#147559;--pico-primary-hover-background:#105d47;--pico-primary-hover-border:#105d47;--pico-border-radius:8px;--pico-background-color:#f7f8f5;--pico-card-background-color:#fff;--pico-color:#1c302a;--pico-muted-color:#718078;--pico-form-element-border-color:#dce3dd;--pico-form-element-background-color:#fff}body>header{background:#fff;border-bottom:1px solid #e0e6df;padding:18px max(32px,calc((100vw - 1240px)/2))}body>header nav{margin:0;gap:24px}nav .brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:24px;color:#173d30;text-decoration:none;letter-spacing:-1px}nav .brand:first-letter{color:#19896a}nav>div{display:flex;align-items:center;gap:24px}nav form{margin:0}nav a{font-size:14px;color:#51615a;text-decoration:none}nav a[aria-current]{color:#147559;font-weight:650}.quiet{background:none;border:0;color:#51615a;padding:0;margin:0;box-shadow:none}.identity{font-size:13px;color:#7b8880;border-left:1px solid #e5e9e3;padding-left:24px}body>main{max-width:1240px;padding:30px 32px 72px;min-height:calc(100vh - 160px)}body>footer{width:auto;max-width:1176px;border-top:1px solid #dfe5de;padding:24px 0;font-size:12px;color:#6e8176;display:flex;justify-content:space-between;margin:auto}.subnav{display:flex;justify-content:flex-start;gap:26px;overflow:auto;border-bottom:1px solid #dfe5de;padding:2px 0 24px;margin-bottom:42px}.subnav a{white-space:nowrap;font-size:13px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#728b7b;display:block;margin:0 0 14px}h1{font-size:38px;letter-spacing:-1.6px;margin:0 0 14px;line-height:1.15}h2{font-size:20px;letter-spacing:-.4px}p{line-height:1.65}.muted,small{color:#718078}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:0 0 34px}.page-heading p{max-width:670px;margin:0}.page-heading>a{white-space:nowrap;font-size:13px;padding:12px 18px}article{border:1px solid #dfe5de;box-shadow:0 2px 3px #173d3003;border-radius:10px;padding:26px;margin:24px 0}.table-card{padding:0}.table-card>header{background:none;margin:0;padding:18px 22px;display:flex;justify-content:space-between;border-bottom:1px solid #e6ebe4;font-size:12px}.table-scroll{overflow-x:auto}table{margin:0;font-size:13px}th{background:#f5f7f3;color:#708074;font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:12px 20px}td{padding:20px;vertical-align:middle}td small{display:block;font-size:10px;line-height:1.8;margin-top:3px}tr:last-child td{border-bottom:0}code{color:#456454;background:#edf2ea;padding:4px 7px;font-size:12px}pre{background:#203b30;padding:20px;border-radius:8px;overflow:auto}pre code{background:none;color:#d8efdf;padding:0}button,[role=button]{font-size:13px;padding:11px 16px}form{margin-bottom:0}form button{margin-bottom:0}label{font-size:13px}input,select{font-size:14px}.fields,.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.cards article{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.cards small{font-size:12px;margin-top:12px}.os-icon{font-size:36px;color:#147559;margin:4px 0 20px}.auth-card{max-width:440px;margin:76px auto}.auth-card h1{font-size:34px}.auth-card form{margin-top:28px}.auth-card button{width:100%}.auth-card small{display:block;margin-top:24px;font-size:12px;line-height:1.7}.provider{display:flex;justify-content:space-between;width:100%;margin:18px 0;background:#fff;color:#245541;border-color:#d7e0d8}.notice{background:#eaf2e6;border:1px solid #d2e4cb;color:#3a6445;padding:16px 20px;border-radius:8px;margin:0 0 24px}.notice.error{background:#fff0e9;border-color:#eacfc1;color:#8b432b}.status{display:inline-flex;align-items:center;gap:7px;font-size:11px}.status:before{content:"";width:6px;height:6px;background:#b0b9b0;border-radius:50%}.status[data-online=true]:before{background:#369468;box-shadow:0 0 0 3px #edf6e9}.tag{background:#edf2e9;color:#678561;border-radius:3px;padding:2px 4px;font-size:9px}.empty{text-align:center;padding:56px 20px}.empty strong{display:block;font-size:18px}.empty p{margin:12px 0 0}.actions{min-width:120px;margin:0;font-size:12px}.actions form{min-width:180px;margin:16px 0}.actions summary{color:#527460}.danger{background:#a94934;border-color:#a94934}.install-inline{margin:48px 0 0;max-width:770px}.install-inline p{font-size:13px}.inline-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:16px 0}.code-editor{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px;line-height:1.65;tab-size:2}.button-row{display:flex;gap:12px;align-items:center;margin:12px 0 24px}.wrap{overflow-wrap:anywhere;white-space:normal}details{margin:22px 0}details summary{font-size:13px}details button{margin:10px 8px 10px 0}hr{border-color:#e3e8df}@media(max-width:800px){.identity{display:none}.page-heading{align-items:flex-start;flex-direction:column}.cards,.fields{grid-template-columns:1fr}.subnav{gap:18px}body>main{padding:26px 20px 48px}body>header{padding:16px 20px}nav>div{gap:14px}nav .brand{font-size:20px}h1{font-size:32px}body>footer{margin:0 20px}.auth-card{margin:40px auto}.cards article{margin:0}.table-scroll{width:100%}}

.copy{display:block;width:auto;padding:.35rem .8rem;font-size:.8rem;margin:-.5rem 0 1.25rem auto}.auth-card img{display:block;margin:1rem auto;border-radius:.5rem}

.users-table td{vertical-align:top;overflow-wrap:anywhere}
.users-table .empty { grid-column: 1/-1; }
.inventory-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; margin-top: 2rem; }
.inventory-filters label { flex: 1 1 10rem; min-width: 0; margin: 0; }
.inventory-filters .inventory-search { flex: 2 1 20rem; }
.inventory-filters input,.inventory-filters select { margin-bottom: 0; }
.inventory-filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.inventory-filter-actions button { width: auto; }
.inventory-pagination { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; font-size: .85rem; }
.inventory-pagination>div { display: flex; flex-wrap: wrap; gap: 1rem; }
.inventory-live { padding: .8rem 1rem; margin: 1rem 0; background: #edf2ea; border-radius: .5rem; font-size: .85rem; }
.inventory-live a { margin-left: .5rem; white-space: nowrap; }
.inventory-live[data-stale=true] { background: #fff0e9; color: #8b432b; }
.status[data-stale=true]:before { background: #b0b9b0; box-shadow: none; }
.devices-table td { vertical-align: top; overflow-wrap: anywhere; }
.devices-table .device-actions { min-width: 13rem; }
.device-reference { margin: .5rem 0 0; }
.device-reference summary { font-size: .75rem; }
@media(max-width:800px){
  .devices-table,.devices-table tbody { display: block; width: 100%; }
  .devices-table thead { display: none; }
  .devices-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding: 20px; border-bottom: 1px solid #dfe5de; }
  .devices-table td,.devices-table .device-actions { display: block; width: auto; min-width: 0; padding: 0; border: 0; }
  .devices-table .device-identity,.devices-table .device-actions,.devices-table .empty { grid-column: 1/-1; }
  .devices-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: .4rem; color: #718078; font-size: 10px; text-transform: uppercase; letter-spacing: 1px; }
  .devices-table .actions form { min-width: 0; }
}
.access-result{margin-top:2rem;border-top:1px solid #dfe5de;padding-top:1.5rem}
.access-step{padding:1rem 0;border-bottom:1px solid #e6ebe4}
.access-step h4{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:.5rem;font-size:1rem}
.access-step p{margin-bottom:.6rem;font-size:.9rem}
.access-decision{font-size:.75rem;color:#8b432b;background:#fff0e9;padding:.25rem .5rem;border-radius:4px}
.access-decision[data-allowed=true]{color:#245541;background:#eaf2e6}
.access-evidence{padding-left:1.2rem;margin-bottom:0;font-size:.85rem}
.access-evidence li{margin:.6rem 0;overflow-wrap:anywhere}
.users-table .user-actions{min-width:24rem;width:28rem}
.users-table .user-actions details:first-of-type{margin-top:1rem}
@media(max-width:800px){
  .users-table,.users-table tbody{display:block;width:100%}
  .users-table thead{display:none}
  .users-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:20px;border-bottom:1px solid #dfe5de}
  .users-table tr:last-child{border-bottom:0}
  .users-table td,.users-table .user-actions{display:block;width:auto;min-width:0;padding:0;border:0}
  .users-table .user-identity,.users-table .user-actions{grid-column:1/-1}
  .users-table td[data-label]::before{content:attr(data-label);display:block;margin-bottom:.4rem;color:#718078;font-size:10px;text-transform:uppercase;letter-spacing:1px}
  .users-table .user-actions details:last-child{margin-bottom:0}
}

.review-table { overflow-x: auto; }
.review-table td { vertical-align: top; overflow-wrap: anywhere; }
.review-table table { min-width: 680px; }
.review-table ul { padding-left: 1.2rem; margin-bottom: .5rem; }

.review-filters button { width: auto; }
.review-filters .button-row { margin-top: 0; }

.review-facts dt { font-weight: 650; margin-top: 1rem; overflow-wrap: anywhere; }
.review-facts dd, .review-note { white-space: pre-wrap; overflow-wrap: anywhere; }
.review-facts dd { margin-left: 0; margin-top: .35rem; padding-bottom: .8rem; border-bottom: 1px solid #e0e6df; }
.review-record { overflow-wrap: anywhere; }
.review-actions { flex-wrap: wrap; }
.review-actions button { flex: 1 1 14rem; width: auto; }
.review-actions .secondary { background: #fff; color: #456454; border-color: #b8c9bd; }
.review-actions .secondary:hover { background: #edf2ea; }
.role-subject, .role-record, #role-proposal, #role-preview { overflow-wrap: anywhere; }
.role-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.role-comparison section { min-width: 0; border-left: 3px solid #d2dfd1; padding-left: 1rem; }
.role-comparison ul { padding-left: 1.2rem; }
.role-history-actions { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
.role-record h3 { margin-bottom: .5rem; }
[data-role-stale] { color: #963e32; font-weight: 650; }
@media(max-width:700px){ .role-comparison { grid-template-columns: minmax(0, 1fr); } }
.audit-export { margin: 1.5rem 0; padding: 1rem; border: 1px solid #cbd8cc; border-radius: .6rem; }
.audit-export summary { font-weight: 650; }
.audit-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; margin: 1.25rem 0; }
.audit-filters label { flex: 1 1 14rem; min-width: 0; margin: 0; }
.audit-filters button { flex: 0 1 auto; width: auto; margin: 0; }
.audit-filters input, .audit-filters select { margin-bottom: 0; }
@media(max-width:600px){
  body>header nav { flex-wrap: wrap; align-items: flex-start; gap: 16px; }
  body>header nav>div { flex-wrap: wrap; gap: 12px 16px; }
  body>footer { width: auto; flex-wrap: wrap; gap: 12px; }
}
