
* { box-sizing: border-box; }
:root{
  --bg:#15110d;
  --panel:#211912;
  --panel-2:#2a2118;
  --line:rgba(212,166,58,.20);
  --gold:#d4a63a;
  --text:#f3eadb;
  --muted:#ccbda5;
  --green:#8da35b;
  --danger:#c66a53;
  --shadow:0 16px 40px rgba(0,0,0,.28);
}
html,body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;background:
radial-gradient(circle at top, rgba(212,166,58,.12), transparent 25%),
linear-gradient(135deg,#15110d,#241a12 45%,#1a140f);color:var(--text);}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.page{
  min-height:100vh;
  display:grid;
  grid-template-columns:280px 1fr;
  gap:20px;
  width:min(1440px,96%);
  margin:20px auto;
}
.sidebar,.card,.topbar{
  background:rgba(33,25,18,.94);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
}
.sidebar{padding:22px; position:sticky; top:20px; height:fit-content}
.logo-wrap{text-align:center;margin-bottom:18px}
.logo{width:180px;border-radius:18px}
.brand{font-size:1.6rem;font-weight:800;margin-top:12px}
.brand-sub{color:var(--muted);margin-top:6px}
.nav{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.nav a{
  padding:13px 14px;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  font-weight:700;
}
.nav a.active, .nav a:hover{background:linear-gradient(180deg,#b88a2a,#8a6620);color:#231809}
.main{display:flex;flex-direction:column;gap:18px}
.topbar{padding:16px 20px;display:flex;justify-content:space-between;align-items:center}
.badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(212,166,58,.35);background:rgba(212,166,58,.12);font-weight:700}
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.card{padding:22px}
.card h2,.card h3,.card h4{margin-top:0}
.muted{color:var(--muted)}
input,select,textarea,button{
  font:inherit
}
input,select,textarea{
  width:100%;padding:13px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.1);
  background:var(--panel-2);color:var(--text)
}
textarea{resize:vertical;min-height:120px}
button{
  cursor:pointer;padding:12px 16px;border-radius:12px;border:1px solid var(--line);
  background:rgba(255,255,255,.05);color:var(--text);font-weight:800
}
button.primary{
  background:linear-gradient(180deg,#d4a63a,#ab7f1f);
  color:#231809;border:none
}
button.danger{background:rgba(198,106,83,.16);border-color:rgba(198,106,83,.35)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid .full{grid-column:1/-1}
.label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:var(--muted)}
.hero{
  width:min(1120px,94%);
  margin:28px auto;
  display:grid;
  grid-template-columns:360px 1fr;
  gap:24px;
}
.hero .sidebar{position:static}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}
th{color:var(--gold);font-size:.92rem}
.kpi{font-size:2rem;font-weight:800;margin:8px 0}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.notice{padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:rgba(141,163,91,.12);display:none}
.notice.error{display:block;background:rgba(198,106,83,.15);border-color:rgba(198,106,83,.35)}
.notice.success{display:block}
.list-grid{display:grid;grid-template-columns:320px 1fr;gap:18px}
.list-panel,.detail-panel{
  border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.12);padding:16px
}
.item-list{display:flex;flex-direction:column;gap:10px}
.item-btn{
  width:100%;text-align:left;padding:14px;border-radius:12px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);color:var(--text)
}
.item-btn.active{background:rgba(212,166,58,.14)}
.chart{
  width:100%;height:170px;border-radius:12px;background:rgba(0,0,0,.18);display:block
}
.market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.market-card{
  border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.04)
}
.market-card img{height:180px;width:100%;object-fit:cover;background:rgba(0,0,0,.18)}
.market-card .body{padding:14px}
.auth-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.auth-tabs button.active{background:linear-gradient(180deg,#b88a2a,#8a6620);color:#231809}
.hide{display:none !important}
@media (max-width:1100px){
  .page,.hero,.list-grid{grid-template-columns:1fr}
  .sidebar{position:static}
  .grid-5,.grid-4,.grid-3,.grid-2,.form-grid,.market-grid{grid-template-columns:1fr}
}


.nav a{
  display:flex;
  align-items:center;
  gap:10px;
}
.nav-icon,
.title-icon,
.kpi-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  flex:0 0 auto;
}
.nav-icon{
  width:30px;
  height:30px;
  background:rgba(212,166,58,.14);
  border:1px solid rgba(212,166,58,.25);
  font-size:15px;
}
.title-row{
  display:flex;
  align-items:center;
  gap:12px;
}
.title-icon{
  width:42px;
  height:42px;
  background:linear-gradient(180deg, rgba(212,166,58,.22), rgba(212,166,58,.08));
  border:1px solid rgba(212,166,58,.28);
  font-size:20px;
}
.kpi-card{
  position:relative;
  overflow:hidden;
}
.kpi-card::after{
  content:"";
  position:absolute;
  inset:auto -40px -40px auto;
  width:120px;
  height:120px;
  background:radial-gradient(circle, rgba(212,166,58,.14), transparent 70%);
  pointer-events:none;
}
.kpi-head{
  display:flex;
  align-items:center;
  gap:10px;
}
.kpi-icon{
  width:36px;
  height:36px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--line);
  font-size:18px;
}
.card.soft{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}
.item-btn strong{
  font-size:.98rem;
}
.hero-glow{
  position:relative;
}
.hero-glow::before{
  content:"";
  position:absolute;
  top:-20px;
  right:-20px;
  width:140px;
  height:140px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(212,166,58,.16), transparent 70%);
  pointer-events:none;
}
.auth-tabs button{
  min-width:130px;
}
.subtle-divider{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(212,166,58,.25), transparent);
  margin:8px 0 18px;
}

.admin-subnav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 18px;
}
.admin-subnav button{
  display:flex;
  align-items:center;
  gap:8px;
}
.admin-subnav button.active{
  background:linear-gradient(180deg,#d4a63a,#ab7f1f);
  color:#231809;
  border:none;
}
.admin-subpage.hide{
  display:none !important;
}

.business-subnav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0;
}
.business-subnav button{
  display:flex;
  align-items:center;
  gap:8px;
}
.business-subnav button.active{
  background:linear-gradient(180deg,#d4a63a,#ab7f1f);
  color:#231809;
  border:none;
}
.business-panel.hide{
  display:none !important;
}
.business-quick-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:16px;
}
@media (max-width:1100px){
  .business-quick-summary{grid-template-columns:1fr}
}

.nav-group{
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  overflow:hidden;
}
.nav-group-title{
  padding:12px 14px;
  color:var(--muted);
  font-weight:800;
  display:flex;
  align-items:center;
  gap:10px;
  border-bottom:1px solid rgba(212,166,58,.14);
}
.nav-sub{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px;
}
.nav-sub a{
  padding:11px 12px;
  font-size:.94rem;
  background:rgba(255,255,255,.035);
}

.hub-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.hub-card{
  display:block;
  padding:22px;
  border-radius:18px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018));
  box-shadow:var(--shadow);
}
.hub-card:hover{
  background:rgba(212,166,58,.12);
}
.hub-card .hub-icon{
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(212,166,58,.14);
  border:1px solid rgba(212,166,58,.28);
  font-size:26px;
  margin-bottom:14px;
}
.hub-card h4{
  margin:0 0 8px;
}
@media (max-width:1100px){
  .hub-grid{grid-template-columns:1fr}
}

.report-card-btn{
  width:100%;
  text-align:left;
  border-radius:16px;
  padding:18px;
  border:1px solid rgba(212,166,58,.22);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}
.report-card-btn:hover{
  background:rgba(212,166,58,.12);
}
.report-card-btn.active{
  background:linear-gradient(180deg,#d4a63a,#ab7f1f);
  color:#231809;
  border:none;
}
.report-card-btn.active .muted{
  color:#3a2a13;
}
.report-detail-panel.hide{
  display:none !important;
}


/* Contracts page sidebar hard fix */
.app-shell{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  align-items:start;
}
.sidebar{
  width:280px;
  max-width:280px;
  grid-column:1;
}
.main{
  grid-column:2;
  min-width:0;
}
.sidebar .nav a{
  width:auto;
}
@media (max-width:900px){
  .app-shell{
    display:block;
  }
  .sidebar{
    width:auto;
    max-width:none;
  }
}


/* === UGA Farming Association Rebrand === */
:root{
  --bg:#0d0d0f;
  --panel:#171719;
  --panel-2:#202024;
  --soft:#242428;
  --line:rgba(192,192,192,.22);
  --text:#f2f2f2;
  --muted:#b9b9b9;
  --primary:#c40000;
  --primary-2:#8f0000;
  --accent:#c0c0c0;
  --accent-2:#ffffff;
  --danger:#d91f1f;
  --success:#27a35c;
  --shadow:0 18px 45px rgba(0,0,0,.45);
}
body{
  background:radial-gradient(circle at top left, rgba(196,0,0,.20), transparent 30%), radial-gradient(circle at top right, rgba(192,192,192,.12), transparent 28%), linear-gradient(135deg,#070707,#161616 48%,#0b0b0c);
  color:var(--text);
}
.sidebar{
  background:linear-gradient(180deg,#0b0b0c,#161616);
  border-right:1px solid rgba(192,192,192,.18);
}
.brand img{
  border:2px solid rgba(196,0,0,.55);
  background:#101010;
  object-fit:contain;
  box-shadow:0 10px 30px rgba(196,0,0,.22);
}
.brand h1,.topbar h2,.card h3,.card h4{color:#f4f4f4}
.brand p,.muted{color:var(--muted)}
.nav a{
  border:1px solid rgba(192,192,192,.16);
  background:rgba(255,255,255,.035);
  color:#eeeeee;
}
.nav a:hover{
  background:rgba(196,0,0,.18);
  border-color:rgba(196,0,0,.45);
}
.nav a.active{
  background:linear-gradient(135deg,#c40000,#7a0000);
  color:#ffffff;
  border-color:rgba(255,255,255,.22);
  box-shadow:0 12px 28px rgba(196,0,0,.22);
}
.nav-icon,.title-icon{
  background:rgba(196,0,0,.18);
  border-color:rgba(192,192,192,.28);
}
.topbar,.card,.card.soft,.market-card{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  border:1px solid rgba(192,192,192,.18);
  box-shadow:var(--shadow);
}
button,.primary{
  background:linear-gradient(135deg,#c40000,#7d0000);
  color:#ffffff;
  border:1px solid rgba(255,255,255,.18);
}
button:hover,.primary:hover{background:linear-gradient(135deg,#e00000,#9b0000)}
button.danger,.danger{background:linear-gradient(135deg,#d91f1f,#860000)}
input,select,textarea{
  background:#101012;
  border:1px solid rgba(192,192,192,.22);
  color:#f2f2f2;
}
input:focus,select:focus,textarea:focus{
  outline:2px solid rgba(196,0,0,.45);
  border-color:rgba(196,0,0,.65);
}
.badge{
  background:rgba(196,0,0,.18);
  border:1px solid rgba(196,0,0,.45);
  color:#ffffff;
}
.price,.kpi{color:#ffffff}
.table-wrap{border:1px solid rgba(192,192,192,.18)}
thead{background:rgba(196,0,0,.16)}
tbody tr:hover{background:rgba(196,0,0,.08)}
.notice{border-left:4px solid #c40000}
.auth-card,.login-card{
  background:linear-gradient(180deg,rgba(20,20,22,.96),rgba(10,10,12,.96));
  border:1px solid rgba(192,192,192,.22);
}


/* Force remove remaining gold theme */
button,
.primary,
.btn-primary,
.sidebar .active,
.nav a.active{
  background: linear-gradient(135deg,#c40000,#7d0000) !important;
  color:#fff !important;
}

.gold,
.text-gold,
.warning,
.accent-gold{
  color:#c0c0c0 !important;
}

h1,h2,h3,h4,h5,h6{
  color:#ffffff !important;
  text-shadow:0 0 8px rgba(196,0,0,.35);
}

.kpi,.balance,.networth,.stat-value,.price{
  color:#c0c0c0 !important;
}

.card,.panel,.soft{
  border-color:rgba(192,192,192,.18) !important;
}

*[style*="gold"],
*[style*="#d4a017"],
*[style*="#c89b3c"]{
  color:#c0c0c0 !important;
}


/* === Final UGA cleanup: remove gold leftovers and normalize layouts === */
th,
thead th,
.table-wrap th{
  color:#ffffff !important;
  background:rgba(118,0,0,.55) !important;
}

thead{
  background:rgba(118,0,0,.55) !important;
}

table thead tr{
  background:rgba(118,0,0,.55) !important;
}

.report-card-btn,
[data-report-detail]{
  background:rgba(255,255,255,.035) !important;
  color:#ffffff !important;
  border:1px solid rgba(196,0,0,.55) !important;
  box-shadow:none !important;
}

.report-card-btn:hover,
[data-report-detail]:hover{
  background:rgba(196,0,0,.18) !important;
}

.report-card-btn.active,
[data-report-detail].active{
  background:linear-gradient(135deg,#c40000,#7d0000) !important;
  color:#ffffff !important;
}

.report-card-btn .muted,
[data-report-detail] .muted{
  color:#cfcfcf !important;
}

.quick-contact,
.contact-card,
.email-contact,
.folder-btn{
  background:rgba(255,255,255,.035) !important;
  border:1px solid rgba(192,192,192,.18) !important;
  color:#ffffff !important;
}

.folder-btn.active,
.email-folder.active{
  background:linear-gradient(135deg,#c40000,#7d0000) !important;
}

.marketplace-two-col{
  display:grid;
  grid-template-columns:minmax(260px, .75fr) minmax(360px, 1.75fr);
  gap:18px;
  align-items:start;
}

.empty-card{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(192,192,192,.18);
  border-radius:14px;
  padding:16px;
}

.market-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:18px;
}

.market-card{
  overflow:hidden;
}

.market-card img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
}

.market-card-body{
  padding:16px;
}

@media(max-width:1050px){
  .marketplace-two-col{
    grid-template-columns:1fr;
  }
}


/* === Contracts final layout normalization === */
.marketplace-grid{
  display:grid;
  grid-template-columns:minmax(280px,.75fr) minmax(420px,1.75fr);
  gap:18px;
  align-items:start;
}

.marketplace-page{
  max-width:100%;
}

.empty-card{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(192,192,192,.18);
  border-radius:14px;
  padding:16px;
}

.mini-list{
  display:grid;
  gap:12px;
}

.market-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:18px;
}

.market-card{
  overflow:hidden;
}

.market-card img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
}

.market-card-body{
  padding:16px;
}

@media(max-width:1050px){
  .marketplace-grid{
    grid-template-columns:1fr;
  }
}
