@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,600;0,700;1,500&family=Work+Sans:wght@400;500;600&display=swap";:root{--color-bg: #241012;--color-bg-alt: #2f1519;--color-surface: #fbf6ec;--color-text: #f3e9da;--color-text-muted: #c9b8a8;--color-ink: #241012;--color-ink-muted: #6b5a52;--color-orange: #ed6f2d;--color-orange-soft: #ffa270;--color-teal: #72c7b3;--color-teal-soft: #b6ecdf;--color-brick: #a33b3b;--font-display: "Fraunces", serif;--font-body: "Work Sans", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}#root{min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.navbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 2rem;background:var(--color-bg-alt);border-bottom:1px solid rgba(200,155,60,.25);flex-wrap:wrap}.navbar__brand{display:flex;align-items:center;gap:.75rem}.navbar__seal{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--color-teal);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--color-teal-soft);flex-shrink:0}.navbar__seal img{width:100%;height:100%;object-fit:contain}.navbar__title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:.01em;color:var(--color-text);margin:0}.navbar__title em{color:var(--color-orange);font-style:italic}.navbar__links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.navbar__links li{font-size:.85rem;letter-spacing:.03em;text-transform:uppercase}.navbar__links a{color:var(--color-text-muted);text-decoration:none;cursor:pointer;transition:color .2s ease}.navbar__links a:hover,.navbar__links a.is-active{color:var(--color-orange)}.navbar__links a:focus-visible{outline:2px solid var(--color-orange);outline-offset:2px}.navbar__user{display:flex;align-items:center;gap:1rem;font-size:.85rem;color:var(--color-text-muted)}.navbar__logout{background:transparent;border:1px solid var(--color-orange);color:var(--color-orange-soft);padding:.4rem 1rem;border-radius:999px;font-family:var(--font-body);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease}.navbar__logout:hover{background:var(--color-orange);color:var(--color-ink)}.navbar__logout:focus-visible,.auth-field input:focus-visible,.auth-field select:focus-visible,.auth-submit:focus-visible{outline:2px solid var(--color-orange);outline-offset:2px}.tipper-form{flex:1;padding:3rem 2rem;max-width:720px;margin:0 auto;width:100%}.tipper-form__success{color:var(--color-teal);font-size:.85rem;margin:-.5rem 0 1rem}.auth-page{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(ellipse at top,rgba(200,155,60,.1),transparent 60%),var(--color-bg)}.auth-card{width:100%;max-width:360px;background:var(--color-surface);color:var(--color-ink);border-radius:4px;padding:2.5rem 2rem 2rem;box-shadow:0 24px 60px #00000059;position:relative}.auth-card:before{content:"";position:absolute;top:0;left:2rem;right:2rem;height:3px;background:linear-gradient(90deg,transparent,var(--color-orange),transparent)}.auth-card__eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-brick);margin:0 0 .35rem}.auth-card__title{font-family:var(--font-display);font-size:1.75rem;font-weight:600;margin:0 0 1.75rem;color:var(--color-ink)}.auth-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.1rem}.auth-field label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-muted)}.auth-field input,.auth-field select{font-family:var(--font-body);font-size:.95rem;padding:.65rem .8rem;border:1px solid #ddd2bf;border-radius:3px;background:#fff;color:var(--color-ink)}.auth-field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.auth-error{color:var(--color-brick);font-size:.85rem;margin:-.5rem 0 1rem}.auth-submit{width:100%;padding:.75rem;background:var(--color-ink);color:var(--color-orange-soft);border:none;border-radius:3px;font-family:var(--font-body);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .2s ease}.auth-submit:hover{background:#3a2a26}.welcome-page{flex:1;padding:3rem 2rem;max-width:720px;margin:0 auto;width:100%}.welcome-page__eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-orange);margin:0 0 .5rem}.welcome-page h1{font-family:var(--font-display);font-size:2.25rem;margin:0 0 1rem}.welcome-page p{color:var(--color-text-muted);line-height:1.6;max-width:520px}.page-search{margin-top:2rem;max-width:480px}.page-search__input{width:100%;font-family:var(--font-body);font-size:1rem;padding:.75rem 1rem;border:1px solid rgba(200,155,60,.3);border-radius:6px;background:var(--color-bg-alt);color:var(--color-text)}.page-search__input::placeholder{color:var(--color-text-muted)}.page-search__input:focus-visible{outline:2px solid var(--color-orange);outline-offset:2px}.page-search__results{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.page-search__result{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;padding:.75rem 1rem;background:var(--color-bg-alt);border:1px solid rgba(200,155,60,.15);border-radius:6px;cursor:pointer;transition:border-color .2s ease,background .2s ease;font-family:var(--font-body)}.page-search__result:hover,.page-search__result:focus-visible{border-color:var(--color-orange);background:#ed6f2d14;outline:none}.page-search__result-label{font-family:var(--font-display);font-weight:600;color:var(--color-text);font-size:1rem}.page-search__result-desc{color:var(--color-text-muted);font-size:.85rem}.page-search__empty{color:var(--color-text-muted);font-size:.9rem;padding:.5rem 0}.loading-state{flex:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-style:italic;color:var(--color-text-muted)}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
