/* JM © — shared visual language for portal, legal pages and mobile diary. */
:root{--green:#3e6547;--lime:#e1ecd8;--bg:#fbfcf8;--paper:#fbfcf8;--ink:#303c32;--muted:#536152;--line:#cbd7c4;--sand:#edf3e6}
body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.6}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;color:var(--ink)}h1{line-height:1.1}h2{font-size:29px}h3{font-size:23px}
.eyebrow{font-size:14px;letter-spacing:.09em;color:var(--green)}
.portal-header,.app-header,.header{background:var(--paper);border-color:var(--line)}
.portal-header .portal-brand.brand-image,.header .brand.brand-image{width:138px;max-width:100%;display:block}
.portal-header .portal-brand.brand-image img,.header .brand.brand-image img{width:100%;height:auto;border-radius:0}
.portal-header{min-height:142px;padding-block:14px}.header{position:static;min-height:142px;padding-block:14px}
.portal-main{padding-top:32px}.login-view{gap:60px}.login-intro h1{font-size:clamp(42px,5.2vw,68px)}.login-intro{background:radial-gradient(ellipse at 25% 50%,#eaf1e280,transparent 75%)}
.form-card,.login-card,.account-details,.save-card,.client-list-card{border-color:var(--line);border-radius:4px;box-shadow:none}
.login-card{background:linear-gradient(140deg,#fff,#f1f6eb);border-radius:0}.form-card{background:#fffefb}
.field>span{font-size:16px}.field small,.field-help,.login-help,.page-status,.muted{font-size:15px}.field input,.field select,.field textarea{border-radius:3px;border-color:#b9c9ae;font-size:17px;background:#fff}
.portal-button,.secondary-button{border-radius:3px;font-size:16px}.portal-button{background:var(--green);border-color:var(--green)}.portal-button:hover{background:#303c32}.secondary-button{color:var(--green);border-color:#9db498;background:#f1f6eb}.secondary-button:hover{background:#e1ecd8}.text-button,.text-link{color:var(--green);font-size:15px}
.portal-tabs{border-color:var(--line)}.portal-tabs button{color:var(--ink);font-size:16px}.portal-tabs button[aria-selected=true]{background:var(--green);color:#fff;border-color:var(--green)}
.option-choice{font-size:16px}.section-number{border-radius:3px;background:var(--sand);color:var(--green)}
.client-table th,.recipe-table th{background:var(--sand);color:var(--ink);font-size:14px}.client-table td,.recipe-table td{font-size:15px}
.diary-day-nav,.diary-day-summary,.nutrition-summary,.diary-recipe-options,.ingredient-card,.app-install,.app-settings,.app-update{background:linear-gradient(125deg,#f4f7ee,#e8f0e0);border-color:var(--line);border-radius:4px}
.diary-entry,.diary-meal,.diary-sport,.diary-meal-editor,.diary-sport-editor{border-radius:4px}.ingredient-name-group,.recipe-picker-results,.recipe-picker-option,.catalog-result,.catalog-preview{border-radius:3px}
.chat-message{border-radius:5px}.chat-message.own{background:#e1ecd8;color:var(--ink)}
.portal-footer{border-color:var(--line);color:var(--muted)}.portal-footer nav{font-size:15px}
/* Keep the legal contents intact and align their page chrome with JM. */
.legal-page{max-width:1280px;margin:auto;padding:42px 5% 60px}.legal-title h1{font-size:clamp(42px,5vw,68px)}.legal-title p{font-size:19px}.legal-title small,.legal-layout aside nav{font-size:15px}.legal-content{font-size:18px}.legal-layout{gap:7%}.legal-note{background:var(--sand);border-color:var(--line);border-radius:0}.legal-page h2{font-size:30px}.legal-page a{color:var(--green)}
/* Mobile app — readable, quiet surfaces with the same selected green throughout. */
.mobile-diary{background:var(--paper)}.app-header{gap:14px}.app-header .app-brand.brand-image{width:106px;max-width:100%;display:block}.app-header .app-brand.brand-image img{width:100%;height:auto;border-radius:0}.app-header .app-portal-link{font-size:15px;border-radius:3px;background:var(--sand);border-color:var(--line);color:var(--green)}
.mobile-diary h1{font-size:42px}.mobile-diary h2{font-size:27px}.mobile-diary h3{font-size:23px}.mobile-diary .form-card{border-radius:4px;background:#fffefb}.mobile-diary .field>span{font-size:16px}.mobile-diary input,.mobile-diary select,.mobile-diary textarea{font-size:17px}.mobile-diary .app-title>p:last-child,.app-install,.app-install summary,.app-settings>summary,.app-update p{font-size:16px}
.mobile-diary .nutrition-metrics>div{background:#f1f6eb;border-radius:3px}.mobile-diary .app-nav{background:var(--paper);border-color:var(--line)}.mobile-diary .app-nav button{background:#e8f0e0;color:var(--green);border:1px solid #ceddc4;border-radius:5px;font-size:14px;min-width:0}.mobile-diary .app-nav button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.mobile-diary .app-nav .app-chat-label{font-size:14px}.mobile-diary .app-nav button[aria-pressed=true] .chat-badge{background:white;color:var(--green)}
.mobile-diary #diary-meal-editor,.mobile-diary #diary-sport-editor,.mobile-diary #recipe-editor:not([hidden]){background:var(--paper)}.mobile-diary .detail-heading,.mobile-diary #recipe-editor>.detail-heading,.mobile-diary #recipe-editor .recipe-save{background:var(--paper)}
@media(max-width:620px){.portal-header{min-height:115px}.portal-header .portal-brand.brand-image,.header .brand.brand-image{width:104px}.portal-main{padding-top:25px}.portal-main h1{font-size:39px}.portal-main .login-intro h1{font-size:43px}.portal-header .text-link{font-size:15px}.session-controls{font-size:15px}.login-card{padding:24px}.form-card{padding:22px 18px}.portal-tabs button{font-size:15px}.app-header{padding-block:12px}.app-header-actions{gap:10px}.mobile-diary .form-card{padding:20px 16px}.mobile-diary .app-nav{gap:5px}.mobile-diary .app-nav button{padding:9px 3px}.mobile-diary #mobile-main{padding-top:20px}.legal-page{padding:30px 18px}.legal-layout{gap:25px}.legal-content{font-size:18px}}

footer .brand.brand-image{display:block;width:120px;max-width:100%}footer .brand.brand-image img{width:100%;height:auto;border-radius:0}
