:root { color-scheme: light; --ink:#173d2b; --muted:#66736b; --line:#dce5de; --bg:#f4f7f2; --card:#fff; --accent:#ff5a27; --green:#2f7d4a; --soft:#e9f3e8; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:#18211c; background:var(--bg); }
button,input,select,textarea { font:inherit; }
fieldset { min-inline-size:0; }
button { cursor:pointer; }
a { color:var(--green); }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #f4a43d; outline-offset:3px; }
.hidden { display:none !important; }
.sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.shell { min-height:100vh; }
.topbar { height:72px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(20px,5vw,72px); background:rgba(255,255,255,.94); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; backdrop-filter:blur(12px); }
.brand { display:flex; gap:11px; align-items:center; color:var(--ink); text-decoration:none; letter-spacing:.04em; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; color:white; background:var(--ink); border-radius:12px; font-weight:900; }
.brand small { display:block; font-size:11px; font-weight:650; letter-spacing:.08em; color:var(--muted); }
.public-home { overflow:hidden; background:radial-gradient(circle at 12% 8%,rgba(47,125,74,.09),transparent 27%),radial-gradient(circle at 92% 15%,rgba(255,90,39,.07),transparent 22%),var(--bg); }
.auth-layout { min-height:min(760px,calc(100vh - 72px)); display:grid; grid-template-columns:minmax(300px,1fr) minmax(270px,.72fr) minmax(340px,460px); gap:clamp(24px,4vw,62px); align-items:center; max-width:1320px; margin:auto; padding:70px 28px 62px; }
.hero-copy h1,.page-heading h1,.center-card h1 { color:var(--ink); font-size:clamp(2rem,4vw,4rem); line-height:1.03; letter-spacing:-.045em; margin:12px 0 20px; }
.hero-copy p,.page-heading p,.center-card p { color:var(--muted); font-size:1.06rem; line-height:1.65; }
.eyebrow { color:var(--green); text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:800; }
.feature-list { list-style:none; padding:12px 0 0; color:var(--ink); }
.feature-list li { margin:14px 0; }
.feature-list li::before { content:"✓"; margin-right:12px; color:var(--green); font-weight:900; }
.hero-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:28px; }
.hero-visual { position:relative; align-self:center; margin:0; padding:22px 18px 17px; overflow:hidden; border:1px solid #cfe0d1; border-radius:28px; background:linear-gradient(150deg,#e7f2e7,#fff); box-shadow:0 25px 62px rgba(23,61,43,.12); transform:rotate(-1.5deg); }
.hero-visual::before { content:""; position:absolute; width:180px; height:180px; top:-70px; right:-55px; border-radius:50%; background:rgba(255,83,38,.13); }
.hero-visual img { position:relative; display:block; width:100%; aspect-ratio:1/1; object-fit:contain; }
.hero-visual figcaption { position:relative; display:grid; gap:4px; margin-top:4px; padding:14px 15px; border-radius:15px; background:rgba(255,255,255,.9); }
.hero-visual figcaption strong { color:var(--ink); font-size:.92rem; }
.hero-visual figcaption span { color:var(--muted); font-size:.76rem; line-height:1.4; }
.text-link { color:var(--ink); font-weight:800; text-decoration:none; }
.text-link:hover { color:var(--green); }
.panel,.center-card { background:var(--card); border:1px solid var(--line); border-radius:22px; box-shadow:0 18px 50px rgba(28,64,43,.08); }
.auth-panel { padding:30px; }
.auth-panel h2 { margin:10px 0; color:var(--ink); font-size:1.7rem; }
.auth-description { margin:0 0 24px; color:var(--muted); line-height:1.55; }
.auth-footnote { margin:14px 0 0; text-align:center; color:var(--muted); font-size:.78rem; }
.trust-strip { width:min(1180px,calc(100% - 48px)); margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line); border-radius:18px; overflow:hidden; background:rgba(255,255,255,.78); box-shadow:0 15px 40px rgba(28,64,43,.05); }
.trust-strip span { padding:18px 22px; color:var(--muted); text-align:center; font-size:.86rem; }
.trust-strip span + span { border-left:1px solid var(--line); }
.trust-strip strong { color:var(--ink); }
.marketing-section { width:min(1180px,calc(100% - 48px)); margin:110px auto 0; }
.marketing-copy h2,.section-intro h2,.final-cta h2 { margin:10px 0 18px; color:var(--ink); font-size:clamp(2rem,4vw,3.35rem); line-height:1.05; letter-spacing:-.045em; }
.marketing-copy > p,.section-intro > p,.final-cta p { color:var(--muted); line-height:1.65; }
.product-showcase { display:grid; grid-template-columns:minmax(0,.86fr) minmax(440px,1.14fr); align-items:center; gap:clamp(44px,7vw,90px); }
.plain-check-list { display:grid; gap:13px; margin:26px 0 0; padding:0; list-style:none; color:var(--ink); font-weight:700; }
.plain-check-list li { position:relative; padding-left:28px; }
.plain-check-list li::before { content:"✓"; position:absolute; left:0; color:var(--green); }
.workspace-preview { position:relative; padding:25px; border:1px solid #cbdacf; border-radius:25px; background:white; box-shadow:0 28px 75px rgba(23,61,43,.13); transform:rotate(.6deg); }
.workspace-preview::before { content:""; position:absolute; inset:15px -14px -14px 16px; z-index:-1; border-radius:25px; background:#dfeade; }
.preview-topline { display:flex; justify-content:space-between; gap:20px; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--line); }
.preview-topline span { color:var(--ink); font-size:1.2rem; font-weight:900; }
.preview-topline small { color:var(--muted); }
.preview-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:18px 0; }
.preview-metrics div { padding:13px; border-radius:12px; background:var(--bg); }
.preview-metrics strong,.preview-metrics span { display:block; }
.preview-metrics strong { color:var(--ink); font-size:1.45rem; }
.preview-metrics span { margin-top:3px; color:var(--muted); font-size:.73rem; }
.preview-patient { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; margin-top:9px; padding:13px; border:1px solid var(--line); border-left:4px solid #c58b25; border-radius:12px; }
.preview-patient.urgent { border-left-color:#c04d3d; }
.preview-patient.ok { border-left-color:var(--green); }
.preview-avatar { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; color:var(--green); background:var(--soft); font-size:.73rem; font-weight:900; }
.preview-patient strong,.preview-patient small { display:block; }
.preview-patient small { margin-top:3px; color:var(--muted); line-height:1.35; }
.preview-patient b { color:var(--green); font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; }
.section-intro { max-width:740px; }
.capability-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:38px; }
.capability-grid article { min-height:230px; padding:27px; border:1px solid var(--line); border-radius:21px; background:white; box-shadow:0 15px 38px rgba(28,64,43,.05); }
.capability-grid h3 { margin:18px 0 9px; color:var(--ink); font-size:1.2rem; }
.capability-grid p { margin:0; color:var(--muted); line-height:1.55; }
.capability-icon { width:43px; height:43px; display:grid; place-items:center; border-radius:13px; color:white; background:var(--green); font-size:1.45rem; font-weight:800; }
.visual-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }
.visual-feature-grid article { display:grid; grid-template-columns:minmax(150px,.65fr) minmax(0,1fr); align-items:center; gap:22px; min-width:0; padding:18px; border:1px solid var(--line); border-radius:23px; background:white; box-shadow:0 15px 38px rgba(28,64,43,.06); }
.visual-feature-grid img { display:block; width:100%; height:180px; object-fit:contain; border-radius:17px; background:linear-gradient(145deg,#e3f0e2,#f8fbf7); }
.visual-feature-grid h3 { margin:8px 0; color:var(--ink); font-size:1.25rem; }
.visual-feature-grid p { margin:0; color:var(--muted); line-height:1.5; }
.workflow-section { padding:clamp(30px,5vw,58px); border-radius:30px; color:white; background:linear-gradient(135deg,#173d2b,#225b3d); box-shadow:0 25px 65px rgba(23,61,43,.18); }
.workflow-section .eyebrow { color:#a7ddb4; }
.workflow-section .section-intro h2 { color:white; }
.workflow-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin:35px 0 0; padding:0; list-style:none; }
.workflow-list li { display:grid; grid-template-columns:auto 1fr; gap:14px; padding:20px; border:1px solid rgba(255,255,255,.13); border-radius:17px; background:rgba(255,255,255,.06); }
.workflow-list > li > span { color:#a7ddb4; font-size:.75rem; font-weight:900; letter-spacing:.08em; }
.workflow-list h3 { margin:0 0 7px; color:white; }
.workflow-list p { margin:0; color:#c7d9ce; line-height:1.5; font-size:.9rem; }
.final-cta { display:flex; align-items:center; justify-content:space-between; gap:42px; margin-bottom:110px; padding:clamp(28px,5vw,52px); border:1px solid #d5e1d7; border-radius:27px; background:white; box-shadow:0 22px 55px rgba(28,64,43,.08); }
.final-cta > div:first-child { max-width:680px; }
.final-cta h2 { font-size:clamp(1.8rem,3.2vw,2.8rem); }
.final-cta p { margin-bottom:0; }
.final-cta-actions { flex:0 0 auto; display:flex; gap:10px; flex-wrap:wrap; }
.public-footer { width:100%; padding-block:28px; }
label { display:grid; gap:7px; margin:15px 0; color:var(--ink); font-size:.88rem; font-weight:700; }
label span { color:var(--muted); font-weight:500; }
input,select,textarea { width:100%; min-height:46px; border:1px solid #bdcbc1; border-radius:10px; padding:10px 12px; color:#18211c; background:white; outline:none; }
textarea { resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(47,125,74,.12); }
.button { border:1px solid transparent; border-radius:999px; min-height:44px; padding:10px 20px; font-weight:800; transition:.18s ease; }
.button:hover:not(:disabled) { transform:translateY(-1px); }
.button:disabled { cursor:not-allowed; opacity:.55; }
.button.primary { background:var(--accent); color:white; }
.button.secondary { background:var(--soft); color:var(--ink); border-color:#cfe0d1; }
.button.ghost { background:white; border-color:var(--line); color:var(--ink); }
.button.premium-button,.premium-button { background:linear-gradient(135deg,#5e2d91,#8b4ec1); color:white; border-color:transparent; box-shadow:0 8px 22px rgba(94,45,145,.18); }
.wide { width:100%; }
.message { padding:11px 13px; border-radius:10px; background:#fff3dc; color:#80500a; font-size:.88rem; line-height:1.45; }
.message.error { background:#ffebea; color:#9c2923; }
.center-card { max-width:650px; margin:clamp(40px,10vh,110px) auto; padding:clamp(30px,6vw,64px); text-align:center; }
.center-card h1 { font-size:clamp(2rem,5vw,3.2rem); }
.spinner { width:34px; height:34px; margin:auto; border:3px solid var(--line); border-top-color:var(--green); border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.status-icon { display:inline-grid; place-items:center; width:52px; height:52px; border-radius:16px; background:var(--soft); color:var(--green); font-size:25px; font-weight:900; }
.status-icon.pending { border-radius:50%; }
.status-icon.rejected { background:#ffebea; color:#b3302a; }
.button-row { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:26px; }
.content-view { max-width:980px; margin:0 auto; padding:50px 24px 90px; }
.page-heading { margin-bottom:30px; }
.page-heading h1 { font-size:clamp(2.2rem,5vw,3.6rem); margin-bottom:12px; }
.page-heading p { max-width:700px; margin:0; }
.form-panel { padding:clamp(22px,5vw,48px); }
.form-panel h2 { margin:28px 0 4px; color:var(--ink); }
.form-panel h2:first-child { margin-top:0; }
.agreement-panel { max-width:760px; }
.agreement-panel > p { color:var(--muted); line-height:1.65; }
.legal-document-links { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 24px; }
.two-columns { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.consent-row { display:grid; grid-template-columns:22px 1fr; align-items:start; gap:10px; margin:15px 0; }
.consent-row input { width:18px; min-height:18px; margin:3px 0 0; }
.consent-row label { display:block; margin:0; color:var(--muted); font-weight:500; line-height:1.5; }
.consent-row a,.site-footer a,.legal-card a { color:var(--green); font-weight:750; text-underline-offset:3px; }
.dashboard { min-height:calc(100vh - 72px); display:grid; grid-template-columns:230px 1fr; }
.sidebar { padding:34px 18px; background:var(--ink); }
.sidebar nav { display:grid; gap:7px; position:sticky; top:105px; }
.nav-item { padding:13px 16px; text-align:left; border:0; border-radius:10px; background:transparent; color:#bcd0c3; font-weight:700; }
.nav-item.active { color:white; background:rgba(255,255,255,.12); }
.dashboard-main { padding:50px clamp(22px,5vw,72px); overflow:hidden; }
.page-heading.compact h1 { font-size:clamp(2rem,4vw,3rem); }
.metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.metric { padding:22px; background:white; border:1px solid var(--line); border-radius:18px; }
.metric span,.metric small { display:block; color:var(--muted); }
.metric strong { display:block; margin:12px 0; color:var(--ink); font-size:2.2rem; }
.admin-business-panel { margin-bottom:38px; padding:clamp(22px,4vw,34px); }
.business-metric-grid { grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); margin-top:24px; }
.business-metric-grid .metric { min-width:0; background:linear-gradient(145deg,#fff,#f7faf6); }
.business-metric-grid .metric strong { font-size:clamp(1.8rem,3vw,2.35rem); }
.business-metric-grid .metric small { line-height:1.45; overflow-wrap:anywhere; }
.admin-business-panel > .message { margin:18px 0 0; }
.admin-applications-heading { margin:42px 0 20px; }
.practice-radar { margin-top:20px; padding:25px; background:linear-gradient(145deg,#fff 0%,#f4f8f2 100%); }
.practice-radar-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.practice-radar-heading h2 { margin:7px 0 5px; color:var(--ink); font-size:1.45rem; }
.practice-radar-heading p { max-width:780px; margin:0; color:var(--muted); line-height:1.5; }
.radar-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:20px 0 14px; }
.radar-summary-item { display:flex; align-items:baseline; gap:9px; padding:13px 15px; border:1px solid var(--line); border-radius:13px; background:white; }
.radar-summary-item strong { color:var(--ink); font-size:1.45rem; }
.radar-summary-item span { color:var(--muted); font-size:.78rem; }
.radar-summary-item.urgent { border-color:#efc4bd; background:#fff4f2; }
.radar-summary-item.attention { border-color:#ead7a7; background:#fff9e9; }
.radar-summary-item.ok { border-color:#c9dfce; background:#f4fbf4; }
.radar-list { display:grid; gap:9px; }
.radar-item { display:flex; align-items:center; gap:18px; padding:15px 16px; border:1px solid var(--line); border-left:4px solid #8ba095; border-radius:13px; background:white; }
.radar-item > div { min-width:0; flex:1; }
.radar-item.urgent { border-left-color:#c14336; }
.radar-item.attention { border-left-color:#c18419; }
.radar-item h3 { margin:5px 0 3px; color:var(--ink); font-size:1rem; }
.radar-item p { margin:0; color:var(--muted); font-size:.84rem; line-height:1.4; }
.radar-badge { color:var(--green); font-size:.67rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.radar-all-clear { padding:20px; border:1px solid #c9dfce; border-radius:14px; color:#285f3b; background:#f2faf3; font-weight:750; }
.empty-state { margin-top:20px; padding:25px; display:flex; gap:18px; align-items:center; }
.empty-state div { flex:1; }
.empty-state h2 { margin:0 0 7px; color:var(--ink); }
.empty-state p { margin:0; color:var(--muted); line-height:1.5; }
.invite-card { margin-top:20px; padding:25px; display:flex; gap:18px; align-items:center; }
.invite-card div { flex:1; }
.invite-card h2,.settings-card h2 { margin:0 0 7px; color:var(--ink); }
.invite-card p { margin:0; color:var(--muted); line-height:1.5; }
.invite-result { margin-top:16px; padding:24px; }
.invite-result strong { display:block; margin:8px 0 4px; color:var(--ink); font-size:clamp(2rem,6vw,3.4rem); letter-spacing:.12em; }
.invite-result p { margin:4px 0; color:var(--muted); }
.button-row.left { justify-content:flex-start; margin-top:18px; }
.privacy-note { padding-top:14px; border-top:1px solid var(--line); font-size:.84rem; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:28px; }
.section-heading h1 { margin:8px 0; color:var(--ink); font-size:clamp(2rem,4vw,3rem); letter-spacing:-.035em; }
.section-heading p { margin:0; color:var(--muted); }
.patient-list { display:grid; gap:14px; }
.patient-card { display:flex; gap:18px; align-items:center; padding:20px; background:white; border:1px solid var(--line); border-radius:17px; }
.patient-avatar { width:48px; height:48px; flex:0 0 auto; display:grid; place-items:center; border-radius:15px; background:var(--soft); color:var(--green); font-size:1.15rem; font-weight:900; text-transform:uppercase; }
.patient-card-main { min-width:0; flex:1; }
.patient-card h2 { margin:0 0 4px; color:var(--ink); font-size:1.05rem; }
.patient-card p { margin:0; color:var(--muted); overflow-wrap:anywhere; }
.scope-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.scope-chip { padding:4px 8px; border-radius:999px; background:var(--soft); color:var(--green); font-size:.72rem; font-weight:750; }
.settings-card { display:grid; gap:22px; padding:26px; }
.settings-card span { display:block; color:var(--muted); font-size:.8rem; }
.settings-card strong { display:block; margin-top:5px; color:var(--ink); }
.settings-card p { margin:5px 0 0; }
.settings-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:18px; align-items:start; }
.professional-ai-settings { border-color:#d8c3eb; background:linear-gradient(145deg,#fff 15%,#faf6fe 100%); }
.plan-price-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.plan-price { min-width:0; padding:17px; text-align:left; border:1px solid #dac9e9; border-radius:15px; color:var(--ink); background:white; }
.plan-price:hover { border-color:#8b4ec1; transform:translateY(-1px); box-shadow:0 9px 22px rgba(94,45,145,.12); }
.plan-price.preferred { color:white; border-color:#6e36a3; background:linear-gradient(135deg,#6b329e,#8c50c4); }
.plan-price small,.plan-price em { display:block; color:inherit; opacity:.78; font-size:.72rem; font-style:normal; }
.plan-price strong { margin:7px 0 4px; color:inherit; font-size:1.45rem; }
.plan-price strong span { display:inline; color:inherit; font-size:.75rem; }
.billing-status { padding:16px; border:1px solid #e3d5ef; border-radius:14px; background:rgba(255,255,255,.78); }
.billing-status-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px; }
.billing-environment { padding:5px 9px; border-radius:999px; background:#fff1c9; color:#784900; font-size:.72rem; font-weight:800; letter-spacing:.04em; }
.settings-actions { display:flex; gap:10px; flex-wrap:wrap; }
.premium-button.compact { min-height:36px; margin-top:12px; padding:7px 14px; font-size:.8rem; }
.patient-dialog { width:min(760px,calc(100% - 28px)); max-height:88vh; padding:0; border:0; border-radius:22px; color:#18211c; box-shadow:0 28px 90px rgba(14,41,28,.28); }
.patient-dialog::backdrop { background:rgba(10,29,20,.55); backdrop-filter:blur(3px); }
.dialog-header { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; padding:24px 26px 18px; border-bottom:1px solid var(--line); }
.dialog-header h2 { margin:7px 0 0; color:var(--ink); font-size:1.6rem; }
.icon-button { width:38px; height:38px; border:1px solid var(--line); border-radius:50%; background:white; color:var(--ink); font-size:1.5rem; line-height:1; }
.patient-detail { padding:8px 26px 24px; overflow:auto; }
.patient-detail section { margin-top:24px; }
.patient-detail h3 { margin:0 0 12px; color:var(--ink); }
.clinical-notes-section { margin:34px -10px 4px; padding:24px; border:1px solid #cdddcf; border-radius:18px; background:linear-gradient(145deg,#f4faf3,#fff); }
.clinical-notes-heading { display:flex; justify-content:space-between; gap:20px; }
.clinical-notes-heading h3 { margin:7px 0 5px; font-size:1.3rem; }
.clinical-notes-heading p { max-width:680px; margin:0; color:var(--muted); font-size:.84rem; line-height:1.5; }
.clinical-note-form { margin-top:20px; padding:18px; border:1px solid var(--line); border-radius:15px; background:white; }
.clinical-note-fields { display:grid; grid-template-columns:minmax(150px,.7fr) minmax(150px,.7fr) minmax(260px,1.6fr); gap:0 12px; }
.clinical-note-fields label,.clinical-note-form > label { margin:0 0 13px; }
.clinical-note-form textarea { min-height:125px; }
.clinical-note-form-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:4px; }
.clinical-note-form > .message { margin:13px 0 0; }
.clinical-note-list { display:grid; gap:10px; margin-top:16px; }
.clinical-note-card { padding:17px 18px; border:1px solid var(--line); border-left:4px solid var(--green); border-radius:14px; background:white; }
.clinical-note-meta { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:.73rem; }
.clinical-note-card h4 { margin:11px 0 6px; color:var(--ink); font-size:1rem; }
.clinical-note-content { margin:0; color:#3f4c44; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
.clinical-note-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }
.patient-detail .previsit-briefing { margin:18px 0 28px; padding:20px; border:1px solid #c8ddcc; border-radius:17px; background:linear-gradient(145deg,#f3faf3,#fff); }
.previsit-heading { display:flex; justify-content:space-between; gap:18px; }
.previsit-heading h3 { margin:7px 0 5px; font-size:1.25rem; }
.previsit-heading p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.5; }
.previsit-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:16px; }
.previsit-fact { padding:12px; border:1px solid var(--line); border-radius:11px; background:white; }
.previsit-fact span { display:block; color:var(--muted); font-size:.67rem; }
.previsit-fact strong { display:block; margin-top:5px; color:var(--ink); font-size:.92rem; overflow-wrap:anywhere; }
.previsit-fact.warning { border-color:#e3c787; background:#fff9e9; }
.previsit-fact.good { border-color:#c8ddcc; background:#f6fcf6; }
.previsit-priorities { margin-top:14px; padding:14px 16px; border-left:4px solid var(--green); border-radius:10px; background:white; }
.previsit-priorities h4 { margin:0 0 7px; color:var(--ink); }
.previsit-priorities p,.previsit-priorities ul { margin:0; color:var(--muted); font-size:.82rem; line-height:1.55; }
.previsit-priorities ul { padding-left:19px; }
.detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.detail-item { padding:12px; border-radius:11px; background:var(--bg); }
.detail-item span { display:block; color:var(--muted); font-size:.72rem; }
.detail-item strong { display:block; margin-top:4px; overflow-wrap:anywhere; }
.daily-table { width:100%; border-collapse:collapse; font-size:.85rem; }
.daily-table th,.daily-table td { padding:9px 7px; text-align:right; border-bottom:1px solid var(--line); }
.daily-table th:first-child,.daily-table td:first-child { text-align:left; }
.appointment-list { display:grid; gap:14px; }
.appointment-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px; align-items:center; padding:20px; background:white; border:1px solid var(--line); border-radius:17px; }
.appointment-date { width:68px; padding:10px 6px; border-radius:14px; text-align:center; background:var(--soft); color:var(--ink); }
.appointment-date strong,.appointment-date span { display:block; }
.appointment-date strong { font-size:1.5rem; line-height:1; }
.appointment-date span { margin-top:5px; font-size:.72rem; text-transform:uppercase; }
.appointment-main h2 { margin:0 0 5px; color:var(--ink); font-size:1.05rem; }
.appointment-main p { margin:4px 0; color:var(--muted); }
.appointment-link { color:var(--green); font-weight:800; text-underline-offset:3px; }
.appointment-actions { display:grid; justify-items:end; gap:9px; }
.appointment-status { padding:5px 9px; border-radius:999px; font-size:.73rem; font-weight:800; background:#fff3dc; color:#80500a; }
.appointment-status.accepted { background:var(--soft); color:var(--green); }
.appointment-status.declined,.appointment-status.cancelled { background:#f1f1f1; color:#68716b; }
.diet-plan-list { display:grid; gap:14px; }
.diet-plan-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; padding:20px; background:white; border:1px solid var(--line); border-radius:17px; }
.diet-plan-card h2 { margin:0 0 5px; color:var(--ink); font-size:1.08rem; }
.diet-plan-card p { margin:4px 0; color:var(--muted); }
.diet-plan-card .plan-validation-warning { margin-top:9px; color:#80500a; font-weight:650; }
.diet-plan-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.plan-items-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:24px 0 12px; }
.plan-items-heading h3 { margin:0 0 5px; color:var(--ink); }
.plan-items-heading p { margin:0; color:var(--muted); font-size:.84rem; }
.plan-item-list { display:grid; gap:12px; padding-bottom:24px; }
.plan-item-row { display:grid; grid-template-columns:110px 130px minmax(260px,1.8fr) minmax(190px,1fr) minmax(220px,1.2fr) auto; gap:10px; align-items:end; padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--bg); }
.plan-item-row label { margin:0; font-size:.72rem; }
.plan-item-row .icon-button { margin-bottom:4px; color:#a3211b; }
.plan-item-nutrients { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,minmax(105px,150px)); gap:10px; padding-top:10px; border-top:1px dashed #cbd7ce; }
.plan-item-nutrients label { color:var(--muted); }
.plan-item-nutrients input { min-height:42px; background:white; }
.composition-search-button { grid-column:1/-1; justify-self:start; min-height:38px; padding:7px 14px; }
.diet-plan-dialog { width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; border-radius:0; }
.diet-plan-dialog form { height:100dvh; display:grid; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; }
.diet-plan-dialog .dialog-header { background:white; }
.diet-plan-workspace { min-height:0; display:grid; grid-template-columns:minmax(320px,380px) minmax(720px,1fr); overflow:hidden; }
.diet-plan-settings { padding:18px 22px 28px; overflow:auto; border-right:1px solid var(--line); background:white; }
.diet-plan-settings .two-columns { grid-template-columns:1fr; }
.diet-plan-items-panel { min-width:0; padding:0 24px 28px; overflow:auto; }
.diet-plan-items-panel .plan-items-heading { position:sticky; top:0; z-index:2; margin:0 -24px 14px; padding:18px 24px 14px; background:rgba(244,247,242,.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.nutrition-target-panel { margin-top:18px; padding:16px; background:var(--bg); border:1px solid var(--line); border-radius:14px; }
.nutrition-target-panel h3 { margin:0 0 4px; color:var(--ink); }
.nutrition-target-panel p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.45; }
.nutrition-target-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 10px; margin-top:8px; }
.nutrition-summary { margin-top:14px; padding:15px; border-radius:14px; background:#eef6ee; border:1px solid #cfe0d1; }
.nutrition-summary h3 { margin:0 0 9px; color:var(--ink); font-size:.95rem; }
.nutrition-summary-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.nutrition-summary-grid div { padding:9px; background:white; border-radius:9px; }
.nutrition-summary-grid span,.nutrition-summary small { display:block; color:var(--muted); font-size:.72rem; }
.nutrition-summary-grid strong { color:var(--ink); }
.nutrition-summary .summary-warning { margin:10px 0 0; color:#80500a; font-size:.76rem; line-height:1.4; }
.diet-plan-dialog .dialog-actions { min-height:76px; align-items:center; background:white; }
.diet-plan-dialog .dialog-actions .message { flex:1; margin:0; }
.dialog-action-buttons { display:flex; gap:10px; margin-left:auto; }
.history-dialog { width:min(820px,calc(100% - 28px)); }
.food-composition-dialog { width:min(920px,calc(100% - 28px)); }
.food-composition-search { display:grid; grid-template-columns:minmax(260px,1fr) minmax(160px,220px) auto; gap:12px; align-items:end; }
.food-composition-search label { margin:0; }
.food-composition-results { display:grid; gap:10px; margin:18px 0; max-height:42vh; overflow:auto; }
.food-composition-result { display:flex; align-items:center; gap:16px; padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--bg); }
.food-composition-result > div { min-width:0; flex:1; }
.food-composition-result p { margin:5px 0 0; color:var(--muted); font-size:.82rem; line-height:1.45; }
.history-list { display:grid; gap:10px; }
.history-card { display:flex; align-items:center; gap:14px; padding:16px; border:1px solid var(--line); border-radius:13px; background:var(--bg); }
.history-card > div { min-width:0; flex:1; }
.history-card h3 { margin:0 0 4px; color:var(--ink); font-size:1rem; }
.history-card p { margin:3px 0; color:var(--muted); font-size:.82rem; }
.source-dialog { width:min(880px,calc(100% - 28px)); }
.ai-plan-dialog { width:min(760px,calc(100% - 28px)); }
.review-notice,.clinical-warning { margin:16px 0; padding:14px 16px; border-left:4px solid #80500a; border-radius:10px; background:#fff3dc; color:#65430e; font-size:.86rem; line-height:1.55; }
.clinical-warning { border-left-color:#8b4ec1; background:#f4ecfb; color:#4c256f; }
.source-intro { margin:14px 0 20px; color:var(--muted); line-height:1.55; }
.source-template-list { display:grid; gap:14px; }
.protocol-section-heading { margin:20px 0 2px; padding-top:22px; border-top:1px solid var(--line); }
.protocol-section-heading h3 { margin:7px 0 5px; color:var(--ink); font-size:1.35rem; }
.protocol-section-heading p { margin:0; color:var(--muted); line-height:1.5; }
.clinical-protocol-card { border-left:4px solid var(--green); }
.compact-protocol-list { grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.compact-protocol-list .source-template-card { background:#fbfdf9; }
.compact-protocol-list h4 { margin:7px 0 0; color:var(--ink); font-size:1.05rem; }
.patient-protocols > .privacy-note { margin:0 0 14px; padding-top:0; border-top:0; }
.source-template-card { padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--bg); }
.source-template-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.source-template-header h3 { margin:7px 0 0; color:var(--ink); font-size:1.15rem; }
.source-badge,.source-item-count,.premium-pill { display:inline-flex; align-items:center; min-height:26px; padding:4px 9px; border-radius:999px; font-size:.7rem; font-weight:850; letter-spacing:.05em; }
.source-badge { background:var(--soft); color:var(--green); }
.source-item-count { flex:0 0 auto; background:white; color:var(--muted); border:1px solid var(--line); }
.source-template-card p { margin:10px 0; color:var(--muted); line-height:1.5; }
.source-template-card .source-target { color:var(--ink); font-weight:700; }
.source-template-card .source-warning { color:#80500a; }
.source-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:16px; }
.source-link { font-weight:750; text-underline-offset:3px; }
.premium-feature-card { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:12px 0 16px; padding:16px; border:1px solid #d8c3eb; border-radius:14px; background:#faf6fe; }
.premium-feature-card strong { color:#4c256f; }
.premium-feature-card p { margin:5px 0 0; color:#6c5b76; font-size:.84rem; line-height:1.4; }
.premium-pill { flex:0 0 auto; background:#5e2d91; color:white; }
.appointment-form-body { padding:8px 26px 24px; }
.appointment-dialog form { margin:0; }
.dialog-actions { display:flex; justify-content:space-between; gap:12px; padding:18px 26px 24px; border-top:1px solid var(--line); }
.button.danger { color:#a3211b; background:#ffebea; border-color:#f4c8c5; }
.button.compact { min-height:36px; padding:7px 13px; font-size:.8rem; }
.empty-inline { padding:28px; text-align:center; color:var(--muted); background:white; border:1px dashed #bdcbc1; border-radius:17px; }
.application-list { display:grid; gap:16px; }
.application-card { padding:22px; background:white; border:1px solid var(--line); border-radius:18px; }
.application-card h2 { margin:0 0 6px; color:var(--ink); }
.application-card dl { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.application-card dt { color:var(--muted); font-size:.72rem; text-transform:uppercase; }
.application-card dd { margin:3px 0 0; font-weight:700; overflow-wrap:anywhere; }
.application-actions { display:flex; gap:10px; margin-top:18px; flex-wrap:wrap; }
.application-card .request-text { margin:8px 0 0; color:var(--ink); font-size:1.02rem; line-height:1.5; overflow-wrap:anywhere; }
.seller-dashboard { width:100%; max-width:none; }
.seller-workspace { min-width:0; padding:clamp(28px,4vw,64px) clamp(18px,4vw,72px) 90px; }
.seller-grid { min-width:0; display:grid; grid-template-columns:minmax(340px,.8fr) minmax(440px,1.2fr); gap:28px; align-items:start; }
.compact-form { padding:28px; }
.compact-form h2 { margin-top:0; }
.nutrition-fieldset { margin:4px 0 18px; padding:18px; border:1px solid var(--line); border-radius:16px; }
.nutrition-fieldset legend { padding:0 8px; font-weight:800; color:var(--ink); }
.nutrition-grid { display:grid; grid-template-columns:repeat(4,minmax(110px,1fr)); gap:14px; }
.form-panel label small { display:block; margin-top:5px; color:var(--muted); font-weight:400; }
.seller-offer-list { display:grid; gap:12px; }
.seller-offer-card { display:flex; align-items:center; gap:18px; padding:18px; background:white; border:1px solid var(--line); border-radius:16px; }
.seller-offer-card > div:first-child { min-width:0; flex:1; }
.seller-offer-card h3 { margin:0 0 5px; color:var(--ink); }
.seller-offer-card p { margin:4px 0; color:var(--muted); overflow-wrap:anywhere; }
.seller-offer-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.seller-dashboard-grid { grid-template-columns:1fr; gap:30px; }
.seller-page-header { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; width:100%; margin-bottom:22px; }
.seller-page-header h1 { margin:8px 0; color:var(--ink); font-size:clamp(2rem,4vw,3rem); letter-spacing:-.035em; }
.seller-page-header p { max-width:900px; margin:0; color:var(--muted); line-height:1.55; }
.seller-page-header .button-row { flex:0 0 auto; margin:0; }
.seller-page-nav { display:flex; width:100%; gap:8px; margin:0 0 24px; padding:6px; border:1px solid var(--line); border-radius:16px; background:white; }
.seller-page-nav a { flex:1; padding:12px 18px; border-radius:11px; color:var(--ink); text-align:center; text-decoration:none; font-weight:850; }
.seller-page-nav a:hover { background:#f2f7f1; }
.seller-page-nav a.active { color:white; background:var(--ink); box-shadow:0 7px 18px rgba(23,61,43,.18); }
.seller-product-form { min-width:0; width:100%; overflow:hidden; }
.seller-form-hero { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px; align-items:center; padding:28px clamp(24px,4vw,48px); color:white; background:linear-gradient(125deg,#173d2b 0%,#235f3d 58%,#2f7d4a 100%); }
.seller-form-icon { width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:17px; background:rgba(255,255,255,.13); font-size:2rem; font-weight:300; }
.seller-form-hero .eyebrow { color:#bfe5c8; }
.seller-form-hero h2 { margin:6px 0 5px; color:white; font-size:clamp(1.6rem,3vw,2.35rem); letter-spacing:-.025em; }
.seller-form-hero p { max-width:760px; margin:0; color:#d6e7dc; line-height:1.5; }
.seller-form-badge { padding:8px 13px; border:1px solid rgba(255,255,255,.25); border-radius:999px; color:white; background:rgba(255,255,255,.1); font-size:.75rem; font-weight:800; white-space:nowrap; }
.seller-form-section { min-width:0; margin:24px clamp(20px,4vw,46px) 0; padding:24px; border:1px solid var(--line); border-radius:19px; background:#fbfcfa; }
.seller-form-section-heading { display:flex; gap:13px; align-items:center; margin-bottom:12px; }
.seller-form-section-heading > span { width:32px; height:32px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; color:white; background:var(--green); font-size:.82rem; font-weight:900; box-shadow:0 6px 15px rgba(47,125,74,.18); }
.seller-form-section-heading h3 { margin:0 0 3px; color:var(--ink); font-size:1.08rem; }
.seller-form-section-heading p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.4; }
.seller-fields-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 16px; }
.seller-fields-grid label { min-width:0; }
.seller-fields-grid .field-span-2 { grid-column:span 2; }
.seller-fields-grid .field-span-3 { grid-column:span 3; }
.seller-fields-grid .field-span-4 { grid-column:1/-1; }
.seller-fields-grid textarea { min-height:102px; }
.label-section { background:linear-gradient(135deg,#fbfcfa,#f3f8f1); }
.label-grid textarea { min-height:142px; }
.nutrition-section { background:linear-gradient(135deg,#fffaf0,#fffdf8); border-color:#eadfc7; }
.nutrition-section .seller-form-section-heading > span { background:#c27a19; box-shadow:0 6px 15px rgba(194,122,25,.18); }
.seller-product-form .nutrition-fieldset { width:100%; min-width:0; margin:8px 0 0; padding:0; border:0; }
.seller-product-form .nutrition-grid { width:100%; min-width:0; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; }
.seller-product-form .nutrition-grid label { margin:0; padding:13px; border:1px solid #eadfc7; border-radius:13px; background:white; }
.seller-product-form .nutrition-grid label > span { min-height:17px; color:#927040; font-size:.72rem; }
.seller-product-form .nutrition-grid input { min-height:48px; margin-top:3px; border-color:#e1d3b7; font-size:1.05rem; font-weight:800; }
.commerce-fields-grid { align-items:start; }
.seller-form-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px 30px; align-items:center; margin-top:24px; padding:24px clamp(20px,4vw,46px) 30px; border-top:1px solid var(--line); background:linear-gradient(180deg,#fff,#f7faf6); }
.seller-confirmation { max-width:920px; margin:0; padding:15px 17px; border:1px solid #cfe0d1; border-radius:14px; background:var(--soft); }
.seller-confirmation label { color:#3d5546; }
.seller-action-buttons { display:flex; gap:10px; justify-content:flex-end; }
.seller-action-buttons .button { min-width:165px; }
.seller-form-actions .message { grid-column:1/-1; margin:0; }
.seller-offers-panel { min-width:0; width:100%; padding:28px clamp(22px,4vw,40px); }
.seller-webhook-panel { width:100%; margin-bottom:24px; padding:28px clamp(22px,4vw,40px); }
.seller-webhook-panel > p { color:var(--muted); line-height:1.55; }
.seller-commerce-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); margin:22px 0; }
.seller-webhook-instructions { display:grid; gap:10px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#f8faf7; }
.seller-webhook-instructions label { margin:0; }
.seller-webhook-instructions code,.seller-secret-box code { display:block; max-width:100%; margin-top:7px; padding:11px 13px; overflow:auto; border-radius:9px; color:#173d2b; background:#eef4ed; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.8rem; white-space:nowrap; }
.seller-webhook-instructions p { margin:0; color:var(--muted); line-height:1.55; }
.seller-secret-box { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 14px; align-items:center; margin-top:16px; padding:18px; border:1px solid #d9c7ed; border-radius:14px; background:#f7f0ff; }
.seller-secret-box strong,.seller-secret-box small { grid-column:1/-1; }
.seller-secret-box code { margin:0; background:white; }
.seller-offers-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:20px; }
.seller-offers-heading h2 { margin:6px 0 0; color:var(--ink); font-size:1.55rem; }
.seller-offers-heading p { margin:0; color:var(--muted); }
.amazon-config-card { margin-bottom:28px; }
.amazon-config-card > p { color:var(--muted); line-height:1.55; }
.amazon-approval { align-self:center; margin-top:29px; }
.site-footer { display:flex; justify-content:space-between; gap:24px; padding:22px clamp(20px,5vw,72px); color:var(--muted); background:white; border-top:1px solid var(--line); font-size:.84rem; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:18px; }
.pricing-page { max-width:1240px; margin:0 auto; padding:clamp(52px,8vw,100px) 24px 90px; }
.pricing-hero { max-width:820px; margin:0 auto 44px; text-align:center; }
.pricing-hero h1 { margin:14px 0 20px; color:var(--ink); font-size:clamp(2.5rem,6vw,5rem); line-height:.98; letter-spacing:-.055em; }
.pricing-hero p { margin:0; color:var(--muted); font-size:1.08rem; line-height:1.65; }
.public-price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.public-price-card { position:relative; display:flex; flex-direction:column; gap:24px; min-width:0; padding:28px; background:white; border:1px solid var(--line); border-radius:24px; box-shadow:0 18px 50px rgba(28,64,43,.07); }
.public-price-card.featured { border:2px solid #7540aa; box-shadow:0 22px 58px rgba(94,45,145,.15); transform:translateY(-10px); }
.best-value { position:absolute; top:0; right:24px; transform:translateY(-50%); padding:7px 12px; border-radius:999px; color:white; background:#6b359d; font-size:.73rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.price-kicker { color:var(--green); font-size:.74rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.public-price-card h2 { margin:8px 0 10px; color:var(--ink); font-size:1.55rem; }
.public-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin:0; }
.public-price strong { color:var(--ink); font-size:clamp(2.2rem,4vw,3rem); letter-spacing:-.045em; }
.public-price span,.price-description { color:var(--muted); }
.price-description { min-height:48px; margin:10px 0 0; line-height:1.5; }
.price-saving { display:inline-block; margin:10px 0 0; padding:6px 9px; border-radius:8px; color:#5d2b8d; background:#f3eafb; font-size:.82rem; font-weight:800; }
.price-feature-list { display:grid; gap:12px; flex:1; margin:0; padding:0; list-style:none; }
.price-feature-list li { position:relative; padding-left:25px; color:#314139; line-height:1.4; }
.price-feature-list li::before { content:"✓"; position:absolute; left:0; color:var(--green); font-weight:900; }
.pricing-disclaimer { max-width:900px; margin:30px auto 0; color:var(--muted); text-align:center; font-size:.82rem; line-height:1.55; }
.pricing-value-section { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:56px; margin-top:80px; padding:clamp(28px,5vw,56px); border-radius:28px; color:white; background:var(--ink); }
.pricing-value-section h2 { margin:10px 0 16px; font-size:clamp(2rem,4vw,3rem); line-height:1.05; letter-spacing:-.04em; }
.pricing-value-section p { margin:0; color:#c8d8ce; line-height:1.65; }
.pricing-value-section .eyebrow { color:#9cd5a9; }
.pricing-value-points { display:grid; gap:12px; }
.pricing-value-points article { display:grid; gap:5px; padding:17px 18px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.06); }
.pricing-value-points span { color:#c8d8ce; font-size:.9rem; line-height:1.5; }
.pricing-faq { max-width:900px; margin:80px auto 0; }
.pricing-faq h2 { margin:8px 0 22px; color:var(--ink); font-size:clamp(2rem,4vw,3rem); }
.pricing-faq details { padding:18px 0; border-bottom:1px solid var(--line); }
.pricing-faq summary { color:var(--ink); cursor:pointer; font-weight:850; }
.pricing-faq details p { margin:12px 0 0; color:var(--muted); line-height:1.6; }
.contact-page { max-width:1180px; min-height:calc(100vh - 146px); margin:0 auto; padding:clamp(52px,8vw,96px) 24px 90px; }
.contact-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.55fr); align-items:center; gap:clamp(30px,7vw,90px); padding:clamp(28px,5vw,58px); border-radius:30px; color:white; background:linear-gradient(135deg,#173d2b,#246442); box-shadow:0 26px 68px rgba(23,61,43,.2); }
.contact-hero h1 { margin:12px 0 18px; color:white; font-size:clamp(2.5rem,6vw,5rem); line-height:.98; letter-spacing:-.05em; }
.contact-hero p { max-width:720px; margin:0; color:#d5e4da; font-size:1.04rem; line-height:1.65; }
.contact-hero .eyebrow { color:#a9dfb6; }
.contact-hero img { display:block; width:100%; max-height:300px; object-fit:contain; border-radius:24px; background:rgba(255,255,255,.1); }
.contact-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:18px; margin-top:22px; }
.contact-card { padding:clamp(24px,4vw,38px); border:1px solid var(--line); border-radius:24px; background:white; box-shadow:0 16px 42px rgba(28,64,43,.06); }
.contact-card h2 { margin:9px 0 14px; color:var(--ink); }
.contact-card p,.contact-card li { color:var(--muted); line-height:1.6; }
.contact-card ul { margin:14px 0 0; padding-left:20px; }
.contact-label { color:var(--green); font-size:.76rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.contact-email { display:block; margin:13px 0 18px; color:var(--ink); font-size:clamp(1.35rem,3vw,2.15rem); font-weight:900; overflow-wrap:anywhere; text-underline-offset:5px; }
.contact-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.contact-copy-message { min-height:1.5em; margin:10px 0 0 !important; color:var(--green) !important; font-size:.82rem; font-weight:750; }
.legal-page { max-width:900px; margin:0 auto; padding:48px 22px 90px; }
.legal-card { padding:clamp(24px,5vw,54px); background:white; border:1px solid var(--line); border-radius:22px; box-shadow:0 18px 50px rgba(28,64,43,.08); }
.legal-card h1 { margin:10px 0 12px; color:var(--ink); font-size:clamp(2rem,5vw,3.4rem); line-height:1.05; letter-spacing:-.035em; }
.legal-card h2 { margin:34px 0 10px; color:var(--ink); font-size:1.25rem; }
.legal-card p,.legal-card li { color:#47554d; line-height:1.7; }
.legal-card li + li { margin-top:7px; }
.legal-meta { display:flex; flex-wrap:wrap; gap:10px 20px; margin:0 0 28px; color:var(--muted); font-size:.86rem; }
.legal-notice { margin:24px 0; padding:16px 18px; border-left:4px solid var(--green); border-radius:8px; background:var(--soft); }
.legal-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:36px; padding-top:24px; border-top:1px solid var(--line); }
@media (max-width:1200px) { .diet-plan-workspace { grid-template-columns:320px minmax(620px,1fr); } .plan-item-row { grid-template-columns:110px 130px minmax(250px,1fr) minmax(170px,.8fr) auto; } .plan-item-row > label:nth-child(5) { grid-column:1/-2; } .plan-item-row .icon-button { grid-column:-2/-1; grid-row:2; justify-self:end; } .seller-product-form .nutrition-grid { grid-template-columns:repeat(4,minmax(100px,1fr)); } }
@media (max-width:900px) { .diet-plan-workspace { grid-template-columns:1fr; overflow:auto; } .diet-plan-settings,.diet-plan-items-panel { overflow:visible; } .diet-plan-settings { border-right:0; border-bottom:1px solid var(--line); } .diet-plan-items-panel .plan-items-heading { top:0; } .plan-item-row { grid-template-columns:1fr 1fr; } .plan-item-row > label:nth-child(3),.plan-item-row > label:nth-child(4),.plan-item-row > label:nth-child(5) { grid-column:1/-1; } .plan-item-row .icon-button { grid-column:2; grid-row:auto; justify-self:end; } .plan-item-nutrients { grid-template-columns:1fr 1fr; } }
@media (max-width:800px) { .auth-layout { grid-template-columns:1fr; padding-top:48px; } .hero-copy { text-align:center; } .hero-actions { justify-content:center; } .feature-list { display:none; } .trust-strip { grid-template-columns:1fr; } .trust-strip span + span { border-left:0; border-top:1px solid var(--line); } .product-showcase { grid-template-columns:1fr; } .marketing-copy { text-align:center; } .plain-check-list { width:max-content; max-width:100%; margin-inline:auto; text-align:left; } .capability-grid { grid-template-columns:1fr; } .capability-grid .bite-capability { grid-column:1; } .workflow-list { grid-template-columns:1fr; } .final-cta { align-items:flex-start; flex-direction:column; } .dashboard { grid-template-columns:1fr; } .sidebar { padding:9px; overflow:auto; } .sidebar nav { display:flex; position:static; } .nav-item { white-space:nowrap; } .metric-grid { grid-template-columns:1fr; } .empty-state,.invite-card { align-items:flex-start; flex-wrap:wrap; } .detail-grid { grid-template-columns:1fr 1fr; } .seller-grid { grid-template-columns:1fr; } .nutrition-grid { grid-template-columns:1fr 1fr; } .seller-form-hero { grid-template-columns:auto 1fr; } .seller-form-badge { grid-column:2; justify-self:start; } .seller-fields-grid { grid-template-columns:1fr 1fr; } .seller-fields-grid .field-span-3,.seller-fields-grid .field-span-4 { grid-column:1/-1; } .seller-product-form .nutrition-grid { grid-template-columns:repeat(2,minmax(100px,1fr)); } .seller-form-actions { grid-template-columns:1fr; } .seller-action-buttons { justify-content:stretch; } .seller-action-buttons .button { flex:1; } }
@media (max-width:800px) { .settings-grid { grid-template-columns:1fr; } }
@media (max-width:800px) { .practice-radar-heading { align-items:stretch; flex-direction:column; } .radar-summary { grid-template-columns:1fr; } .previsit-facts { grid-template-columns:1fr 1fr; } }
@media (max-width:800px) { .food-composition-search { grid-template-columns:1fr 1fr; } .food-composition-search .button { grid-column:1/-1; } }
@media (max-width:560px) { .topbar { height:64px; } .two-columns { grid-template-columns:1fr; } .auth-layout { padding:42px 14px 50px; } .hero-copy h1 { font-size:2.4rem; } .auth-panel { padding:20px; } .trust-strip,.marketing-section { width:calc(100% - 28px); } .marketing-section { margin-top:74px; } .workspace-preview { padding:16px; transform:none; } .workspace-preview::before { inset:10px -7px -8px 10px; } .preview-metrics { gap:6px; } .preview-metrics div { padding:10px 7px; } .preview-patient { grid-template-columns:auto minmax(0,1fr); } .preview-patient b { grid-column:2; } .capability-grid article { min-height:0; padding:22px; } .capability-grid .bite-capability { grid-template-columns:96px minmax(0,1fr); gap:17px; padding:14px; } .bite-capability img { width:96px; height:96px; } .workflow-section { padding:28px 18px; } .workflow-list li { padding:17px; } .final-cta { margin-bottom:74px; padding:25px 20px; } .final-cta-actions,.final-cta-actions .button { width:100%; text-align:center; } .sidebar { overflow:visible; padding:10px 12px; } .sidebar nav { display:grid; grid-template-columns:1fr 1fr; gap:6px; } .nav-item { min-height:44px; padding:10px 8px; text-align:center; white-space:normal; } .nav-item:first-child { grid-column:1/-1; } .content-view,.dashboard-main { padding:34px 14px 60px; } .application-card dl { grid-template-columns:1fr 1fr; } .site-footer { flex-direction:column; } .section-heading,.patient-card { align-items:flex-start; flex-direction:column; } .section-heading .button-row { justify-content:flex-start; } .patient-card .button { width:100%; } .detail-grid { grid-template-columns:1fr; } .clinical-notes-section { margin-inline:-4px; padding:17px 13px; } .clinical-note-fields { grid-template-columns:1fr; } .clinical-note-form { padding:14px 12px; } .clinical-note-form-actions,.clinical-note-actions { align-items:stretch; flex-direction:column-reverse; } .clinical-note-form-actions .button,.clinical-note-actions .button { width:100%; } .clinical-note-meta { align-items:flex-start; flex-direction:column; } .radar-item { align-items:flex-start; flex-direction:column; } .radar-item .button { width:100%; } .plan-price-grid,.previsit-facts { grid-template-columns:1fr; } .appointment-card { grid-template-columns:auto 1fr; align-items:start; } .appointment-actions { grid-column:1/-1; width:100%; justify-items:stretch; } .appointment-actions .button { width:100%; } .diet-plan-card { grid-template-columns:1fr; } .diet-plan-actions { justify-content:stretch; } .diet-plan-actions .button { flex:1; } .plan-items-heading { align-items:stretch; flex-direction:column; } .plan-item-row { grid-template-columns:1fr; } .plan-item-row > label,.plan-item-row .icon-button { grid-column:1 !important; } .plan-item-nutrients { grid-template-columns:1fr 1fr; } .nutrition-target-grid { grid-template-columns:1fr 1fr; } .diet-plan-dialog .dialog-actions { flex-direction:column; align-items:stretch; } .dialog-action-buttons { width:100%; margin-left:0; } .dialog-action-buttons .button { flex:1; } .history-card { align-items:flex-start; flex-direction:column; } .dialog-actions { flex-direction:column-reverse; } .dialog-actions .button { width:100%; } .source-template-header,.premium-feature-card { align-items:flex-start; flex-direction:column; } .source-actions { align-items:stretch; flex-direction:column; } .source-actions .button { width:100%; } .seller-form-hero { padding:22px 18px; } .seller-form-icon { width:44px; height:44px; border-radius:14px; } .seller-form-section { margin:16px 12px 0; padding:18px 14px; } .seller-fields-grid { grid-template-columns:1fr; } .seller-fields-grid .field-span-2,.seller-fields-grid .field-span-3,.seller-fields-grid .field-span-4 { grid-column:1; } .seller-product-form .nutrition-grid { grid-template-columns:1fr 1fr; gap:9px; } .seller-product-form .nutrition-grid label { padding:10px; } .seller-form-actions { padding:20px 12px 24px; } .seller-action-buttons { flex-direction:column-reverse; } .seller-offers-heading { align-items:flex-start; flex-direction:column; } }
@media (max-width:980px) { .public-price-grid { grid-template-columns:1fr; max-width:680px; margin-inline:auto; } .public-price-card.featured { order:-1; transform:none; } .pricing-value-section { grid-template-columns:1fr; gap:30px; } }
@media (max-width:560px) { .pricing-page { padding:42px 14px 60px; } .pricing-hero { margin-bottom:34px; } .public-price-card { padding:22px 18px; } .pricing-value-section { margin-top:56px; padding:26px 20px; } .pricing-faq { margin-top:56px; } }
@media (max-width:800px) { .seller-workspace { padding:30px 14px 60px; } .seller-page-header { align-items:flex-start; flex-direction:column; } .seller-page-header .button-row { width:100%; justify-content:flex-start; } }
@media (max-width:800px) { .seller-commerce-metrics { grid-template-columns:1fr; } .seller-secret-box { grid-template-columns:1fr; } .seller-secret-box .button { width:100%; } }
@media (max-width:560px) { .seller-page-nav { flex-direction:column; } .seller-page-header .button-row,.seller-page-header .button { width:100%; } .seller-page-header .button { text-align:center; } }
@media print { .topbar,.site-footer,.legal-actions { display:none !important; } body { background:white; } .legal-page { max-width:none; padding:0; } .legal-card { border:0; box-shadow:none; padding:0; } }

@media (max-width:1100px) {
  .auth-layout { grid-template-columns:minmax(300px,1fr) minmax(340px,460px); }
  .hero-visual { grid-column:1; width:min(340px,100%); justify-self:center; }
  .auth-panel { grid-column:2; grid-row:1 / span 2; }
}
@media (max-width:800px) {
  .hero-visual,.auth-panel { grid-column:auto; grid-row:auto; }
  .visual-feature-grid,.contact-hero,.contact-grid { grid-template-columns:1fr; }
  .visual-feature-grid article { grid-template-columns:minmax(120px,.55fr) minmax(0,1fr); }
  .contact-hero { text-align:center; }
  .contact-hero img { width:min(330px,100%); margin-inline:auto; }
}
@media (max-width:560px) {
  .visual-feature-grid { grid-template-columns:1fr; }
  .visual-feature-grid article { grid-template-columns:1fr; }
  .visual-feature-grid img { height:210px; }
  .contact-page { padding:32px 14px 60px; }
  .contact-hero { padding:30px 20px; }
  .contact-actions,.contact-actions .button { width:100%; text-align:center; }
}

.previsit-dashboard-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; }
.previsit-dashboard-grid > .panel { min-width:0; padding:22px; }
.previsit-card-list { display:grid; gap:12px; margin-top:16px; }
.previsit-card { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; border:1px solid var(--line); border-radius:16px; background:#fbfdf9; }
.previsit-card h3,.previsit-card p { margin:0; }
.previsit-card p { margin-top:5px; color:var(--muted); }
.previsit-card-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.previsit-template-dialog,.previsit-response-dialog { width:min(1180px,calc(100vw - 32px)); max-width:1180px; }
.previsit-template-body { padding:24px; }
.previsit-question-editor { display:grid; gap:14px; margin-top:16px; }
.previsit-question-row { padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--soft); }
.previsit-question-row-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.previsit-question-grid { display:grid; grid-template-columns:minmax(260px,2fr) minmax(150px,.8fr) minmax(210px,1fr) auto; gap:12px; align-items:end; }
.previsit-question-help,.previsit-question-options { grid-column:span 2; }
.previsit-required-toggle { min-height:48px; display:flex; align-items:center; white-space:nowrap; }
.previsit-required-toggle input { width:auto; margin-right:6px; }
.previsit-response-list { display:grid; gap:12px; margin:0; }
.previsit-response-item { padding:15px; border:1px solid var(--line); border-radius:14px; background:#fbfdf9; }
.previsit-response-item dt { font-weight:800; }
.previsit-response-item dd { margin:7px 0 0; white-space:pre-wrap; }
.prefill-badge { display:inline-block; margin-top:8px; padding:4px 8px; border-radius:999px; background:#e4f4df; color:var(--green); font-weight:700; }
.previsit-attachment { margin-top:18px; padding:16px; border-radius:16px; background:#f2f6ed; }
.previsit-attachment h3 { margin-top:0; }
.previsit-attachment p { margin:6px 0; }
.external-previsit-form { width:min(900px,100%); margin:0 auto; padding:clamp(20px,4vw,38px); }
.external-previsit-questions { display:grid; gap:14px; margin-bottom:22px; }
.external-previsit-question { padding:18px; background:linear-gradient(145deg,#fbfdf9,#fff); }
.external-previsit-question > label { display:grid; gap:9px; color:var(--ink); font-weight:800; }
.external-previsit-question label > small { color:var(--muted); font-size:.78rem; font-weight:500; line-height:1.45; }
.external-previsit-question input:not([type="checkbox"]),
.external-previsit-question select,
.external-previsit-question textarea { width:100%; margin:0; background:#fff; }
.external-previsit-question textarea { resize:vertical; }
.external-multi-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.external-multi-options .consent-row { min-height:46px; margin:0; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:#fff; font-weight:600; }
.external-previsit-form > .consent-row { margin:18px 0; padding:14px; border-radius:13px; background:#f2f6ed; }
.external-previsit-form > .button { min-width:210px; }
@media (max-width:900px) { .previsit-dashboard-grid { grid-template-columns:1fr; } .previsit-question-grid { grid-template-columns:1fr 1fr; } .previsit-question-help,.previsit-question-options { grid-column:1/-1; } }
@media (max-width:620px) { .previsit-card { align-items:flex-start; flex-direction:column; } .previsit-card-actions { width:100%; justify-content:stretch; } .previsit-card-actions .button { flex:1; } .previsit-question-grid { grid-template-columns:1fr; } .previsit-question-help,.previsit-question-options { grid-column:auto; } .external-multi-options { grid-template-columns:1fr; } .external-previsit-form > .button { width:100%; } }

/* 2026 product presentation: real workflow first, mascot as supporting identity. */
.public-home { overflow:clip; background:
  radial-gradient(circle at 80% 9%,rgba(135,207,154,.2),transparent 28rem),
  radial-gradient(circle at 8% 31%,rgba(255,112,65,.08),transparent 24rem),#f7faf5; }
.public-nav { max-width:1380px; margin:0 auto; padding:18px clamp(22px,5vw,76px) 0; display:flex; justify-content:flex-end; gap:25px; }
.public-nav a { color:#375348; text-decoration:none; font-size:.86rem; font-weight:750; }
.public-nav a:hover { color:var(--green); }
.premium-hero { max-width:1500px; min-height:790px; margin:0 auto; padding:clamp(50px,7vw,108px) clamp(22px,5vw,76px) 88px; display:grid; grid-template-columns:minmax(420px,.82fr) minmax(600px,1.18fr); grid-template-areas:"copy stage" "login stage"; align-items:center; gap:34px clamp(34px,5vw,82px); }
.premium-hero-copy { grid-area:copy; max-width:670px; }
.premium-hero-copy h1 { max-width:760px; margin:15px 0 24px; color:var(--ink); font-size:clamp(3.1rem,5.9vw,6.35rem); line-height:.9; letter-spacing:-.067em; }
.premium-hero-copy h1 em { color:#28734a; font-style:normal; }
.premium-hero-copy > p { max-width:650px; color:#4f665b; font-size:clamp(1.05rem,1.4vw,1.24rem); line-height:1.65; }
.premium-hero .auth-panel { grid-area:login; max-width:620px; padding:20px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:5px 18px; border-color:#cbdacf; border-radius:20px; box-shadow:0 18px 48px rgba(20,61,42,.08); }
.premium-hero .auth-panel .eyebrow,.premium-hero .auth-panel h2,.premium-hero .auth-panel .auth-description,.premium-hero .auth-panel .auth-footnote,.premium-hero .auth-panel .message { grid-column:1; }
.premium-hero .auth-panel h2 { margin:3px 0; font-size:1.22rem; }
.premium-hero .auth-panel p { margin:0; }
.premium-hero .auth-panel .button { grid-column:2; grid-row:1/5; min-width:195px; }
.hero-primary { box-shadow:0 13px 35px rgba(255,83,38,.25); }
.hero-proof { display:flex; gap:10px 20px; flex-wrap:wrap; margin-top:22px; color:#577066; font-size:.78rem; font-weight:700; }
.product-stage { grid-area:stage; position:relative; min-height:650px; isolation:isolate; }
.stage-glow { position:absolute; inset:8% 0 2% 8%; z-index:-1; border-radius:42% 58% 44% 56%; background:linear-gradient(135deg,#dcefdc,#edf5e7 45%,#ffe8df); filter:blur(2px); transform:rotate(-3deg); }
.portal-mock { position:absolute; width:min(92%,880px); top:76px; right:0; overflow:hidden; border:1px solid rgba(42,76,58,.16); border-radius:25px; background:#fff; box-shadow:0 35px 90px rgba(18,52,35,.19); transform:perspective(1400px) rotateY(-4deg) rotateX(1.5deg); }
.mock-window-bar { height:46px; display:flex; align-items:center; gap:7px; padding:0 17px; color:#718179; background:#f7f9f6; border-bottom:1px solid #e1e8e2; font-size:.7rem; }
.mock-window-bar i { width:9px; height:9px; border-radius:50%; background:#ff7652; }.mock-window-bar i:nth-child(2){background:#efc44a}.mock-window-bar i:nth-child(3){background:#4bb36a}.mock-window-bar span{margin-left:8px}
.mock-workspace { min-height:455px; display:grid; grid-template-columns:142px 1fr; }
.mock-workspace aside { display:flex; flex-direction:column; gap:18px; padding:25px 17px; color:#cfe1d5; background:#153f2d; font-size:.67rem; font-weight:700; }
.mock-workspace aside b { width:34px; height:34px; display:grid; place-items:center; margin-bottom:8px; border-radius:10px; color:#163d2d; background:#fff; font-size:1rem; }
.mock-workspace aside span:first-of-type { padding:10px; margin-left:-8px; border-radius:9px; color:white; background:rgba(255,255,255,.13); }
.mock-workspace main { padding:30px; background:#f5f8f3; }
.mock-workspace header { display:grid; gap:5px; }.mock-workspace header small{color:#398056;font-weight:850;letter-spacing:.13em}.mock-workspace header strong{color:#173d2b;font-size:1.42rem}
.mock-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:22px 0 14px; }.mock-metrics div{display:grid;gap:3px;padding:14px;border:1px solid #dae4db;border-radius:13px;background:white}.mock-metrics b{color:#173d2b;font-size:1.25rem}.mock-metrics small{color:#708078;font-size:.63rem}
.mock-alert { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; margin-top:9px; padding:12px; border-radius:12px; background:white; border:1px solid #dde6de; }.mock-alert>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#e9f4e6;color:#286943;font-size:.68rem;font-weight:900}.mock-alert p{display:grid;gap:2px;margin:0}.mock-alert p b{font-size:.72rem}.mock-alert p small{color:#77847c;font-size:.6rem}.mock-alert em{color:#2d754b;font-size:.6rem;font-style:normal;font-weight:800}.mock-alert.hot{border-left:4px solid #ff5a2b}
.mock-chart { height:90px; display:flex; align-items:end; gap:8px; margin-top:18px; padding:15px 16px 0; border-radius:12px; background:linear-gradient(180deg,#fff,#eef5ec); }.mock-chart span{flex:1;border-radius:5px 5px 0 0;background:linear-gradient(#63b477,#28734a);transform-origin:bottom;animation:chartGrow 1.2s both}.mock-chart span:nth-child(1){height:42%}.mock-chart span:nth-child(2){height:64%}.mock-chart span:nth-child(3){height:55%}.mock-chart span:nth-child(4){height:78%}.mock-chart span:nth-child(5){height:70%}.mock-chart span:nth-child(6){height:86%}.mock-chart span:nth-child(7){height:82%}
.phone-mock { position:absolute; z-index:3; width:220px; left:0; bottom:5px; padding:10px; border:7px solid #14241c; border-radius:34px; background:#14241c; box-shadow:0 28px 60px rgba(12,37,24,.26); transform:rotate(-3deg); }
.phone-speaker{position:absolute;z-index:2;width:56px;height:14px;left:50%;top:5px;transform:translateX(-50%);border-radius:0 0 11px 11px;background:#14241c}.phone-screen{min-height:400px;padding:28px 12px 15px;display:flex;flex-direction:column;align-items:center;border-radius:23px;background:linear-gradient(#edf5ea,#fff);overflow:hidden}.phone-date{align-self:stretch;color:#597068;font-size:.57rem;font-weight:800}.phone-screen img{width:126px;height:126px;object-fit:contain;margin:18px 0 8px;border-radius:50%;background:#deebdd}.phone-screen strong{font-size:.78rem}.phone-screen p{margin:4px 0 12px;color:#718078;font-size:.6rem}.phone-macros{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.phone-macros span{padding:8px 2px;border-radius:8px;background:white;text-align:center;color:#466256;font-size:.53rem;font-weight:800}.phone-screen button{width:100%;margin-top:16px;padding:10px;border:0;border-radius:10px;color:white;background:#ff5a2b;font-size:.6rem;font-weight:800}
.floating-proof { position:absolute; z-index:4; display:grid; gap:3px; min-width:170px; padding:12px 15px; border:1px solid rgba(54,94,70,.15); border-radius:13px; background:rgba(255,255,255,.94); box-shadow:0 14px 34px rgba(21,57,38,.13); backdrop-filter:blur(9px); }.floating-proof b{color:#214f36;font-size:.68rem}.floating-proof span{color:#718078;font-size:.57rem}.proof-one{right:-5px;bottom:52px;animation:floatY 4.8s ease-in-out infinite}.proof-two{right:50px;top:26px;animation:floatY 5.4s ease-in-out -2s infinite}
.premium-trust { max-width:1380px; grid-template-columns:repeat(4,1fr); border-radius:20px; box-shadow:0 15px 45px rgba(22,59,40,.07); }
.marketing-section { scroll-margin-top:30px; }
.product-story { padding-top:130px; }.section-intro.left{text-align:left;margin-left:0}.section-intro.left p{margin-left:0}
.product-story .section-intro h2,.app-life-copy h2 { max-width:920px; font-size:clamp(2.5rem,5vw,5rem); line-height:.98; letter-spacing:-.055em; }
.continuity-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:stretch; gap:16px; margin-top:55px; }.continuity-flow article{position:relative;display:flex;gap:18px;padding:27px;border:1px solid #d7e3d9;border-radius:22px;background:white;box-shadow:0 17px 45px rgba(24,61,42,.06)}.continuity-flow article>span{color:#ff5a2b;font-weight:900}.continuity-flow b{color:#173d2b;font-size:1.05rem}.continuity-flow p{margin:8px 0 0;color:#66786e;line-height:1.55}.continuity-flow>i{align-self:center;color:#7fa38b;font-size:1.5rem;font-style:normal}
.feature-bento { padding-top:125px; }.bento-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.bento-grid>article{min-height:230px;padding:30px;border:1px solid #d4e1d6;border-radius:26px;background:white;overflow:hidden}.bento-grid h3{margin:8px 0 10px;color:#173d2b;font-size:clamp(1.35rem,2.2vw,2.1rem);letter-spacing:-.03em}.bento-grid p{color:#60746a;line-height:1.55}.feature-kicker{color:#2d7d4d;font-size:.7rem;font-weight:900;letter-spacing:.12em}.bento-wide{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center;background:linear-gradient(135deg,#fff,#edf6ea)!important}.bento-wide ul{padding-left:18px;color:#4f665b;line-height:1.8}.mini-editor{padding:15px;border:1px solid #cadbce;border-radius:18px;background:white;box-shadow:0 18px 40px rgba(27,64,44,.1)}.mini-editor header,.mini-editor p{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:0;padding:13px;border-bottom:1px solid #e4ebe5}.mini-editor header{grid-template-columns:1fr auto;color:#173d2b;font-weight:850}.mini-editor p span{padding:5px 7px;border-radius:7px;background:#eef5eb;font-size:.7rem;font-weight:800}.mini-editor p em{color:#708078;font-size:.63rem;font-style:normal}.mini-editor .alternative{margin-top:8px;border:1px dashed #8fba99;border-radius:10px;background:#f4fbf2}.bento-dark{color:white!important;background:linear-gradient(145deg,#173d2b,#235f3e)!important}.bento-dark h3,.bento-dark p,.bento-dark .feature-kicker{color:white}.radar-orbit{position:relative;width:120px;height:120px;margin:26px auto 0;border:1px solid rgba(255,255,255,.26);border-radius:50%}.radar-orbit:before,.radar-orbit:after{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.2);border-radius:50%}.radar-orbit:after{inset:42px}.radar-orbit i{position:absolute;width:10px;height:10px;border-radius:50%;background:#ff7652}.radar-orbit i:nth-child(1){left:19px;top:47px}.radar-orbit i:nth-child(2){right:18px;top:25px}.radar-orbit i:nth-child(3){right:34px;bottom:17px}.radar-orbit b{position:absolute;inset:0;display:grid;place-items:center;font-size:1.5rem}.bento-image{position:relative;padding:0!important;min-height:370px!important}.bento-image img{width:100%;height:100%;object-fit:cover}.bento-image>div{position:absolute;inset:auto 18px 18px;padding:18px;border-radius:16px;background:rgba(255,255,255,.94);backdrop-filter:blur(7px)}
.app-life-section { display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-top:125px;padding-top:70px;padding-bottom:70px;border-radius:34px;background:#173d2b;color:white }.app-life-copy h2{color:white}.app-life-copy p{color:#c5d8cc;font-size:1.05rem;line-height:1.65}.app-life-section .eyebrow{color:#9ed7ad}.app-life-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.app-life-points span{padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#ddede2;font-size:.75rem}.app-image-stack{position:relative;min-height:520px}.app-image-stack figure{position:absolute;width:58%;margin:0;padding:9px;border-radius:24px;background:white;box-shadow:0 28px 60px rgba(0,0,0,.22)}.app-image-stack figure:first-child{left:0;top:0;transform:rotate(-5deg)}.app-image-stack figure:last-child{right:0;bottom:0;transform:rotate(5deg)}.app-image-stack img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px}.app-image-stack figcaption{padding:9px 7px 5px;color:#173d2b;font-size:.72rem;font-weight:850}
.premium-workflow{grid-template-columns:repeat(4,1fr)}.premium-final{background:linear-gradient(130deg,#fff,#e8f4e7 55%,#ffe7de)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}
@keyframes floatY{50%{transform:translateY(-9px)}}@keyframes chartGrow{from{transform:scaleY(.05)}}

/* Professional editor and monitoring workspace. */
.editor-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.button.compact{min-height:38px;padding:8px 12px;font-size:.76rem}.autosave-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:9px 13px;border:1px solid #d9e5da;border-radius:12px;color:#5d7166;background:#f8fbf6;font-size:.72rem}.autosave-status button{border:0;color:#8a4c43;background:transparent;font:inherit;font-weight:800;cursor:pointer}.plan-item-row.is-selected{outline:2px solid #69a678;outline-offset:2px}.plan-item-row-actions{display:flex;align-items:center;gap:6px}.row-action{width:34px;height:34px;display:grid;place-items:center;border:1px solid #cedcd1;border-radius:10px;color:#285e40;background:white;cursor:pointer;font-weight:900}.row-action:hover{background:#edf6ea}.equivalence-dialog{width:min(1100px,calc(100vw - 28px))}.equivalence-source{padding:16px;border:1px solid #d1e0d3;border-radius:16px;background:#f4f9f1}.equivalence-source strong{display:block;color:#173d2b}.equivalence-source p{margin:5px 0 0;color:#5d7166}.equivalence-controls{display:grid;grid-template-columns:220px 1fr auto;gap:12px;align-items:end;margin:16px 0}.equivalence-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.equivalence-result{display:grid;grid-template-columns:1fr auto;gap:10px;padding:17px;border:1px solid #d5e2d7;border-radius:16px;background:white}.equivalence-result h3,.equivalence-result p{margin:0}.equivalence-result p{margin-top:6px;color:#65776d;font-size:.82rem;line-height:1.45}.equivalence-result small{display:block;margin-top:7px;color:#8a5b1e}.equivalence-result .button{align-self:center}.clinical-warning.compact{margin-top:12px;padding:13px;font-size:.78rem}.calendar-info-card{display:flex;align-items:flex-start;gap:15px;margin-bottom:18px;padding:18px 20px;border:1px solid #d3e1d5;border-radius:17px;background:#f5faf2}.calendar-info-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#22633e;background:#dcefd9;font-size:1.2rem}.calendar-info-card strong{color:#173d2b}.calendar-info-card p{margin:5px 0 0;color:#607269;line-height:1.5}.appointment-calendar-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.monitoring-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px;padding:18px 20px}.monitoring-toolbar label{width:min(420px,100%)}.monitoring-toolbar select{margin-top:7px}.monitoring-toolbar>div{color:#64766c;font-size:.8rem}.monitoring-empty{text-align:center;padding:55px}.monitoring-empty strong{color:#173d2b;font-size:1.2rem}.monitoring-empty p{color:#687a70}.monitoring-workspace{display:grid;gap:18px}.monitoring-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:18px}.adherence-chart{min-height:270px;display:flex;align-items:end;gap:8px;padding:24px 12px 20px;border-radius:17px;background:linear-gradient(180deg,#f9fcf7,#edf5ea)}.adherence-day{min-width:0;flex:1;display:grid;grid-template-rows:1fr auto;gap:8px;height:210px;align-items:end}.adherence-bars{height:175px;display:flex;align-items:end;justify-content:center;gap:4px}.adherence-bars i{width:8px;min-height:2px;border-radius:5px 5px 0 0;background:#77b685}.adherence-bars i.target{background:#d7e1d7}.adherence-day span{text-align:center;color:#687970;font-size:.58rem}.chart-legend{display:flex;gap:14px;margin-bottom:10px;color:#66786e;font-size:.7rem}.chart-legend i{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:2px;background:#77b685}.chart-legend i.target{background:#d7e1d7}.signal-list{display:grid;gap:9px;margin-top:16px}.signal{padding:13px 15px;border-left:4px solid #79aa83;border-radius:10px;background:#f5f9f2;color:#52665b;line-height:1.5}.signal.warning{border-left-color:#d89d37;background:#fff8e8}.signal.urgent{border-left-color:#dd654d;background:#fff0ec}.patient-timeline{position:relative;display:grid;gap:0;padding-left:20px}.patient-timeline:before{content:"";position:absolute;left:7px;top:9px;bottom:9px;width:2px;background:#d6e3d8}.timeline-event{position:relative;padding:0 0 22px 19px}.timeline-event:before{content:"";position:absolute;left:-18px;top:5px;width:10px;height:10px;border:3px solid white;border-radius:50%;background:#4a9661;box-shadow:0 0 0 1px #8dbb98}.timeline-event time{display:block;color:#75857c;font-size:.67rem}.timeline-event strong{display:block;margin:4px 0;color:#173d2b}.timeline-event p{margin:0;color:#607269;font-size:.8rem;line-height:1.45}.branding-settings label{display:grid;gap:6px}.branding-settings input{margin:0}.branding-settings input[type=color]{width:100%;height:48px;padding:5px}.branding-settings .button{justify-self:start}

@media(max-width:1150px){.premium-hero{grid-template-columns:1fr;grid-template-areas:"copy" "stage" "login"}.premium-hero-copy{max-width:900px}.product-stage{min-height:620px}.premium-hero .auth-panel{max-width:850px}.premium-trust{grid-template-columns:repeat(2,1fr)}.monitoring-grid{grid-template-columns:1fr}.bento-wide{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.public-nav{justify-content:flex-start;overflow:auto}.premium-hero{padding-top:55px}.premium-hero-copy h1{font-size:clamp(3rem,15vw,5.1rem)}.product-stage{min-height:510px}.portal-mock{width:94%;top:35px}.mock-workspace{grid-template-columns:85px 1fr}.mock-workspace aside{padding:20px 10px}.mock-workspace main{padding:18px}.phone-mock{width:170px}.phone-screen{min-height:310px}.phone-screen img{width:88px;height:88px}.floating-proof{display:none}.premium-hero .auth-panel{display:block}.premium-hero .auth-panel .button{width:100%;margin-top:14px}.premium-trust{grid-template-columns:1fr}.continuity-flow{grid-template-columns:1fr}.continuity-flow>i{transform:rotate(90deg);justify-self:center}.bento-grid,.bento-wide,.app-life-section{grid-template-columns:1fr}.bento-wide{grid-column:auto}.app-image-stack{min-height:430px}.premium-workflow{grid-template-columns:1fr 1fr}.equivalence-results{grid-template-columns:1fr}.equivalence-controls{grid-template-columns:1fr}.monitoring-toolbar{align-items:stretch;flex-direction:column}.adherence-chart{overflow:auto}.adherence-day{min-width:40px}.editor-toolbar{justify-content:flex-start}}
@media(max-width:560px){.public-nav{justify-content:space-around;gap:16px;overflow:visible;padding-inline:20px}.public-nav a:nth-child(2),.public-nav a:nth-child(3){display:none}.mock-workspace aside{display:none}.mock-workspace{grid-template-columns:1fr}.phone-mock{left:-8px}.portal-mock{right:-42px;width:105%}.product-stage{min-height:470px}.app-image-stack{min-height:360px}.premium-workflow{grid-template-columns:1fr}.hero-proof{display:grid}.bento-grid>article{padding:22px}.mini-editor p{grid-template-columns:auto 1fr}.mini-editor p em{grid-column:2}.appointment-actions{justify-items:stretch}.appointment-calendar-actions{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.adherence-chart{display:block;align-items:initial;gap:initial;padding:18px 12px 20px}.adherence-days{height:220px;display:flex;align-items:end;gap:8px}
.plan-item-row>.plan-item-row-actions{align-self:end;margin-bottom:4px}.plan-item-row>.plan-item-nutrients{grid-column:1/-1}
.plan-item-row.alternative-row{border-color:#d8b96d;background:#fff9e9}.plan-item-row.alternative-row:before{content:"ALTERNATIVA";grid-column:1/-1;color:#8b6512;font-size:.64rem;font-weight:900;letter-spacing:.12em}
@media(max-width:1200px){.plan-item-row>.plan-item-row-actions{grid-column:-2/-1;justify-self:end}}
@media(max-width:900px){.plan-item-row>.plan-item-row-actions{grid-column:1/-1;justify-self:end}}
@media(max-width:560px){.plan-item-row>.plan-item-row-actions{grid-column:1!important;justify-self:stretch}.plan-item-row-actions .row-action{flex:1}}

/* Landing polish: keep the demo crisp and every story block fully readable. */
html{scroll-behavior:smooth}
.portal-mock{width:min(100%,920px);transform:none}
.mock-window-bar{font-size:.76rem}
.mock-workspace aside{font-size:.72rem}
.mock-alert p b{font-size:.78rem}.mock-alert p small,.mock-alert em{font-size:.66rem}
.priority-preview{display:grid;gap:8px;margin-top:22px}
.priority-preview>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.08)}
.priority-preview>div.priority-urgent{border-left:4px solid #ff7652}
.priority-preview span{display:grid;gap:3px;min-width:0}.priority-preview b{font-size:.78rem}.priority-preview small{color:#c8ddd0;font-size:.63rem;line-height:1.35}.priority-preview em{padding:6px 8px;border-radius:8px;color:#173d2b;background:#dff1df;font-size:.62rem;font-style:normal;font-weight:900}
.app-life-section{width:min(1280px,calc(100% - 48px));grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(38px,5vw,72px);padding:clamp(42px,5vw,72px);overflow:hidden}
.app-life-copy{min-width:0}.app-life-copy h2{max-width:650px;font-size:clamp(2.6rem,4.3vw,4.5rem)}.app-life-copy p{max-width:610px}
.app-image-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0;min-height:0}
.app-image-stack figure,.app-image-stack figure:first-child,.app-image-stack figure:last-child{position:relative;inset:auto;width:auto;min-width:0;margin:0;transform:none}
.app-image-stack img{object-fit:contain;background:#fff}
@media(max-width:800px){.portal-mock{width:94%;transform:none}.app-life-section{grid-template-columns:1fr;padding:38px 26px}.app-image-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.app-life-section{width:calc(100% - 28px);padding:30px 18px}.app-life-copy h2{font-size:clamp(2.35rem,12vw,3.4rem)}.app-image-stack{grid-template-columns:1fr}.priority-preview>div{grid-template-columns:1fr}.priority-preview em{justify-self:start}}

/* Monitoring workspace: independent panels, bounded timeline and safe wrapping. */
.dashboard-main,.dashboard-section,.monitoring-workspace,.monitoring-grid,.monitoring-grid>*,.panel-heading>div,.metric{min-width:0}
.monitoring-grid{align-items:start}
.monitoring-grid>article{align-self:start;min-width:0}
.monitoring-analysis-panel .panel-heading p,.monitoring-timeline-panel .panel-heading p{max-width:66ch;margin:7px 0 0;color:#64766c;font-size:.8rem;line-height:1.5}
.monitoring-timeline-panel{display:flex;max-height:760px;flex-direction:column;overflow:hidden}
.monitoring-timeline-panel .patient-timeline{min-height:0;overflow:auto;padding-right:12px;scrollbar-gutter:stable}
.monitoring-reading-note{margin-top:14px;padding:15px 17px;border:1px solid #d5e3d6;border-radius:14px;background:#f6faf3}
.monitoring-reading-note strong{display:block;color:#173d2b}.monitoring-reading-note p{margin:5px 0 0;color:#607269;font-size:.78rem;line-height:1.5}
.adherence-metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.monitoring-grid :where(h1,h2,h3,p,span,strong,small,time),.metric :where(span,strong,small),.section-heading :where(h1,p){max-width:100%;overflow-wrap:anywhere}
.adherence-bars .bar-height-5{height:5%}.adherence-bars .bar-height-10{height:10%}.adherence-bars .bar-height-15{height:15%}.adherence-bars .bar-height-20{height:20%}.adherence-bars .bar-height-25{height:25%}.adherence-bars .bar-height-30{height:30%}.adherence-bars .bar-height-35{height:35%}.adherence-bars .bar-height-40{height:40%}.adherence-bars .bar-height-45{height:45%}.adherence-bars .bar-height-50{height:50%}.adherence-bars .bar-height-55{height:55%}.adherence-bars .bar-height-60{height:60%}.adherence-bars .bar-height-65{height:65%}.adherence-bars .bar-height-70{height:70%}.adherence-bars .bar-height-75{height:75%}.adherence-bars .bar-height-80{height:80%}.adherence-bars .bar-height-85{height:85%}.adherence-bars .bar-height-90{height:90%}.adherence-bars .bar-height-95{height:95%}.adherence-bars .bar-height-100{height:100%}
@media(max-width:1150px){.adherence-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.monitoring-timeline-panel{max-height:none}.monitoring-timeline-panel .patient-timeline{overflow:visible;padding-right:0}}
@media(max-width:560px){.adherence-metrics{grid-template-columns:1fr}.monitoring-analysis-panel,.monitoring-timeline-panel{padding:18px 14px}.monitoring-grid :where(h2){font-size:1.35rem}}

/* Clinical monitoring cockpit: transparent plan sustainability and data quality. */
.monitoring-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(210px,.55fr) auto}.monitoring-toolbar label{width:auto}.monitoring-toolbar>div{align-self:end;padding-bottom:12px;white-space:nowrap}
.monitoring-forecast{display:grid;grid-template-columns:270px minmax(0,1fr);gap:26px;padding:26px;overflow:hidden}.forecast-score-column{display:flex;flex-direction:column;align-items:center;padding:22px;border:1px solid #d8e5d9;border-radius:22px;background:linear-gradient(145deg,#f6fbf3,#eaf4e7);text-align:center}.forecast-score-column>.eyebrow{max-width:210px}.forecast-gauge{--score:0%;width:176px;height:176px;display:grid;place-items:center;margin:22px 0 16px;border-radius:50%;background:conic-gradient(#788b80 var(--score),#dfe9df var(--score));position:relative}.forecast-gauge:before{content:"";position:absolute;inset:15px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #dbe6dc}.forecast-gauge>div{position:relative;z-index:1;display:flex;align-items:baseline}.forecast-gauge strong{color:#173d2b;font-size:3.2rem;letter-spacing:-.08em}.forecast-gauge span{margin-left:4px;color:#6b7d73;font-size:.8rem;font-weight:800}.forecast-gauge[data-tone=good]{background:conic-gradient(#3b985d var(--score),#dfe9df var(--score))}.forecast-gauge[data-tone=watch]{background:conic-gradient(#d99b31 var(--score),#eee6d6 var(--score))}.forecast-gauge[data-tone=risk]{background:conic-gradient(#d75b47 var(--score),#f0dedb var(--score))}.forecast-label{color:#173d2b;font-size:1.16rem}.forecast-range{margin:7px 0 18px;color:#61746a;font-size:.77rem;line-height:1.45}.confidence-meter{width:100%;margin-top:auto}.confidence-meter>span{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;color:#53685c;font-size:.68rem}.confidence-meter em{font-style:normal;font-weight:900}.confidence-meter>div,.dimension-meter,.data-quality-row>div{height:8px;overflow:hidden;border-radius:999px;background:#dce7dc}.confidence-meter i,.dimension-meter i,.data-quality-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#60ad71,#257647)}
.forecast-explanation{min-width:0}.forecast-explanation .panel-heading{margin-bottom:14px}.forecast-dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.forecast-dimension{padding:14px 15px;border:1px solid #d9e5da;border-radius:15px;background:#fff}.forecast-dimension.is-missing{background:#f6f8f5;opacity:.72}.forecast-dimension-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.forecast-dimension-heading strong{color:#173d2b;font-size:.79rem}.forecast-dimension-heading b{color:#2e7249;font-size:.72rem}.forecast-dimension .dimension-meter{margin:9px 0}.forecast-dimension p{margin:0;color:#52675c;font-size:.72rem;line-height:1.4}.forecast-dimension small{display:block;margin-top:4px;color:#798880;font-size:.64rem}.forecast-safety{grid-column:1/-1;padding:14px 17px;border:1px solid #ecd8ad;border-radius:14px;background:#fff8e8}.forecast-safety strong{color:#684b17}.forecast-safety p{margin:4px 0 0;color:#725f3d;font-size:.73rem;line-height:1.45}
.monitoring-clinical-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,.85fr);gap:18px;align-items:start}.monitoring-clinical-grid>.panel{padding:22px;min-width:0}.priority-list{display:grid;gap:9px}.monitoring-priority{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:13px;border:1px solid #d9e5da;border-radius:14px;background:#f8fbf6}.monitoring-priority.warning{border-left:4px solid #d99b31;background:#fff9eb}.monitoring-priority.urgent{border-left:4px solid #d75b47;background:#fff2ef}.monitoring-priority.good{border-left:4px solid #43935c}.priority-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#17442e;background:#e1f0df;font-size:.72rem;font-weight:900}.monitoring-priority strong{display:block;color:#173d2b;font-size:.8rem}.monitoring-priority p{margin:3px 0;color:#5d7066;font-size:.72rem;line-height:1.4}.monitoring-priority small{display:block;color:#2d6b46;font-size:.67rem;line-height:1.4;font-weight:750}.trajectory-card{display:grid;gap:13px}.trajectory-hero{padding:16px;border-radius:15px;background:#eff6ec}.trajectory-hero.watch{background:#fff6df}.trajectory-hero.risk{background:#fff0ec}.trajectory-hero strong{display:block;color:#173d2b}.trajectory-hero p{margin:6px 0 0;color:#607269;font-size:.72rem;line-height:1.45}.trajectory-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.trajectory-facts>div{padding:11px;border:1px solid #dce7dd;border-radius:12px}.trajectory-facts span{display:block;color:#74837b;font-size:.62rem}.trajectory-facts strong{display:block;margin-top:4px;color:#173d2b;font-size:.82rem}.data-quality-list{display:grid;gap:13px}.data-quality-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 38px;gap:9px;align-items:center}.data-quality-row>span{display:grid}.data-quality-row strong{color:#173d2b;font-size:.74rem}.data-quality-row em{color:#718078;font-size:.62rem;font-style:normal}.data-quality-row>b{text-align:right;color:#315e43;font-size:.68rem}
.daily-matrix-panel{padding:22px;overflow:hidden}.daily-matrix{width:100%;overflow:auto;border:1px solid #dce7dd;border-radius:15px;scrollbar-gutter:stable}.daily-matrix-table{width:100%;min-width:1050px;border-collapse:collapse;background:#fff;font-size:.7rem}.daily-matrix-table th,.daily-matrix-table td{padding:10px 11px;border-bottom:1px solid #e5ece5;text-align:left;white-space:nowrap}.daily-matrix-table thead th{position:sticky;top:0;z-index:1;color:#486257;background:#edf5eb;font-size:.63rem;text-transform:uppercase;letter-spacing:.05em}.daily-matrix-table tbody th{color:#173d2b;text-transform:capitalize}.daily-matrix-table tr.is-empty{color:#95a198;background:#fafbf9}.daily-matrix-table td.is-warning{color:#9a6517;background:#fff8e8}.daily-matrix-table td.is-urgent{color:#a73d2e;background:#fff0ec}.matrix-dot{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:#aebbb2}.matrix-dot.in-target{background:#48a066}.matrix-dot.logged{background:#db9f35}.matrix-dot.missing{background:#c8d0ca}
.adherence-bars i.is-missing{width:3px;background:#bec9c0}.adherence-bars .bar-height-0{height:2%}.adherence-days{min-width:max-content}.adherence-day{width:42px;flex:0 0 42px}.monitoring-timeline-panel{max-height:980px}
.width-0{width:0}.width-5{width:5%}.width-10{width:10%}.width-15{width:15%}.width-20{width:20%}.width-25{width:25%}.width-30{width:30%}.width-35{width:35%}.width-40{width:40%}.width-45{width:45%}.width-50{width:50%}.width-55{width:55%}.width-60{width:60%}.width-65{width:65%}.width-70{width:70%}.width-75{width:75%}.width-80{width:80%}.width-85{width:85%}.width-90{width:90%}.width-95{width:95%}.width-100{width:100%}
.gauge-score-0{--score:0%}.gauge-score-5{--score:5%}.gauge-score-10{--score:10%}.gauge-score-15{--score:15%}.gauge-score-20{--score:20%}.gauge-score-25{--score:25%}.gauge-score-30{--score:30%}.gauge-score-35{--score:35%}.gauge-score-40{--score:40%}.gauge-score-45{--score:45%}.gauge-score-50{--score:50%}.gauge-score-55{--score:55%}.gauge-score-60{--score:60%}.gauge-score-65{--score:65%}.gauge-score-70{--score:70%}.gauge-score-75{--score:75%}.gauge-score-80{--score:80%}.gauge-score-85{--score:85%}.gauge-score-90{--score:90%}.gauge-score-95{--score:95%}.gauge-score-100{--score:100%}
@media(max-width:1280px){.monitoring-clinical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monitoring-clinical-grid>article:first-child{grid-column:1/-1}}
@media(max-width:900px){.monitoring-toolbar{grid-template-columns:1fr 1fr}.monitoring-toolbar>div{grid-column:1/-1}.monitoring-forecast{grid-template-columns:1fr}.forecast-score-column{max-width:none}.monitoring-clinical-grid{grid-template-columns:1fr}.monitoring-clinical-grid>article:first-child{grid-column:auto}}
@media(max-width:620px){.monitoring-toolbar{grid-template-columns:1fr}.monitoring-toolbar>div{grid-column:auto}.monitoring-forecast{padding:16px}.forecast-dimensions{grid-template-columns:1fr}.forecast-gauge{width:150px;height:150px}.forecast-gauge strong{font-size:2.7rem}.trajectory-facts{grid-template-columns:1fr}.data-quality-row{grid-template-columns:minmax(0,1fr) 60px 34px}}

/* Deterministic equivalence controls and clinical review state. */
.equivalence-controls{grid-template-columns:repeat(4,minmax(150px,1fr)) auto}
.clinical-context{margin-top:4px;padding:12px 14px;border:1px solid #d8e4d9;border-radius:12px;color:#52665b;background:#f5faf2;font-size:.76rem;line-height:1.5;overflow-wrap:anywhere}
.equivalence-result.is-blocked{border-color:#e39a8d;background:#fff4f1}
.equivalence-result .button:disabled{cursor:not-allowed;opacity:.58}
.compatibility-blocked{color:#a63d2f!important;font-weight:800}.compatibility-review{color:#8a5b1e!important}
@media(max-width:1100px){.equivalence-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.equivalence-controls>.button{grid-column:1/-1;justify-self:start}}
@media(max-width:640px){.equivalence-controls{grid-template-columns:1fr}.equivalence-controls>.button{grid-column:auto;width:100%}}

/* Cartella e strumenti dello studio. */
.practice-patient-selector{display:grid;grid-template-columns:minmax(280px,520px) 1fr;gap:24px;align-items:end;margin-bottom:18px;padding:18px 20px}.practice-patient-selector p{margin:0;color:#607269;line-height:1.5}.practice-records-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.practice-tool-card{align-self:start}.compact-form{display:grid;gap:13px}.practice-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.record-list{display:grid;gap:9px;margin-top:17px}.record-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid #d8e4da;border-radius:13px;background:#f8fbf6}.record-item strong{display:block;color:#173d2b}.record-item p{margin:4px 0 0;color:#61736a;font-size:.78rem;line-height:1.4}.record-item small{display:block;margin-top:5px;color:#718078}.record-actions{display:flex;gap:7px;flex-wrap:wrap}.import-practice-card{margin-top:18px}.import-practice-card>input{margin:0 0 12px}.practice-tool-card textarea{width:100%}
@media(max-width:1200px){.practice-records-grid{grid-template-columns:1fr}.practice-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.practice-patient-selector{grid-template-columns:1fr}.practice-fields{grid-template-columns:1fr}.record-item{grid-template-columns:1fr}.record-actions{justify-content:flex-start}}

/* Global guards for long clinical text, URLs and compact screens. */
.dashboard-main :where(section,article,div,form,label),dialog :where(section,article,div,form,label){min-width:0}
.dashboard-main :where(h1,h2,h3,h4,p,span,strong,small,a),dialog :where(h1,h2,h3,h4,p,span,strong,small,a){overflow-wrap:anywhere}
.dashboard-main :where(input,select,textarea),dialog :where(input,select,textarea){max-width:100%}

/* Reusable professional food library and accessible row ordering. */
.plan-item-row[draggable=true]{cursor:grab}.plan-item-row.is-dragging{opacity:.5;cursor:grabbing}
.food-library-dialog{width:min(1050px,calc(100vw - 28px))}.library-filters{display:flex;align-items:end;justify-content:space-between;gap:14px}.library-filters label{width:min(360px,100%)}.food-library-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.food-library-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px;border:1px solid #d6e3d8;border-radius:15px;background:#f9fcf7}.food-library-item h3{margin:5px 0;color:#173d2b}.food-library-item p{margin:0;color:#65776d}
@media(max-width:700px){.food-library-item{grid-template-columns:1fr}.food-library-list{grid-template-columns:1fr}.library-filters{align-items:stretch;flex-direction:column}}
/* PDF studio: anteprima e generazione reale del documento A4. */
.pdf-export-dialog[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(1480px, calc(100vw - 28px));
  max-width: none;
  height: min(920px, calc(100dvh - 28px));
  max-height: none;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(23, 61, 43, 0.14);
  border-radius: 24px;
  background: #f4f7f2;
  box-shadow: 0 32px 90px rgba(16, 42, 30, 0.3);
}

.pdf-dialog-header {
  padding: 22px 26px 18px;
  background: #fff;
  border-bottom: 1px solid #dbe5dc;
}

.pdf-dialog-header h2 { margin-bottom: 4px; }
.pdf-dialog-header p { margin: 0; color: #63736a; }

.pdf-export-workbench {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(300px, 350px) minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
}

.pdf-export-settings {
  min-width: 0;
  overflow-y: auto;
  padding: 22px;
  background: #fbfcfa;
  border-right: 1px solid #dbe5dc;
}

.pdf-document-badge {
  display: grid;
  gap: 5px;
  margin-bottom: 20px;
  padding: 17px;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(145deg, #173d2b, #245f42);
  box-shadow: 0 12px 30px rgba(23, 61, 43, 0.16);
}

.pdf-document-badge span {
  width: max-content;
  padding: 4px 8px;
  border-radius: 99px;
  font-size: 0.69rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  background: #ff5425;
}

.pdf-document-badge strong { font-size: 1.05rem; overflow-wrap: anywhere; }
.pdf-document-badge small { color: rgba(255, 255, 255, 0.72); line-height: 1.35; }

.pdf-export-settings fieldset {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
}

.pdf-export-settings legend {
  margin-bottom: 9px;
  color: #173d2b;
  font-weight: 900;
}

.pdf-option {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid #dce6de;
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.pdf-option:hover {
  border-color: #8db69c;
  box-shadow: 0 7px 18px rgba(23, 61, 43, 0.07);
  transform: translateY(-1px);
}

.pdf-option input { margin-top: 3px; accent-color: #1f7845; }
.pdf-option span { display: grid; gap: 2px; min-width: 0; }
.pdf-option strong { color: #173d2b; font-size: 0.86rem; }
.pdf-option small { color: #718077; font-size: 0.74rem; line-height: 1.35; }

.pdf-density-label {
  display: grid;
  gap: 7px;
  margin-top: 17px;
  color: #173d2b;
  font-size: 0.82rem;
  font-weight: 900;
}

.pdf-density-label select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #cbdacf;
  border-radius: 12px;
  background: #fff;
}

.pdf-quality-note {
  margin-top: 18px;
  padding: 13px 14px;
  border-left: 4px solid #e1a733;
  border-radius: 10px;
  background: #fff7df;
  color: #5f4a16;
}

.pdf-quality-note strong { display: block; margin-bottom: 4px; font-size: 0.8rem; }
.pdf-quality-note p { margin: 0; font-size: 0.74rem; line-height: 1.45; }

.pdf-preview-panel {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  padding: 18px;
  background:
    radial-gradient(circle at 85% 10%, rgba(98, 166, 116, 0.13), transparent 28%),
    #e4e9e4;
}

.pdf-preview-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 4px 12px;
  color: #506057;
  font-size: 0.78rem;
}

.pdf-preview-toolbar > div { display: flex; align-items: center; gap: 8px; }
.pdf-preview-dot { width: 9px; height: 9px; border-radius: 50%; background: #40a260; box-shadow: 0 0 0 4px rgba(64, 162, 96, 0.15); }

#dietPlanPdfPreview {
  width: 100%;
  height: 100%;
  min-height: 420px;
  border: 0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(28, 47, 36, 0.18);
}

.pdf-dialog-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 15px 22px;
  background: #fff;
  border-top: 1px solid #dbe5dc;
}

.pdf-dialog-actions .message { margin: 0; }

@media (max-width: 860px) {
  .pdf-export-dialog[open] { width: 100vw; height: 100dvh; max-height: none; border-radius: 0; }
  .pdf-export-workbench { grid-template-columns: 1fr; grid-template-rows: auto minmax(420px, 1fr); overflow-y: auto; }
  .pdf-export-settings { max-height: 44dvh; border-right: 0; border-bottom: 1px solid #dbe5dc; }
  .pdf-preview-panel { min-height: 520px; }
  .pdf-dialog-actions { grid-template-columns: 1fr; }
  .pdf-dialog-actions .dialog-action-buttons { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .pdf-dialog-actions .dialog-action-buttons .primary { grid-column: 1 / -1; }
}
