/* public_html/styles.css */
/* AgroNexus TerraTech - tema global oficial app mobile */

:root{
  --bg:#f3f6ee;
  --bg-soft:#eef4ea;
  --panel:#ffffff;
  --panel-2:#f7fbf5;
  --panel-3:#f4faf2;

  --stroke:rgba(21,101,52,.10);
  --stroke-2:rgba(21,101,52,.14);

  --text:#122217;
  --muted:#5f7064;

  --brand:#22c55e;
  --brand-2:#15803d;
  --brand-soft:#edf9ef;

  --good:#16a34a;
  --warn:#d97706;
  --bad:#dc2626;

  --shadow:0 14px 34px rgba(16,34,18,.10);
  --radius:18px;
  --radius2:14px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Noto Sans","Helvetica Neue",sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 440px at 12% 8%, rgba(34,197,94,.08), transparent 60%),
    radial-gradient(780px 360px at 88% 12%, rgba(21,128,61,.06), transparent 56%),
    linear-gradient(180deg, #f6f9f3, var(--bg));
}

a{ color:inherit; }
a:hover{ opacity:.96; }
a:active{ opacity:.9; }
a,button{ -webkit-tap-highlight-color:transparent; }

.wrap{
  max-width:980px;
  margin:28px auto;
  padding:0 18px 40px;
}

.top{
  position:sticky;
  top:0;
  z-index:10;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(244,250,242,.90));
  border-bottom:1px solid var(--stroke);
}

header.top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
}

.top .brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.logo{
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  border-radius:12px;
  display:grid;
  place-items:center;
  overflow:hidden;
  font-weight:800;
  letter-spacing:.5px;
  color:#fff;
  background:linear-gradient(135deg, var(--brand), var(--brand-2));
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 8px 18px rgba(21,128,61,.18);
}

.logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.logo.logo-image{
  padding:0;
  background:var(--panel-3);
}

.logo.logo-image span{
  display:none;
}

.name{
  font-weight:800;
  line-height:1.15;
  color:var(--text);
}

.sub{
  margin-top:2px;
  font-size:12px;
  line-height:1.2;
  color:var(--muted);
}

.actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.wallet{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:130px;
  padding:10px 14px;
  border-radius:14px;
  background:linear-gradient(180deg, var(--panel), var(--panel-2));
  border:1px solid var(--stroke);
}

.wl{
  font-size:12px;
  color:var(--muted);
}

.wv{
  margin-top:2px;
  font-size:16px;
  font-weight:800;
  color:var(--text);
}

button,.btn,.btnPrimary,.btnSecondary{
  border:0;
  cursor:pointer;
  border-radius:14px;
  padding:10px 14px;
  font-weight:700;
  font-size:14px;
  transition:transform .08s ease,opacity .12s ease,background .15s ease,border-color .15s ease;
}

button:active,.btn:active,.btnPrimary:active,.btnSecondary:active{
  transform:translateY(1px);
}

.btnPrimary{
  color:#fff;
  background:linear-gradient(135deg, var(--brand), var(--brand-2));
  box-shadow:0 10px 22px rgba(21,128,61,.18);
}

.btnSecondary{
  color:var(--text);
  background:var(--panel-3);
  border:1px solid var(--stroke);
}

.btnSecondary:hover{
  background:#eef8ee;
}

.card{
  padding:22px;
  border-radius:var(--radius);
  border:1px solid var(--stroke);
  background:linear-gradient(180deg, var(--panel), var(--panel-2));
  box-shadow:var(--shadow);
}

h1,h2,h3{
  margin:0 0 10px;
  letter-spacing:.2px;
  color:var(--text);
}

h1{ font-size:34px; }
p{ margin:0; color:inherit; }
.muted,.text-muted{ color:var(--muted); }

.grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin-top:16px;
}

.tile{
  display:block;
  text-decoration:none;
  padding:16px;
  border-radius:var(--radius2);
  border:1px solid var(--stroke);
  background:linear-gradient(180deg, var(--panel), var(--panel-2));
  transition:transform .10s ease,background .15s ease,border-color .15s ease;
}

.tile:hover{
  transform:translateY(-1px);
  background:linear-gradient(180deg, #fff, var(--panel-3));
  border-color:var(--stroke-2);
}

.tileTitle{
  font-size:16px;
  font-weight:800;
  color:var(--text);
}

.tileText{
  margin-top:6px;
  font-size:13px;
  line-height:1.25;
  color:var(--muted);
}

.formCard{
  max-width:520px;
  margin:26px auto;
}

label{
  display:block;
  margin:12px 0 6px;
  font-size:13px;
  color:var(--muted);
}

input,textarea,select{
  width:100%;
  padding:12px;
  border-radius:14px;
  border:1px solid var(--stroke-2);
  background:#fff;
  color:var(--text);
  outline:none;
}

input:focus,textarea:focus,select:focus{
  border-color:rgba(21,128,61,.35);
  box-shadow:0 0 0 4px rgba(21,128,61,.10);
}

.hr{
  height:1px;
  margin:16px 0;
  background:rgba(21,101,52,.08);
}

.alert{
  padding:12px;
  border-radius:14px;
  border:1px solid var(--stroke);
  background:var(--panel-2);
  color:var(--text);
}

.alert.error{
  border-color:rgba(220,38,38,.20);
  background:#fff1f1;
}

.alert.ok{
  border-color:rgba(22,163,74,.20);
  background:#edf9ef;
}

.row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--stroke);
  background:var(--panel-3);
  color:var(--text);
}

.dot{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--warn);
  box-shadow:0 0 0 6px rgba(217,119,6,.10);
}

.ledgerRow{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid rgba(21,101,52,.08);
}

.ledgerLeft{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.ledgerType{
  font-weight:800;
  color:var(--text);
}

.ledgerMeta{
  font-size:12px;
  color:var(--muted);
}

.ledgerRight{
  font-weight:900;
  color:var(--text);
}

.ledgerRight.pos{ color:var(--good); }
.ledgerRight.neg{ color:var(--bad); }

table{
  width:100%;
  border-collapse:collapse;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--stroke);
}

th,td{
  padding:10px 12px;
  text-align:left;
  border-bottom:1px solid rgba(21,101,52,.08);
  color:var(--text);
}

th{
  font-weight:700;
  color:var(--muted);
  background:#f6faf4;
}

/* resumo oficial */
.official-mini-summary{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.official-mini-info,
.character-mini-avatar-wrap,
.character-mini-info,
.character-stat-card,
.farm-box,
.farm-stat,
.farm-list li,
.farm-feedback,
.farm-action-section,
.inventory-card,
.farm-state-card,
.farm-crop-card,
.section-shell,
.minimal-stat,
.minimal-card,
.compact-list-item,
.compact-table-row,
.surface-soft,
.details-toggle{
  border:1px solid var(--stroke);
  background:linear-gradient(180deg, var(--panel), var(--panel-2));
  box-shadow:var(--shadow);
}

.official-mini-info,
.character-mini-info,
.inventory-card,
.farm-state-card,
.farm-crop-card,
.compact-list-item,
.compact-table-row,
.surface-soft{
  border-radius:14px;
  padding:14px;
}

.character-mini-avatar-wrap{
  border-radius:14px;
  padding:12px;
}

.character-stat-card,
.farm-box,
.farm-feedback,
.farm-action-section{
  border-radius:16px;
  padding:14px;
}

.official-mini-info{ min-width:0; }

.official-mini-label,
.minimal-stat-label,
.section-kicker{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#2f7d32;
}

.official-mini-value{
  margin-top:4px;
  font-size:16px;
  font-weight:800;
  line-height:1.2;
  color:var(--text);
}

.official-mini-sub{
  margin-top:6px;
  font-size:13px;
  color:var(--muted);
}

/* personagem */
.character-mini-summary{
  display:grid;
  grid-template-columns:88px minmax(0, 1fr);
  gap:12px;
  align-items:center;
}

.character-mini-avatar-wrap{
  display:grid;
  place-items:center;
  min-height:88px;
}

.character-avatar{
  width:64px;
  height:64px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:22px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg, var(--brand), var(--brand-2));
  box-shadow:0 10px 20px rgba(21,128,61,.18);
}

.character-details-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:16px;
  align-items:stretch;
}

.character-right-col{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}

.character-stats-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:16px;
}

.stat-bar-track{
  height:10px;
  margin-top:10px;
  border-radius:999px;
  overflow:hidden;
  background:#e8efe5;
}

.stat-bar-fill{
  width:0%;
  height:100%;
  border-radius:999px;
}

.stat-bar-health{ background:linear-gradient(90deg, #22c55e, #16a34a); }
.stat-bar-energy{ background:linear-gradient(90deg, #f59e0b, #fbbf24); }
.stat-bar-hunger{ background:linear-gradient(90deg, #fb923c, #f97316); }
.stat-bar-thirst{ background:linear-gradient(90deg, #38bdf8, #0ea5e9); }
.stat-bar-xp{ background:linear-gradient(90deg, #8b5cf6, #7c3aed); }

/* fazenda */
.farm-wrap{
  width:min(1100px, 92vw);
  margin:18px auto 34px;
}

.farm-grid{
  display:grid;
  grid-template-columns:1.3fr .9fr;
  gap:16px;
  margin-top:16px;
}

.farm-stage{
  position:relative;
  overflow:hidden;
  min-height:320px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.16);
  background:
    radial-gradient(circle at 20% 15%, rgba(255,255,255,.12), transparent 20%),
    radial-gradient(circle at 75% 25%, rgba(255,255,255,.10), transparent 18%),
    linear-gradient(135deg, #166534, #22c55e);
  color:#fff;
}

.farm-stage::before{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:44%;
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.08));
}

.farm-stage-inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:320px;
  padding:18px;
}

.farm-stage-title{
  margin:0;
  font-size:24px;
  font-weight:900;
  color:#fff;
}

.farm-stage-sub{
  margin-top:8px;
  max-width:620px;
  line-height:1.45;
  color:rgba(255,255,255,.88);
}

.farm-pill-row,
.farm-stage-actions,
.farm-crop-actions,
.inventory-badges,
.minimal-chip-row,
.compact-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.farm-pill,
.inventory-badge,
.farm-status-badge,
.minimal-chip,
.page-hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid var(--stroke);
  background:var(--panel-3);
  font-size:12px;
  font-weight:800;
  color:var(--text);
}

.farm-mini-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:12px;
  margin-top:14px;
}

.farm-stat-label,
.inventory-card-meta,
.farm-state-text,
.farm-crop-meta,
.farm-list-sub,
.compact-list-sub,
.compact-table-sub,
.minimal-stat-sub,
.minimal-card-sub,
.minimal-meta-label{
  color:var(--muted);
}

.farm-stat-label,
.minimal-meta-label{
  font-size:12px;
}

.farm-stat-value,
.farm-state-number{
  font-size:18px;
  font-weight:900;
  color:var(--text);
}

.farm-list{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.farm-list-title,
.inventory-card-title,
.farm-state-title,
.farm-crop-title,
.compact-list-title,
.compact-table-title,
.minimal-card-title{
  font-weight:900;
  color:var(--text);
}

.farm-list-title,
.inventory-card-title,
.farm-state-title,
.farm-crop-title{
  font-size:16px;
  margin-bottom:6px;
}

.farm-feedback.hidden,
.hidden{
  display:none !important;
}

.farm-form-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  margin-top:12px;
  align-items:end;
}

.farm-field label{
  display:block;
  margin-bottom:8px;
  font-size:13px;
  font-weight:800;
  color:var(--muted);
}

.farm-field select{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--stroke-2);
  background:#fff;
  color:var(--text);
  outline:none;
}

.inventory-section,
.farm-state-section{ margin-top:18px; }

.inventory-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:12px;
  margin-top:14px;
}

.inventory-card-qty{
  margin-top:10px;
  font-size:15px;
  font-weight:800;
  color:var(--text);
}

.farm-state-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
  margin-top:14px;
}

.farm-crop-list,
.compact-list,
.compact-table,
.minimal-stack,
.sidebar-stack,
.page-layout-clean{
  display:grid;
  gap:10px;
}

.farm-crop-actions button[disabled]{
  opacity:.5;
  cursor:not-allowed;
  filter:saturate(.5);
  pointer-events:none;
}

.farm-empty-card,
.minimal-empty{
  border:1px dashed var(--stroke-2);
  background:var(--panel-2);
  border-radius:14px;
  padding:14px;
  font-size:13px;
  color:var(--muted);
}

/* sistema visual */
.section-shell{
  margin-top:18px;
  border-radius:16px;
  overflow:hidden;
}

.section-shell.compact{
  background:linear-gradient(180deg, var(--panel), var(--panel-2));
}

.section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:16px;
}

.section-head-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.section-title{
  margin:0;
  font-size:18px;
  font-weight:900;
  line-height:1.15;
  color:var(--text);
}

.section-subtitle{
  margin:0;
  font-size:13px;
  line-height:1.35;
  color:var(--muted);
}

.section-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  flex-shrink:0;
}

.section-body{
  padding:0 16px 16px;
}

.section-divider{
  height:1px;
  background:rgba(21,101,52,.08);
}

.section-foot{
  padding:12px 16px 16px;
}

.minimal-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:10px;
}

.minimal-stat{
  border-radius:14px;
  padding:12px;
}

.minimal-stat-value{
  margin-top:6px;
  font-size:22px;
  font-weight:900;
  line-height:1.05;
  color:var(--text);
}

.minimal-chip.good{
  border-color:rgba(22,163,74,.18);
  background:#edf9ef;
  color:#1f6b2a;
}

.minimal-chip.warn{
  border-color:rgba(217,119,6,.18);
  background:#fff7e8;
  color:#9a6700;
}

.minimal-chip.bad{
  border-color:rgba(220,38,38,.18);
  background:#fff1f1;
  color:#b42318;
}

.minimal-card{
  border-radius:16px;
  padding:14px;
}

.minimal-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.minimal-card-sub{
  margin-top:4px;
  font-size:12px;
  line-height:1.3;
}

.minimal-card-body,
.minimal-card-actions{
  margin-top:12px;
}

.minimal-meta{
  display:grid;
  gap:8px;
}

.minimal-meta-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 0;
  border-bottom:1px solid rgba(21,101,52,.08);
}

.minimal-meta-row:last-child{
  padding-bottom:0;
  border-bottom:0;
}

.minimal-meta-value{
  font-size:13px;
  font-weight:700;
  text-align:right;
  color:var(--text);
}

.details-toggle{
  width:100%;
  color:var(--text);
  border-radius:14px;
  padding:0;
  overflow:hidden;
}

.details-toggle + .details-toggle{
  margin-top:10px;
}

.details-toggle summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  font-weight:800;
  color:var(--text);
}

.details-toggle summary::-webkit-details-marker{
  display:none;
}

.details-toggle summary::after{
  content:"+";
  flex-shrink:0;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid var(--stroke);
  background:var(--panel-3);
  color:#2f7d32;
  font-size:14px;
  line-height:1;
}

.details-toggle[open] summary::after{
  content:"−";
}

.details-toggle-body{
  padding:0 16px 16px;
  border-top:1px solid rgba(21,101,52,.08);
}

.compact-actions .btnPrimary,
.compact-actions .btnSecondary{
  min-height:40px;
  padding:9px 12px;
  font-size:13px;
}

.page-hero-minimal{
  padding:18px;
  border-radius:18px;
  border:1px solid var(--stroke);
  background:
    radial-gradient(circle at 14% 20%, rgba(34,197,94,.08), transparent 25%),
    radial-gradient(circle at 82% 18%, rgba(21,128,61,.06), transparent 22%),
    linear-gradient(180deg, var(--panel), var(--panel-2));
}

.page-hero-minimal h1{
  margin:0;
  font-size:28px;
  color:var(--text);
}

.page-hero-minimal p{
  margin-top:6px;
  line-height:1.4;
  color:var(--muted);
}

.page-hero-topline{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:8px;
}

.compact-table-row{
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
}

.compact-table-main{ min-width:0; }

.compact-table-side{
  font-size:13px;
  font-weight:900;
  text-align:right;
  color:var(--text);
}

.surface-soft + .surface-soft{
  margin-top:10px;
}

.text-tight{ line-height:1.25; }
.text-small{ font-size:12px; }
.spacer8{ height:8px; }
.spacer12{ height:12px; }
.spacer16{ height:16px; }
.center{ display:grid; place-items:center; }

@media (max-width: 900px){
  .farm-grid{ grid-template-columns:1fr; }
  .farm-form-grid{ grid-template-columns:1fr; }
}

@media (max-width: 760px){
  header.top{ padding:12px 14px; }
  .wrap{ margin-top:18px; }
  .grid{ grid-template-columns:1fr; }
  h1{ font-size:28px; }

  .official-mini-summary,
  .character-mini-summary,
  .character-stats-grid,
  .farm-mini-grid,
  .minimal-grid,
  .farm-state-grid,
  .inventory-grid{
    grid-template-columns:1fr;
  }

  .actions{
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }

  .wallet{
    min-width:unset;
    width:auto;
  }

  .page-hero-minimal h1{
    font-size:24px;
  }

  .section-head{
    padding:14px;
  }

  .section-body,
  .section-foot{
    padding-left:14px;
    padding-right:14px;
  }
}