:root{--white:#fff;--lightest:#f4f1de;--light:#eae2b7;--yellow:#fcbf49;--orange:#f77f00;--red:#d62828;--green:#28a745;--dark:#003049;--darkest:#0d1b2a}*{box-sizing:border-box}html{min-width:320px}body{background-color:var(--lightest);color:var(--darkest);min-width:320px;margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}a{color:inherit}button,input{font:inherit}.app-shell{min-height:calc(100vh - 60px)}.marketing-page{background:linear-gradient(135deg, var(--lightest) 0%, var(--light) 100%);min-height:100vh;line-height:1.6}.static-container{max-width:1200px;margin:0 auto;padding:0 20px}.static-header{background:var(--white);padding:1rem 0;box-shadow:0 2px 10px #0000001a}.static-nav{justify-content:space-between;align-items:center;display:flex}.static-logo{font-size:1.8rem;font-weight:700}.static-logo a{color:inherit;text-decoration:none}.static-nav-links{gap:2rem;margin:0;padding:0;list-style:none;display:flex}.static-nav-links a{color:var(--dark);font-weight:500;text-decoration:none;transition:color .3s}.static-nav-links a:hover{color:var(--orange)}.home-btn{cursor:pointer;border:none;border-radius:50px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.home-btn-primary{background:var(--orange);color:var(--white);box-shadow:0 4px 15px #f77f004d}.home-btn-primary:hover{background:var(--yellow);transform:translateY(-2px);box-shadow:0 6px 20px #f77f0066}.home-btn-secondary{border:2px solid var(--dark);color:var(--dark);background:0 0}.home-btn-secondary:hover{background:var(--dark);color:var(--white);transform:translateY(-2px)}.home-btn-disabled{background:var(--light);box-shadow:none;color:var(--dark);cursor:not-allowed;pointer-events:none}.home-hero{text-align:center;padding:5rem 0}.home-hero h1{color:var(--dark);margin:0 0 1.5rem;font-size:3.5rem;font-weight:700}.home-hero p{color:var(--darkest);max-width:600px;margin:0 auto 2.5rem;font-size:1.3rem}.home-cta-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.home-features{background:var(--white);padding:5rem 0}.home-features h2{color:var(--dark);text-align:center;margin:0 0 3rem;font-size:2.5rem}.home-features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.home-feature-card{background:var(--lightest);border-left:4px solid var(--orange);border-radius:10px;padding:2rem;transition:transform .3s}.home-feature-card:hover{transform:translateY(-5px)}.home-feature-card h3{color:var(--dark);margin:0 0 1rem;font-size:1.4rem}.home-feature-card p{color:var(--darkest);margin:0;line-height:1.6}.home-stats{background:var(--dark);color:var(--white);text-align:center;padding:4rem 0}.home-stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;display:grid}.home-stat{padding:1rem}.home-stat-number{color:var(--yellow);font-size:3rem;font-weight:700;display:block}.home-stat-label{margin-top:.5rem;font-size:1.1rem}.static-footer{background:var(--darkest);color:var(--light);text-align:center;padding:2rem 0}.static-footer p{margin:0 0 .5rem}.static-footer a{color:var(--light);text-decoration:none;transition:color .3s}.static-footer a:hover{color:var(--white)}.page-shell{max-width:980px;margin:0 auto;padding:2rem}.page-title{color:var(--dark);margin:0 0 1rem;font-size:1.75rem}.panel{background:var(--white);border:1px solid var(--light);border-radius:8px;padding:1.25rem;box-shadow:0 2px 10px #00000014}.panel-title{color:var(--dark);margin:0 0 .75rem;font-size:1.15rem}.muted-copy{color:var(--dark);margin:0;line-height:1.5}.panel-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:1rem;display:grid}.status-list{gap:.75rem;margin:0;display:grid}.status-row{border-bottom:1px solid var(--light);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.status-row:last-child{border-bottom:0}.status-label{color:var(--dark);font-weight:700}.status-value{overflow-wrap:anywhere;text-align:right}.status-pill{border-radius:999px;padding:.25rem .65rem;font-size:.85rem;font-weight:700;display:inline-flex}.status-pill-ok{background:var(--dark);color:var(--white)}.status-pill-warn{background:var(--yellow);color:var(--darkest)}.error-messages{background:var(--red);color:var(--white);border-radius:4px;margin-bottom:.75rem;padding:.5rem}.success-message{color:var(--green);margin-bottom:.75rem;font-weight:600}.success-message p{margin:0 0 .75rem}.btn{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:1rem;text-decoration:none;transition:background-color .2s;display:inline-block}.btn-primary{background:var(--orange);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--yellow)}.btn-secondary{background:var(--light);color:var(--darkest)}.btn-danger{background:var(--red);color:var(--white)}.btn-success{background:var(--dark);color:var(--white)}.btn-sm{padding:.25rem .75rem;font-size:.9rem}.btn-expand{color:var(--darkest);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:.9rem;font-weight:700}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-group{gap:.5rem;display:flex}.form-group{margin-bottom:1rem}.form-group label{color:var(--dark);margin-bottom:.5rem;font-weight:700;display:block}.form-group input[type=email],.form-group input[type=password],.form-group input[type=tel],.form-group input[type=text]{border:2px solid var(--light);border-radius:4px;width:100%;padding:.75rem;font-size:1rem}.form-group input:focus{border-color:var(--orange);outline:none}.form-actions{margin-top:1rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.form-section{border-bottom:1px solid var(--light);margin-bottom:1.5rem;padding-bottom:1.5rem}.form-section:last-of-type{border-bottom:0}.form-section h2{color:var(--dark);margin:0 0 1rem;font-size:1.2rem}.form-hint{color:var(--dark);margin-top:.35rem;font-size:.85rem;display:block}.checkbox-control{color:var(--dark);align-items:center;gap:.5rem;font-weight:600;display:flex}.checkbox-control input{accent-color:var(--orange);width:1rem;height:1rem}.btn-link,.auth-toggle a,.form-footer a{color:var(--orange);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.btn-link:hover,.auth-toggle a:hover,.form-footer a:hover{color:var(--yellow)}#auth{justify-content:center;align-items:center;min-height:80vh;padding:2rem;display:flex}.auth-form{background:var(--white);border:1px solid var(--light);border-radius:8px;width:100%;max-width:400px;padding:2rem;box-shadow:0 4px 6px #0000001a}.auth-form-wide{max-width:520px}.auth-form h1{color:var(--dark);text-align:center;margin:0 0 1.5rem;font-size:1.8rem}.auth-toggle{color:var(--dark);text-align:center;margin-top:1.5rem}.account-panel{max-width:900px}#invite{background:var(--lightest);justify-content:center;align-items:center;min-height:calc(100vh - 60px);padding:20px;display:flex}.invite-container{background:var(--white);border:1px solid var(--light);border-radius:8px;width:100%;max-width:500px;padding:40px;box-shadow:0 4px 6px #0000001a}.invite-header{text-align:center;margin-bottom:30px}.invite-header h1{color:var(--red);margin:0;font-size:2rem}.signup-form h2{color:var(--dark);margin:0 0 1rem}.welcome-message{color:var(--dark);margin:0 0 1.5rem;line-height:1.6}.form-footer{color:var(--dark);text-align:center;margin-top:1rem}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--white);border-radius:8px;width:min(100%,500px);max-width:500px;max-height:80vh;padding:2rem;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-content h3{color:var(--dark);margin:0 0 1rem}.modal-buttons{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}.modal-buttons .btn{min-width:100px}#recipes{width:100%;max-width:750px}#recipes h1{text-align:center}.recipe-management{margin-top:1rem}.recipe-section{margin-bottom:1.5rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-title{color:var(--dark);margin:0}.no-client,.no-recipes,.no-data,.loading{background:var(--lightest);color:var(--dark);text-align:center;border-radius:8px;padding:2rem;font-style:italic}.recipe-item{border:1px solid var(--light);border-radius:4px;margin-bottom:.5rem;transition:border-color .2s}.recipe-item:hover{border-color:var(--yellow)}.recipe-header{background:var(--lightest);grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:1rem;padding:.75rem;display:grid}.recipe-info,.recipe-editing{gap:.5rem;min-width:0;display:grid}.recipe-name{color:var(--dark);font-weight:700}.recipe-type{color:var(--dark);font-size:.9rem}.recipe-editing .title-input,.recipe-type-selector,.recipe-form input,.recipe-form select{border:1px solid var(--light);font:inherit;border-radius:4px;width:100%;padding:.5rem}.recipe-controls{justify-self:end;align-items:flex-start;gap:.5rem;display:flex;position:relative}.delete-warning{background:var(--lightest);border-left:3px solid var(--red);color:var(--dark);text-align:right;z-index:10;border-radius:4px;max-width:300px;margin-top:.25rem;padding:.5rem;font-size:.9rem;position:absolute;top:100%;right:0}.recipe-form{background:var(--lightest);border:1px solid var(--light);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.modal-content.recipe-form{background:var(--white);margin-bottom:0}.recipe-form h3{color:var(--dark);margin:0 0 1rem}.error{background:var(--lightest);border-left:3px solid var(--red);color:var(--red);border-radius:4px;margin-bottom:.5rem;padding:.75rem;font-weight:500}#client-page{width:100%;max-width:1200px}#client{width:100%;margin:1rem auto}.client-edit-panel{max-width:750px;margin:0 auto}.client-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.client-header h1{color:var(--dark);margin:0}.client-actions{align-items:flex-start;gap:.5rem;display:flex;position:relative}.form-help{color:var(--dark);margin-top:.25rem;font-size:.85rem;display:block}.client-resources-container{flex-wrap:wrap;gap:2rem;margin-top:2rem;display:flex}.client-resource-section{border-top:1px solid var(--light);flex:300px;min-width:280px;padding-top:2rem}.resource-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.resource-title-container{align-items:center;gap:.5rem;min-width:0;display:flex}.resource-title{color:var(--dark);margin:0;font-size:1.5rem}.resource-loading,.resource-error,.resource-empty{background:var(--lightest);color:var(--dark);text-align:center;border-radius:8px;padding:2rem;font-style:italic}.resource-error{color:var(--red);background:#d628281a;border:1px solid #d628284d;font-style:normal}.resource-list{flex-direction:column;gap:.75rem;display:flex}.resource-help{background:var(--lightest);border-left:4px solid var(--orange);color:var(--dark);border-radius:4px;margin-bottom:1rem;padding:.75rem 1rem;line-height:1.5}.resource-help strong{color:var(--darkest)}.resource-item{background:var(--white);border:1px solid var(--light);border-radius:8px;padding:1rem;transition:border-color .2s}.resource-item:hover{border-color:var(--yellow)}.resource-item.active{border-color:var(--orange);border-width:2px}.resource-item-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.resource-item-title{color:var(--dark);font-weight:600}.resource-item-actions{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.resource-item-content{color:var(--dark);font-size:.9rem;line-height:1.4}.resource-item-meta{border-top:1px solid var(--lightest);flex-wrap:wrap;gap:1rem;margin-top:.75rem;padding-top:.75rem;display:flex}.resource-meta-item{color:var(--dark);font-size:.8rem}.diet-ratio-display{background:var(--white);border:1px solid var(--light);text-align:center;border-radius:6px;margin:1rem 0;padding:1rem}.ratio-header,.ratio-target{color:var(--dark);margin-bottom:.5rem;font-size:.9rem}.ratio-value{margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.compliant{color:var(--green)}.non-compliant{color:var(--red)}.diet-macros{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;display:grid}.macro{background:var(--lightest);color:var(--dark);border-radius:4px;padding:.25rem .5rem;font-size:.9rem}.slot-summary{background:var(--lightest);border-radius:4px;margin-top:.75rem;padding:.5rem}.warning-banner{border:2px solid var(--red);color:var(--red);background:#d628281a;border-radius:4px;margin-bottom:1.5rem;padding:1rem;font-size:.95rem;font-weight:600;line-height:1.5}.restriction-form,.invitation-form{background:var(--lightest);border-radius:4px;margin-bottom:1.5rem;padding:1.5rem}.restriction-form-modal textarea,.restriction-form-modal select,.diet-create-form select{border:1px solid var(--light);font:inherit;border-radius:4px;width:100%;padding:.5rem}.modal-content.diet-create-form{width:min(100%,760px);max-width:760px}.modal-content.invitation-form-modal,.modal-content.restriction-form-modal{width:min(100%,560px);max-width:560px}.modal-content.food-form-modal{width:min(100%,680px);max-width:680px}.diet-create-form h4{color:var(--dark);margin:1rem 0 .75rem}.slot-input-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.slot-input-grid h3{color:var(--dark);margin:0 0 .75rem}.restrictions-list{flex-direction:column;gap:1rem;display:flex}.restriction-card{background:var(--white);border:1px solid var(--light);border-radius:4px;padding:1rem}.restriction-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.restriction-type{text-transform:uppercase;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.restriction-type.exclude{border:1px solid var(--red);color:var(--red);background:#d628281a}.restriction-type.limit{border:1px solid var(--orange);color:var(--orange);background:#f77f001a}.food-pattern{color:var(--dark);font-weight:600}#food{width:100%;max-width:1200px}#food .section-header{align-items:flex-start;gap:1rem}#food .page-title{text-align:left;margin-bottom:0}.food-layout{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);align-items:start;gap:1.5rem;display:grid}.food-panel{background:var(--white);border:1px solid var(--light);border-radius:8px;padding:1.25rem}.food-panel-header{margin-bottom:1rem}.food-panel-header h2{color:var(--dark);margin:0 0 .5rem;font-size:1.35rem}.food-panel-header p{color:var(--dark);margin:0;line-height:1.45}.food-no-client{background:var(--lightest);color:var(--dark);text-align:center;border-radius:8px;margin:2rem 0;padding:4rem 2rem}.food-no-client h2{color:var(--dark);margin:0 0 .75rem}.food-search-container,.food-search-row{gap:.5rem;margin-bottom:1.5rem;display:flex}.food-search-container input,.food-search-row input,.food-form input{border:1px solid var(--light);font:inherit;border-radius:4px;width:100%;padding:.65rem .75rem}.food-search-container input,.food-search-row input{flex:1}.fdc-discovery-search{margin-bottom:1rem}.fdc-discovery-search .food-search-row{margin-bottom:.75rem}.food-create-action{width:100%;margin-bottom:1.5rem}#food .food-list{flex-direction:column;gap:1rem;display:flex}#food .food-item{background:var(--lightest);border:1px solid var(--light);border-radius:6px;justify-content:space-between;align-items:flex-start;margin:0;padding:1rem;display:flex}.food-item-info{flex:1;min-width:0}.food-item-title{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.food-item-title h4{color:var(--dark);margin:0;font-size:1.1rem}.food-item-description{color:var(--dark);margin-bottom:.5rem}.food-item-nutrition{color:var(--dark);flex-wrap:wrap;gap:.35rem .75rem;font-size:.9rem;display:flex}.food-item-actions{flex-shrink:0;gap:.5rem;display:flex}.food-type-custom,.food-type-generic,.food-status-available,.food-status-usda,.trust-badge,.fdc-data-type{color:var(--dark);white-space:nowrap;border-radius:3px;padding:.2rem .45rem;font-size:.75rem}.food-type-custom{background:var(--yellow);font-weight:700}.food-type-generic,.food-status-available,.trust-badge,.fdc-data-type{background:var(--light)}.food-status-available{font-weight:700}.food-status-usda{background:var(--yellow);font-weight:700}.food-results-summary{background:var(--lightest);color:var(--dark);border-radius:4px;margin-bottom:1rem;padding:.6rem .75rem;font-weight:700}.food-edit-form{background:var(--lightest);border:1px solid var(--light);border-radius:8px;margin:-.25rem 0 1rem;padding:1.25rem}.food-form{gap:1rem;display:grid}.food-form h3{color:var(--dark);margin:0}.food-form .form-group{margin-bottom:0}.food-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.food-form .form-actions{gap:.75rem;display:flex}.fdc-search-container{background:var(--lightest);border:2px solid var(--yellow);border-radius:8px;margin-bottom:2rem;padding:1.5rem}.fdc-search-container h3{color:var(--dark);margin:0 0 .75rem}.fdc-search-description{color:var(--dark);margin:0 0 1rem;font-size:.9rem}.fdc-results{margin-top:1.5rem}.fdc-results-header{background:var(--light);color:var(--dark);border-radius:4px;margin-bottom:1rem;padding:.5rem;font-weight:700}.fdc-food-list{flex-direction:column;gap:1rem;display:flex}.fdc-food-item{background:var(--white);border:1px solid var(--light);border-radius:6px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.fdc-food-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.fdc-food-title{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.fdc-food-title strong{color:var(--dark)}.fdc-brand{color:var(--dark);opacity:.8;font-size:.9rem}.fdc-food-nutrition{background:var(--lightest);color:var(--dark);border-radius:4px;flex-wrap:wrap;gap:.75rem 1rem;padding:.5rem;font-size:.9rem;display:flex}.fdc-food-item button{align-self:flex-start}.restriction-limit{border-left:3px solid var(--orange);color:var(--dark);background:#f77f001a;margin:.5rem 0;padding:.5rem}.restriction-notes{background:var(--lightest);color:var(--dark);border-radius:4px;margin:.5rem 0;padding:.5rem;font-style:italic}.restriction-actions{border-top:1px solid var(--lightest);gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.invitation-item{justify-content:space-between;align-items:center;display:flex}.invitation-info{flex:1}.invitation-email{color:var(--dark);margin-bottom:.5rem;font-weight:600}.invitation-meta{flex-direction:column;gap:.25rem;display:flex}.invitation-status{text-transform:uppercase;border-radius:4px;width:fit-content;padding:.25rem .5rem;font-size:.8rem;font-weight:700;display:inline-block}.status-pending .invitation-status{background:var(--yellow);color:var(--dark)}.status-accepted .invitation-status{background:var(--orange);color:var(--white)}.status-expired .invitation-status{background:var(--dark);color:var(--white)}.status-revoked .invitation-status{background:var(--red);color:var(--white)}.invitation-date,.invitation-expires,.invitation-accepted{color:var(--dark);font-size:.9rem}.no-client-layout{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}.client-create-form,.invitation-redeem{background:var(--lightest);border:1px solid var(--light);border-radius:8px;padding:1.5rem}.client-create-form h1,.invitation-redeem h2{color:var(--dark);margin:0 0 1rem}.invitation-redeem p{color:var(--dark);margin:0 0 1.5rem;line-height:1.5}@media (max-width:767px){.client-header,.resource-header,.invitation-item{flex-direction:column;align-items:stretch;gap:1rem}.client-resources-container{flex-direction:column}.no-client-layout,.food-layout{grid-template-columns:1fr}#food .section-header,#food .food-item,.fdc-food-header{flex-direction:column;align-items:stretch}.food-search-container,.food-search-row,.food-item-actions,.food-form .form-actions{flex-direction:column}.food-form .form-row{grid-template-columns:1fr}.fdc-search-container{padding:1rem}}#recipe{max-width:1200px;margin:1rem auto}.recipe-layout{flex-direction:column;display:flex}.recipe-sidebar{order:1}.recipe-content{order:2}.food-item{border:1px solid var(--light);border-radius:4px;margin-bottom:.5rem}.food-header{background:var(--lightest);justify-content:space-between;align-items:center;padding:.75rem;display:flex}.food-title{flex:1;font-weight:500}.food-amount{color:var(--dark);margin-left:.5rem;font-weight:600}.food-details{border-top:1px solid var(--light);padding:1rem}.food-item-deleted{opacity:.65}.food-description{color:var(--dark);margin:0 0 .5rem}.add-food-panel{background:var(--white);border:1px solid var(--light);border-radius:5px;margin-bottom:1rem;padding:1rem}.food-search-results{gap:.5rem;margin-top:.75rem;display:grid}.food-search-result{border:1px solid var(--light);border-radius:4px;grid-template-columns:1fr;align-items:center;gap:.75rem;padding:.75rem;display:grid}.fdc-discovery-preview p{color:var(--dark);margin:0;font-size:.85rem;line-height:1.4}.fdc-import-action{margin-top:.75rem}.fdc-import-success{background:var(--lightest);border:2px solid var(--yellow);color:var(--dark);border-radius:6px;gap:.35rem;margin:.75rem 0;padding:.85rem;display:grid}.fdc-import-form{background:var(--white);border:1px solid var(--light);border-radius:6px;gap:.85rem;margin-top:.85rem;padding:1rem;display:grid}.fdc-import-form-heading h3{color:var(--dark);margin:0 0 .35rem;font-size:1rem}.fdc-import-form input,.fdc-import-form select,.fdc-import-form textarea{border:1px solid var(--light);font:inherit;border-radius:4px;width:100%;padding:.6rem .7rem}.fdc-import-form textarea{resize:vertical;min-height:5rem}.fdc-import-form .form-group{margin:0}.fdc-import-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.fdc-import-descriptors{border:1px solid var(--light);border-radius:4px;margin:0;padding:.85rem}.fdc-import-descriptors legend{color:var(--dark);padding:0 .25rem;font-size:.9rem;font-weight:700}.fdc-import-actions{flex-wrap:wrap;gap:.5rem;display:flex}.fdc-discovery-results{gap:.5rem;margin-top:.75rem;display:grid}.fdc-discovery-preview{background:color-mix(in srgb, var(--yellow) 10%, var(--white));border:1px solid var(--yellow);border-radius:4px;padding:.75rem}.fdc-discovery-preview-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.fdc-discovery-preview-heading span{color:var(--dark);text-transform:uppercase;font-size:.75rem;font-weight:700}.fdc-discovery-source{color:var(--dark);margin:.3rem 0;font-size:.8rem}.fdc-nutrition-preview{background:var(--white);border:1px solid var(--light);border-radius:4px;margin:.65rem 0;padding:.65rem}.fdc-nutrition-preview-heading{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.fdc-nutrition-preview-heading span{color:var(--dark);text-transform:uppercase;font-size:.75rem;font-weight:700}.fdc-nutrition-preview dl{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;margin:.55rem 0 0;display:grid}.fdc-nutrition-preview dl div{min-width:0}.fdc-nutrition-preview dt{color:var(--dark);font-size:.7rem}.fdc-nutrition-preview dd{color:var(--darkest);margin:.1rem 0 0;font-size:.85rem;font-weight:700}.fdc-listed-serving{color:var(--dark);margin-top:.5rem;font-size:.75rem}.fdc-discovery-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.fdc-discovery-pagination span{color:var(--dark);font-size:.85rem;font-weight:600}@media (max-width:720px){.fdc-import-fields{grid-template-columns:1fr}.fdc-nutrition-preview dl{grid-template-columns:repeat(2,minmax(0,1fr))}}.food-family-aliases,.food-family-summary{color:var(--dark);margin-top:.25rem;font-size:.85rem}.food-family-summary{font-weight:600}.food-variant-choices{border:0;gap:.4rem;margin:.65rem 0 0;padding:0;display:grid}.food-variant-choices legend{color:var(--dark);margin-bottom:.25rem;font-size:.85rem;font-weight:700}.food-variant-choices label{align-items:center;gap:.45rem;display:flex}.food-variant-choice{border:1px solid var(--light);border-radius:4px;padding:.55rem}.food-variant-choices input{min-height:auto}.food-variant-source{color:var(--dark);margin-top:.35rem;font-size:.8rem}.food-variant-profile{margin-top:.2rem}.food-variant-evidence{margin-top:.35rem}.food-variant-evidence summary{cursor:pointer;font-weight:600}.food-variant-evidence ul{margin:.3rem 0 0;padding-left:1.2rem}.food-variant-selection{color:var(--darkest);margin-top:.5rem;font-size:.85rem;font-weight:700}.food-replacement-panel{margin-top:.5rem}.food-replacement-current{background:var(--lightest);border-left:3px solid var(--orange);margin-top:.5rem;padding:.5rem;font-size:.85rem}.food-variant-memory{background:var(--lightest);border-left:3px solid var(--orange);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;font-size:.85rem;display:flex}.food-variant-remember{margin-top:.5rem}.recipe-food-controls{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.recipe-food-controls label{color:var(--dark);flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;display:flex}.recipe-food-controls input,.food-search-result input{border:1px solid var(--light);box-sizing:border-box;border-radius:4px;min-height:2.25rem;padding:.45rem}.recipe-food-controls .checkbox-label{flex-direction:row;align-items:center;min-height:3.65rem}.recipe-food-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;font-size:.9rem;display:grid}.recipe-macros{background:var(--white);border:1px solid var(--light);border-radius:5px;margin-bottom:1rem;padding:1rem}.recipe-macros h3{color:var(--dark);margin-top:0}.recipe-macros p{color:var(--darkest);margin:.5rem 0}.recipe-targets{background:var(--white);border:1px solid var(--light);border-radius:5px;margin-bottom:1rem;padding:1rem}.recipe-targets h3{color:var(--dark);margin-top:0}.ratio-feedback{border-left:4px solid var(--light);grid-template-columns:1fr auto;align-items:center;gap:.25rem;margin-bottom:1rem;padding:.75rem;display:grid}.ratio-feedback strong{color:var(--darkest)}.ratio-feedback small{color:var(--dark);grid-column:2}.ratio-feedback-good{border-left-color:var(--green)}.ratio-feedback-near{border-left-color:var(--yellow)}.ratio-feedback-off{border-left-color:var(--red)}.macro-target-grid{grid-template-columns:minmax(72px,1fr) auto auto;gap:.4rem .75rem;margin-bottom:1rem;font-size:.9rem;display:grid}.macro-target-grid strong,.macro-target-grid span{color:var(--darkest)}.recipe-autobalance-button{width:100%}.recipe-target-note{color:var(--dark);margin:.5rem 0 0;font-size:.85rem}.assist-app-frame{min-height:calc(100vh - 60px)}.assist-content-frame{min-width:0}.assist-launcher{background:var(--dark);border:1px solid var(--dark);color:var(--white);cursor:pointer;z-index:900;border-radius:999px;min-height:3rem;padding:0 1.1rem;font-weight:700;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 24px #0d1b2a38}.assist-launcher:hover{background:var(--orange);border-color:var(--orange)}.assist-backdrop{z-index:1090;background:#0d1b2a6b;position:fixed;inset:0}.assist-drawer{background:var(--white);border-left:1px solid var(--light);z-index:1100;flex-direction:column;gap:1rem;width:min(420px,100vw);max-width:420px;padding:1rem;font-size:.95rem;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-8px 0 28px #0d1b2a29}.assist-app-frame-open .assist-drawer{transform:translate(0)}.assist-shell-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.assist-shell-header h2{color:var(--dark);margin:0;font-size:1.2rem;line-height:1.15}.assist-shell-header p{color:var(--dark);margin:.25rem 0 0;font-size:.86rem;line-height:1.4}.assist-close{background:var(--lightest);border:1px solid var(--light);color:var(--dark);cursor:pointer;border-radius:4px;min-height:2rem;padding:0 .65rem;font-size:.82rem;font-weight:600}.assist-close:hover{border-color:var(--orange)}.assist-context-chips{border-left:4px solid var(--yellow);gap:.25rem;padding-left:.75rem;display:grid}.assist-context-chips span{color:var(--dark);font-size:.85rem}.assist-context-chips strong{color:var(--darkest);overflow-wrap:anywhere;font-size:.98rem}.assist-status-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.assist-status,.assist-context-kind{border:1px solid var(--light);color:var(--dark);border-radius:999px;padding:.2rem .5rem;font-size:.78rem;font-weight:700}.assist-status-active{border-color:var(--green);color:var(--green)}.assist-transcript{border:1px solid var(--light);overflow-anchor:none;border-radius:4px;flex:1;align-content:start;gap:.75rem;min-height:0;padding:.75rem;display:grid;overflow:auto}.assist-empty-state{background:var(--lightest);border:1px solid var(--light);border-radius:4px;gap:.25rem;padding:.75rem;display:grid}.assist-empty-state strong{color:var(--dark);font-size:.95rem}.assist-empty-state p{color:var(--dark);margin:0;font-size:.86rem;line-height:1.45}.assist-turn-live{border-left:3px solid var(--yellow);gap:.3rem;padding-left:.6rem;display:grid}.assist-turn-status{color:var(--dark);min-height:1.15rem;font-size:.82rem;font-style:italic;line-height:1.4}.assist-ellipsis:after{content:"…";text-align:left;min-width:1.1em;animation:1.2s step-end infinite assist-ellipsis;display:inline-block}@keyframes assist-ellipsis{0%{content:"."}33%{content:".."}66%{content:"…"}}@media (prefers-reduced-motion:reduce){.assist-ellipsis:after{animation:none}}.assist-status-strip{color:var(--dark);align-items:center;gap:.5rem;min-height:1.5rem;font-size:.8rem;display:flex}.assist-status-strip-error{color:var(--red)}.assist-message-notice{color:var(--dark);opacity:.8;text-align:center;justify-self:center;padding:.1rem 0;font-size:.78rem;font-style:italic}.assist-activity-step{color:var(--dark);font-size:.82rem;font-style:italic}.assist-activity-step:before{content:"▸ "}.assist-activity-step-done{opacity:.65}.assist-activity-step-done:before{content:"✓ "}.assist-message{border-radius:4px;padding:.65rem}.assist-message-user{background:var(--lightest)}.assist-message-assistant{background:var(--white);border:1px solid var(--light)}.assist-message-author{color:var(--dark);text-transform:uppercase;margin-bottom:.35rem;font-size:.75rem;font-weight:700}.assist-message p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.assist-citations{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.assist-citations span{border:1px solid var(--light);color:var(--dark);border-radius:999px;padding:.15rem .45rem;font-size:.75rem}.assist-proposal-card{background:var(--white);border:1px solid var(--yellow);border-radius:4px;gap:.5rem;padding:.65rem;display:grid}.assist-proposal-title{color:var(--dark);text-transform:uppercase;font-size:.75rem;font-weight:700}.assist-proposal-diff{font-weight:600}.assist-proposal-totals{color:var(--dark);margin:0;font-size:.8rem}.assist-proposal-actions{gap:.5rem;display:flex}.assist-proposal-status{border:1px solid var(--light);color:var(--dark);border-radius:999px;justify-self:start;padding:.15rem .45rem;font-size:.75rem}.assist-proposal-status-applied{border-color:var(--green);color:var(--green)}.assist-proposal-status-expired,.assist-proposal-status-failed{border-color:var(--red);color:var(--red)}.assist-form{gap:.5rem;display:grid}.assist-form textarea{border:1px solid var(--light);resize:vertical;border-radius:4px;min-height:5rem;padding:.55rem}.assist-compose-disabled{background:var(--lightest);border:1px solid var(--light);border-radius:4px;gap:.25rem;padding:.75rem;display:grid}.assist-compose-disabled span{color:var(--dark);font-size:.86rem;font-weight:700}.assist-compose-disabled p{color:var(--dark);margin:0;font-size:.82rem;line-height:1.4}@media (min-width:768px){.recipe-layout{grid-template-columns:1fr minmax(350px,25vw);align-items:start;gap:2rem;display:grid}.recipe-content{order:1}.recipe-sidebar{order:2;position:sticky;top:1rem}.food-search-result{grid-template-columns:1fr auto}}@media (min-width:1040px){.assist-app-frame-open{grid-template-columns:minmax(0,1fr) 390px;align-items:start;display:grid}.assist-app-frame-open .assist-content-frame{min-height:calc(100vh - 60px)}.assist-app-frame-open .assist-drawer{z-index:1;width:390px;max-width:none;height:calc(100vh - 60px);position:sticky;top:0;transform:translate(0);box-shadow:-4px 0 16px #0d1b2a14}.assist-app-frame-open .assist-backdrop,.assist-app-frame-open .assist-launcher{display:none}}#navbar{background:var(--white);border-bottom:1px solid var(--light);grid-template-columns:1fr auto 1fr;align-items:center;min-height:60px;padding:1rem 2rem;display:grid;box-shadow:0 2px 10px #0000001a}.navbar-left{justify-self:start;align-items:center;gap:1rem;display:flex;position:relative}.navbar-center{justify-self:center;align-items:center;display:flex}.navbar-brand{font-size:1.815rem;font-weight:700;text-decoration:none}.navbar-brand:hover{color:inherit}.brand-keto{color:var(--orange);font-weight:700}.brand-sistant{color:var(--dark);font-style:italic;font-weight:300}.navbar-right{justify-self:end;align-items:center;gap:1rem;display:flex;position:relative}#navbar a{color:var(--dark);text-decoration:none;transition:color .2s}#navbar a:hover{color:var(--yellow)}.logout-btn{color:var(--dark);cursor:pointer;font-size:inherit;text-align:left;background:0 0;border:none;margin:0;padding:0;text-decoration:none;transition:color .2s}.logout-btn:hover{color:var(--yellow)}.client-selector{background:var(--white);border:1px solid var(--light);color:var(--dark);cursor:pointer;font-family:inherit;font-size:inherit;border-radius:4px;padding:.5rem;transition:border-color .2s}.client-selector:hover{border-color:var(--yellow)}.client-selector:focus{border-color:var(--orange);outline:none}.loading-clients{color:var(--dark);font-size:.9rem;font-style:italic}.navbar-links,.client-selector-container,.navbar-desktop-content{align-items:center;display:flex}.navbar-links,.navbar-desktop-content{gap:1rem}.hamburger-btn{color:var(--dark);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-self:center;padding:.5rem;font-size:.9rem;font-weight:700;transition:background-color .2s;display:none}.hamburger-btn:hover{background-color:var(--light)}.dropdown-menu,.mobile-backdrop{display:none}.token-preview{background:var(--lightest);border:1px solid var(--light);color:var(--dark);overflow-wrap:anywhere;border-radius:4px;margin:1rem 0 0;padding:.75rem}@media (max-width:1200px) and (min-width:1100px){.navbar-left{flex-direction:column;align-items:flex-start;gap:.5rem}.client-selector-container{width:100%}.client-selector{width:100%;max-width:250px}}@media (max-width:1100px){#navbar{z-index:1001;grid-template-columns:auto 1fr auto;min-height:60px;padding:1rem;position:relative}.navbar-left .hamburger-btn{display:block}.navbar-left .navbar-desktop-content{display:none}.dropdown-menu{background:var(--white);border:1px solid var(--light);z-index:1000;border-radius:4px;min-width:200px;padding:.5rem 0;display:block;position:absolute;top:100%;box-shadow:0 4px 12px #00000026}.dropdown-left{left:0}.dropdown-right{right:0}.dropdown-section{border-bottom:1px solid var(--light);padding:.5rem}.dropdown-section:last-child{border-bottom:none}.dropdown-link{color:var(--dark);border-radius:4px;width:100%;padding:.75rem 1rem;text-decoration:none;transition:background-color .2s;display:block}.dropdown-link:hover{background-color:var(--light);color:var(--dark)}.mobile-backdrop{z-index:999;background:#0000004d;display:block;position:fixed;inset:0}}@media (max-width:760px){.page-shell{padding:1rem}.panel-grid{grid-template-columns:1fr}.status-row{flex-direction:column;align-items:flex-start}.status-value{text-align:left}}@media (max-width:900px){.hamburger-btn{display:block}.navbar-desktop-content{display:none}}
