:root{
  --accent:#0b5bd3;--accent-dark:#0848aa;--ink:#101a31;--muted:#60708a;--line:#dbe3ed;
  --line-strong:#c8d3e1;--canvas:#f7f9fc;--surface:#ffffff;--surface-soft:#f2f6fb;
  --success:#0b7a43;--success-bg:#e4f5eb;--warning:#a35b00;--warning-bg:#fff2dc;
  --danger:#a92b2b;--radius:10px;--shadow:0 5px 18px rgba(24,56,96,.06);
  font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--canvas)
}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--canvas);font-size:14px}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:12px;top:12px;z-index:20;background:#fff;padding:10px;border-radius:6px}.topbar{height:72px;display:grid;grid-template-columns:240px 1fr auto;align-items:center;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{height:72px;display:flex;align-items:center;gap:12px;padding:0 26px;color:var(--accent);font-size:18px;font-weight:750;text-decoration:none;border-right:1px solid var(--line)}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:3px solid var(--accent);border-radius:9px;font-weight:800;transform:rotate(45deg)}.brand-mark::first-letter{transform:rotate(-45deg)}.breadcrumb{display:flex;gap:12px;padding:0 24px;color:var(--muted)}.breadcrumb b{color:#9aa8b8}.breadcrumb strong{color:var(--ink)}.account{display:flex;align-items:center;gap:12px;padding-right:24px}.account-name{font-weight:650}.avatar{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:750;text-transform:uppercase}.account form{margin:0}.account button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:7px}.account button:hover{color:var(--accent)}.environment{padding-right:24px;color:var(--muted)}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100dvh - 72px)}.sidebar{position:sticky;top:72px;height:calc(100dvh - 72px);display:flex;flex-direction:column;justify-content:space-between;padding:24px 18px;background:#fff;border-right:1px solid var(--line)}.nav-links{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:8px;color:#26364e;text-decoration:none;font-weight:600}.nav-item:hover{background:#f3f7fc;color:var(--accent)}.nav-item.active{background:#eaf2fd;color:var(--accent)}.nav-glyph{width:24px;height:24px;display:grid;place-items:center;border:1px solid currentColor;border-radius:6px;font-size:11px}.sidebar-meta{padding:14px;border:1px solid #cfe0f6;border-radius:9px;background:#f3f8ff;color:var(--accent)}.sidebar-meta span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.content{width:100%;max-width:1500px;margin:0 auto;padding:34px 30px 50px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.page-header h1{margin:0 0 5px;font-size:32px;line-height:1.1;letter-spacing:-.025em}.subtitle{margin:0;color:var(--muted);font-size:15px}.kicker{margin:0 0 6px;color:var(--accent);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.header-actions{display:flex;gap:10px}.button,.filter-actions button,.user-create-form button,.certificate-action button,.approval-action button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 17px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#fff;font:inherit;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer}.button:hover,.filter-actions button:hover{background:var(--accent-dark)}.button.secondary{background:#fff;color:var(--accent)}.button.secondary:hover{background:#f2f7fd}.button:active,.filter-actions button:active,.row-action:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(11,91,211,.28);outline-offset:2px}.metric-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:18px 0;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);overflow:hidden}.metric-strip>div{padding:17px 20px;border-right:1px solid var(--line)}.metric-strip>div:last-child{border-right:0}.metric-strip strong{display:block;color:var(--accent);font-size:22px;font-variant-numeric:tabular-nums}.metric-strip span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.metric-strip .metric-warning strong{color:#c06a00}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}table{width:100%;min-width:840px;border-collapse:collapse}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:#f5f8fc;color:#4e6078;font-size:12px;font-weight:700;white-space:nowrap}tbody tr:hover{background:#fafcff}tbody tr:last-child td{border-bottom:0}.numeric{text-align:right;font-variant-numeric:tabular-nums}.record-link{color:var(--accent);font-weight:700;text-decoration:none}.record-link:hover{text-decoration:underline}td small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.select-column{width:46px;text-align:center}.select-column input{width:17px;height:17px}.sort-link{color:inherit;text-decoration:none}.status,.role-tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700;text-transform:capitalize;white-space:nowrap}.status-received{background:var(--success-bg);color:var(--success)}.status-requires_review{background:var(--warning-bg);color:var(--warning)}.status-approved{background:#e7efff;color:var(--accent)}.status-disabled{background:#eef1f5;color:#647184}.row-action{display:inline-flex;padding:7px 13px;border:1px solid #c9d7e8;border-radius:6px;color:var(--accent);font-weight:700;text-decoration:none}.row-action:hover{background:#f2f7fd}.table-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:12px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin:0}.pagination a{color:var(--accent);font-weight:700;text-decoration:none}.per-page{justify-self:end;display:flex;align-items:center;gap:8px}.per-page select{height:36px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;padding:0 28px 0 9px}.summary{text-align:right}.summary strong{display:block;font-size:26px;font-variant-numeric:tabular-nums}.summary span,.summary small{display:block;color:var(--muted);font-size:12px}.summary small{margin-top:6px}.back-link{display:inline-block;margin-bottom:18px;color:var(--accent)}h2{margin:28px 0 13px;font-size:20px}.empty-state,.notice{max-width:720px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.artifact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.artifact-grid figure{margin:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.artifact-grid img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}.artifact-grid figcaption{padding:12px 14px;font-weight:700}.file-list{padding:0;list-style:none}.file-list li{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.file-list a{color:var(--accent)}.file-list span{color:var(--muted);font-size:12px}.public-certificate{max-width:760px;margin:60px auto;padding:0 24px}.public-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.public-card dl{display:grid;grid-template-columns:1fr 1fr;gap:18px}.button-link{display:inline-block;padding:10px 16px;border-radius:7px;background:var(--accent);color:#fff;text-decoration:none}.inline-form{display:inline}.login-card{max-width:430px;margin:70px auto;padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.login-card h1{margin:8px 0 24px}.login-form{display:grid;gap:9px}.login-form label{font-weight:700}.login-form input{padding:12px;border:1px solid var(--line-strong);border-radius:7px;font-size:16px}.login-form button{margin-top:10px;padding:12px;border:0;border-radius:7px;background:var(--accent);color:#fff;font-weight:700}.login-error{padding:10px;border-radius:7px;background:#feecec;color:#9b1c1c}.login-form .remember-check{display:flex;align-items:center;gap:9px;margin-top:5px;font-weight:400}.login-form .remember-check input{width:18px;height:18px;margin:0}.admin-panel,.registry-panel,.user-create,.user-card{margin-bottom:18px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.admin-panel>summary{cursor:pointer;font-size:19px;font-weight:750;list-style-position:outside}.user-create-form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:17px 20px;margin-top:22px}.user-create-form label,.edit-user label{display:grid;gap:6px;color:#27364c;font-size:12px;font-weight:700}.user-create-form label span{color:#d92d20}.user-create-form input,.user-create-form select,.edit-user input,.edit-user select{width:100%;height:42px;padding:0 11px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--ink);font:inherit}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}.registry-panel h2{margin:0}.registry-heading p{margin:4px 0 16px;color:var(--muted)}.user-cell{display:flex;align-items:center;gap:11px}.role-admin{background:#eee7ff;color:#6035b7}.role-manager{background:#e7efff;color:var(--accent)}.edit-user{position:relative}.edit-user>summary{display:inline-flex;padding:7px 13px;border:1px solid #c9d7e8;border-radius:6px;color:var(--accent);font-weight:700;cursor:pointer;list-style:none}.edit-user>summary::-webkit-details-marker{display:none}.edit-user form{position:absolute;right:0;z-index:5;width:520px;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 46px rgba(24,56,96,.18)}.edit-user button{min-height:40px;border:0;border-radius:6px;background:var(--accent);color:#fff;font-weight:700}.active-check{display:flex!important;align-items:center;gap:8px!important}.active-check input{width:auto}.credential-reveal{margin-bottom:24px;padding:18px 20px;border:1px solid #f0c36b;border-left:4px solid #d97706;background:#fff8e8;border-radius:var(--radius)}.credential-reveal h2{margin:0 0 8px}.credential-reveal code{display:block;padding:12px;margin-top:12px;overflow-wrap:anywhere;background:#fff;border:1px solid #ead8ad;border-radius:6px}.device-list{display:grid;gap:14px}.device-card{display:grid;grid-template-columns:minmax(240px,1fr) minmax(250px,1fr) auto;gap:16px;align-items:center;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.device-card>div:first-child span{display:block;color:var(--muted);margin-top:4px}.device-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0}.device-card dt{color:var(--muted)}.device-card dd{margin:0}.device-actions{display:flex;gap:8px}.device-actions form{margin:0}.device-actions button{padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--accent);font-weight:700}.approval-action{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:16px;margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.approval-record{padding:12px 16px;border-radius:8px;background:var(--success-bg);color:var(--success)}
@media(max-width:1000px){.metric-strip{grid-template-columns:repeat(3,1fr)}.metric-strip>div:nth-child(3){border-right:0}.user-create-form{grid-template-columns:repeat(2,1fr)}.header-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:760px){.topbar{grid-template-columns:1fr auto}.brand{border-right:0;padding:0 16px}.breadcrumb,.account-name{display:none}.account{padding-right:12px}.shell{display:block}.sidebar{position:static;width:100%;height:auto;display:block;padding:8px 12px;border-right:0;border-bottom:1px solid var(--line)}.nav-links{display:flex;overflow-x:auto}.nav-item{white-space:nowrap}.sidebar-meta{display:none}.content{padding:22px 16px}.page-header{align-items:flex-start}.operations-header{display:grid}.header-actions{justify-content:flex-start}.metric-strip{grid-template-columns:1fr 1fr}.metric-strip>div{border-bottom:1px solid var(--line)}.metric-strip>div:nth-child(even){border-right:0}.table-footer{grid-template-columns:1fr}.pagination{justify-content:flex-start}.per-page{justify-self:start}.artifact-grid{grid-template-columns:1fr}.user-create-form{grid-template-columns:1fr}.form-actions{grid-column:auto}.edit-user form{position:fixed;left:16px;right:16px;bottom:16px;width:auto;grid-template-columns:1fr;max-height:80dvh;overflow:auto}.device-card{grid-template-columns:1fr}.summary{display:none}}
.user-create-form label{display:block}.user-create-form .field-title{display:flex;align-items:baseline;gap:4px;min-height:18px;margin-bottom:6px;color:#27364c}.user-create-form .field-title i{color:#d92d20;font-style:normal}
.detail-back{margin-bottom:14px;font-size:13px;font-weight:700;text-decoration:none}.detail-header{align-items:center;margin-bottom:18px}.detail-header h1{font-size:38px}.detail-header .subtitle{font-size:13px}.detail-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.detail-action-buttons{display:flex;align-items:center;gap:10px}.detail-action-buttons form{margin:0;padding:0;border:0;background:transparent}.detail-action-buttons button:disabled{border-color:#c9d4e1;background:#e8edf3;color:#778497;cursor:not-allowed}.detail-action-context{display:flex;align-items:flex-end;flex-direction:column;gap:3px;text-align:right}.detail-action-context span{color:var(--muted);font-size:12px}.detail-action-context a{margin-top:3px;color:var(--accent);font-size:12px;font-weight:700}.current-certificate{margin:0}
@media(max-width:760px){.detail-actions{align-items:stretch;flex-direction:column}.detail-action-buttons{align-items:stretch;flex-direction:column}.detail-action-buttons button{width:100%}.detail-action-context{align-items:flex-start;text-align:left}.detail-header h1{font-size:32px}}
@media(prefers-reduced-motion:no-preference){a,button,input,select,summary{transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .08s ease}}
.update-meta{margin:6px 0 0;color:#7a899d;font-size:12px;font-variant-numeric:tabular-nums}
.sidebar{overflow-y:auto}
.foundation-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.foundation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.master-record{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr);gap:22px;padding:17px 0;border-top:1px solid var(--line)}.master-record:first-of-type{border-top:0}.master-record strong,.master-record small{display:block}.master-record small{margin-top:4px;color:var(--muted)}.master-code{display:inline-flex;margin-bottom:8px;padding:4px 8px;border-radius:999px;background:#eaf2fd;color:var(--accent);font-size:11px;font-weight:750}.master-record dl{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;margin:0}.master-record dt{color:var(--muted)}.master-record dd{margin:0}.foundation-table{box-shadow:none}.foundation-table table{min-width:900px}@media(max-width:1000px){.foundation-grid{grid-template-columns:1fr}}@media(max-width:760px){.foundation-metrics{grid-template-columns:1fr 1fr}.master-record{grid-template-columns:1fr}}

/* Multi-company context and access administration */
.topbar-controls{display:flex;align-items:center;gap:16px;min-width:0}.entity-switcher{display:flex;align-items:center;gap:8px;margin:0}.entity-switcher label{color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.entity-switcher select{height:40px;max-width:230px;padding:0 32px 0 11px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-weight:650}.access-fieldset{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.user-create-form>.access-fieldset{grid-column:1/-1}.access-fieldset legend{padding:0 6px;color:#27364c;font-size:13px;font-weight:750}.access-fieldset>p{margin:0 0 10px;color:var(--muted);font-size:12px}.access-options,.module-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.access-options label,.module-access-grid label{display:flex!important;align-items:flex-start;gap:9px!important;min-height:52px;padding:9px;border:1px solid #d8e2ef;border-radius:7px;background:#fff;cursor:pointer}.access-options input,.module-access-grid input{width:18px!important;height:18px!important;margin:2px 0 0;flex:none}.access-options span,.module-access-grid span{color:var(--ink)!important}.access-options strong,.access-options small,.module-access-grid strong,.module-access-grid small{display:block}.access-options small,.module-access-grid small{margin-top:2px;color:var(--muted);font-weight:500}.edit-user form{width:min(780px,calc(100vw - 48px))}.edit-user form>.access-fieldset{grid-column:1/-1}.edit-user form>button{grid-column:1/-1}
@media(max-width:1100px){.entity-switcher label{display:none}.entity-switcher select{max-width:170px}.access-options,.module-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.topbar-controls{gap:6px}.entity-switcher select{width:132px;max-width:132px}.account{gap:6px}.access-options,.module-access-grid{grid-template-columns:1fr}.edit-user form>.access-fieldset,.edit-user form>button{grid-column:auto}}
.organization-create{margin:0 0 22px}.organization-create>summary{cursor:pointer;font-weight:800;font-size:1.05rem}.organization-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.organization-form label{font-weight:700;color:var(--ink)}.organization-form input,.organization-form textarea{display:block;width:100%;margin-top:7px}.organization-form .wide-field{grid-column:span 2}.organization-form .form-actions{justify-content:flex-end}@media(max-width:900px){.organization-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.organization-form{grid-template-columns:1fr}.organization-form .wide-field{grid-column:auto}}
