:root{font-family:ui-sans-serif,system-ui,sans-serif;color:#14221b;background:#edf4ee}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 10%,rgba(68,153,111,.18),transparent 35%),radial-gradient(circle at 90% 20%,rgba(240,182,96,.18),transparent 40%),linear-gradient(180deg,#f4f8f2,#e8f0ea)}.page{min-height:100vh;display:grid;place-items:start center;padding:clamp(.85rem,2vw,1.5rem)}.panel{width:min(920px,100%);background:#ffffffe0;border:1px solid rgba(20,34,27,.08);border-radius:18px;box-shadow:0 20px 55px #14221b14;padding:1.25rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.panel.panel-app{width:min(96vw,1560px);padding:clamp(1rem,1.8vw,1.65rem)}.panel-header h1{margin:.25rem 0;font-size:clamp(1.6rem,4vw,2.2rem)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:#356f52}.subtle{color:#4e6358}.form{display:grid;gap:.9rem;margin-top:1rem}.form label{display:grid;gap:.35rem;font-weight:600}.form input{border-radius:10px;border:1px solid #b9cbbd;padding:.7rem .8rem;font-size:1rem}.form select,.form textarea{border-radius:10px;border:1px solid #b9cbbd;padding:.7rem .8rem;font-size:1rem;font-family:inherit;background:#fff}.form textarea{resize:vertical}.auth-grid{display:grid;gap:1rem;margin-top:.75rem}.auth-card{border:1px solid rgba(20,34,27,.08);border-radius:14px;padding:.95rem;background:#ffffffc7}.auth-card h2{margin:0}.star-rating{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.star-rating.disabled{opacity:.7}.star-button{border:1px solid #cfdccf;background:#fff;color:#b7b7b7;border-radius:8px;padding:.25rem .45rem;line-height:1;font-size:1.1rem;min-width:2rem}.star-button.filled{color:#d08b1b;border-color:#d8b06a;background:#fff8ea}button{border:none;border-radius:999px;padding:.75rem 1rem;font-weight:700;font-size:.95rem;background:#2d7d56;color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:#415449}button.secondary.danger{background:#8b3c3c}.hint{margin:0;color:#546a5e;font-size:.92rem}.error{color:#9f1c1c;font-weight:600}.session ul{padding-left:1.2rem}.session{display:grid;gap:1rem}.app-toolbar{display:grid;gap:.75rem;align-items:start;border-bottom:1px solid rgba(20,34,27,.08);padding-bottom:.8rem}.app-toolbar p{margin:0}.app-toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem}.household-admin{border-top:1px solid rgba(20,34,27,.08);padding-top:1rem;display:grid;gap:.75rem}.household-admin h3{margin:0}.household-admin-list{display:grid;gap:.9rem}.household-admin-card{border:1px solid #dbe7dd;border-radius:12px;padding:.8rem;background:#fffffff0;display:grid;gap:.6rem}.household-admin-card h4{margin:0}.password-panel{border-top:1px solid rgba(20,34,27,.08);padding-top:1rem;display:grid;gap:.6rem}.password-panel h3{margin:0}.household-member-list{display:grid;gap:.45rem}.member-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.member-actions select{min-width:8rem}.saved-sessions-panel{border-top:1px solid rgba(20,34,27,.08);padding-top:1rem;display:grid;gap:.6rem}.chatbot{margin-top:.5rem;border-top:1px solid rgba(20,34,27,.08);padding-top:1rem}.chatbot-header h3{margin:0 0 .35rem}.quick-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.quick-action-button{font-size:.85rem;padding:.55rem .8rem}.chat-reply{margin-top:.75rem;display:grid;gap:.9rem}.bot-text{margin:0;padding:.85rem .95rem;border-radius:12px;background:#2d7d5614;border:1px solid rgba(45,125,86,.15)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.summary-card{background:#f8fbf7;border:1px solid #d8e6d9;border-radius:12px;padding:.75rem}.summary-title{margin:0;color:#4e6358;font-size:.85rem}.summary-value{margin:.35rem 0 0;font-size:1.1rem;font-weight:700}.product-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.9rem}.product-group{display:grid;gap:.65rem}.product-group h4{margin:0}.product-card{background:#fffffff2;border:1px solid #dbe7dd;border-radius:12px;padding:.8rem}.product-card.product-card-conventional{background:#fff3f1;border-color:#f0c9c3}.product-card.product-card-healthy{background:#f2fbf4;border-color:#cbe7d1}.product-card.selectable{cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.product-card.selectable:hover{border-color:#9bc7ab;box-shadow:0 8px 20px #14221b0f}.product-card.product-card-conventional.selectable:hover{border-color:#d99f95}.product-card.product-card-healthy.selectable:hover{border-color:#8fc8a0}.product-card.selectable:focus{outline:2px solid #2d7d56;outline-offset:2px}.product-card.selectable.selected{border-color:#2d7d56;box-shadow:0 0 0 2px #2d7d561f;background:#f6fbf7}.product-card.selectable.compare-selected{box-shadow:0 0 0 2px #f0b66038;border-color:#d4973d}.product-card h5{margin:0 0 .45rem;font-size:1rem}.product-card p{margin:.35rem 0}.product-card a{color:#236e4a;font-weight:700;text-decoration:none}.product-card a:hover{text-decoration:underline}.selection-hint{font-size:.9rem;color:#2d7d56;font-weight:600}.review-logger,.reaction-logger,.compare-panel{border-top:1px solid rgba(20,34,27,.08);padding-top:1rem;display:grid;gap:.6rem}.compare-panel h4{margin:0}.compare-header p{margin:.25rem 0 0}.compare-result{display:grid;gap:.7rem}.disclaimer{margin:0;color:#6e5318;background:#f0b66021;border:1px solid rgba(212,151,61,.25);border-radius:10px;padding:.65rem .75rem;font-size:.92rem}.compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.8rem}.compare-column{border:1px solid #dbe7dd;border-radius:12px;background:#fffffff0;padding:.8rem}.compare-column h5{margin:.25rem 0 .4rem}.compare-column ul{margin:.35rem 0 0;padding-left:1.15rem}.compare-list-title{margin:.35rem 0 0;font-weight:700;color:#2c4b3a}.past-review-list{display:grid;gap:.45rem}.past-review-card{border:1px solid #dbe7dd;border-radius:10px;padding:.55rem .65rem;background:#fcfefd}.past-review-card p{margin:.2rem 0}.chemical-list,.environment-list{display:grid;gap:.55rem}.chemical-card{border:1px solid #dbe7dd;border-radius:10px;padding:.65rem;background:#fbfdfb}.chemical-card ul{margin-top:.3rem}.chemical-links ul{margin-top:.2rem}.chemical-links a{color:#235f9c;text-decoration:none;font-weight:600}.chemical-links a:hover{text-decoration:underline}.chemical-name{margin:0;font-weight:700}.chemical-caution{margin:.2rem 0;font-size:.9rem}.chemical-card.caution-higher{border-color:#cf7f7f;background:#fff8f8}.chemical-card.caution-moderate{border-color:#d8b06a;background:#fffaf2}.chemical-card.caution-low{border-color:#9bc7ab;background:#f8fcf8}.environment-card{border:1px solid #dbe7dd;border-radius:10px;padding:.65rem;background:#fbfdfb}.environment-card ul{margin-top:.25rem}.environment-card.impact-higher{border-color:#cf7f7f;background:#fff8f8}.environment-card.impact-moderate{border-color:#d8b06a;background:#fffaf2}.environment-card.impact-lower{border-color:#9bc7ab;background:#f8fcf8}.compare-sublist-title{margin:.35rem 0 0;font-weight:700;color:#425a4c;font-size:.9rem}.review-logger h4,.reaction-logger h4{margin:0}.saved-review{border:1px solid rgba(45,125,86,.15);background:#2d7d560f;border-radius:12px;padding:.8rem}.saved-review p{margin:.3rem 0}.saved-review code{white-space:pre-wrap;overflow-wrap:anywhere}.success{color:#1f6c48;font-weight:700}@media(min-width:1100px){.auth-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.panel.panel-app .session{gap:1.25rem}.app-toolbar{grid-template-columns:1fr auto;align-items:center}.panel.panel-app .chatbot{padding-top:1.25rem}.panel.panel-app .product-columns,.panel.panel-app .compare-grid{gap:1rem}}@media(max-width:860px){.panel{padding:1rem;border-radius:14px}.panel.panel-app{width:min(98vw,1560px);padding:.9rem}.summary-grid,.product-columns,.compare-grid{grid-template-columns:1fr}.product-card,.compare-column,.household-admin-card{padding:.7rem}}@media(max-width:560px){.page{padding:.55rem}.panel{padding:.85rem;border-radius:12px}.panel.panel-app{padding:.75rem}button{width:100%}.quick-actions{display:grid;grid-template-columns:1fr}.quick-action-button{width:100%;text-align:left}.member-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.app-toolbar-actions{display:grid;grid-template-columns:1fr}.member-actions select{min-width:0;width:100%}.session code,.saved-review code{overflow-wrap:anywhere;word-break:break-word}}
