.back-link{display:inline-flex!important;min-height:2.25rem!important;align-items:center!important;gap:.45rem!important;border:1px solid #fde68a!important;border-radius:.5rem!important;background:#fffbeb!important;padding:0 .7rem!important;color:#b45309!important;font-size:.78rem!important;font-weight:600!important;text-decoration:none!important;box-shadow:none!important}.back-link:hover{border-color:#fde68a!important;background:#fffbeb!important;color:#b45309!important}.back-link svg{width:1rem!important;height:1rem!important}
:root {
  color-scheme: light;
  --bg: #f4f2ec;
  --surface: #fff;
  --surface-soft: #faf9f5;
  --ink: #1d2725;
  --muted: #66706d;
  --line: #dfe3df;
  --green: #087f5b;
  --green-dark: #065f46;
  --green-soft: #e9f7f1;
  --blue: #2364aa;
  --amber: #d97706;
  --amber-soft: #fff7e5;
  --red: #b42318;
  --red-soft: #fff0ee;
  --shadow: 0 14px 38px rgba(29, 39, 37, 0.08);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Interface alinhada ao dashboard e aos demais módulos. */
:root{--bg:#fafafa;--surface:#fff;--surface-soft:#fafafa;--ink:#18181b;--muted:#71717a;--line:#e4e4e7;--green:#0f766e;--green-dark:#047857;--green-soft:#ecfdf5;--shadow:0 1px 2px rgba(0,0,0,.03),0 8px 24px rgba(0,0,0,.035);font-family:"Inter",ui-sans-serif,system-ui,sans-serif}
body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.app-header{position:sticky;top:0;z-index:40;min-height:64px;padding:12px max(16px,calc((100vw - 1280px)/2));border-color:rgba(228,228,231,.8);background:rgba(255,255,255,.9);backdrop-filter:blur(16px)}.brand-block{gap:12px}.header-divider{width:1px;height:32px;background:var(--line)}.brand-mark{width:40px;height:40px;border-radius:11px;background:#fffbeb;color:#b45309;box-shadow:none}.brand-mark svg{width:19px;height:19px}.header-brand{margin:0;color:#71717a;font-size:12px;font-weight:500}.app-header h1{margin:1px 0 0;font-size:18px;font-weight:600;letter-spacing:-.02em}.back-button,a.back-button{min-height:36px;gap:7px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 11px;color:#3f3f46;font-size:13px;font-weight:600;box-shadow:none}.back-button svg{width:16px;height:16px}.store-name-badge{display:inline-flex;min-height:34px;align-items:center;border:1px solid #d1fae5;border-radius:8px;background:#ecfdf5;padding:0 11px;color:#047857;font-size:12px;font-weight:600}.header-actions{gap:8px}.header-actions button{min-height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 11px;color:#3f3f46;font-size:12px;font-weight:600;box-shadow:none}
main{width:min(1280px,100%);padding:32px 24px 46px}.page-intro{margin-bottom:24px}.page-intro .eyebrow{margin-bottom:4px}.page-intro h2{margin:0;font-size:30px;font-weight:600;letter-spacing:-.03em}.page-intro>p:last-child{margin:8px 0 0;color:#71717a;font-size:14px}.eyebrow{color:#0f766e;font-size:11px;font-weight:600;letter-spacing:.14em}.card{border-color:var(--line);border-radius:16px;box-shadow:var(--shadow)}.overview-grid{gap:16px}.overview-grid .card{min-height:210px;padding:20px}.section-heading{margin-bottom:20px}.section-heading h2{font-size:18px;font-weight:600;letter-spacing:-.02em}.section-note,.field-help,.status-copy{color:#71717a}.access-badge,.status-pill,.test-badge{font-size:10px;font-weight:600;letter-spacing:.06em}.money-input-wrap{min-height:58px;border:1px solid #d4d4d8;border-radius:8px}.money-input-wrap:focus-within{border-color:#0f766e;box-shadow:0 0 0 3px rgba(13,148,136,.12)}.money-input-wrap input{font-size:30px;font-weight:600}.hero-value{font-size:42px;font-weight:600;letter-spacing:-.04em}.progress-section,.admin-panel,.team-section{margin-top:18px;padding:22px}.goal-card{border-color:var(--line);border-radius:12px;background:#fafafa}.goal-top h3{font-size:13px;font-weight:600}.goal-weight{background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:600}.goal-values strong{font-weight:600}.admin-panel{border-color:#dbeafe;background:#f8fafc}.indicator-edit-card{border-color:var(--line);border-radius:10px}.admin-prize-row input,.indicator-editor input,.add-employee input,.absence-input{border-color:#d4d4d8;border-radius:8px;outline:none}.admin-prize-row input:focus,.indicator-editor input:focus,.add-employee input:focus,.absence-input:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(13,148,136,.12)}button{min-height:40px;border-radius:8px;background:#18181b;padding:0 14px;font-size:12px;font-weight:600;box-shadow:none}button.secondary{border-color:var(--line);background:#fff;color:#3f3f46}button.quiet-danger,.delete-button{border-color:#fecaca;background:#fff;color:#dc2626}.table-wrap{border:1px solid var(--line);border-radius:12px}th,td{border-color:var(--line);padding:12px 10px}th{background:#fafafa;color:#71717a;font-size:10px;font-weight:600}td{font-size:13px}.summary-grid{gap:12px}.summary-card{border-color:var(--line);border-radius:12px;background:#fff;padding:16px}.summary-card span{font-size:10px;font-weight:600}.summary-card strong{font-size:22px;font-weight:600}.summary-card.total{border-color:#0f766e;background:#0f766e}.toast{border-radius:10px;background:#18181b;font-weight:600}
@media(max-width:640px){.app-header{padding:12px 16px}.header-divider{display:none}.store-name-badge{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back-button span{display:none}main{padding:24px 16px 38px}.page-intro h2{font-size:25px}}

.page-intro{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important}.page-intro-copy{min-width:0}.page-intro-copy>p:last-child{margin:8px 0 0;color:#71717a;font-size:14px}.period-filter{display:grid;gap:6px;min-width:245px}.period-filter span{color:#71717a;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.period-filter select{min-height:42px;border:1px solid #8a0012;border-radius:0;background:#fff;padding:0 12px;color:#18181b;font:inherit;font-size:14px;font-weight:600;outline:none}.period-filter select:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(13,148,136,.12)}@media(max-width:640px){.page-intro{flex-direction:column!important}.period-filter{width:100%;min-width:0}}

* { box-sizing: border-box; }

[hidden] { display: none !important; }

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top right, rgba(8, 127, 91, 0.09), transparent 30rem),
    var(--bg);
  color: var(--ink);
}

button, input { font: inherit; }

button {
  min-height: 42px;
  border: 0;
  border-radius: 10px;
  padding: 10px 16px;
  background: linear-gradient(135deg, #e7b91f, #c98c00);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(201, 140, 0, 0.18);
  cursor: pointer;
}

button:hover { filter: brightness(0.97); }

button.secondary {
  border: 1px solid #d8c27a;
  background: #fff8dc;
  color: #9a6b00;
}

a.back-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 1px solid #d8c27a;
  border-radius: 10px;
  padding: 10px 16px;
  background: #fff8dc;
  color: #9a6b00;
  font-weight: 800;
  text-decoration: none;
}

a.back-button:hover {
  filter: brightness(0.97);
}

button.quiet-danger {
  border: 1px solid #f1c8c3;
  background: var(--red-soft);
  color: var(--red);
}

.app-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px clamp(18px, 4vw, 54px);
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
}

.brand-block, .header-actions, .section-heading, .team-heading {
  display: flex;
  align-items: center;
  gap: 16px;
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--green), #13a071);
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.08em;
  box-shadow: 0 10px 22px rgba(8, 127, 91, 0.22);
}

.eyebrow {
  margin: 0 0 4px;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 3px; font-size: clamp(24px, 3vw, 34px); line-height: 1.05; }
h2 { margin-bottom: 0; font-size: clamp(21px, 2.4vw, 28px); }
.subtitle, .section-note, .field-help, .status-copy { color: var(--muted); }
.subtitle { margin: 0; font-size: 14px; }

.test-badge, .access-badge, .status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.test-badge { background: var(--amber-soft); color: #9a4c00; }
.access-badge { background: var(--green-soft); color: var(--green-dark); }
.status-pill { width: fit-content; background: #eef1ef; color: var(--muted); }
.status-pill.complete { background: var(--green-soft); color: var(--green-dark); }

main {
  width: min(1480px, 100%);
  margin: 0 auto;
  padding: 28px clamp(16px, 4vw, 54px) 46px;
}

.card {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.overview-grid {
  display: grid;
  grid-template-columns: minmax(300px, 1.35fr) repeat(2, minmax(230px, 0.8fr));
  gap: 16px;
}

.overview-grid .card { min-height: 220px; padding: 22px; }
.section-heading { justify-content: space-between; margin-bottom: 22px; }
.section-heading.compact { align-items: flex-start; margin-bottom: 18px; }
.section-note { margin: 0; font-size: 14px; }

.money-field > span, .admin-prize-row label > span, .add-employee label > span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.money-input-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  border: 2px solid var(--green);
  border-radius: 13px;
  padding: 0 16px;
  background: #fff;
}

.money-input-wrap b { color: var(--green); font-size: 19px; }
.money-input-wrap input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font-size: clamp(25px, 4vw, 36px);
  font-weight: 900;
}

.money-input-wrap input:disabled { color: var(--ink); opacity: 1; }
.field-help { margin: 10px 0 0; font-size: 13px; line-height: 1.45; }
.expected-pace {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.expected-pace-track {
  position: relative;
  height: 13px;
  overflow: visible;
  border-radius: 999px;
  background: #e4e7eb;
}

.expected-pace-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #0f766e;
}

.expected-pace-track b {
  position: absolute;
  top: -6px;
  width: 2px;
  height: 25px;
  border-radius: 999px;
  background: #f97316;
  transform: translateX(-1px);
}

.expected-pace-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #71717a;
  font-size: 13px;
}

.expected-pace-copy strong {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  border-radius: 999px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 800;
}

.expected-pace-copy strong.behind {
  background: #fee2e2;
  color: #dc2626;
}

.expected-pace-copy strong.ahead {
  background: #dcfce7;
  color: #047857;
}
.prize-card .field-help { font-size: 17px; font-weight: 400; line-height: 1.35; }
.prize-card .field-help strong { font-weight: 900; }
.hero-value { display: block; margin: 18px 0 13px; font-size: clamp(32px, 4vw, 48px); line-height: 1; }
.prize-track { height: 9px; overflow: hidden; border-radius: 999px; background: #e8ece9; }
.prize-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--green), #27ad7d); transition: width 0.3s ease; }
.status-card { display: flex; flex-direction: column; }
.status-card .hero-value { margin-bottom: 3px; }
.status-result { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.status-result .hero-value { margin-right: auto; }
.status-trophy { display: block; width: clamp(72px, 8vw, 104px); height: auto; object-fit: contain; }
.status-copy { margin-bottom: auto; }

.progress-section, .admin-panel, .team-section { margin-top: 18px; padding: 24px; }
.progress-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.goal-card { border: 1px solid var(--line); border-radius: 15px; padding: 18px; background: var(--surface-soft); }
.goal-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.goal-top h3 { margin: 0; font-size: 16px; text-transform: uppercase; }
.goal-weight { border-radius: 999px; padding: 5px 8px; background: #e9eff7; color: var(--blue); font-size: 14px; font-weight: 900; white-space: nowrap; }
.goal-values { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 22px 0 9px; }
.goal-values strong { font-size: 28px; }
.goal-values span { color: var(--muted); font-size: 12px; }
.goal-track { position: relative; height: 16px; overflow: hidden; border-radius: 999px; background: #e7eae8; }
.goal-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #e3a008, var(--green)); transition: width 0.3s ease; }
.goal-track::after { content: ""; position: absolute; top: 0; right: 0; width: 3px; height: 100%; background: var(--ink); opacity: 0.75; }
.goal-footer { display: flex; justify-content: space-between; margin-top: 9px; color: var(--muted); font-size: 12px; }
.goal-card.achieved { border-color: #aadbc8; background: var(--green-soft); }
.goal-card.achieved .goal-track i { background: var(--green); }

.admin-panel { border-color: #b9cae0; background: #f8fbff; }
.admin-prize-row { display: flex; align-items: end; gap: 18px; margin-bottom: 18px; }
.admin-prize-row input, .indicator-editor input, .add-employee input, .absence-input {
  min-height: 42px;
  border: 1px solid #cbd3ce;
  border-radius: 9px;
  padding: 9px 11px;
  background: #fff;
  color: var(--ink);
}
.admin-prize-row input { width: 180px; font-weight: 800; }
.weight-status { border-radius: 10px; padding: 11px 13px; font-size: 13px; font-weight: 800; }
.weight-status.ok { background: var(--green-soft); color: var(--green-dark); }
.weight-status.warn { background: var(--amber-soft); color: #934d00; }
.indicator-editor { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.indicator-edit-card { display: grid; grid-template-columns: 1fr 100px; gap: 10px; border: 1px solid #d7e0eb; border-radius: 12px; padding: 14px; background: #fff; }
.indicator-edit-card strong { grid-column: 1 / -1; }
.indicator-edit-card label span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.indicator-edit-card input { width: 100%; }

.excluded-employees {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  border: 1px solid #efc7c2;
  border-radius: 12px;
  padding: 14px;
  background: var(--red-soft);
}
.excluded-employees strong { color: var(--red); }
.excluded-employees p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.excluded-employees-list { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.restore-employee-button { min-height: 36px; border: 1px solid #d8c27a; background: #fff8dc; color: #9a6b00; }

.history-section { margin-top: 22px; border-top: 1px solid #d7e0eb; padding-top: 22px; }
.history-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.history-heading h3 { margin: 0; font-size: 20px; }
.history-heading > span { border-radius: 999px; padding: 6px 9px; background: var(--green-soft); color: var(--green-dark); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.history-table { min-width: 1180px; }
.history-table th:first-child, .history-table td:first-child { min-width: 145px; background: #f8fbff; }
.history-table td { background: #fff; }
.history-table tr.current-period td { background: #f0fbf6; }
.history-table tr.current-period td:first-child { color: var(--green-dark); }
.history-month-badge { display: block; margin-top: 3px; color: var(--green); font-size: 10px; font-weight: 900; text-transform: uppercase; }

.team-heading { justify-content: space-between; align-items: end; }
.add-employee { display: flex; align-items: end; gap: 8px; }
.add-employee input { min-width: 240px; }
.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; min-width: 1050px; border-collapse: collapse; }
th, td { padding: 13px 10px; border-bottom: 1px solid var(--line); text-align: right; vertical-align: middle; }
th { color: var(--muted); background: var(--surface-soft); font-size: 11px; text-transform: uppercase; }
th:first-child, td:first-child { position: sticky; left: 0; z-index: 1; min-width: 170px; text-align: left; background: var(--surface); }
th:first-child { background: var(--surface-soft); }
th small, th span { display: block; }
th small { margin-top: 3px; color: #8a928e; font-size: 10px; font-weight: 600; text-transform: none; }
th.absence-heading { border-bottom-width: 2px; color: var(--ink); text-align: center; }
th.absence-heading small { color: inherit; opacity: 0.78; }
th.absence-heading-weekdays { border-bottom-color: #ffc000; background: #fff2cc; }
th.absence-heading-weekends { border-bottom-color: #c00000; background: #fce4d6; }
th.absence-heading-sameday { border-bottom-color: #7030a0; background: #e4dfec; }
td strong { white-space: nowrap; }
.absence-input { width: 72px; text-align: center; font-weight: 800; }
.absence-input-weekdays { border-color: #ffd966; background: #fff9e6; color: #7f6000; }
.absence-input-weekends { border-color: #e6a095; background: #fff1ed; color: #9c0006; }
.absence-input-sameday { border-color: #b4a0c8; background: #f3eff7; color: #5f2580; }
.zero-absence { color: var(--green-dark); font-weight: 800; }
.lost-value { color: var(--red); }
.received-value { color: var(--green-dark); }
.final-value { display: inline-block; border-radius: 9px; padding: 7px 9px; background: var(--green-soft); color: var(--green-dark); font-size: 16px; }
.delete-button { min-height: 36px; padding: 7px 10px; background: var(--red-soft); color: var(--red); }
.empty-state { margin-top: 16px; border: 1px dashed #c5cbc7; border-radius: 12px; padding: 24px; color: var(--muted); text-align: center; }

.summary-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-top: 18px; }
.summary-card { border: 1px solid var(--line); border-radius: 15px; padding: 18px; background: var(--surface); }
.summary-card span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.summary-card strong { font-size: 25px; }
.summary-card.negative strong { color: var(--red); }
.summary-card.positive strong { color: var(--green-dark); }
.summary-card.total { border-color: var(--green); background: var(--green); color: #fff; }
.summary-card.total span { color: #d9f8eb; }
.summary-card.annual { border-color: #d8a600; background: linear-gradient(135deg, #fff8d9, #ffefad); }
.summary-card.annual span { color: #765700; }
.summary-card.annual strong { color: #6a4c00; }
.retained-notice { margin: 14px 0 0; border-radius: 12px; padding: 14px 16px; background: var(--amber-soft); color: #7c4305; font-weight: 700; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 20; border-radius: 12px; padding: 14px 18px; background: var(--ink); color: #fff; box-shadow: var(--shadow); font-weight: 800; }

@media (max-width: 980px) {
  .overview-grid { grid-template-columns: 1fr 1fr; }
  .revenue-card { grid-column: 1 / -1; }
  .progress-grid, .indicator-editor { grid-template-columns: 1fr; }
  .summary-grid { grid-template-columns: 1fr 1fr; }
  .team-heading { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
  .app-header { align-items: flex-start; flex-direction: column; }
  .header-actions { width: 100%; justify-content: space-between; }
  .overview-grid, .summary-grid { grid-template-columns: 1fr; }
  .revenue-card { grid-column: auto; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .admin-prize-row, .add-employee, .excluded-employees { width: 100%; align-items: stretch; flex-direction: column; }
  .history-heading { align-items: flex-start; flex-direction: column; }
  .add-employee label, .add-employee input { width: 100%; min-width: 0; }
  .indicator-edit-card { grid-template-columns: 1fr; }
  .indicator-edit-card strong { grid-column: auto; }
  .overview-grid .card, .progress-section, .admin-panel, .team-section { padding: 18px; }
  .status-trophy { width: 82px; }
}

/* Camada final do tema moderno. Mantida ao fim para prevalecer sobre o legado. */
body{background:#fafafa;color:#18181b;-webkit-font-smoothing:antialiased}.app-header{position:sticky;top:0;z-index:40;min-height:64px;padding:12px max(16px,calc((100vw - 1280px)/2));border-color:rgba(228,228,231,.8);background:rgba(255,255,255,.9);backdrop-filter:blur(16px)}.brand-block{gap:12px}.header-divider{width:1px;height:32px;background:#e4e4e7}.brand-mark{width:40px;height:40px;border-radius:11px;background:#fffbeb;color:#b45309;box-shadow:none}.brand-mark svg{width:19px;height:19px}.header-brand{margin:0;color:#71717a;font-size:12px;font-weight:500}.app-header h1{margin:1px 0 0;font-size:18px;font-weight:600;letter-spacing:-.02em}.back-button,a.back-button{min-height:36px;gap:7px;border:1px solid #e4e4e7;border-radius:8px;background:#fff;padding:0 11px;color:#3f3f46;font-size:13px;font-weight:600;box-shadow:none}.back-button svg{width:16px;height:16px}.store-name-badge{display:inline-flex;min-height:34px;align-items:center;border:1px solid #d1fae5;border-radius:8px;background:#ecfdf5;padding:0 11px;color:#047857;font-size:12px;font-weight:600}.header-actions{gap:8px}.header-actions button{min-height:36px;border:1px solid #e4e4e7;border-radius:8px;background:#fff;padding:0 11px;color:#3f3f46;font-size:12px;font-weight:600;box-shadow:none}
main{width:min(1280px,100%);padding:32px 24px 46px}.page-intro{margin-bottom:24px}.page-intro .eyebrow{margin-bottom:4px}.page-intro h2{margin:0;font-size:30px;font-weight:600;letter-spacing:-.03em}.page-intro>p:last-child{margin:8px 0 0;color:#71717a;font-size:14px}.eyebrow{color:#0f766e;font-size:11px;font-weight:600;letter-spacing:.14em}.card{border-color:#e4e4e7;border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.03),0 8px 24px rgba(0,0,0,.035)}.overview-grid{gap:16px}.overview-grid .card{min-height:210px;padding:20px}.section-heading{margin-bottom:20px}.section-heading h2{font-size:18px;font-weight:600;letter-spacing:-.02em}.section-note,.field-help,.status-copy{color:#71717a}.money-input-wrap{min-height:58px;border:1px solid #d4d4d8;border-radius:8px}.money-input-wrap:focus-within{border-color:#0f766e;box-shadow:0 0 0 3px rgba(13,148,136,.12)}.money-input-wrap input{font-size:30px;font-weight:600}.hero-value{font-size:42px;font-weight:600;letter-spacing:-.04em}.progress-section,.admin-panel,.team-section{padding:22px}.goal-card{border-color:#e4e4e7;border-radius:12px;background:#fafafa}.goal-top h3{font-size:13px;font-weight:600}.goal-weight{font-size:12px;font-weight:600}.goal-values strong{font-weight:600}.admin-panel{border-color:#dbeafe;background:#f8fafc}.indicator-edit-card{border-color:#e4e4e7;border-radius:10px}.admin-prize-row input,.indicator-editor input,.add-employee input,.absence-input{border-color:#d4d4d8;border-radius:8px;outline:none}.admin-prize-row input:focus,.indicator-editor input:focus,.add-employee input:focus,.absence-input:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(13,148,136,.12)}button{min-height:40px;border-radius:8px;background:#18181b;padding:0 14px;font-size:12px;font-weight:600;box-shadow:none}button.secondary{border-color:#e4e4e7;background:#fff;color:#3f3f46}button.quiet-danger,.delete-button{border-color:#fecaca;background:#fff;color:#dc2626}.table-wrap{border:1px solid #e4e4e7;border-radius:12px}th,td{border-color:#e4e4e7;padding:12px 10px}th{background:#fafafa;color:#71717a;font-size:10px;font-weight:600}td{font-size:13px}.summary-grid{gap:12px}.summary-card{border-color:#e4e4e7;border-radius:12px;background:#fff;padding:16px}.summary-card span{font-size:10px;font-weight:600}.summary-card strong{font-size:22px;font-weight:600}.summary-card.total{border-color:#0f766e;background:#0f766e}.toast{border-radius:10px;background:#18181b;font-weight:600}
@media(max-width:640px){.app-header{padding:12px 16px}.header-divider{display:none}.store-name-badge{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back-button span{display:none}main{padding:24px 16px 38px}.page-intro h2{font-size:25px}}

.page-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.page-intro-copy {
  min-width: 0;
}

.page-intro-copy > p:last-child {
  margin: 8px 0 0;
  color: #71717a;
  font-size: 14px;
}

.period-filter {
  display: grid;
  gap: 6px;
  min-width: 245px;
}

.period-filter span {
  color: #71717a;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.period-filter select {
  min-height: 42px;
  border: 1px solid #0f766e;
  border-radius: 8px;
  background: #fff;
  padding: 0 12px;
  color: #18181b;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  outline: none;
}

.period-filter select {
  display: none;
}

.period-picker {
  position: relative;
}

.period-picker-button {
  display: flex;
  width: 100%;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #0f766e;
  border-radius: 8px;
  background: #fff;
  padding: 0 12px;
  color: #18181b;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
}

.period-picker-icon {
  display: inline-grid;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  place-items: center;
  color: #18181b;
}

.period-picker-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  z-index: 35;
  min-width: 244px;
  overflow: hidden;
  border: 1px solid #d4d4d8;
  border-radius: 0;
  background: #fff;
  padding: 8px 10px 10px;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .14);
}

.period-picker-menu[hidden] {
  display: none;
}

.period-picker-year {
  margin: 0 0 8px;
  background: #eeeeee;
  padding: 5px 9px;
  color: #18181b;
  font-size: 12px;
  font-weight: 700;
}

.period-picker-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px 10px;
  margin-bottom: 10px;
}

.period-picker-option {
  display: inline-flex;
  width: 100%;
  min-height: 33px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: #fff;
  padding: 0;
  color: #18181b;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
}

.period-picker-option:hover,
.period-picker-option.selected {
  background: #0ea5e9;
  color: #fff;
  outline: 2px solid #005ea8;
  outline-offset: -2px;
}

.period-picker-option:disabled {
  color: #a1a1aa;
  cursor: not-allowed;
}

.period-picker-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.period-picker-link {
  min-height: 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: #2563eb;
  font-size: 12px;
  font-weight: 500;
}

.period-filter select:focus {
  border-color: #0f766e;
  box-shadow: 0 0 0 3px rgba(13,148,136,.12);
}

@media(max-width:640px) {
  .page-intro {
    flex-direction: column;
  }

  .period-filter {
    width: 100%;
    min-width: 0;
  }
}

.store-summary-panel {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) minmax(190px, 240px) 56px 108px;
  gap: 12px;
  margin-top: 18px;
  padding: 22px;
}

.store-summary-panel > .section-heading,
.store-summary-panel > .admin-revenue-chart,
.store-summary-panel > .table-wrap {
  grid-column: 1 / -1;
}

.store-summary-panel > .section-heading .section-note {
  display: none;
}

.admin-summary-period {
  grid-column: 3;
  grid-row: 2;
  display: grid;
  gap: 4px;
  width: 100%;
  margin: 0;
  align-self: stretch;
}

.admin-summary-period span {
  color: #71717a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-summary-period select {
  min-height: 38px;
  border: 1px solid #0f766e;
  border-radius: 8px;
  background: #fff;
  padding: 0 12px;
  color: #18181b;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  outline: none;
}

.admin-summary-cards {
  display: contents;
}

.admin-summary-cards .admin-summary-card:nth-of-type(1) {
  grid-column: 1;
  grid-row: 2;
}

.admin-summary-cards .admin-summary-card:nth-of-type(2) {
  grid-column: 2;
  grid-row: 2;
}

.admin-summary-cards .admin-chart-toggle {
  grid-column: 5;
  grid-row: 2;
}

.admin-summary-cards .admin-integration-settings {
  grid-column: 4;
  grid-row: 2;
}

.admin-summary-card {
  border: 1px solid #e4e4e7;
  border-radius: 14px;
  background: #fafafa;
  padding: 12px 14px;
}

.admin-summary-card span {
  display: block;
  color: #71717a;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.admin-summary-card strong {
  display: block;
  margin-top: 6px;
  color: #18181b;
  font-size: clamp(20px, 2.5vw, 30px);
  line-height: 1;
  white-space: nowrap;
}

.admin-chart-toggle,
.admin-integration-settings {
  align-self: stretch;
  border: 1px solid #0f766e;
  border-radius: 14px;
  background: #0f766e;
  padding: 0 12px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}

.admin-integration-settings {
  min-width: 52px;
  padding: 0;
  font-size: 18px;
}

.revenue-sync-button {
  border: 1px solid #d1fae5;
  background: #ecfdf5;
  color: #047857;
  box-shadow: none;
}

.revenue-sync-button:disabled {
  cursor: not-allowed;
  opacity: .72;
}

.money-field small {
  display: block;
  margin-top: 4px;
  color: #71717a;
  font-size: 11px;
  font-weight: 600;
  text-transform: none;
}

.linx-settings-dialog {
  width: min(720px, calc(100vw - 28px));
  border: 1px solid #e4e4e7;
  border-radius: 16px;
  padding: 0;
  color: #18181b;
  background: #fff;
  box-shadow: 0 28px 80px rgba(24, 24, 27, .22);
}

.linx-settings-dialog::backdrop {
  background: rgba(24, 24, 27, .38);
}

.linx-settings-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid #e4e4e7;
  padding: 20px 22px 16px;
}

.linx-settings-header h2 {
  margin: 0;
  font-size: 20px;
}

.linx-settings-header p:last-child {
  margin: 6px 0 0;
  color: #71717a;
  font-size: 13px;
}

.linx-dialog-close {
  min-width: 40px;
  min-height: 40px;
  border: 1px solid #e4e4e7;
  background: #fff;
  color: #18181b;
  padding: 0;
  font-size: 20px;
}

.linx-settings-form {
  display: grid;
  gap: 16px;
  padding: 18px 22px 20px;
}

.linx-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #18181b;
  font-size: 13px;
  font-weight: 700;
}

.linx-toggle input {
  width: 18px;
  height: 18px;
}

.linx-settings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.linx-settings-grid label,
.linx-store-map-row {
  display: grid;
  gap: 6px;
}

.linx-settings-grid span {
  color: #71717a;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.linx-settings-grid input,
.linx-settings-grid select,
.linx-store-map-row input {
  min-height: 40px;
  border: 1px solid #d4d4d8;
  border-radius: 8px;
  background: #fff;
  padding: 0 11px;
  color: #18181b;
  font: inherit;
  font-size: 13px;
}

.linx-map-title {
  display: block;
  margin-bottom: 10px;
  color: #18181b;
  font-size: 13px;
}

.linx-store-map {
  display: grid;
  border: 1px solid #e4e4e7;
  border-radius: 12px;
  overflow: hidden;
}

.linx-store-map-row {
  grid-template-columns: 1fr 110px;
  align-items: center;
  border-bottom: 1px solid #e4e4e7;
  padding: 10px 12px;
}

.linx-store-map-row:last-child {
  border-bottom: 0;
}

.linx-store-map-row strong {
  font-size: 13px;
}

.linx-store-map-row input {
  text-align: right;
}

.linx-settings-message {
  min-height: 18px;
  color: #71717a;
  font-size: 13px;
}

.linx-settings-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.linx-settings-actions .linx-cancel-button,
.linx-settings-actions .linx-save-button {
  min-height: 40px;
  border-radius: 8px;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 700;
}

.linx-settings-actions .linx-cancel-button {
  border: 1px solid #fecaca;
  background: #fff;
  color: #dc2626;
}

.linx-settings-actions .linx-save-button {
  border: 1px solid #0f766e;
  background: #0f766e;
  color: #fff;
}

.admin-revenue-chart {
  display: grid;
  gap: 10px;
  margin: 0 0 18px;
  border: 1px solid #e4e4e7;
  border-radius: 14px;
  background: #fff;
  padding: 14px;
}

.admin-chart-row {
  display: grid;
  grid-template-columns: 32px minmax(110px, 170px) minmax(160px, 1fr) minmax(110px, auto);
  gap: 10px;
  align-items: center;
  color: #3f3f46;
  font-size: 13px;
}

.admin-chart-rank {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fffbeb;
  color: #92400e;
  font-weight: 800;
}

.admin-chart-row strong,
.admin-chart-row > span:last-child {
  color: #18181b;
  font-weight: 800;
}

.admin-chart-bar {
  height: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #f4f4f5;
}

.admin-chart-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f766e, #14b8a6);
}

.store-summary-table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
}

.store-summary-table th,
.store-summary-table td {
  border-bottom: 1px solid #e4e4e7;
  padding: 14px 12px;
  text-align: left;
  vertical-align: middle;
}

.store-summary-table th {
  background: #fafafa;
  color: #71717a;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.store-summary-table tbody tr:last-child td {
  border-bottom: 0;
}

.store-summary-table td:nth-child(2),
.store-summary-table td:nth-child(3),
.store-summary-table td:nth-child(4),
.store-summary-table td:nth-child(5),
.store-summary-table td:nth-child(6) {
  white-space: nowrap;
}

.store-summary-table th:nth-child(2),
.store-summary-table th:nth-child(3),
.store-summary-table th:nth-child(4),
.store-summary-table th:nth-child(5),
.store-summary-table th:nth-child(6),
.store-summary-table td:nth-child(2),
.store-summary-table td:nth-child(3),
.store-summary-table td:nth-child(4),
.store-summary-table td:nth-child(5),
.store-summary-table td:nth-child(6) {
  text-align: center;
}

.store-detail-link {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8c27a;
  border-radius: 8px;
  background: #fff8dc;
  padding: 0 12px;
  color: #7a4f00;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.store-detail-link:hover {
  filter: brightness(.98);
}

.store-sync-button {
  min-height: 34px;
  border: 1px solid #99f6e4;
  border-radius: 8px;
  background: #f0fdfa;
  padding: 0 12px;
  color: #0f766e;
  font-size: 12px;
  font-weight: 700;
}

.store-sync-button:disabled {
  border-color: #e4e4e7;
  background: #fafafa;
  color: #a1a1aa;
  cursor: wait;
}

@media (max-width: 720px) {
  .store-summary-panel {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .admin-summary-cards .admin-summary-card:nth-of-type(1),
  .admin-summary-cards .admin-summary-card:nth-of-type(2),
  .admin-summary-cards .admin-integration-settings,
  .admin-summary-cards .admin-chart-toggle,
  .admin-summary-period {
    grid-template-columns: 1fr;
    grid-column: 1;
    grid-row: auto;
  }

  .admin-chart-row {
    grid-template-columns: 1fr;
  }

  .admin-summary-period {
    width: 100%;
    margin-left: 0;
  }

  .store-summary-table th,
  .store-summary-table td {
    padding: 12px 10px;
  }
}

@media (max-width: 640px) {
  .linx-settings-grid,
  .linx-store-map-row {
    grid-template-columns: 1fr;
  }

  .linx-settings-header,
  .linx-settings-actions {
    align-items: stretch;
    flex-direction: column;
  }
}
