:root{--ink:#17211b;--paper:#f4f1e8;--card:#fffdf7;--line:#d6d1c3;--green:#1f6b4f;--lime:#dff66d;--muted:#68706a;--red:#a43c32}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.2;background-image:radial-gradient(#8d958e 0.6px,transparent .6px);background-size:5px 5px}header,main{position:relative;max-width:1180px;margin:auto}header{display:flex;justify-content:space-between;align-items:flex-end;padding:54px 28px 28px;border-bottom:1px solid var(--line)}h1{font-family:Georgia,serif;font-size:56px;line-height:.9;margin:8px 0 14px;letter-spacing:-2px}h2{font-family:Georgia,serif;font-size:30px;margin:6px 0 16px}p{color:var(--muted);line-height:1.55;margin:0;max-width:650px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--green)}.status{border:1px solid var(--line);background:var(--card);padding:10px 14px;border-radius:30px;font-size:13px}.status span{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ca9e31;margin-right:7px}.status.ready span{background:#35a269}.status.busy span{background:#dd6b42}.header-actions{display:flex;align-items:center;gap:10px}main{padding:0 28px 60px}nav{display:flex;gap:2px;padding:22px 0}.tab{background:transparent;border:0;padding:11px 18px;color:var(--muted);font-weight:700;cursor:pointer;border-radius:22px}.tab.active{background:var(--ink);color:white}.panel{display:none}.panel.active{display:block}.section-title{display:flex;justify-content:space-between;align-items:end;margin:18px 0}.provider-grid,.bot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card,.provider,.bot,.recording{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 2px 0 rgba(23,33,27,.04)}.provider{min-height:190px;display:flex;flex-direction:column}.provider .logo{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--ink);color:white;font-weight:900;margin-bottom:24px}.provider h3,.bot h3{margin:0 0 7px}.provider .mode{margin-top:auto;font-size:12px;border-top:1px solid var(--line);padding-top:14px}.pill{font-size:11px;font-weight:800;padding:5px 9px;border-radius:15px;background:#e6ebe7;color:var(--green)}.notice{display:flex;gap:14px;align-items:center;background:#eff5cf;border:1px solid #d0db96;border-radius:12px;padding:14px 18px;margin:16px 0 24px}.notice span{color:#59604d}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}form{display:grid;gap:14px}label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}input,select{font:inherit;background:white;border:1px solid var(--line);border-radius:9px;padding:12px;color:var(--ink)}button{font:inherit;border:1px solid var(--line);border-radius:9px;background:var(--card);padding:11px 15px;font-weight:750;cursor:pointer}.primary{background:var(--green);color:white;border-color:var(--green)}.secondary{background:var(--lime);border-color:#c8df55}.list>div,.recording{border-top:1px solid var(--line);padding:13px 0}.list>div:first-child{border-top:0}.meta{font-size:12px;color:var(--muted)}.message{font-size:13px;margin-top:10px}.message.error{color:var(--red)}.form-grid{grid-template-columns:repeat(2,1fr);margin-bottom:16px}.form-grid .actions{grid-column:1/-1;display:flex;gap:8px}.hidden{display:none}.bot-grid{grid-template-columns:repeat(2,1fr)}.bot-head{display:flex;justify-content:space-between}.bot footer{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.danger{color:var(--red)}.recordings{display:grid;gap:10px}.recording{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.recording .actions{display:flex;gap:8px}.empty{padding:44px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}@media(max-width:760px){header{align-items:flex-start;gap:24px;flex-direction:column}h1{font-size:44px}.provider-grid,.bot-grid,.split,.form-grid{grid-template-columns:1fr}.notice,.recording{align-items:flex-start;flex-direction:column}.section-title{align-items:flex-start;gap:14px;flex-direction:column}.form-grid .actions{grid-column:auto}}
.login-page{min-height:100vh;display:grid;place-items:center}.login-shell{width:min(440px,100%);padding:28px}.login-card{padding:36px}.login-card h1{font-size:46px;margin-bottom:12px}.login-card form{margin-top:28px}.login-card button{margin-top:4px}

.recording-with-transcript{align-items:flex-start}.recording-summary{min-width:0;flex:1}.transcript-state{font-size:12px;font-weight:750;margin-top:7px}.transcript-state.ready{color:var(--green)}.transcript-state.missing{color:var(--muted)}.transcript-preview{white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto;background:#f0ede4;border:1px solid var(--line);border-radius:9px;padding:14px;margin:14px 0 0;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.recording .actions{flex-wrap:wrap;justify-content:flex-end}.recording .actions a{text-decoration:none}
.transcript-state.pending,.transcript-state.processing{color:#9a6518}.transcript-state.failed{color:var(--red)}.section-title>.actions{display:flex;gap:8px}.recording button:disabled{cursor:wait;opacity:.55}

.recording-with-transcript{flex-wrap:wrap;gap:12px}
.summary-card{flex-basis:100%;box-sizing:border-box;margin-top:4px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#f7f5ef}
.summary-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.summary-state{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--green)}
.summary-state.pending,.summary-state.processing{color:#9a6518}
.summary-state.failed{color:var(--red);text-transform:none;letter-spacing:0}
.summary-body{font-size:14px;line-height:1.55;margin-top:6px}
.summary-body h4{font-size:13px;margin:12px 0 4px}
.summary-body h4:first-child{margin-top:4px}
.summary-body p{margin:0 0 6px;color:var(--ink);max-width:none}
.summary-body ul{margin:0 0 6px;padding-left:20px}
.recording .actions button.danger{border-color:#e7c3bd}
.recording .actions button.danger:hover{background:#fbeeec}

/* Our Rainwater theme. Keep the dashboard's layout and status semantics intact. */
@font-face{font-family:'Patua One';src:url('/dashboard/2-PatuaOne-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:'Source Sans Pro';src:url('/dashboard/3-SourceSansPro-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:'Source Sans Pro';src:url('/dashboard/4-SourceSansPro-SemiBold.ttf') format('truetype');font-display:swap;font-weight:600}
:root{--ink:#373f44;--paper:#fff;--card:#fff;--line:#d7e9f5;--green:#0874ac;--lime:#dff1ff;--muted:#676767;--red:#a43c32;--rain:#1d9edf;--rain-dark:#2383ca;--rain-ink:#0874ac}
body{font-family:'Source Sans Pro',Arial,sans-serif;background:var(--paper);color:var(--ink);font-size:16px}
body:before{display:none}
header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 30px;align-items:center;padding:14px 28px 26px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;grid-column:1/-1;width:max-content;max-width:100%}
.brand img{display:block;width:126px;height:auto}
h1,h2,.login-card h1{font-family:'Patua One',Georgia,serif;font-weight:400;letter-spacing:0;line-height:1.14;color:var(--ink)}
h1{font-size:clamp(2.25rem,4vw,3.5rem);margin:8px 0 10px}h2{font-size:clamp(1.55rem,2.5vw,2rem)}
.eyebrow{font-weight:600;color:var(--rain-ink);letter-spacing:.12em}
p{color:var(--muted)}
.status,.card,.provider,.bot,.recording{background:var(--card);border-color:var(--line)}
.card,.provider,.bot,.recording{box-shadow:0 8px 30px rgba(35,131,202,.07)}
.status{color:var(--ink)}
nav{flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line)}
.tab{font-weight:600;color:var(--muted);border-radius:32px}
.tab.active{background:var(--rain-ink);color:#fff}
.tab:hover:not(.active){background:var(--lime);color:var(--rain-ink)}
.provider .logo{background:var(--rain-dark);border-radius:50%}
.pill{background:var(--lime);color:var(--rain-ink);font-weight:600}
.notice{background:#eef8ff;border-color:#c3e5fa}.notice span{color:var(--muted)}
label{font-size:14px;font-weight:600;color:var(--ink)}
input,select{color:var(--ink);border-color:#a8cfe8;background:#fff}
button{background:#fff;border-color:#b7dcf3;color:var(--rain-ink);border-radius:32px;font-weight:600;min-height:44px}
button:hover:not(:disabled){background:#eef8ff;border-color:var(--rain-dark)}
button.primary,.primary,.tab.active{background:var(--rain-ink);border-color:var(--rain-ink);color:#fff}
button.primary:hover:not(:disabled){background:#075f8d;color:#fff}
.secondary{background:var(--lime);border-color:#b7dcf3;color:var(--rain-ink)}
:where(button,input,select,a):focus-visible{outline:3px solid var(--rain-dark);outline-offset:3px}
.transcript-preview{background:#f4faff}.summary-card{background:#f4faff}
.recording .actions{align-items:center}.recording .actions a{border-radius:32px}
.login-page{background:radial-gradient(circle at 10% 0%,#dff1ff 0,transparent 46%),#fff}
.login-shell{width:min(490px,100%)}.login-card{padding:36px}.login-card .brand{margin-bottom:24px}.login-card h1{font-size:46px}
@media(max-width:760px){header{grid-template-columns:1fr;gap:16px}.brand{grid-column:1}.header-actions{flex-wrap:wrap}.login-card{padding:26px}}
@media(prefers-reduced-motion:no-preference){button,.tab{transition:background-color .15s,border-color .15s,color .15s}}
.login-card .eyebrow{display:block}

/* Shared Our Rainwater sign-in layout across chat, RACT, meetings and funding. */
body.login-page{display:grid;place-items:center;min-height:100vh;background:#f3faff;color:#303b44}
.login-shell{width:min(440px,100%);padding:24px 16px;margin:auto}
.login-card{width:100%;padding:32px 36px;border:1px solid #c8dbe8;border-radius:18px;box-shadow:0 12px 34px rgba(20,94,137,.09)}
.login-card .brand{display:inline-block;margin-bottom:18px}.login-card .brand img{width:126px;height:auto}
.login-card .eyebrow{font-size:11px;letter-spacing:.12em;color:#1479ac;font-weight:600}
.login-card h1{font-size:36px;line-height:1.15;margin:8px 0 4px;color:#303b44}
.login-card>p:not(.message){color:#586872;font-size:14px;line-height:1.5;margin:0 0 24px}
.login-card form{margin-top:0;gap:14px}.login-card label{gap:6px;color:#303b44;font-size:13px;font-weight:600}
.login-card input{height:44px;border:1px solid #a8cfe8;border-radius:10px;padding:10px 12px;font:16px 'Source Sans Pro',Arial,sans-serif}
.login-card button.primary{width:100%;min-height:48px;margin-top:4px;background:#1479ac;border-color:#1479ac;color:#fff;border-radius:999px;font:600 16px 'Source Sans Pro',Arial,sans-serif}
.login-card button.primary:hover:not(:disabled){background:#116d9b;border-color:#116d9b}
@media(max-width:480px){.login-card{padding:28px 24px}}

.login-page:before{display:none}
.login-card .message.error:empty{display:none}
/* Include the shell padding in the 440px card width. */
.login-shell{width:min(472px,100%)}
