:root{color:#113b45;background:#eef7f5;font-family:Avenir Next,Avenir,Montserrat,Corbel,URW Gothic,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;background:#eef7f5}body{min-width:320px;min-height:100vh;min-height:100svh;margin:0}button,textarea,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #e6b148;outline-offset:3px}button:disabled{cursor:not-allowed}::selection{background:#cde95f;color:#123e45}.app-shell{width:min(100%,48rem);min-height:100vh;min-height:100svh;margin:0 auto;padding:max(1rem,env(safe-area-inset-top)) 1rem calc(8.5rem + env(safe-area-inset-bottom))}.app-header{display:flex;align-items:center;justify-content:space-between;min-height:3rem}.brand{display:inline-flex;align-items:center;gap:.5rem;color:#074255;font-size:1.25rem;font-weight:750;letter-spacing:-.04em;text-decoration:none}.brand img{width:2.75rem;height:2.75rem;border-radius:.8rem}.demo-badge{border:1px solid #9bcfc6;border-radius:99rem;padding:.32rem .58rem;color:#27675f;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.conversation{padding-top:clamp(2rem,8vh,4rem)}.conversation-intro{max-width:30rem;padding-bottom:1.75rem}.eyebrow{margin:0 0 .55rem;color:#198d82;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.conversation h1,.confirmation-card h2,.confirmed-card h2{margin:0;color:#073e4d;font-size:clamp(2.25rem,10vw,4rem);font-weight:720;letter-spacing:-.06em;line-height:.98}.conversation-intro>p:not(.eyebrow){max-width:35ch;margin:.8rem 0 0;color:#47636a;font-size:1rem;line-height:1.5}.conversation-intro>.tagline{max-width:32ch;margin-top:.95rem;color:#198d82;font-size:1.08rem;font-weight:750;letter-spacing:-.02em;line-height:1.3}.mode-selector{display:inline-flex;gap:.25rem;margin:2rem 0 1.4rem;padding:.25rem;border:1px solid #c6e1dc;border-radius:.8rem;background:#e1f0ed}.mode-selector button{border:0;border-radius:.58rem;padding:.55rem .88rem;background:transparent;color:#3b676a;font-size:.86rem;font-weight:700}.mode-selector button.selected{background:#fff;box-shadow:0 2px 8px #0840461a;color:#074255}.mode-selector button:disabled{color:#567277}.message-feed{display:grid;gap:.75rem}.welcome-message,.message{padding:1rem 1.1rem;border-radius:1rem}.welcome-message,.assistant-message{border:1px solid #cde5e0;background:#f9fffd}.message-label{display:block;margin-bottom:.35rem;color:#197f76;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.welcome-message p,.message p{margin:0;color:#294e56;line-height:1.5}.exchange{display:grid;gap:.6rem}.user-message{justify-self:end;max-width:88%;padding:.85rem 1rem;background:#075365}.user-message .message-label,.user-message p{color:#e7fbf5}.assistant-message{max-width:92%;padding:.85rem 1rem}.assistant-markdown>:first-child{margin-top:0}.assistant-markdown>:last-child{margin-bottom:0}.assistant-markdown p,.assistant-markdown ul,.assistant-markdown ol{color:#294e56;line-height:1.5}.assistant-markdown ul,.assistant-markdown ol{margin:.6rem 0;padding-left:1.25rem}.assistant-markdown strong{color:#073e4d}.waiting{margin:0;color:#427075;font-size:.9rem;font-style:italic}.error-message{margin:0;border:1px solid #e8b9b1;border-radius:.75rem;padding:.75rem .9rem;background:#fff2ee;color:#882f24;line-height:1.4}.confirmation-card,.confirmed-card{margin-top:1.5rem;border-radius:1.25rem;padding:1.35rem;background:#0a5663;color:#e7fbf5;box-shadow:0 1rem 2.25rem #053f4a2b}.confirmation-card .eyebrow,.confirmed-card .eyebrow{color:#8ce4cd}.confirmation-card h2,.confirmed-card h2{color:#fff;font-size:1.85rem;letter-spacing:-.045em}.confirmation-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem .75rem;margin:1.45rem 0}.confirmation-items{display:grid;gap:.45rem;margin:1rem 0 0;padding:0 0 1rem;list-style:none;border-bottom:1px solid rgb(169 217 209 / 35%)}.confirmation-items li{display:flex;justify-content:space-between;gap:1rem;color:#d9f3ec;font-size:.85rem}.confirmation-items strong{flex:0 0 auto;color:#fff}.confirmation-card dl div{min-width:0}.confirmation-card dt{color:#a9d9d1;font-size:.75rem}.confirmation-card dd{margin:.22rem 0 0;color:#fff;font-size:1rem;font-weight:700;text-transform:capitalize}.primary-action,.secondary-action{width:100%;border:0;border-radius:.85rem;padding:.9rem 1rem;font-weight:800}.primary-action{background:#d8f178;color:#16444b}.card-note,.confirmed-card>p:not(.eyebrow){margin:.8rem 0 0;color:#c0e5dc;font-size:.84rem;line-height:1.45}.secondary-action{margin-top:1.25rem;border:1px solid #91d0c2;background:transparent;color:#fff}.applied-dose{display:grid;gap:.55rem;margin-top:1.2rem}.applied-dose label{color:#c0e5dc;font-size:.86rem;font-weight:700}.applied-dose input{border:1px solid #91d0c2;border-radius:.7rem;padding:.75rem;background:#f9fffd;color:#173e46}.applied-dose .primary-action{margin-top:.2rem}.text-action{min-height:2.75rem;border:0;background:transparent;color:#27675f;font-size:.84rem;font-weight:750}.header-actions{display:flex;align-items:center;gap:.15rem}.sign-out-action{color:#7b4038}.key-required{margin-top:1.5rem;padding:1.25rem 0;border-top:1px solid #cde5e0}.key-required h2{margin:0;color:#073e4d;font-size:1.35rem;letter-spacing:-.025em}.key-required p{max-width:38ch;margin:.55rem 0 1rem;color:#47636a;line-height:1.5}.key-required .primary-action{width:auto;padding-right:1.25rem;padding-left:1.25rem}.composer{position:fixed;z-index:1;right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom));left:max(.75rem,env(safe-area-inset-left));width:min(calc(100% - 1.5rem),46rem);margin:auto;border:1px solid #bcded7;border-radius:1rem;padding:.65rem;background:#fff;box-shadow:0 .8rem 2rem #0e43491f}.composer>label{display:block;margin:0 0 .45rem .2rem;color:#285b62;font-size:.8rem;font-weight:750}.composer-row{display:flex;align-items:end;gap:.5rem}.composer textarea{width:100%;min-height:3rem;resize:none;border:0;border-radius:.65rem;padding:.65rem;background:#eff8f6;color:#173e46;line-height:1.35}.composer textarea::placeholder{color:#6b8589}.send-button{display:grid;flex:0 0 3rem;width:3rem;height:3rem;place-items:center;border:0;border-radius:.7rem;background:#0b5e6b;color:#fff;font-size:1.5rem;font-weight:400}.send-button:disabled{background:#a8c8c5}.composer-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.5rem .2rem 0}.composer-foot p{margin:0;color:#5d777c;font-size:.7rem;line-height:1.35}.composer-foot button{flex:0 0 auto;min-height:2rem;border:0;padding:0 .2rem;background:transparent;color:#075365;font-size:.72rem;font-weight:800;text-decoration:underline;text-underline-offset:.18em}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.manual-meal{display:grid;gap:1rem;margin-top:1.5rem;border-radius:1.15rem;padding:1.2rem;background:#fff;box-shadow:0 .8rem 2rem #0e43491f}.manual-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.manual-heading h2{margin:0;color:#073e4d;font-size:1.45rem;letter-spacing:-.035em}.manual-heading p{max-width:42ch;margin:.35rem 0 0;color:#47636a;font-size:.86rem;line-height:1.45}.manual-meal label{display:grid;gap:.35rem;color:#285b62;font-size:.82rem;font-weight:750}.manual-meal input,.manual-meal select{width:100%;min-height:3rem;border:1px solid #a9d5cc;border-radius:.75rem;padding:.72rem .8rem;background:#f9fffd;color:#173e46}.manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.historical-reuse{display:grid;gap:1rem;margin-top:1.5rem;border-top:1px solid #b8dcd5;padding:1.4rem 0 0}.historical-candidates{display:grid;gap:.55rem}.historical-candidate{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;border:1px solid #b8dcd5;border-radius:.85rem;padding:.85rem;background:#f9fffd;color:#173e46;text-align:left}.historical-candidate.selected{border-color:#087264;box-shadow:0 0 0 2px #08726424}.historical-candidate>span{display:grid;min-width:0;gap:.25rem}.historical-candidate time{color:#5d777c;font-size:.75rem}.historical-candidate strong{overflow:hidden;text-overflow:ellipsis;color:#073e4d;font-size:.9rem;white-space:nowrap}.historical-candidate b{flex:0 0 auto;color:#087264}.historical-items{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.historical-items li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #d6e9e5;padding-bottom:.45rem;color:#47636a;font-size:.84rem}.historical-items strong{flex:0 0 auto;color:#073e4d}.historical-reuse label{display:grid;gap:.35rem;color:#285b62;font-size:.82rem;font-weight:750}.historical-reuse input,.historical-reuse select{width:100%;min-height:3rem;border:1px solid #a9d5cc;border-radius:.75rem;padding:.72rem .8rem;background:#f9fffd;color:#173e46}.history-legacy-note,.reuse-safety-note{margin:0;color:#5d777c;font-size:.78rem;line-height:1.5}.onboarding-shell{width:min(100%,42rem);min-height:100vh;min-height:100svh;margin:0 auto;padding:max(1rem,env(safe-area-inset-top)) 1rem calc(2.25rem + env(safe-area-inset-bottom))}.setup-progress{color:#27675f;font-size:.78rem;font-weight:700}.setup-content{max-width:34rem;padding-top:clamp(3.5rem,12vh,7rem)}.setup-content h1{margin:0;color:#073e4d;font-size:clamp(2.1rem,9vw,3.5rem);font-weight:720;letter-spacing:-.04em;line-height:1}.setup-content>p,.setup-content form>p{margin:1.15rem 0 1.8rem;color:#47636a;line-height:1.55}.setup-content form{display:grid;gap:.8rem}.setup-content label{color:#285b62;font-size:.88rem;font-weight:750}.setup-content input{width:100%;border:1px solid #a9d5cc;border-radius:.75rem;padding:.78rem .85rem;background:#f9fffd;color:#173e46}.setup-content input:focus-visible{outline:3px solid #e6b148;outline-offset:2px}.install-glicia{display:grid;gap:.65rem;margin:1.5rem 0 1.7rem;padding:1rem 0;border-top:1px solid #cde5e0;border-bottom:1px solid #cde5e0}.install-glicia h2{margin:0;color:#073e4d;font-size:1.05rem;letter-spacing:-.02em}.install-glicia p{margin:0;color:#47636a;line-height:1.45}.install-glicia .secondary-action{width:auto;justify-self:start;margin:0;color:#075365}.install-help{justify-self:start;padding:0;color:#075365;text-decoration:underline;text-underline-offset:.18em}.install-instructions{max-width:40ch}.settings-fields{display:grid;gap:.9rem}.settings-fields>div{display:grid;gap:.34rem}.setup-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:.6rem;margin-top:1rem}.setup-actions .secondary-action{margin:0;color:#075365}.review-list{display:grid;gap:.75rem;margin:.4rem 0 .7rem}.review-list div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid #cde5e0;padding-bottom:.6rem}.review-list dt{color:#47636a;font-size:.85rem}.review-list dd{margin:0;color:#073e4d;font-weight:750}.key-settings{display:grid;gap:.55rem;margin-top:2rem;padding-top:1.4rem;border-top:1px solid #cde5e0}.key-settings h2{margin:0;color:#073e4d;font-size:1.2rem}.key-settings p{margin:0;color:#47636a;line-height:1.45}.key-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem}.key-row input{min-width:0;min-height:3rem}.key-row .secondary-action{margin:0;padding:.7rem .85rem;color:#075365}@media(min-width:32rem){.key-row{grid-template-columns:minmax(0,1fr) auto auto}}.status-message{margin:1rem 0 0;color:#27675f;font-weight:700}.auth-content{padding-bottom:2rem}.auth-actions{display:grid;justify-items:start;gap:.5rem}.auth-actions .primary-action{width:auto;min-width:11rem}.auth-secondary-actions{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.55rem}.auth-secondary-actions .text-action,.auth-back{padding-right:0;padding-left:0;text-decoration:underline;text-underline-offset:.18em}.otp-input{min-height:3.6rem;font-size:1.45rem!important;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:.28em;text-align:center}.auth-error{margin-top:1rem}.auth-note{max-width:44ch;margin:1.25rem 0 0!important;color:#5d777c!important;font-size:.78rem;line-height:1.5!important}.mailpit-link{display:inline-flex;min-height:2.75rem;align-items:center;border-radius:.75rem;padding:.7rem .95rem;background:#075365;color:#fff;font-size:.88rem;font-weight:800;text-decoration:none}.mailpit-link:hover{background:#0b6675}.account-sign-out{margin-top:2rem;padding:0;color:#7b4038;text-decoration:underline;text-underline-offset:.18em}.danger-zone{display:grid;gap:.7rem;margin-top:2.5rem;border-top:1px solid #ddbdb7;padding-top:1.4rem}.danger-zone h2{margin:0;color:#682a23;font-size:1.2rem;letter-spacing:-.025em}.danger-zone p{margin:0 0 .25rem;color:#6f504c;line-height:1.5}.danger-zone input{border-color:#d8a8a0}.danger-action{min-height:3rem;border:0;border-radius:.8rem;padding:.8rem 1rem;background:#8b342a;color:#fff;font-weight:800}.danger-action:disabled{background:#c9aaa5}.empty-history{margin:1.2rem 0;color:#47636a;line-height:1.5}.history-list{display:grid;gap:0;margin:1.4rem 0 0;padding:0;list-style:none;border-top:1px solid #cde5e0}.history-list li{display:grid;gap:.2rem;border-bottom:1px solid #cde5e0;padding:1rem 0;color:#47636a;font-size:.9rem}.history-list time{color:#27675f;font-size:.78rem;font-weight:700}.history-list strong{color:#073e4d;font-size:1rem;font-weight:750;text-transform:capitalize}.record-delete,.danger-text-action{justify-self:start;min-height:2.5rem;border:0;padding:0;background:transparent;color:#7b352c;font-size:.78rem;font-weight:750;text-decoration:underline;text-underline-offset:.18em}.danger-text-action{margin-top:1.25rem}.compact-action{width:auto;min-height:3rem;padding-right:1.25rem;padding-left:1.25rem}.admin-shell{width:min(100%,56rem);min-height:100vh;min-height:100svh;margin:0 auto;padding:max(1rem,env(safe-area-inset-top)) 1rem calc(2.5rem + env(safe-area-inset-bottom))}.admin-content{padding-top:clamp(2.5rem,8vh,5rem)}.admin-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.admin-heading h1{max-width:12ch;margin:0;color:#073e4d;font-size:clamp(2.15rem,8vw,3.6rem);font-weight:720;letter-spacing:-.04em;line-height:1}.admin-heading p{margin:.75rem 0 0;color:#47636a;line-height:1.5}.refresh-action{min-height:2.75rem;border:1px solid #9dcfc6;border-radius:.75rem;padding:.65rem .9rem;background:transparent;color:#075365;font-weight:750}.admin-empty{border-top:1px solid #cde5e0;border-bottom:1px solid #cde5e0;padding:1.25rem 0;color:#47636a}.access-request-list{margin:0;padding:0;list-style:none;border-top:1px solid #bdded8}.access-request-list li{display:grid;gap:.55rem;border-bottom:1px solid #bdded8;padding:1.1rem 0}.access-request-list li.highlighted{margin:0 -.75rem;border-radius:.9rem;padding-right:.75rem;padding-left:.75rem;background:#e1f0ed;box-shadow:0 .65rem 1.5rem #0c4a4d14}.request-main{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.request-main strong{min-width:0;overflow-wrap:anywhere;color:#073e4d;font-size:1rem}.access-request-list li>p{margin:0;color:#5a7478;font-size:.8rem}.request-status{flex:0 0 auto;border-radius:99rem;padding:.3rem .55rem;background:#dfeeea;color:#285b62;font-size:.7rem;font-weight:800}.request-status.approved{background:#dff0bd;color:#365315}.request-status.rejected{background:#f7dfdb;color:#7b352c}.review-actions{display:flex;gap:.55rem;margin-top:.25rem}.review-actions button{min-height:2.75rem;border-radius:.75rem;padding:.65rem .95rem;font-weight:800}.approve-action{border:0;background:#0a5965;color:#fff}.reject-action{border:1px solid #d8a8a0;background:transparent;color:#7b352c}.review-actions button:disabled{opacity:.6}@media(min-width:48rem){.app-shell{padding-right:1.5rem;padding-left:1.5rem}.conversation{padding-top:5rem}}@media(max-width:34rem){.admin-heading,.manual-heading{align-items:start;flex-direction:column}.manual-heading .text-action{padding:0}.manual-grid{grid-template-columns:1fr}.request-main{align-items:start;flex-direction:column}.review-actions{display:grid;grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:no-preference){.conversation,.composer{animation:arrive .38s ease-out both}@keyframes arrive{0%{opacity:0;transform:translateY(.45rem)}to{opacity:1;transform:translateY(0)}}}
