: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); }
.topbar-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; }
.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; }
.pantry-summary-card { margin-bottom:16px; padding:16px; background:#f5f7fa; }
.pantry-stats-grid { margin-bottom:16px; }
.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; }
.clipboard-fallback-input { position:fixed; inset:0 auto auto 0; width:1px; height:1px; opacity:0; pointer-events:none; }
.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; }
.admin-heading-actions { justify-content:flex-end; margin-top:0; }
.bug-report-toolbar { display:grid; grid-template-columns:minmax(190px,300px) auto minmax(0,1fr); align-items:end; gap:14px; margin-bottom:20px; padding:18px 20px; }
.bug-report-toolbar label { margin:0; }
.bug-report-toolbar .message { align-self:center; margin:0; }
.bug-report-list { display:grid; gap:14px; }
.bug-report-card { border-left:5px solid #d48a24; }
.bug-report-card[data-severity="Alta"],.bug-report-card[data-severity="Critica"] { border-left-color:#c74337; }
.bug-report-card[data-status="resolved"] { border-left-color:var(--green); }
.bug-report-card[data-status="dismissed"] { border-left-color:#89938d; opacity:.88; }
.bug-report-card .request-text { white-space:pre-wrap; }
.bug-report-device { margin:14px 0 0; padding:12px 14px; border-radius:12px; color:#455c50; background:#f4f7f2; font:500 .76rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap:anywhere; white-space:pre-wrap; }
.bug-report-photo { margin-top:14px; }
.bug-report-photo img { display:block; width:min(100%,760px); max-height:560px; object-fit:contain; border:1px solid var(--line); border-radius:12px; background:#eef2ee; }
.admin-console { width:100%; max-width:none; padding:0; }
.admin-console-layout { min-height:calc(100vh - 72px); display:grid; grid-template-columns:248px minmax(0,1fr); }
.admin-console-sidebar { display:flex; flex-direction:column; min-height:calc(100vh - 72px); padding:26px 18px 22px; color:white; background:#102f22; border-right:1px solid rgba(255,255,255,.08); }
.admin-console-brand { display:flex; align-items:center; gap:11px; padding:0 10px 24px; border-bottom:1px solid rgba(255,255,255,.1); }
.admin-console-brand strong,.admin-console-brand small { display:block; }
.admin-console-brand strong { font-size:1rem; letter-spacing:.02em; }
.admin-console-brand small { margin-top:2px; color:#9db6a7; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.admin-console-mark { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; border-radius:11px; color:#173d2b; background:#b8e1bd; font-weight:950; }
.admin-console-nav { display:grid; gap:5px; margin-top:22px; }
.admin-console-nav-item { display:grid; grid-template-columns:26px minmax(0,1fr); align-items:center; gap:9px; min-height:46px; padding:10px 12px; border:0; border-radius:11px; color:#bcd0c3; background:transparent; text-align:left; font-weight:750; }
.admin-console-nav-item > span:first-child { width:25px; height:25px; display:grid; place-items:center; border-radius:8px; background:rgba(255,255,255,.07); font-size:.82rem; }
.admin-console-nav-item:hover { color:white; background:rgba(255,255,255,.06); }
.admin-console-nav-item.active { color:white; background:rgba(255,255,255,.13); box-shadow:inset 3px 0 #b8e1bd; }
.admin-console-nav-item.active > span:first-child { color:#173d2b; background:#b8e1bd; }
.admin-console-security { margin:auto 8px 0; padding-top:22px; color:#88a493; font-size:.72rem; line-height:1.5; }
.admin-console-workspace { min-width:0; padding:42px clamp(24px,4vw,64px) 80px; background:linear-gradient(180deg,#f7f9f6 0,#f2f6f1 100%); }
.admin-console-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; max-width:1500px; margin:0 auto 28px; }
.admin-console-header h1 { margin:8px 0 6px; color:var(--ink); font-size:clamp(2rem,3.3vw,3rem); line-height:1; letter-spacing:-.04em; }
.admin-console-header p { max-width:720px; margin:0; color:var(--muted); line-height:1.55; }
.admin-console-section { max-width:1500px; margin:0 auto; }
.admin-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:22px; margin-bottom:20px; }
.admin-section-heading h2 { margin:0 0 7px; color:var(--ink); font-size:1.38rem; }
.admin-section-heading p { margin:0; color:var(--muted); line-height:1.5; }
.admin-console-section[data-admin-panel="overview"] { padding:28px; border:1px solid var(--line); border-radius:20px; background:white; box-shadow:0 16px 45px rgba(28,64,43,.06); }
.admin-console-section[data-admin-panel="overview"] > .message { margin:18px 0 0; }
.admin-list-toolbar { display:grid; grid-template-columns:minmax(230px,1.5fr) minmax(170px,.7fr) 110px auto; align-items:end; gap:13px; padding:16px 18px; border-radius:16px; box-shadow:0 10px 30px rgba(28,64,43,.045); }
.admin-list-toolbar label { margin:0; font-size:.75rem; }
.admin-list-toolbar :is(input,select) { min-height:42px; padding-block:8px; }
.admin-list-toolbar .button { min-height:42px; }
.admin-list-status { min-height:22px; margin:14px 2px 10px; color:var(--muted); font-size:.78rem; }
.admin-record-list { display:grid; gap:9px; }
.admin-record { overflow:hidden; border:1px solid var(--line); border-radius:14px; background:white; box-shadow:0 7px 22px rgba(28,64,43,.035); }
.admin-record[open] { border-color:#bfd1c2; box-shadow:0 14px 32px rgba(28,64,43,.07); }
.admin-record > summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,auto) 150px; align-items:center; gap:18px; min-height:76px; padding:14px 48px 14px 18px; cursor:pointer; list-style:none; position:relative; }
.admin-record > summary::-webkit-details-marker { display:none; }
.admin-record > summary::after { content:"⌄"; position:absolute; right:18px; color:#73877b; font-size:1.15rem; transition:transform .18s ease; }
.admin-record[open] > summary::after { transform:rotate(180deg); }
.admin-record > summary:hover { background:#f8faf7; }
.admin-record-primary { min-width:0; }
.admin-record-primary strong,.admin-record-primary span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-record[open] .admin-record-primary strong { white-space:normal; }
.admin-record-primary strong { color:var(--ink); font-size:.94rem; }
.admin-record-primary span { margin-top:5px; color:var(--muted); font-size:.78rem; }
.admin-record time { color:var(--muted); text-align:right; font-size:.75rem; }
.admin-status-pill { display:inline-flex; align-items:center; justify-content:center; min-height:27px; width:max-content; max-width:160px; padding:4px 10px; border-radius:999px; color:#785414; background:#fff4d7; font-size:.68rem; font-weight:850; }
.admin-status-pill[data-status="approved"],.admin-status-pill[data-status="done"],.admin-status-pill[data-status="resolved"] { color:#25643a; background:#e8f5e9; }
.admin-status-pill[data-status="rejected"],.admin-status-pill[data-status="dismissed"] { color:#77413d; background:#f5e9e7; }
.admin-status-pill[data-status="planned"],.admin-status-pill[data-status="contacted"],.admin-status-pill[data-status="in_progress"] { color:#315b85; background:#eaf2fb; }
.admin-record-content { padding:18px; border-top:1px solid var(--line); background:#fbfcfa; }
.admin-record-details { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0; }
.admin-record-details > div { min-width:0; padding:12px; border:1px solid #e4ebe5; border-radius:10px; background:white; }
.admin-record-details dt { color:var(--muted); font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.admin-record-details dd { margin:5px 0 0; color:var(--ink); font-size:.83rem; font-weight:700; overflow-wrap:anywhere; }
.admin-record .request-text { margin:14px 0 0; padding:14px; border:1px solid #e4ebe5; border-radius:10px; color:var(--ink); background:white; line-height:1.55; white-space:pre-wrap; }
.food-evidence-gallery { margin-top:16px; }
.food-evidence-gallery h3 { margin:0 0 9px; color:var(--ink); font-size:.82rem; }
.food-evidence-grid { display:grid; grid-template-columns:repeat(2,minmax(0,240px)); gap:12px; }
.food-evidence-grid a { display:grid; gap:7px; color:var(--ink); font-size:.75rem; font-weight:800; text-decoration:none; }
.food-evidence-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; border:1px solid #dce6de; border-radius:10px; background:white; }
.food-validation-panel { margin-top:16px; padding:14px 16px; border:1px solid #b8d6c1; border-radius:14px; background:#f2faf4; }
.food-validation-panel.is-invalid { border-color:#e4b2aa; background:#fff4f1; }
.food-validation-panel h3,.food-validation-panel p { margin:0; }
.food-validation-panel ul { margin:8px 0 0; padding-left:20px; }
.admin-record[data-severity="Alta"],.admin-record[data-severity="Critica"] { border-left:4px solid #c74337; }
.admin-empty-state,.admin-list-loading { min-height:180px; display:grid; place-items:center; padding:28px; border:1px dashed #bfd0c2; border-radius:16px; color:var(--muted); background:rgba(255,255,255,.72); text-align:center; }
.admin-empty-state.error { color:#9c2923; border-color:#efcbc8; background:#fff4f3; }
.admin-pagination { display:flex; align-items:center; justify-content:flex-end; gap:14px; margin-top:16px; padding:12px 14px; border:1px solid var(--line); border-radius:13px; background:white; }
.admin-pagination span { min-width:120px; color:var(--muted); text-align:center; font-size:.78rem; font-weight:750; }
@media (max-width:1050px) {
  .admin-console-layout { grid-template-columns:1fr; }
  .admin-console-sidebar { min-height:0; padding:12px 18px; position:sticky; top:72px; z-index:4; }
  .admin-console-brand,.admin-console-security { display:none; }
  .admin-console-nav { display:flex; gap:6px; margin:0; overflow-x:auto; scrollbar-width:thin; }
  .admin-console-nav-item { flex:0 0 auto; grid-template-columns:24px auto; min-height:42px; padding:8px 12px; }
  .admin-console-nav-item.active { box-shadow:inset 0 -3px #b8e1bd; }
  .admin-record-details { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .admin-console-workspace { padding:30px 14px 60px; }
  .admin-list-toolbar { grid-template-columns:minmax(0,1fr) minmax(130px,.65fr); }
  .admin-list-toolbar > label:first-child { grid-column:1/-1; }
  .admin-list-toolbar .button { width:100%; }
  .admin-record > summary { grid-template-columns:minmax(0,1fr) auto; gap:11px; padding-right:42px; }
  .admin-record time { grid-column:1/-1; text-align:left; }
  .admin-record-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:500px) {
  .admin-console-nav-item { grid-template-columns:1fr; min-width:62px; text-align:center; }
  .admin-console-nav-item > span:first-child { margin:auto; }
  .admin-console-nav-item > span:last-child { font-size:.68rem; }
  .admin-console-section[data-admin-panel="overview"] { padding:18px 14px; }
  .admin-section-heading { align-items:stretch; flex-direction:column; }
  .admin-section-heading .button { width:100%; }
  .admin-list-toolbar { grid-template-columns:1fr 92px; padding:13px; }
  .admin-list-toolbar > label:first-child,.admin-list-toolbar .button { grid-column:1/-1; }
  .admin-record-details { grid-template-columns:1fr; }
  .admin-pagination { justify-content:space-between; gap:6px; }
  .admin-pagination .button { padding-inline:11px; }
  .admin-pagination span { min-width:0; }
}

/* Sala operativa Start up */
.startup-control-room { min-width:0; }
.startup-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:28px; padding:30px; border-radius:24px; color:white; background:linear-gradient(135deg,#102f22 0%,#194f36 62%,#246b46 100%); box-shadow:0 20px 54px rgba(16,47,34,.16); }
.startup-hero .eyebrow { color:#b8e1bd; }
.startup-hero h2 { max-width:780px; margin:8px 0 10px; color:white; font-size:clamp(1.85rem,3vw,2.7rem); line-height:1.05; letter-spacing:-.035em; }
.startup-hero p { max-width:880px; margin:0; color:#d2e4d8; line-height:1.62; }
.startup-hero .button { color:#173d2b; background:#d8f0dc; border-color:#d8f0dc; }
.startup-control-room > .message { margin:14px 3px 0; }
.startup-metric-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin:16px 0 34px; }
.startup-metric { min-width:0; padding:17px 16px; border:1px solid var(--line); border-radius:16px; background:white; box-shadow:0 8px 26px rgba(28,64,43,.04); }
.startup-metric span,.startup-metric small,.startup-metric strong { display:block; overflow-wrap:anywhere; }
.startup-metric span { color:var(--muted); font-size:.7rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.startup-metric strong { margin:9px 0 6px; color:var(--ink); font-size:1.55rem; line-height:1; }
.startup-metric small { color:var(--muted); font-size:.72rem; line-height:1.4; }
.startup-section { min-width:0; margin-top:22px; }
.startup-section-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:15px; }
.startup-section-heading > div { min-width:0; }
.startup-section-heading h3 { margin:5px 0 5px; color:var(--ink); font-size:1.35rem; }
.startup-section-heading p { margin:0; color:var(--muted); font-size:.86rem; line-height:1.5; }
.startup-role-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.startup-role-card { min-width:0; display:grid; align-content:start; gap:16px; padding:22px; border:1px solid var(--line); border-radius:19px; background:white; box-shadow:0 10px 32px rgba(28,64,43,.045); }
.startup-role-heading { display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; }
.startup-role-number { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:#235b39; background:#e7f3e8; font-size:.72rem; font-weight:900; letter-spacing:.08em; }
.startup-role-heading h4 { margin:1px 0 6px; color:var(--ink); font-size:1.05rem; }
.startup-role-heading p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.5; }
.startup-connection-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.startup-connection { min-width:0; padding:10px 11px; border:1px solid #e1e9e2; border-radius:11px; background:#f8faf7; }
.startup-connection b,.startup-connection small { display:block; overflow-wrap:anywhere; }
.startup-connection b { color:#385448; font-size:.7rem; }
.startup-connection small { margin-top:3px; color:var(--muted); font-size:.66rem; }
.startup-role-tools,.startup-role-actions,.startup-record-actions,.startup-record-facts { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.startup-tool-chip { max-width:100%; padding:5px 9px; border-radius:999px; color:#315b85; background:#eaf2fb; font-size:.69rem; font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-decoration:none; }
.startup-no-tool,.startup-source-note { color:var(--muted); font-size:.72rem; font-style:italic; }
.startup-role-actions { margin-top:auto; padding-top:2px; }
.startup-operations-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:26px; }
.startup-workstream { min-width:0; margin:0; padding:20px; border:1px solid var(--line); border-radius:19px; background:rgba(255,255,255,.9); }
.startup-workstream .startup-section-heading { align-items:flex-start; }
.startup-filter-row { display:flex; gap:6px; margin:0 0 13px; padding-bottom:3px; overflow-x:auto; scrollbar-width:thin; }
.startup-filter { flex:0 0 auto; min-height:34px; padding:6px 10px; border:1px solid var(--line); border-radius:999px; color:#5e7166; background:white; font-size:.7rem; font-weight:800; }
.startup-filter.active { color:white; background:#245d3c; border-color:#245d3c; }
.startup-record-stack { display:grid; gap:8px; }
.startup-record { min-width:0; padding:14px; border:1px solid #e0e8e1; border-radius:13px; background:white; }
.startup-task-record { border-left:4px solid #d0a54e; }
.startup-task-record[data-priority="critical"] { border-left-color:#bd3e35; }
.startup-task-record[data-priority="high"] { border-left-color:#d67532; }
.startup-task-record[data-priority="low"] { border-left-color:#7da98a; }
.startup-record-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.startup-record-heading > div { min-width:0; }
.startup-record-heading strong,.startup-record-heading small { display:block; overflow-wrap:anywhere; }
.startup-record-heading strong { color:var(--ink); font-size:.88rem; }
.startup-record-heading small,.startup-record-heading time { margin-top:4px; color:var(--muted); font-size:.68rem; line-height:1.4; }
.startup-record-heading time { flex:0 0 auto; }
.startup-record-copy { margin:10px 0 0; color:#455c50; font-size:.78rem; line-height:1.52; white-space:pre-wrap; overflow-wrap:anywhere; }
.startup-record-facts { margin-top:10px; }
.startup-record-facts span { padding:5px 8px; border-radius:8px; color:#557064; background:#f1f5f1; font-size:.66rem; overflow-wrap:anywhere; }
.startup-record-actions { justify-content:flex-end; margin-top:12px; padding-top:11px; border-top:1px solid #edf1ed; }
.startup-status-select { width:auto; min-height:36px; margin-right:auto; padding:7px 28px 7px 10px; font-size:.72rem; }
.startup-priority { flex:0 0 auto; padding:5px 8px; border-radius:999px; color:#77500f; background:#fff2d3; font-size:.64rem; font-weight:850; }
.startup-priority[data-priority="critical"] { color:#8f2f29; background:#fde9e7; }
.startup-priority[data-priority="high"] { color:#884314; background:#ffeddf; }
.startup-priority[data-priority="low"] { color:#315f40; background:#e8f4ea; }
.startup-empty { min-height:104px; display:grid; place-items:center; padding:20px; border:1px dashed #bfd0c2; border-radius:13px; color:var(--muted); background:#fbfcfa; text-align:center; font-size:.78rem; line-height:1.5; }
.startup-brief-record .startup-record-heading small { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.startup-dialog { max-height:calc(100dvh - max(28px,env(safe-area-inset-top)) - max(28px,env(safe-area-inset-bottom))); overflow:auto; }
.startup-dialog form { margin:0; }
.startup-dialog-body { padding-bottom:max(24px,env(safe-area-inset-bottom)); }
.startup-role-fieldset { margin:14px 0 18px; padding:14px; border:1px solid var(--line); border-radius:13px; }
.startup-role-fieldset legend { padding:0 5px; color:var(--muted); font-size:.76rem; font-weight:800; }
.startup-role-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.startup-role-option { display:flex; align-items:flex-start; gap:8px; margin:0; padding:8px; border-radius:9px; background:#f5f8f4; font-size:.75rem; line-height:1.35; }
.startup-role-option input { width:auto; margin:2px 0 0; }
.startup-brief-dialog { width:min(900px,calc(100% - 28px)); }
.startup-brief-summary { margin:10px 0 12px; color:var(--ink); font-size:1.08rem; line-height:1.65; }
.startup-ai-provenance { padding:11px 13px; border-radius:11px; color:#5a4764; background:#f5eef8; font-size:.72rem; line-height:1.45; }
.startup-brief-section { margin-top:22px; }
.startup-brief-section h3 { margin:0 0 10px; color:var(--ink); font-size:1.05rem; }
.startup-brief-section ul { margin:0; padding-left:20px; color:#455c50; font-size:.82rem; line-height:1.55; }
.startup-opportunity { margin-top:9px; padding:15px; border:1px solid #dfe9e1; border-radius:13px; background:#f9fbf8; }
.startup-opportunity > strong { color:var(--ink); }
.startup-opportunity > p { margin:7px 0 0; color:#455c50; font-size:.8rem; line-height:1.5; }
.startup-opportunity .button { margin-top:12px; }
.startup-next-action { padding:10px; border-radius:9px; background:white; }

@media (max-width:1250px) {
  .startup-metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .startup-role-grid,.startup-operations-grid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .startup-hero { grid-template-columns:1fr; padding:23px 19px; }
  .startup-hero .button { width:100%; }
  .startup-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .startup-section-heading { align-items:stretch; flex-direction:column; }
  .startup-section-heading .button { width:100%; }
  .startup-workstream { padding:17px 14px; }
  .startup-role-options { grid-template-columns:1fr; }
}
@media (max-width:430px) {
  .startup-metric-grid { grid-template-columns:1fr; }
  .startup-role-card { padding:17px 14px; }
  .startup-connection-list { grid-template-columns:1fr; }
  .startup-role-actions .button,.startup-record-actions .button,.startup-record-actions a.button { flex:1; text-align:center; }
  .startup-record-heading { flex-direction:column; }
  .startup-record-actions { align-items:stretch; }
  .startup-status-select { width:100%; margin-right:0; }
  .startup-dialog { width:calc(100% - 16px); max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom))); }
  .startup-dialog .dialog-header,.startup-dialog .appointment-form-body,.startup-dialog .dialog-actions { padding-left:14px; padding-right:14px; }
}
.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:1160px; margin:0 auto 44px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:clamp(28px,5vw,72px); align-items:center; text-align:left; }
.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; }
.pricing-hero figure { margin:0; overflow:hidden; border:1px solid #d7e4d8; border-radius:30px; background:#fff; box-shadow:0 24px 62px rgba(23,61,43,.12); transform:rotate(1.5deg); }
.pricing-hero figure img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.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:700px) { .bug-report-toolbar { grid-template-columns:1fr; align-items:stretch; } .bug-report-toolbar .button { width:100%; } }
@media (max-width:980px) { .pricing-hero { grid-template-columns:1fr; max-width:720px; text-align:center; } .pricing-hero figure { width:min(100%,480px); margin-inline:auto; } .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; }
.homepage-real-screen { grid-area:stage; align-self:center; width:min(100%,520px); margin:0 auto; padding:20px; border:1px solid #d6e2d9; border-radius:32px; background:linear-gradient(145deg,#edf5ef,#dce9df); box-shadow:0 30px 70px rgba(20,61,42,.15); }
.homepage-real-screen a { display:block; width:min(100%,330px); margin:0 auto; }
.homepage-real-screen img { display:block; width:100%; height:auto; max-height:610px; object-fit:contain; border-radius:24px; box-shadow:0 18px 42px rgba(11,39,25,.18); }
.homepage-real-screen figcaption { display:grid; gap:5px; margin-top:16px; padding:15px 17px; border-radius:17px; background:rgba(255,255,255,.9); color:#41584c; line-height:1.45; }
.homepage-real-screen figcaption strong { color:#173d2b; font-size:.88rem; }
.homepage-real-screen figcaption span { font-size:.78rem; }
.public-home .homepage-real-screen { width:min(100%,460px); }
.public-home .homepage-real-screen a { width:min(100%,285px); }
.public-home .homepage-real-screen img { max-height:525px; }
.bite-hero-stage { grid-area:stage; position:relative; min-height:650px; isolation:isolate; }
.bite-hero-glow { position:absolute; inset:7% 2% 4% 7%; z-index:-1; border-radius:43% 57% 49% 51%; background:linear-gradient(135deg,#d8efdb,#f5f0db 48%,#ffe2d7); transform:rotate(-3deg); }
.bite-hero-art { position:absolute; inset:18px 74px 76px 0; margin:0; overflow:hidden; border:1px solid rgba(42,76,58,.15); border-radius:34px; background:#fff; box-shadow:0 34px 85px rgba(18,52,35,.18); transform:rotate(-1.5deg); }
.bite-hero-art img { display:block; width:100%; height:100%; object-fit:cover; }
.bite-real-screen { position:absolute; right:0; bottom:0; z-index:2; width:190px; padding:9px; border:6px solid #173d2b; border-radius:28px; color:#fff; background:#173d2b; box-shadow:0 28px 55px rgba(15,47,30,.28); text-decoration:none; transform:rotate(3deg); }
.bite-real-screen img { display:block; width:100%; height:330px; object-fit:cover; object-position:top; border-radius:18px; }
.bite-real-screen span { display:block; padding:9px 4px 3px; font-size:.66rem; font-weight:800; text-align:center; }
.bento-bite-art { width:min(100%,380px); aspect-ratio:1; justify-self:end; object-fit:cover; border-radius:24px; box-shadow:0 18px 42px rgba(23,61,43,.13); }
.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}
.app-life-copy>.button { margin-top:24px; }
.homepage-product-detail { width:min(100%,390px); margin:0 auto; padding:14px; border-radius:28px; background:#fff; box-shadow:0 26px 60px rgba(0,0,0,.22); }
.homepage-product-detail img { display:block; width:100%; height:auto; max-height:590px; object-fit:contain; border-radius:19px; }
.homepage-product-detail figcaption { padding:11px 7px 3px; color:#173d2b; font-size:.76rem; font-weight:800; text-align:center; }
.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}
.patient-analysis-suite{display:grid;gap:18px;min-width:0}.analysis-suite-heading{padding:8px 8px 0}.analysis-suite-heading h2{max-width:760px;margin:8px 0 6px;color:#173d2b;font-size:clamp(1.65rem,2.2vw,2.3rem)}.analysis-suite-heading p{max-width:72ch;margin:0;color:#61746a;line-height:1.55}.patient-chart-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.patient-chart-card{grid-column:span 6;min-width:0;padding:clamp(24px,2.4vw,34px);overflow:hidden}.patient-chart-card.chart-full{grid-column:1/-1}.chart-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.chart-card-heading>div{min-width:0}.chart-card-heading h3{margin:6px 0 0;color:#173d2b;font-size:clamp(1.15rem,1.4vw,1.48rem)}.chart-card-heading p{max-width:68ch;margin:8px 0 0;color:#63766b;font-size:.78rem;line-height:1.5}.chart-summary{flex:0 0 auto;max-width:230px;padding:8px 11px;border-radius:11px;color:#245c3c;background:#edf6eb;font-size:.72rem;text-align:right;overflow-wrap:anywhere}.clinical-chart{min-height:270px;min-width:0}.clinical-chart>svg{display:block;width:100%;height:auto;overflow:visible}.chart-grid-line{stroke:#e2ebe3;stroke-width:1}.chart-reference-line{stroke:#dc9a36;stroke-width:2;stroke-dasharray:7 6}.chart-axis-label{fill:#718178;font-size:11px}.chart-series{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-series.series-0{stroke:#2f8d54}.chart-series.series-1{stroke:#267fa2}.chart-series.series-2{stroke:#7c5db8}.chart-point{stroke:#fff;stroke-width:2}.chart-point.series-0{fill:#2f8d54}.chart-point.series-1{fill:#267fa2}.chart-point.series-2{fill:#7c5db8}.clinical-chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;color:#61736a;font-size:.7rem}.clinical-chart-legend span{display:flex;align-items:center;gap:6px}.clinical-chart-legend i{width:10px;height:10px;border-radius:50%;background:#2f8d54}.clinical-chart-legend i.series-1{background:#267fa2}.clinical-chart-legend i.series-2{background:#7c5db8}.clinical-chart-legend i.reference{height:2px;border-radius:0;background:#dc9a36}.chart-empty{min-height:220px;display:grid;place-items:center;padding:24px;border:1px dashed #cddbcf;border-radius:16px;color:#738078;background:#f8faf7;text-align:center}.movement-chart-group{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:start;gap:10px;border-top:1px solid #e3ebe4;padding-top:10px}.movement-chart-group:first-child{border-top:0;padding-top:0}.movement-chart-group>strong{padding-top:16px;color:#2a6241;font-size:.75rem}.movement-mini-chart{min-width:0}.movement-mini-chart svg{max-height:165px}.movement-mini-chart .clinical-chart-legend{display:none}.movement-mini-chart .chart-empty{min-height:130px}.patient-chart-card:has(.movement-chart-group) .clinical-chart{display:grid;gap:12px}.nutrient-spark-card{min-width:0;padding:17px;border:1px solid #dbe6dc;border-radius:16px;background:#f9fcf8}.nutrient-spark-heading{display:flex;justify-content:space-between;gap:12px}.nutrient-spark-heading strong{color:#173d2b}.nutrient-spark-heading span,.nutrient-spark-card small{color:#65786d;font-size:.68rem}.nutrient-spark-chart{min-width:0}.nutrient-spark-chart svg{max-height:180px}.nutrient-spark-chart .clinical-chart-legend{display:none}#monitoringClinicalNutrientChart{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px;min-height:0}.timeline-full{max-height:none;padding:clamp(26px,2.6vw,38px)}.timeline-full .patient-timeline{max-height:650px;overflow:auto;padding-right:18px}.monitoring-workspace>.panel,.monitoring-workspace>.monitoring-clinical-grid>.panel{scroll-margin-top:24px}.monitoring-workspace :where(.panel-heading,.chart-card-heading,.analysis-suite-heading)>div{min-width:0}.monitoring-workspace :where(.panel-heading p,.chart-card-heading p,.analysis-suite-heading p){padding-right:clamp(4px,1vw,14px)}
.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:900px){.patient-chart-card{grid-column:1/-1}.chart-card-heading{gap:14px}.timeline-full .patient-timeline{max-height:none;overflow:visible;padding-right:0}}
@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}}
@media(max-width:620px){.patient-chart-grid{gap:13px}.patient-chart-card{padding:22px 18px}.chart-card-heading{display:grid}.chart-summary{max-width:none;text-align:left}.clinical-chart{min-height:220px}.movement-chart-group{grid-template-columns:1fr}.movement-chart-group>strong{padding-top:4px}#monitoringClinicalNutrientChart{grid-template-columns:1fr}.analysis-suite-heading{padding-inline:3px}.timeline-full{padding:22px 18px}}

/* 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}}
@media(max-width:1050px){.content-view.admin-console{width:100%;min-width:0;padding:0}.admin-console-layout{grid-template-columns:minmax(0,1fr)}.admin-console-sidebar,.admin-console-workspace{min-width:0}.admin-console-nav{max-width:100%}}
.admin-console-nav{scrollbar-width:none}.admin-console-nav::-webkit-scrollbar{display:none}
/* 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; }
}

.role-summary {
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(280px,1.6fr) auto;
  align-items:center;
  gap:22px;
  margin:0 0 22px;
  padding:22px 24px;
  border-left:5px solid var(--green);
}
.role-summary-heading h2 { margin:5px 0 0; color:var(--ink); font-size:1.35rem; }
.role-focus-list { display:flex; flex-wrap:wrap; gap:8px; }
.role-focus-list span { padding:8px 11px; border-radius:999px; color:#315c42; background:#edf5ed; font-size:.77rem; font-weight:750; }
.specialty-focus-panel { margin-bottom:20px; padding:24px; }
.specialty-focus-panel > h2 { margin:0 0 17px; color:var(--ink); }
.specialty-focus-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.specialty-focus-card { display:flex; align-items:center; gap:12px; min-height:78px; padding:15px; border:1px solid var(--line); border-radius:15px; background:#f8fbf7; }
.specialty-focus-card strong { color:#8aa493; font-size:1.3rem; }
.specialty-focus-card span { color:var(--ink); font-weight:800; line-height:1.35; }
.nephrology-safety { margin:0 0 20px; }
.nephrology-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.nephrology-tool { min-width:0; padding:23px; }
.nephrology-tool .panel-heading { margin-bottom:18px; }
.nephrology-tool h2 { margin:5px 0 0; color:var(--ink); }
.nephrology-tool h3 { margin:4px 0 12px; color:var(--ink); font-size:.96rem; }
.clinical-tool-form { display:grid; gap:14px; }
.inline-tool-form + .clinical-calculation-result { margin-bottom:20px; }
.clinical-input-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.clinical-input-grid label { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 8px; color:var(--ink); font-size:.78rem; font-weight:850; }
.clinical-input-grid label span { color:var(--muted); font-size:.68rem; font-weight:700; }
.clinical-input-grid :is(input,select) { grid-column:1/-1; width:100%; min-height:43px; border:1px solid #cbdacf; border-radius:11px; background:#fff; padding:8px 10px; }
.clinical-tool-form > .button { justify-self:start; }
.clinical-calculation-result { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:15px; padding:14px; border:1px solid #cce0d0; border-radius:14px; color:#355240; background:#f0f7ef; font-size:.78rem; line-height:1.45; }
.clinical-calculation-result > div { padding:9px; border-radius:10px; background:#fff; }
.clinical-calculation-result span,.clinical-calculation-result strong { display:block; }
.clinical-calculation-result strong { margin-top:3px; color:var(--ink); font-size:.94rem; }
.clinical-calculation-result p,.clinical-calculation-result ul { grid-column:1/-1; margin:3px 0 0; }
.clinical-calculation-result.error { border-color:#efb8b3; color:#8d2920; background:#fff0ee; }
.clinical-caveat,.unit-note { margin:14px 0 0; color:var(--muted); font-size:.75rem; line-height:1.55; }
.electrolyte-reference { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.electrolyte-reference table,.infusion-table { width:100%; border-collapse:collapse; font-size:.75rem; }
.electrolyte-reference th,.electrolyte-reference td,.infusion-table th,.infusion-table td { padding:10px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap; }
.electrolyte-reference thead th,.infusion-table thead th { color:var(--ink); background:#eef4ed; font-weight:900; }
.safety-checklist { display:grid; gap:9px; }
.safety-checklist .consent-row { margin:0; padding:9px 10px; border:1px solid var(--line); border-radius:11px; background:#fafcf9; }
.infusion-catalog,.clinical-sources { margin-top:20px; padding:24px; }
.infusion-catalog .section-heading { align-items:end; }
.infusion-catalog .section-heading input { width:min(320px,100%); min-height:44px; border:1px solid #cbdacf; border-radius:12px; padding:10px 12px; }
.infusion-table input { width:90px; min-height:36px; border:1px solid #cbdacf; border-radius:9px; padding:6px 8px; }
.infusion-table tbody tr:hover { background:#fafcf9; }
.clinical-source-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.clinical-source-links a { padding:11px 12px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:#fafcf9; font-size:.78rem; font-weight:800; text-decoration:none; }
.clinical-source-links a:hover { border-color:#8db69c; color:var(--green); }

@media (max-width: 1050px) {
  .nephrology-grid { grid-template-columns:1fr; }
  .role-summary { grid-template-columns:1fr; }
  .role-summary .button { justify-self:start; }
}

@media (max-width: 700px) {
  .specialty-focus-grid,.clinical-input-grid,.clinical-source-links { grid-template-columns:1fr; }
  .clinical-calculation-result { grid-template-columns:1fr; }
  .infusion-catalog,.clinical-sources,.nephrology-tool { padding:18px; }
}

/* Responsive shell and spacing system shared by every portal page. */
:root {
  --page-gutter: clamp(20px, 4vw, 64px);
  --page-gutter-compact: clamp(14px, 4vw, 24px);
  --workspace-max: 1440px;
  --panel-space: clamp(20px, 2.2vw, 30px);
}

html { min-width:0; }
body { min-width:0; overflow-x:clip; }
img,svg,video,canvas { max-width:100%; }

.dashboard-main {
  width:100%;
  min-width:0;
  padding:clamp(34px, 4vw, 56px) var(--page-gutter) clamp(64px, 7vw, 96px);
  overflow:clip;
}

.dashboard-section {
  width:min(100%, var(--workspace-max));
  min-width:0;
  margin-inline:auto;
}

.page-heading,
.section-heading { min-width:0; }
.page-heading p,
.section-heading p {
  max-width:78ch;
  line-height:1.6;
  text-wrap:pretty;
}
.section-heading > div:first-child { min-width:0; }
.section-heading > .button-row {
  flex:0 0 auto;
  margin-top:0;
}

.panel-heading { min-width:0; }
.panel-heading h2 {
  margin:7px 0 0;
  color:var(--ink);
  font-size:clamp(1.25rem, 1.7vw, 1.55rem);
  line-height:1.2;
}
.panel-heading p {
  max-width:72ch;
  margin:8px 0 0;
  color:var(--muted);
  line-height:1.55;
}

/* These studio cards previously had a border but no inner spacing. */
.practice-tool-card,
.import-practice-card { padding:var(--panel-space); }
.practice-patient-selector label { margin:0; }
.import-practice-card > input { margin-top:18px; }

.seller-workspace > *,
.admin-console-workspace > * {
  width:min(100%, var(--workspace-max));
  margin-inline:auto;
}

.site-footer { align-items:center; }
.site-footer nav { justify-content:flex-end; }

@media (max-width:1100px) {
  .dashboard { grid-template-columns:minmax(0, 1fr); }
  .sidebar {
    position:sticky;
    top:72px;
    z-index:4;
    min-width:0;
    padding:9px var(--page-gutter-compact);
    overflow:hidden;
    border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 10px 26px rgba(15,43,29,.13);
  }
  .sidebar nav {
    position:static;
    display:flex;
    gap:6px;
    max-width:var(--workspace-max);
    margin-inline:auto;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    scroll-snap-type:x proximity;
  }
  .nav-item {
    flex:0 0 auto;
    min-height:42px;
    padding:10px 14px;
    white-space:nowrap;
    scroll-snap-align:start;
  }
  .settings-grid { grid-template-columns:1fr; }
  .section-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:18px;
  }
  .section-heading > .button,
  .section-heading > .button-row { align-self:stretch; }
  .section-heading > .button-row { justify-content:flex-start; }
  .infusion-catalog .section-heading { align-items:flex-start; }
}

@media (max-width:800px) {
  .auth-layout {
    grid-template-columns:minmax(0, 1fr);
    width:100%;
  }
  .auth-layout > * { min-width:0; }
  .dashboard-main { padding-inline:var(--page-gutter-compact); }
  .dashboard-main .metric-grid {
    grid-template-columns:repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  }
  .practice-radar,
  .invite-card,
  .settings-card,
  .previsit-dashboard-grid > .panel,
  .monitoring-clinical-grid > .panel,
  .daily-matrix-panel,
  .practice-tool-card,
  .import-practice-card { padding:clamp(18px, 4vw, 24px); }
  .site-footer { align-items:flex-start; }
  .site-footer nav { justify-content:flex-start; }
}

@media (max-width:620px) {
  .topbar {
    height:64px;
    padding-inline:14px;
  }
  .topbar-actions { gap:6px; }
  .topbar-actions .button { min-height:40px; padding:8px 14px; }
  .sidebar { top:64px; padding-inline:10px; }
  .dashboard-main { padding:28px 14px 56px; }
  .page-heading,
  .section-heading { margin-bottom:22px; }
  .page-heading h1,
  .page-heading.compact h1,
  .section-heading h1 {
    font-size:clamp(2rem, 10vw, 2.65rem);
    line-height:1.02;
  }
  .section-heading > .button-row {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    width:100%;
  }
  .section-heading > .button-row .button { width:100%; padding-inline:12px; }
  .practice-patient-selector { padding:18px; }
  .calendar-info-card { padding:16px; }
  .calendar-info-card > span { flex:0 0 auto; }
  .site-footer {
    padding:22px 14px;
    gap:16px;
  }
  .site-footer nav { gap:12px 16px; }
  .legal-page { padding-inline:14px; }
  .legal-card { padding:24px 18px; }
}

@media (max-width:420px) {
  .brand { gap:8px; }
  .brand-mark { width:36px; height:36px; }
  .brand small { font-size:10px; }
  .section-heading > .button-row { grid-template-columns:1fr; }
  .button-row.left { align-items:stretch; flex-direction:column; }
  .button-row.left .button { width:100%; }
  .appointment-card { gap:14px; padding:16px; }
  .patient-card { padding:17px; }
}

.consultation-assignment-list {
  display:grid;
  gap:16px;
  margin-top:16px;
}

.consultation-privacy-notice { margin-bottom:16px; }

.consultation-assignment-card {
  display:grid;
  gap:18px;
}

.consultation-assignment-card-heading {
  align-items:flex-start;
  display:flex;
  gap:16px;
  justify-content:space-between;
}

.consultation-assignment-card-heading h2,
.consultation-assignment-card-heading p { margin:4px 0 0; }

.consultation-request-details { margin:0; }
.consultation-empty { min-height:144px; }
.consultation-assignment-dialog { max-width:672px; }

.consultation-assignment-summary,
.professional-routing-details {
  background:#f5f8f4;
  border:1px solid #d8e4d8;
  border-radius:14px;
  display:grid;
  gap:6px;
  padding:16px;
}

.consultation-assignment-summary strong,
.professional-routing-details strong {
  color:#173d2b;
  font-size:17px;
}

.professional-routing-details:empty { display:none; }

.professional-routing-workload {
  color:#52665a;
  font-size:14px;
  margin-top:4px;
}

@media (max-width:700px) {
  .consultation-assignment-card-heading {
    align-items:stretch;
    flex-direction:column;
  }
}

/* ---------- Centro post: contenuti social pronti (area admin) ---------- */
.social-posts-list { display: flex; flex-direction: column; gap: 18px; }
.social-topic { padding: 20px 22px; }
.social-topic-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 2px; }
.social-topic-head h3 { margin: 0; font-size: 1.15rem; }
.social-pillar { font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; opacity: .65; }
.social-label { margin: 16px 0 8px; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; opacity: .6; }
.social-strip { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 8px; }
.social-thumb { margin: 0; flex: none; text-align: center; }
.social-thumb img { height: 190px; border-radius: 10px; display: block; border: 1px solid rgba(15, 40, 30, .14); background: #fff; }
.social-thumb figcaption { font-size: .7rem; opacity: .6; margin-top: 4px; }
.social-text-block { border: 1px solid rgba(15, 40, 30, .12); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
.social-text-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.social-text-body { margin: 0; white-space: pre-wrap; font-size: .92rem; line-height: 1.55; }
/* Riga immagini per piattaforma: va a capo, cosi' la copertina YouTube resta sempre visibile. */
.social-strip-wrap { flex-wrap: wrap; overflow-x: visible; }
.social-generator-form { display: grid; gap: 20px; padding: clamp(18px, 3vw, 28px); margin-bottom: 24px; }
.social-generator-intro { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(280px, 1.3fr); gap: 20px; align-items: start; }
.social-generator-intro h3 { margin: 4px 0 0; font-size: clamp(1.2rem, 2vw, 1.55rem); }
.social-generator-intro p { margin: 0; line-height: 1.55; color: var(--muted); }
.social-generator-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.social-generator-grid label { min-width: 0; display: grid; align-content: start; gap: 7px; font-size: .82rem; font-weight: 700; color: var(--ink); }
.social-generator-grid label > span { font-weight: 500; color: var(--muted); }
.social-generator-grid input,
.social-generator-grid select,
.social-generator-grid textarea { width: 100%; min-width: 0; box-sizing: border-box; }
.social-generator-grid textarea { resize: vertical; min-height: 86px; line-height: 1.45; }
.social-generator-grid small { font-size: .74rem; line-height: 1.45; font-weight: 500; color: var(--muted); }
.social-generator-topic,
.social-generator-wide { grid-column: 1 / -1; }
.social-generator-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.social-generator-actions .admin-list-status { margin: 0; flex: 1 1 260px; }
.social-generated-section { margin: 26px 0 34px; }
.social-subheading { margin: 0 0 14px; }
.social-subheading h3 { margin: 0 0 4px; font-size: 1.08rem; }
.social-subheading p { margin: 0; }
.social-generated-card { display: grid; grid-template-columns: minmax(210px, 300px) minmax(0, 1fr); gap: clamp(18px, 3vw, 30px); align-items: start; }
.social-generated-visual { margin: 0; }
.social-generated-visual img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; display: block; border-radius: 12px; border: 1px solid rgba(15, 40, 30, .14); background: #eef4f0; }
.social-generated-copy { min-width: 0; }
.social-generated-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 14px; }
.social-generated-meta span { border: 1px solid rgba(15, 40, 30, .14); border-radius: 999px; padding: 5px 9px; font-size: .72rem; color: var(--muted); }
.social-generated-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.social-generated-audit { margin: 12px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.social-empty-generated { margin-bottom: 28px; }
@media (max-width: 720px) {
  .social-generator-intro,
  .social-generated-card { grid-template-columns: 1fr; }
  .social-generator-grid { grid-template-columns: 1fr; }
  .social-generator-topic,
  .social-generator-wide { grid-column: auto; }
  .social-generator-actions { align-items: stretch; }
  .social-generator-actions .button { width: 100%; min-height: 48px; }
  .social-generated-visual { width: min(100%, 360px); margin-inline: auto; }
  .social-topic { padding: 17px 16px; }
}
@media (max-width: 390px) {
  .social-generator-form { padding: 16px 14px; }
  .social-thumb img { height: 160px; }
  .social-generated-actions .button { flex: 1 1 100%; }
}

/* Public SEO landing pages */
.seo-main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:clamp(30px,5vw,72px) 0 max(72px,calc(52px + env(safe-area-inset-bottom)));color:#173d2b}
.seo-landing .topbar{height:auto;min-height:calc(72px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.seo-landing .site-footer{padding-bottom:max(32px,calc(20px + env(safe-area-inset-bottom)))}
.seo-breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:clamp(26px,4vw,54px);color:#61746a;font-size:.82rem}.seo-breadcrumb a{color:#2d7148;text-decoration:none}.seo-breadcrumb a:hover{text-decoration:underline}.seo-breadcrumb span{overflow-wrap:anywhere}
.seo-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:clamp(34px,6vw,82px);align-items:center;padding:clamp(34px,5vw,68px);border:1px solid #d8e5d9;border-radius:32px;background:linear-gradient(145deg,#fff 0%,#edf6ea 100%);box-shadow:0 24px 80px rgba(23,61,43,.09)}
.seo-hero h1{max-width:820px;margin:12px 0 20px;font-size:clamp(2.5rem,5.4vw,5.4rem);line-height:.98;letter-spacing:-.06em}.seo-hero .lead{max-width:68ch;margin:0;color:#536a5e;font-size:clamp(1rem,1.5vw,1.24rem);line-height:1.7}.seo-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.seo-availability{margin:14px 0 0;color:#60756a;font-size:.88rem;line-height:1.5}.seo-proof{display:grid;gap:12px;margin:0;padding:clamp(22px,3vw,32px);border-radius:24px;color:#fff;background:linear-gradient(145deg,#173d2b,#286844);list-style:none}.seo-proof li{padding:0 0 12px;border-bottom:1px solid rgba(255,255,255,.17);line-height:1.5}.seo-proof li:last-child{padding-bottom:0;border:0}.seo-proof strong{display:block;margin-bottom:3px}
.seo-hero-media{grid-template-columns:minmax(0,1.03fr) minmax(350px,.97fr);align-items:center;overflow:hidden}
.seo-hero-media>.seo-proof{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;overflow:hidden}
.seo-hero-media>.seo-proof li{min-width:0;padding:22px clamp(16px,2.4vw,28px);border-bottom:0;border-right:1px solid rgba(255,255,255,.17);font-size:.88rem}
.seo-hero-media>.seo-proof li:last-child{padding:22px clamp(16px,2.4vw,28px);border-right:0}
.seo-visual{position:relative;min-width:0;margin:0;isolation:isolate}
.seo-visual::before{content:"";position:absolute;z-index:-1;inset:18px -18px -18px 18px;border-radius:30px;background:linear-gradient(145deg,rgba(47,125,74,.2),rgba(255,90,39,.13));filter:blur(1px)}
.seo-visual-frame{position:relative;aspect-ratio:16/11;min-height:0;overflow:hidden;border:1px solid rgba(23,61,43,.14);border-radius:28px;background:#e7efe7;box-shadow:0 28px 70px rgba(23,61,43,.16)}
.seo-visual-frame>img:first-child{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover}
.seo-visual figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;max-width:72%;padding:15px 17px;border:1px solid rgba(255,255,255,.62);border-radius:16px;color:#173d2b;background:rgba(255,255,255,.9);box-shadow:0 12px 32px rgba(23,61,43,.13);backdrop-filter:blur(12px)}
.seo-visual figcaption strong,.seo-visual figcaption span{display:block}.seo-visual figcaption strong{font-size:.84rem}.seo-visual figcaption span{margin-top:4px;color:#5d7066;font-size:.72rem;line-height:1.42}
.seo-visual-app .seo-visual-frame>img:first-child{object-position:center}
.seo-visual-bite .seo-visual-frame{aspect-ratio:1;background:#fff}
.seo-visual-bite .seo-visual-frame>img:first-child{object-position:center}
.bite-feature-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:42px 0}
.bite-feature-gallery figure{margin:0;overflow:hidden;border:1px solid #d7e4d8;border-radius:26px;background:#fff;box-shadow:0 18px 48px rgba(23,61,43,.08)}
.bite-feature-gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#f3f7f1}
.bite-feature-gallery figcaption{display:grid;gap:5px;padding:18px 20px;color:#617269;line-height:1.45}
.bite-feature-gallery figcaption strong{color:#173d2b}
.bite-feature-gallery figcaption span{font-size:.86rem}
.bite-feature-gallery .real-app-card{background:linear-gradient(145deg,#173d2b,#286844)}
.bite-feature-gallery .real-app-card a{display:grid;place-items:center;padding:18px 18px 0}
.bite-feature-gallery .real-app-card img{width:min(100%,230px);height:390px;aspect-ratio:auto;object-fit:cover;object-position:top;border-radius:20px;box-shadow:0 15px 35px rgba(0,0,0,.22)}
.bite-feature-gallery .real-app-card figcaption,.bite-feature-gallery .real-app-card figcaption strong{color:#fff}
.bite-feature-gallery .real-app-card figcaption span{color:#dce9df}
.seo-phone-proof{position:absolute;z-index:3;right:18px;bottom:18px;width:min(31%,145px);padding:6px;border:4px solid #173d2b;border-radius:22px;background:#173d2b;box-shadow:0 20px 42px rgba(12,36,24,.28);transform:rotate(2deg)}
.seo-phone-proof img{display:block;width:100%;height:auto;border-radius:13px}
.seo-visual-app figcaption{right:auto;max-width:none;width:min(58%,260px)}
.seo-visual-product .seo-visual-frame{aspect-ratio:auto;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#173d2b,#285f43)}
.seo-screen-link{display:block;width:min(100%,390px);border-radius:20px;overflow:hidden;box-shadow:0 20px 48px rgba(6,27,18,.3)}
.seo-screen-link img{display:block;width:100%;height:auto}
.seo-visual-product figcaption{position:static;max-width:none;margin-top:14px}
.seo-visual-product figcaption a{color:#235f3e;font-weight:850;text-underline-offset:3px}
.seo-visual-journey .seo-visual-frame>img:first-child{object-position:center}
.seo-visual-editorial .seo-visual-frame>img:first-child{object-position:center}
.seo-hero-guide{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);column-gap:clamp(34px,4vw,58px);row-gap:38px;align-items:center;padding:clamp(40px,3vw,56px) clamp(38px,3.5vw,62px)}
.seo-hero-guide h1{max-width:720px;font-size:clamp(2.8rem,3.65vw,4rem);line-height:.98;letter-spacing:-.052em}
.seo-hero-guide .lead{font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.62}
.seo-hero-guide .seo-actions{gap:10px;margin-top:24px}
.seo-hero-guide .seo-actions .button{padding-inline:20px}
.seo-hero-guide .seo-visual{align-self:center;height:auto}
.seo-hero-guide .seo-visual-frame{width:100%;height:auto!important;min-height:0!important;aspect-ratio:16/10}
.seo-hero-guide .seo-visual-frame>img:first-child{width:100%;height:100%!important;min-height:0!important;object-fit:cover}
.seo-section{padding:clamp(64px,9vw,118px) 0 0}.seo-section-heading{max-width:830px;margin-bottom:32px}.seo-section-heading h2{margin:10px 0 14px;font-size:clamp(2rem,4vw,3.75rem);line-height:1.05;letter-spacing:-.05em}.seo-section-heading p{margin:0;color:#5b7064;font-size:1.02rem;line-height:1.7}.seo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.seo-card{min-width:0;padding:clamp(22px,3vw,32px);border:1px solid #d8e5d9;border-radius:24px;background:#fff;box-shadow:0 14px 42px rgba(23,61,43,.055)}.seo-card h3{margin:0 0 10px;font-size:1.3rem}.seo-card p{margin:0;color:#61746a;line-height:1.65}.seo-card ul{margin:14px 0 0;padding-left:20px;color:#53695d;line-height:1.7}.seo-card-wide{grid-column:span 2}.seo-steps{counter-reset:seo-step;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0;list-style:none}.seo-steps li{counter-increment:seo-step;padding:24px;border:1px solid #d8e5d9;border-radius:22px;background:#f8fbf6}.seo-steps li:before{content:"0" counter(seo-step);display:block;margin-bottom:20px;color:#2d7d4d;font-size:.76rem;font-weight:900;letter-spacing:.12em}.seo-steps h3{margin:0 0 8px}.seo-steps p{margin:0;color:#607369;line-height:1.55}.seo-note{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:clamp(26px,4vw,46px);border-radius:26px;color:#fff;background:#173d2b}.seo-note h2{margin:0 0 10px;font-size:clamp(1.7rem,3vw,2.8rem)}.seo-note p{max-width:72ch;margin:0;color:#dbe9dc;line-height:1.65}.seo-faq{display:grid;gap:12px}.seo-faq details{padding:20px 22px;border:1px solid #d8e5d9;border-radius:16px;background:#fff}.seo-faq summary{cursor:pointer;font-weight:850}.seo-faq p{margin:12px 0 0;color:#5c7065;line-height:1.65}.seo-related{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.seo-related a{color:#235f3e;font-weight:800}
@media(max-width:900px){.seo-hero{grid-template-columns:1fr}.seo-hero-guide{grid-template-columns:1fr}.seo-hero-media>.seo-proof{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-hero-media>.seo-proof li:nth-child(2){border-right:0}.seo-hero-media>.seo-proof li:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.17)}.seo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-card-wide{grid-column:auto}.seo-note{grid-template-columns:1fr}.bite-feature-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.bite-feature-gallery .real-app-card{grid-column:1/-1}}
@media(max-width:620px){.seo-main{width:calc(100% - 28px);padding-top:22px}.seo-hero{padding:28px 20px;border-radius:24px}.seo-hero h1,.seo-hero-guide h1{font-size:clamp(2.45rem,14vw,4rem)}.seo-actions>.button{width:100%}.seo-hero-media>.seo-proof{grid-template-columns:1fr}.seo-hero-media>.seo-proof li,.seo-hero-media>.seo-proof li:nth-child(2),.seo-hero-media>.seo-proof li:last-child{padding:18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.17)}.seo-hero-media>.seo-proof li:last-child{border-bottom:0}.seo-visual-frame{aspect-ratio:4/3;min-height:0}.seo-visual-bite .seo-visual-frame{aspect-ratio:1}.seo-hero-guide .seo-visual-frame{aspect-ratio:4/3}.seo-visual-product .seo-visual-frame{aspect-ratio:auto;padding:14px}.seo-visual::before{inset:10px -10px -10px 10px}.seo-phone-proof{right:12px;bottom:12px;width:31%}.seo-visual figcaption{left:12px;bottom:12px}.seo-visual-product figcaption{margin-top:12px}.seo-grid,.seo-steps,.bite-feature-gallery{grid-template-columns:1fr}.bite-feature-gallery .real-app-card{grid-column:auto}.seo-section{padding-top:68px}.seo-card{padding:22px 18px}.seo-note{padding:28px 20px}.seo-breadcrumb{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:480px){.seo-landing .topbar-actions .button.ghost{display:none}.seo-landing .topbar-actions .button{padding-inline:14px}}

/* Public resource centre and working checklist. */
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.resource-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,3vw,34px);border:1px solid #d8e5d9;border-radius:24px;color:#173d2b;background:#fff;box-shadow:0 14px 42px rgba(23,61,43,.055);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.resource-card:hover{transform:translateY(-3px);border-color:#8db69c;box-shadow:0 20px 50px rgba(23,61,43,.1)}
.resource-card>span{color:#2d7d4d;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.resource-card h3{margin:18px 0 10px;font-size:1.45rem;line-height:1.15}
.resource-card p{flex:1;margin:0;color:#61746a;line-height:1.65}
.resource-card>strong{margin-top:24px;color:#235f3e;text-decoration:underline;text-underline-offset:4px}
.resource-card-featured{color:#fff;background:linear-gradient(145deg,#173d2b,#286844);border-color:#286844}
.resource-card-featured>span,.resource-card-featured>strong{color:#bde5c5}.resource-card-featured p{color:#e0ece2}
.editorial-steps{grid-template-columns:repeat(5,minmax(0,1fr))}
.checklist-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(28px,5vw,70px);align-items:center;padding:clamp(32px,5vw,62px);border:1px solid #d8e5d9;border-radius:30px;background:linear-gradient(145deg,#fff 0%,#edf6ea 100%);box-shadow:0 24px 80px rgba(23,61,43,.09)}
.checklist-intro h1{max-width:800px;margin:12px 0 20px;font-size:clamp(2.35rem,5vw,5rem);line-height:.98;letter-spacing:-.055em;overflow-wrap:anywhere}
.checklist-progress-card{padding:28px;border-radius:24px;color:#fff;background:#173d2b}
.checklist-progress-card>span{font-size:.78rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.checklist-progress-card>strong{display:block;margin:10px 0;font-size:3.2rem;line-height:1}
.checklist-progress-card p{margin:12px 0 0;color:#dbe9dc;line-height:1.5}
.checklist-progress-track{height:10px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.18)}
.checklist-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:#ff5a27;transition:width .25s ease}
.checklist-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 34px}
.checklist-form{display:grid;gap:20px}
.checklist-form fieldset{min-width:0;margin:0;padding:clamp(22px,4vw,36px);border:1px solid #d8e5d9;border-radius:24px;background:#fff;box-shadow:0 14px 42px rgba(23,61,43,.045)}
.checklist-form legend{padding:0 12px;color:#173d2b;font-size:1.3rem;font-weight:900}
.checklist-form legend span{margin-right:9px;color:#ff5a27;font-size:.78rem;letter-spacing:.08em}
.checklist-form label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;padding:17px 0;cursor:pointer}
.checklist-form label+label{border-top:1px solid #e2eae3}
.checklist-form input{width:22px;height:22px;margin:2px 0 0;accent-color:#2d7d4d}
.checklist-form label span{min-width:0;color:#61746a;line-height:1.55}
.checklist-form label strong{display:block;margin-bottom:3px;color:#173d2b}
.content-provenance{display:flex;flex-wrap:wrap;gap:14px 28px;margin:24px 0 0;padding:20px 24px;border:1px solid #d8e5d9;border-radius:18px;background:#fff}
.content-provenance div{display:grid;gap:3px}.content-provenance strong{color:#173d2b;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.content-provenance span,.content-provenance time{color:#61746a}.content-provenance p{flex-basis:100%;margin:0;color:#61746a;line-height:1.55}.content-provenance a{color:#235f3e;font-weight:800}
@media(max-width:900px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.checklist-intro{grid-template-columns:1fr}.checklist-progress-card{max-width:none}}
@media(max-width:620px){.resource-grid,.editorial-steps{grid-template-columns:1fr}.checklist-intro{padding:28px 20px;border-radius:24px}.checklist-intro h1{font-size:clamp(2.25rem,12vw,3.25rem)}.checklist-actions{align-items:stretch;flex-direction:column}.checklist-actions .button{width:100%}.checklist-form fieldset{padding:22px 18px}.checklist-form legend{font-size:1.05rem}.checklist-form label{gap:11px}.content-provenance{display:grid;padding:18px}}
@media print{.checklist-page .topbar,.checklist-page .site-header,.checklist-page .site-footer,.checklist-page footer,.checklist-page .seo-breadcrumb,.checklist-actions,.checklist-page .seo-section{display:none!important}.checklist-page{background:#fff}.checklist-page .seo-main{width:100%;padding:0;color:#111}.checklist-intro{display:block;padding:0 0 18px;border:0;box-shadow:none;background:#fff}.checklist-intro h1{font-size:28pt}.checklist-progress-card{margin-top:12px;padding:16px;color:#111;border:1px solid #777;background:#fff}.checklist-progress-card p{color:#333}.checklist-form{gap:10px}.checklist-form fieldset{break-inside:avoid;padding:14px;border-color:#999;box-shadow:none}.checklist-form label{padding:8px 0}.checklist-form input{print-color-adjust:exact}}

/* Weekly food diary template. */
.diary-template-form fieldset{scroll-margin-top:90px}
.diary-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.diary-field{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:0!important;border:0!important;cursor:text!important}
.diary-field-date{grid-column:1/-1;max-width:280px}
.diary-field-wide{grid-column:1/-1}
.diary-field strong{margin:0;color:#173d2b}
.diary-field>span{color:#61746a;font-size:.84rem;line-height:1.5}
.diary-field input,.diary-field textarea{width:100%;min-width:0;border:1px solid #cbdacf;border-radius:14px;color:#173d2b;background:#fbfdf9;font:inherit;line-height:1.55}
.diary-field input{min-height:48px;padding:10px 13px}
.diary-field textarea{min-height:118px;padding:13px 14px;resize:vertical}
.diary-field input:focus-visible,.diary-field textarea:focus-visible{outline:3px solid rgba(45,125,77,.2);border-color:#2d7d4d}
@media(max-width:620px){.diary-day-grid{grid-template-columns:1fr}.diary-field,.diary-field-date,.diary-field-wide{grid-column:1}}
@media print{
  .diary-template-page .checklist-progress-card{display:none}
  .diary-template-page .checklist-intro p{font-size:10pt}
  .diary-template-form fieldset{break-inside:auto;break-before:page;padding:10mm 0;border:0}
  .diary-template-form fieldset:first-child{break-before:auto}
  .diary-day-grid{gap:8mm}
  .diary-field input,.diary-field textarea{overflow:visible;border-color:#777;background:#fff;box-shadow:none}
  .diary-field textarea{min-height:32mm;resize:none}
}

/* Codice di attivazione per un paziente minore: si detta al telefono o si
   copia a mano, quindi va letto senza sforzo e senza ambiguita'. */
.pediatric-code { margin:10px 0 0; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:28px; font-weight:700; letter-spacing:2px; color:var(--ink); text-align:center; user-select:all; }

/* Selettore file del consenso pediatrico.
   Questi tre stili stavano scritti dentro index.html. La CSP di produzione ha
   style-src 'self' e blocca gli stili inline: il display:none non veniva
   applicato, e il selettore file compariva a schermo accanto al pulsante che
   avrebbe dovuto sostituirlo. In locale non si vedeva, perche' il server di
   sviluppo non applica _headers. */
.dialog-actions-start { justify-content: flex-start; gap: 10px; }
.file-picker-label { cursor: pointer; }
.file-picker-input { display: none; }
