@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap";:root{color:#21333b;--header-border-color:#9cb7ab;--header-background:#f1f8f3eb;--header-active:#194b44;--header-text-muted:#3a5752;background:#e9f0ec;font-family:Zen Kaku Gothic New,sans-serif}*{box-sizing:border-box}body{background-color:#e9f0ec;background-image:linear-gradient(135deg,#ffffff94 0 1px,#0000 1px 100%),linear-gradient(45deg,#487b6d17 0 1px,#0000 1px 100%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}button,input{font:inherit}.app-shell{place-items:center;min-height:100vh;padding:32px;display:grid}.app-shell--error{padding:24px}.authenticated-layout{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.authenticated-layout__body{padding:24px clamp(16px,4vw,40px) 40px}.content-shell{place-items:center;min-height:100%;display:grid}.app-header{z-index:10;border-bottom:1px solid var(--header-border-color);background:var(--header-background);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:sticky;top:0}.app-header__inner{grid-template-columns:minmax(200px,280px) minmax(280px,1fr) minmax(200px,280px);align-items:center;gap:16px;max-width:1280px;margin:0 auto;padding:16px clamp(16px,3vw,32px);display:grid}.app-header__brand{gap:4px;display:grid}.app-header__eyebrow{color:#2f7063;margin:0;font-family:DM Mono,monospace;font-size:.74rem}.app-header__title{color:#173d3c;margin:0;font-size:1.05rem;font-weight:700}.app-header__menu{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.app-header__menu-link{min-height:32px;color:var(--header-text-muted);border:1px solid #0000;align-items:center;padding:6px 12px;font-size:.92rem;text-decoration:none;transition:border-color .18s,color .18s,background-color .18s;display:inline-flex}.app-header__menu-link:hover{color:#1f5b53;background:#ffffff8f;border-color:#a6c0b5}.app-header__menu-link.is-active{color:var(--header-active);background:#ffffffb8;border-color:#7eac9d}.app-header__identity{justify-items:end;gap:2px;display:grid}.app-header__role,.app-header__user{margin:0}.app-header__role{color:#2f7063;font-size:.75rem}.app-header__user{color:#173d3c;font-size:.9rem;font-weight:700}.app-header__logout{color:#194b44;cursor:pointer;background:#f4faf6;border:1px solid #8eb5a8;margin-top:4px;padding:6px 10px}.app-header__logout:hover{background:#e7f3ec}.welcome{background:#ffffffd1;border:1px solid #a8c3b7;border-radius:8px;width:min(100%,680px);padding:clamp(32px,8vw,72px);box-shadow:12px 12px #c5d9cf}.error-page__actions{justify-content:center;margin-top:24px;display:flex}.error-page__logout{color:#194b44;cursor:pointer;background:#f4faf6;border:1px solid #8eb5a8;min-height:40px;padding:8px 16px}.error-page__logout:hover{background:#e7f3ec}.error-page__logout:focus-visible{outline-offset:2px;outline:2px solid #1f5b53}.eyebrow{color:#2f7063;letter-spacing:0;margin:0 0 20px;font-family:DM Mono,monospace;font-size:.8rem;font-weight:500}h1{color:#173d3c;max-width:12em;margin:0;font-size:clamp(2rem,5vw,3.7rem);font-weight:700;line-height:1.28}.description{color:#52636a;max-width:37rem;margin:28px 0 0;font-size:1rem;line-height:1.9}.health{color:#275e50;background:#f3f8f4;border:1px solid #9bb6aa;align-items:center;gap:8px;min-height:38px;margin:36px 0 0;padding:8px 12px;font-size:.9rem;display:inline-flex}.health--unavailable{color:#8b4f23;background:#fff5eb;border-color:#d7ac83}.health__indicator{background:currentColor;border-radius:50%;width:8px;height:8px}@media (width<=980px){.app-header__inner{grid-template-columns:1fr;justify-items:start}.app-header__menu{justify-content:flex-start}.app-header__identity{justify-items:start}}@media (width<=520px){.app-shell{padding:20px}.authenticated-layout__body{padding:16px}.app-header__inner{padding:14px 16px}.welcome{padding:32px 24px}}
