:root{--font-ui: "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: Consolas, "Courier New", monospace;--text-caption: 500 12.5px/16px var(--font-ui);--text-data: 400 14px/20px var(--font-ui);--text-body: 400 15px/22px var(--font-ui);--text-section: 600 16px/24px var(--font-ui);--text-title: 700 20px/28px var(--font-ui);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 48px;--radius-control: 6px;--radius-card: 8px;--radius-dot: 999px;--bg: #f5f6f8;--surface: #ffffff;--surface-sunken: #eef1f5;--text: #1c2430;--text-muted: #4a5568;--border: #d7dde6;--border-strong: #86929f;--accent: #1f4e8c;--accent-hover: #17406f;--focus: #0f62fe;--row-zebra: #fafbfc;--row-hover: #f0f4fa;--synced: #1a7f37;--synced-tint: #eaf5ec;--failed: #b42318;--failed-tint: #fdeceb;--pending: #946800;--pending-tint: #fff6e0;--color-bg: var(--bg);--color-surface: var(--surface);--color-text: var(--text);--color-text-muted: var(--text-muted);--color-border: var(--border);--color-accent: var(--accent);--color-accent-hover: var(--accent-hover);--color-focus: var(--focus);--color-synced: var(--synced);--color-failed: var(--failed);--color-pending: var(--pending);font-family:var(--font-ui);color:var(--text);background:var(--bg);font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}*{box-sizing:border-box}body{margin:0;background:var(--bg)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--surface);border-bottom:1px solid var(--border)}.app-title{font:600 18px/27px var(--font-ui);color:var(--accent);text-decoration:none}.app-title:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-header-controls{display:flex;align-items:center;gap:var(--space-4)}.freshness{display:flex;align-items:center;gap:var(--space-2);font:var(--text-caption);color:var(--text-muted)}.freshness-value{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.freshness-unknown{font-weight:400;font-style:italic}.refresh-button,.next-page-button,.apply-button{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-control);border:1px solid var(--border-strong);background:var(--surface);color:var(--accent);font:600 14px/20px var(--font-ui);cursor:pointer}.refresh-button:hover,.next-page-button:hover{background:var(--row-hover)}.refresh-button:disabled{color:var(--text-muted);cursor:default}.refresh-button:focus-visible,.next-page-button:focus-visible,.apply-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.page{display:flex;flex-direction:column}.page-main{width:min(1160px,100% - 2 * var(--space-5));margin:0 auto;padding:var(--space-6) 0 var(--space-8)}h1{font:var(--text-title);margin:0}.page-main h1,.login-card h1{font:var(--text-title)}.page-scope{font:var(--text-body);color:var(--text-muted);margin:var(--space-1) 0 0}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:var(--space-5) 0 var(--space-4)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;margin:0 0 var(--space-2);padding:0;font:var(--text-caption);color:var(--text-muted)}.breadcrumbs li+li:before{content:"›";margin-right:var(--space-1);color:var(--text-muted)}.breadcrumbs a{color:var(--accent);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline;color:var(--accent-hover)}.breadcrumbs a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.breadcrumbs [aria-current=page]{font-weight:600}.period-selector{margin:0}.period-segmented{display:inline-flex;align-items:center;background:var(--surface-sunken);border-radius:var(--radius-card);padding:2px;gap:0}.period-segmented label{position:relative;display:inline-flex;align-items:center}.period-segmented input[type=radio]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer;min-height:44px}.period-segmented .segment{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-control);font:var(--text-body);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.period-segmented input[type=radio]:checked+.segment{background:var(--surface);border:1px solid var(--border);box-shadow:0 1px 2px #0f162414;color:var(--accent);font-weight:600}.period-segmented input[type=radio]:hover+.segment{color:var(--text)}.period-segmented input[type=radio]:focus-visible+.segment{outline:2px solid var(--focus);outline-offset:2px}.period-presets{display:contents}.period-presets>.period-segmented{display:inline-flex}.period-custom{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);font:var(--text-body)}.period-custom label{margin-right:var(--space-1);font:var(--text-caption);color:var(--text-muted)}.period-custom input[type=date]{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);font:var(--text-body);background:var(--surface);color:var(--text)}.period-custom input[type=date]:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus)}.apply-button{background:var(--accent);border-color:var(--accent);color:#fff}.apply-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.apply-button:disabled{opacity:.5;cursor:not-allowed}.range-rejection{flex-basis:100%;margin:var(--space-1) 0 0;color:var(--failed);font:600 14px/20px var(--font-ui)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);font:var(--text-data)}th,td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle;height:40px}th{background:var(--surface-sunken);font:600 12.5px/16px var(--font-ui);text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted)}tbody tr:nth-child(2n){background:var(--row-zebra)}tbody tr:hover{background:var(--row-hover)}tbody tr:last-child td{border-bottom:none}.deployment-table a{color:var(--accent);font-weight:600;text-decoration:none}.deployment-table a:hover{text-decoration:underline;color:var(--accent-hover)}.deployment-table a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.counts-triad{display:flex;gap:var(--space-4);flex-wrap:wrap}.count-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-control);text-decoration:none;color:inherit}.count-chip:hover{background:var(--row-hover);border-color:var(--accent);color:var(--accent-hover)}.count-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.count-chip:active{background:var(--surface-sunken)}.count-chip .dot{width:8px;height:8px;border-radius:var(--radius-dot);background:currentColor;flex:0 0 auto}.count-chip .count{font:700 16px/20px var(--font-ui);font-variant-numeric:tabular-nums;color:var(--text)}.count-chip .word{font:var(--text-caption);text-transform:uppercase;letter-spacing:.02em}.count-chip .go{color:var(--text-muted);font-weight:600;margin-left:2px}.count-chip.count-synced .dot,.count-chip.count-synced .word{color:var(--synced)}.count-chip.count-failed .dot,.count-chip.count-failed .word{color:var(--failed)}.count-chip.count-pending .dot,.count-chip.count-pending .word{color:var(--pending)}.count-chip.count-failed.is-emphasis{background:var(--failed-tint);border-color:var(--failed)}.count-chip.count-failed.is-emphasis .count,.count-chip.count-failed.is-emphasis .word,.count-chip.count-failed.is-emphasis .go{color:var(--failed)}.count-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-control);text-decoration:none;color:inherit}.count-link:before{content:"";display:inline-block;width:8px;height:8px;border-radius:var(--radius-dot);flex:0 0 auto}.count-link:after{content:"›";color:var(--text-muted);font-weight:600;margin-left:2px}.count-link.count-synced:before{background:var(--synced)}.count-link.count-failed:before{background:var(--failed)}.count-link.count-pending:before{background:var(--pending)}.count-link:hover{background:var(--row-hover);border-color:var(--accent);color:var(--accent-hover)}.count-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.count-value{font:700 16px/20px var(--font-ui);font-variant-numeric:tabular-nums;color:var(--text)}.count-label{font:var(--text-caption);text-transform:uppercase;letter-spacing:.02em}.count-synced .count-value,.count-synced .count-label{color:var(--synced)}.count-failed .count-value,.count-failed .count-label{color:var(--failed)}.count-failed.is-emphasis{background:var(--failed-tint);border-color:var(--failed)}.count-failed.is-emphasis .count-value,.count-failed.is-emphasis .count-label{color:var(--failed)}.count-pending .count-value,.count-pending .count-label{color:var(--pending)}.count-static{display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-control);text-decoration:none;color:inherit}.count-static:before,.count-static:after{content:none}.count-static.count-synced{background:var(--synced-tint)}.count-static.count-failed{background:var(--failed-tint)}.count-static.count-failed.is-emphasis{background:var(--failed-tint);outline:1px solid var(--failed)}.count-static.count-pending{background:var(--pending-tint)}.status-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-dot);font:var(--text-caption);font-weight:600;text-transform:uppercase;letter-spacing:.02em;border:1px solid currentColor}.status-badge.status-synced{color:var(--synced)}.status-badge.status-failed{color:var(--failed)}.status-badge.status-pending{color:var(--pending)}.error-message-cell{max-inline-size:28rem;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}.unmapped-marker{display:inline-block;margin-left:var(--space-1);background:var(--pending-tint);color:var(--pending);border-radius:4px;padding:0 var(--space-1);font:600 12px/16px var(--font-ui);font-weight:600;text-transform:uppercase;letter-spacing:.02em}.state{padding:var(--space-5) var(--space-6);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);margin:var(--space-4) 0}.state p{margin:0 0 var(--space-1)}.state p:last-child{margin-bottom:0}.state-loading{color:var(--text-muted)}.state-error{border-left:2px solid var(--failed);border-color:var(--failed)}.state-error p{color:var(--failed);font-weight:600}.button-retry{min-height:44px;margin-top:var(--space-2);padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--accent);font:600 14px/20px var(--font-ui);cursor:pointer}.button-retry:hover{background:var(--row-hover)}.button-retry:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.state-empty{border-style:dashed}.state-empty-scope{color:var(--text-muted);font:var(--text-caption)}.state-unreachable{border-left:2px solid var(--pending);border-color:var(--pending)}.state-unreachable p{color:var(--pending);font-weight:600}.refresh-banner{margin:var(--space-4) 0;padding:var(--space-2) var(--space-4);background:var(--surface-sunken);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--radius-control);color:var(--text-muted);font:var(--text-caption)}.refresh-banner p{margin:0}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-3);font:var(--text-caption);color:var(--text-muted)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.login-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:120px var(--space-5) var(--space-5);background:var(--bg)}.login-page main{display:flex;flex-direction:column;align-items:center;width:100%}.login-main{width:100%;display:flex;align-items:flex-start;justify-content:center}.login-card{width:min(400px,100%);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:0 4px 16px #0f16240f}.login-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);margin-top:var(--space-1)}.login-tab{min-height:44px;padding:var(--space-2) var(--space-4);border:none;background:transparent;color:var(--text-muted);font:600 15px/20px var(--font-ui);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.login-tab:hover{color:var(--text)}.login-tab:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.login-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.login-otp-prompt{margin:0;color:var(--text);font:var(--text-body)}.login-unavailable{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border-left:2px solid var(--accent);border-radius:0 var(--radius-control) var(--radius-control) 0;color:var(--text-muted);font:var(--text-caption)}.login-unavailable strong{color:var(--text);font-weight:600}.login-unavailable span{color:var(--text-muted)}.login-title{margin:0}.login-subtitle{margin:0;color:var(--text-muted);font:var(--text-body)}.login-field{display:flex;flex-direction:column;gap:var(--space-1);font:var(--text-caption);color:var(--text-muted);font-weight:600}.login-field input{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font:400 15px/22px var(--font-ui)}.login-field input:hover{border-color:var(--accent)}.login-field input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus)}.login-field input:disabled{background:var(--surface-sunken);cursor:not-allowed}.login-submit,.login-secondary{min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-control);font:600 15px/22px var(--font-ui);cursor:pointer}.login-submit{border-color:var(--accent);background:var(--accent);color:#fff}.login-submit:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.login-submit:focus-visible,.login-secondary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.login-submit:disabled{background:var(--text-muted);border-color:var(--text-muted);cursor:not-allowed;opacity:.6}.login-secondary{background:var(--surface);color:var(--accent)}.login-secondary:hover{background:var(--row-hover)}.login-error{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--failed);border-radius:var(--radius-control);background:var(--failed-tint);color:var(--failed);font:var(--text-caption)}.login-error strong{font-weight:600}.login-error span{color:var(--text)}.login-foot{font:var(--text-caption);color:var(--text-muted);text-align:center;margin-top:var(--space-4)}.auth-gate-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font:var(--text-body)}.app-header-user{display:inline-flex;align-items:center;gap:var(--space-3);font:var(--text-caption)}.app-header-user-name{color:var(--text);font-weight:600}.app-header-signout{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--accent);font:600 14px/20px var(--font-ui);cursor:pointer}.app-header-signout:hover{background:var(--row-hover)}.app-header-signout:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-header-user-kind{display:inline-flex;align-items:center;padding:2px var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-dot);background:var(--surface);color:var(--text-muted);font:var(--text-caption);font-weight:600;text-transform:uppercase;letter-spacing:.02em}.app-header-user-kind-employee{border-color:var(--accent);color:var(--accent)}.grouped-deployment-table{display:flex;flex-direction:column}.tpin-group{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-5)}.grouped-deployment-table>.tpin-group:first-child{padding-top:0}.tpin-group+.tpin-group{margin-top:var(--space-5);border-top:1px solid var(--border)}.tpin-group-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;min-height:56px;padding:var(--space-2) 0}.tpin-group-tin{font:var(--text-section);color:var(--text);margin:0}.tpin-group-branch-count{font:var(--text-caption);color:var(--text-muted)}.tpin-group-rollup{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;justify-content:flex-end}.filter-bar{margin:var(--space-4) 0 var(--space-5)}.filter-bar-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.filter-clear-button{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-control);border:1px solid var(--border-strong);background:var(--surface);color:var(--accent);font:600 14px/20px var(--font-ui);cursor:pointer}.filter-clear-button:hover{background:var(--row-hover)}.filter-clear-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.searchable-picker{position:relative;display:flex;flex:0 1 420px;min-width:260px}.picker-input{flex:1;min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font:var(--text-body)}.picker-input::placeholder{color:var(--text-muted)}.picker-input:hover{border-color:var(--accent)}.picker-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus)}.picker-listbox{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;margin:0;padding:var(--space-1) 0;list-style:none;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-popover);max-height:320px;overflow-y:auto}.picker-option{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);cursor:pointer;background:var(--surface);color:var(--text)}.picker-option+.picker-option{border-top:1px solid var(--border)}.picker-option-kind{display:inline-block;min-width:48px;font:var(--text-caption);text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);flex:0 0 auto}.picker-option-label{font:var(--text-data);color:var(--text)}.picker-option--highlight,.picker-option:hover{background:var(--row-hover);box-shadow:inset 2px 0 0 var(--accent)}.picker-option--highlight .picker-option-label,.picker-option:hover .picker-option-label{color:var(--text)}.picker-empty{padding:var(--space-3) var(--space-4);color:var(--text-muted);font:var(--text-body)}.when{display:flex;flex-direction:column;line-height:1.2}.when .ago{font:var(--text-caption);color:var(--text-muted)}.tag{display:inline-block;font:var(--text-caption);background:var(--pending-tint);color:var(--pending);border-radius:4px;padding:2px var(--space-2)}td.mono{font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}td.muted{color:var(--text-muted)}td.nowrap{white-space:nowrap}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.customer-cell{color:var(--text-muted)}.card{position:relative}.card table thead th{position:sticky;top:0;z-index:1}.app-footer{width:min(1160px,100% - 2 * var(--space-5));margin:0 auto;padding:var(--space-6) 0 var(--space-6);text-align:center;font:var(--text-caption);color:var(--text-muted)}.tpin-rollup-strip{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-3) 0 var(--space-4)}.page-title{margin:0}.status-badge--pending{display:inline-flex;align-items:center;min-height:22px;padding:2px var(--space-2);border-radius:var(--radius-dot);background:var(--pending-tint);color:var(--pending);font:var(--text-caption);font-weight:600;text-transform:uppercase;letter-spacing:.02em}.page-title-row{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}
