/* Interface estática principal do Agro Field. */
:root {
  --forest-950: #102d24;
  --forest-900: #163d30;
  --forest-800: #20523e;
  --forest-700: #2c634b;
  --forest-600: #397459;
  --leaf: #6d9a56;
  --paper: #f3efe4;
  --paper-deep: #e9e1d0;
  --card: #fffdf8;
  --ink: #17231f;
  --muted: #65716b;
  --line: #d9cfbc;
  --gold: #c69843;
  --terracotta: #b96445;
  --shadow: 0 16px 45px rgba(31, 52, 42, 0.1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--ink);
  background: var(--paper);
  font-family: "Nunito Sans", "Segoe UI", Arial, sans-serif;
}
button, input, select { font: inherit; }
button { color: inherit; }
.field-lines {
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(22,61,48,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22,61,48,.045) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}
.field-lines::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 75% 12%, rgba(198,152,67,.14), transparent 28%), linear-gradient(120deg, transparent 60%, rgba(109,154,86,.07));
}

.app-shell { display: grid; grid-template-columns: 260px minmax(0,1fr); min-height: 100vh; }
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 26px 18px 18px;
  color: #f9f5e9;
  background: var(--forest-950);
  border-right: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  z-index: 10;
}
.brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; margin: 0 8px 38px; }
.brand-mark { width: 45px; height: 45px; position: relative; display: grid; place-items: center; background: #e9dfc8; color: var(--forest-950); border-radius: 3px 15px 3px 15px; overflow: hidden; }
.brand-mark i { position: absolute; width: 30px; height: 52px; border: 1px solid rgba(22,61,48,.25); border-radius: 50%; transform: rotate(32deg); }
.brand-mark b { position: relative; font-family: "DM Mono"; font-size: 13px; }
.brand > span:last-child { display: grid; }
.brand strong { font-family: "Newsreader"; font-size: 22px; line-height: 1; }
.brand small { margin-top: 5px; color: #aebdb5; font: 9px "DM Mono"; letter-spacing: .16em; text-transform: uppercase; }
.sidebar-scroll { min-height:0; flex:1; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.22) transparent; }
.sidebar-scroll::-webkit-scrollbar { width:5px; }.sidebar-scroll::-webkit-scrollbar-thumb { background:rgba(255,255,255,.2); border-radius:8px; }
.nav-label, .eyebrow { margin: 0; color: var(--gold); font: 500 10px "DM Mono"; letter-spacing: .18em; text-transform: uppercase; }
.main-nav { display: grid; gap: 8px; }
.main-nav .nav-label { margin: 0 12px 7px; color: #82968d; }
.nav-item {
  display: grid;
  grid-template-columns: 32px 1fr;
  grid-template-rows: auto auto;
  gap: 1px 8px;
  width: 100%;
  padding: 14px 12px;
  border: 0;
  border-left: 2px solid transparent;
  border-radius: 2px 10px 10px 2px;
  color: #b7c4be;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: .2s ease;
}
.nav-item span { grid-row: 1/3; align-self: center; font: 11px "DM Mono"; color: #788d83; }
.nav-item b { font-size: 14px; font-weight: 600; }
.nav-item small { color: #778c82; font-size: 11px; }
.nav-item:hover { background: rgba(255,255,255,.05); color: white; }
.nav-item.active { color: white; background: rgba(255,255,255,.09); border-left-color: var(--gold); }
.nav-item.active span { color: var(--gold); }
.department-nav { margin-top:25px; padding:20px 7px 4px; border-top:1px solid rgba(255,255,255,.08); }
.department-nav > .nav-label { margin:0 5px 11px; color:#82968d; }
#department-menu { display:grid; gap:5px; }
.department-item { position:relative; width:100%; min-width:0; display:grid; grid-template-columns:32px minmax(0,1fr) 27px; align-items:center; gap:9px; padding:7px 8px; color:#c6d0cb; background:transparent; border:1px solid transparent; border-radius:8px; text-align:left; cursor:pointer; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.department-item::before { content:""; position:absolute; inset:7px auto 7px 0; width:2px; background:var(--department-color); border-radius:2px; opacity:0; transform:scaleY(.35); transition:.18s ease; }
.department-item > span { width:32px; height:32px; display:grid; place-items:center; color:white; background:var(--department-color); border-radius:8px; font:600 9px "DM Mono"; }
.department-item b { overflow:hidden; font-size:11px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }.department-item small { min-width:27px; padding:4px 3px; color:#aebdb5; background:rgba(255,255,255,.07); border-radius:12px; font:8px "DM Mono"; text-align:center; }
.department-item:hover { color:white; background:rgba(255,255,255,.055); transform:translateX(2px); }.department-item.active { color:white; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.06); }.department-item.active::before { opacity:1; transform:scaleY(1); }.department-item.active small { color:var(--forest-950); background:#f3eddf; }
.sidebar-summary { margin-top: auto; padding: 22px 12px; border-top: 1px solid rgba(255,255,255,.09); display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.sidebar-summary .nav-label { grid-column: 1/-1; color: #82968d; margin-bottom: 3px; }
.sidebar-summary div { display: grid; }
.sidebar-summary span { color: #fff; font: 500 16px "DM Mono"; }
.sidebar-summary small { color: #7f958a; font-size: 10px; }
.profile-card { display: flex; align-items: center; gap: 10px; margin-top: 8px; padding: 12px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.07); border-radius: 10px; }
.profile-card > span { width: 31px; height: 31px; display: grid; place-items: center; background: var(--gold); color: var(--forest-950); border-radius: 50%; font: 500 10px "DM Mono"; }
.profile-card div { display: grid; flex: 1; }
.profile-card b { font-size: 11px; }
.profile-card small { color: #82968d; font-size: 9px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #79b666; box-shadow: 0 0 0 4px rgba(121,182,102,.12); }

.main-content { min-width: 0; }
.topbar { height: 68px; padding: 0 clamp(24px,4vw,58px); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(243,239,228,.78); backdrop-filter: blur(10px); position: sticky; top: 0; z-index: 8; }
.breadcrumb { display: flex; gap: 9px; align-items: center; font: 11px "DM Mono"; text-transform: uppercase; letter-spacing: .08em; }
.breadcrumb span, .breadcrumb i { color: #849088; font-style: normal; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.quiet-button, .menu-toggle { border: 1px solid var(--line); background: rgba(255,253,248,.7); cursor: pointer; }
.quiet-button { padding: 10px 14px; border-radius: 6px; }
.quiet-button span { font-size: 18px; margin-right: 5px; }
.account-control { position: relative; }
.account-trigger { min-height: 38px; display: flex; align-items: center; gap: 8px; padding: 4px 8px 4px 5px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,253,248,.84); color: var(--ink); cursor: pointer; }
.account-trigger > img, .account-trigger > span:first-of-type, .account-menu-avatar { width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; }
.account-trigger > img { object-fit: cover; }
.account-trigger > span:first-of-type { display: grid; place-items: center; background: var(--forest-800); color: #fff; font-size: 10px; font-weight: 800; }
.account-trigger > [hidden], .account-menu-avatar [hidden] { display: none !important; }
.account-trigger-copy { display: grid; min-width: 82px; text-align: left; line-height: 1.05; }
.account-trigger-copy b { max-width: 130px; overflow: hidden; color: var(--ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.account-trigger-copy small { margin-top: 3px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.account-trigger > i { color: var(--muted); font-style: normal; font-size: 11px; }
.account-menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: 30; width: min(355px, calc(100vw - 24px)); padding: 14px; border: 1px solid #d7cdb9; border-radius: 8px; background: #fffdf8; box-shadow: 0 18px 50px rgba(22,49,40,.18); }
.account-menu[hidden] { display: none; }
.account-menu header { display: flex; align-items: center; gap: 11px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.account-menu header > span:last-child { display: grid; min-width: 0; }
.account-menu header strong, .account-menu header small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-menu header strong { font-size: 14px; }
.account-menu header small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.account-menu-avatar { display: grid; place-items: center; overflow: hidden; background: var(--forest-800); color: #fff; }
.account-menu-avatar img { width: 100%; height: 100%; object-fit: cover; }
.account-menu-avatar b { font-size: 11px; }
.account-data-action { width: 100%; display: grid; grid-template-columns: 28px 1fr auto; grid-template-rows: auto auto; align-items: center; gap: 1px 9px; margin: 8px 0; padding: 10px 6px; border: 0; border-radius: 6px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.account-data-action:hover { background: #f3eee2; }
.account-data-action > span { grid-row: 1 / 3; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #e5eee8; color: var(--forest-800); font-weight: 800; }
.account-data-action b { font-size: 11px; }
.account-data-action small { grid-column: 2; color: var(--muted); font-size: 9px; }
.account-data-action i { grid-column: 3; grid-row: 1 / 3; color: var(--muted); font-style: normal; font-size: 18px; }
.account-menu form { padding: 12px 0; }
.account-menu form > label { display: block; font-size: 11px; font-weight: 800; }
.account-menu form > p { margin: 4px 0 9px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.account-menu form > div { display: flex; }
.account-menu form input { min-width: 0; flex: 1; padding: 8px 9px; border: 1px solid var(--line); border-radius: 5px 0 0 5px; font: inherit; font-size: 11px; }
.account-menu form div button { padding: 0 11px; border: 0; border-radius: 0 5px 5px 0; background: var(--forest-800); color: #fff; font-size: 10px; font-weight: 800; cursor: pointer; }
.account-error { display: block; min-height: 14px; margin-top: 4px; color: #a13f32; font-size: 9px; }
.remove-photo { padding: 2px 0; border: 0; background: transparent; color: var(--forest-700); font-size: 10px; font-weight: 700; cursor: pointer; }
.account-signout { width: 100%; display: flex; align-items: center; gap: 8px; padding: 10px 2px 1px; border: 0; border-top: 1px solid var(--line); background: transparent; color: #8b332b; font-size: 11px; font-weight: 800; cursor: pointer; }
.account-signout span { transform: rotate(180deg); font-size: 15px; }
.profile-modal-backdrop { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 20px; background: rgba(8,32,25,.58); backdrop-filter: blur(4px); }
.profile-modal-backdrop[hidden] { display: none; }
.profile-modal { width: min(540px, 100%); border: 1px solid #d8cdb8; border-radius: 12px; background: #fffdf8; box-shadow: 0 26px 80px rgba(8,32,25,.3); }
.profile-modal > header { display: flex; justify-content: space-between; gap: 24px; padding: 24px 26px 18px; border-bottom: 1px solid var(--line); }
.profile-modal > header h2 { margin: 4px 0 3px; font-size: 23px; }
.profile-modal > header p { margin: 0; color: var(--muted); font-size: 12px; }
.profile-modal > header > button { width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--muted); font-size: 20px; cursor: pointer; }
.profile-modal form { padding: 22px 26px 24px; }
.profile-photo-editor { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #f8f4ea; }
.profile-photo-preview { width: 82px; height: 82px; flex: 0 0 82px; display: grid; place-items: center; overflow: hidden; border: 3px solid #fff; border-radius: 50%; background: var(--forest-800); color: #fff; box-shadow: 0 4px 16px rgba(22,49,40,.15); }
.profile-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.profile-photo-preview [hidden] { display: none; }
.profile-photo-preview b { font-size: 21px; }
.profile-photo-editor > div strong { font-size: 12px; }
.profile-photo-editor > div p { margin: 3px 0 10px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.profile-upload-button { display: inline-block; padding: 7px 10px; border-radius: 5px; background: var(--forest-800); color: #fff; font-size: 10px; font-weight: 800; cursor: pointer; }
#profile-photo-file { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.profile-clear-photo { margin-left: 8px; padding: 6px; border: 0; background: transparent; color: #8b332b; font-size: 10px; font-weight: 700; cursor: pointer; }
.profile-modal form > label { display: block; margin-bottom: 6px; font-size: 11px; font-weight: 800; }
.profile-modal form > input { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 6px; background: #fff; font: inherit; font-size: 13px; }
.profile-form-error { min-height: 18px; display: block; padding-top: 5px; color: #a13f32; font-size: 10px; }
.profile-modal footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 15px; }
.profile-modal footer button { padding: 10px 15px; border: 1px solid var(--line); border-radius: 6px; background: transparent; font-size: 11px; font-weight: 800; cursor: pointer; }
.profile-modal footer .profile-save { border-color: var(--forest-800); background: var(--forest-800); color: #fff; }
.profile-modal footer .profile-save:disabled { opacity: .55; cursor: wait; }
@media (max-width: 760px) {
  .account-trigger { padding: 4px; }
  .account-trigger-copy, .account-trigger > i { display: none; }
  .profile-modal > header, .profile-modal form { padding-left: 18px; padding-right: 18px; }
  .profile-photo-editor { align-items: flex-start; }
  .profile-photo-preview { width: 68px; height: 68px; flex-basis: 68px; }
}
.menu-toggle { display: none; width: 38px; height: 38px; border-radius: 6px; }
.view { display:none; width:100%; max-width:none; margin:0; padding:42px clamp(20px,2.5vw,44px) 72px; }
.view.active { display: block; animation: viewIn .34s ease both; }
@keyframes viewIn { from { opacity: 0; transform: translateY(8px); } }

/* Visão geral comercial */
.dashboard-view { padding-top:24px; }
.command-center { position:relative; min-height:300px; display:grid; grid-template-columns:minmax(0,1fr) 220px; align-items:center; gap:36px; padding:42px clamp(32px,5vw,72px); overflow:hidden; color:white; background:linear-gradient(125deg,#0b2b22 0%,#123f31 68%,#174b39 100%); box-shadow:0 20px 50px rgba(10,42,32,.16); }
.command-center::before { content:""; position:absolute; width:460px; height:460px; right:-150px; top:-225px; border:1px solid rgba(216,184,102,.2); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.018),0 0 0 110px rgba(255,255,255,.012); }
.command-center::after { content:""; position:absolute; inset:auto 0 0; height:3px; background:linear-gradient(90deg,#d2a23d 0 18%,#4f7a68 18% 57%,transparent 57%); }
.command-center-copy { position:relative; z-index:1; }.dashboard-kicker { display:inline-flex; align-items:center; gap:8px; color:#d8b766; font:700 9px "DM Mono"; letter-spacing:.14em; }.dashboard-kicker i { width:18px; height:1px; display:inline-block; background:currentColor; }
.command-center h1 { max-width:820px; margin:20px 0 14px; font-size:clamp(38px,4.2vw,58px); line-height:.98; letter-spacing:-.045em; }.command-center h1 em { color:#dfba61; font-style:normal; }.command-center p { max-width:680px; margin-bottom:24px; color:#b9cac2; font-size:14px; line-height:1.55; }
.dashboard-primary { min-width:190px; display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:13px 15px; color:#102f25; background:#e3c36f; border:0; cursor:pointer; font-size:11px; font-weight:800; transition:.2s; }.dashboard-primary:hover { background:#efd58f; transform:translateY(-2px); }
.dashboard-seal { position:relative; z-index:1; width:165px; height:165px; display:grid; place-content:center; justify-self:end; text-align:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; box-shadow:inset 0 0 0 13px rgba(255,255,255,.025),0 20px 55px rgba(0,0,0,.18); }.dashboard-seal::after { content:""; position:absolute; inset:-13px; border:1px solid rgba(216,184,102,.35); border-radius:48% 52% 49% 51%; transform:rotate(17deg); }.dashboard-seal span { font-size:42px; font-weight:800; line-height:1; }.dashboard-seal small { margin-top:10px; color:#9fb8ac; font:7px/1.5 "DM Mono"; letter-spacing:.13em; }
.dashboard-metrics { display:grid; grid-template-columns:repeat(4,1fr); background:#fffdf8; border:1px solid var(--line); border-top:0; }.dashboard-metrics article { position:relative; min-height:115px; display:grid; grid-template-columns:28px 1fr; grid-template-rows:1fr auto; align-items:center; padding:18px 22px; border-right:1px solid var(--line); }.dashboard-metrics article:last-child { border-right:0; }.dashboard-metrics article > span { grid-row:1/3; align-self:start; padding-top:6px; color:#a39887; font:8px "DM Mono"; }.dashboard-metrics strong { align-self:end; color:var(--forest-900); font-size:32px; line-height:1; }.dashboard-metrics small { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
.dashboard-lower { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:12px; margin-top:12px; }.ptax-card,.catalog-impact { min-height:235px; padding:25px 28px; }.ptax-card { color:white; background:#176b68; }.ptax-card header,.ptax-card footer { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.ptax-card h2 { margin:8px 0 0; font-size:24px; }.ptax-state { padding:6px 9px; color:#dbe9e5; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.15); font:7px "DM Mono"; text-transform:uppercase; letter-spacing:.08em; }.ptax-card[data-state="cache"] .ptax-state { color:#f0d895; }.ptax-card[data-state="unavailable"] .ptax-state { color:#ffd2c9; background:rgba(91,25,18,.2); }
.ptax-values { display:grid; grid-template-columns:1fr 1px 1fr; align-items:center; gap:26px; margin:22px 0; }.ptax-values > i { width:1px; height:45px; background:rgba(255,255,255,.18); }.ptax-values div { display:grid; gap:5px; }.ptax-values small { color:#a9cbc3; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }.ptax-values strong { font-size:28px; letter-spacing:-.03em; }
.ptax-card footer { align-items:end; padding-top:13px; border-top:1px solid rgba(255,255,255,.15); }.ptax-card footer div { display:grid; gap:3px; }.ptax-card footer span { color:#a9cbc3; font-size:8px; text-transform:uppercase; }.ptax-card footer b { font-size:10px; }.ptax-card footer a { color:#e7d394; font-size:9px; text-decoration:none; }
.catalog-impact { position:relative; display:flex; align-items:flex-start; flex-direction:column; overflow:hidden; color:#182b23; background:#e7dfcd; }.catalog-impact::after { content:"05"; position:absolute; right:-9px; bottom:-35px; color:rgba(22,75,57,.08); font-size:150px; font-weight:800; line-height:1; }.catalog-impact .dashboard-kicker { color:#8a6821; }.catalog-impact > strong { position:relative; z-index:1; display:block; margin:18px 0 10px; font-size:28px; line-height:1.05; letter-spacing:-.03em; }.catalog-impact p { position:relative; z-index:1; max-width:380px; color:#67726c; font-size:11px; line-height:1.5; }.catalog-impact button { position:relative; z-index:1; margin-top:auto; padding:0; color:#164b39; background:none; border:0; cursor:pointer; font-size:10px; font-weight:800; }
.recommended-section { padding-top:38px; }.recommended-section > header { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:16px; }.recommended-section h2 { margin:7px 0 0; font-size:25px; }.recommended-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.recommended-card { position:relative; min-height:205px; display:flex; align-items:flex-start; flex-direction:column; padding:21px; overflow:hidden; color:var(--ink); background:var(--card); border:1px solid var(--line); text-align:left; cursor:pointer; transition:.2s; }.recommended-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--accent); }.recommended-card:hover { transform:translateY(-3px); border-color:var(--accent); box-shadow:var(--shadow); }.recommended-card > span { color:var(--forest-600); font:8px "DM Mono"; letter-spacing:.1em; }.recommended-card > span i { margin-right:8px; color:#a59b8b; font-style:normal; }.recommended-card h3 { margin:25px 0 8px; font-size:19px; }.recommended-card p { color:var(--muted); font-size:11px; line-height:1.5; }.recommended-card footer { width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:13px; border-top:1px solid var(--line); }.recommended-card footer small { max-width:55%; overflow:hidden; color:#8b958f; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.recommended-card footer b { color:var(--forest-700); font-size:9px; }

.hero-grid { min-height: 320px; display: grid; grid-template-columns: 1.35fr .65fr; align-items: center; border-bottom: 1px solid var(--line); }
.hero-copy { padding: 12px 0 52px; }
h1, h2, h3, p { margin-top: 0; }
.hero-copy h1, .library-hero h1, .collection-head h1 { margin: 11px 0 14px; max-width: 850px; font: 600 clamp(34px,3.5vw,52px)/1.02 "Newsreader"; letter-spacing: -.025em; }
.hero-copy > p { max-width: 650px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.hero-badges { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 30px; color: #45564e; font-size: 12px; }
.hero-badges i { width: 20px; height: 20px; display: inline-grid; place-items: center; margin-right: 6px; color: white; background: var(--forest-600); border-radius: 50%; font-style: normal; }
.hero-art { position: relative; height: 320px; display: grid; place-items: center; }
.seed-core { position: relative; z-index: 2; width: 144px; height: 144px; display: grid; place-content: center; text-align: center; color: white; background: var(--forest-900); border-radius: 50% 50% 46% 54% / 44% 51% 49% 56%; box-shadow: 0 18px 55px rgba(16,45,36,.24); transform: rotate(-4deg); }
.seed-core span { font: 600 43px "Newsreader"; line-height: .8; }
.seed-core small { margin-top: 8px; color: #b9cabd; font: 9px/1.35 "DM Mono"; text-transform: uppercase; letter-spacing: .1em; }
.orbit { position: absolute; border: 1px solid rgba(22,61,48,.2); border-radius: 50%; }
.orbit-a { width: 238px; height: 238px; }
.orbit-b { width: 310px; height: 194px; transform: rotate(-26deg); border-color: rgba(198,152,67,.4); }
.crop-label { position: absolute; z-index: 3; padding: 6px 9px; color: var(--forest-900); background: var(--card); border: 1px solid var(--line); box-shadow: 0 5px 20px rgba(31,52,42,.1); font: 9px "DM Mono"; letter-spacing: .13em; }
.label-a { left: 8%; top: 22%; }.label-b { right: 5%; top: 33%; }.label-c { left: 23%; bottom: 13%; }

.section-heading { display: flex; justify-content: space-between; gap: 30px; align-items: end; padding: 46px 0 22px; }
.section-heading h2, .after-install h2 { margin: 8px 0 5px; font: 600 32px "Newsreader"; }
.section-heading p { margin: 0; color: var(--muted); }
.security-note { display: flex; align-items: center; gap: 10px; padding: 12px 15px; background: rgba(255,253,248,.7); border: 1px solid var(--line); }
.security-note > span { color: #5d9b58; font-size: 11px; }
.security-note div { display: grid; }
.security-note b { font-size: 11px; }.security-note small { color: var(--muted); font-size: 10px; }
.target-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.target-card { position: relative; min-height: 235px; padding: 24px; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--line); background: rgba(255,253,248,.82); text-align: left; cursor: pointer; transition: transform .2s, box-shadow .2s, border-color .2s; overflow: hidden; }
.target-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.target-card.selected { border: 2px solid var(--forest-800); padding: 23px; background: var(--card); }
.target-card.selected::after { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:var(--forest-800); }
.recommended { position: absolute; top: 15px; right: 15px; padding: 5px 7px; color: var(--forest-950); background: #ebd49d; font: 500 8px "DM Mono"; letter-spacing: .12em; }
.target-icon { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 22px; color: white; background: var(--terracotta); border-radius: 7px; font: normal 600 16px "DM Mono"; }
.latitude-icon { background: #6d5fa8; }.manual-icon { background: var(--forest-800); }
.target-card b { font: 600 22px "Newsreader"; }
.target-card p { margin: 8px 0 22px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.target-card small { margin-top: auto; color: #8a948f; font: 9px "DM Mono"; text-transform: uppercase; }
.target-card em { margin-top: 13px; color: var(--forest-800); font-style: normal; font-weight: 700; font-size: 12px; }

.install-workspace { margin-top: 20px; display: grid; grid-template-columns: .9fr 1.1fr; background: var(--card); border: 1px solid var(--line); box-shadow: var(--shadow); }
.steps-panel { padding: 34px; border-right: 1px solid var(--line); }
.steps-header { display: flex; justify-content: space-between; align-items: end; }
.steps-header h3 { margin: 8px 0 0; font: 600 27px "Newsreader"; }
.steps-header strong { color: var(--forest-600); font: 500 18px "DM Mono"; }
.progress-track { height: 3px; margin: 22px 0 11px; background: var(--paper-deep); }
.progress-track i { display:block; height:100%; background:var(--forest-600); transition: width .35s ease; }
.install-steps { list-style:none; padding:0; margin:0; }
.install-steps li { position:relative; min-height:69px; display:grid; grid-template-columns:36px 1fr 25px; align-items:center; gap:10px; opacity:.48; }
.install-steps li:not(:last-child)::after { content:""; position:absolute; left:17px; top:51px; height:34px; border-left:1px dashed var(--line); }
.install-steps li > span { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font:10px "DM Mono"; }
.install-steps li div { display:grid; }.install-steps li b { font-size:13px; }.install-steps li small { color:var(--muted); font-size:10px; }
.install-steps li > i { color:#8c9992; font:normal 10px "DM Mono"; }
.install-steps li.current, .install-steps li.done { opacity:1; }
.install-steps li.current > span { color:white; background:var(--forest-800); border-color:var(--forest-800); box-shadow:0 0 0 5px rgba(32,82,62,.1); }
.install-steps li.done > span { color:var(--forest-800); border-color:var(--forest-600); }
.install-steps li.done > i { color:var(--forest-600); }
.command-panel { padding: 36px clamp(30px,4vw,56px); background: linear-gradient(145deg,#193d31,#102d24); color:white; }
.command-top { display:flex; justify-content:space-between; align-items:center; }
.platform-pill { padding:6px 9px; color:#b9c9c1; border:1px solid rgba(255,255,255,.18); font:9px "DM Mono"; text-transform:uppercase; }
.command-panel h3 { margin:28px 0 8px; font:500 28px "Newsreader"; }
.command-panel > p { color:#aebfb6; font-size:13px; line-height:1.6; }
.code-box { display:flex; align-items:center; gap:14px; margin:24px 0; padding:16px 16px 16px 20px; background:#0c241d; border:1px solid rgba(255,255,255,.1); }
.code-box code { min-width:0; flex:1; overflow-wrap:anywhere; color:#e7d39f; font:11px/1.6 "DM Mono"; }
.code-box button { padding:8px 11px; color:white; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); cursor:pointer; }
.command-detail { display:grid; grid-template-columns:115px 1fr; padding:16px 0; border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.command-detail > span { color:#81998e; font:9px "DM Mono"; text-transform:uppercase; }
.command-detail div { display:grid; }.command-detail b { font:11px "DM Mono"; }.command-detail small { margin-top:4px; color:#8fa49a; font-size:10px; }
.primary-action { display:inline-flex; justify-content:space-between; align-items:center; gap:30px; min-width:210px; margin-top:24px; padding:13px 15px; color:white; background:var(--forest-600); border:0; cursor:pointer; font-weight:700; font-size:12px; box-shadow:0 8px 20px rgba(0,0,0,.12); }
.primary-action:hover { background:#478668; }.primary-action i { font-style:normal; }
.simulation-note { display:block; margin-top:11px; color:#789086; font-size:9px; }
.after-install { padding-top:50px; }
.quick-skill-row { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:22px 0; }
.quick-skill { padding:19px; background:rgba(255,253,248,.72); border:1px solid var(--line); cursor:pointer; text-align:left; transition:.2s; }
.quick-skill:hover { border-color:var(--forest-600); transform:translateY(-2px); }
.quick-skill small { color:var(--forest-600); font:9px "DM Mono"; }.quick-skill b { display:block; margin:8px 0 5px; font:600 17px "Newsreader"; }.quick-skill span { color:var(--muted); font-size:11px; }
.text-action, .back-link { padding:0; color:var(--forest-800); background:none; border:0; cursor:pointer; font-weight:700; }

.library-hero { display:flex; align-items:end; justify-content:space-between; padding:12px 0 36px; border-bottom:1px solid var(--line); }
.library-hero h1 { margin-bottom:0; font-size:clamp(34px,3.5vw,50px); }
.library-stat { display:flex; align-items:center; gap:14px; padding:18px 22px; background:var(--forest-900); color:white; }
.library-stat strong { font:600 32px "Newsreader"; }.library-stat small { color:#b7c7bf; font-size:10px; }
.search-panel { display:grid; grid-template-columns:minmax(260px,1fr) 205px 165px; gap:8px; margin:20px 0 13px; }
.search-field { display:flex; align-items:center; gap:8px; height:40px; padding:0 11px; background:var(--card); border:1px solid var(--line); }
.search-field > span { font-size:16px; }.search-field input { width:100%; height:38px; border:0; outline:0; background:none; font-size:12px; }
kbd { padding:3px 7px; color:#7b8982; background:var(--paper); border:1px solid var(--line); font:10px "DM Mono"; }
select { height:40px; padding:0 10px; color:#46554e; background:var(--card); border:1px solid var(--line); outline:0; font-size:12px; }
.library-toolbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; }
.library-toolbar p { margin:0; color:var(--muted); font-size:12px; }.library-toolbar b { color:var(--ink); }
.skills-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.skill-card { position:relative; min-height:230px; padding:22px; background:var(--card); border:1px solid var(--line); text-align:left; cursor:pointer; transition:.22s ease; overflow:hidden; }
.skill-card::before { content:""; position:absolute; left:0; top:0; width:100%; height:4px; background:var(--accent,var(--forest-600)); transform:scaleX(.25); transform-origin:left; transition:.25s; }
.skill-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }.skill-card:hover::before { transform:scaleX(1); }
.skill-card-head { display:flex; justify-content:space-between; align-items:center; }
.skill-code { color:var(--forest-600); font:500 10px "DM Mono"; letter-spacing:.12em; }
.favorite-button { padding:2px; color:#8a948f; background:none; border:0; cursor:pointer; font-size:20px; }.favorite-button.active { color:var(--gold); }
.skill-card h3 { margin:27px 0 8px; font:600 23px/1.05 "Newsreader"; }.skill-card p { color:var(--muted); font-size:12px; line-height:1.55; }
.skill-card-footer { position:absolute; left:22px; right:22px; bottom:19px; display:flex; justify-content:space-between; color:#849088; font:9px "DM Mono"; text-transform:uppercase; }
.empty-state { grid-column:1/-1; padding:70px 20px; text-align:center; color:var(--muted); border:1px dashed var(--line); }

.back-link { margin:0 0 22px; }
.detail-hero { display:grid; grid-template-columns:minmax(0,1fr) 230px 210px; background:var(--forest-900); color:white; }
.detail-title { padding:25px 32px; }.detail-title .eyebrow { color:#d8b866; }.detail-title h1 { margin:9px 0 7px; font:600 clamp(32px,3vw,40px)/1.05 "Newsreader"; }.detail-title p { max-width:760px; margin-bottom:0; color:#b9c9c1; font-size:13px; line-height:1.45; }
.detail-metrics { padding:22px 28px; display:grid; align-content:center; gap:11px; background:rgba(0,0,0,.13); border-left:1px solid rgba(255,255,255,.12); }
.detail-metrics div { display:grid; }.detail-metrics strong { font:600 20px "DM Mono"; line-height:1; }.detail-metrics small { margin-top:4px; color:#8fa79b; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.guided-hero-action { display:grid; align-content:center; gap:7px; padding:20px; border-left:1px solid rgba(255,255,255,.1); }
.guided-hero-action > span { color:#d8b866; font-size:8px; font-weight:800; letter-spacing:.14em; }
.guided-launch { display:grid; grid-template-columns:30px 1fr; gap:1px 9px; padding:12px; color:var(--forest-950); background:#f8f3e6; border:0; text-align:left; cursor:pointer; box-shadow:0 8px 22px rgba(0,0,0,.15); }
.guided-launch:hover { background:white; transform:translateY(-1px); }
.guided-launch i { grid-row:1/3; width:28px; height:28px; display:grid; place-items:center; align-self:center; color:white; background:var(--forest-600); border-radius:50%; font-size:9px; font-style:normal; }
.guided-launch b { font-size:11px; }.guided-launch small { color:#69766f; font-size:8px; }
.prompt-workspace { display:grid; grid-template-columns:270px minmax(0,1fr) 270px; min-height:560px; margin-top:16px; background:var(--card); border:1px solid var(--line); box-shadow:var(--shadow); }
.prompt-list, .variables-panel { padding:25px; background:#f8f4ea; }
.prompt-list { border-right:1px solid var(--line); }.variables-panel { border-left:1px solid var(--line); }
.panel-title { margin-bottom:18px; color:#7c8983; font:500 9px "DM Mono"; text-transform:uppercase; letter-spacing:.16em; }
.prompt-option { width:100%; padding:13px 12px; display:grid; grid-template-columns:28px 1fr; gap:8px; color:#5e6a64; background:transparent; border:0; border-left:2px solid transparent; text-align:left; cursor:pointer; }
.prompt-option span { color:#9aa39e; font:9px "DM Mono"; }.prompt-option b { font-size:11px; }.prompt-option.active { color:var(--forest-900); background:white; border-left-color:var(--gold); }
.prompt-content { padding:34px clamp(28px,4vw,52px); min-width:0; }
.prompt-content-head { display:flex; justify-content:space-between; gap:20px; align-items:start; padding-bottom:22px; border-bottom:1px solid var(--line); }
.prompt-content h2 { margin:7px 0 0; font:600 29px "Newsreader"; }
.prompt-actions { display:flex; gap:8px; }.prompt-actions button { padding:9px 11px; background:white; border:1px solid var(--line); cursor:pointer; font-size:10px; }
.prompt-actions .copy-prompt { color:white; background:var(--forest-800); border-color:var(--forest-800); }
.prompt-body { margin-top:25px; color:#34433c; font-size:13px; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; }
.prompt-body strong { color:var(--forest-900); }
.variable { padding:5px 7px; color:var(--forest-800); background:#e4eee7; border-radius:3px; font:10px "DM Mono"; }
.variable-card { padding:13px 0; border-bottom:1px solid var(--line); }.variable-card code { display:block; color:var(--forest-800); font:10px "DM Mono"; overflow-wrap:anywhere; }.variable-card small { display:block; margin-top:5px; color:var(--muted); font-size:9px; line-height:1.4; }
.variables-panel .primary-action { width:100%; min-width:0; margin-top:25px; }

.collection-head { display:flex; justify-content:space-between; align-items:end; padding:4px 0 21px; }.collection-head h1 { margin-bottom:5px; font-size:clamp(34px,3vw,44px); }.collection-head p { margin-bottom:0; color:var(--muted); font-size:14px; }.collection-head .primary-action { margin:0; }
.collection-tabs { display:flex; gap:25px; border-bottom:1px solid var(--line); }.collection-tabs button { padding:14px 2px; background:none; border:0; border-bottom:2px solid transparent; cursor:pointer; }.collection-tabs button.active { border-bottom-color:var(--forest-800); font-weight:700; }.collection-tabs span { margin-left:5px; color:#87928c; font:9px "DM Mono"; }
.collection-banner { display:flex; align-items:center; gap:13px; margin:24px 0; padding:15px 18px; color:white; background:var(--forest-900); }.collection-banner > span { width:27px; height:27px; display:grid; place-items:center; color:var(--forest-900); background:#bed3b1; border-radius:50%; }.collection-banner div { display:grid; flex:1; }.collection-banner b { font-size:12px; }.collection-banner small { color:#9ab0a5; font-size:9px; }.collection-banner button { color:#e7d39f; background:none; border:0; cursor:pointer; font-size:10px; }
.toast { position:fixed; right:25px; bottom:25px; z-index:20; display:flex; align-items:center; gap:10px; padding:14px 18px; color:white; background:var(--forest-950); box-shadow:var(--shadow); transform:translateY(30px); opacity:0; pointer-events:none; transition:.25s; }.toast.show { transform:none; opacity:1; }.toast span { color:#badb9e; }.toast p { margin:0; font-size:11px; }
.reveal { animation:reveal .55s cubic-bezier(.2,.75,.3,1) both; }.delay-1 { animation-delay:.12s; }
@keyframes reveal { from { opacity:0; transform:translateY(14px); } }

@media (max-width: 1100px) {
  .app-shell { grid-template-columns:235px minmax(0,1fr); }
  .sidebar { padding-left:15px; padding-right:15px; }
  .skills-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .prompt-workspace { grid-template-columns:220px 1fr; }.variables-panel { grid-column:1/-1; border-left:0; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); gap:0 18px; }.variables-panel .panel-title,.variables-panel .primary-action { grid-column:1/-1; }
}
@media (max-width: 820px) {
  .app-shell { display:block; }.sidebar { position:fixed; left:-290px; width:275px; transition:left .25s; box-shadow:15px 0 40px rgba(0,0,0,.2); }.sidebar.open { left:0; }.menu-toggle { display:block; }.breadcrumb span,.breadcrumb i { display:none; }
  .topbar { height:64px; padding:0 18px; }.view { padding:35px 20px 65px; }
  .hero-grid { grid-template-columns:1fr; }.hero-art { display:none; }.hero-copy h1 { font-size:48px; }.section-heading { align-items:start; flex-direction:column; }.security-note { width:100%; }
  .target-grid,.quick-skill-row { grid-template-columns:1fr; }.target-card { min-height:205px; }
  .install-workspace { grid-template-columns:1fr; }.steps-panel { border-right:0; border-bottom:1px solid var(--line); }
  .library-hero { align-items:start; flex-direction:column; gap:25px; }.search-panel { grid-template-columns:1fr; }.detail-hero { grid-template-columns:1fr; }.detail-metrics { grid-template-columns:repeat(3,1fr); border-left:0; border-top:1px solid rgba(255,255,255,.12); }.prompt-workspace { grid-template-columns:1fr; }.prompt-list { border-right:0; border-bottom:1px solid var(--line); }.variables-panel { grid-template-columns:1fr; }.collection-head { align-items:start; flex-direction:column; gap:18px; }
}
@media (max-width: 560px) {
  .quiet-button { font-size:0; }.quiet-button span { margin:0; }.hero-copy h1,.library-hero h1,.collection-head h1 { font-size:40px; }.hero-badges { display:grid; gap:10px; }.skills-grid { grid-template-columns:1fr; }.command-panel,.steps-panel { padding:25px 20px; }.code-box { align-items:stretch; flex-direction:column; }.prompt-content { padding:27px 20px; }.prompt-content-head { flex-direction:column; }.detail-title { padding:30px 24px; }.detail-metrics { padding:22px; }.collection-banner { align-items:flex-start; flex-wrap:wrap; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }

/* Escala mais compacta e identificação explícita dos elementos conceituais. */
.topbar { height: 46px; padding-right:clamp(18px,3vw,42px); padding-left:clamp(18px,3vw,42px); }
.view { padding-top: 16px; }
.breadcrumb { font-size:10px; }
.quiet-button { padding:7px 11px; font-size:12px; }
.quiet-button span { font-size:15px; }
.top-actions { gap:7px; }
.back-link { margin-bottom:14px; font-size:12px; }
.hero-grid { min-height: 205px; }
.hero-copy { padding: 2px 0 20px; }
.hero-copy h1,
.library-hero h1,
.collection-head h1 { font-size: clamp(29px,2.15vw,34px); line-height: 1.08; }
.hero-copy > p { max-width: 700px; margin-bottom: 0; font-size: 14px; line-height: 1.5; }
.hero-badges { margin-top: 16px; gap: 16px; }
.hero-art { height: 205px; transform: scale(.75); }
.section-heading { padding-top: 22px; }
.section-heading h2,
.after-install h2 { font-size: 27px; }
.library-hero { padding-top: 0; padding-bottom: 20px; }
.collection-head { padding-top: 0; padding-bottom: 18px; }
.detail-title h1 { font-size: clamp(32px,2.7vw,42px); }
.simulation-note { max-width:520px; color:#9db0a7; line-height:1.5; }
.simulation-note b { color:#e5c36c; }
.simulation-note code { font-family:"DM Mono"; }

/* Tipografia de produto corporativo: neutra, legível e próxima ao PO UI/TOTVS. */
body,
body .app-shell *:not(code) { font-family:"Nunito Sans", "Segoe UI", Arial, sans-serif; }
.hero-copy h1,
.library-hero h1,
.collection-head h1 { font-size:clamp(31px,2.25vw,36px); font-weight:700; letter-spacing:-.018em; }
.section-heading h2,
.after-install h2 { font-size:26px; font-weight:700; }
.detail-title h1 { font-size:clamp(29px,2.2vw,35px); font-weight:700; letter-spacing:-.015em; }
.detail-title p { font-size:13px; }
.prompt-content h2 { font-size:25px; font-weight:700; line-height:1.15; }
.prompt-body { font-size:15px; line-height:1.72; }
.prompt-option b { font-size:12.5px; line-height:1.35; }
.panel-title { font-size:10px; font-weight:700; }
.variable-card code { font-family:"Nunito Sans", "Segoe UI", Arial, sans-serif; font-size:12px; font-weight:600; }
.variable-card small { font-size:10.5px; line-height:1.45; }
.skill-card h3 { font-size:20px; font-weight:700; line-height:1.16; }
.target-card b { font-size:20px; font-weight:700; }
.quick-skill b { font-size:16px; font-weight:700; }
.brand strong { font-size:20px; font-weight:800; }

/* Detalhe completo da Skill */
.detail-tabs { display:flex; gap:4px; margin-top:14px; padding:0 14px; background:var(--card); border:1px solid var(--line); overflow-x:auto; }
.detail-tabs button { white-space:nowrap; padding:15px 16px 13px; color:var(--muted); background:none; border:0; border-bottom:3px solid transparent; cursor:pointer; font-size:12px; font-weight:700; }
.detail-tabs button:hover { color:var(--forest-800); }
.detail-tabs button.active { color:var(--forest-900); border-bottom-color:var(--forest-600); }
.detail-tabs span { margin-left:5px; padding:2px 6px; color:var(--forest-800); background:#e4eee7; border-radius:10px; font-size:9px; }
.detail-panel { margin-top:12px; }
.detail-grid,.review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.detail-card { padding:24px; background:var(--card); border:1px solid var(--line); }
.detail-card.full,.agent-callout.full { grid-column:1/-1; }
.detail-card.accent-card { border-left:4px solid var(--forest-600); }
.detail-card.warning { border-top:4px solid var(--gold); }
.detail-card.danger { border-top:4px solid var(--terracotta); }
.detail-card h2,.agent-callout h2,.briefing-form h2,.generated-panel h2,.commands-panel h2 { margin:6px 0 10px; font-size:20px; font-weight:700; }
.lead-text { margin:12px 0 0; font-size:15px; line-height:1.6; }
.section-row { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.section-row p { margin:5px 0 0; color:var(--muted); font-size:12px; }
.count-pill { flex:none; padding:5px 8px; color:var(--forest-800); background:#e5eee8; border-radius:12px; font-size:9px; font-weight:700; }
.content-list { margin:15px 0 0; padding-left:20px; color:#3f4f48; font-size:13px; line-height:1.55; }
.content-list li { padding:5px 0; }
.agent-callout { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:24px; color:white; background:var(--forest-900); }
.agent-callout p { margin:0; color:#b6c8be; font-size:12px; }
.agent-callout .panel-title { color:#e0bd69; }
.agent-callout .prompt-actions button { min-width:125px; color:var(--forest-900); background:#fffdf8; border-color:#fffdf8; font-weight:700; }
.primary-small { color:white !important; background:var(--forest-600) !important; border-color:var(--forest-600) !important; }

/* Gerador */
.generator-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); align-items:start; gap:12px; }
.briefing-form,.generated-panel,.commands-panel,.versions-card { padding:26px; background:var(--card); border:1px solid var(--line); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:15px; }
.form-field { display:grid; gap:6px; }
.form-field.full { margin-top:18px; }
.form-field > span,.generator-options > label > span { color:#59675f; font-size:10px; font-weight:700; }
.form-field textarea,.form-field select,.generator-options select { width:100%; min-height:44px; padding:10px 12px; color:var(--ink); background:#fffefa; border:1px solid var(--line); resize:vertical; outline:0; font-size:12px; }
.form-field textarea:focus,.form-field select:focus { border-color:var(--forest-600); box-shadow:0 0 0 3px rgba(57,116,89,.1); }
.master-data-note { display:flex; align-items:center; gap:12px; margin-top:12px; padding:12px 14px; background:#edf3ed; border-left:3px solid var(--leaf); font-size:10px; }
.master-data-note span { flex:1; color:var(--muted); }.master-data-note em { color:var(--forest-700); font-style:normal; font-weight:700; }
.generator-options { display:flex; align-items:end; flex-wrap:wrap; gap:16px; margin-top:16px; padding-top:16px; border-top:1px solid var(--line); }
.generator-options > label:first-child { display:grid; gap:5px; min-width:220px; }
.check-option { display:flex; align-items:center; gap:7px; padding-bottom:9px; font-size:11px; }
.generated-panel { position:sticky; top:54px; color:white; background:var(--forest-950); border-color:var(--forest-950); }
.generated-panel .panel-title { color:#dfbc68; }.generated-panel .count-pill { color:#e7d49e; background:rgba(255,255,255,.09); }
.generated-panel pre { max-height:540px; margin:18px 0; padding:16px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; color:#dbe5df; background:#0b251d; border:1px solid rgba(255,255,255,.09); font:11px/1.55 "Consolas",monospace; }
.generated-actions { display:flex; gap:8px; }.generated-actions button { padding:10px 12px; color:white; background:transparent; border:1px solid rgba(255,255,255,.2); cursor:pointer; font-size:10px; }
.generated-panel > small { display:block; margin-top:11px; color:#82988d; font-size:9px; }

/* Comandos, exemplos e revisão */
.command-groups { margin-top:18px; }.command-groups h3 { margin:24px 0 9px; color:var(--forest-800); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.command-row { display:grid; grid-template-columns:72px 1fr auto; align-items:center; gap:14px; padding:13px 4px; border-top:1px solid var(--line); }
.command-row > span { color:var(--forest-600); font-size:10px; font-weight:700; }.command-row p { margin:0; font-size:12px; line-height:1.45; }
.command-row div { display:flex; gap:6px; }.command-row button { padding:7px 9px; background:white; border:1px solid var(--line); cursor:pointer; font-size:9px; }.command-row button:last-child { color:white; background:var(--forest-600); border-color:var(--forest-600); }
.example-stack { display:grid; gap:12px; }.example-columns { display:grid; grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr); gap:12px; }
.example-card { padding:24px; background:var(--card); border:1px solid var(--line); }.example-card.input { border-top:4px solid var(--gold); }.example-card.output { border-top:4px solid var(--forest-600); }
.example-card > div { margin-top:17px; font-size:13px; line-height:1.65; white-space:pre-wrap; }.example-card pre { max-height:590px; margin:17px 0 0; overflow:auto; white-space:pre-wrap; color:#34443c; font:12px/1.58 "Nunito Sans","Segoe UI",sans-serif; }
.versions-card > div { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:16px; }.versions-card article { padding:15px; background:#f6f1e7; }.versions-card b { font-size:12px; }.versions-card p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.review-progress { height:5px; margin:14px 0; background:var(--paper-deep); }.review-progress i { display:block; height:100%; background:var(--forest-600); transition:width .2s; }
.checklist-list { display:grid; grid-template-columns:repeat(2,1fr); gap:7px 12px; }.review-item { display:flex; align-items:flex-start; gap:9px; padding:10px; background:#f7f3e9; border:1px solid transparent; font-size:11px; line-height:1.4; }.review-item.done { color:var(--forest-800); background:#e9f0e9; border-color:#cbdcca; }.review-item input { margin-top:2px; accent-color:var(--forest-600); }

@media (max-width:1000px) { .generator-layout { grid-template-columns:1fr; }.generated-panel { position:static; }.example-columns { grid-template-columns:1fr; } }
@media (max-width:720px) { .detail-grid,.review-grid,.form-grid { grid-template-columns:1fr; }.detail-card.full,.agent-callout.full { grid-column:auto; }.agent-callout { align-items:flex-start; flex-direction:column; }.versions-card > div,.checklist-list { grid-template-columns:1fr; }.command-row { grid-template-columns:60px 1fr; }.command-row div { grid-column:2; }.detail-tabs { padding:0; } }

/* Facilitador em etapas */
body.modal-open { overflow:hidden; }
.guided-overlay { position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:18px; background:rgba(7,25,19,.72); backdrop-filter:blur(4px); }
.guided-overlay.open { display:flex; animation:viewIn .2s ease both; }
.guided-modal { width:min(1080px,100%); height:min(720px,calc(100vh - 36px)); color:var(--ink); background:var(--card); border:1px solid #cfc3ad; box-shadow:0 28px 90px rgba(0,0,0,.35); }
#guided-content { height:100%; min-height:0; display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; }
.guided-header { min-height:64px; display:flex; align-items:center; gap:20px; padding:13px 20px; color:white; background:var(--forest-950); }
.guided-header div { display:grid; gap:3px; }.guided-header span { color:#d5b563; font-size:8px; font-weight:800; letter-spacing:.15em; }.guided-header strong { font-size:14px; }
.guided-close { width:34px; height:34px; margin-left:auto; color:white; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); border-radius:50%; cursor:pointer; font-size:20px; line-height:1; }
.guided-close:hover,.guided-close:focus-visible { border-color:#d5b563; color:#d5b563; outline:0; }
.guided-progress { display:grid; grid-template-columns:repeat(5,1fr); padding:13px 20px; background:#f1ece0; border-bottom:1px solid var(--line); }
.guided-progress div { position:relative; display:flex; align-items:center; gap:7px; color:#89938e; font-size:9px; font-weight:700; }
.guided-progress div:not(:last-child)::after { content:""; position:absolute; left:31px; right:8px; top:11px; height:1px; background:#d3c9b8; }
.guided-progress i { position:relative; z-index:1; width:23px; height:23px; display:grid; place-items:center; flex:none; background:#e2dacb; border-radius:50%; font-size:8px; font-style:normal; }
.guided-progress .active { color:var(--forest-900); }.guided-progress .active i { color:white; background:var(--forest-600); box-shadow:0 0 0 4px rgba(57,116,89,.12); }.guided-progress .done i { color:white; background:var(--leaf); }
.guided-main { min-height:430px; padding:25px clamp(22px,4vw,48px); overflow:auto; background:linear-gradient(135deg,#fffdf8,#f8f3e8); }
.guided-copy { max-width:900px; margin:auto; }.guided-copy > h2 { margin:7px 0 8px; font-size:25px; line-height:1.15; }.guided-copy > p { max-width:760px; color:var(--muted); font-size:12px; line-height:1.55; }
.guided-copy code { padding:2px 5px; color:var(--forest-800); background:#e7eee8; font:10px Consolas,monospace; }
.guided-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:22px 0 13px; }.guided-choices button { position:relative; min-height:125px; display:flex; align-items:flex-start; flex-direction:column; padding:19px; background:white; border:1px solid var(--line); text-align:left; cursor:pointer; }.guided-choices button.selected { border:2px solid var(--forest-600); padding:18px; box-shadow:0 8px 28px rgba(31,70,52,.1); }.guided-choices button > span { position:absolute; right:12px; top:12px; padding:4px 7px; color:var(--forest-900); background:#ead49d; font-size:7px; font-weight:800; text-transform:uppercase; }.guided-choices b { margin-bottom:7px; font-size:15px; }.guided-choices small { color:var(--muted); font-size:10px; line-height:1.5; }
.guided-info { margin-top:14px; padding:13px 15px; background:#edf2eb; border-left:3px solid var(--leaf); }.guided-info b { font-size:11px; }.guided-info p { margin:3px 0 0; color:var(--muted); font-size:10px; }
.claude-project-card { margin-top:20px; padding:20px; background:white; border:1px solid var(--line); border-left:4px solid var(--forest-600); }.claude-project-card > span { color:var(--gold); font-size:8px; font-weight:800; letter-spacing:.12em; }.claude-project-card h3 { margin:8px 0 12px; font-size:17px; line-height:1.35; }.claude-project-card h3 b { color:var(--forest-800); }.claude-project-card ol { padding-left:20px; color:#4a5952; font-size:11px; line-height:1.55; }.claude-project-card li { padding:3px 0; }.claude-project-card > div { display:flex; gap:8px; margin-top:14px; }
.secondary-action,.claude-project-card button,.guided-final aside button { padding:10px 13px; color:var(--forest-900); background:white; border:1px solid var(--line); cursor:pointer; font-size:10px; font-weight:700; }
.claude-code-option { margin-top:12px; padding:13px 16px; background:#f4efe5; border:1px solid var(--line); }.claude-code-option summary { cursor:pointer; color:var(--forest-800); font-size:11px; font-weight:700; }.claude-code-option p { color:var(--muted); font-size:10px; }.claude-code-option pre { padding:11px; color:#dce7e1; background:var(--forest-950); font:10px/1.5 Consolas,monospace; }
.skill-file-preview { margin-top:18px; border:1px solid var(--line); }.skill-file-preview > div { display:grid; gap:3px; padding:10px 14px; background:#eee8dc; }.skill-file-preview span { color:#89938e; font-size:7px; font-weight:800; letter-spacing:.12em; }.skill-file-preview b { font-size:10px; }.skill-file-preview pre { max-height:260px; margin:0; padding:16px; overflow:auto; white-space:pre-wrap; color:#dce7e1; background:var(--forest-950); font:10px/1.55 Consolas,monospace; }.guided-copy-skill { margin-top:12px; }.guided-source-note { font-size:9px !important; }
.guided-select { display:grid; gap:6px; margin-top:20px; }.guided-select span { font-size:9px; font-weight:800; }.guided-select select { width:100%; }.selected-command { margin-top:12px; padding:16px; background:white; border-left:3px solid var(--gold); }.selected-command span { color:var(--gold); font-size:7px; font-weight:800; letter-spacing:.12em; }.selected-command p { margin:6px 0 0; font-size:13px; line-height:1.5; }
.guided-final { max-width:none; }.guided-final-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:14px; margin-top:16px; }.guided-fields { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.guided-fields label,.guided-options label { display:grid; gap:5px; }.guided-fields span,.guided-options span { color:#56645d; font-size:9px; font-weight:800; }.guided-fields textarea { width:100%; padding:9px; color:var(--ink); background:white; border:1px solid var(--line); resize:vertical; font-size:10px; }.guided-options { display:flex; align-items:end; gap:14px; margin-top:12px; }.guided-options label:last-child { display:flex; align-items:center; padding-bottom:10px; font-size:10px; }.guided-final aside { padding:17px; color:white; background:var(--forest-950); }.guided-final aside > span { color:#d9b967; font-size:8px; font-weight:800; letter-spacing:.12em; }.guided-final aside pre { height:300px; margin:12px 0; padding:12px; overflow:auto; white-space:pre-wrap; color:#dce7e1; background:#0a261d; font:9px/1.5 Consolas,monospace; }.guided-final aside > div { display:flex; gap:7px; }.guided-open-result { color:white !important; background:transparent !important; border-color:rgba(255,255,255,.25) !important; }
.local-save-bar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; padding:9px 11px; background:#edf2eb; border-left:3px solid var(--leaf); }
.local-save-bar > div { display:flex; align-items:center; gap:9px; }.local-save-bar i { width:24px; height:24px; display:grid; place-items:center; flex:none; color:white; background:var(--forest-600); border-radius:50%; font-size:10px; font-style:normal; }.local-save-bar span { display:grid; gap:1px; }.local-save-bar b { color:var(--forest-900); font-size:9px; }.local-save-bar small { color:var(--muted); font-size:8px; }.local-save-bar button { padding:6px 8px; color:var(--forest-700); background:transparent; border:1px solid #c8d5ca; cursor:pointer; font-size:8px; font-weight:700; }
.property-field { position:relative; }.property-field > span { display:flex; align-items:center; justify-content:space-between; gap:8px; }.property-field > span em { color:var(--forest-600); font-size:8px; font-style:normal; font-weight:600; }
.property-suggestions { position:absolute; z-index:8; top:100%; right:0; left:0; display:none; max-height:190px; overflow:auto; background:white; border:1px solid #cfc4b1; box-shadow:0 12px 28px rgba(24,54,40,.16); }.property-suggestions.show { display:grid; }.property-suggestions button { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; color:var(--ink); background:white; border:0; border-bottom:1px solid #eee7da; text-align:left; cursor:pointer; }.property-suggestions button:last-child { border-bottom:0; }.property-suggestions button:hover,.property-suggestions button:focus { background:#edf2eb; outline:0; }.property-suggestions b { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.property-suggestions small { flex:none; color:var(--muted); font-size:8px; }
.guided-footer { min-height:58px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:15px; padding:10px 20px; border-top:1px solid var(--line); background:#fffdf8; }.guided-footer > span { color:#849088; font-size:9px; }.guided-footer button { min-width:100px; padding:10px 13px; border:1px solid var(--line); background:white; cursor:pointer; font-size:10px; font-weight:700; }.guided-footer button:disabled { opacity:.35; cursor:not-allowed; }.guided-footer .guided-next,.guided-footer .guided-finish { justify-self:end; color:white; background:var(--forest-600); border-color:var(--forest-600); }.guided-footer-start { display:flex; gap:8px; }.guided-footer .guided-cancel { color:#8b332b; background:transparent; }
@media (max-width:1050px) { .detail-hero { grid-template-columns:1fr 190px; }.guided-hero-action { grid-column:1; grid-row:2; border-top:1px solid rgba(255,255,255,.1); border-left:0; }.detail-metrics { grid-column:2; grid-row:1/3; }.guided-final-grid { grid-template-columns:1fr; } }
@media (max-width:720px) { .guided-overlay { padding:0; }.guided-modal { width:100%; height:100dvh; border:0; }.guided-progress span { display:none; }.guided-main { min-height:0; }.guided-choices,.guided-fields { grid-template-columns:1fr; }.claude-project-card > div,.guided-options { align-items:stretch; flex-direction:column; }.guided-progress { padding-left:14px; padding-right:14px; }.guided-progress div:not(:last-child)::after { right:4px; }.guided-footer { grid-template-columns:1fr auto; }.guided-footer > span { display:none; }.guided-footer-start { gap:5px; }.guided-footer button { min-width:auto; }.detail-hero { grid-template-columns:1fr; }.guided-hero-action,.detail-metrics { grid-column:1; grid-row:auto; }.guided-hero-action { padding:14px 24px; }.guided-launch { max-width:240px; }.detail-metrics { grid-template-columns:repeat(3,1fr); }.local-save-bar { align-items:flex-start; flex-direction:column; }.local-save-bar button { margin-left:33px; } }

@media (max-width:1050px) { .command-center { grid-template-columns:1fr 145px; }.dashboard-seal { width:135px; height:135px; }.dashboard-metrics { grid-template-columns:repeat(2,1fr); }.dashboard-metrics article:nth-child(2) { border-right:0; }.dashboard-metrics article:nth-child(-n+2) { border-bottom:1px solid var(--line); }.recommended-grid { grid-template-columns:1fr; }.recommended-card { min-height:175px; } }
@media (max-width:760px) { .dashboard-view { padding-top:14px; }.command-center { min-height:auto; grid-template-columns:1fr; padding:32px 24px; }.command-center h1 { font-size:36px; }.command-center p { font-size:12px; }.dashboard-seal { display:none; }.dashboard-metrics article { min-height:95px; padding:14px; }.dashboard-metrics strong { font-size:26px; }.dashboard-lower { grid-template-columns:1fr; }.ptax-card,.catalog-impact { min-height:220px; padding:22px; }.ptax-values { gap:14px; }.ptax-values strong { font-size:23px; }.ptax-card footer { align-items:flex-start; flex-direction:column; }.recommended-section > header { align-items:flex-start; flex-direction:column; }.recommended-section h2 { font-size:22px; } }
/* Sidebar compacta: mantém toda a jornada visível em notebooks e celulares baixos. */
@media (max-height: 920px) {
  .sidebar { padding: 18px 14px 12px; }
  .brand { gap: 10px; margin: 0 6px 22px; }
  .brand-mark { width: 40px; height: 40px; border-radius: 3px 13px 3px 13px; }
  .brand strong { font-size: 19px; }
  .brand small { margin-top: 4px; font-size: 8px; letter-spacing: .14em; }

  .main-nav { gap: 3px; }
  .main-nav .nav-label { margin: 0 10px 5px; }
  .nav-item { grid-template-columns: 28px 1fr; gap: 1px 7px; padding: 9px 10px; }
  .nav-item span { font-size: 9px; }
  .nav-item b { font-size: 12px; }
  .nav-item small { font-size: 9px; }

  .department-nav { margin-top: 14px; padding: 12px 5px 3px; }
  .department-nav > .nav-label { margin: 0 5px 7px; }
  #department-menu { gap: 3px; }
  .department-item { grid-template-columns: 28px minmax(0,1fr) 25px; gap: 7px; padding: 4px 6px; border-radius: 7px; }
  .department-item::before { inset: 5px auto 5px 0; }
  .department-item > span { width: 28px; height: 28px; border-radius: 7px; font-size: 8px; }
  .department-item b { font-size: 10px; }
  .department-item small { min-width: 25px; padding: 3px 2px; font-size: 7px; }

  .sidebar-summary { padding: 10px 8px 8px; grid-template-columns: auto repeat(3,minmax(0,1fr)); align-items: center; gap: 4px; }
  .sidebar-summary .nav-label { grid-column: auto; margin: 0 5px 0 0; font-size: 7px; line-height: 1.45; }
  .sidebar-summary span { font-size: 13px; }
  .sidebar-summary small { font-size: 8px; }

  .profile-card { gap: 8px; margin-top: 5px; padding: 8px 9px; border-radius: 8px; }
  .profile-card > span { width: 28px; height: 28px; font-size: 9px; }
  .profile-card b { font-size: 10px; }
  .profile-card small { font-size: 8px; }
}

/* Faixa de mercado: leitura rápida, inspirada nos painéis financeiros. */
.market-strip {
  position: sticky;
  top: 0;
  z-index: 9;
  height: 32px;
  color: #27332e;
  background: #faf8f2;
  border-bottom: 1px solid #d4cbb9;
  box-shadow: 0 1px 0 rgba(16,45,36,.04);
}
.market-strip-track {
  height: 100%;
  display: flex;
  align-items: stretch;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
}
.market-strip-track::-webkit-scrollbar { display: none; }
.market-strip-label,
.market-strip-item,
.market-strip-track > a {
  min-height: 100%;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 15px;
  border-right: 1px solid #d4cbb9;
  font-size: 10px;
  text-decoration: none;
}
.market-strip-label { color: #64716b; font: 600 9px "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.market-strip-label i { width: 6px; height: 6px; background: #4e8a62; border-radius: 50%; box-shadow: 0 0 0 3px rgba(78,138,98,.12); }
.market-strip-item b { font-size: 10px; font-weight: 800; }
.market-strip-item strong { color: #35413c; font-size: 10px; font-weight: 700; }
.market-strip-item small { color: #7b8580; font: 600 8px "DM Mono", monospace; letter-spacing: .06em; }
.market-strip-primary em { font-size: 9px; font-style: normal; font-weight: 800; }
.market-strip-primary em.positive { color: #24824a; }
.market-strip-primary em.negative { color: #c64545; }
.market-strip-primary em.neutral { color: #7b8580; }
.market-strip-track > a { margin-left: auto; color: var(--forest-800); font-weight: 700; }
.topbar { top: 32px; }

@media (max-width: 700px) {
  .market-strip { height: 30px; }
  .market-strip-label { display: none; }
  .market-strip-item,
  .market-strip-track > a { padding: 0 11px; }
  .market-strip-track > a { margin-left: 0; }
  .topbar { top: 30px; }
}

/* Dashboard comercial: escala, áreas conectadas e entrada por desafio. */
.market-strip-track { justify-content: flex-end; }
.market-strip-label { margin-left: auto; }
.market-strip-track > a { margin-left: 0; }

.command-center { grid-template-columns: minmax(0,1fr) 320px; }
.command-center-copy { max-width: 900px; }
.department-constellation {
  position: relative;
  z-index: 1;
  width: 300px;
  height: 220px;
  justify-self: end;
}
.department-constellation::before,
.department-constellation::after {
  content: "";
  position: absolute;
  inset: 12px 34px;
  border: 1px solid rgba(216,184,102,.28);
  border-radius: 50%;
  transform: rotate(-13deg);
}
.department-constellation::after {
  inset: 29px 17px;
  border-color: rgba(255,255,255,.12);
  transform: rotate(18deg);
}
.department-constellation > div {
  position: absolute;
  z-index: 2;
  inset: 50% auto auto 50%;
  width: 112px;
  height: 112px;
  display: grid;
  place-content: center;
  text-align: center;
  background: rgba(8,37,29,.9);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  box-shadow: 0 18px 45px rgba(0,0,0,.2);
  transform: translate(-50%,-50%);
}
.department-constellation strong { color: #fff; font-size: 34px; line-height: 1; }
.department-constellation small { margin-top: 8px; color: #91aa9f; font: 7px/1.45 "DM Mono",monospace; letter-spacing: .1em; text-transform: uppercase; }
.department-constellation > span {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  color: #d7e1dc;
  background: rgba(10,42,33,.94);
  border: 1px solid rgba(255,255,255,.13);
  font-size: 8px;
  font-weight: 700;
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
}
.department-constellation > span i { color: #dfba61; font: 7px "DM Mono",monospace; font-style: normal; }
.orbit-field { left: 0; top: 28px; }
.orbit-plan { right: 0; top: 8px; }
.orbit-cost { right: -4px; top: 104px; }
.orbit-business { right: 22px; bottom: 0; }
.orbit-docs { left: 2px; bottom: 22px; }

.challenge-showcase {
  display: grid;
  grid-template-columns: minmax(240px,.7fr) minmax(0,2.3fr);
  gap: 24px;
  margin-top: 14px;
  padding: 24px;
  color: #fff;
  background: linear-gradient(120deg,#102d24,#153d30);
  border-bottom: 3px solid #c99d45;
  box-shadow: 0 18px 42px rgba(16,45,36,.12);
}
.challenge-heading { display: flex; align-items: flex-start; flex-direction: column; padding: 4px 4px 2px; }
.challenge-heading h2 { margin: 15px 0 9px; font-size: 27px; line-height: 1.05; letter-spacing: -.025em; }
.challenge-heading p { max-width: 310px; margin: 0; color: #afc2b9; font-size: 11px; line-height: 1.55; }
.challenge-heading .text-action { margin-top: auto; color: #e0bd68; }
.recommended-grid.challenge-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.challenge-grid .recommended-card { min-height: 210px; padding: 18px; border: 0; border-top: 3px solid var(--accent); }
.challenge-grid .recommended-card::before { display: none; }
.challenge-grid .recommended-card h3 { margin: 23px 0 8px; font-size: 18px; line-height: 1.15; }
.challenge-grid .recommended-card p { margin-top: 0; }
.challenge-grid .recommended-card footer small { max-width: 60%; }
.challenge-start {
  flex: 0 0 auto;
  padding: 8px 10px;
  color: var(--forest-800);
  background: #edf3ee;
  border: 1px solid #d6e2d9;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
  transition: .18s ease;
}
.challenge-start:hover,
.challenge-start:focus-visible { color: #fff; background: var(--forest-800); border-color: var(--forest-800); outline: none; }

@media (max-width: 1050px) {
  .command-center { grid-template-columns: minmax(0,1fr) 250px; }
  .department-constellation { width: 245px; transform: scale(.88); transform-origin: right center; }
  .challenge-showcase { grid-template-columns: 1fr; }
  .challenge-heading .text-action { margin-top: 18px; }
  .recommended-grid.challenge-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .command-center { grid-template-columns: 1fr; }
  .department-constellation { display: none; }
  .challenge-showcase { padding: 20px; }
  .recommended-grid.challenge-grid { grid-template-columns: 1fr; }
  .challenge-grid .recommended-card { min-height: 178px; }
  .market-strip-track { justify-content: flex-start; }
  .market-strip-primary { margin-left: auto; }
}

/* Acesso: identidade herdada da aplicação legada, preparada para Firebase Auth. */
.login-page { min-height:100vh; display:grid; grid-template-columns:minmax(420px,1.16fr) minmax(420px,.84fr); background:#f4f0e6; }
.login-page[hidden],.app-shell[hidden] { display:none !important; }
.login-brand-panel { position:relative; min-height:100vh; overflow:hidden; padding:44px 56px; color:#f5f0df; background:radial-gradient(circle at 10% 70%,rgba(169,125,71,.25),transparent 36%),linear-gradient(145deg,#193e31,#09261e 72%); display:flex; flex-direction:column; }
.login-contours { position:absolute; inset:0; opacity:.14; background:repeating-radial-gradient(ellipse at 18% 72%,transparent 0 28px,#d1bd8f 30px 31px,transparent 33px 52px); transform:scale(1.5) rotate(-8deg); }
.login-brand,.login-brand-copy,.login-testimonials { position:relative; }
.login-brand { display:flex; align-items:center; gap:12px; color:inherit; font-size:18px; font-weight:700; }
.login-brand b { color:#caa963; }
.login-brand-mark { width:38px; height:38px; display:grid; place-items:center; border:1px solid #caa963; border-radius:50%; font-size:12px; letter-spacing:-1px; }
.login-brand-copy { max-width:650px; margin:auto 0; }
.login-kicker { color:#caa963; font-size:11px; font-weight:800; letter-spacing:.22em; }
.login-brand-copy h1 { margin:23px 0 26px; font-size:clamp(44px,5.6vw,78px); font-weight:600; line-height:.98; letter-spacing:-.045em; }
.login-brand-copy h1 em { color:#caa963; font-style:normal; }
.login-brand-copy > p:last-child { max-width:570px; color:#d2d8d1; font-size:16px; line-height:1.7; }
.login-testimonials { width:min(100%,650px); min-height:164px; padding-top:22px; border-top:1px solid rgba(255,255,255,.15); }
.login-testimonial[hidden] { display:none; }
.login-testimonial.active { animation:testimonial-in .38s ease both; }
.login-testimonial { display:grid; grid-template-columns:30px 1fr; gap:0 12px; }
.login-testimonial > span { grid-row:1 / 3; color:#caa963; font-family:Georgia,serif; font-size:45px; line-height:.85; }
.login-testimonial blockquote { min-height:52px; margin:0; color:#f4f0df; font-size:17px; font-weight:600; line-height:1.5; }
.login-testimonial footer { grid-column:2; display:flex; align-items:center; gap:8px; margin-top:9px; }
.login-testimonial footer strong { font-size:11px; }
.login-testimonial footer small { color:#9fb0aa; font-size:10px; }
.login-testimonial footer small::before { content:'·'; margin-right:8px; color:#caa963; }
.login-testimonial-controls { display:flex; align-items:center; gap:7px; margin-top:18px; }
.login-testimonial-controls > span { margin-right:auto; color:#caa963; font-size:8px; font-weight:800; letter-spacing:.18em; }
.login-testimonial-controls > button { width:28px; height:28px; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:transparent; color:#f4f0df; cursor:pointer; }
.login-testimonial-controls > button:hover,.login-testimonial-controls > button:focus-visible { border-color:#caa963; color:#caa963; outline:0; }
.login-testimonial-dots { display:flex; align-items:center; gap:5px; margin-right:5px; }
.login-testimonial-dots button { width:6px; height:6px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.28); cursor:pointer; }
.login-testimonial-dots button.active { width:18px; border-radius:6px; background:#caa963; }
@keyframes testimonial-in { from { opacity:0; transform:translateX(10px); } to { opacity:1; transform:translateX(0); } }
.login-form-panel { display:grid; place-items:center; padding:48px; }
.login-form-panel form { width:min(100%,430px); }
.login-form-panel h2 { margin:12px 0; color:#15392e; font-size:42px; font-weight:700; line-height:1.1; }
.login-intro { margin-bottom:38px; color:#68736e; }
.login-form-panel form > label { display:block; margin:20px 0 8px; color:#263a32; font-size:13px; font-weight:800; }
.google-login { width:100%; height:52px; display:flex; align-items:center; justify-content:center; gap:11px; color:#263a32; background:#fff; border:1px solid #cfd4cb; border-radius:5px; box-shadow:0 2px 7px rgba(28,53,43,.06); font-size:13px; font-weight:800; cursor:pointer; transition:.18s ease; }
.google-login:hover { border-color:#93a39a; background:#fffefb; box-shadow:0 5px 14px rgba(28,53,43,.1); }
.google-login:disabled { opacity:.6; cursor:wait; }
.google-login svg { width:19px; height:19px; flex:0 0 auto; }
.login-divider { display:flex; align-items:center; gap:12px; margin:20px 0 4px; color:#8a948f; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.login-divider::before,.login-divider::after { content:""; height:1px; flex:1; background:#d8d9d2; }
.login-form-panel input[type="email"],.login-password input { width:100%; height:52px; padding:0 15px; color:var(--ink); background:#fffdf7; border:1px solid #cfd4cb; border-radius:5px; outline:none; }
.login-password input { padding-right:82px; }
.login-form-panel input:focus { border-color:#3d735a; box-shadow:0 0 0 3px rgba(61,115,90,.12); }
.login-password { position:relative; display:flex; width:100%; }
.login-password button { position:absolute; top:16px; right:12px; padding:0; color:#37634f; background:none; border:0; font-size:12px; font-weight:800; cursor:pointer; }
.login-row { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:14px; }
.login-row label { display:flex; align-items:center; gap:7px; color:#66736d; font-size:11px; }
.login-row input { accent-color:var(--forest-700); }
.login-row button { padding:0; color:#37634f; background:none; border:0; font-size:11px; font-weight:800; cursor:pointer; }
.login-submit { width:100%; height:54px; margin-top:24px; display:flex; align-items:center; justify-content:center; gap:15px; color:#fff; background:#1d523f; border:0; border-radius:5px; box-shadow:0 10px 25px rgba(18,68,51,.2); font-size:15px; font-weight:800; cursor:pointer; }
.login-submit:hover { background:#28664e; }
.login-submit:disabled { opacity:.62; cursor:wait; }
.login-demo { width:100%; margin-top:12px; padding:12px; color:#315746; background:transparent; border:1px solid #aebdb5; font-size:12px; font-weight:800; cursor:pointer; }
.login-alert { margin-top:16px; padding:12px; color:#9d3c28; background:#fff0eb; border-left:3px solid #c65c42; font-size:13px; }
.login-alert.success { color:#235a42; background:#e9f4ed; border-left-color:#4f8254; }
.login-field-error { min-height:16px; display:block; margin-top:5px; color:#ad3b2d; font-size:11px; }
.login-setup { margin-top:14px; color:#768079; font-size:11px; line-height:1.5; text-align:center; }
.logout-button { margin-left:auto; padding:5px; color:#8fa49a; background:transparent; border:0; cursor:pointer; transform:rotate(180deg); }
.logout-button:hover { color:#fff; }

@media (max-width:850px) {
  .login-page { grid-template-columns:1fr; }
  .login-brand-panel { min-height:330px; padding:30px; }
  .login-brand-copy h1 { font-size:42px; }
  .login-brand-copy > p:last-child { font-size:13px; }
  .login-testimonials { min-height:130px; padding-top:14px; }
  .login-testimonial blockquote { min-height:42px; font-size:13px; }
  .login-testimonial footer { align-items:flex-start; flex-direction:column; gap:1px; margin-top:5px; }
  .login-testimonial footer small::before { display:none; }
  .login-testimonial-controls { margin-top:10px; }
  .login-form-panel { padding:40px 24px; }
}
