@charset "UTF-8";

.access-waiting{max-width:720px;margin:35px auto 70px}.access-waiting .landing-actions{flex-wrap:wrap;margin-bottom:0}

.users-card{margin-bottom:30px}
.users-card td{vertical-align:top}
.users-card td:first-child{overflow-wrap:anywhere}
.users-access-form{min-width:300px;flex-wrap:nowrap;align-items:center}
.users-access-form select{min-width:190px;flex:1}
.users-access-form .button{white-space:nowrap}
.users-customer-picker{max-width:560px;margin-top:22px}
.users-customer-picker select{width:100%}
.users-heading .customer-context{min-width:0;overflow-wrap:anywhere}
.users-toolbar{gap:20px}
.users-toolbar .button{flex-shrink:0}
.users-toolbar .section-description{margin-bottom:0}
.users-list-tools{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px 24px;margin:24px 0 18px}
.users-search-field{flex:1;min-width:220px;max-width:540px}
.users-count{margin:0 0 12px;color:var(--muted);font-size:12px}
.user-identity{min-width:170px;max-width:380px;overflow-wrap:anywhere}
.user-identity>strong{display:block;font-size:14px;font-weight:550}
.user-object-id{display:block;margin-top:5px;color:var(--muted);font:11px/1.6 ui-monospace,Consolas,monospace;overflow-wrap:anywhere}
.user-object-id summary{cursor:pointer;width:fit-content}
.user-access-status{display:inline-block;margin-top:7px;padding:4px 9px;border-radius:99px;font-size:11px;font-weight:550;line-height:1.4}
.user-access-status.pending{background:#faf0d7;color:#805011}
.user-access-status.neutral{background:#f0ede7;color:#615b51}
.user-access-status.success{background:#eaf4ed;color:#2f6845}
.user-access-status.error{background:#faeae5;color:#943e32}
.users-row-highlight>td{background:#fff6eb}
.users-row-highlight>td:first-child{box-shadow:inset 3px 0 var(--orange);padding-left:12px}
.users-card .users-role-summary{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);line-height:1.7}
.access-feedback{padding:12px 15px;border:1px solid var(--line);border-radius:10px;background:#f5f2ed;color:var(--muted);font-size:13px;line-height:1.6;overflow-wrap:anywhere;margin:18px 0}
.access-feedback:empty{display:none}
.access-feedback.success{border-color:#c4d8c9;background:#eef5ef;color:#2d623c}
.access-feedback.error{border-color:#e1b9ae;background:#fff1ec;color:#873421}
.access-feedback.warning{border-color:#e4cf9d;background:#fff8e9;color:#78500e}
#users-preset-ids{display:block;width:100%;min-height:118px;resize:vertical;border:1px solid #d9d3c9;border-radius:9px;padding:12px 14px;background:#fff;color:var(--ink);font:13px/1.7 ui-monospace,Consolas,monospace}
#users-preset-ids::placeholder{color:#8b8379}
#users-preset-fields:disabled #users-preset-ids{background:#f4f2ee}
#users-preset-panel .field-help{margin:8px 0 0;line-height:1.6}
.users-preset-grid{display:grid;grid-template-columns:minmax(220px,420px) auto;align-items:start;gap:16px 24px;margin-top:22px}
.users-preset-actions{padding-top:25px}
#users-preset-submit{min-width:125px;min-height:44px}
#users-preset-panel .users-preset-boundary{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);max-width:810px}
.users-match-list{display:grid;gap:10px;margin:16px 0}
.users-match{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fcfbf8}
.users-match-copy{flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px}
.users-match-copy>strong{display:block;font-weight:550}
.users-match-copy p{margin:4px 0;color:var(--muted);font-size:12px}
.users-match .button{flex-shrink:0}
@media(max-width:700px){
  .users-heading{align-items:flex-start;flex-direction:column;gap:18px}
  .users-heading .customer-context{align-items:flex-start;text-align:left;max-width:100%}
  .users-toolbar{align-items:flex-start;flex-wrap:wrap}
  .users-customer-picker{max-width:100%}
  .users-list-tools{display:block}
  .users-search-field{min-width:0;max-width:none}
  .users-count{margin:10px 0 0}
  .users-preset-grid{grid-template-columns:1fr;gap:16px}
  .users-preset-actions{padding-top:0}
  #users-preset-submit{width:100%}
  .users-match{align-items:flex-start;flex-direction:column;gap:10px}
}

.consent-actions{display:flex;flex-wrap:wrap;gap:8px}.setup-step #setup-consent-url{min-height:112px;overflow-wrap:anywhere;word-break:break-all}

.setup-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 32px)}.setup-step{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.setup-step h3{font-size:17px}.setup-step textarea{width:100%;resize:vertical;min-height:100px;border:1px solid #d9d3c9;border-radius:8px;padding:10px;font:12px Consolas,monospace;color:var(--ink);background:#fff}.setup-step .checkbox-label{margin:14px 0}.setup-dialog #setup-tenant{overflow-wrap:anywhere;font-size:11px}.setup-step .button{margin-top:6px}

:root{font-family:Outfit,"Segoe UI",Arial,sans-serif;color:#292520;background:#f7f5f1;font-synthesis:none;--orange:#ba3d0c;--muted:#686259;--line:#e4dfd7;--surface:#fff;--ink:#292520;--soft:#f1ece5}
*{box-sizing:border-box}body{margin:0;line-height:1.55}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:var(--orange)}:focus-visible{outline:3px solid #28719b;outline-offset:4px}[hidden]{display:none!important}.skip-link{position:absolute;top:-90px;left:16px;padding:12px;background:#fff;z-index:10}.skip-link:focus{top:12px}.site-header{max-width:1280px;margin:auto;padding:27px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.wordmark{display:flex;align-items:center;gap:13px;font-size:23px;letter-spacing:.21em;font-weight:600;text-decoration:none;color:var(--ink);white-space:nowrap}.brand-mark{width:15px;height:22px;background:#ed5717;transform:skew(-17deg);margin-right:2px}.header-end{display:flex;align-items:center;gap:22px}.connection-status{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:600;border:1px solid var(--line);padding:4px 11px;border-radius:99px;background:#f4f2ee;color:var(--muted)}main{max-width:1280px;margin:auto;padding:48px 40px 35px}.hero{display:flex;justify-content:space-between;gap:40px;margin-bottom:29px;align-items:center}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin:0 0 10px}h1{font-size:clamp(27px,3.2vw,42px);font-weight:550;letter-spacing:-.04em;line-height:1.15;margin:0 0 16px;max-width:650px}h2{font-size:22px;line-height:1.25;font-weight:550;letter-spacing:-.02em;margin:0 0 12px}h3{font-weight:550;font-size:18px;margin:0 0 6px}.lead{color:var(--muted);font-size:15px;margin:0;max-width:650px}.auth-panel{min-width:200px;text-align:right;max-width:280px;font-size:13px;overflow-wrap:anywhere}.auth-panel p{margin:0 0 10px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:42px;border-radius:9px;border:1px solid transparent;padding:9px 15px;font-size:13px;font-weight:550;line-height:1.35;text-decoration:none}.primary{background:var(--ink);color:#fff}.primary:hover:not(:disabled){background:#453b31}.secondary{border-color:var(--line);background:#fff;color:var(--ink)}.secondary:hover:not(:disabled){background:#f5f1eb}.danger{border-color:#e3bfb8;background:#fff;color:#a4392c}.danger:hover:not(:disabled){background:#fff1ed}.notice{display:flex;align-items:flex-start;gap:10px;padding:13px 16px;border:1px solid var(--line);border-radius:10px;font-size:13px;background:#f0ede7;margin-bottom:26px}.notice.error{border-color:#e1b9ae;background:#fff1ec;color:#873421}.notice.success{border-color:#c4d8c9;background:#eef5ef;color:#2d623c}.status-dot{flex:0 0 6px;width:6px;height:6px;margin-top:7px;border-radius:99px;background:currentColor;color:#b88a53}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.stat-card{padding:22px 25px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.stat-card p{font-size:13px;font-weight:550;margin:0 0 9px}.stat-card strong{display:block;font-size:37px;font-weight:500;letter-spacing:-.05em;line-height:1.15;margin-bottom:8px}.stat-card span{font-size:12px;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:27px}.attempts-card{margin-bottom:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}.section-heading h2{margin-bottom:0}.list-status{display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:12px;white-space:nowrap}.list-status .status-dot{color:#768f77;margin-top:6px}.section-description{font-size:13px;color:var(--muted);margin:12px 0 23px;max-width:810px}.empty-state{text-align:center;border:1px dashed #dfd8cd;border-radius:10px;padding:29px 20px 34px;background:#fcfbf8}.empty-symbol{display:grid;place-items:center;width:37px;height:37px;margin:0 auto 12px;color:#a56737;background:#f1e9dd;border-radius:11px;font-size:23px}.empty-state p{font-size:13px;max-width:510px;margin:0 auto;color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{font-weight:500;color:var(--muted);font-size:12px;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 12px;border-bottom:1px solid var(--line);vertical-align:middle}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}tbody tr:last-child td{border-bottom:0}.device-name{font-size:14px;font-weight:550;max-width:300px;overflow-wrap:anywhere}.attempt-id{color:var(--muted);font-size:10px;display:block;margin-top:3px;max-width:290px;overflow-wrap:anywhere}.mono{font-family:Consolas,"SFMono-Regular",monospace}.badge{display:inline-block;padding:4px 9px;border-radius:99px;font-size:11px;font-weight:550;white-space:nowrap;line-height:1.4}.badge.waiting{color:#8b5410;background:#faf0d7}.badge.active{color:#2e637a;background:#eaf3f7}.badge.complete{color:#2f6845;background:#eaf4ed}.badge.failed{color:#943e32;background:#faeae5}.badge.neutral{color:#615b51;background:#f0ede7}.badge.stalled{color:#8b5410;background:#faf0d7;margin-left:6px}.badge.network{display:inline-block;margin-top:6px;color:#943e32;background:#faeae5;white-space:normal;max-width:300px;overflow-wrap:anywhere}.filter-chip{display:inline-flex;align-items:center;min-height:33px;padding:6px 12px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px;font-weight:550;white-space:nowrap}.filter-chip:hover:not(:disabled){background:#f5f1eb}.filter-chip.active,.filter-chip[aria-pressed=true]{border-color:#e0c9a4;background:#faf0d7;color:#8b5410}.row-actions{display:flex;gap:7px}.row-actions .button{min-height:33px;font-size:12px;padding:6px 11px}.decision-note{font-size:11px;color:var(--muted);max-width:150px;overflow-wrap:anywhere}.date-cell{white-space:nowrap;color:var(--muted);font-size:12px}.bottom-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.bottom-grid h2{font-size:21px}fieldset{padding:0;border:0;margin:0;min-width:0}.field{flex:1;min-width:0}label{font-size:12px;display:block;margin-bottom:7px;font-weight:550}input,select{width:100%;min-height:44px;border:1px solid #d9d3c9;border-radius:8px;padding:9px 11px;color:var(--ink);background:#fff;font-size:13px}input::placeholder{color:#8b8379}fieldset:disabled input,fieldset:disabled select{background:#f4f2ee}.environment-details{font-size:12px;margin:0}.environment-details div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 0;border-top:1px solid #dfd9cf}.environment-details dt{color:var(--muted)}.environment-details dd{margin:0;max-width:65%;overflow-wrap:anywhere;text-align:right}.site-footer{max-width:1280px;margin:auto;padding:0 40px 25px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{width:min(570px,calc(100vw - 32px));border:1px solid var(--line);border-radius:17px;padding:0;color:var(--ink);box-shadow:0 20px 80px #201a1a30}dialog::backdrop{background:#24201ab0}.dialog-content{padding:30px}.dialog-content h2{font-size:24px}.dialog-content p:not(.eyebrow){font-size:13px;color:var(--muted);margin-bottom:22px}.dialog-content label{margin-top:17px}.dialog-content .supporting-text{font-size:12px;margin:12px 0 25px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.noscript{position:fixed;bottom:0;padding:18px;width:100%;background:#fff1ec;color:#873421;text-align:center}
@media(max-width:850px){.hero{align-items:flex-start;gap:25px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-panel{min-width:170px}.bottom-grid{grid-template-columns:1fr}.stat-card{padding:20px}.section-heading{align-items:flex-start}.list-status{white-space:normal;text-align:right}}
@media(max-width:600px){.site-header{padding:20px}.wordmark{font-size:19px;gap:9px}.header-end{gap:8px}main{padding:30px 20px}.hero{display:block}.auth-panel{text-align:left;max-width:none;margin-top:20px}.stats-grid{gap:8px}.stat-card{padding:14px 11px;border-radius:11px}.stat-card p{font-size:11px;min-height:34px;margin-bottom:4px}.stat-card strong{font-size:30px}.stat-card span{font-size:10px}.card{padding:21px 17px}.section-heading{display:block}.list-status{margin-top:12px;text-align:left}.section-description{margin-bottom:20px}.site-footer{padding:0 20px 22px;display:block}.site-footer span{display:block;margin-bottom:5px}.dialog-content{padding:23px}.dialog-actions{justify-content:stretch}.dialog-actions .button{flex:1}.notice{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.button{transition:background-color .12s ease}}

.site-header .auth-panel{display:flex;align-items:center;gap:12px;min-width:0;max-width:none}.site-header .auth-panel p{margin:0;font-size:12px;max-width:200px}.workspace-navigation{display:flex;gap:6px;margin-left:auto}.nav-button{border:0;background:transparent;padding:10px 13px;color:var(--muted);font-size:13px;border-radius:8px}.nav-button[aria-current=page]{background:#ece6dc;color:var(--ink);font-weight:600}.landing-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;padding:38px 0 70px}.landing-copy h1{font-size:clamp(38px,4.5vw,62px);line-height:1.04;letter-spacing:-.055em;margin:22px 0}.landing-lead{font-size:18px;color:var(--muted);max-width:530px;line-height:1.65}.landing-actions{display:flex;gap:24px;align-items:center;margin:30px 0 15px}.landing-actions .button{min-height:49px;padding:13px 20px}.product-link{font-size:13px;text-decoration:none;color:var(--ink)}.landing-caption{font-size:12px;color:var(--muted)}.deployment-illustration{background:#eee8de;border:1px solid #e1d8cb;border-radius:20px;padding:25px}.illustration-heading{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.15em;margin:4px 0 25px;color:#6f6658}.illustration-heading .brand-mark{width:9px;height:15px}.workflow-step{display:flex;align-items:center;gap:15px;background:#fcfbf8;border:1px solid #e2d9cd;border-radius:11px;padding:20px 15px;margin:11px 0}.step-number{font-size:11px;color:var(--orange);font-family:Consolas,monospace}.workflow-step strong{font-size:14px}.workflow-step p{font-size:12px;color:var(--muted);margin:3px 0 0}.step-symbol{margin-left:auto;color:var(--orange);font-size:21px}.illustration-footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin:20px 0 1px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid var(--line);padding:42px 0}.feature-number{font-size:10px;letter-spacing:.12em;color:var(--orange)}.product-grid h2{margin:15px 0;font-size:24px}.product-grid p{font-size:14px;color:var(--muted);line-height:1.7}.product-note{border-top:1px solid var(--line);padding:24px 0 30px;display:flex;gap:40px;align-items:baseline}.product-note strong{white-space:nowrap;font-size:13px}.product-note p{font-size:12px;color:var(--muted);max-width:660px;margin:0}.customer-heading{margin-bottom:30px}.customer-heading h1{margin-bottom:12px}.customer-card{margin-bottom:30px}.checkbox-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:400}.checkbox-label input{width:16px;min-height:16px;accent-color:var(--orange)}.customer-context{display:flex;flex-direction:column;align-items:flex-end;max-width:260px;text-align:right}.customer-context strong{font-size:18px}.customer-context span:last-child{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.customer-domain{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.onboarding-help{max-width:740px;margin-bottom:40px}.onboarding-help h2{font-size:19px}.onboarding-help ol{padding-left:21px;font-size:14px;color:var(--muted)}.onboarding-help li{padding:5px 0}.onboarding-help p,.field-help{font-size:12px;color:var(--muted)}.dialog-content .field-help{margin:6px 0 14px;font-size:11px}.customer-actions{display:flex;flex-wrap:wrap;gap:6px}.customer-actions .button{font-size:11px;min-height:32px;padding:6px 9px}
@media(max-width:1000px){.site-header{flex-wrap:wrap}.workspace-navigation{order:3;width:100%;margin-left:0}.landing-hero{gap:30px}.site-header .auth-panel p{max-width:155px}.header-end{margin-left:auto}}
@media(max-width:700px){.landing-hero{grid-template-columns:1fr;padding:10px 0 35px;gap:35px}.landing-copy h1{font-size:42px}.landing-lead{font-size:16px}.deployment-illustration{max-width:450px}.product-grid{grid-template-columns:1fr;gap:20px;padding:30px 0}.product-grid article{border-bottom:1px solid var(--line);padding-bottom:10px}.product-grid h2 br{display:none}.product-note{display:block}.product-note p{margin-top:10px}.site-header .auth-panel{display:block;text-align:right;margin-top:0}.site-header .auth-panel p{display:none}.customer-context{align-items:flex-start;text-align:left;margin-top:20px}.customer-heading .button{margin-top:20px}.landing-actions{gap:18px}.landing-actions .button{font-size:12px}.checkbox-label{margin-top:12px}}
/* Shared media pairing is the primary path; keep the code readable at a glance. */
.claim-card { display: grid; grid-template-columns: 1.1fr 1fr; gap: 3rem; margin-bottom: 1.5rem; border-top: 3px solid #f15214; }
.claim-card h2 { max-width: 23rem; }
.claim-card form { align-self: start; }
.claim-code { font-family: ui-monospace, Consolas, monospace; font-size: 1.45rem; letter-spacing: .12em; text-transform: uppercase; }
.claim-steps { list-style: none; padding: 0; display: grid; gap: .8rem; font-size: .9rem; }
.claim-steps span { color: #b83a0d; font-size: .75rem; margin-right: .8rem; font-weight: 700; }
.claim-card .checkbox-label { margin: 1.2rem 0; align-items: flex-start; }
.known-devices-card { margin-bottom: 24px; }
.inventory-filters { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(180px, 1fr) auto; gap: 16px; align-items: end; }
.inventory-filters .row-actions { flex-wrap: wrap; padding-bottom: 1px; }
.inventory-removed-filter { grid-column: 1 / -1; }
.inventory-pagination { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 20px; }
.inventory-card td { overflow-wrap: anywhere; }
.inventory-card td:last-child .button { white-space: nowrap; }
@media (max-width: 900px) { .inventory-filters { grid-template-columns: 1fr; }.inventory-pagination { flex-wrap: wrap; } }
.known-devices-card .row-actions { flex-wrap: wrap; }
.users-remove-actions { margin-top: 10px; flex-wrap: wrap; }
.known-devices-card td:last-child .decision-note { display: block; max-width: 230px; margin: 0 0 8px; }
.logs-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 20px; margin: 24px 0 16px; }
.logs-filters .field { min-width: 190px; flex: 1; }
.logs-filters .supporting-text { margin-bottom: 10px; }
.logs-run-field { max-width: 100%; margin-bottom: 24px; }
.logs-run-field select { width: 100%; min-width: 0; }
.attempt-history { display: block; margin-top: 6px; color: var(--muted); font-size: .8rem; }
.logs-card td:last-child { min-width: 260px; overflow-wrap: anywhere; }
#logs-context { overflow-wrap: anywhere; }
#logs-more { margin-top: 20px; }
.workspace-switcher { display: flex; align-items: center; gap: 24px; padding: 18px 24px; margin: 0 0 24px; border: 1px solid var(--line); border-left: 3px solid var(--orange); border-radius: 12px; background: var(--surface); }
.workspace-switcher .field { flex: 1; max-width: 700px; }.workspace-switcher .field-help { margin: 5px 0 0; }
.workspace-links-card,.workspace-grants-card { margin-bottom: 24px; }
.workspace-links-card form { padding: 20px 0; border-block: 1px solid var(--line); margin-top: 20px; }
.workspace-link-actions .button { margin: 3px 6px 3px 0; }.workspace-grants-card select { max-width: 240px; }
@media(max-width:700px) { .workspace-switcher { display: block; padding: 16px; }.workspace-switcher .button { margin-top: 12px; } }
.known-devices-card .field-help { margin-top: -12px; }
.workspace-navigation { flex-wrap: wrap; }
.media-status-card { min-width: 0; padding: 20px; }
.media-status-card .section-heading { display: flex; align-items: center; }
.media-status-card .eyebrow { margin-bottom: 4px; }
.media-status-card h2 { font-size: 18px; }
.media-status-card .section-heading .button { min-height: 34px; padding: 6px 12px; }
.media-status-card > .field-help { margin: 8px 0 12px; }
#media-status-message:empty { display: none; }
.media-status-items { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 12px; }
.media-status-item { min-width: 0; border: 1px solid var(--line); border-radius: 10px; padding: 12px; background: #fcfbf8; }
.media-status-heading { display: flex; align-items: flex-start; flex-direction: column; gap: 6px; }
.media-status-heading h3 { margin: 0; font-size: 13px; }
.media-status-item .environment-details { margin-top: 8px; }
.media-status-item .environment-details div { padding: 4px 0; gap: 8px; align-items: baseline; }
.media-status-item dd { overflow-wrap: anywhere; }
#m365-xml { font-family: ui-monospace, Consolas, monospace; font-size: 12px; width: 100%; }
#m365-summary { padding: 12px 18px; background: #f4efe7; border-radius: 10px; margin-bottom: 18px; }
#m365-summary p { margin: 6px 0; }
#m365-deployments { overflow-wrap: anywhere; }
.connection-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.connection-status.connected { color: #2f6845; background: #eaf4ed; border-color: #c7dece; }
.connection-status.error { color: #943e32; background: #faeae5; border-color: #e7c5bc; }
.m365-configuration { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px; }
#m365-page .card { margin-bottom: 24px; min-width: 0; }
#m365-page label { margin-top: 20px; }
#m365-page h2 { font-size: 21px; }
#m365-xml { resize: vertical; min-height: 220px; border: 1px solid #d9d3c9; border-radius: 8px; padding: 12px; }
@media (max-width: 800px) { .m365-configuration { grid-template-columns: 1fr; gap: 0; } }
.connection-status-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 18px; margin: 24px 0; }
.connection-status-card { margin: 0; padding: 24px; }
.connection-status-card h2 { font-size: 18px; margin-bottom: 12px; }
.connection-status-card strong { display: block; font-size: 14px; }
.connection-status-card .field-help { margin: 12px 0 0; }
.connection-status-card .button { margin-top: 18px; }
.connection-status-card .button + .button { margin-left: 8px; }
/* The Intune and zero-touch cards state their answer as a badge line instead of a bold label. */
.status-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font-size: 13px; }
.status-line .badge { font-size: 12px; padding: 5px 11px; }
.connection-status-card .checkbox-label { margin: 14px 0 0; }
.connection-status-card fieldset .button { margin-top: 14px; }
#autopilot-dialog label { margin-top: 18px; }
.administration-back { margin-bottom: 24px; }
/* Legal links in the footer: plain anchors in the footer's muted text, with a visible focus ring. */
.site-footer { flex-wrap: wrap; align-items: baseline; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.site-footer nav a { color: var(--muted); text-decoration: underline; text-underline-offset: 2px; }
.site-footer nav a:hover { color: var(--ink); }
.site-footer nav a:focus-visible { outline: 3px solid #28719b; outline-offset: 3px; border-radius: 3px; }
/* Boot from home sits on the Deployment networks card in the zero-touch shape: a badge line, a sentence, the controls. */
.home-setting { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--line); }
.home-setting h3 { font-size: 14px; margin: 0 0 10px; }
.home-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 12px; }
.home-controls .checkbox-label { margin: 0; }
.home-controls select { width: auto; min-width: 150px; min-height: 38px; }
.connection-status-card .home-controls .button { margin-top: 0; }
/* The plan (licence tier): a select beside Save plan in the customer record, and on the Plan card for Forge administrators. */
.plan-field { display: flex; gap: 8px; align-items: center; }
.plan-field select { flex: 1; min-width: 0; }
.plan-field .button { margin: 0; white-space: nowrap; }
.plan-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.plan-controls select { width: auto; min-width: 150px; min-height: 38px; }
.connection-status-card .plan-controls .button { margin-top: 0; }
/* Saved Autopilot group tags are a list with Remove buttons and an Add tag row. */
.tag-list { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.tag-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 0 6px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; }
.tag-name { overflow-wrap: anywhere; }
.tag-row .button, .tag-add .button { min-height: 34px; font-size: 12px; padding: 6px 11px; margin: 0 6px 0 0; }
.tag-add { display: flex; gap: 8px; align-items: center; }
.tag-add input { flex: 1; min-width: 0; }
.tag-add .button { margin: 0; }
.field-label { font-size: 12px; font-weight: 550; margin: 18px 0 0; }
.administration-details { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(0, 3fr); gap: 12px 24px; font-size: 14px; }
.administration-details dt { color: var(--muted); }
.administration-details dd { margin: 0; overflow-wrap: anywhere; }
#administration-configuration summary { cursor: pointer; font-weight: 700; }
.driver-filters { display: grid; grid-template-columns: minmax(190px, 2fr) repeat(4, minmax(120px, 1fr)) auto; gap: 18px; align-items: end; }
.driver-filters .field { margin: 0; }
#drivers-body td { overflow-wrap: anywhere; }
#drivers-body td:first-child { min-width: 220px; max-width: 390px; }
#drivers-body td:nth-child(4) { max-width: 240px; }
#drivers-body .field-help { display: block; margin-top: 6px; }
@media (max-width: 1100px) { .driver-filters { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .driver-filters { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .administration-details { grid-template-columns: 1fr; gap: 6px; } .administration-details dd { margin-bottom: 12px; } }
#customer-sync-schedule .field { max-width: 360px; margin-top: 16px; }
#customer-sync-now { margin-top: 16px; }
.attempt-customer { display: block; margin-top: 8px; font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.attempt-progress-cell { min-width: 235px; }
.attempt-stages { display: flex; list-style: none; padding: 0; margin: 12px 0 6px; gap: 5px; }
.attempt-stages li { flex: 1; border-top: 3px solid #ded9d0; padding-top: 5px; color: var(--muted); font-size: 10px; white-space: nowrap; }
.attempt-stages li.done { border-color: #51705a; color: #36533e; }
.attempt-stages li.current { border-color: #cf420c; color: #a43208; font-weight: 700; }
.attempt-stage-detail { margin: 8px 0 0; max-width: 270px; font-size: 12px; color: var(--muted); }
.attempt-refresh-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.attempt-refresh-controls .field-help { margin: 0; }
.attempts-card .decision-note { display: block; max-width: 160px; overflow-wrap: anywhere; margin-bottom: 8px; }
.list-status.offline .status-dot { background: #b64629; }
.list-status.syncing .status-dot { background: #b68841; }
.nav-button[aria-current=true] { background: #ece6dc; color: var(--ink); font-weight: 600; }
@media (max-width: 760px) { .claim-card { grid-template-columns: 1fr; gap: 1.25rem; } }
/* Site delivery: enrolled caches, the published installer and the customer's driver models. */
#delivery-caches td { overflow-wrap: anywhere; vertical-align: top; }
#delivery-caches td:first-child { min-width: 150px; }
#delivery-caches .field-help, #delivery-models-body .field-help, #delivery-caches td .mono { display: block; }
#delivery-caches .field-help, #delivery-models-body .field-help { margin-top: 6px; }
#delivery-caches td .mono { font-size: 11px; }
#delivery-caches .row-actions { flex-wrap: wrap; }
#delivery-caches td:last-child .field-help { max-width: 260px; margin: 0 0 8px; }
#delivery-installer-title { margin-top: 24px; }
.delivery-installer { display: grid; gap: 10px; margin: 0 0 16px; }
.delivery-installer-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; font-size: 13px; }
.delivery-installer-row strong { min-width: 52px; }
.delivery-installer-row .mono { font-size: 11px; color: var(--muted); overflow-wrap: anywhere; }
.delivery-installer .field-help { margin: 0; overflow-wrap: anywhere; }
#delivery-models-card .section-heading .button { flex-shrink: 0; }
#delivery-models-body td { overflow-wrap: anywhere; vertical-align: top; }
.delivery-models-form { display: grid; grid-template-columns: repeat(3, minmax(140px, 1fr)) auto; gap: 18px; align-items: end; margin-top: 20px; }
.delivery-models-form .field { margin: 0; }
@media (max-width: 800px) { .delivery-models-form { grid-template-columns: 1fr; } }
/* Forge PXE Responder (docs/pxe-responder.md): responders table and the settings form. */
#delivery-pxe td { overflow-wrap: anywhere; vertical-align: top; }
#delivery-pxe .field-help { display: block; margin: 4px 0 0; }
.delivery-pxe-form { margin: 22px 0 8px; padding-top: 18px; border-top: 1px solid var(--line); max-width: 640px; }
.delivery-pxe-form .field { margin-top: 14px; }
.delivery-pxe-form .field-help { margin: 6px 0 0; }
.delivery-pxe-form .row-actions { margin-top: 18px; }
.delivery-pxe-architectures { display: flex; gap: 22px; margin-top: 14px; }
.delivery-pxe-architectures legend { font-size: 12px; font-weight: 550; margin-bottom: 4px; padding: 0; }
#delivery-pxe-networks { display: block; width: 100%; min-height: 96px; resize: vertical; border: 1px solid #d9d3c9; border-radius: 8px; padding: 10px 11px; background: #fff; color: var(--ink); font: 13px/1.6 ui-monospace, Consolas, monospace; }
#delivery-pxe-fields:disabled #delivery-pxe-networks { background: #f4f2ee; }
/* Portal monitoring (rank 8): notification bell, dashboards and the status board. */
.notification-bell { position: relative; display: flex; align-items: center; }
.bell-button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 99px; background: #fff; color: var(--ink); }
.bell-button:hover:not(:disabled) { background: #f5f1eb; }
.bell-button[aria-expanded=true] { background: #ece6dc; }
.bell-icon { display: block; width: 14px; height: 15px; border: 2px solid currentColor; border-bottom-width: 3px; border-radius: 8px 8px 2px 2px; position: relative; }
.bell-icon::after { content: ""; position: absolute; left: 50%; bottom: -7px; width: 6px; height: 3px; margin-left: -3px; border-radius: 0 0 4px 4px; background: currentColor; }
.bell-count { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 99px; background: var(--orange); color: #fff; font-size: 11px; font-weight: 650; line-height: 20px; text-align: center; }
.notifications-panel { position: absolute; top: 48px; right: 0; z-index: 20; width: min(440px, calc(100vw - 32px)); max-height: min(70vh, 640px); overflow: auto; padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: 0 18px 60px #201a1a26; text-align: left; }
.notifications-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; }
.notifications-heading h2 { font-size: 17px; margin: 0; }
.notifications-heading .button { min-height: 32px; padding: 5px 10px; font-size: 12px; }
.notifications-filter { margin: 4px 0 10px; font-size: 12px; }
.notifications-empty { padding: 18px 12px; border: 1px dashed #dfd8cd; border-radius: 10px; background: #fcfbf8; color: var(--muted); font-size: 13px; text-align: center; }
.notifications-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.notification { padding: 12px 14px; border: 1px solid var(--line); border-left: 3px solid #b88a53; border-radius: 10px; background: #fcfbf8; }
.notification.warning { border-left-color: #d9a441; }
.notification.critical { border-left-color: #b64629; }
.notification.info { border-left-color: #7d9ab0; }
.notification.read { opacity: .72; }
.notification-heading { display: flex; align-items: center; gap: 8px; }
.notification-heading strong { font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.notification-detail { margin: 6px 0 4px; font-size: 12px; color: var(--muted); line-height: 1.55; overflow-wrap: anywhere; white-space: pre-line; }
.notification-meta { margin: 0; font-size: 11px; color: var(--muted); }
.notification .button { margin-top: 8px; min-height: 30px; padding: 4px 10px; font-size: 12px; }
.dashboard-controls { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.window-chips { display: flex; gap: 6px; }
.chart-card { margin-bottom: 24px; }
.chart-card .section-heading { align-items: flex-start; }
.chart-legend { display: flex; gap: 16px; list-style: none; margin: 0; padding: 0; font-size: 12px; color: var(--muted); white-space: nowrap; }
.chart-legend li { display: flex; align-items: center; gap: 6px; }
.swatch { display: inline-block; width: 10px; height: 10px; border-radius: 2px; background: #cfc8bc; }
.swatch.completed, .bar.completed { fill: #4f8a63; background: #4f8a63; }
.swatch.failed, .bar.failed { fill: #c2503a; background: #c2503a; }
.bar.started { fill: #cfc8bc; }
.chart-scroll { overflow-x: auto; }
.deployment-chart { display: block; max-width: 100%; }
.chart-grid { stroke: #e9e4dc; stroke-width: 1; }
.chart-axis { fill: var(--muted); font-size: 10px; font-family: inherit; }
.chart-card .empty-state, .dashboard-grid .empty-state, #fleet-customers-empty, #fleet-reasons-empty, #status-notifications-empty { margin-top: 12px; padding: 22px 16px; font-size: 13px; color: var(--muted); }
.dashboard-grid { grid-template-columns: 1fr 1fr; margin-bottom: 24px; }
.dashboard-grid td, #fleet-customers-body td { overflow-wrap: anywhere; }
.fleet-trend { width: 1%; white-space: nowrap; }
.sparkline { display: block; }
.fleet-failed { color: #943e32; font-weight: 600; }
.fleet-row-failures > td:first-child { box-shadow: inset 3px 0 #c2503a; padding-left: 12px; }
#fleet-page .card, #status-page .card { margin-bottom: 24px; }
.status-summary { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 20px; }
.status-chip { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px; border: 1px solid var(--line); border-radius: 99px; background: #fff; font-size: 12px; font-weight: 550; }
.status-chip::before, .status-light { content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 99px; background: #a39b90; flex-shrink: 0; }
.state-ok > .status-tile-heading .status-light, .status-chip.state-ok::before { background: #3f9d5c; box-shadow: 0 0 0 3px #3f9d5c26; }
.state-warning > .status-tile-heading .status-light, .status-chip.state-warning::before { background: #e0a030; box-shadow: 0 0 0 3px #e0a03026; }
.state-critical > .status-tile-heading .status-light, .status-chip.state-critical::before { background: #c2503a; box-shadow: 0 0 0 3px #c2503a26; }
.status-board { display: grid; gap: 24px; margin-bottom: 24px; }
.status-group h2 { font-size: 15px; letter-spacing: .02em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
.status-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 14px; }
.status-tile { padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); min-width: 0; }
.status-tile.state-critical { border-color: #e3bfb8; background: #fff7f4; }
.status-tile.state-warning { border-color: #ead9b3; background: #fffaf0; }
.status-tile-heading { display: flex; align-items: center; gap: 9px; margin-bottom: 10px; }
.status-tile-heading h3 { flex: 1; margin: 0; font-size: 14px; }
.status-state { font-size: 11px; color: var(--muted); white-space: nowrap; }
.status-value { display: block; font-size: 22px; font-weight: 500; letter-spacing: -.03em; margin-bottom: 6px; overflow-wrap: anywhere; }
.status-detail { margin: 0 0 8px; font-size: 12px; color: var(--muted); line-height: 1.55; overflow-wrap: anywhere; }
.status-checked { margin: 0; font-size: 11px; color: var(--muted); }
@media (max-width: 850px) { .dashboard-grid { grid-template-columns: 1fr; } .dashboard-controls { width: 100%; } }
@media (max-width: 700px) { .notifications-panel { position: fixed; top: 76px; right: 16px; left: 16px; width: auto; } }
/* Scrolling tables (2026-10-05): the Known devices and Device deployments tables keep a bounded height inside their cards and
   scroll on their own, with the header row pinned. The filter rows above them reuse the inventory filter grid. */
.table-scroll { max-height: 440px; overflow: auto; border: 1px solid var(--line); border-radius: 12px; padding: 0 16px; overscroll-behavior: contain; }
.table-scroll thead th { position: sticky; top: 0; z-index: 1; background: var(--surface); }
.known-devices-filters, .attempts-filters { margin: 0 0 16px; grid-template-columns: minmax(200px, 1.4fr) minmax(170px, .8fr) auto; }
.known-devices-filters .checkbox-label { margin: 0 0 11px; }
.known-devices-card .device-logs { margin-top: 8px; min-height: 33px; font-size: 12px; padding: 6px 11px; }
.build-progress { display: block; width: min(420px, 100%); height: 8px; margin: -6px 0 14px; accent-color: var(--orange); }
/* Action results (2026-10-05): confirmations and failures pop up in the lower-left corner instead of inline. A confirmation
   fades out through its animation (hover or focus pauses it); an error stays until dismissed. The stack keeps at most four. */
.toast-stack { position: fixed; left: 24px; bottom: 24px; z-index: 40; display: flex; flex-direction: column; gap: 10px; width: min(440px, calc(100vw - 48px)); pointer-events: none; }
.toast { pointer-events: auto; display: flex; align-items: flex-start; gap: 12px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); box-shadow: 0 18px 60px #201a1a26; font-size: 13px; line-height: 1.5; }
.toast.success { border-color: #c4d8c9; background: #eef5ef; color: #2d623c; }
.toast.error { border-color: #e1b9ae; background: #fff1ec; color: #873421; }
.toast .status-dot { color: currentColor; }
.toast-text { flex: 1; overflow-wrap: anywhere; }
.toast-dismiss { flex: 0 0 auto; border: 0; background: transparent; color: inherit; font-size: 18px; line-height: 1; padding: 0 2px; margin: -2px -4px 0 0; cursor: pointer; }
.toast:not(.error) { animation: toast-life 9s linear forwards; }
.toast:hover, .toast:focus-within { animation-play-state: paused; }
@keyframes toast-life { 0%, 88% { opacity: 1; } 100% { opacity: 0; } }
@media (max-width: 700px) { .toast-stack { left: 16px; right: 16px; bottom: 16px; width: auto; } }
