:root { color-scheme:light; --ink:#162437; --muted:#768293; --border:#e6eaf0; --teal:#16a08f; --teal-deep:#0c8076; --bg:#f6f8fa; --shadow:0 22px 74px rgba(27,48,70,.07); }
* { box-sizing:border-box; }
html { min-width:320px; }
body { margin:0; font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:15px; color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased; }
button,input { font:inherit; }
button { cursor:pointer; }
.login-page { min-height:100vh; min-height:100dvh; display:flex; padding:24px; align-items:center; justify-content:center; }
.login-shell { width:min(1290px,100%); min-height:min(780px,calc(100dvh - 48px)); display:grid; grid-template-columns:1.06fr 1fr; overflow:hidden; background:white; border:1px solid #e8edf1; border-radius:24px; box-shadow:var(--shadow); }
.presentation-panel { position:relative; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; color:#fff; padding:43px 47px 34px; background:radial-gradient(ellipse 84% 55% at 106% -4%,rgba(78,200,190,.22),transparent 70%), linear-gradient(145deg,#0f283e 2%,#133d4a 52%,#10695e 105%); isolation:isolate; }
.presentation-panel::before { content:""; width:460px; height:460px; border:1px solid rgba(255,255,255,.075); border-radius:50%; position:absolute; right:-260px; top:80px; box-shadow:0 0 0 72px rgba(255,255,255,.019),0 0 0 145px rgba(255,255,255,.016); z-index:-1; }
.presentation-panel::after { content:""; position:absolute; height:1px; left:48px; right:48px; bottom:85px; background:rgba(255,255,255,.13); }
.brand { display:flex; align-items:center; gap:13px; font-weight:800; letter-spacing:-1.3px; }
.brand-icon { width:34px; height:34px; display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); gap:3px; transform:rotate(-13deg); }
.brand-icon span { background:var(--teal); border-radius:5px 3px 5px 3px; }
.light-brand .brand-icon span { background:#58dac4; }
.brand-icon span:nth-child(2) { opacity:.7; }
.brand-icon span:nth-child(3) { opacity:.5; }
.brand-name { display:flex; align-items:baseline; font-size:26px; color:inherit; }
.brand-name > span:first-child { color:#4cd9be; }
.brand-tag { display:inline-block; font-size:10px; letter-spacing:1.6px; font-weight:800; margin-left:12px; opacity:.76; }
.presentation-content { margin:58px auto 58px 0; width:100%; max-width:510px; }
.eyebrow-light { display:flex; gap:10px; align-items:center; color:#b5e3de; font-size:11px; font-weight:800; letter-spacing:2px; }
.eyebrow-dot { width:7px; height:7px; border-radius:50%; background:#53d8c1; box-shadow:0 0 0 4px rgba(83,216,193,.14); }
.presentation-content h1 { font-size:clamp(39px,3.7vw,57px); line-height:1.13; letter-spacing:-2.8px; font-weight:740; margin:23px 0 17px; }
.presentation-content h1 em { font-style:normal; color:#64e4cb; }
.presentation-content > p { font-size:15.5px; line-height:1.75; max-width:430px; color:#c9dade; margin:0; }
.workflow-card { margin-top:37px; max-width:490px; border:1px solid rgba(255,255,255,.20); border-radius:16px; padding:8px 17px 6px; box-shadow:0 22px 42px rgba(5,26,33,.18); background:rgba(255,255,255,.105); backdrop-filter:blur(12px); }
.workflow-heading { display:flex; gap:11px; align-items:center; padding:13px 0 13px; font-weight:750; font-size:13px; border-bottom:1px solid rgba(255,255,255,.17); }
.workflow-mark { color:#80f0da; font-size:23px; line-height:1; }
.workflow-dots { margin-left:auto; font-size:20px; letter-spacing:2px; color:#c5d4da; }
.workflow-item { display:flex; align-items:center; gap:11px; min-height:71px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.workflow-item:last-child { border-bottom:0; }
.workflow-symbol { width:33px; height:33px; display:grid; flex-shrink:0; place-items:center; border-radius:9px; font-size:17px; font-weight:800; background:rgba(119,232,207,.15); color:#7ff1d6; }
.workflow-symbol.discussion { color:#ffdf99; background:rgba(247,215,143,.13); }
.workflow-symbol.pending { color:#d0d9eb; background:rgba(222,232,248,.13); }
.workflow-item > div { min-width:0; flex:1; }
.workflow-item strong { display:block; font-weight:700; font-size:12.5px; margin-bottom:5px; }
.workflow-item small { display:block; color:#bdced2; font-size:11.5px; }
.workflow-status { white-space:nowrap; display:inline-flex; border-radius:30px; padding:6px 9px; font-size:10px; font-weight:700; }
.workflow-status.done { color:#a6ffdf; background:rgba(66,184,140,.16); }
.workflow-status.underway { color:#ffdda2; background:rgba(255,195,94,.14); }
.workflow-status.next { color:#cdd6e4; background:rgba(222,228,239,.12); }
.presentation-footer { display:flex; justify-content:space-between; gap:12px; color:rgba(232,250,249,.70); font-size:11px; }
.access-panel { display:flex; flex-direction:column; justify-content:space-between; padding:42px 56px 33px; min-width:0; }
.mobile-brand { display:none; }
.login-content { margin:auto; width:100%; max-width:405px; padding:30px 0 28px; }
.access-eyebrow { display:flex; align-items:center; gap:11px; color:var(--teal-deep); font-size:10px; font-weight:850; letter-spacing:2px; }
.access-eyebrow-line { display:block; width:22px; height:2px; background:var(--teal); }
.login-content h2 { font-size:clamp(30px,3vw,40px); letter-spacing:-1.6px; margin:18px 0 12px; line-height:1.13; font-weight:770; }
.login-subtitle { line-height:1.75; color:var(--muted); margin:0 0 34px; max-width:395px; font-size:14px; }
.login-form { display:grid; gap:22px; }
.form-group { display:grid; gap:9px; }
.form-group label { color:#263549; font-size:12.5px; font-weight:750; }
.input-frame { display:flex; align-items:center; gap:10px; height:54px; border:1px solid #dce4e9; border-radius:11px; padding:0 15px; background:#fbfcfd; transition:border .2s,box-shadow .2s; }
.input-frame:focus-within { border-color:var(--teal); box-shadow:0 0 0 4px rgba(16,159,142,.10); }
.input-icon,.show-password svg,.primary-button svg { display:block; width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.input-icon { color:#97a5b4; }
.input-frame input { background:transparent; width:100%; height:100%; border:0; outline:0; color:#172638; font-size:14px; min-width:0; }
.input-frame input::placeholder { color:#a8b2bd; }
.show-password { border:0; padding:6px; margin-right:-7px; background:transparent; color:#8695a5; border-radius:7px; }
.show-password:hover,.show-password:focus-visible { color:var(--teal-deep); background:#ebf5f3; }
.primary-button { margin-top:7px; height:55px; display:flex; gap:12px; justify-content:center; align-items:center; padding:0 18px; width:100%; background:#119b8b; color:white; border:0; border-radius:10px; font-size:14px; font-weight:800; box-shadow:0 11px 24px rgba(17,155,139,.20); transition:transform .2s,background .2s,box-shadow .2s; }
.primary-button:hover { background:#0a8679; transform:translateY(-1px); box-shadow:0 15px 28px rgba(17,155,139,.25); }
.primary-button:focus-visible { outline:3px solid #50e0c9; outline-offset:3px; }
.primary-button svg { width:18px; height:18px; }
.support-note { display:flex; align-items:flex-start; gap:10px; margin-top:28px; color:#8492a0; font-size:12px; line-height:1.65; }
.support-note-icon { display:inline-grid; flex-shrink:0; place-items:center; border:1px solid #bdcbd3; color:#8395a4; width:17px; height:17px; border-radius:50%; line-height:1; font-size:11px; font-weight:800; margin-top:1px; }
.access-footer { display:flex; align-items:center; justify-content:space-between; font-size:11px; color:#94a1ac; gap:12px; }
.access-footer > span:first-child { display:flex; align-items:center; gap:7px; }
.secure-dot { display:inline-block; background:#4ab79d; width:6px; height:6px; border-radius:50%; }
.alert { display:flex; gap:10px; align-items:flex-start; padding:13px 14px; border-radius:10px; margin:0 0 24px; font-size:12.5px; line-height:1.5; }
.alert-error { background:#fff4f2; color:#9b3c32; border:1px solid #f2d2ce; }
.alert > span:first-child { background:#d95148; color:white; display:grid; place-items:center; border-radius:50%; font-weight:700; font-size:11px; flex-shrink:0; width:17px; height:17px; }
/* Painel e primeira instalação */
.dashboard-page { min-height:100vh; background:#f5f7f9; }
.topbar { background:#fff; border-bottom:1px solid #e7edf0; padding:21px max(25px,calc((100% - 1120px)/2)); display:flex; justify-content:space-between; align-items:center; gap:16px; }
.topbar .brand-name { color:#1d3446; }
.topbar .brand-tag { color:#7e8d99; }
.topbar-actions { display:flex; align-items:center; gap:22px; }
.topbar-user { font-size:13px; color:#748190; }
.text-button { background:none; color:#0b8a7f; border:0; font-weight:700; }
.dashboard-container { max-width:1120px; padding:42px 24px; margin:auto; }
.dashboard-eyebrow { color:#168f82; letter-spacing:1.8px; font-size:11px; font-weight:800; }
.dashboard-container h1 { font-size:34px; letter-spacing:-1.2px; margin:10px 0 8px; }
.dashboard-lead { color:#758497; margin:0 0 31px; line-height:1.65; }
.metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.metric-card,.empty-card { background:white; border:1px solid #e5ecf1; border-radius:15px; padding:24px; }
.metric-card > span { color:#778596; font-weight:650; font-size:12px; }
.metric-card strong { display:block; font-size:36px; margin-top:16px; letter-spacing:-1.2px; }
.empty-card { margin-top:20px; padding:38px 30px; }
.empty-card h2 { font-size:20px; margin:0 0 9px; }
.empty-card p { color:#748294; line-height:1.65; max-width:640px; margin:0; }
.setup-page { background:#f4f7f9; padding:35px 18px; min-height:100dvh; display:grid; place-items:center; }
.setup-card { max-width:520px; width:100%; background:#fff; padding:36px; border:1px solid #e5ebf0; border-radius:18px; box-shadow:var(--shadow); }
.setup-card h1 { font-size:26px; margin:24px 0 8px; letter-spacing:-.8px; }
.setup-card p { color:#738190; font-size:13px; line-height:1.7; margin-bottom:26px; }
.setup-card .login-form { gap:18px; }
.setup-card .brand-name { color:var(--ink); }
.success-message { border:1px solid #c2e7db; border-radius:10px; background:#e8f8f2; color:#136d56; padding:14px; line-height:1.5; }
.setup-card a { color:#078d81; font-weight:700; }
@media (max-width:1080px) { .access-panel { padding:32px 38px 27px; } .presentation-panel { padding:35px 33px 30px; } .presentation-content h1 { font-size:42px; } .workflow-status { display:none; } }
@media (max-width:780px) { .login-page { padding:0; } .login-shell { min-height:100dvh; border:0; border-radius:0; box-shadow:none; display:block; } .presentation-panel { display:none; } .access-panel { min-height:100dvh; padding:28px 25px 23px; } .mobile-brand { display:flex; } .mobile-brand .brand-name { color:#162437; } .login-content { max-width:440px; padding:76px 0 72px; } .login-content h2 { font-size:36px; } .access-footer { max-width:440px; width:100%; margin:0 auto; } }
@media (max-width:460px) { .access-panel { padding:25px 22px 23px; } .mobile-brand .brand-name { font-size:23px; } .brand-tag { margin-left:8px; } .login-content { padding:65px 0; } .access-footer { font-size:10px; } .topbar-user { display:none; } .topbar { padding:18px; } .dashboard-container { padding:30px 18px; } .metrics { grid-template-columns:1fr; } .setup-card { padding:26px 20px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { transition:none !important; } }
