:root{color:#0b1b3a;background:#f4f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;font-weight:400;line-height:1.5;font-size:16px;font-optical-sizing:auto}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:#f4f7fa}button,input,select{font:inherit}button{min-height:48px;padding:.7rem 1rem;border:0;border-radius:.7rem;color:#fff;background:#0b1b3a;cursor:pointer;font-weight:650;transition:background-color .12s ease,transform .12s ease}button:hover:not(:disabled){background:#153566}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #14b8a6;outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:.35rem;font-size:clamp(1.8rem,7vw,2.45rem);line-height:1.12;letter-spacing:-.04em}h2{margin-bottom:.6rem;font-size:1.25rem}h3{margin-bottom:.75rem;font-size:1.05rem}.app-shell{min-height:100vh;padding-bottom:6.2rem}.topbar{position:sticky;z-index:2;top:0;display:flex;height:4.2rem;align-items:center;justify-content:space-between;padding:0 1rem;border-bottom:1px solid #e4eaf0;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wordmark{display:inline-flex;min-height:44px;align-items:center;gap:.55rem;color:#0b1b3a;font-weight:750;text-decoration:none}.wordmark-icon,.brand-mark{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.65rem;color:#fff;background:#0b1b3a;font-weight:800}.page-content{width:min(100% - 2rem,54rem);margin:0 auto;padding:1.5rem 0 2rem}.screen{display:grid;gap:1.1rem}.screen-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.eyebrow{margin-bottom:.3rem;color:#536783;font-size:.72rem;font-weight:750;letter-spacing:.12em}.muted,.subline{color:#61718a}.muted{margin-bottom:0}.subline{display:block;margin-top:.2rem;font-size:.85rem}.button-row,.button-stack{display:flex;flex-wrap:wrap;gap:.65rem}.button-stack{flex-direction:column}.button-secondary{border:1px solid #cbd5e1;color:#0b1b3a;background:#fff}.button-secondary:hover:not(:disabled){background:#eef4f7}.button-danger{background:#b42332}.button-danger:hover:not(:disabled){background:#921b27}.quiet-button{min-height:44px;padding:.4rem .55rem;color:#344663;background:transparent}.quiet-button:hover:not(:disabled){color:#0b1b3a;background:#e8eef3}.sign-out{font-weight:600}.tabbar{position:fixed;z-index:3;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem;padding:.4rem max(.5rem,env(safe-area-inset-right)) calc(.4rem + env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));border-top:1px solid #dfe6ed;background:#fffffff7;box-shadow:0 -8px 28px #0b1b3a12}.tab{min-width:0;min-height:48px;padding:.45rem .2rem;border-radius:.65rem;color:#52627a;background:transparent;font-size:.82rem}.tab:hover:not(:disabled){color:#0b1b3a;background:#eef3f7}.tab.active{color:#0b1b3a;background:#e6f7f5}.list{display:grid;gap:.7rem}.list-row{display:flex;width:100%;min-height:68px;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid #e1e8ef;border-radius:.85rem;color:#0b1b3a;background:#fff;text-align:left}button.list-row:hover:not(:disabled),.list-row.selected{border-color:#14b8a6;background:#f2fbfa}.connection-row{align-items:center}.status-chip{flex:0 0 auto;padding:.25rem .55rem;border-radius:999px;color:#40516a;background:#edf1f5;font-size:.76rem;font-weight:750;text-transform:capitalize}.status-active,.status-allow,.status-allowed,.status-approved{color:#08766b;background:#daf5ef}.status-ask,.status-asked,.status-pending{color:#8a5d00;background:#fff1c9}.status-revoked,.status-denied,.status-deny,.status-off,.status-paused{color:#a51f2d;background:#fde5e6}.card{padding:1rem;border:1px solid #dfe7ed;border-radius:1rem;background:#fff;box-shadow:0 8px 24px #0b1b3a0a}.form-card,.grant-card{display:grid;gap:.85rem}label{display:grid;gap:.35rem;color:#344663;font-size:.9rem;font-weight:650}input,select{width:100%;min-height:48px;padding:.65rem .75rem;border:1px solid #bac7d5;border-radius:.65rem;color:#0b1b3a;background:#fff}.credential-card{display:grid;gap:.7rem;border-color:#14b8a6;background:#f0fbf9}.credential-card p{margin-bottom:0}.credential-value{display:block;overflow-wrap:anywhere;padding:.75rem;border-radius:.55rem;color:#0b1b3a;background:#fff;font-size:.86rem}.notice{padding:.8rem .9rem;border-radius:.7rem}.notice-success{color:#075f56;background:#daf5ef}.notice-info{color:#29405e;background:#e8f0f8}.notice-error{color:#8d1d2a;background:#fde9e9}.empty-state{padding:1.4rem;border:1px dashed #c6d1dc;border-radius:.8rem;color:#61718a;text-align:center}.grant-card{width:100%}.form-status{margin-bottom:0;color:#08766b;font-size:.88rem}.approval-layout{display:grid;gap:1rem}.approval-detail{display:grid;gap:.9rem;min-width:0}.back-button{justify-self:start}.email-presentation{min-width:0;padding:.9rem;border:1px solid #dfe7ed;border-radius:.85rem;background:#fbfcfd}.email-presentation h3,.email-presentation h4{margin-bottom:.7rem}.email-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:.15rem .75rem;margin:0}.email-facts dt{margin-top:.45rem;color:#61718a;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.email-facts dd{min-width:0;margin:0;overflow-wrap:anywhere;font-weight:550}.recipient-group{display:contents}.recipient-group ul{display:grid;gap:.3rem;margin:0;padding:0;list-style:none}.full-value,.email-body{white-space:pre-wrap;overflow-wrap:anywhere}.warning-list{display:grid;gap:.3rem;padding-left:1.25rem;color:#845700;font-size:.88rem}.email-body{padding:.8rem;border-left:3px solid #14b8a6;background:#fff}.email-body p{margin:0}.email-body p+p{margin-top:.55rem}.fixed-facts>div{display:grid;gap:.2rem;margin-top:.35rem}.usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.usage-card{display:grid;gap:.1rem;padding:.75rem;border-radius:.85rem;color:#24405e;background:#fff}.usage-card span{font-size:.76rem}.usage-card strong{font-size:1.35rem}.usage-allowed{border-top:3px solid #14b8a6}.usage-asked{border-top:3px solid #e6a700}.usage-denied{border-top:3px solid #d64550}.chain-badge{justify-self:start;padding:.45rem .7rem;border-radius:999px;font-size:.84rem;font-weight:700}.chain-badge.verified{color:#08766b;background:#daf5ef}.chain-badge.invalid{color:#a51f2d;background:#fde5e6}.evidence-row{cursor:default}.signed-out{display:flex;width:min(100% - 2rem,32rem);min-height:100vh;flex-direction:column;justify-content:center;gap:1rem;margin:0 auto;padding:2rem 0}.signed-out .brand-mark{width:3rem;height:3rem;font-size:1.35rem}.signed-out h1{max-width:17ch;font-size:clamp(2rem,9vw,3.25rem)}.signed-out .button-stack button{width:100%}.loading{display:flex;min-height:100vh;align-items:center;justify-content:center;gap:.75rem;color:#40516a}.spinner{width:1rem;height:1rem;border:2px solid #cbd5e1;border-top-color:#14b8a6;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width: 760px){.page-content{padding-top:2.25rem}.approval-layout{grid-template-columns:minmax(16rem,.8fr) minmax(0,1.2fr);align-items:start}.approval-detail{position:sticky;top:5rem;max-height:calc(100vh - 6rem);overflow:auto}.email-facts{grid-template-columns:minmax(8rem,.36fr) minmax(0,1fr)}}
