:root{font-family:system-ui,sans-serif;color:#ecf1f4;background:#141c21;color-scheme:dark}*{box-sizing:border-box}body{margin:0}main{max-width:1200px;margin:45px auto;padding:0 28px 50px}header{padding:22px 0 32px;border-bottom:2px solid #e5f34b;margin-bottom:26px}header small{color:#e5f34b;letter-spacing:.17em}h1{font-size:38px;line-height:1.15;letter-spacing:-1px}h2{font-size:20px;margin-top:0}p{color:#b8c7cf;line-height:1.6;font-size:14px}section{background:#20292d;border:1px solid #3f4e55;border-radius:16px;padding:24px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}label{display:block;color:#cbd7dc;font-size:14px}input,select{display:block;width:100%;padding:12px;margin:8px 0 12px;background:#141c21;border:1px solid #58656b;border-radius:8px;font:inherit;color:#fff}button{padding:11px 18px;background:#e5f34b;color:#1b2429;border:0;border-radius:8px;font:inherit;font-weight:650;cursor:pointer}button:disabled{opacity:.5}button.secondary{background:#36444b;color:#fff;margin-left:10px;font-size:12px}ul{padding:0;list-style:none}li{padding:10px 0;border-bottom:1px solid #3f4e55}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:14px 9px;border-bottom:1px solid #3f4e55}th{color:#e5f34b;font-weight:500}.table{overflow:auto}#status{color:#e5f34b}#personalToken{font-family:monospace}[hidden]{display:none!important}@media(max-width:700px){.grid{grid-template-columns:1fr}h1{font-size:30px}}

.team-brand{display:flex;align-items:center;gap:24px;margin-bottom:26px}.team-brand img{display:block;width:180px;height:auto}.team-brand span{color:#e5f34b;font-size:14px;letter-spacing:.2em;border-left:1px solid #58656b;padding-left:24px}

body:has(#console[hidden]) main{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0 auto;padding:40px 24px}body:has(#console[hidden]) header{border:0;padding:0;margin:0 0 32px}.team-brand{margin:0}.team-brand img{width:240px}#login{padding:0;border:0;background:none;width:min(380px,100%);margin:0}.login-entry{display:flex;align-items:center;border:1px solid #52626a;border-radius:12px;background:#20292d;padding:5px}.login-entry input{margin:0;border:0;background:none;min-width:0;outline:none}.login-entry:focus-within{border-color:#e5f34b;box-shadow:0 0 0 3px #e5f34b12}.login-entry button{font-size:24px;line-height:1;padding:12px 16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

#routing{display:flex;flex-direction:column;margin-top:22px}.provider-row{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;padding:17px 0;border-top:1px solid #ffffff0d}.provider-row:first-child{border-top:0;padding-top:0}.provider-name{font-size:14px;font-weight:650;color:#eef2f4}.provider-models{display:flex;flex-wrap:wrap;gap:8px}.model-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #52606880;border-radius:9px;background:#172126;color:#a8b6be;font-size:12px;font-weight:550;transition:background .16s,color .16s,border-color .16s,transform .16s}.model-chip:hover{border-color:#e5f34b99;color:#edf3bf;transform:translateY(-1px)}.model-chip[aria-pressed=true]{background:#e5f34b19;border-color:#e5f34b90;color:#e5f34b}.model-chip:focus-visible{outline:2px solid #e5f34b;outline-offset:3px}.route-check{width:12px;font-size:13px}.model-chip:disabled{cursor:wait;transform:none}@media(max-width:600px){.provider-row{grid-template-columns:1fr;gap:10px}}

header{border-bottom:0}.team-brand{justify-content:center}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.section-heading h2{margin:0}.day-total{font-size:32px;color:#e5f34b}#dayPending{display:block;color:#b8c7cf;margin-top:6px}#people li{border:0;padding:4px 0}.person-card{display:flex;width:100%;justify-content:space-between;gap:20px;text-align:left;background:#172126;color:#edf1f3;border:1px solid #3f4e55;padding:18px}.person-card:hover,.person-card[aria-pressed=true]{border-color:#e5f34b;color:#e5f34b}.project-cost{padding:18px 0;border-bottom:1px solid #ffffff12}.cost-bar{display:flex;height:9px;border-radius:8px;overflow:hidden;background:#141c21;margin:16px 0 12px}.cost-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#bdcad0}.cost-legend span{padding-left:7px}details{margin:24px 0}summary{cursor:pointer;color:#e5f34b;padding:12px 0}#person{margin:20px 0}#project{margin-bottom:25px}

.day-total{font-size:27px;font-weight:550;letter-spacing:-.7px;color:#e5e9e8;font-variant-numeric:tabular-nums}.exchange-note{display:block;font-size:11px;color:#839099;margin:-6px 0 20px}.exchange-note a{color:inherit;text-decoration:none}.exchange-note a:hover{text-decoration:underline}.person-card{background:transparent;border-color:transparent;border-radius:10px;padding:20px 12px;color:#d6dfe2;font-weight:500}.person-card strong{font-size:15px;font-weight:500;color:#acb9bf;font-variant-numeric:tabular-nums}.person-card:hover,.person-card[aria-expanded=true]{background:#ffffff05;border-color:#ffffff0c;color:#edf1db}.person-card:focus-visible{outline:2px solid #b8c566;outline-offset:2px}#people>li{border-bottom:1px solid #ffffff0a}#personDetail{padding:4px 14px 16px;animation:detail-in .18s ease-out}#personDetail>section{background:transparent;border:0;padding:12px 0;margin:0}#personDetail h2{font-size:15px;font-weight:500;color:#9ba9af}#personTitle,#closePerson{display:none}#personDetail .section-heading>div>p{font-size:12px;margin:0 0 12px}.project-cost{padding:22px 0}.project-cost .section-heading strong{font-size:14px;font-weight:500;color:#c9d2d6}.cost-split{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:28px;margin-top:20px;max-width:670px}.cost-donut{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;position:relative}.cost-donut:before{content:'';position:absolute;inset:12px;background:#20292d;border-radius:50%}.cost-donut>span{position:relative;font-size:11px;color:#aeb9be}.model-legend{min-width:0}.model-cost{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #ffffff09;font-size:12px;color:#bdc8ce}.model-cost i{width:7px;height:7px;border-radius:50%}.model-cost small{display:block;color:#8b979f;font-size:11px;margin-top:4px}.model-cost strong{font-weight:500;font-variant-numeric:tabular-nums;color:#dce3e7}.model-cost>div{overflow-wrap:anywhere}.project-cost.no-cost{padding:12px 0}.project-cost.no-cost p{font-size:11px;color:#7f8e96;margin:5px 0 0}#personDetail #revokePerson{background:transparent;color:#8d999f;margin:0;padding:8px 0;font-weight:400;font-size:11px}@keyframes detail-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){#personDetail{animation:none}}@media(max-width:550px){.cost-split{grid-template-columns:76px minmax(0,1fr);gap:16px}.cost-donut{width:76px;height:76px}.cost-donut:before{inset:8px}.cost-donut>span{font-size:9px}.model-cost{font-size:11px}}

.person-card{border-color:#ffffff12;background:#ffffff03}.period-control{margin-top:12px}.period-control>select{display:inline-block;width:auto;padding:7px 28px 7px 10px;margin:0;background:#ffffff04;border-color:#ffffff10;font-size:12px;color:#bfcacf;border-radius:20px}.period-control form{display:flex;gap:10px;align-items:end;margin-top:12px;flex-wrap:wrap}.period-control input{font-size:12px;padding:8px}.detroit-summary{text-align:center;padding:8px 10px}.detroit-summary .cost-donut{width:142px;height:142px}.detroit-summary .cost-donut:before{inset:10px}.detroit-summary .day-total{position:relative;font-size:23px;letter-spacing:-.5px}.total-legend{display:flex;flex-wrap:wrap;gap:10px 22px;color:#99a8af;font-size:11px;padding:10px 0 26px}.total-legend>span{padding-left:8px}.credentials summary{font-size:12px;color:#aeb9bd}.credentials form{max-width:480px}.credentials small{display:block;max-width:500px;color:#8c9aa2;line-height:1.5;margin-top:12px}

.title-period{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.title-period .period-control{margin:0;position:relative}.period-control>select,.person-period{appearance:none;background:#ffffff04 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%239ba9af' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat right 15px center;padding:7px 39px 7px 12px;width:auto;margin:0;border:1px solid #ffffff10;border-radius:20px;color:#bfcacf;font-size:12px}.person-card{display:flex;align-items:center;gap:12px;cursor:default}.person-name,.person-expand{padding:4px 0;background:none;color:inherit;border:0;font-weight:500;font-size:14px}.person-name{text-align:left}.person-card>strong{margin-left:auto;white-space:nowrap}.person-expand{padding:4px 8px;color:#9ba9af}.person-card:hover{color:#d6dfe2}.person-name:hover{color:#e5f34b}.person-dates{display:flex;gap:10px;padding:8px 12px;align-items:center;flex-wrap:wrap}.person-dates input{width:auto;margin:0}.person-period:focus-visible,.person-name:focus-visible{outline:2px solid #b8c566;outline-offset:3px}@media(max-width:600px){.person-card{flex-wrap:wrap}.person-period{max-width:170px}.person-card>strong{font-size:13px}}

.period-control>select,.person-period{appearance:auto;background-image:none;padding-right:18px}

.period-select{position:relative;display:inline-flex;align-items:center}.period-select:after{content:'';position:absolute;right:15px;top:calc(50% - 4px);width:5px;height:5px;border-right:1px solid #a5b0b6;border-bottom:1px solid #a5b0b6;transform:rotate(45deg);pointer-events:none}.period-select select{appearance:none;background:#ffffff04;border:1px solid #ffffff10;border-radius:20px;color:#bfcacf;font-size:12px;margin:0;padding:7px 38px 7px 12px;width:auto}

.provider-name{display:flex;align-items:center;justify-content:space-between;gap:10px}.provider-menu{background:transparent;color:#8c9ca4;padding:3px 9px;font-size:21px;line-height:1;border-radius:7px}.provider-menu:hover{background:#ffffff08;color:#e5f34b}.add-service{align-self:flex-start;margin-top:14px;width:32px;height:32px;padding:0;font-size:22px;background:#ffffff06;color:#b5c3ca;border:1px solid #ffffff18}.add-service:hover{border-color:#e5f34b;color:#e5f34b}#providerDialog{width:min(460px,90vw);background:#20292d;color:#ecf1f4;border:1px solid #46565d;border-radius:18px;padding:25px;box-shadow:0 30px 100px #0007}#providerDialog::backdrop{background:#081015aa;backdrop-filter:blur(5px)}#closeProvider{background:transparent;color:#a5b3bb;font-size:24px;padding:0 7px}#providerDialog h2{font-size:18px}

.routing-note{font-size:11px;line-height:1.5;color:#8f9fa8;margin-top:18px}.detroit-summary{display:flex;flex-direction:column;align-items:center;max-width:430px;gap:8px}.detroit-summary .total-legend{justify-content:center;padding:4px 0 0;gap:8px 14px;font-size:11px}.detroit-summary #dayPending:empty{display:none}#refreshUsage{display:block;margin:9px 0 0;padding:5px 9px;font-size:10px;font-weight:500;background:#ffffff06;border:1px solid #ffffff0b;color:#9cabb3}.exchange-note{margin-bottom:0}.people-actions{display:flex;justify-content:flex-end;margin-top:12px}.people-actions #addPerson{font-size:11px;padding:8px 12px}.detroit-summary .total-legend span{white-space:normal}#people{margin-top:24px}

/* One frame contains the person's header and all expanded information. */
#people>li.person-frame{border:1px solid #ffffff12;border-radius:12px;background:#ffffff02;padding:0;margin-bottom:10px;overflow:hidden}.person-frame>.person-card{border:0;border-radius:0;background:transparent;padding:18px 14px}.person-frame>#personDetail{padding:0 18px 18px;border-top:1px solid #ffffff08}.person-frame .project-cost:last-child{border-bottom:0}main{zoom:.8}body:has(#console[hidden]) main{min-height:125vh}

.person-cost-ring{position:relative;display:grid;place-items:center;width:82px;height:82px;border-radius:50%;flex:none;margin-left:auto}.person-cost-ring:before{content:"";position:absolute;inset:5px;border-radius:50%;background:#222c30}.person-cost-ring strong{position:relative;text-align:center;font-size:13px;line-height:1.2;padding:9px;overflow-wrap:anywhere}.person-card{padding-top:10px;padding-bottom:10px}
