/* =========================================================
   PL GESTOR — DESIGN SYSTEM GLOBAL
   1. Tokens  2. Reset  3. Base  4. Layout  5. Components
   6. Forms   7. Navigation  8. Charts  9. Print  10. Responsive
   ========================================================= */

:root {
  color-scheme: dark;
  --bg-0: #020910;
  --bg-1: #031019;
  --bg-2: #071722;
  --surface-0: rgba(8, 24, 35, .86);
  --surface-1: rgba(11, 31, 44, .92);
  --surface-2: rgba(14, 39, 53, .88);
  --surface-hover: rgba(19, 51, 67, .92);
  --glass: rgba(7, 23, 33, .72);
  --green: #20e879;
  --green-bright: #59ff9f;
  --green-deep: #0aad4f;
  --green-soft: rgba(32, 232, 121, .13);
  --cyan: #12c9f5;
  --cyan-bright: #66e8ff;
  --cyan-soft: rgba(18, 201, 245, .13);
  --orange: #ffab2e;
  --orange-soft: rgba(255, 171, 46, .13);
  --red: #ff586a;
  --red-soft: rgba(255, 88, 106, .13);
  --blue: #438dff;
  --purple: #9e7cff;
  --text-0: #f7fbff;
  --text-1: #b8c5cf;
  --text-2: #718391;
  --line: rgba(255, 255, 255, .08);
  --line-strong: rgba(255, 255, 255, .14);
  --line-green: rgba(32, 232, 121, .28);
  --shadow-xs: 0 8px 20px rgba(0, 0, 0, .18);
  --shadow-sm: 0 14px 34px rgba(0, 0, 0, .28);
  --shadow-lg: 0 28px 70px rgba(0, 0, 0, .44);
  --glow-green: 0 16px 42px rgba(32, 232, 121, .20);
  --glow-cyan: 0 16px 42px rgba(18, 201, 245, .18);
  --radius-xs: 12px;
  --radius-sm: 16px;
  --radius-md: 22px;
  --radius-lg: 30px;
  --radius-xl: 38px;
  --pill: 999px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --container: 1240px;
  --nav-h: 86px;
  --ease: 220ms cubic-bezier(.2, .8, .2, 1);
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { min-height: 100%; scroll-behavior: smooth; font-family: var(--font); background: var(--bg-0); }
body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 8% -5%, rgba(18, 201, 245, .17), transparent 30%),
    radial-gradient(circle at 92% 2%, rgba(32, 232, 121, .13), transparent 26%),
    radial-gradient(circle at 50% 120%, rgba(67, 141, 255, .09), transparent 38%),
    linear-gradient(180deg, var(--bg-0), var(--bg-1) 42%, #05131c 100%);
  color: var(--text-0);
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .20;
  background-image:
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 34px 34px;
  -webkit-mask-image: linear-gradient(to bottom, #000 0, rgba(0,0,0,.55) 38%, transparent 86%);
  mask-image: linear-gradient(to bottom, #000 0, rgba(0,0,0,.55) 38%, transparent 86%);
}
body::after {
  content: "";
  position: fixed;
  width: 460px;
  height: 460px;
  right: -250px;
  top: 35%;
  border-radius: 50%;
  background: rgba(32, 232, 121, .065);
  filter: blur(12px);
  pointer-events: none;
}
button, input, select, textarea { font: inherit; }
button { border: 0; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
img, svg, canvas { display: block; max-width: 100%; }
:focus-visible { outline: 3px solid rgba(18, 201, 245, .42); outline-offset: 3px; }
::selection { background: rgba(32, 232, 121, .28); }

/* ---- Utilities ---- */
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.text-muted { color: var(--text-2); }
.text-secondary { color: var(--text-1); }
.text-green { color: var(--green); }
.text-cyan { color: var(--cyan); }
.text-orange { color: var(--orange); }
.text-red { color: var(--red); }
.text-right { text-align: right; }
.spacer { flex: 1; }
.row { display: flex; align-items: center; gap: var(--space-3); }
.row-wrap { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3); }
.stack { display: grid; gap: var(--space-4); }
.stack-sm { display: grid; gap: var(--space-2); }
.divider { height: 1px; background: var(--line); margin: var(--space-5) 0; }

/* ---- App shells ---- */
#app { min-height: 100vh; position: relative; z-index: 1; }
.app-shell { width: min(100% - 36px, var(--container)); margin-inline: auto; padding: 24px 0 calc(var(--nav-h) + 44px); }
.page { animation: page-in .28s ease both; }
@keyframes page-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; margin: 8px 0 24px; }
.page-kicker { font-size: .76rem; text-transform: uppercase; letter-spacing: .14em; color: var(--green); font-weight: 800; margin-bottom: 7px; }
.page-title { font-size: clamp(2rem, 5vw, 3.55rem); letter-spacing: -.055em; line-height: .98; }
.page-subtitle { color: var(--text-1); line-height: 1.65; margin-top: 10px; max-width: 760px; }
.section-title { font-size: 1.04rem; letter-spacing: -.02em; }
.section-note { color: var(--text-2); font-size: .84rem; }

/* ---- Auth ---- */
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); }
.auth-visual { position: relative; overflow: hidden; min-height: 100vh; padding: clamp(36px, 6vw, 80px); display: flex; flex-direction: column; justify-content: space-between; }
.auth-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 38% 40%, rgba(18, 201, 245, .18), transparent 23%),
    radial-gradient(circle at 64% 28%, rgba(32, 232, 121, .14), transparent 20%),
    linear-gradient(115deg, rgba(3,16,25,.18), rgba(2,9,16,.94));
}
.auth-visual::after {
  content: "";
  position: absolute;
  width: min(72vw, 720px);
  aspect-ratio: 1;
  left: 50%;
  bottom: -34%;
  transform: translateX(-50%);
  border-radius: 50%;
  border: 1px solid rgba(18,201,245,.20);
  box-shadow:
    0 0 0 50px rgba(18,201,245,.018),
    0 0 0 100px rgba(32,232,121,.015),
    0 0 120px rgba(18,201,245,.16);
}
.auth-grid-art { position: absolute; inset: 0; opacity: .30; background-image: linear-gradient(30deg, transparent 49.4%, rgba(18,201,245,.12) 50%, transparent 50.6%), linear-gradient(-30deg, transparent 49.4%, rgba(32,232,121,.09) 50%, transparent 50.6%); background-size: 90px 90px; }
.auth-copy { position: relative; z-index: 2; max-width: 720px; }
.auth-copy h1 { font-size: clamp(2.9rem, 7vw, 6.3rem); letter-spacing: -.075em; line-height: .92; margin: 30px 0 22px; }
.auth-copy h1 span { display: block; background: linear-gradient(90deg, var(--green-bright), var(--cyan-bright)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.auth-copy p { max-width: 630px; font-size: clamp(1rem, 2vw, 1.2rem); color: var(--text-1); line-height: 1.7; }
.auth-points { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.auth-point { padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(7,23,33,.48); backdrop-filter: blur(14px); }
.auth-point strong { display: block; font-size: .92rem; margin-bottom: 4px; }
.auth-point span { color: var(--text-2); font-size: .78rem; }
.auth-panel { min-height: 100vh; display: grid; place-items: center; padding: 28px; background: rgba(2,9,16,.54); border-left: 1px solid var(--line); backdrop-filter: blur(18px); }
.auth-card { width: min(100%, 500px); padding: clamp(24px, 4vw, 38px); border: 1px solid var(--line); border-radius: var(--radius-xl); background: linear-gradient(180deg, rgba(12,34,48,.96), rgba(5,18,27,.96)); box-shadow: var(--shadow-lg); }
.auth-card h2 { font-size: 2rem; letter-spacing: -.045em; margin: 30px 0 8px; }
.auth-card > p { color: var(--text-1); line-height: 1.6; margin-bottom: 24px; }
.auth-links { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; }
.auth-links button { cursor: pointer; background: transparent; color: var(--cyan); font-weight: 700; }
.auth-demo { margin-top: 18px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.028); color: var(--text-2); font-size: .82rem; line-height: 1.6; }

/* ---- Brand and topbar ---- */
.brand { display: inline-flex; align-items: center; gap: 13px; }
.brand-mark { width: 54px; height: 54px; border-radius: 19px; display: grid; place-items: center; color: #00170b; font-weight: 950; letter-spacing: -.09em; font-size: 1.12rem; background: linear-gradient(145deg, var(--green-bright), var(--green-deep)); box-shadow: var(--glow-green); position: relative; overflow: hidden; }
.brand-mark::after { content: ""; position: absolute; inset: 1px; border-radius: 18px; border: 1px solid rgba(255,255,255,.28); }
.brand-copy strong { display: block; font-size: 1.05rem; letter-spacing: -.02em; }
.brand-copy span { display: block; color: var(--text-2); font-size: .76rem; margin-top: 2px; }
.topbar { position: sticky; top: 12px; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 28px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 24px; background: rgba(4,16,25,.78); box-shadow: var(--shadow-sm); backdrop-filter: blur(22px); }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.user-chip { min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 5px 12px 5px 6px; border: 1px solid var(--line); border-radius: var(--pill); background: rgba(255,255,255,.035); color: var(--text-0); cursor: pointer; transition: var(--ease); }
.user-chip:hover { background: rgba(255,255,255,.065); border-color: var(--line-strong); }
.avatar { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-weight: 900; background: var(--green-soft); color: var(--green); }
.user-meta { text-align: left; }
.user-meta strong, .user-meta span { display: block; }
.user-meta strong { font-size: .86rem; }
.user-meta span { color: var(--text-2); font-size: .71rem; margin-top: 2px; }

/* ---- Cards & grids ---- */
.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-main { grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr); }
.card { border: 1px solid var(--line); border-radius: var(--radius-md); background: linear-gradient(180deg, var(--surface-1), rgba(6,20,29,.84)); box-shadow: var(--shadow-sm); backdrop-filter: blur(16px); padding: 22px; transition: transform var(--ease), border-color var(--ease), background var(--ease); overflow: hidden; }
.card.interactive:hover { transform: translateY(-3px); border-color: var(--line-green); background: linear-gradient(180deg, var(--surface-2), rgba(8,25,35,.92)); }
.card-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.metric-card { min-height: 158px; position: relative; isolation: isolate; }
.metric-card::after { content: ""; position: absolute; width: 130px; height: 130px; border-radius: 50%; right: -52px; top: -58px; background: var(--metric-glow, rgba(32,232,121,.11)); filter: blur(2px); z-index: -1; }
.metric-card.green { --metric-glow: rgba(32,232,121,.13); border-color: rgba(32,232,121,.17); }
.metric-card.cyan { --metric-glow: rgba(18,201,245,.14); border-color: rgba(18,201,245,.17); }
.metric-card.orange { --metric-glow: rgba(255,171,46,.13); border-color: rgba(255,171,46,.17); }
.metric-card.blue { --metric-glow: rgba(67,141,255,.13); border-color: rgba(67,141,255,.17); }
.metric-label { font-size: .73rem; text-transform: uppercase; letter-spacing: .11em; color: var(--text-2); font-weight: 800; }
.metric-value { font-size: clamp(1.55rem, 4vw, 2.5rem); letter-spacing: -.055em; font-weight: 900; margin: 10px 0 8px; }
.metric-foot { color: var(--text-1); font-size: .8rem; line-height: 1.5; }
.metric-trend { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; padding: 6px 9px; border-radius: var(--pill); font-size: .72rem; font-weight: 800; background: var(--green-soft); color: var(--green); }
.metric-trend.danger { background: var(--red-soft); color: var(--red); }
.stat-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.stat-mini { padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.026); }
.stat-mini span { color: var(--text-2); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.stat-mini strong { display: block; margin-top: 7px; font-size: 1rem; }

/* ---- Buttons ---- */
.btn { min-height: 52px; padding: 0 20px; border-radius: 17px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-weight: 850; cursor: pointer; color: var(--text-0); transition: transform var(--ease), background var(--ease), box-shadow var(--ease), border-color var(--ease); }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: none; }
.btn-primary { color: #00160a; background: linear-gradient(180deg, var(--green-bright), var(--green)); box-shadow: var(--glow-green); }
.btn-primary:hover { box-shadow: 0 18px 46px rgba(32,232,121,.28); }
.btn-secondary { background: rgba(255,255,255,.055); border: 1px solid var(--line); }
.btn-secondary:hover { background: rgba(255,255,255,.09); border-color: var(--line-strong); }
.btn-cyan { color: #00151b; background: linear-gradient(180deg, var(--cyan-bright), var(--cyan)); box-shadow: var(--glow-cyan); }
.btn-danger { background: var(--red-soft); color: var(--red); border: 1px solid rgba(255,88,106,.25); }
.btn-ghost { min-height: 44px; padding: 0 14px; background: transparent; color: var(--text-1); }
.btn-icon { width: 46px; height: 46px; padding: 0; border-radius: 15px; background: rgba(255,255,255,.05); border: 1px solid var(--line); color: var(--text-1); }
.btn-block { width: 100%; }
.btn-sm { min-height: 38px; padding: 0 12px; border-radius: 13px; font-size: .78rem; }
.btn[disabled] { opacity: .48; cursor: not-allowed; transform: none; }
.icon { width: 20px; height: 20px; flex: 0 0 auto; }
.icon-lg { width: 27px; height: 27px; }

/* ---- Quick action cards ---- */
.quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.quick-card { min-height: 132px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.026); color: var(--text-0); cursor: pointer; transition: var(--ease); }
.quick-card:hover { transform: translateY(-3px); background: var(--surface-hover); border-color: var(--line-green); }
.quick-icon { width: 46px; height: 46px; border-radius: 16px; display: grid; place-items: center; background: var(--cyan-soft); color: var(--cyan); }
.quick-card.green .quick-icon { background: var(--green-soft); color: var(--green); }
.quick-card.orange .quick-icon { background: var(--orange-soft); color: var(--orange); }
.quick-card strong { font-size: .9rem; }
.quick-card span { color: var(--text-2); font-size: .72rem; line-height: 1.4; }

/* ---- Forms ---- */
.form-grid { display: grid; gap: 16px; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.field { display: grid; gap: 8px; }
.field label { color: var(--text-1); font-size: .82rem; font-weight: 750; }
.field-hint { color: var(--text-2); font-size: .72rem; line-height: 1.45; }
.input, .select, .textarea { width: 100%; border: 1px solid var(--line); background: rgba(255,255,255,.045); color: var(--text-0); border-radius: 16px; outline: none; transition: var(--ease); }
.input, .select { min-height: 54px; padding: 0 16px; }
.textarea { min-height: 112px; resize: vertical; padding: 15px 16px; }
.input::placeholder, .textarea::placeholder { color: #637684; }
.input:focus, .select:focus, .textarea:focus { border-color: var(--line-green); background: rgba(255,255,255,.06); box-shadow: 0 0 0 4px rgba(32,232,121,.075); }
.select { color-scheme: dark; appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--text-2) 50%), linear-gradient(135deg, var(--text-2) 50%, transparent 50%); background-position: calc(100% - 20px) 23px, calc(100% - 15px) 23px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-right: 38px; }
.select option, .select optgroup { background: #0a2230; color: #f4fbff; }
select option:checked { background: #17465d; color: #ffffff; }
.checkbox { display: flex; align-items: flex-start; gap: 10px; color: var(--text-1); font-size: .84rem; cursor: pointer; }
.checkbox input { width: 18px; height: 18px; accent-color: var(--green); margin-top: 1px; }
.form-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 4px; }

/* ---- Lists / tables ---- */
.list { display: grid; gap: 10px; }
.list-item { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 14px; border: 1px solid rgba(255,255,255,.055); border-radius: 16px; background: rgba(255,255,255,.024); }
.list-item:hover { background: rgba(255,255,255,.038); }
.list-main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.list-icon { width: 40px; height: 40px; border-radius: 14px; display: grid; place-items: center; background: var(--green-soft); color: var(--green); flex: 0 0 auto; }
.list-icon.out { background: var(--orange-soft); color: var(--orange); }
.list-icon.info { background: var(--cyan-soft); color: var(--cyan); }
.list-copy { min-width: 0; }
.list-copy strong { display: block; font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.list-copy span { display: block; color: var(--text-2); font-size: .74rem; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.list-value { text-align: right; font-weight: 850; white-space: nowrap; }
.list-actions { display: flex; align-items: center; gap: 7px; }
.table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: var(--radius-md); }
.table { width: 100%; border-collapse: collapse; min-width: 720px; }
.table th, .table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--line); }
.table th { position: sticky; top: 0; z-index: 2; background: #0a1f2c; color: var(--text-2); font-size: .72rem; text-transform: uppercase; letter-spacing: .09em; }
.table td { font-size: .84rem; }
.table tr:last-child td { border-bottom: 0; }
.table tbody tr:hover { background: rgba(255,255,255,.025); }

/* ---- Badges and status ---- */
.badge { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: var(--pill); font-size: .71rem; font-weight: 850; white-space: nowrap; }
.badge.green { background: var(--green-soft); color: var(--green); }
.badge.cyan { background: var(--cyan-soft); color: var(--cyan); }
.badge.orange { background: var(--orange-soft); color: var(--orange); }
.badge.red { background: var(--red-soft); color: var(--red); }
.badge.neutral { background: rgba(255,255,255,.06); color: var(--text-1); }
.dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 12px currentColor; }

/* ---- Progress / charts ---- */
.progress { height: 11px; border-radius: var(--pill); background: rgba(255,255,255,.06); overflow: hidden; }
.progress-bar { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--green), var(--cyan)); transition: width .45s ease; }
.progress-bar.warning { background: linear-gradient(90deg, var(--orange), var(--red)); }
.chart-wrap { height: 250px; position: relative; }
.chart-wrap canvas { width: 100%; height: 100%; }
.chart-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.legend-item { display: inline-flex; align-items: center; gap: 8px; color: var(--text-1); font-size: .76rem; }
.legend-swatch { width: 10px; height: 10px; border-radius: 4px; background: var(--green); }
.legend-swatch.cyan { background: var(--cyan); }
.legend-swatch.orange { background: var(--orange); }
.legend-swatch.red { background: var(--red); }

/* ---- Segmented tabs ---- */
.segmented { display: inline-flex; gap: 6px; padding: 5px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.025); overflow-x: auto; }
.segmented button { min-height: 38px; padding: 0 14px; border-radius: 12px; background: transparent; color: var(--text-2); font-weight: 800; cursor: pointer; white-space: nowrap; }
.segmented button.active { background: var(--green-soft); color: var(--green); }

/* ---- Kanban ---- */
.kanban { display: grid; grid-template-columns: repeat(3, minmax(270px,1fr)); gap: 16px; overflow-x: auto; padding-bottom: 4px; }
.kanban-column { min-height: 360px; padding: 15px; border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(255,255,255,.02); }
.kanban-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.kanban-title { font-size: .86rem; }
.task-card { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(180deg, rgba(14,39,53,.90), rgba(7,23,33,.86)); margin-bottom: 10px; }
.task-card:last-child { margin-bottom: 0; }
.task-card strong { font-size: .86rem; line-height: 1.45; }
.task-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--text-2); font-size: .7rem; }
.task-actions { display: flex; gap: 7px; }
.task-actions button { flex: 1; }

/* ---- Voice ---- */
.voice-panel { min-height: 360px; display: grid; place-items: center; text-align: center; padding: 36px; position: relative; }
.voice-orb { width: 128px; height: 128px; border-radius: 42px; display: grid; place-items: center; background: linear-gradient(145deg, var(--cyan-bright), var(--cyan)); color: #00151b; box-shadow: var(--glow-cyan); cursor: pointer; position: relative; transition: var(--ease); }
.voice-orb:hover { transform: translateY(-4px) scale(1.02); }
.voice-orb.listening::before, .voice-orb.listening::after { content: ""; position: absolute; inset: -18px; border-radius: 50px; border: 2px solid rgba(18,201,245,.28); animation: pulse 1.4s ease-out infinite; }
.voice-orb.listening::after { animation-delay: .55s; }
@keyframes pulse { from { opacity: .8; transform: scale(.85); } to { opacity: 0; transform: scale(1.35); } }
.voice-transcript { min-height: 70px; max-width: 620px; color: var(--text-1); line-height: 1.7; margin: 26px auto 0; }
.voice-suggestions { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.voice-suggestion { padding: 8px 11px; border-radius: var(--pill); background: rgba(255,255,255,.045); color: var(--text-2); font-size: .72rem; }

/* ---- Bottom navigation ---- */
.bottom-nav { position: fixed; left: 50%; bottom: max(14px, env(safe-area-inset-bottom)); transform: translateX(-50%); width: min(calc(100% - 28px), 780px); height: var(--nav-h); display: grid; grid-template-columns: repeat(5,1fr); align-items: center; gap: 7px; padding: 9px; border: 1px solid var(--line); border-radius: 27px; background: rgba(3,16,25,.88); box-shadow: 0 24px 70px rgba(0,0,0,.50); backdrop-filter: blur(24px); z-index: 30; }
.nav-btn { height: 64px; border-radius: 19px; background: transparent; color: var(--text-2); display: grid; place-items: center; align-content: center; gap: 5px; cursor: pointer; font-size: .66rem; font-weight: 850; transition: var(--ease); }
.nav-btn:hover { color: var(--text-1); background: rgba(255,255,255,.035); }
.nav-btn.active { color: var(--green); background: var(--green-soft); }
.nav-btn.voice { height: 74px; margin-top: -26px; border-radius: 24px; color: #00151b; background: linear-gradient(180deg, var(--cyan-bright), var(--cyan)); box-shadow: var(--glow-cyan); }
.nav-btn.voice.active { color: #00151b; background: linear-gradient(180deg, var(--cyan-bright), var(--cyan)); }
.nav-btn .icon { width: 22px; height: 22px; }
.nav-btn span { display: block; color: inherit; line-height: 1.05; font-weight: 900; }

/* ---- Modals ---- */
.modal-backdrop { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 20px; background: rgba(0,6,10,.72); backdrop-filter: blur(12px); animation: fade-in .2s ease both; }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
.modal { width: min(100%, 650px); max-height: min(90vh, 850px); overflow: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(180deg, #0d2939, #061620); box-shadow: var(--shadow-lg); padding: 24px; }
.modal-lg { width: min(100%, 880px); }
.modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.modal-head h2 { font-size: 1.45rem; letter-spacing: -.035em; }
.modal-head p { color: var(--text-2); font-size: .78rem; margin-top: 5px; }

/* ---- Toasts ---- */
.toast-stack { position: fixed; z-index: 120; top: 18px; right: 18px; display: grid; gap: 10px; width: min(calc(100% - 36px), 390px); }
.toast { display: flex; align-items: flex-start; gap: 11px; padding: 14px 15px; border: 1px solid var(--line); border-radius: 17px; background: rgba(9,29,41,.96); box-shadow: var(--shadow-lg); animation: toast-in .25s ease both; }
.toast.success { border-color: rgba(32,232,121,.28); }
.toast.error { border-color: rgba(255,88,106,.32); }
.toast.warning { border-color: rgba(255,171,46,.30); }
.toast strong { display: block; font-size: .84rem; }
.toast span { display: block; margin-top: 3px; color: var(--text-1); font-size: .75rem; line-height: 1.45; }
@keyframes toast-in { from { opacity: 0; transform: translateX(15px); } to { opacity: 1; transform: none; } }

/* ---- Empty states ---- */
.empty { min-height: 190px; display: grid; place-items: center; text-align: center; padding: 24px; color: var(--text-2); }
.empty-icon { width: 56px; height: 56px; border-radius: 19px; display: grid; place-items: center; margin: 0 auto 13px; background: var(--cyan-soft); color: var(--cyan); }
.empty strong { color: var(--text-1); display: block; margin-bottom: 5px; }
.empty p { font-size: .78rem; line-height: 1.55; max-width: 380px; }

/* ---- Footer ---- */
.app-footer { text-align: center; margin: 30px 0 0; color: var(--text-2); font-size: .74rem; }
.app-footer a { color: var(--green); font-weight: 800; }

/* ---- Print ---- */
.print-only { display: none; }
@media print {
  :root { color-scheme: light; }
  body { background: #fff; color: #111; }
  body::before, body::after, .topbar, .bottom-nav, .app-footer, .no-print, #modalRoot, #toastRoot { display: none !important; }
  .app-shell { width: 100%; padding: 0; }
  .page { display: none !important; }
  .print-only { display: block !important; color: #111; }
  .print-report { font-family: Arial, sans-serif; padding: 18px; }
  .print-report h1 { margin-bottom: 6px; }
  .print-report p { color: #555; margin-bottom: 20px; }
  .print-report table { width: 100%; border-collapse: collapse; margin-top: 15px; }
  .print-report th, .print-report td { padding: 9px; border: 1px solid #ddd; text-align: left; font-size: 12px; }
  .print-report th { background: #eef3f5; }
}

/* ---- Responsive ---- */
@media (max-width: 1050px) {
  .auth-shell { grid-template-columns: 1fr 430px; }
  .auth-points { grid-template-columns: 1fr; max-width: 350px; }
  .grid-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .grid-main { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .auth-shell { grid-template-columns: 1fr; }
  .auth-visual { display: none; }
  .auth-panel { border-left: 0; }
  .grid-3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .quick-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .page-head { align-items: flex-start; flex-direction: column; }
  .kanban { grid-template-columns: repeat(3, 280px); }
}
@media (max-width: 620px) {
  :root { --nav-h: 76px; }
  .app-shell { width: min(100% - 24px, var(--container)); padding-top: 12px; }
  .topbar { top: 8px; border-radius: 20px; padding: 9px 10px; }
  .brand-mark { width: 46px; height: 46px; border-radius: 16px; }
  .brand-copy span, .user-meta { display: none; }
  .user-chip { padding-right: 6px; }
  .grid-2, .grid-3, .grid-4, .form-row { grid-template-columns: 1fr; }
  .stat-strip { grid-template-columns: 1fr; }
  .card { padding: 18px; border-radius: 20px; }
  .metric-card { min-height: 138px; }
  .page-title { font-size: 2.2rem; }
  .quick-card { min-height: 116px; }
  .bottom-nav { width: calc(100% - 20px); bottom: max(8px, env(safe-area-inset-bottom)); border-radius: 22px; padding: 7px; }
  .nav-btn { height: 56px; border-radius: 16px; font-size: .61rem; }
  .nav-btn.voice { height: 65px; margin-top: -20px; border-radius: 20px; }
  .modal { padding: 19px; border-radius: 24px; }
  .toast-stack { top: 10px; right: 10px; width: calc(100% - 20px); }
  .auth-panel { padding: 16px; }
  .auth-card { border-radius: 28px; }
  .auth-links { align-items: flex-start; flex-direction: column; }
  .list-item { align-items: flex-start; }
  .list-actions { flex-direction: column; }
  .voice-panel { min-height: 320px; padding: 24px 12px; }
  .voice-orb { width: 110px; height: 110px; border-radius: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
.row-section { margin-top: 18px; }
.stats-margin { margin-top: 18px; }
.voice-title { margin-top: 28px; }
.progress-native { width: 100%; height: 12px; margin-top: 12px; appearance: none; border: 0; border-radius: var(--pill); overflow: hidden; background: rgba(255,255,255,.06); }
.progress-native::-webkit-progress-bar { background: rgba(255,255,255,.06); border-radius: var(--pill); }
.progress-native::-webkit-progress-value { background: linear-gradient(90deg,var(--green),var(--cyan)); border-radius: var(--pill); }
.progress-native::-moz-progress-bar { background: linear-gradient(90deg,var(--green),var(--cyan)); border-radius: var(--pill); }
.progress-native.warning::-webkit-progress-value { background: linear-gradient(90deg,var(--orange),var(--red)); }
.progress-native.warning::-moz-progress-bar { background: linear-gradient(90deg,var(--orange),var(--red)); }

/* ---- Parte 2: compras integradas, previsões e rotina avançada ---- */
.purchase-builder {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.022);
  padding: 18px;
}

.purchase-item-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.6fr) minmax(110px, .55fr) minmax(130px, .65fr) 44px minmax(110px, .55fr);
  gap: 10px;
  align-items: end;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.purchase-item-row:last-child { border-bottom: 0; }
.purchase-remove { margin-bottom: 2px; }
.purchase-line-total { align-self: center; text-align: right; white-space: nowrap; color: var(--green); }
.purchase-total { display: flex; align-items: center; justify-content: flex-end; gap: 20px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--text-1); }
.purchase-total strong { font-size: clamp(1.5rem, 4vw, 2.35rem); color: var(--green); letter-spacing: -.04em; }

.forecast-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 18px; }
.forecast-item { padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.025); }
.forecast-item span { display: block; color: var(--text-2); font-size: .72rem; margin-bottom: 5px; }
.forecast-item strong { font-size: 1rem; }
.forecast-item.active { border-color: rgba(32,232,121,.28); background: rgba(32,232,121,.07); box-shadow: inset 0 0 0 1px rgba(32,232,121,.04); }
.forecast-item.active strong { color: var(--green); }

.task-description { margin-top: 8px; color: var(--text-2); font-size: .78rem; line-height: 1.55; }

@media (max-width: 820px) {
  .purchase-item-row { grid-template-columns: 1fr 1fr; padding: 16px 0; }
  .purchase-product { grid-column: 1 / -1; }
  .purchase-remove { grid-column: 1; width: 44px; }
  .purchase-line-total { grid-column: 2; }
}

@media (max-width: 520px) {
  .purchase-builder { padding: 13px; }
  .purchase-item-row { grid-template-columns: 1fr; }
  .purchase-product, .purchase-remove, .purchase-line-total { grid-column: 1; }
  .purchase-line-total { text-align: left; padding: 4px 0 8px; }
  .purchase-total { justify-content: space-between; }
  .forecast-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   PARTE 3 — ASSINATURAS, EQUIPE E PAINEL ADMINISTRATIVO
   Mantém o mesmo design system global do PL Gestor.
   ========================================================= */
.check-row { display: flex; align-items: flex-start; gap: 11px; color: var(--text-1); font-size: .82rem; line-height: 1.5; cursor: pointer; }
.check-row input { width: 18px; height: 18px; margin-top: 2px; flex: 0 0 auto; accent-color: var(--green); }
.input-code { text-transform: uppercase; letter-spacing: .08em; font-weight: 850; }
.admin-entry-link { margin-top: 10px; color: var(--cyan); }
.subscription-chip { max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
.blocked-card { text-align: left; }
.blocked-card > .badge { margin-bottom: 14px; }
.blocked-card h2 { margin-top: 8px; }

.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.settings-card { min-width: 0; }
.settings-span-2 { grid-column: 1 / -1; }
.subscription-panel { background: linear-gradient(180deg, rgba(11,38,49,.96), rgba(5,21,30,.94)); }
.subscription-price { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 18px 0; padding: 18px; border-radius: var(--radius-md); background: linear-gradient(145deg, var(--green-soft), var(--cyan-soft)); border: 1px solid var(--line-green); }
.subscription-price span { color: var(--text-1); font-weight: 800; }
.subscription-price strong { color: var(--green); font-size: 1.65rem; letter-spacing: -.04em; }
.subscription-price small, .plan-price small { color: var(--text-2); font-size: .72rem; margin-left: 4px; font-weight: 700; }
.stack.compact { gap: 8px; }
.stack.compact .list-item { min-height: 50px; padding: 10px 12px; }
.mini-history { display: grid; gap: 8px; margin-top: 18px; }
.mini-history > strong { font-size: .8rem; color: var(--text-1); }
.history-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.02); font-size: .75rem; }
.team-layout { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(320px,1.2fr); gap: 18px; align-items: start; }
.team-form { padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(255,255,255,.02); }
.team-list { display: grid; gap: 9px; }
.team-row { display: flex; align-items: center; gap: 11px; min-height: 62px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.024); }
.team-main { min-width: 0; flex: 1; }
.team-main strong { display: block; font-size: .86rem; }
.team-main span { display: block; margin-top: 3px; color: var(--text-2); font-size: .72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.button-stack { display: grid; gap: 9px; margin-top: 16px; }
.file-button { position: relative; cursor: pointer; }
.file-button input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.audit-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.audit-row { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.02); }
.audit-row strong { display: block; font-size: .8rem; }
.audit-row span { display: block; color: var(--text-2); font-size: .7rem; margin-top: 3px; }
.empty-copy { color: var(--text-2); font-size: .78rem; line-height: 1.5; padding: 10px 0; }
.mt-24 { margin-top: 24px; }

/* Painel administrativo */
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 270px minmax(0,1fr); }
.admin-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 30px; padding: 24px 18px; border-right: 1px solid var(--line); background: rgba(3,16,25,.86); backdrop-filter: blur(22px); z-index: 20; }
.admin-sidebar .brand { padding: 0 6px; }
.admin-nav { display: grid; gap: 8px; }
.admin-nav-btn { min-height: 54px; display: flex; align-items: center; gap: 12px; padding: 0 15px; border: 1px solid transparent; border-radius: 17px; background: transparent; color: var(--text-2); font-weight: 800; cursor: pointer; transition: var(--ease); text-align: left; }
.admin-nav-btn:hover { background: rgba(255,255,255,.035); color: var(--text-1); }
.admin-nav-btn.active { color: var(--green); background: var(--green-soft); border-color: var(--line-green); box-shadow: inset 0 0 22px rgba(32,232,121,.04); }
.admin-nav-btn .icon { width: 21px; height: 21px; }
.admin-sidebar-footer { margin-top: auto; display: grid; gap: 9px; }
.admin-content { min-width: 0; width: min(100%, 1500px); padding: 28px 34px 48px; }
.admin-topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 26px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.admin-topbar h1 { font-size: clamp(1.9rem,4vw,3.1rem); letter-spacing: -.055em; }
.admin-metrics { grid-template-columns: repeat(4,minmax(0,1fr)); }
.admin-overview-grid { align-items: stretch; margin-top: 20px; }
.page-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.search-field { width: min(100%, 520px); }
.admin-table .table-sub, .table-sub { display: block; color: var(--text-2); font-size: .72rem; margin-top: 4px; }
.table-actions { display: flex; align-items: center; gap: 6px; }
.btn.success-action { color: var(--green); border-color: rgba(32,232,121,.2); }
.btn.danger-action { color: var(--red); border-color: rgba(255,88,106,.2); }
.activation-result { margin-top: 14px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line-green); border-radius: var(--radius-md); background: var(--green-soft); }
.activation-result span { color: var(--text-1); font-size: .75rem; }
.activation-result strong { color: var(--green-bright); letter-spacing: .08em; }
.process-list { display: grid; gap: 12px; margin-top: 16px; }
.process-list li { display: flex; align-items: flex-start; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.02); }
.process-list li > span { width: 31px; height: 31px; border-radius: 11px; display: grid; place-items: center; flex: 0 0 auto; background: var(--cyan-soft); color: var(--cyan); font-weight: 900; }
.process-list strong { display: block; font-size: .82rem; }
.process-list p { margin-top: 3px; color: var(--text-2); font-size: .72rem; line-height: 1.45; }
.code-text { color: var(--cyan-bright); letter-spacing: .06em; }
.plans-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.plan-admin-card { display: flex; flex-direction: column; }
.plan-admin-card .btn { margin-top: auto; }
.plan-price { color: var(--green); font-size: 2rem; font-weight: 950; letter-spacing: -.055em; margin: 18px 0; }

@media (max-width: 1100px) {
  .settings-grid { grid-template-columns: 1fr; }
  .settings-span-2 { grid-column: auto; }
  .team-layout { grid-template-columns: 1fr; }
  .audit-list { grid-template-columns: 1fr; }
  .admin-shell { grid-template-columns: 220px minmax(0,1fr); }
  .admin-content { padding-inline: 22px; }
  .admin-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .plans-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .subscription-chip { display: none; }
  .settings-grid { gap: 12px; }
  .history-row { grid-template-columns: 1fr auto; }
  .history-row strong { grid-column: 1 / -1; }
  .admin-shell { display: block; }
  .admin-sidebar { position: sticky; top: 0; width: 100%; height: auto; padding: 12px; gap: 12px; border-right: 0; border-bottom: 1px solid var(--line); }
  .admin-sidebar .brand { display: none; }
  .admin-nav { display: flex; overflow-x: auto; gap: 7px; padding-bottom: 2px; }
  .admin-nav-btn { min-width: max-content; min-height: 45px; padding: 0 13px; }
  .admin-sidebar-footer { display: none; }
  .admin-content { padding: 18px 14px 34px; }
  .admin-topbar { align-items: flex-start; }
  .admin-topbar .user-chip { display: none; }
  .admin-metrics, .plans-grid { grid-template-columns: 1fr; }
  .admin-overview-grid { grid-template-columns: 1fr; }
  .page-toolbar { align-items: stretch; flex-direction: column; }
}
.metrics-grid { display: grid; gap: 18px; }
.admin-metrics .metric-card { min-height: 150px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: linear-gradient(180deg, var(--surface-1), rgba(6,20,29,.84)); box-shadow: var(--shadow-sm); overflow: hidden; }
.admin-metrics .metric-card > span { color: var(--text-2); font-size: .73rem; font-weight: 850; text-transform: uppercase; letter-spacing: .09em; }
.admin-metrics .metric-card > strong { display: block; color: var(--text-0); font-size: clamp(1.7rem,3vw,2.5rem); letter-spacing: -.055em; margin: 12px 0 8px; }
.admin-metrics .metric-card > small { color: var(--text-1); font-size: .76rem; }
.subscription-warning { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; padding: 15px 17px; border: 1px solid rgba(255,171,46,.25); border-radius: var(--radius-md); background: linear-gradient(90deg, var(--orange-soft), rgba(255,88,106,.06)); box-shadow: var(--shadow-xs); }
.subscription-warning > div { min-width: 0; flex: 1; }
.subscription-warning strong { color: var(--orange); }
.subscription-warning p { color: var(--text-1); font-size: .78rem; margin-top: 4px; }
@media (max-width: 620px) { .subscription-warning { align-items: flex-start; flex-wrap: wrap; } .subscription-warning .btn { width: 100%; } }

/* Parte 3 final */
.filter-card{margin-bottom:18px}.filter-card .form-row{grid-template-columns:repeat(5,minmax(130px,1fr));align-items:end}.filter-actions{margin-top:14px}.subscription-warning{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid rgba(255,171,46,.3);background:rgba(255,171,46,.09);border-radius:18px;margin:16px 0}.subscription-warning p{color:var(--text-1);margin-top:4px}.file-button input{display:none}@media(max-width:900px){.filter-card .form-row{grid-template-columns:1fr 1fr}}@media(max-width:560px){.filter-card .form-row{grid-template-columns:1fr}}

/* ===== PARTE 4 — FUNDAÇÃO ONLINE ===== */
.cloud-entry-link { margin-top: 12px; }
.cloud-symbol { font-size: 18px; line-height: 1; }
.cloud-status-button { position: relative; text-decoration: none; }
.cloud-status-dot { position: absolute; right: 6px; bottom: 6px; width: 8px; height: 8px; border-radius: 50%; border: 2px solid #071722; background: #71808a; }
.cloud-status-dot.online { background: #32f58a; box-shadow: 0 0 10px rgba(50,245,138,.65); }
.cloud-status-dot.offline { background: #f4a640; }
.cloud-status-dot.error { background: #ff5d68; }
.cloud-status-dot.checking { background: #16c9e7; animation: cloudPulse 1s infinite alternate; }
@keyframes cloudPulse { to { transform: scale(1.35); opacity: .65; } }
.cloud-page { min-height: 100vh; padding: 28px clamp(16px, 4vw, 54px) 110px; background: radial-gradient(circle at top right, rgba(22,201,231,.08), transparent 38%), #031019; }
.cloud-header { max-width: 1280px; margin: 0 auto 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cloud-content { max-width: 1280px; margin: 0 auto; }
.cloud-connection-card { border-left: 3px solid rgba(22,201,231,.55); }
.cloud-progress { margin-top: 16px; display: grid; gap: 8px; }
.cloud-progress span { color: var(--text-secondary, #9db0bd); font-size: .88rem; }
@media (max-width: 720px) { .cloud-header { align-items: flex-start; flex-direction: column; } .cloud-header > .btn { width: 100%; } }


/* Parte 4 · Etapa 2 — sincronização automática */
.cloud-status-dot.syncing { background: #16c9e7; animation: cloudPulse .65s infinite alternate; box-shadow: 0 0 12px rgba(22,201,231,.72); }
.cloud-status-dot.pending { background: #f4a640; box-shadow: 0 0 9px rgba(244,166,64,.5); }
.cloud-status-dot.paused { background: #71808a; }
.cloud-toggle { display: flex; align-items: flex-start; gap: 12px; margin: 4px 0 16px; padding: 14px; border: 1px solid rgba(126,164,184,.2); border-radius: 12px; background: rgba(7,28,40,.7); cursor: pointer; }
.cloud-toggle input { width: 20px; height: 20px; margin-top: 2px; accent-color: #32f58a; }
.cloud-toggle span { display: grid; gap: 4px; }
.cloud-toggle strong { color: var(--text-primary, #f3fbff); }
.cloud-toggle small { color: var(--text-secondary, #9db0bd); line-height: 1.45; }

/* FASE 5.1 — login único online */
.auth-status-row { display: flex; justify-content: flex-end; margin: -4px 0 10px; }
.auth-card .field-hint { line-height: 1.5; }
.team-layout-readonly .team-form { display: grid; align-content: center; gap: 10px; }

/* =========================================================
   FASE 5.2 — COBRANÇA REAL E INSTALAÇÃO MOBILE
   ========================================================= */
.billing-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.billing-plan-option { cursor: pointer; position: relative; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.billing-plan-option:hover { transform: translateY(-2px); border-color: var(--line-cyan); }
.billing-plan-option input { position: absolute; opacity: 0; pointer-events: none; }
.billing-plan-option:has(input:checked) { border-color: var(--cyan); box-shadow: 0 0 0 2px rgba(60,220,255,.15), 0 18px 45px rgba(0,0,0,.25); }
.billing-plan-option:has(input:checked)::after { content: 'Selecionado'; position: absolute; right: 14px; bottom: 14px; color: var(--cyan); font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }

.install-app-button { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(82px, calc(env(safe-area-inset-bottom) + 16px)); z-index: 80; border: 1px solid var(--line-cyan); border-radius: 999px; padding: 11px 16px; background: rgba(4,24,34,.96); color: var(--cyan); font: inherit; font-size: .78rem; font-weight: 900; box-shadow: 0 14px 38px rgba(0,0,0,.35); cursor: pointer; backdrop-filter: blur(14px); }
.install-app-button:hover { transform: translateY(-1px); }
.install-app-button[hidden] { display: none !important; }
.install-help { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: rgba(1,8,13,.76); backdrop-filter: blur(8px); }
.install-help-card { width: min(440px, 100%); padding: 24px; border: 1px solid var(--line-cyan); border-radius: var(--radius-lg); background: var(--surface-1); box-shadow: var(--shadow-lg); }
.install-help-card h2 { margin: 0 0 10px; }
.install-help-card p { color: var(--text-2); line-height: 1.6; }
.install-help-card .btn { margin-top: 12px; }

@media (max-width: 900px) {
  .billing-plans { grid-template-columns: 1fr; }
  .install-app-button { bottom: max(88px, calc(env(safe-area-inset-bottom) + 18px)); }
}


/* ---- Fase 5.2.1: início simples e voz inteligente ---- */
.home-launch-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); gap: 16px; align-items: stretch; }
.home-voice-cta { min-height: 238px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding: 30px; border: 1px solid rgba(18,201,245,.28); border-radius: 28px; background: radial-gradient(circle at 15% 20%, rgba(18,201,245,.18), transparent 42%), linear-gradient(145deg, rgba(9,42,56,.96), rgba(4,19,28,.96)); color: var(--text-0); text-align: left; cursor: pointer; box-shadow: var(--shadow-sm); transition: var(--ease); }
.home-voice-cta:hover { transform: translateY(-3px); border-color: var(--cyan); box-shadow: var(--glow-cyan); }
.home-voice-icon { width: 92px; height: 92px; border-radius: 30px; display: grid; place-items: center; background: linear-gradient(145deg,var(--cyan-bright),var(--cyan)); color: #00151b; box-shadow: var(--glow-cyan); }
.home-voice-icon .icon { width: 38px; height: 38px; }
.home-voice-copy { display: grid; gap: 7px; }
.home-voice-copy small { color: var(--cyan); font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.home-voice-copy strong { font-size: clamp(1.5rem,3vw,2.25rem); letter-spacing: -.05em; }
.home-voice-copy span { color: var(--text-1); line-height: 1.55; }
.home-voice-arrow { color: var(--cyan); }
.home-action-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.home-action-button { min-height: 112px; display: grid; align-content: center; gap: 6px; padding: 17px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.027); color: var(--text-0); text-align: left; cursor: pointer; transition: var(--ease); }
.home-action-button:hover { transform: translateY(-2px); border-color: var(--line-cyan); background: var(--surface-hover); }
.home-action-button > span { color: var(--cyan); }
.home-action-button.expense > span { color: var(--orange); }
.home-action-button.income > span { color: var(--green); }
.home-action-button strong { font-size: .95rem; }
.home-action-button small { color: var(--text-2); line-height: 1.35; }
.home-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 16px; }
.home-summary-card { min-height: 126px; display: grid; align-content: center; gap: 7px; padding: 20px; border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(180deg,var(--surface-1),rgba(6,20,29,.84)); }
.home-summary-card > span { color: var(--text-2); font-size: .73rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.home-summary-card > strong { font-size: clamp(1.35rem,3vw,2rem); letter-spacing: -.04em; }
.home-summary-card > small { color: var(--text-1); }
.home-summary-card.expense { border-color: rgba(255,171,46,.2); }
.home-summary-card.income { border-color: rgba(32,232,121,.2); }
.voice-panel-simple { min-height: 420px; }
.voice-content { width: min(100%,760px); display: grid; justify-items: center; }
.voice-help-grid { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 16px; }
.voice-help-grid span { display: grid; gap: 4px; padding: 13px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.025); color: var(--text-2); font-size: .72rem; line-height: 1.4; text-align: left; }
.voice-help-grid strong { color: var(--text-0); }
.manual-entry { border: 1px solid var(--line); border-radius: 22px; overflow: hidden; background: rgba(255,255,255,.018); }
.manual-entry > summary { min-height: 62px; display: flex; align-items: center; gap: 10px; padding: 0 20px; color: var(--text-1); font-weight: 850; cursor: pointer; list-style: none; }
.manual-entry > summary::-webkit-details-marker { display: none; }
.manual-entry > summary::after { content: '+'; margin-left: auto; color: var(--cyan); font-size: 1.25rem; }
.manual-entry[open] > summary::after { content: '−'; }
.manual-entry-card { border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.voice-review-hero { display: grid; gap: 7px; margin-bottom: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 19px; background: rgba(255,255,255,.027); }
.voice-review-hero.orange { border-color: rgba(255,171,46,.25); }
.voice-review-hero.green { border-color: rgba(32,232,121,.25); }
.voice-review-hero > strong { font-size: 1.8rem; letter-spacing: -.04em; }
.voice-review-hero > span:last-child { color: var(--text-1); }
.voice-raw { display: grid; gap: 6px; padding: 13px 15px; border-radius: 15px; background: rgba(255,255,255,.025); border: 1px solid var(--line); }
.voice-raw span { color: var(--text-2); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.voice-raw strong { font-size: .82rem; line-height: 1.5; }

@media (max-width: 900px) {
  .home-launch-grid { grid-template-columns: 1fr; }
  .home-voice-cta { min-height: 190px; }
}
@media (max-width: 620px) {
  .home-voice-cta { min-height: 175px; grid-template-columns: auto 1fr; gap: 15px; padding: 20px; border-radius: 23px; }
  .home-voice-icon { width: 66px; height: 66px; border-radius: 22px; }
  .home-voice-icon .icon { width: 29px; height: 29px; }
  .home-voice-arrow { display: none; }
  .home-voice-copy strong { font-size: 1.4rem; }
  .home-voice-copy span { font-size: .78rem; }
  .home-action-grid { grid-template-columns: 1fr 1fr; }
  .home-action-button { min-height: 104px; padding: 14px; }
  .home-summary-grid { grid-template-columns: 1fr; }
  .home-summary-card { min-height: 105px; }
  .home-lists { grid-template-columns: 1fr; }
  .voice-help-grid { grid-template-columns: 1fr; }
  .voice-panel-simple { min-height: 390px; }
  .nav-btn { font-size: .68rem; }
}

/* =========================================================
   FASE 5.2.3 — BLOQUEADOR DE LANÇAMENTO
   Enquadramento móvel + cortina de identidade
   ========================================================= */
html, body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
}
body { min-height: 100dvh; }
#app, .app-shell, #pageRoot, .page, .topbar, .card, .grid, .form-grid, .form-row {
  min-width: 0;
  max-width: 100%;
}
#app { width: 100%; overflow-x: clip; }
.app-shell {
  width: 100%;
  max-width: var(--container);
  padding-inline: clamp(12px, 3vw, 24px);
  padding-bottom: calc(var(--nav-h) + env(safe-area-inset-bottom) + 72px);
}
.topbar {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
.topbar > .brand {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}
.topbar > .brand .brand-copy {
  min-width: 0;
  overflow: hidden;
}
.topbar > .brand .brand-copy strong,
.topbar > .brand .brand-copy span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.topbar-actions { flex: 0 0 auto; min-width: 0; }
.user-chip { max-width: min(240px, 34vw); min-width: 0; }
.user-meta { min-width: 0; overflow: hidden; }
.user-meta strong, .user-meta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.page-head > div, .card-header > div, .list-main, .list-copy { min-width: 0; }
.table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.input, .select, .textarea, button { max-width: 100%; }
.modal-backdrop { padding-bottom: calc(env(safe-area-inset-bottom) + 18px); }
.form-actions { padding-bottom: max(4px, env(safe-area-inset-bottom)); }

.identity-gate {
  width: 100%;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: var(--bg-0);
}
.identity-gate-card {
  width: min(100%, 430px);
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: 28px;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: var(--surface-1);
  box-shadow: var(--shadow-lg);
}
.identity-gate-card p { color: var(--text-2); line-height: 1.55; font-size: .82rem; }
.identity-spinner {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,.12);
  border-top-color: var(--green);
  animation: identity-spin .75s linear infinite;
}
@keyframes identity-spin { to { transform: rotate(360deg); } }

@media (max-width: 760px) {
  :root { --nav-h: 68px; }
  .app-shell {
    padding-inline: 10px;
    padding-top: 8px;
    padding-bottom: calc(150px + env(safe-area-inset-bottom));
  }
  .topbar {
    top: 6px;
    gap: 6px;
    margin-bottom: 16px;
    padding: 6px 7px;
    border-radius: 17px;
  }
  .topbar .brand { gap: 8px; padding: 0 2px; }
  .topbar .brand-mark { width: 38px; height: 38px; border-radius: 13px; font-size: .86rem; }
  .topbar .brand-mark::after { border-radius: 12px; }
  .topbar .brand-copy strong { font-size: .88rem; }
  .topbar .brand-copy span { font-size: .64rem; }
  .topbar-actions { gap: 5px; }
  .subscription-chip { display: none; }
  .btn-icon { width: 38px; height: 38px; min-height: 38px; border-radius: 12px; }
  .btn-icon .icon { width: 18px; height: 18px; }
  .user-chip { width: 38px; min-width: 38px; max-width: 38px; min-height: 38px; padding: 3px; border-radius: 13px; }
  .user-chip .avatar { width: 30px; height: 30px; font-size: .76rem; }
  .user-chip .user-meta { display: none; }
  .page-head { gap: 10px; margin: 4px 0 16px; }
  .page-kicker { margin-bottom: 4px; font-size: .64rem; }
  .page-title { font-size: clamp(1.55rem, 8vw, 2rem); line-height: 1.05; }
  .page-subtitle { margin-top: 6px; font-size: .82rem; line-height: 1.45; }
  .page-head .row-wrap { width: 100%; }
  .page-head .row-wrap .btn { flex: 1 1 auto; }
  .btn { min-height: 44px; padding-inline: 14px; border-radius: 14px; font-size: .82rem; }
  .btn-sm { min-height: 36px; padding-inline: 10px; font-size: .72rem; }
  .card { padding: 15px; border-radius: 17px; }
  .card-header { align-items: flex-start; gap: 10px; margin-bottom: 13px; }
  .home-voice-cta { min-height: 144px; padding: 16px; }
  .home-action-button { min-height: 92px; }
  .home-summary-card { min-height: 92px; padding: 15px; }
  .voice-panel, .voice-panel-simple { min-height: 330px; }
  .input, .select { min-height: 48px; padding-inline: 13px; border-radius: 13px; }
  .textarea { border-radius: 13px; }
  .bottom-nav {
    left: 0;
    right: 0;
    bottom: 0;
    transform: none;
    width: 100%;
    height: auto;
    min-height: calc(67px + env(safe-area-inset-bottom));
    padding: 6px 5px calc(6px + env(safe-area-inset-bottom));
    gap: 2px;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 20px 20px 0 0;
  }
  .nav-btn { min-width: 0; height: 54px; padding: 4px 2px; border-radius: 13px; font-size: .57rem; gap: 3px; }
  .nav-btn .icon { width: 20px; height: 20px; }
  .nav-btn.voice { height: 58px; margin-top: -10px; border-radius: 16px; }
  .manual-entry, .form-grid, .form-row { width: 100%; }
  .modal { width: 100%; max-height: calc(100dvh - 24px); padding: 16px; border-radius: 20px; }
}

@media (max-width: 430px) {
  .app-shell { padding-inline: 8px; }
  .topbar #notificationBtn { display: none; }
  .topbar .brand-copy span { display: none; }
  .topbar .brand-copy strong { max-width: 104px; }
  .home-action-grid { grid-template-columns: 1fr; }
  .home-action-button { min-height: 78px; }
  .row-wrap { gap: 7px; }
  .list-item { padding: 11px; gap: 10px; }
  .list-copy strong { white-space: normal; }
}

/* =========================================================
   FASE 5.3 — INTERFACE SIMPLES, TABELAS E VOZ TOTAL
   ========================================================= */
.workspace-ribbon{position:relative;display:flex;align-items:center;gap:12px;width:100%;margin:0 0 18px;padding:12px 14px;border:1px solid rgba(44,220,240,.18);border-radius:16px;background:linear-gradient(120deg,rgba(7,31,42,.98),rgba(4,19,29,.96));overflow:hidden}.workspace-ribbon:before{content:"";position:absolute;inset:auto -25% 0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:v53Flow 5s linear infinite}.workspace-ribbon>div:first-child{display:grid;min-width:96px}.workspace-kicker{color:var(--text-2);font-size:.66rem;text-transform:uppercase;letter-spacing:.09em}.workspace-ribbon strong{font-size:.95rem}.workspace-select{min-width:120px;max-width:190px;margin-left:auto}.workspace-ribbon .btn{white-space:nowrap}
.voice-command-center{position:relative;display:flex;align-items:center;gap:18px;min-height:128px;padding:20px;border:1px solid rgba(32,232,121,.23);border-radius:22px;background:radial-gradient(circle at 18% 50%,rgba(32,232,121,.13),transparent 34%),linear-gradient(145deg,rgba(7,32,42,.98),rgba(3,16,25,.98));overflow:hidden}.flow-border{position:relative;overflow:hidden}.flow-line{position:absolute;left:-35%;right:-35%;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--green),var(--cyan),transparent);animation:v53Flow 4.2s linear infinite;pointer-events:none}.voice-main-button{display:flex;align-items:center;gap:12px;min-width:220px;padding:16px 20px;border:1px solid rgba(32,232,121,.5);border-radius:18px;background:linear-gradient(145deg,rgba(32,232,121,.24),rgba(4,40,37,.96));color:#fff;cursor:pointer}.voice-main-button span{display:grid;text-align:left}.voice-main-button small{font-size:.7rem;color:#b9d8d0}.voice-main-button strong{font-size:1.05rem}.voice-command-copy strong{display:block;font-size:1.15rem}.voice-command-copy p{margin:.35rem 0 0;color:var(--text-2);line-height:1.5}.pulse-soft{animation:v53Pulse 2.6s ease-in-out infinite}.compact-summary{margin-top:16px}.simple-action-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.simple-action-panel.vertical{grid-template-columns:1fr}.simple-action-panel>button{display:flex;align-items:center;gap:12px;min-height:72px;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);color:var(--text-0);text-align:left;cursor:pointer;transition:.2s ease}.simple-action-panel>button:hover{transform:translateY(-1px);border-color:rgba(44,220,240,.32);background:rgba(44,220,240,.06)}.simple-action-panel>button>span{display:grid}.simple-action-panel small{color:var(--text-2);margin-top:3px}.simple-action-panel svg{color:var(--cyan);flex:0 0 auto}.voice-panel-v53{min-height:260px}.voice-examples-panel{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);overflow:hidden}.voice-examples-panel summary{padding:14px 16px;cursor:pointer;font-weight:800;display:flex;gap:9px;align-items:center}.voice-example-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 14px 14px}.voice-example-list>div{display:grid;gap:4px;padding:11px 12px;border:1px solid rgba(44,220,240,.12);border-radius:12px;background:rgba(2,15,23,.7)}.voice-example-list strong{font-size:.78rem;color:var(--cyan)}.voice-example-list span{font-size:.76rem;line-height:1.45;color:var(--text-1)}.guide-steps{display:grid;gap:10px}.guide-steps article{display:flex;align-items:flex-start;gap:12px;padding:13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}.guide-steps article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:900}.guide-steps p{margin:.25rem 0 0;color:var(--text-2);line-height:1.45}.list-explainer{display:flex;gap:14px;align-items:flex-start;padding:15px 17px;border:1px solid rgba(44,220,240,.22);border-radius:16px;background:linear-gradient(120deg,rgba(44,220,240,.09),rgba(32,232,121,.04))}.list-explainer p{margin:.3rem 0 0;color:var(--text-2);line-height:1.5}.cash-balance-hero{display:grid;gap:4px;margin:15px 0;padding:18px;border:1px solid rgba(32,232,121,.22);border-radius:16px;background:linear-gradient(145deg,rgba(32,232,121,.12),rgba(44,220,240,.06))}.cash-balance-hero span,.cash-balance-hero small{color:var(--text-2)}.cash-balance-hero strong{font-size:2rem;color:var(--green);letter-spacing:-.04em}.cash-actions-inline{display:flex;gap:10px;margin-top:14px}.intro-price-banner{display:grid;gap:3px;margin:12px 0;padding:12px 14px;border:1px solid rgba(32,232,121,.22);border-radius:13px;background:rgba(32,232,121,.08)}.intro-price-banner strong{color:var(--green)}.intro-price-banner span{font-size:.78rem;color:var(--text-1)}.workspace-manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.workspace-manager-card.active{border-color:rgba(32,232,121,.45);box-shadow:0 0 0 1px rgba(32,232,121,.08) inset}.category-inline-form{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:8px}.align-end{align-self:end}.simple-tabs{overflow-x:auto;justify-content:flex-start}.simple-tabs button{flex:0 0 auto}.shopping-v53 .page-head .row-wrap{flex-wrap:wrap}.home-v53 .page-head,.register-v53 .page-head,.shopping-v53 .page-head{margin-bottom:16px}
@keyframes v53Pulse{0%,100%{box-shadow:0 0 0 0 rgba(32,232,121,.18)}50%{box-shadow:0 0 0 10px rgba(32,232,121,0)}}@keyframes v53Flow{0%{transform:translateX(-25%)}100%{transform:translateX(25%)}}
@media(max-width:760px){.workspace-ribbon{display:grid;grid-template-columns:1fr auto;gap:9px}.workspace-select{grid-column:1/2;grid-row:2;max-width:none;width:100%;margin:0}.workspace-ribbon .btn{grid-column:2;grid-row:2}.voice-command-center{align-items:stretch;flex-direction:column;padding:16px}.voice-main-button{width:100%;min-width:0;justify-content:center}.voice-command-copy{text-align:center}.simple-action-panel{grid-template-columns:1fr}.voice-example-list{grid-template-columns:1fr}.workspace-manager-grid{grid-template-columns:1fr}.category-inline-form{grid-template-columns:1fr}.cash-actions-inline{display:grid;grid-template-columns:1fr 1fr}.cash-balance-hero strong{font-size:1.65rem}.home-summary-grid.compact-summary{grid-template-columns:1fr}.page{padding-left:12px;padding-right:12px}.bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}.app-shell{padding-bottom:calc(92px + env(safe-area-inset-bottom))}}
@media(max-width:390px){.workspace-ribbon{grid-template-columns:1fr}.workspace-select,.workspace-ribbon .btn{grid-column:1;grid-row:auto;width:100%}.cash-actions-inline{grid-template-columns:1fr}.voice-main-button{padding:14px}.voice-main-button strong{font-size:.96rem}}


/* FASE 5.3 — plano individual */
.launch-price{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 4px;padding:12px 14px;border:1px solid var(--line-green);border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--green-soft),transparent)}
.launch-price span{font-size:.78rem;color:var(--text-1);font-weight:800}.launch-price strong{font-size:1.35rem;color:var(--green)}

/* =========================================================
   FASE 5.3.1 — CADASTRO PROTEGIDO, E-MAIL E ATIVAÇÕES
   ========================================================= */
.auth-notice,.email-confirm-banner{display:flex;align-items:flex-start;gap:12px;margin:14px 0;padding:13px 14px;border:1px solid rgba(44,220,240,.22);border-radius:15px;background:linear-gradient(120deg,rgba(44,220,240,.09),rgba(32,232,121,.035))}.auth-notice{display:grid;gap:3px}.auth-notice strong,.email-confirm-banner strong{color:var(--cyan)}.auth-notice span,.email-confirm-banner span{font-size:.8rem;line-height:1.45;color:var(--text-1)}.auth-notice.success{border-color:rgba(32,232,121,.34);background:rgba(32,232,121,.09)}.auth-notice.success strong{color:var(--green)}.email-confirm-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:var(--cyan-soft);font-size:1.05rem}.email-confirm-banner>div{display:grid;gap:3px}.access-choice{display:grid;gap:10px;padding:0;border:0;margin:2px 0}.access-choice legend{margin-bottom:8px;font-weight:850;color:var(--text-0)}.access-option{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.02);cursor:pointer;transition:.2s ease}.access-option:hover,.access-option.active{border-color:rgba(32,232,121,.38);background:rgba(32,232,121,.07);box-shadow:inset 0 0 20px rgba(32,232,121,.025)}.access-option input{margin-top:3px;accent-color:var(--green)}.access-option span{display:grid;gap:3px}.access-option strong{font-size:.86rem}.access-option small{color:var(--text-2);font-size:.73rem;line-height:1.4}.activation-code-input{text-transform:uppercase;letter-spacing:.08em;font-weight:850}.activation-code-field[hidden]{display:none!important}.confirm-email-hero{display:grid;place-items:center;text-align:center;gap:8px;margin:18px 0}.confirm-email-hero>span{display:grid;place-items:center;width:66px;height:66px;border-radius:22px;background:linear-gradient(145deg,var(--cyan-soft),var(--green-soft));font-size:1.7rem;border:1px solid rgba(44,220,240,.25)}.confirm-email-hero h2{margin:4px 0 0}.confirm-email-hero p{margin:0;color:var(--text-2);line-height:1.5}.confirm-email-hero p strong{color:var(--text-0);word-break:break-word}.confirm-steps{display:grid;gap:9px;margin:18px 0}.confirm-steps>div{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.02)}.confirm-steps b{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:var(--green-soft);color:var(--green)}.confirm-steps span{font-size:.8rem;color:var(--text-1)}.generated-code-card{display:grid;place-items:center;text-align:center;gap:8px;margin:10px 0 18px;padding:24px;border:1px solid rgba(32,232,121,.35);border-radius:20px;background:radial-gradient(circle at 50% 0,rgba(32,232,121,.13),transparent 54%),rgba(3,18,25,.92)}.generated-code-card>span,.generated-code-card small{color:var(--text-2)}.generated-code-card strong{font-size:clamp(1.35rem,5vw,2rem);letter-spacing:.08em;color:var(--green);word-break:break-all}.admin-nav-item{min-height:54px;display:flex;align-items:center;gap:12px;padding:0 15px;border:1px solid transparent;border-radius:17px;background:transparent;color:var(--text-2);font-weight:800;cursor:pointer;transition:var(--ease);text-align:left}.admin-nav-item:hover{background:rgba(255,255,255,.035);color:var(--text-1)}.admin-nav-item.active{color:var(--green);background:var(--green-soft);border-color:var(--line-green)}.admin-nav-item .icon{width:21px;height:21px}
@media(max-width:760px){.email-confirm-banner,.auth-notice{padding:12px}.access-option{padding:12px}.generated-code-card{padding:18px}.admin-nav-item{min-width:max-content;min-height:45px;padding:0 13px}.page-head>#createActivationCode{width:100%}}

/* ===== PL Gestor 6.0 RC — visual executivo ===== */
:root{--v60-panel:rgba(8,25,35,.94);--v60-panel-2:rgba(11,31,42,.88);--v60-border:rgba(156,190,208,.13);--v60-shadow:0 22px 70px rgba(0,0,0,.28)}
body{background:linear-gradient(145deg,#020b12 0%,#061722 48%,#04111a 100%);background-attachment:fixed}
body::before,body::after{display:none!important}
.app-shell{max-width:1480px;padding-left:clamp(14px,3vw,42px);padding-right:clamp(14px,3vw,42px)}
.topbar{border-radius:18px;background:rgba(4,15,23,.9);box-shadow:0 12px 35px rgba(0,0,0,.22);border-color:var(--v60-border)}
.home-v60{display:grid;gap:20px}
.executive-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:6px 2px 2px}
.executive-eyebrow,.executive-card-head span,.close-day-card>span{display:block;font-size:.68rem;font-weight:900;letter-spacing:.16em;color:var(--cyan);margin-bottom:8px}
.executive-hero h1{font-size:clamp(2rem,5vw,3.55rem);letter-spacing:-.055em;margin:0;line-height:1.02}.executive-hero p{color:var(--text-1);margin-top:10px;font-size:1rem}.hero-actions{display:flex;align-items:center;gap:10px}.hero-actions .select{min-height:42px;width:auto;min-width:150px}
.pl-command-card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:26px;padding:clamp(22px,4vw,38px);border:1px solid rgba(32,232,121,.22);border-radius:26px;background:linear-gradient(120deg,rgba(10,40,37,.98),rgba(7,25,36,.96) 56%,rgba(7,30,39,.98));box-shadow:0 22px 70px rgba(0,0,0,.3)}
.pl-command-card::after{content:"";position:absolute;inset:auto -12% -90% 28%;height:160%;background:linear-gradient(90deg,transparent,rgba(32,232,121,.055),transparent);transform:rotate(-8deg);pointer-events:none}
.command-copy{position:relative;z-index:1}.command-status{font-size:.68rem;font-weight:900;letter-spacing:.15em;color:var(--green);display:flex;align-items:center;gap:8px}.command-status i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(32,232,121,.1)}.command-copy h2{font-size:clamp(1.6rem,4vw,2.7rem);letter-spacing:-.045em;margin:12px 0 8px}.command-copy p{color:var(--text-1);max-width:690px;line-height:1.6}.command-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.command-suggestions span{font-size:.72rem;color:var(--text-1);padding:8px 11px;border:1px solid var(--v60-border);border-radius:999px;background:rgba(255,255,255,.025)}
.executive-mic{position:relative;z-index:1;min-width:230px;min-height:126px;padding:20px;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;color:#00160a;background:linear-gradient(145deg,#49f49a,#18c96c);box-shadow:0 18px 55px rgba(32,232,121,.24);transition:.22s ease}.executive-mic:hover{transform:translateY(-3px);box-shadow:0 24px 70px rgba(32,232,121,.3)}.executive-mic strong{font-size:.98rem;letter-spacing:.04em}.executive-mic small{font-size:.68rem;opacity:.72}
.executive-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.executive-metric{text-align:left;min-height:150px;padding:19px;border:1px solid var(--v60-border);border-radius:20px;background:linear-gradient(180deg,var(--v60-panel-2),rgba(5,18,27,.86));color:var(--text-0);cursor:pointer;box-shadow:0 12px 34px rgba(0,0,0,.16);transition:.2s}.executive-metric:hover{transform:translateY(-3px);border-color:rgba(32,232,121,.26)}.executive-metric span{display:block;color:var(--text-2);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.executive-metric strong{display:block;font-size:clamp(1.45rem,3vw,2.15rem);letter-spacing:-.05em;margin:15px 0 8px}.executive-metric small{display:block;color:var(--text-1);line-height:1.45}.executive-metric.primary{border-color:rgba(32,232,121,.22);background:linear-gradient(155deg,rgba(11,49,39,.98),rgba(6,24,31,.92))}.executive-metric.warning{border-color:rgba(255,171,46,.2)}
.executive-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);gap:16px}.executive-side{display:grid;gap:16px}.executive-card{padding:22px;border:1px solid var(--v60-border);border-radius:22px;background:linear-gradient(180deg,var(--v60-panel),rgba(5,17,25,.92));box-shadow:var(--v60-shadow)}.executive-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.executive-card-head h2,.close-day-card h2{font-size:1.2rem;margin:0;letter-spacing:-.025em}.executive-card-head span{margin-bottom:4px}.executive-timeline{display:grid}.timeline-row{display:grid;grid-template-columns:54px 34px minmax(0,1fr);align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.055)}.timeline-row:last-child{border-bottom:0}.timeline-time{font-size:.75rem;color:var(--text-2);font-variant-numeric:tabular-nums}.timeline-dot{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.05);color:var(--text-1)}.timeline-dot .icon{width:16px;height:16px}.timeline-dot.green{background:var(--green-soft);color:var(--green)}.timeline-dot.cyan{background:var(--cyan-soft);color:var(--cyan)}.timeline-dot.orange{background:var(--orange-soft);color:var(--orange)}.timeline-copy strong,.timeline-copy span{display:block}.timeline-copy strong{font-size:.88rem}.timeline-copy span{color:var(--text-2);font-size:.72rem;margin-top:3px}.stock-alert-list{display:grid;gap:8px}.stock-alert-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.025);color:var(--text-0);cursor:pointer;text-align:left}.stock-alert-row span:first-child strong,.stock-alert-row span:first-child small{display:block}.stock-alert-row small{color:var(--text-2);margin-top:3px}.executive-empty-good{display:flex;align-items:center;gap:9px;color:var(--green);padding:16px 4px}.close-day-card p{color:var(--text-1);line-height:1.55;margin:10px 0 18px}.close-day-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.close-day-summary>div{padding:15px;border:1px solid var(--v60-border);border-radius:15px;background:rgba(255,255,255,.025)}.close-day-summary span,.close-day-summary strong{display:block}.close-day-summary span{color:var(--text-2);font-size:.72rem}.close-day-summary strong{font-size:1.25rem;margin-top:7px}
.bottom-nav{background:rgba(3,13,20,.94);border-color:var(--v60-border);box-shadow:0 -12px 38px rgba(0,0,0,.24)}
@media(max-width:980px){.executive-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-grid{grid-template-columns:1fr}.executive-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.app-shell{padding-left:12px;padding-right:12px}.topbar{top:6px;margin-bottom:18px;padding:8px 9px}.brand-copy span,.user-meta,.subscription-chip{display:none}.brand-mark{width:42px;height:42px;border-radius:14px}.user-chip{padding:4px;min-height:44px}.executive-hero{align-items:flex-start;flex-direction:column}.hero-actions{width:100%;justify-content:space-between}.hero-actions .select{flex:1}.pl-command-card{grid-template-columns:1fr;padding:20px}.executive-mic{min-width:0;width:100%;min-height:94px;flex-direction:row}.executive-mic small{display:none}.command-suggestions{display:none}.executive-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.executive-metric{min-height:130px;padding:15px}.executive-metric strong{font-size:1.38rem}.executive-side{grid-template-columns:1fr}.executive-card{padding:17px}.timeline-row{grid-template-columns:43px 32px minmax(0,1fr);gap:9px}.bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom));}.page{padding-bottom:110px}}
@media(max-width:390px){.executive-metrics{grid-template-columns:1fr 1fr}.executive-metric{min-height:120px}.executive-metric small{font-size:.69rem}.executive-hero h1{font-size:2rem}}


/* ===== PL Gestor 6.1 — confirmação compacta e mobile-first ===== */
.modal.modal-compact-voice{width:min(100%,480px);padding:16px;border-radius:22px}.modal-compact-voice .modal-head{margin-bottom:12px}.modal-compact-voice .modal-head h2{font-size:1.18rem}.modal-compact-voice .form-actions{display:grid;grid-template-columns:.7fr 1.3fr;gap:9px;position:sticky;bottom:-16px;margin:14px -16px -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(4,18,27,.92),#06131d);border-top:1px solid var(--line)}.v61-confirm{min-height:58px;font-size:1rem;font-weight:950;box-shadow:0 14px 34px rgba(32,232,121,.22)}.v61-retry{min-height:52px}.v61-mini-summary{display:grid;gap:7px;padding:15px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025)}.v61-mini-summary.in{border-color:rgba(32,232,121,.3)}.v61-mini-summary.out{border-color:rgba(255,171,46,.3)}.v61-mini-summary>span{font-size:.64rem;font-weight:950;letter-spacing:.12em;color:var(--text-2)}.v61-mini-summary>strong{font-size:1.25rem}.v61-mini-summary>b{font-size:2rem;color:var(--green);letter-spacing:-.04em}.v61-mini-summary.out>b{color:var(--orange)}.v61-mini-summary>small{color:var(--text-1);line-height:1.45}.v61-smart-strip{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:15px 17px;border:1px solid var(--v60-border);border-radius:18px;background:linear-gradient(110deg,rgba(8,28,38,.96),rgba(6,18,27,.94))}.v61-smart-strip>div:first-child span,.v61-smart-strip>div:first-child strong{display:block}.v61-smart-strip>div:first-child span{font-size:.62rem;font-weight:900;letter-spacing:.13em;color:var(--cyan)}.v61-smart-strip>div:first-child strong{margin-top:5px}.v61-smart-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.v61-smart-actions button{padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.025);color:var(--text-0);text-align:left;cursor:pointer}.v61-smart-actions button strong,.v61-smart-actions button span{display:block}.v61-smart-actions button strong{font-size:.78rem}.v61-smart-actions button span{font-size:.67rem;color:var(--text-2);margin-top:3px}.v61-all-good{color:var(--green);font-size:.8rem}
@media(max-width:680px){.modal-backdrop{place-items:end center;padding:8px}.modal.modal-compact-voice{max-height:78dvh;border-radius:24px 24px 14px 14px}.modal-compact-voice .form-actions{grid-template-columns:1fr}.v61-confirm{order:-1;min-height:62px}.v61-retry{min-height:44px}.v61-smart-strip{grid-template-columns:1fr;gap:10px}.v61-smart-actions{justify-content:stretch;display:grid}.v61-smart-actions button{width:100%}}


/* ===== PL Gestor 6.1.3/6.1.4 — automação por contexto e ajuste mobile ===== */
.workspace-auto{grid-template-columns:1fr auto!important;align-items:center}.workspace-auto .workspace-select{display:none!important}.workspace-auto small{display:block;margin-top:5px;color:var(--text-2);font-size:.72rem;line-height:1.4}
.toast-stack{top:50%!important;right:auto!important;left:50%!important;transform:translate(-50%,-50%)!important;width:min(calc(100% - 32px),360px)!important;pointer-events:none}.toast{pointer-events:auto;text-align:left;box-shadow:0 24px 70px rgba(0,0,0,.48)!important}.toast.success{border-color:rgba(32,232,121,.55)!important;background:linear-gradient(145deg,rgba(8,47,38,.98),rgba(5,25,31,.98))!important}.toast.error{border-color:rgba(255,88,106,.65)!important;background:linear-gradient(145deg,rgba(58,18,29,.98),rgba(18,20,29,.98))!important}
.voice-main-button,.voice-orb,#homeVoiceV53{animation:v613-pulse 1.8s ease-in-out infinite!important}@keyframes v613-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(44,220,240,.18)}50%{transform:scale(1.025);box-shadow:0 0 0 12px rgba(44,220,240,0)}}
.tabs-mobile-safe{display:flex!important;overflow-x:auto!important;scrollbar-width:none!important;padding-right:24px!important;gap:8px!important}.tabs-mobile-safe::-webkit-scrollbar{display:none}.tabs-mobile-safe>*{flex:0 0 auto!important;min-width:max-content!important}
@media(max-width:680px){.workspace-auto{grid-template-columns:1fr!important}.workspace-auto .btn{width:100%}.workspace-ribbon{padding:15px!important}.toast-stack{width:calc(100% - 28px)!important}.page{overflow-x:hidden!important}.bottom-nav{z-index:90!important}.tab-list,.tabs,.segmented{max-width:100%;overflow-x:auto;scrollbar-width:none}.tab-list::-webkit-scrollbar,.tabs::-webkit-scrollbar,.segmented::-webkit-scrollbar{display:none}}

/* ===== PL Gestor 6.1.3/6.1.4 — cabeçalho inteligente e voltar ao topo ===== */
.topbar{
  will-change:transform,opacity;
  transition:transform .24s ease,opacity .2s ease,box-shadow .2s ease;
}
.topbar.topbar-hidden{
  transform:translateY(calc(-100% - 24px));
  opacity:.12;
  pointer-events:none;
}
.topbar.topbar-visible{
  transform:translateY(0);
  opacity:1;
}
.scroll-top-button{
  position:fixed;
  right:max(16px,env(safe-area-inset-right));
  bottom:max(calc(var(--nav-h) + 30px),calc(env(safe-area-inset-bottom) + 104px));
  z-index:95;
  width:52px;
  height:52px;
  border:1px solid rgba(18,201,245,.52);
  border-radius:17px;
  display:grid;
  place-items:center;
  background:linear-gradient(160deg,rgba(11,45,58,.98),rgba(4,23,33,.98));
  color:var(--cyan-bright);
  box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.03) inset;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px) scale(.9);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .2s ease;
}
.scroll-top-button.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.scroll-top-button:active{transform:scale(.94)}
.scroll-top-button svg{width:25px;height:25px;stroke-width:2.7}
@media(max-width:680px){
  .topbar{top:6px}
  .scroll-top-button{
    right:14px;
    bottom:max(calc(var(--nav-h) + 22px),calc(env(safe-area-inset-bottom) + 94px));
    width:50px;
    height:50px;
  }
}
@media(prefers-reduced-motion:reduce){
  .topbar,.scroll-top-button{transition:none!important}
}

/* ===== PL Gestor 6.1.5 — caixa único, consultas e ações visíveis ===== */
.auth-links-prominent{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.auth-links-prominent button{min-height:52px!important;border:1px solid rgba(43,255,133,.5)!important;border-radius:15px!important;background:linear-gradient(145deg,rgba(29,224,112,.2),rgba(7,52,38,.9))!important;color:#52ff9d!important;font-weight:900!important;box-shadow:0 10px 28px rgba(20,224,103,.13),0 0 0 1px rgba(255,255,255,.025) inset;animation:v615-auth-pulse 2.1s ease-in-out infinite}
.auth-links-prominent button:nth-child(2){background:linear-gradient(145deg,rgba(38,242,128,.32),rgba(8,73,46,.96))!important;box-shadow:0 12px 34px rgba(32,232,121,.22)}
.first-access-notice{border-color:rgba(40,242,128,.58)!important;background:linear-gradient(145deg,rgba(18,104,64,.34),rgba(6,31,29,.96))!important;box-shadow:0 14px 38px rgba(32,232,121,.14);animation:v615-notice-glow 2.2s ease-in-out infinite}
.first-access-notice strong{color:#5dffa8!important;font-size:.92rem!important}
@keyframes v615-auth-pulse{0%,100%{transform:translateY(0);box-shadow:0 10px 28px rgba(20,224,103,.13)}50%{transform:translateY(-2px);box-shadow:0 16px 38px rgba(32,232,121,.3),0 0 0 7px rgba(32,232,121,.035)}}
@keyframes v615-notice-glow{0%,100%{box-shadow:0 12px 32px rgba(32,232,121,.11)}50%{box-shadow:0 16px 42px rgba(32,232,121,.23)}}
.context-helper{grid-template-columns:1fr!important;border-color:rgba(44,220,240,.2)!important;background:linear-gradient(110deg,rgba(8,31,41,.92),rgba(5,20,29,.96))!important}
.context-check-drawer{border:1px solid rgba(44,220,240,.2);border-radius:18px;background:linear-gradient(140deg,rgba(7,29,39,.96),rgba(5,18,27,.97));overflow:hidden;margin-bottom:14px}
.context-check-drawer summary{display:flex;align-items:center;gap:9px;padding:15px 17px;color:var(--text-0);font-weight:900;cursor:pointer;list-style:none}
.context-check-drawer summary::-webkit-details-marker{display:none}.context-check-drawer summary .icon{color:var(--cyan)}
.context-check-content{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 17px 17px}.context-check-content>div:first-child{display:grid;gap:4px}.context-check-content span{color:var(--text-2);font-size:.74rem;line-height:1.45}
.context-check-buttons{display:flex;gap:7px;padding:5px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(0,0,0,.16)}
.context-check-buttons button{min-height:40px;padding:0 15px;border:0;border-radius:10px;background:transparent;color:var(--text-2);font-weight:850;cursor:pointer}
.context-check-buttons button.active{background:linear-gradient(145deg,rgba(32,232,121,.95),rgba(21,190,96,.95));color:#03140c;box-shadow:0 8px 24px rgba(32,232,121,.22)}
.single-cash-notice{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:14px;border:1px solid rgba(32,232,121,.28);border-radius:17px;background:linear-gradient(130deg,rgba(13,70,48,.32),rgba(5,24,30,.96))}.single-cash-notice>.icon{width:27px;height:27px;color:var(--green)}.single-cash-notice strong,.single-cash-notice span{display:block}.single-cash-notice span{margin-top:3px;color:var(--text-2);font-size:.75rem}
.v615-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 0}.v615-quick-actions button{display:flex;align-items:center;gap:12px;min-height:82px;padding:14px;border:1px solid rgba(32,232,121,.18);border-radius:17px;background:linear-gradient(145deg,rgba(11,42,38,.94),rgba(5,22,30,.97));color:var(--text-0);text-align:left;cursor:pointer;box-shadow:0 14px 32px rgba(0,0,0,.18);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.v615-quick-actions button:hover{transform:translateY(-2px);border-color:rgba(32,232,121,.42);box-shadow:0 17px 38px rgba(0,0,0,.24)}.v615-quick-actions .icon{width:25px;height:25px;color:var(--green);flex:0 0 auto}.v615-quick-actions span{display:grid;gap:3px}.v615-quick-actions strong{font-size:.86rem}.v615-quick-actions small{color:var(--text-2);font-size:.69rem;line-height:1.3}.greeting-action{border-color:rgba(32,232,121,.34)!important;color:var(--green)!important}.modal-context-actions{margin-top:14px;justify-content:center}.v615-area-badge{justify-self:start;margin-top:4px}
@media(max-width:900px){.v615-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.auth-links-prominent{grid-template-columns:1fr}.context-check-content{align-items:stretch;flex-direction:column}.context-check-buttons{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.context-check-buttons button{padding:0 8px}.v615-quick-actions{grid-template-columns:1fr 1fr;gap:8px}.v615-quick-actions button{min-height:88px;padding:12px;align-items:flex-start;flex-direction:column;gap:8px}.greeting-action{width:100%}}
@media(prefers-reduced-motion:reduce){.auth-links-prominent button,.first-access-notice{animation:none!important}.v615-quick-actions button{transition:none!important}}


/* PL GESTOR 6.1.13 — entrada de marca, logo e central de alertas */
.brand-mark{font-size:0!important;color:transparent!important;background-color:#031019!important;background-image:url('assets/icon.svg')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;box-shadow:0 12px 32px rgba(23,213,124,.2),0 0 0 1px rgba(205,220,218,.16)!important}
.brand-mark::after{border-color:rgba(221,232,230,.28)!important}
.app-splash{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;align-content:center;gap:13px;padding:28px;background:radial-gradient(circle at 50% 42%,rgba(19,164,100,.18),transparent 31%),linear-gradient(155deg,#020b11,#061923 55%,#031019);transition:opacity .55s ease,visibility .55s ease;overflow:hidden}
.app-splash.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.splash-orbit{position:absolute;width:250px;height:250px;border-radius:50%;border:1px solid rgba(50,245,138,.18);box-shadow:0 0 80px rgba(22,201,231,.1);animation:v616-orbit 2.2s cubic-bezier(.2,.8,.2,1) both}
.splash-orbit::before,.splash-orbit::after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(198,214,211,.22)}
.splash-orbit::before{inset:22px;animation:v616-orbit-reverse 3s linear infinite}.splash-orbit::after{inset:52px;border-color:rgba(32,232,121,.22)}
.splash-logo{position:relative;width:122px;height:122px;filter:drop-shadow(0 18px 34px rgba(22,201,231,.2));animation:v616-logo-launch 1.75s cubic-bezier(.16,1,.3,1) both}
.splash-name{position:relative;font-size:1.42rem;letter-spacing:-.035em;color:#f4fbfa;animation:v616-copy-in .8s .65s both}
.splash-slogan{position:relative;max-width:340px;text-align:center;color:#bfd0ce;font-size:.92rem;line-height:1.5;animation:v616-copy-in .8s .8s both}
.splash-site{position:relative;margin-top:4px;text-decoration:none;font-weight:900;font-size:.78rem;letter-spacing:.055em;background:linear-gradient(90deg,#11764a,#c4cfcd,#54766d);background-size:180% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:v616-site-shine 2.2s .9s ease-in-out both}
@keyframes v616-logo-launch{0%{opacity:0;transform:perspective(500px) rotateY(-540deg) rotateZ(-18deg) scale(.25)}55%{opacity:1;transform:perspective(500px) rotateY(22deg) rotateZ(5deg) scale(1.12)}72%{transform:translateX(-4px) rotateZ(-3deg) scale(.98)}82%{transform:translateX(4px) rotateZ(3deg) scale(1.02)}100%{transform:none}}
@keyframes v616-orbit{0%{opacity:0;transform:scale(.35) rotate(-120deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes v616-orbit-reverse{to{transform:rotate(-360deg)}}
@keyframes v616-copy-in{from{opacity:0;transform:translateY(12px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes v616-site-shine{0%{opacity:0;background-position:100% 0}45%{opacity:1}100%{opacity:1;background-position:0 0}}
.auth-brand-intro{display:grid;gap:5px;margin:14px 0 18px;padding:12px 14px;border-left:3px solid rgba(26,166,101,.72);background:linear-gradient(90deg,rgba(10,68,48,.34),rgba(186,201,198,.035));border-radius:4px 13px 13px 4px}
.auth-brand-intro strong{font-size:.82rem;line-height:1.4;color:#d8e4e2}.auth-brand-intro a{text-decoration:none;font-size:.72rem;font-weight:900;letter-spacing:.035em;background:linear-gradient(90deg,#147348,#c4cecc,#516c65);-webkit-background-clip:text;background-clip:text;color:transparent}
.notification-settings-card{display:grid;gap:14px}.notification-phone-demo{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid rgba(32,232,121,.26);border-radius:17px;background:linear-gradient(145deg,rgba(13,66,52,.78),rgba(5,27,34,.98));box-shadow:0 14px 34px rgba(0,0,0,.18)}.notification-phone-demo>span,.notification-center-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;color:#43f895;background:rgba(32,232,121,.12)}.notification-phone-demo strong,.notification-phone-demo small{display:block}.notification-phone-demo small{margin-top:3px;color:var(--text-2)}.notification-status-row{display:flex;justify-content:flex-end}.notification-settings-card .check-row{align-items:flex-start}.notification-settings-card .check-row strong,.notification-settings-card .check-row small{display:block}.notification-settings-card .check-row small{margin-top:4px;color:var(--text-2);line-height:1.4}
.notification-center-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid rgba(44,220,240,.18);border-radius:18px;background:linear-gradient(120deg,rgba(32,232,121,.09),rgba(44,220,240,.055),rgba(255,255,255,.018))}.notification-center-banner strong,.notification-center-banner small{display:block}.notification-center-banner small{margin-top:3px;color:var(--text-2)}.reminder-ok-button{min-width:76px;display:inline-flex!important;gap:7px!important}.reminder-notification-note{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border:1px solid rgba(44,220,240,.18);border-radius:14px;background:rgba(44,220,240,.05);color:var(--cyan)}.reminder-notification-note>span{display:grid;gap:3px;color:var(--text-0)}.reminder-notification-note small{color:var(--text-2);line-height:1.45}
@media(max-width:680px){.splash-logo{width:104px;height:104px}.splash-orbit{width:215px;height:215px}.notification-center-banner{grid-template-columns:auto minmax(0,1fr);align-items:start}.notification-center-banner>.badge,.notification-center-banner>.btn{grid-column:2;width:100%}.notification-status-row{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.splash-logo,.splash-orbit,.splash-orbit::before,.splash-name,.splash-slogan,.splash-site{animation:none!important}}
