@font-face{font-family:Inter;src:url('/assets/inter-regular.ttf')}
@font-face{font-family:InterTight;src:url('/assets/inter-tight-500.ttf')}
*{box-sizing:border-box}
body{margin:0;background:#f5f0e8;color:#171516;font:15px/1.65 Inter,Arial,sans-serif}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{touch-action:manipulation}
button,a{ -webkit-tap-highlight-color:transparent}
a{color:inherit}
button{cursor:pointer;background:#743047;color:#fff;border:1px solid #743047;border-radius:3px;min-height:52px;padding:12px 20px;font-weight:600}
button:hover{background:#60283b}
button:disabled{cursor:not-allowed;opacity:.55}
button.secondary,button.quiet{background:transparent;color:#743047;border-color:#cec3b8}
button.quiet{font-size:13px;padding:8px 12px;min-height:42px}
button.danger{background:#171516;border-color:#171516}
input,select,textarea{width:100%;padding:12px;border:1px solid #a99a8f;background:#fcf9f4;border-radius:3px;color:#171516;min-height:48px}
textarea{min-height:110px;resize:vertical}
input[type=checkbox]{width:20px;height:20px;min-height:20px}
label{display:block;font-size:13px;font-weight:600;margin:10px 0 4px}
label.check{display:flex;gap:10px;align-items:center;font-weight:400}
h1,h2,h3{font-family:InterTight,Inter,Arial,sans-serif;font-weight:500;line-height:1.1;letter-spacing:-.04em}
h1{font-size:clamp(38px,4.4vw,66px);margin:16px 0 22px}
h2{font-size:27px;margin:0 0 14px}
h3{font-size:21px;margin:0 0 8px}
p{margin:10px 0 16px}
.eyebrow,.rail-label{font-size:10px;letter-spacing:.19em;font-weight:600;color:#655b55}
.dot{color:#743047}
.muted,small{color:#655b55}
small{font-size:12px}
.skip{position:absolute;left:15px;top:-100px;padding:14px;background:#171516;color:#fff;z-index:99}
.skip:focus{top:12px}
:focus-visible{outline:3px solid #743047;outline-offset:4px}
#shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}
#shell[hidden], [hidden]{display:none!important}
aside{border-right:1px solid #cec3b8;padding:34px 23px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:15px;text-decoration:none;font-family:InterTight;font-size:23px;line-height:1.03;letter-spacing:-.04em}
.brand img{object-fit:contain}
.rail-label{margin:56px 12px 18px}
nav{display:flex;flex-direction:column;gap:4px}
nav a{display:flex;justify-content:space-between;text-decoration:none;font-size:13px;padding:11px 12px;border-radius:3px}
nav a span{color:#8d8178;font-size:10px}
nav a.active{color:#743047;background:#e9ddd9;font-weight:bold}
nav a:hover{background:#ebe5dc}
.rail-foot{margin-top:auto;font-size:12px;padding-top:24px}
.rail-foot p{font-size:11px;color:#655b55;margin:4px 0 18px}
.live-dot{display:inline-block;border-radius:50%;width:7px;height:7px;background:#61795e;margin-right:6px}
.workspace{min-width:0}
header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:25px 48px;border-bottom:1px solid #cec3b8}
#freshness{font-size:11px;color:#655b55;margin-top:4px}
main{max-width:1680px;margin:auto;padding:38px 48px 60px;min-height:75vh}
footer{border-top:1px solid #cec3b8;color:#655b55;font-size:11px;padding:20px 48px;display:flex;justify-content:space-between;gap:20px}
.intro{display:flex;gap:30px;justify-content:space-between;align-items:flex-end;margin-bottom:32px}
.intro p{max-width:560px;color:#655b55}
.intro .date{text-align:right;font-size:12px;color:#655b55}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #cec3b8;border-bottom:1px solid #cec3b8;margin:32px 0}
.stat{padding:22px 24px;border-right:1px solid #cec3b8;text-decoration:none}
.stat:first-child{padding-left:0}
.stat:last-child{border:0}
.stat strong{display:block;font:42px InterTight;letter-spacing:-.05em}
.stat span{font-size:12px;color:#655b55}
.stat .accent{color:#743047}
.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}
.card{background:#ebe5dc;border:1px solid #cec3b8;border-radius:3px;padding:26px;margin-bottom:20px;min-width:0}
.card.light{background:#faf6f0}
.card.dark{background:#171516;color:#f5f0e8;border-color:#171516}
.card.dark p,.card.dark small,.card.dark .eyebrow{color:#d7cfc8}
.section-head{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:20px}
.section-head h2{margin:0}
.section-head a{font-size:12px;color:#743047}
.row{padding:16px 0;border-bottom:1px solid #cec3b8;display:flex;align-items:flex-start;gap:16px;justify-content:space-between}
.row:last-child{border-bottom:0}
.row strong{font-size:13px;display:block;font-weight:600}
.row p{font-size:12px;color:#655b55;margin:5px 0}
.pill{display:inline-block;border:1px solid #cec3b8;border-radius:30px;padding:3px 10px;font-size:10px;letter-spacing:.03em;white-space:nowrap}
.pill.active,.pill.verified{background:#e1e8df;color:#315031}
.pill.blocked,.pill.needs_reconcile,.pill.error,.pill.expired{background:#eddadd;color:#743047}
.pill.parked{background:#e4dfd7;color:#62564b}
.pill.closed-round{background:#e2dfe9;color:#554863}
.pill.pending,.pill.approved{background:#f1e5c9;color:#75581e}
.empty{padding:20px 0;color:#655b55;font-size:13px}
.toolbar{display:grid;grid-template-columns:1fr 220px;gap:14px;margin:24px 0}
.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.project{padding:23px;border:1px solid #cec3b8;background:#faf6f0;border-radius:3px}
.project h3{margin:18px 0;font-size:24px}
.project p{font-size:12px;color:#655b55;min-height:44px}
.project footer{padding:15px 0 0;margin-top:20px;display:flex;align-items:center}
.project footer button{white-space:nowrap}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.span2{grid-column:1/-1}
.notice{border-left:3px solid #743047;padding:14px 18px;background:#eee2dc;font-size:13px;margin:18px 0}
.notice.success{border-color:#557150;background:#e1e8df}
.body-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8;max-height:450px;overflow:auto;padding:15px 0}
.payload{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;border:1px solid #cec3b8;background:#faf6f0;font:12px/1.7 Inter,Arial;max-height:340px;overflow:auto}
.tiny{font-size:11px;overflow-wrap:anywhere}
.request-card{border:1px solid #cec3b8;padding:24px;margin:18px 0;background:#faf6f0}
.login{max-width:920px;margin:auto;padding:70px 36px}
.login h1{font-size:clamp(58px,9vw,110px)}
.login .card{max-width:560px;margin:34px 0}
.login .muted{font-size:10px;letter-spacing:.13em}
#receipt{position:fixed;bottom:20px;right:24px;max-width:min(560px,90vw);padding:18px 24px;background:#171516;color:#fff;box-shadow:0 12px 40px #0002;border-radius:3px;z-index:90;font-size:13px}
#receipt.error{background:#743047}
details{margin:12px 0}
summary{cursor:pointer;color:#743047;font-size:13px;padding:10px 0}
progress{width:100%;height:6px;accent-color:#743047}
.health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.health-grid .card{margin:0}
.badge-line{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
pre{white-space:pre-wrap;overflow-wrap:anywhere}
code{font:12px monospace}
.divider{border:0;border-top:1px solid #cec3b8;margin:24px 0}
#pairing code{display:block;background:#faf6f0;padding:15px;overflow-wrap:anywhere;margin:14px 0}
.disabled-reason{font-size:12px;color:#743047}
.list-note{font-size:12px;color:#655b55;margin-bottom:15px}

@media(min-width:1600px){main{padding:50px 70px}
header,footer{padding-left:70px;padding-right:70px}
.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:1100px){#shell{grid-template-columns:205px minmax(0,1fr)}
aside{padding:28px 15px}
main{padding:30px 26px}
header,footer{padding:20px 26px}
.grid{grid-template-columns:1fr}
.projects-grid{grid-template-columns:1fr 1fr}
.stat{padding:20px 14px}
}

@media(max-width:760px){#shell{display:block}
aside{position:relative;height:auto;border-right:0;border-bottom:1px solid #cec3b8;padding:18px 20px}
.brand{font-size:21px}
.rail-label,.rail-foot{display:none}
nav{flex-direction:row;overflow:auto;gap:6px;margin-top:22px;padding-bottom:6px}
nav a{white-space:nowrap;min-height:44px}
nav a span{display:none}
header{padding:17px 20px;align-items:flex-start}
header button{padding:8px 12px;min-height:44px;font-size:12px}
main{padding:26px 20px 42px}
.intro{display:block;margin-bottom:24px}
.intro .date{text-align:left}
h1{font-size:44px}
.stats{grid-template-columns:repeat(2,1fr);margin:24px 0}
.stat{border-bottom:1px solid #cec3b8}
.stat:nth-child(2){border-right:0}
.stat:nth-child(3){padding-left:0;border-bottom:0}
.stat:last-child{border-bottom:0}
.projects-grid,.health-grid,.formgrid{grid-template-columns:1fr}
.span2{grid-column:auto}
.toolbar{grid-template-columns:1fr}
.card{padding:21px}
.row{gap:10px}
.row .pill{white-space:normal;max-width:90px}
.actions button{flex:1}
footer{display:block;padding:20px}
footer span{display:block;margin-top:8px}
.login{padding:40px 24px}
.login h1{font-size:70px}
.section-head{align-items:flex-start}
#receipt{right:16px;bottom:16px}
.project footer{display:flex}
.project footer span{margin:0}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
}

.request-summary { overflow-wrap: anywhere; }
.request-summary dt { font-weight: 600; }
.request-summary dd { margin: 0 0 14px; white-space: pre-wrap; }

