:root{--ink:#102529;--muted:#617378;--line:#d6e0df;--paper:#f5f8f7;--white:#fff;--teal:#087f86;--teal-soft:#e5f5f3;--orange:#a85d13;--orange-soft:#fff1df;--red:#a33e46;--red-soft:#fae9eb;--purple:#6f5275;--purple-soft:#f2eaf4;--shadow:0 14px 40px rgba(21,52,55,.07)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(rgba(20,55,58,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(20,55,58,.045) 1px,transparent 1px);background-size:36px 36px}button,input,select,textarea{font:inherit}[ng-cloak]{display:none!important}
.app-shell{min-height:100vh;padding-left:248px}.app-shell.is-guest{padding-left:0}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:rgba(255,255,255,.94);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.brand{height:82px;padding:20px;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:21px;font-weight:800;box-shadow:inset 0 0 0 4px rgba(255,255,255,.14)}.brand-mark.large{width:54px;height:54px;margin-bottom:18px}.brand strong,.brand span{display:block}.brand span{color:var(--muted);font-size:12px;margin-top:3px}.sidebar nav{padding:22px 12px;display:grid;gap:6px}.sidebar nav a{text-decoration:none;color:#53666a;padding:11px 13px;border-radius:8px;font-weight:600;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{color:#086d73;background:var(--teal-soft)}.sidebar-user{margin-top:auto;padding:16px;border-top:1px solid var(--line)}.sidebar-user span,.sidebar-user small{display:block}.sidebar-user small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;margin:5px 0 14px}.content{padding:24px 38px 60px;max-width:1680px;margin:auto}.page-header{min-height:172px;background:rgba(255,255,255,.9);border:1px solid var(--line);border-right:6px solid #173e42;border-radius:9px;padding:30px 32px;display:flex;align-items:flex-start;justify-content:space-between;box-shadow:var(--shadow);margin-bottom:24px}.page-header h1{font-size:34px;margin:8px 0 10px;letter-spacing:-.8px}.page-header p:not(.eyebrow){margin:0;color:var(--muted)}.eyebrow{color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.06em;margin:0}.source-time{margin:-5px 0 18px;color:var(--muted);font-size:14px}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.metric{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:150px;padding:20px 17px;box-shadow:var(--shadow)}.metric span,.metric small{display:block;color:var(--muted)}.metric span{font-size:12px;text-transform:uppercase}.metric strong{display:block;font-size:27px;margin:18px 0 10px}.metric small{font-size:12px}.metric.accepted{background:var(--teal-soft);border-color:#9ddbd7}.metric.pending{background:var(--orange-soft);border-color:#edc28e}.metric.rejected{background:var(--red-soft);border-color:#efb7bc}.metric.payout{background:var(--purple-soft);border-color:#d8bfdc}.two-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;margin-top:20px}.panel{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:9px;padding:20px;box-shadow:var(--shadow);margin:0 0 20px}.panel h2{font-size:18px;margin:0 0 18px}.panel-title{border-bottom:1px solid var(--line);margin:-2px 0 10px}.bar-row,.signal,.list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;border-bottom:1px solid #e9eeee}.bar-row:last-child,.signal:last-child,.list-row:last-child{border-bottom:0}.signal strong{font-size:22px}.list-row div:first-child{min-width:0}.list-row strong,.list-row span{display:block}.list-row span{font-size:12px;color:var(--muted);margin-top:4px}.button{appearance:none;border:1px solid var(--line);border-radius:7px;padding:10px 15px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer}.button:hover{filter:brightness(.97)}.button:disabled{opacity:.55;cursor:wait}.button.primary{background:var(--teal);border-color:var(--teal);color:#fff}.button.secondary{background:var(--ink);border-color:var(--ink);color:#fff}.button.ghost{background:transparent}.button.danger{color:var(--red);border-color:#e2b9bd}.button.small{padding:7px 10px;font-size:12px;display:inline-block;margin-left:6px}.button.full{width:100%}.toolbar{display:flex;margin-bottom:14px}.toolbar input{max-width:380px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:14px 15px;border-bottom:1px solid #e8eeee;white-space:nowrap}th{color:var(--muted);font-size:11px;text-transform:uppercase;background:#fbfcfc}td strong,td small{display:block}td small{color:var(--muted);margin-top:4px}.status{display:inline-block!important;width:max-content;padding:5px 8px;border-radius:99px;background:#edf1f1;color:#506165!important;font-size:11px!important;text-transform:uppercase;font-weight:800}.status.enabled,.status.completed,.status.approved{background:var(--teal-soft);color:var(--teal)!important}.status.flagged,.status.processing,.status.pending{background:var(--orange-soft);color:var(--orange)!important}.status.disabled,.status.failed,.status.rejected{background:var(--red-soft);color:var(--red)!important}.empty,.empty-card{text-align:center;color:var(--muted);padding:28px}.empty-card,.notice,.warning,.skeleton{background:#fff;border:1px dashed #b9c8c7;border-radius:8px;padding:28px;margin:0 0 20px}.notice{background:var(--orange-soft);border-style:solid;border-color:#e5bc8c}.warning{background:var(--red-soft);border-style:solid;border-color:#e3b8bc}.feedback{padding:15px 2px;border-bottom:1px solid var(--line)}.feedback div{display:flex;justify-content:space-between;gap:15px}.feedback span{color:var(--muted);font-size:12px}.feedback p{margin:10px 0 0}.form-layout{align-items:start}.form-layout .panel{display:grid;gap:13px}.form-layout .panel h2{margin-bottom:4px}label{display:grid;gap:7px;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid #bdccca;border-radius:7px;background:#fff;padding:11px 12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,127,134,.1)}textarea{min-height:105px;resize:vertical}.form-error{color:var(--red);font-weight:600}.login-page{min-height:calc(100vh - 48px);display:grid;place-items:center}.login-card{width:min(420px,calc(100vw - 36px));padding:38px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 70px rgba(16,37,41,.16)}.login-card h1{font-size:29px;margin:8px 0}.login-card .muted{color:var(--muted);margin:0 0 25px}.login-card label{margin:15px 0}.toast{position:fixed;right:20px;bottom:20px;padding:14px 18px;background:#fff;border-radius:8px;box-shadow:var(--shadow)}.toast.error{border-left:4px solid var(--red)}
.muted{color:var(--muted);font-size:13px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.claim-form{display:grid;gap:18px}.claim-form fieldset{border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;gap:18px;flex-wrap:wrap}.claim-form legend{font-size:13px;font-weight:800;padding:0 7px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.request-card{border-bottom:1px solid var(--line);padding:6px 0 16px}.request-card details{padding:8px 2px}.request-card summary{cursor:pointer;color:var(--teal);font-weight:700}.request-details{margin:12px 0}.request-details p{margin:0}.request-actions{text-align:right}.modal-panel{border-left:4px solid var(--teal)}.text-link{display:block;text-align:center;color:var(--teal);font-weight:700;margin-top:16px;text-decoration:none}.history-panel{margin-top:20px}code{white-space:normal;word-break:break-word;font-size:11px}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 2px 2px;color:var(--muted);font-size:12px}.page-size,.page-buttons{display:flex;align-items:center;gap:12px}.page-size label{display:flex;align-items:center;gap:8px}.page-size select{width:auto;min-width:70px;padding:7px 28px 7px 9px}.page-buttons strong{color:var(--ink);white-space:nowrap}.pagination .button.small{margin:0}
.executive-context{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr) minmax(360px,1fr);align-items:end;gap:28px;border-left:4px solid var(--teal)}.executive-context h2{margin:6px 0 0}.context-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.context-metrics div{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:11px}.context-metrics strong,.context-metrics span{display:block}.context-metrics strong{font-size:22px}.context-metrics span{color:var(--muted);font-size:11px;margin-top:3px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:16px}.section-heading h2{margin:5px 0 0}.section-heading>input{max-width:380px}.table-action{text-align:right}.table-action .button{min-width:82px}
.subtabs{display:flex;gap:4px;margin:0 0 20px;padding:5px;width:max-content;max-width:100%;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.subtabs button{appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:800;padding:11px 16px;border-radius:6px;cursor:pointer}.subtabs button.active{background:var(--teal);color:#fff}.tab-count{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:6px;padding:0 6px;border-radius:99px;background:rgba(16,37,41,.09);font-size:11px}.subtabs button.active .tab-count{background:rgba(255,255,255,.2)}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}.two-columns{grid-template-columns:1fr}.content{padding:20px}.executive-context{grid-template-columns:1fr 1fr}.context-metrics{grid-column:1/-1}}
@media(max-width:760px){.app-shell{padding-left:0;padding-bottom:66px}.sidebar{inset:auto 0 0;width:auto;height:66px;display:block;border:0;border-top:1px solid var(--line)}.brand,.sidebar-user{display:none}.sidebar nav{display:flex;overflow:auto;padding:8px}.sidebar nav a{white-space:nowrap;padding:10px}.content{padding:12px}.page-header{min-height:auto;padding:22px;display:block}.page-header .button{margin-top:18px}.page-header h1{font-size:28px}.metric-grid{grid-template-columns:1fr 1fr}.metric{min-height:128px}.two-columns{gap:0}.pagination{align-items:flex-start;flex-direction:column}.page-size,.page-buttons{width:100%;justify-content:space-between}.executive-context{grid-template-columns:1fr}.context-metrics{grid-column:auto}.section-heading{align-items:stretch;flex-direction:column}.section-heading>input{max-width:none}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}}
.request-card.expanded{padding:12px 0 20px}.request-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:5px 2px 14px}.request-summary strong,.request-summary span{display:block}.request-summary>div span{font-size:12px;color:var(--muted);margin-top:5px}.claim-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.claim-detail section{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px}.claim-detail section.full-section{grid-column:1/-1}.claim-detail h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--teal);margin:0 0 13px}.claim-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:0}.claim-detail dl div.full{grid-column:1/-1}.claim-detail dt{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.claim-detail dd{margin:4px 0 0;font-size:13px;font-weight:700;overflow-wrap:anywhere}.checklist-grid{display:flex;gap:8px;flex-wrap:wrap}.checklist-grid span{padding:7px 10px;border-radius:99px;background:var(--orange-soft);color:var(--orange);font-size:11px;font-weight:800}.checklist-grid span.complete{background:var(--teal-soft);color:var(--teal)}.document-list{display:flex;gap:8px;flex-wrap:wrap}.resolution p{margin:0}.resolution p span{color:var(--muted);font-weight:400}
@media(max-width:760px){.claim-detail{grid-template-columns:1fr}.claim-detail section.full-section{grid-column:auto}.claim-detail dl{grid-template-columns:1fr}.claim-detail dl div.full{grid-column:auto}.request-summary{align-items:flex-start}}
.device-filters{display:flex;gap:10px}.device-filters select,.device-filters input{min-width:220px}
.table-select{min-width:220px;padding:8px 10px}
.hours-display{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}.hours-decimal{color:inherit!important}.hours-readable{color:var(--muted)!important;font-size:11px;font-weight:600}.metric strong .hours-readable{font-size:13px}.metric strong .hours-decimal{font-size:inherit}
@media(max-width:760px){.device-filters{flex-direction:column}.device-filters select,.device-filters input{min-width:0}}
.metrics-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.metrics-toolbar h2{margin:0}.period-selector{display:flex;border:1px solid var(--line);border-radius:8px;padding:4px;background:var(--paper)}.period-selector button{border:0;background:transparent;color:var(--muted);font-weight:800;padding:8px 12px;border-radius:6px;cursor:pointer}.period-selector button.active{background:var(--teal-soft);color:var(--teal)}.device-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));transition:opacity .2s;margin-bottom:20px}.device-metric-grid.loading{opacity:.55}.device-analysis{align-items:stretch}.daily-bars{display:grid;gap:13px}.daily-bar{display:grid;grid-template-columns:48px minmax(100px,1fr) 72px;gap:10px;align-items:center}.daily-bar time{font-size:12px;font-weight:800;color:var(--muted)}.daily-bar strong{text-align:right;font-size:13px}.daily-bar small{grid-column:2/4;color:var(--muted);margin-top:-7px}.bar-track{height:10px;border-radius:99px;background:var(--paper);overflow:hidden}.bar-track span{display:block;height:100%;border-radius:inherit;background:var(--teal)}.review-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.review-metrics div{padding:16px;border:1px solid var(--line);border-radius:8px}.review-metrics span,.review-metrics strong{display:block}.review-metrics span{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800}.review-metrics strong{font-size:20px;margin-top:8px}
.dashboard-subtabs{gap:10px;padding:0;background:transparent;border:0;box-shadow:none}.dashboard-subtabs button{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:12px 18px}.dashboard-subtabs button.active{border-color:var(--teal)}.device-dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;min-width:0}.device-dashboard-toolbar h2{margin:5px 0 0}.device-dashboard-filters{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;min-width:0}.device-dashboard-filters>select{width:auto;min-width:190px}.period-selector{gap:7px;padding:0;background:transparent;border:0;flex-wrap:wrap}.period-selector button{background:#fff;border:1px solid var(--line);padding:9px 13px}.period-selector button.active{border-color:#9ddbd7}.content,.panel{min-width:0}
@media(max-width:1100px){.device-metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.metrics-toolbar,.device-dashboard-toolbar{align-items:flex-start;flex-direction:column}.device-dashboard-filters{align-items:stretch;flex-direction:column;width:100%}.device-dashboard-filters>select{min-width:0}.device-metric-grid{grid-template-columns:1fr}.daily-bar{grid-template-columns:42px minmax(80px,1fr) 65px}.review-metrics{grid-template-columns:1fr}}
.metric strong .hours-display,.review-metrics strong .hours-display{display:inline-flex;font-size:inherit;text-transform:none;color:inherit}.metric strong .hours-decimal,.review-metrics strong .hours-decimal{font-size:inherit;text-transform:none}.metric strong .hours-readable,.review-metrics strong .hours-readable{display:inline;font-size:11px;text-transform:none;font-weight:600}
.performance-map-panel { overflow: hidden; }
.sidebar nav .staff-only,.sidebar nav .manager-only{display:none}.role-manager .sidebar nav .staff-only,.role-manager .sidebar nav .manager-only,.role-executive .sidebar nav .staff-only{display:block}
.performance-map-wrap { max-height: 620px; }
.performance-map { min-width: 1450px; border-collapse: separate; border-spacing: 0; }
.performance-map th, .performance-map td { white-space: nowrap; }
.performance-map th:nth-child(n+6), .performance-map td:nth-child(n+6) { min-width: 54px; text-align: center; }
.performance-map .sticky-col { position: sticky; left: 0; z-index: 2; background: #fff; box-shadow: 1px 0 #d7e1e2; }
.performance-map thead .sticky-col { z-index: 3; }
.heat-legend { display: flex; align-items: center; gap: 7px; }
.heat-cell { transition: background-color .15s ease; }
.heat-legend .heat-cell { width: 22px; height: 22px; border-radius: 4px; display: inline-block; }
.heat-0 { background: #f2f5f5; color: #6d7b7d; }
.heat-1 { background: #d9f2ef; color: #165f61; }
.heat-2 { background: #9fded7; color: #104d50; }
.heat-3 { background: #48b7ae; color: #073f42; }
.heat-4 { background: #087f82; color: #fff; }
.status-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.heat-status-hot { background: #d9f2e2; color: #176039; }
.heat-status-warm { background: #fff0bd; color: #735300; }
.heat-status-cold { background: #ffe0df; color: #9a2929; }
.heat-status-not-started { background: #303b3d; color: #fff; }
.heat-status-unlinked { background: #eef1f2; color: #566366; border: 1px solid #cad3d5; }
.idle-alert { color: #b22d2d; font-weight: 800; }
.current-review-panel { margin-bottom: 20px; }
.current-review-panel .review-metrics { margin-bottom: 0; }
.current-review-panel .review-metrics div:nth-child(1) { background: var(--teal-soft); }
.current-review-panel .review-metrics div:nth-child(2) { background: var(--orange-soft); }
.current-review-panel .review-metrics div:nth-child(3) { background: #fff0f0; }
.current-review-panel .review-metrics small { display: block; margin-top: 5px; color: var(--muted); }
.executive-hour-types{margin-top:20px}.executive-hour-types .review-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.executive-hour-types .review-metrics.single-metric{grid-template-columns:minmax(240px,1fr)}.executive-hour-types .review-metrics div:first-child{background:var(--teal-soft)}.executive-hour-types .review-metrics div:last-child{background:var(--orange-soft)}
@media (max-width: 800px) { .heat-legend { display: none; } }
