@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap');

:root {
  --wine: #72001f;
  --wine-dark: #3d0718;
  --wine-mid: #9a1738;
  --paper: #f8f6f4;
  --white: #fff;
  --ink: #252525;
  --muted: #746f70;
  --border: #e5e1df;
  --success: #3e8e5b;
  --warning: #ddaa35;
  --danger: #c94343;
  --shadow: 0 18px 50px rgba(52, 22, 31, .09);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: 'DM Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
h1, h2, strong { font-family: 'Manrope', 'DM Sans', sans-serif; }
h1, h2, p { margin-top: 0; }

.guest-body { min-height: 100vh; background: radial-gradient(circle at 10% 10%, rgba(154,23,56,.08), transparent 28%), var(--paper); }
.guest-shell { min-height: 100vh; display: grid; place-items: center; padding: 28px; }
.auth-card { width: min(1120px, 100%); min-height: 670px; display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; background: var(--white); border: 1px solid rgba(114,0,31,.06); border-radius: 30px; box-shadow: 0 30px 90px rgba(61,7,24,.15); }
.auth-brand-panel { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 52px; overflow: hidden; color: var(--white); background: linear-gradient(145deg, var(--wine-dark), var(--wine) 58%, #8d1234); }
.auth-brand-panel::after { content: ''; position: absolute; inset: 0; opacity: .1; background-image: linear-gradient(120deg, transparent 49.5%, #fff 50%, transparent 50.5%); background-size: 36px 36px; }
.wine-orb { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); }
.wine-orb::before { content: ''; position: absolute; inset: 16%; border: inherit; border-radius: inherit; }
.wine-orb--one { width: 420px; height: 420px; right: -170px; top: 110px; }
.wine-orb--two { width: 220px; height: 220px; left: -90px; bottom: 80px; }
.auth-logo { position: relative; z-index: 1; width: 220px; height: 118px; padding: 5px; object-fit: cover; object-position: 50% 55%; border-radius: 15px; background: rgba(255,255,255,.97); }
.auth-promise { position: relative; z-index: 1; max-width: 470px; }
.auth-promise h1 { margin: 14px 0 18px; font-size: clamp(2.2rem, 4vw, 3.45rem); line-height: 1.04; letter-spacing: -.055em; }
.auth-promise p { max-width: 420px; margin-bottom: 0; color: rgba(255,255,255,.72); font-size: 1.02rem; line-height: 1.7; }
.eyebrow { display: block; color: var(--wine); font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow--light { color: rgba(255,255,255,.68); }
.auth-form-panel { display: grid; place-items: center; padding: 50px; }
.auth-form-wrap { width: min(370px, 100%); }
.auth-form-wrap h2 { margin: 12px 0 10px; font-size: 2rem; letter-spacing: -.04em; }
.muted { color: var(--muted); line-height: 1.65; }
.form-stack { display: grid; gap: 20px; margin-top: 32px; }
label { display: grid; gap: 9px; color: #413b3d; font-size: .87rem; font-weight: 600; }
input { width: 100%; min-height: 50px; padding: 0 15px; color: var(--ink); background: #fbfaf9; border: 1px solid var(--border); border-radius: 12px; outline: 0; transition: border-color .2s, box-shadow .2s, background .2s; }
input:focus { background: #fff; border-color: var(--wine-mid); box-shadow: 0 0 0 4px rgba(154,23,56,.1); }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 48px; }
.password-field button { position: absolute; top: 0; right: 0; width: 46px; height: 50px; border: 0; color: var(--muted); background: transparent; cursor: pointer; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 50px; padding: 0 22px; border: 0; border-radius: 12px; font-weight: 700; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-1px); }
.button--primary { color: #fff; background: linear-gradient(135deg, var(--wine), var(--wine-mid)); box-shadow: 0 12px 28px rgba(114,0,31,.22); }
.button--primary:hover { box-shadow: 0 15px 34px rgba(114,0,31,.3); }
.button--full { width: 100%; }
.alert { margin: 20px 0; padding: 13px 15px; color: #821f29; background: #fff0f0; border: 1px solid #f4cccc; border-radius: 11px; font-size: .87rem; line-height: 1.5; }
.security-caption { margin: 24px 0 0; color: #989293; font-size: .75rem; line-height: 1.5; text-align: center; }
.login-demo-box { display:grid;gap:10px;margin-top:19px;padding:14px;background:#f8f3f4;border:1px solid #eadadd;border-radius:12px; }.login-demo-box p{margin:7px 0 0;color:#655d5f;font-size:.7rem;line-height:1.55}.login-demo-box form{display:block}.login-demo-box button{padding:0;color:var(--wine);border:0;background:transparent;font-size:.7rem;font-weight:700;cursor:pointer}

.install-card { width: min(930px, 100%); padding: 38px; background: #fff; border: 1px solid var(--border); border-radius: 28px; box-shadow: var(--shadow); }
.install-header { display: flex; align-items: center; gap: 28px; padding-bottom: 30px; border-bottom: 1px solid var(--border); }
.install-header img { width: 180px; height: 96px; object-fit: cover; object-position: 50% 55%; }
.install-header h1 { margin: 7px 0; font-size: 2rem; letter-spacing: -.04em; }
.install-header p { margin: 0; color: var(--muted); }
.install-form { display: grid; gap: 30px; margin-top: 30px; }
.install-form fieldset { margin: 0; padding: 0; border: 0; }
.install-form legend { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; font: 700 1rem 'Manrope', sans-serif; }
.install-form legend span { display: grid; width: 30px; height: 30px; place-items: center; color: #fff; background: var(--wine); border-radius: 9px; font-size: .72rem; }
.form-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 18px; }
.form-grid .span-2 { grid-column: 1 / -1; }
.form-grid small { color: var(--muted); font-weight: 400; }
.install-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 24px; border-top: 1px solid var(--border); }
.install-actions p { max-width: 400px; margin: 0; color: var(--muted); font-size: .84rem; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 260px 1fr; }
.sidebar { position: sticky; top: 0; z-index: 10; height: 100vh; display: flex; flex-direction: column; padding: 24px 16px; color: #fff; overflow: hidden; background: linear-gradient(180deg, #390513, #62001d 55%, #740020); box-shadow: 8px 0 30px rgba(61,7,24,.08); }
.brand--sidebar { display: block; width: 160px; height: 86px; margin: 0 auto 20px; padding: 0; overflow: hidden; border-radius: 0; background: transparent; }
.brand--sidebar img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; filter:grayscale(1) invert(1);mix-blend-mode:screen; }
.nav-list { display: grid; gap: 7px; }
.nav-list--demo{flex:1;min-height:0;display:block;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}.nav-list--demo .nav-item{min-height:39px;margin-bottom:3px;font-size:.76rem}.nav-list--demo::-webkit-scrollbar{width:4px}.nav-list--demo::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:99px}
.sidebar-wordmark{position:relative;display:grid;justify-items:center;width:150px;margin:0 auto 22px;padding-bottom:16px;color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}.sidebar-wordmark strong{font:600 2.35rem/1 'DM Sans',sans-serif;letter-spacing:-.07em}.sidebar-wordmark span{margin-top:4px;font-size:.67rem;letter-spacing:.45em;padding-left:.45em}.sidebar-wordmark>i{position:absolute;right:10px;bottom:13px;font-size:.75rem;color:#dca8b6}
.nav-item { display: flex; align-items: center; gap: 13px; width: 100%; min-height: 46px; padding: 0 14px; color: rgba(255,255,255,.72); border-radius: 11px; font-size: .9rem; font-weight: 600; }
.nav-item.is-active { color: #fff; background: rgba(255,255,255,.13); box-shadow: inset 3px 0 rgba(255,255,255,.75); }
.nav-icon { display: grid; width: 24px; place-items: center; font-size: 1.2rem; }
.sidebar-note { margin-top: auto; padding: 18px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; }
.sidebar-note .eyebrow { color: rgba(255,255,255,.55); }
.sidebar-note strong { display: block; margin: 7px 0; font-size: .9rem; }
.sidebar-note p { margin: 0; color: rgba(255,255,255,.55); font-size: .77rem; line-height: 1.5; }
.sidebar-footer { margin-top: 14px; }
.nav-button { border: 0; background: transparent; cursor: pointer; text-align: left; }
.app-main { min-width: 0; }
.topbar { min-height: 78px; display: flex; align-items: center; gap: 16px; padding: 0 34px; background: rgba(255,255,255,.86); border-bottom: 1px solid var(--border); backdrop-filter: blur(16px); }
.topbar > div:nth-child(2) { display: grid; gap: 2px; }
.topbar-winery{display:grid;gap:2px;min-width:190px}.topbar-search{position:relative;display:block;width:min(360px,34vw);margin-left:auto}.topbar-search i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#9a9294}.topbar-search input{min-height:40px;padding-left:38px;background:#fff}.notification-button{position:relative;width:38px;height:38px;color:#4d4547;border:0;background:transparent;border-radius:9px;cursor:pointer;font-size:1rem}.notification-button:hover{background:#f5efed}.notification-button span{position:absolute;top:1px;right:0;display:grid;width:17px;height:17px;place-items:center;color:#fff;background:var(--wine);border:2px solid #fff;border-radius:50%;font-size:.52rem;font-weight:700}
.topbar-label { color: var(--muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; }
.user-chip { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.user-chip > span:last-child { display: grid; }
.user-chip strong { font-size: .82rem; }
.user-chip small { color: var(--muted); font-size: .7rem; }
.avatar { display: grid; width: 38px; height: 38px; place-items: center; color: #fff; background: var(--wine); border-radius: 12px; font-weight: 700; }
.menu-toggle { display: none; border: 0; background: transparent; font-size: 1.4rem; }
.content { max-width: 1440px; margin: 0 auto; padding: 36px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.page-heading h1 { margin: 8px 0; font-size: clamp(2rem, 4vw, 2.8rem); letter-spacing: -.055em; }
.page-heading p { margin: 0; color: var(--muted); }
.status-pill { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; color: #24673d; background: #ecf7f0; border: 1px solid #cde8d6; border-radius: 999px; font-size: .76rem; font-weight: 700; white-space: nowrap; }
.status-pill i { width: 7px; height: 7px; background: var(--success); border-radius: 50%; box-shadow: 0 0 0 4px rgba(62,142,91,.14); }
.foundation-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.foundation-card { position: relative; min-height: 150px; display: flex; align-items: flex-start; gap: 14px; padding: 22px; background: #fff; border: 1px solid var(--border); border-radius: 18px; box-shadow: 0 8px 30px rgba(50,30,35,.04); }
.foundation-card--wine { color: #fff; background: linear-gradient(135deg, var(--wine-dark), var(--wine)); border-color: transparent; }
.foundation-card small { display: block; margin-bottom: 8px; color: var(--muted); text-transform: uppercase; letter-spacing: .1em; font-size: .66rem; }
.foundation-card--wine small, .foundation-card--wine p { color: rgba(255,255,255,.62); }
.foundation-card strong { display: block; margin-bottom: 7px; font-size: 1rem; }
.foundation-card p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.card-number { color: rgba(255,255,255,.3); font: 700 2.2rem 'Manrope', sans-serif; }
.card-icon { display: grid; flex: 0 0 auto; width: 38px; height: 38px; place-items: center; color: var(--wine); background: #f8eaee; border-radius: 11px; font-size: 1.3rem; }
.check { position: absolute; right: 17px; bottom: 17px; display: grid; width: 22px; height: 22px; place-items: center; color: var(--success); background: #edf7f0; border-radius: 50%; font-size: .72rem; font-weight: 700; }
.dashboard-panels { display: grid; grid-template-columns: 1.6fr .8fr; gap: 18px; margin-top: 18px; }
.panel { padding: 26px; background: #fff; border: 1px solid var(--border); border-radius: 20px; box-shadow: 0 8px 30px rgba(50,30,35,.04); }
.panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--border); }
.panel h2 { margin: 7px 0 0; font-size: 1.3rem; letter-spacing: -.03em; }
.panel-tag { padding: 7px 10px; color: var(--wine); background: #f9eaf0; border-radius: 8px; font-size: .7rem; font-weight: 700; }
.milestone-list { display: grid; }
.milestone-list > div { display: grid; grid-template-columns: 30px 1fr 25px; align-items: center; gap: 12px; padding: 17px 0; border-bottom: 1px solid #f0edeb; }
.milestone-list > div:last-child { border: 0; padding-bottom: 0; }
.milestone-list > div > span { display: grid; width: 28px; height: 28px; place-items: center; color: var(--wine); background: #f8eaee; border-radius: 8px; font-size: .72rem; font-weight: 700; }
.milestone-list p { display: grid; gap: 4px; margin: 0; }
.milestone-list strong { font-size: .86rem; }
.milestone-list small { color: var(--muted); font-size: .72rem; }
.milestone-list i { display: grid; width: 21px; height: 21px; place-items: center; color: #fff; background: var(--success); border-radius: 50%; font-size: .65rem; font-style: normal; }
.next-phase { position: relative; overflow: hidden; color: #fff; background: linear-gradient(155deg, #2d121b, var(--wine-dark)); border: 0; }
.next-phase::after { content: ''; position: absolute; width: 220px; height: 220px; right: -100px; bottom: -110px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 38px rgba(255,255,255,.025), 0 0 0 76px rgba(255,255,255,.02); }
.next-phase .eyebrow { color: rgba(255,255,255,.58); }
.next-phase h2 { margin: 14px 0; font-size: 1.6rem; line-height: 1.25; }
.next-phase p { position: relative; z-index: 1; color: rgba(255,255,255,.66); font-size: .83rem; line-height: 1.6; }
.progress-track { height: 6px; margin: 35px 0 10px; background: rgba(255,255,255,.12); border-radius: 99px; }
.progress-track span { display: block; height: 100%; background: #fff; border-radius: inherit; }
.next-phase > small { color: rgba(255,255,255,.5); }
.error-card { width: min(530px, 100%); padding: 50px; text-align: center; background: #fff; border-radius: 25px; box-shadow: var(--shadow); }
.error-card img { width: 180px; height: 96px; margin-bottom: 30px; object-fit: cover; object-position: 50% 55%; }
.error-card > span { display: block; color: var(--wine); font: 700 4rem 'Manrope', sans-serif; }
.error-card h1 { margin: 8px 0 30px; font-size: 1.3rem; }

@media (max-width: 1050px) {
  .foundation-grid { grid-template-columns: repeat(2, 1fr); }
  .dashboard-panels { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .guest-shell { padding: 14px; }
  .auth-card { grid-template-columns: 1fr; }
  .auth-brand-panel { min-height: 300px; padding: 30px; }
  .auth-logo { width: 170px; }
  .auth-promise h1 { font-size: 2.3rem; }
  .auth-promise p { display: none; }
  .auth-form-panel { padding: 38px 28px; }
  .app-shell { display: block; }
  .sidebar { position: fixed; left: -280px; width: 260px; transition: left .25s; }
  .sidebar.is-open { left: 0; }
  .menu-toggle { display: block; }
  .topbar { padding: 0 18px; }
  .topbar-search,.topbar-winery .topbar-label { display:none; }.topbar-winery{min-width:0}.notification-button{margin-left:auto}.user-chip{margin-left:0}
  .content { padding: 25px 18px 90px; }
}

@media (max-width: 580px) {
  .install-card { padding: 24px 18px; border-radius: 18px; }
  .install-header { align-items: flex-start; flex-direction: column; gap: 18px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .span-2 { grid-column: auto; }
  .install-actions { align-items: stretch; flex-direction: column; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .foundation-grid { grid-template-columns: 1fr; }
  .user-chip small { display: none; }
  .user-chip strong { max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Site institucional */
.public-body { background: #fbfaf8; }
.public-body h1, .public-body h2 { font-family: Georgia, 'Times New Roman', serif; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 50; min-height: 76px; display: flex; align-items: center; gap: 28px; padding: 0 max(4.5vw, 24px); color: #fff; background: rgba(30,3,12,.86); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(18px); }
.site-logo { width: 115px; height: 58px; display: block; overflow: hidden; border-radius: 8px; background: transparent; }
.site-logo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; filter:grayscale(1) invert(1);mix-blend-mode:screen; }
.site-nav { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 2.2vw, 32px); margin: 0 auto; }
.site-nav a { position: relative; font-size: .77rem; font-weight: 600; }
.site-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -7px; height: 2px; background: #c32750; transition: right .2s; }
.site-nav a:hover::after { right: 0; }
.header-actions { display: flex; gap: 9px; }
.button--compact { min-height: 40px; padding: 0 16px; font-size: .75rem; }
.button--ghost { min-height: 40px; padding: 0 16px; color: #fff; border: 1px solid rgba(255,255,255,.45); background: transparent; font-size: .75rem; }
.site-menu-toggle { display: none; margin-left: auto; color: #fff; border: 0; background: transparent; font-size: 1.35rem; }
.hero-section { position: relative; min-height: 745px; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 4vw; padding: 130px max(5vw, 30px) 115px; overflow: hidden; color: #fff; background-image: linear-gradient(90deg,rgba(30,2,10,.98) 0%,rgba(54,5,18,.94) 45%,rgba(38,3,13,.4) 100%),url('/assets/images/site/vineyard.jpg'); background-position:center,right center;background-size:cover; }
.hero-section::before { content: ''; position: absolute; inset: 0; opacity: .12; background: linear-gradient(130deg, transparent 42%, rgba(255,255,255,.25) 42.2%, transparent 42.4%); background-size: 44px 44px; mask-image: linear-gradient(to left,#000,transparent 70%); }
.hero-copy, .hero-product { position: relative; z-index: 2; }
.hero-kicker { display: inline-flex; align-items: center; gap: 10px; padding: 7px 11px; color: rgba(255,255,255,.74); border: 1px solid rgba(255,255,255,.15); border-radius: 99px; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.hero-kicker i { width: 7px; height: 7px; border-radius: 50%; background: #d59b4c; box-shadow: 0 0 0 4px rgba(213,155,76,.16); }
.hero-copy h1 { max-width: 690px; margin: 24px 0 22px; font-size: clamp(3.25rem, 5.4vw, 5.6rem); line-height: .98; letter-spacing: -.055em; }
.hero-copy h1 em { color: #d68ca0; font-style: normal; }
.hero-copy > p { max-width: 620px; color: rgba(255,255,255,.71); font-size: clamp(.98rem, 1.2vw, 1.12rem); line-height: 1.75; }
.hero-actions { display: flex; gap: 12px; margin-top: 31px; }
.button--large { min-height: 55px; padding: 0 24px; }
.button--light { color: #fff; border: 1px solid rgba(255,255,255,.4); background: rgba(255,255,255,.04); }
.button--white { color: var(--wine); background: #fff; box-shadow: 0 14px 34px rgba(0,0,0,.2); }
.trust-row { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 42px; color: rgba(255,255,255,.6); font-size: .69rem; }
.trust-row i { margin-right:5px;color:#d9b16f; }
.hero-product { min-height: 510px; display: grid; place-items: center; }
.hero-glow { position: absolute; width: 540px; height: 390px; background: rgba(158,33,66,.25); filter: blur(70px); border-radius: 50%; }
.laptop-frame { position: relative; z-index: 2; width: min(680px, 94%); padding: 8px 8px 15px; background: #191919; border: 1px solid #777; border-radius: 18px 18px 8px 8px; box-shadow: 0 35px 70px rgba(0,0,0,.5); transform: perspective(1200px) rotateY(-3deg); }
.laptop-frame::after { content: ''; position: absolute; left: -6%; right: -6%; bottom: -22px; height: 19px; background: linear-gradient(#b7b7b7,#555); border-radius: 3px 3px 18px 18px; box-shadow: 0 10px 18px rgba(0,0,0,.35); }
.browser-bar { height: 28px; display: flex; align-items: center; gap: 5px; padding: 0 9px; color: #8b8587; background: #f5f3f2; border-radius: 10px 10px 0 0; font-size: .55rem; }
.browser-bar i { width: 6px; height: 6px; border-radius: 50%; background: #c3bec0; }
.browser-bar span { margin-left: auto; margin-right: auto; }
.mini-dashboard { height: 360px; display: grid; grid-template-columns: 74px 1fr; color: var(--ink); background: #f7f4f3; overflow: hidden; }
.mini-dashboard aside { display: flex; align-items: center; flex-direction: column; gap: 22px; padding: 15px 8px; color: rgba(255,255,255,.7); background: var(--wine-dark); }
.mini-dashboard aside b { color: #fff; font-size: .75rem; }
.mini-dashboard aside span { font-size: .8rem; }
.mini-dashboard > div { padding: 22px; }
.mini-dashboard > div > small { color: var(--wine); font-size: .48rem; letter-spacing: .14em; }
.mini-dashboard h3 { margin: 6px 0 18px; font-size: 1rem; }
.mini-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.mini-stats article { padding: 13px; background: #fff; border: 1px solid #e9e4e2; border-radius: 8px; }
.mini-stats small { display: block; color: #8c8587; font-size: .48rem; }
.mini-stats b { display: block; margin-top: 8px; font-size: .8rem; }
.mini-stats i { display: block; width: 35%; height: 3px; margin-top: 12px; background: var(--wine); border-radius: 99px; }
.mini-chart { height: 160px; display: flex; align-items: flex-end; gap: 16px; margin-top: 14px; padding: 20px; background: #fff; border: 1px solid #e9e4e2; border-radius: 9px; }
.mini-chart span { flex: 1; height: 40%; background: linear-gradient(#b13656,var(--wine)); border-radius: 5px 5px 0 0; }
.mini-chart span:nth-child(2) { height: 64%; }.mini-chart span:nth-child(3) { height: 52%; }.mini-chart span:nth-child(4) { height: 78%; }.mini-chart span:nth-child(5) { height: 70%; }.mini-chart span:nth-child(6) { height: 92%; }.mini-chart span:nth-child(7) { height: 83%; }
.phone-frame { position: absolute; z-index: 4; right: 1%; bottom: 20px; width: 170px; min-height: 345px; padding: 30px 14px 16px; color: var(--ink); background: #f8f6f4; border: 7px solid #171717; border-radius: 28px; box-shadow: 0 25px 45px rgba(0,0,0,.5); transform: rotate(2deg); }
.phone-notch { position: absolute; top: 7px; left: 50%; width: 54px; height: 7px; transform: translateX(-50%); background: #171717; border-radius: 99px; }
.phone-frame > small { color: var(--wine); font-size: .5rem; text-transform: uppercase; }.phone-frame > b { display: block; margin: 6px 0 20px; font-size: 1.2rem; }
.phone-alert { display: flex; gap: 9px; padding: 10px 7px; margin-top: 9px; background: #fff; border: 1px solid #ece6e4; border-radius: 9px; font-size: .58rem; }.phone-alert i { width: 8px; height: 8px; margin-top: 2px; background: var(--danger); border-radius: 50%; }.phone-alert small { color: #928a8c; font-size: .48rem; }.phone-alert.is-good i { background: var(--success); }
.floating-badge { position: absolute; z-index: 5; left: 1%; bottom: 8px; display: flex; align-items: center; gap: 10px; padding: 12px 16px; color: var(--ink); background: #fff; border-radius: 12px; box-shadow: 0 16px 40px rgba(0,0,0,.25); }.floating-badge > span { display: grid; width: 28px; height: 28px; place-items: center; color: #fff; background: var(--success); border-radius: 50%; }.floating-badge div { display: grid; }.floating-badge b { font-size: .7rem; }.floating-badge small { color: var(--muted); font-size: .55rem; }
.hero-stats{position:relative;z-index:8;width:min(1180px,calc(100% - 48px));min-height:126px;display:grid;grid-template-columns:repeat(4,1fr);margin:-63px auto 0;padding:17px;background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:0 18px 45px rgba(48,17,26,.13)}.hero-stats article{display:flex;align-items:center;gap:14px;padding:10px 18px;border-right:1px solid var(--border)}.hero-stats article:last-child{border:0}.hero-stats article>span{flex:0 0 auto;width:62px;height:70px;display:grid;place-items:center;color:var(--wine);background:#f6e9ed;border-radius:9px;font-size:1.35rem}.hero-stats .stat-photo{background-position:center;background-size:cover}.hero-stats .stat-photo--grapes{background-image:url('/assets/images/site/vineyard.jpg')}.hero-stats .stat-photo--bottles{background-image:url('/assets/images/site/cellar.jpg')}.hero-stats article>div{display:grid;gap:4px}.hero-stats small{color:#938b8d;font-size:.5rem;letter-spacing:.06em}.hero-stats b{color:var(--wine);font-size:1.16rem}.hero-stats em{color:var(--muted);font-size:.55rem;font-style:normal}.hero-stats em i{color:var(--success)}
.logo-strip { min-height: 76px; display: flex; align-items: center; justify-content: center; gap: clamp(16px,4vw,60px); padding: 30px 18px 18px; color: #827a7c; background: #fff; border-bottom: 1px solid var(--border); font-size: .65rem; letter-spacing: .15em; font-weight: 700; }.logo-strip i { width: 4px; height: 4px; background: var(--wine); border-radius: 50%; }
.section { padding: 105px max(5vw,30px); }
.section-heading { max-width: 760px; margin-bottom: 48px; }.section-heading--center { margin-inline: auto; text-align: center; }.section-heading h2, .intelligence-copy h2, .trace-card h2, .cost-card h2, .demo-copy h2, .contact-copy h2 { margin: 12px 0 16px; font-size: clamp(2.15rem,4vw,3.65rem); line-height: 1.05; letter-spacing: -.04em; }.section-heading p { color: var(--muted); line-height: 1.65; }
.problem-section { background: #f7f3f1; }.problem-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 1200px; margin: auto; }.problem-list { display: grid; gap: 12px; }.problem-list article { display: flex; gap: 18px; padding: 22px; background: #fff; border: 1px solid var(--border); border-radius: 16px; }.problem-list article > span { color: #bc9fa7; font: 700 1.3rem Georgia,serif; }.problem-list h3 { margin: 0 0 7px; font-size: 1rem; }.problem-list p { margin: 0; color: var(--muted); font-size: .81rem; line-height: 1.55; }.solution-card { padding: 42px; color: #fff; background: linear-gradient(145deg,var(--wine-dark),var(--wine)); border-radius: 20px; box-shadow: var(--shadow); }.solution-card h3 { margin: 16px 0; font: 700 2rem Georgia,serif; }.solution-card p { color: rgba(255,255,255,.67); line-height: 1.7; }.solution-card ul { display: grid; gap: 14px; padding: 0; margin-top: 25px; list-style: none; }.solution-card li::before { content: '✓'; margin-right: 10px; color: #7fd29b; }
.modules-section { background: #fff; }.module-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }.module-card { position: relative; min-height: 190px; padding: 22px; color: var(--ink); text-align: left; background: #fbfaf8; border: 1px solid var(--border); border-radius: 15px; cursor: pointer; transition: transform .2s,box-shadow .2s,border-color .2s; }.module-card:hover { transform: translateY(-3px); border-color: #caa5af; box-shadow: 0 18px 40px rgba(61,7,24,.1); }.module-card > span { display: grid; width: 38px; height: 38px; place-items: center; color: #fff; background: var(--wine); border-radius: 10px; font-size: 1rem; }.module-card h3 { margin: 23px 0 7px; font-size: .95rem; }.module-card p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }.module-card > i { position: absolute; top: 20px; right: 20px; color: #b9afb1; font-style: normal; }
.flow-section { color: #fff; background: #28060f; }.section-heading--light p { color: rgba(255,255,255,.6); }.flow-track { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.flow-track article { flex: 1; min-height: 190px; padding: 22px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 15px; }.flow-track article b { color: rgba(255,255,255,.28); font-size: .7rem; }.flow-track article > span { display: block; margin: 17px 0; color: #d78da0; font-size: 1.45rem; }.flow-track h3 { margin: 0 0 7px; font-size: .9rem; }.flow-track p { margin: 0; color: rgba(255,255,255,.55); font-size: .72rem; }.flow-track > i { color: rgba(255,255,255,.25); font-style: normal; }
.intelligence-section { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 7vw; background: #f8f5f3; }.intelligence-copy > p { color: var(--muted); line-height: 1.7; }.benefit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 28px; color: #4c4547; font-size: .79rem; }.benefit-grid span::first-letter { color: var(--success); }.daily-panel { padding: 25px; background: #fff; border: 1px solid var(--border); border-radius: 18px; box-shadow: 0 25px 60px rgba(58,25,34,.11); }.daily-panel header { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--border); }.daily-panel header small { color: var(--wine); font-size: .55rem; letter-spacing: .12em; }.daily-panel header h3 { margin: 5px 0 0; font-size: 1.2rem; }.daily-panel header > span { align-self: center; padding: 7px 10px; color: var(--wine); background: #f8e9ed; border-radius: 8px; font-size: .66rem; }.daily-item { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 13px; padding: 17px 0; border-bottom: 1px solid #f0ecea; }.daily-item > b { display: grid; width: 36px; height: 36px; place-items: center; color: var(--danger); background: #fcebec; border-radius: 10px; }.daily-item p { display: grid; gap: 4px; margin: 0; }.daily-item strong { font-size: .78rem; }.daily-item small { color: var(--muted); font-size: .66rem; }.daily-item > i { color: var(--muted); font-size: .62rem; font-style: normal; }.daily-item.is-warning > b { color: #9b6b00; background: #fff5dc; }.daily-item.is-success > b { color: var(--success); background: #eaf7ee; }.capacity { padding-top: 19px; }.capacity > span { display: flex; justify-content: space-between; }.capacity small { color: var(--muted); }.capacity > i { display: block; height: 7px; margin-top: 10px; background: #eee9e7; border-radius: 99px; }.capacity em { display: block; width: 74%; height: 100%; background: linear-gradient(90deg,var(--wine),var(--wine-mid)); border-radius: inherit; }
.trace-section { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; background: #fff; }.trace-card,.cost-card { min-height: 470px; padding: 46px; border-radius: 20px; }.trace-card { color: #fff; background: radial-gradient(circle at 85% 70%,rgba(154,23,56,.8),transparent 35%),linear-gradient(145deg,#27060f,#5d001b); }.trace-card p { color: rgba(255,255,255,.65); line-height: 1.7; }.trace-chain { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 55px; }.trace-chain span { padding: 9px 11px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.15); border-radius: 8px; font-size: .65rem; }.trace-chain i { color: rgba(255,255,255,.4); font-style: normal; }.cost-card { background: #f7f3f1; border: 1px solid var(--border); }.cost-total { display: flex; justify-content: space-between; align-items: flex-end; padding: 18px 0; border-bottom: 1px solid var(--border); }.cost-total span { display: grid; gap: 5px; }.cost-total small { color: var(--muted); }.cost-total b { font-size: 1.25rem; }.cost-total em { color: var(--wine); font-size: .8rem; font-style: normal; font-weight: 700; }.cost-bars { display: grid; gap: 17px; margin-top: 25px; }.cost-bars span { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 5px; }.cost-bars i { grid-column: 1/-1; height: 6px; background: var(--wine); border-radius: 99px; }.cost-bars span::before { content:''; position:absolute; top:0; width:100%; height:6px; background:#e7dfdc; border-radius:99px; z-index:0; }.cost-bars i { position:relative; z-index:1; }.cost-bars b,.cost-bars em { font-size:.68rem; }.cost-bars em { color:var(--muted); font-style:normal; }
.demo-section { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 6vw; color: #fff; background: radial-gradient(circle at 80% 50%,rgba(142,24,56,.4),transparent 30%),#26050e; }.demo-copy > p { color: rgba(255,255,255,.66); line-height: 1.7; }.credential-box { display: flex; gap: 10px; margin: 28px 0; }.credential-box span { display:grid; gap:4px; min-width: 200px; padding: 13px 16px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); border-radius: 10px; }.credential-box small { color:rgba(255,255,255,.5); font-size:.57rem; text-transform:uppercase; }.credential-box b { font-size:.77rem; }.demo-actions { display:flex; align-items:center; gap:20px; }.demo-actions a { color:rgba(255,255,255,.7); font-size:.75rem; text-decoration:underline; }.demo-window { padding: 8px; color: var(--ink); background: #e4dedc; border-radius: 16px; box-shadow: 0 35px 70px rgba(0,0,0,.4); }.demo-window > header { display:flex; align-items:center; gap:9px; height:38px; padding:0 12px; background:#fff; border-radius:10px 10px 0 0; }.demo-window header i { width:7px;height:7px;background:var(--danger);border-radius:50%; }.demo-window header span { font-size:.7rem;font-weight:700; }.demo-window header em { margin-left:auto;color:var(--wine);font-size:.6rem;font-style:normal; }.demo-window-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px;background:#f7f4f3; }.demo-window-grid article { min-height:100px;padding:14px;background:#fff;border:1px solid var(--border);border-radius:9px; }.demo-window-grid small { display:block;color:var(--muted);font-size:.55rem; }.demo-window-grid b { display:block;margin:11px 0;font-size:1rem; }.demo-window-grid em { color:var(--muted);font-size:.52rem;font-style:normal; }.demo-window-grid .good { color:var(--success); }.demo-window-grid .wide { grid-column:1/-1;min-height:160px; }.spark-bars { height:110px;display:flex;align-items:flex-end;gap:7px;margin-top:8px; }.spark-bars i { flex:1;height:40%;background:var(--wine);border-radius:4px 4px 0 0; }.spark-bars i:nth-child(2){height:55%}.spark-bars i:nth-child(3){height:44%}.spark-bars i:nth-child(4){height:72%}.spark-bars i:nth-child(5){height:66%}.spark-bars i:nth-child(6){height:89%}.spark-bars i:nth-child(7){height:77%}.spark-bars i:nth-child(8){height:95%}
.contact-section { display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;background:#f8f5f3; }.contact-copy > p { color:var(--muted);line-height:1.7; }.contact-points { display:grid;gap:12px;margin-top:28px;color:#4f4749;font-size:.82rem; }.contact-points span::first-letter { color:var(--success); }.contact-form { padding:30px;background:#fff;border:1px solid var(--border);border-radius:19px;box-shadow:var(--shadow); }.contact-form select,.contact-form textarea { width:100%;padding:13px 15px;color:var(--ink);background:#fbfaf9;border:1px solid var(--border);border-radius:12px;outline:0; }.contact-form select:focus,.contact-form textarea:focus { border-color:var(--wine-mid);box-shadow:0 0 0 4px rgba(154,23,56,.1); }.contact-form .button { margin-top:19px; }.alert--success { color:#24673d;background:#ecf7f0;border-color:#cde8d6; }
.site-footer { display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:38px;padding:58px max(5vw,30px) 28px;color:rgba(255,255,255,.65);background:#1d050c; }.site-logo--footer { width:130px;height:66px; }.site-footer > div { display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:.72rem; }.site-footer strong { color:#fff;font-size:.75rem; }.site-footer p { margin:5px 0; }.site-footer > small { grid-column:1/-1;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.62rem; }
.module-dialog { width:min(480px,calc(100% - 28px));padding:36px;border:0;border-radius:20px;box-shadow:0 30px 90px rgba(31,5,13,.35); }.module-dialog::backdrop { background:rgba(28,3,11,.65);backdrop-filter:blur(5px); }.module-dialog > button { position:absolute;top:15px;right:15px;width:34px;height:34px;border:0;border-radius:50%;background:#f4efed;cursor:pointer;font-size:1.2rem; }.module-dialog h2 { margin:13px 0;font:700 2rem Georgia,serif; }.module-dialog p { margin-bottom:24px;color:var(--muted);line-height:1.7; }

@media (max-width: 1100px) {
  .site-nav { display:none;position:absolute;top:76px;left:0;right:0;align-items:stretch;flex-direction:column;gap:0;padding:15px 24px;background:#2a0711;border-top:1px solid rgba(255,255,255,.1); }.site-nav.is-open{display:flex}.site-nav a{padding:12px}.header-actions{margin-left:auto}.site-menu-toggle{display:block}.hero-section{grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:800px;padding-top:20px}.hero-product{min-height:540px}.module-grid{grid-template-columns:repeat(3,1fr)}.intelligence-section,.demo-section,.contact-section{grid-template-columns:1fr}.trace-section{grid-template-columns:1fr}.flow-track{display:grid;grid-template-columns:repeat(5,1fr)}.flow-track>i{display:none}
}
@media (max-width: 760px) {
  .site-header{min-height:68px;padding-inline:16px}.site-logo{width:100px;height:51px}.header-actions .button--primary{display:none}.site-nav{top:68px}.hero-section{padding:105px 20px 65px}.hero-copy h1{font-size:3.25rem}.hero-actions{align-items:stretch;flex-direction:column}.trust-row{gap:10px}.hero-product{min-height:370px}.laptop-frame{width:100%}.mini-dashboard{height:260px;grid-template-columns:48px 1fr}.mini-dashboard>div{padding:13px}.mini-chart{height:105px;padding:10px;gap:8px}.phone-frame{width:120px;min-height:245px;right:-5px;padding:28px 8px 8px;border-width:5px}.floating-badge{left:-5px;bottom:-8px}.logo-strip{display:grid;grid-template-columns:1fr 1fr;text-align:center}.logo-strip i{display:none}.section{padding:75px 20px}.problem-layout{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr 1fr}.flow-track{grid-template-columns:1fr 1fr}.flow-track article:last-child{grid-column:1/-1}.intelligence-section{gap:40px}.benefit-grid{grid-template-columns:1fr}.trace-card,.cost-card{min-height:auto;padding:30px 24px}.credential-box{align-items:stretch;flex-direction:column}.credential-box span{min-width:0}.demo-actions{align-items:flex-start;flex-direction:column}.demo-window-grid{grid-template-columns:1fr 1fr}.site-footer{grid-template-columns:1fr 1fr}.site-footer>div:first-child{grid-column:1/-1}
}
@media (max-width: 460px) {
  .hero-copy h1{font-size:2.75rem}.hero-product{min-height:300px}.mini-stats article:nth-child(3){display:none}.mini-stats{grid-template-columns:1fr 1fr}.phone-frame{display:none}.floating-badge{display:none}.module-grid{grid-template-columns:1fr}.flow-track{grid-template-columns:1fr}.flow-track article:last-child{grid-column:auto}.daily-panel{padding:18px}.daily-item{grid-template-columns:35px 1fr}.daily-item>i{display:none}.contact-form{padding:20px}.site-footer{grid-template-columns:1fr}.site-footer>div:first-child{grid-column:auto}
}

/* Dashboard da demonstração */
.demo-dashboard-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:28px; }.demo-dashboard-heading h1 { margin:8px 0;font-size:clamp(1.9rem,3.5vw,2.7rem);letter-spacing:-.05em; }.demo-dashboard-heading p { margin:0;color:var(--muted); }.demo-heading-actions { display:flex;align-items:center;gap:10px; }.button--soft { min-height:39px;color:var(--wine);background:#f5e9ec;font-size:.72rem; }
.demo-metric-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px; }.demo-metric { min-height:142px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px rgba(50,30,35,.035); }.demo-metric header { display:flex;align-items:center;gap:9px; }.demo-metric header>span { display:grid;width:31px;height:31px;place-items:center;color:var(--wine);background:#f7e9ed;border-radius:9px; }.demo-metric header small { color:var(--muted);font-size:.68rem; }.demo-metric>strong { display:block;margin:17px 0 7px;font-size:1.35rem; }.demo-metric>strong em { color:var(--muted);font-size:.65rem;font-style:normal;font-family:'DM Sans',sans-serif;font-weight:500; }.demo-metric p { margin:0;color:var(--muted);font-size:.63rem; }.demo-metric--success header>span { color:var(--success);background:#eaf6ee; }.demo-metric--warning header>span { color:#9b6b00;background:#fff4dc; }.demo-metric--danger header>span { color:var(--danger);background:#fcebec; }
.demo-dashboard-grid { display:grid;grid-template-columns:1.55fr .8fr;gap:16px;margin-top:16px; }.demo-dashboard-grid--bottom { grid-template-columns:1fr 1fr; }.demo-panel { min-height:320px;padding:23px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 7px 24px rgba(50,30,35,.035); }.demo-panel>header,.demo-lots-panel>header { display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:17px;border-bottom:1px solid var(--border); }.demo-panel h2,.demo-lots-panel h2 { margin:6px 0 0;font-size:1.15rem;letter-spacing:-.025em; }.production-chart { height:255px;display:grid;grid-template-columns:32px 1fr;gap:10px;padding-top:25px; }.chart-y { display:flex;justify-content:space-between;flex-direction:column;padding-bottom:16px;color:#aaa2a4;font-size:.54rem; }.chart-area { position:relative;display:flex;align-items:flex-end;gap:clamp(8px,2vw,24px);padding:0 15px 16px;border-bottom:1px solid var(--border);background:repeating-linear-gradient(to bottom,#eee9e7 0,#eee9e7 1px,transparent 1px,transparent 25%); }.chart-area>i { position:relative;flex:1;min-width:12px;background:linear-gradient(#a91940,var(--wine));border-radius:5px 5px 0 0;box-shadow:0 7px 13px rgba(114,0,31,.13); }.chart-area em { position:absolute;left:50%;bottom:-17px;transform:translateX(-50%);color:#938b8d;font-size:.53rem;font-style:normal; }.donut-wrap { display:grid;place-items:center;gap:22px;padding-top:25px; }.donut { width:145px;height:145px;display:grid;place-items:center;background:conic-gradient(var(--wine) 0 42%,#b33d5c 42% 66%,#e1dbd8 66% 92%,#d5a53c 92%);border-radius:50%; }.donut::before { content:'';grid-area:1/1;width:92px;height:92px;background:#fff;border-radius:50%; }.donut span { position:relative;grid-area:1/1;display:grid;text-align:center; }.donut b { font-size:1.5rem; }.donut small { color:var(--muted);font-size:.57rem; }.donut-legend { width:100%;display:grid;grid-template-columns:1fr 1fr;gap:9px; }.donut-legend span { display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:6px;font-size:.56rem; }.donut-legend i { width:7px;height:7px;background:var(--wine);border-radius:50%; }.donut-legend span:nth-child(2) i{background:#b33d5c}.donut-legend span:nth-child(3) i{background:#e1dbd8}.donut-legend span:nth-child(4) i{background:#d5a53c}.donut-legend em{color:var(--muted);font-style:normal}.alert-count{padding:6px 9px;color:var(--danger);background:#fcebec;border-radius:8px;font-size:.62rem;font-weight:700}.operational-alerts{display:grid}.operational-alert{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid #f0ecea}.operational-alert:last-child{border:0}.operational-alert>span{display:grid;width:28px;height:28px;place-items:center;color:var(--danger);background:#fcebec;border-radius:8px;font-weight:700}.operational-alert p{display:grid;gap:3px;margin:0}.operational-alert strong{font-size:.72rem}.operational-alert small{color:var(--muted);font-size:.61rem}.operational-alert em{padding:5px 7px;color:var(--danger);background:#fcebec;border-radius:6px;font-size:.55rem;font-style:normal}.operational-alert.is-warning>span,.operational-alert.is-warning em{color:#966900;background:#fff4dc}.activity-feed{display:grid}.activity-item{position:relative;display:grid;grid-template-columns:15px 1fr auto;gap:9px;padding:14px 0;border-bottom:1px solid #f0ecea}.activity-item:last-child{border:0}.activity-item>i{width:9px;height:9px;margin-top:4px;background:#aaa;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #ddd}.activity-item--success>i{background:var(--success);box-shadow:0 0 0 2px #cde8d6}.activity-item--danger>i{background:var(--danger);box-shadow:0 0 0 2px #f2c6ca}.activity-item--warning>i{background:var(--warning);box-shadow:0 0 0 2px #f5e3b3}.activity-item p{display:grid;gap:3px;margin:0}.activity-item strong{font-size:.7rem}.activity-item small{color:var(--muted);font-size:.59rem}.activity-item time{color:var(--muted);font-size:.56rem}.demo-lots-panel{margin-top:16px;padding:23px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 7px 24px rgba(50,30,35,.035)}.demo-lots-panel>header>span{color:var(--muted);font-size:.65rem}.demo-table-wrap{overflow-x:auto}.demo-lots-panel table{width:100%;border-collapse:collapse;white-space:nowrap}.demo-lots-panel th,.demo-lots-panel td{padding:14px 12px;text-align:left;border-bottom:1px solid #f0ecea;font-size:.66rem}.demo-lots-panel th{color:var(--muted);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}.table-status{padding:5px 8px;border-radius:99px;font-size:.55rem;font-weight:700}.table-status.is-danger{color:var(--danger);background:#fcebec}.table-status.is-success{color:var(--success);background:#eaf6ee}
@media(max-width:1200px){.demo-metric-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.demo-metric-grid{grid-template-columns:repeat(2,1fr)}.demo-dashboard-grid,.demo-dashboard-grid--bottom{grid-template-columns:1fr}}
@media(max-width:560px){.demo-dashboard-heading{align-items:flex-start;flex-direction:column}.demo-heading-actions{align-items:flex-start;flex-direction:column}.demo-metric-grid{grid-template-columns:1fr}.demo-panel{padding:18px}.donut-legend{grid-template-columns:1fr}.production-chart{height:220px}}
.legal-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:8px max(5vw,24px);color:#fff;background:#24060f}.legal-page{max-width:850px;margin:0 auto;padding:90px 24px}.legal-page h1{margin:14px 0 18px;font-size:clamp(2.6rem,6vw,4.6rem);letter-spacing:-.05em}.legal-intro{max-width:700px;color:var(--muted);font-size:1.05rem;line-height:1.7}.legal-sections{display:grid;gap:12px;margin-top:45px}.legal-sections section{padding:24px;background:#fff;border:1px solid var(--border);border-radius:15px}.legal-sections h2{margin:0 0 10px;font:700 1.1rem 'Manrope',sans-serif}.legal-sections p{margin:0;color:var(--muted);line-height:1.7}.legal-date{margin-top:30px;color:var(--muted);font-size:.75rem}
.progress-track .progress-five{width:5%}.cost-bars .cost-32{width:32%}.cost-bars .cost-24{width:24%}.cost-bars .cost-28{width:28%}.cost-bars .cost-16{width:16%}.chart-area .bar-28{height:28%}.chart-area .bar-42{height:42%}.chart-area .bar-67{height:67%}.chart-area .bar-88{height:88%}.chart-area .bar-73{height:73%}.chart-area .bar-59{height:59%}.chart-area .bar-81{height:81%}.chart-area .bar-48{height:48%}
.module-card--photo{padding-right:46%;overflow:hidden;background:#fff}.module-card--photo::after{content:'';position:absolute;inset:0 0 0 55%;background-position:center;background-size:cover}.module-photo-1::after{background-image:linear-gradient(90deg,rgba(255,255,255,.1),transparent),url('/assets/images/site/vineyard.jpg')}.module-photo-2::after{background-image:url('/assets/images/site/wine.jpg')}.module-photo-3::after{background-image:url('/assets/images/site/cellar.jpg')}.module-card--photo>span,.module-card--photo h3,.module-card--photo p{position:relative;z-index:2}.module-card--photo>i{z-index:3;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.5)}
.trace-card{background-image:linear-gradient(90deg,rgba(39,6,15,.98),rgba(93,0,27,.72)),url('/assets/images/site/cellar.jpg');background-position:center;background-size:cover}.contact-copy::before{content:'';display:block;width:100%;height:170px;margin-bottom:28px;background-image:linear-gradient(90deg,rgba(114,0,31,.18),transparent),url('/assets/images/site/wine.jpg');background-position:center;background-size:cover;border-radius:16px}
.solution-card li::before{content:none}.solution-card li i{margin-right:8px;color:#7fd29b}.benefit-grid i,.contact-points i{margin-right:6px;color:var(--success)}
@media(max-width:900px){.hero-stats{grid-template-columns:1fr 1fr;margin-top:-40px}.hero-stats article:nth-child(2){border-right:0}.hero-stats article:nth-child(-n+2){border-bottom:1px solid var(--border)}}
@media(max-width:560px){.hero-stats{width:calc(100% - 28px);grid-template-columns:1fr;padding:10px}.hero-stats article{border-right:0;border-bottom:1px solid var(--border)}.hero-stats article:last-child{border-bottom:0}}
.module-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.module-page-heading h1{margin:8px 0;font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.05em}.module-page-heading p{margin:0;color:var(--muted)}.module-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:16px}.module-summary article{display:flex;align-items:center;gap:14px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:15px}.module-summary article>span{display:grid;width:42px;height:42px;place-items:center;color:var(--wine);background:#f7e9ed;border-radius:11px;font-size:1.1rem}.module-summary article>div{display:grid;gap:5px}.module-summary small{color:var(--muted);font-size:.55rem;letter-spacing:.08em}.module-summary b{font-size:.86rem}.module-data-panel{padding:24px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 7px 24px rgba(50,30,35,.035)}.module-data-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--border)}.module-data-panel h2{margin:6px 0 0;font-size:1.2rem}.module-records{display:grid}.module-records article{display:grid;grid-template-columns:42px minmax(220px,1fr) minmax(110px,.35fr) minmax(100px,.3fr) 30px;align-items:center;gap:14px;padding:18px 4px;border-bottom:1px solid #f0ecea}.module-records article:last-child{border:0}.record-icon{display:grid;width:38px;height:38px;place-items:center;color:var(--wine);background:#f7e9ed;border-radius:10px}.module-records h3{margin:0 0 4px;font-size:.8rem}.module-records p{margin:0;color:var(--muted);font-size:.67rem}.module-records>article>strong{font-size:.72rem}.module-records>article>em{display:inline-flex;justify-content:center;padding:6px 8px;color:var(--wine);background:#f7e9ed;border-radius:99px;font-size:.58rem;font-style:normal;font-weight:700}.module-records button{width:29px;height:29px;color:var(--wine);border:0;background:#f7f3f1;border-radius:8px;cursor:pointer}.demo-toast{position:fixed;right:24px;bottom:24px;z-index:90;max-width:360px;padding:14px 18px;color:#fff;background:#2d0713;border:1px solid rgba(255,255,255,.14);border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.28);font-size:.72rem;line-height:1.5;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.demo-toast.is-visible{opacity:1;transform:none}.sidebar .sidebar-note{padding:13px}.sidebar .sidebar-note p{font-size:.67rem}.sidebar .sidebar-footer{margin-top:7px}
@media(max-width:800px){.module-page-heading{align-items:flex-start;flex-direction:column}.module-summary{grid-template-columns:1fr}.module-records article{grid-template-columns:38px 1fr 28px}.module-records>article>strong,.module-records>article>em{display:none}}
.mobile-bottom-nav{display:none}@media(max-width:820px){.mobile-bottom-nav{position:fixed;inset:auto 0 0;z-index:45;height:66px;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--border);box-shadow:0 -8px 30px rgba(45,18,27,.08)}.mobile-bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:#7d7476;font-size:.58rem}.mobile-bottom-nav i{font-size:1rem}.mobile-bottom-nav a:first-child{color:var(--wine)}}
.record-chevron{display:grid;width:29px;height:29px;place-items:center;color:var(--wine);background:#f7f3f1;border-radius:8px}.create-record-dialog{width:min(520px,calc(100% - 28px));padding:34px;border:0;border-radius:20px;box-shadow:0 30px 90px rgba(31,5,13,.35)}.create-record-dialog::backdrop{background:rgba(28,3,11,.65);backdrop-filter:blur(5px)}.create-record-dialog>button{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;background:#f5efed;border-radius:50%;cursor:pointer}.create-record-dialog h2{margin:9px 0 22px;font-size:1.5rem}.create-record-dialog form{display:grid;gap:15px}.create-record-dialog .button{margin-top:7px}
.module-data-panel>header p{margin:7px 0 0;color:var(--muted);font-size:.67rem}.module-summary--success>span{color:var(--success)!important;background:#eaf6ee!important}.module-summary--warning>span{color:#9b6b00!important;background:#fff4dc!important}.module-summary--danger>span{color:var(--danger)!important;background:#fcebec!important}.create-record-dialog--wide{width:min(880px,calc(100% - 28px));max-height:88vh;overflow:auto}.dialog-intro{margin:-12px 0 22px;color:var(--muted);font-size:.72rem}.module-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.module-form-grid .span-2{grid-column:1/-1}.module-form-grid label{display:grid;gap:7px;color:#4c4245;font-size:.68rem;font-weight:700}.module-form-grid label b{margin-left:3px;color:var(--danger)}.module-form-grid input,.module-form-grid select,.module-form-grid textarea{width:100%;padding:12px 13px;color:var(--ink);background:#fbfaf9;border:1px solid var(--border);border-radius:10px;outline:0;font:500 .76rem 'DM Sans',sans-serif}.module-form-grid input:focus,.module-form-grid select:focus,.module-form-grid textarea:focus{border-color:var(--wine-mid);box-shadow:0 0 0 4px rgba(154,23,56,.09)}.record-detail-dialog{width:min(760px,calc(100% - 28px));padding:32px;border:0;border-radius:20px;box-shadow:0 30px 90px rgba(31,5,13,.35)}.record-detail-dialog::backdrop{background:rgba(28,3,11,.65);backdrop-filter:blur(5px)}.record-detail-dialog>button{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;background:#f5efed;border-radius:50%;cursor:pointer}.record-detail-heading{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--border)}.record-detail-heading .record-icon{width:45px;height:45px}.record-detail-heading h2{margin:5px 0 3px;font-size:1.35rem}.record-detail-heading p{margin:0;color:var(--muted);font-size:.7rem}.record-detail-heading>em{padding:7px 11px;color:var(--wine);background:#f7e9ed;border-radius:99px;font-size:.61rem;font-style:normal;font-weight:700}.record-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:22px 0;background:var(--border);border:1px solid var(--border);border-radius:13px;overflow:hidden}.record-detail-grid>div{min-height:82px;padding:15px;background:#fff}.record-detail-grid small{display:block;margin-bottom:8px;color:var(--muted);font-size:.56rem;text-transform:uppercase;letter-spacing:.06em}.record-detail-grid strong{display:block;font-size:.72rem;line-height:1.5;overflow-wrap:anywhere}.record-detail-dialog footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.62rem}.record-detail-dialog footer span{color:var(--success)}
@media(max-width:650px){.module-form-grid{grid-template-columns:1fr}.module-form-grid .span-2{grid-column:auto}.record-detail-grid{grid-template-columns:1fr 1fr}.record-detail-heading{grid-template-columns:42px 1fr}.record-detail-heading>em{grid-column:2;justify-self:start}.record-detail-dialog footer{flex-direction:column}.create-record-dialog--wide,.record-detail-dialog{padding:25px 20px}}
