@import "https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;0,500;0,600;1,400&family=Public+Sans:wght@400;500;600;700&display=swap";:root{--color-accent:#159b6c;--color-accent-dark:#0e7a55;--color-accent-soft:color-mix(in srgb, var(--color-accent) 12%, white);--color-accent-soft-strong:color-mix(in srgb, var(--color-accent) 22%, white);--color-bg:color-mix(in srgb, var(--color-accent) 3%, #faf9f6);--color-bg-raised:#fff;--color-ink:color-mix(in srgb, var(--color-accent) 6%, #1c211f);--color-ink-soft:color-mix(in srgb, var(--color-accent) 4%, #5b625e);--color-line:color-mix(in srgb, var(--color-accent) 8%, #e4e2dc);--color-error:#c8462f;--color-error-soft:color-mix(in srgb, var(--color-error) 10%, white);--color-success:var(--color-accent-dark);--font-display:"Spectral", "Georgia", serif;--font-body:"Public Sans", system-ui, sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow-sm:0 1px 2px color-mix(in srgb, var(--color-ink) 6%, transparent);--shadow-md:0 8px 24px -8px color-mix(in srgb, var(--color-ink) 18%, transparent);--shadow-card:0 1px 2px color-mix(in srgb, var(--color-ink) 4%, transparent), 0 12px 28px -16px color-mix(in srgb, var(--color-ink) 16%, transparent);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--color-bg:color-mix(in srgb, var(--color-accent) 6%, #14181a);--color-bg-raised:#1c2124;--color-ink:color-mix(in srgb, var(--color-accent) 8%, #eef0ee);--color-ink-soft:color-mix(in srgb, var(--color-accent) 6%, #9aa39d);--color-line:color-mix(in srgb, var(--color-accent) 14%, #33393b);--color-accent-soft:color-mix(in srgb, var(--color-accent) 18%, #1c2124);--color-accent-soft-strong:color-mix(in srgb, var(--color-accent) 30%, #1c2124);--color-error-soft:color-mix(in srgb, var(--color-error) 20%, #1c2124);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);background-image:radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--color-accent) 7%, transparent) 0%, transparent 45%), radial-gradient(circle at 92% 100%, color-mix(in srgb, var(--color-accent) 5%, transparent) 0%, transparent 50%);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-ink);margin:0;font-weight:500}p{margin:0;line-height:1.55}button{font-family:inherit}input,select,textarea{font-family:var(--font-body);font-size:16px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page{min-height:100%;padding:var(--space-xl) var(--space-md) var(--space-3xl);flex-direction:column;align-items:center;display:flex}.page__topbar{width:100%;max-width:720px;margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.page__logo{width:auto;height:26px}.masthead{width:100%;max-width:720px;margin-bottom:var(--space-2xl)}.masthead__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-dark);margin-bottom:var(--space-sm);font-size:.75rem;font-weight:700}.masthead__title{font-size:clamp(1.75rem,4vw,2.4rem);line-height:1.15}.masthead__lede{margin-top:var(--space-md);color:var(--color-ink-soft);max-width:58ch;font-size:1rem}.card{background:var(--color-bg-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);width:100%;max-width:720px;box-shadow:var(--shadow-card);padding:var(--space-2xl)}@media (width<=640px){.card{padding:var(--space-lg);border-radius:var(--radius-md)}}.steps{gap:var(--space-sm);width:100%;max-width:720px;margin-bottom:var(--space-xl);display:flex}.steps__item{gap:var(--space-sm);flex-direction:column;flex:1;display:flex}.steps__bar{background:var(--color-line);border-radius:999px;height:4px;overflow:hidden}.steps__bar-fill{background:var(--color-accent);transform-origin:0;height:100%;transition:transform .35s var(--ease-out-expo)}.steps__label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.7rem;font-weight:600}.steps__label--active{color:var(--color-accent-dark)}.step{animation:step-in .32s var(--ease-out-expo)}@keyframes step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.step__title{margin-bottom:var(--space-xs);font-size:1.4rem}.step__subtitle{color:var(--color-ink-soft);margin-bottom:var(--space-xl);font-size:.9rem}.field-grid{gap:var(--space-lg) var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=640px){.field-grid{gap:var(--space-lg);grid-template-columns:1fr}}.field-grid>.field--full{grid-column:1/-1}.field{gap:var(--space-xs);flex-direction:column;display:flex}.field label{color:var(--color-ink-soft);font-size:.8rem;font-weight:600}.field label .required{color:var(--color-error);margin-left:2px}.field input,.field select{border:1.5px solid var(--color-line);background:var(--color-bg-raised);border-radius:var(--radius-sm);color:var(--color-ink);text-overflow:ellipsis;transition:border-color .15s var(--ease-out-expo), box-shadow .15s var(--ease-out-expo);padding:11px 14px}.field input:hover,.field select:hover{border-color:color-mix(in srgb, var(--color-accent) 40%, var(--color-line))}.field input:focus-visible,.field select:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.field input:read-only,.field input:disabled{background:var(--color-accent-soft);color:var(--color-ink);cursor:default;opacity:1}.field input.field--error,.field select.field--error{border-color:var(--color-error)}.field-error-msg{color:var(--color-error);font-size:.78rem}.small-note{color:var(--color-ink-soft);font-size:.78rem}.theme-toggle{border:1.5px solid var(--color-line);background:var(--color-bg-raised);width:36px;height:36px;color:var(--color-ink-soft);cursor:pointer;transition:border-color .15s var(--ease-out-expo), color .15s var(--ease-out-expo);border-radius:50%;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{border-color:var(--color-accent);color:var(--color-accent-dark)}.tecnico-row{gap:var(--space-sm);margin-bottom:var(--space-md);grid-template-columns:2fr 1fr auto;align-items:end;display:grid}@media (width<=640px){.tecnico-row{grid-template-columns:1fr}}.icon-btn{border:1.5px solid var(--color-line);background:var(--color-bg-raised);border-radius:var(--radius-sm);cursor:pointer;width:42px;height:42px;color:var(--color-ink-soft);transition:border-color .15s var(--ease-out-expo), color .15s var(--ease-out-expo), transform .1s var(--ease-out-expo);justify-content:center;align-items:center;display:flex}.icon-btn:hover{border-color:var(--color-error);color:var(--color-error)}.icon-btn:active{transform:scale(.94)}.link-btn{color:var(--color-accent-dark);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600}.link-btn:hover{text-decoration:underline}.upload-list{gap:var(--space-md);flex-direction:column;display:flex}.upload-slot{border:1.5px dashed var(--color-line);border-radius:var(--radius-md);padding:var(--space-lg);align-items:center;gap:var(--space-md);cursor:pointer;transition:border-color .15s var(--ease-out-expo), background .15s var(--ease-out-expo);background:var(--color-bg-raised);display:flex}.upload-slot:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.upload-slot--filled{border-style:solid;border-color:var(--color-accent);background:var(--color-accent-soft)}.upload-slot__icon{background:var(--color-accent-soft-strong);width:40px;height:40px;color:var(--color-accent-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.upload-slot__text{flex:1;min-width:0}.upload-slot__title{font-size:.92rem;font-weight:600}.upload-slot__hint{color:var(--color-ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.8rem;overflow:hidden}.signature-wrap{border:1.5px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg-raised);overflow:hidden}.signature-canvas{touch-action:none;cursor:crosshair;background:repeating-linear-gradient(to bottom, transparent, transparent 44px, var(--color-line) 45px);width:100%;height:220px;display:block}.signature-toolbar{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-line);justify-content:space-between;align-items:center;display:flex}.signature-toolbar__hint{color:var(--color-ink-soft);font-size:.78rem}.radio-group{gap:var(--space-sm);flex-wrap:wrap;display:flex}.radio-pill{border:1.5px solid var(--color-line);cursor:pointer;background:var(--color-bg-raised);transition:border-color .15s var(--ease-out-expo), background .15s var(--ease-out-expo), color .15s var(--ease-out-expo);color:var(--color-ink-soft);border-radius:999px;padding:8px 16px;font-size:.85rem}.radio-pill--active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-dark);font-weight:600}.step-nav{margin-top:var(--space-2xl);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:transform .1s var(--ease-out-expo), opacity .15s var(--ease-out-expo), box-shadow .15s var(--ease-out-expo);border:none;padding:13px 26px;font-size:.92rem;font-weight:600}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){background:var(--color-accent-dark)}.btn--ghost{color:var(--color-ink-soft);border:1.5px solid var(--color-line);background:0 0}.btn--ghost:hover:not(:disabled){border-color:var(--color-ink-soft);color:var(--color-ink)}.btn--danger{background:var(--color-error);color:#fff}.btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-error) 85%, black)}.status-banner{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-lg);font-size:.88rem;display:flex}.status-banner--error{background:var(--color-error-soft);color:color-mix(in srgb, var(--color-error) 70%, black)}.confirmation{text-align:center;padding:var(--space-2xl) 0}.confirmation__mark{background:var(--color-accent-soft-strong);width:56px;height:56px;color:var(--color-accent-dark);margin:0 auto var(--space-lg);animation:mark-in .42s var(--ease-out-expo);border-radius:50%;justify-content:center;align-items:center;display:flex}@keyframes mark-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.confirmation__title{margin-bottom:var(--space-sm);font-size:1.5rem}.confirmation__text{color:var(--color-ink-soft);max-width:44ch;margin:0 auto}.progress-overlay{background:color-mix(in srgb, var(--color-ink) 40%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;animation:fade-in .15s var(--ease-out-expo);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.progress-card{background:var(--color-bg-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-xl) var(--space-2xl);align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.spinner{border:3px solid var(--color-line);border-top-color:var(--color-accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-shell{background:var(--color-bg);min-height:100%;display:flex}.admin-sidebar__logo{width:auto;height:24px;display:block}.admin-sidebar{background:var(--color-bg-raised);border-right:1px solid var(--color-line);width:232px;padding:var(--space-lg) var(--space-md);flex-direction:column;flex-shrink:0;display:flex}.admin-sidebar__brand{font-family:var(--font-display);color:var(--color-accent-dark);margin-bottom:var(--space-2xl);padding:0 var(--space-sm);font-size:1.15rem}.admin-nav{flex-direction:column;gap:2px;display:flex}.admin-nav a{color:var(--color-ink-soft);border-radius:var(--radius-sm);transition:background .12s var(--ease-out-expo), color .12s var(--ease-out-expo);padding:10px 12px;font-size:.88rem;font-weight:500;text-decoration:none}.admin-nav a:hover{background:var(--color-accent-soft);color:var(--color-ink)}.admin-nav a.active{background:var(--color-accent);color:#fff;font-weight:600}.admin-sidebar__footer{padding-top:var(--space-lg);padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--color-line);margin-top:auto}.admin-sidebar__email{color:var(--color-ink-soft);padding:0 var(--space-sm);margin-bottom:var(--space-sm);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.admin-main{min-width:0;padding:var(--space-2xl);flex:1}.admin-menu-toggle{display:none}@media (width<=860px){.admin-shell{display:block}.admin-menu-toggle{z-index:30;width:100%;padding:14px var(--space-lg);background:var(--color-bg-raised);border:none;border-bottom:1px solid var(--color-line);color:var(--color-ink);cursor:pointer;align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex;position:sticky;top:0}.admin-sidebar-backdrop{background:color-mix(in srgb, var(--color-ink) 40%, transparent);z-index:39;position:fixed;inset:0}.admin-sidebar{z-index:40;height:100dvh;transition:transform .22s var(--ease-out-expo);box-shadow:var(--shadow-md);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px));position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.admin-sidebar--open{transform:translate(0)}.admin-main{padding:var(--space-lg)}}.admin-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:flex-end;gap:var(--space-md);flex-wrap:wrap;display:flex}.admin-header h1{font-size:1.5rem}.admin-header__meta{color:var(--color-ink-soft);margin-top:4px;font-size:.85rem}.admin-login-page{min-height:100%;padding:var(--space-lg);justify-content:center;align-items:center;display:flex}.admin-login-card{background:var(--color-bg-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-card);padding:var(--space-2xl)}.admin-login-card h1{margin-bottom:var(--space-xs);color:var(--color-accent-dark);font-size:1.3rem}.admin-login-card__subtitle{color:var(--color-ink-soft);margin-bottom:var(--space-xl);font-size:.85rem}.admin-login-card .field{margin-bottom:var(--space-md)}.leads-toolbar{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}.leads-toolbar input[type=search],.leads-toolbar select{border:1.5px solid var(--color-line);background:var(--color-bg-raised);border-radius:var(--radius-sm);min-width:220px;color:var(--color-ink);padding:9px 14px;font-size:.85rem}.filter-pill{border:1.5px solid var(--color-line);background:var(--color-bg-raised);cursor:pointer;color:var(--color-ink-soft);border-radius:999px;padding:7px 14px;font-size:.8rem}.filter-pill--active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-dark);font-weight:600}.leads-table-wrap{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-bg-raised);box-shadow:var(--shadow-card);-webkit-overflow-scrolling:touch;overflow:auto hidden}table.leads-table{border-collapse:collapse;width:100%;font-size:.85rem}table.leads-table--wide{min-width:560px}.leads-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-soft);border-bottom:1px solid var(--color-line);padding:14px 18px;font-size:.72rem;font-weight:600}.leads-table tbody tr{cursor:pointer;transition:background .1s var(--ease-out-expo)}.leads-table tbody tr:nth-child(2n){background:color-mix(in srgb, var(--color-accent) 2.5%, transparent)}.leads-table tbody tr:hover{background:var(--color-accent-soft)}.leads-table tbody tr:not(:last-child) td{border-bottom:1px solid var(--color-line)}.leads-table td{vertical-align:middle;padding:14px 18px}.leads-table__empty{padding:var(--space-2xl);text-align:center;color:var(--color-ink-soft);font-size:.9rem}.badge{border-radius:999px;align-items:center;gap:5px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.badge--pendente{color:#935e15;background:#faefe1}.badge--enviado{background:var(--color-accent-soft-strong);color:var(--color-accent-dark)}.badge__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.detail-back{color:var(--color-ink-soft);margin-bottom:var(--space-lg);align-items:center;gap:6px;font-size:.85rem;text-decoration:none;display:inline-flex}.detail-back:hover{color:var(--color-ink)}.detail-grid{gap:var(--space-lg);grid-template-columns:1.6fr 1fr;align-items:start;display:grid}@media (width<=900px){.detail-grid{grid-template-columns:1fr}}.detail-section{background:var(--color-bg-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-lg);margin-bottom:var(--space-lg)}.detail-section h3{margin-bottom:var(--space-md);color:var(--color-accent-dark);font-size:1rem}.detail-kv-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);margin:0;display:grid}@media (width<=560px){.detail-kv-grid{grid-template-columns:1fr}}.kv{flex-direction:column;gap:2px;display:flex}.kv dt{text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-soft);font-size:.72rem;font-weight:600}.kv dd{margin:0;font-size:.9rem}.doc-list{gap:var(--space-sm);flex-direction:column;display:flex}.doc-item{justify-content:space-between;align-items:center;gap:var(--space-sm);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-accent) 1.5%, transparent);padding:10px 14px;font-size:.85rem;display:flex}.doc-item__actions{gap:var(--space-sm);flex-shrink:0;display:flex}.doc-item a,.doc-item button{color:var(--color-accent-dark);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:600;text-decoration:none}.doc-item a:hover,.doc-item button:hover{text-decoration:underline}.signature-preview{border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-sm);background:#fff;justify-content:center;align-items:center;min-height:100px;display:flex}.signature-preview img{max-width:100%;max-height:140px}.logistics-form .field{margin-bottom:var(--space-md)}.small-note{color:var(--color-ink-soft);margin-top:var(--space-sm);font-size:.78rem}.kpi-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.kpi-card{background:var(--color-bg-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-lg);flex-direction:column;gap:6px;display:flex}.kpi-card__label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-soft);font-size:.75rem;font-weight:600}.kpi-card__value{font-family:var(--font-display);color:var(--color-accent-dark);font-size:2rem}.catalogo-accordion{margin-bottom:8px}.catalogo-accordion__header{background:var(--color-bg-raised);border:1px solid var(--color-line);border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--color-ink);transition:border-color .12s var(--ease-out-expo);align-items:center;gap:10px;margin-bottom:8px;padding:12px 16px;font-size:.92rem;font-weight:600;display:flex}.catalogo-accordion__header:hover{border-color:var(--color-accent)}.catalogo-accordion__count{color:var(--color-ink-soft);background:var(--color-accent-soft);border-radius:999px;margin-left:auto;padding:2px 10px;font-size:.75rem;font-weight:600}.orcamento-item-grid{grid-template-columns:.7fr 1fr 1fr auto;align-items:end;gap:8px;display:grid}@media (width<=640px){.orcamento-item-grid{grid-template-columns:1fr 1fr}}.orcamento-status{border:1.5px solid var(--color-line);cursor:pointer;background:var(--color-bg-raised);color:var(--color-ink-soft);border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600}.orcamento-status--aguardando{border-color:color-mix(in srgb, #d98a2b 50%, var(--color-line));color:#935e15;background:#faf1e6}.orcamento-status--aceito{border-color:color-mix(in srgb, var(--color-accent) 50%, var(--color-line));color:var(--color-accent-dark);background:var(--color-accent-soft)}.orcamento-status--pago{border-color:var(--color-accent);color:#fff;background:var(--color-accent)}.orcamento-status--recusado{border-color:color-mix(in srgb, var(--color-error) 50%, var(--color-line));color:var(--color-error);background:var(--color-error-soft)}
