:root{
  --ps-orange:#f97316;
  --ps-orange-dark:#c2410c;
  --ps-orange-deep:#9a3412;
  --ps-orange-light:#ffedd5;
  --ps-amber:#f59e0b;
  --ps-cream:#fffaf5;
  --ps-ink:#2f241f;
  --ps-muted:#76665d;
  --ps-border:#f0d7c6;
  --ps-card:#ffffff;
}

body{
  background:
    radial-gradient(circle at 90% 0%, rgba(249,115,22,.10), transparent 28rem),
    linear-gradient(180deg,#fffaf5 0,#f8f7f5 32rem,#f5f5f4 100%);
  color:var(--ps-ink);
  min-height:100vh;
}

a{color:var(--ps-orange-dark)}
a:hover{color:var(--ps-orange-deep)}

.app-navbar{
  background:linear-gradient(115deg,var(--ps-orange-deep),var(--ps-orange) 58%,var(--ps-amber));
  box-shadow:0 8px 28px rgba(154,52,18,.18);
  border-bottom:1px solid rgba(255,255,255,.2);
}
.app-navbar .container{gap:1rem}
.navbar-brand{
  font-weight:800;
  letter-spacing:.2px;
  color:#fff!important;
  display:flex;
  align-items:center;
  gap:.55rem;
  white-space:nowrap;
}
.navbar-brand::before{
  content:"";
  width:1.9rem;
  height:1.9rem;
  border-radius:.65rem;
  background:rgba(255,255,255,.92);
  box-shadow:inset 0 0 0 5px rgba(249,115,22,.18),0 4px 12px rgba(0,0,0,.1);
}
.app-nav{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  gap:.15rem;
}
.app-navbar .nav-link{
  color:rgba(255,255,255,.88)!important;
  border-radius:.65rem;
  padding:.5rem .65rem!important;
  font-size:.92rem;
  font-weight:600;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}
.app-navbar .nav-link:hover,
.app-navbar .nav-link:focus{
  color:#fff!important;
  background:rgba(255,255,255,.16);
}
.app-navbar .nav-link.logout-link{background:rgba(80,30,8,.18)}

main.container{max-width:1180px}

.page-title,
h1,h2,h3{font-weight:800;letter-spacing:-.02em}
h4,h5,h6{font-weight:700}
.text-muted{color:var(--ps-muted)!important}

.card{
  border:1px solid rgba(240,215,198,.85);
  border-radius:1.05rem;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 30px rgba(87,53,34,.07)!important;
  overflow:hidden;
}
.card-body{padding:1.25rem}
.card-footer{background:#fffaf7;border-top:1px solid var(--ps-border)}

.metric-card{position:relative;isolation:isolate}
.metric-card::after{
  content:"";
  position:absolute;
  width:7rem;
  height:7rem;
  border-radius:50%;
  right:-2.5rem;
  top:-3rem;
  background:rgba(249,115,22,.11);
  z-index:-1;
}
.metric-card .metric-label{
  color:var(--ps-muted);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.75rem;
  font-weight:800;
}
.metric-card .display-5,.metric-card .display-6{color:var(--ps-orange-deep)}
.display-5,.display-6{font-weight:800;letter-spacing:-.04em}

.stock-card{border-top:4px solid var(--ps-orange)}
.stock-card.secondary-stock{border-top-color:var(--ps-amber)}
.stock-card .stock-value{color:var(--ps-orange-deep)}
.stock-meta{font-size:.9rem;color:var(--ps-muted)}

.badge-stock{
  background:var(--ps-orange-light);
  color:var(--ps-orange-deep);
  border:1px solid #fed7aa;
  padding:.45rem .7rem;
  border-radius:999px;
  font-weight:700;
}

.btn{
  border-radius:.7rem;
  font-weight:700;
  padding:.55rem .9rem;
  box-shadow:none!important;
}
.btn-primary,.btn-success{
  --bs-btn-bg:var(--ps-orange);
  --bs-btn-border-color:var(--ps-orange);
  --bs-btn-hover-bg:var(--ps-orange-dark);
  --bs-btn-hover-border-color:var(--ps-orange-dark);
  --bs-btn-active-bg:var(--ps-orange-deep);
  --bs-btn-active-border-color:var(--ps-orange-deep);
}
.btn-outline-primary{
  --bs-btn-color:var(--ps-orange-dark);
  --bs-btn-border-color:#fdba74;
  --bs-btn-hover-bg:var(--ps-orange);
  --bs-btn-hover-border-color:var(--ps-orange);
  --bs-btn-hover-color:#fff;
}
.btn-danger{
  --bs-btn-bg:#b45309;
  --bs-btn-border-color:#b45309;
  --bs-btn-hover-bg:#92400e;
  --bs-btn-hover-border-color:#92400e;
}
.btn-outline-secondary{
  --bs-btn-color:#6b5a50;
  --bs-btn-border-color:#d6c3b7;
  --bs-btn-hover-bg:#6b5a50;
  --bs-btn-hover-border-color:#6b5a50;
}

.form-control,.form-select{
  border-radius:.7rem;
  border-color:#decbbf;
  min-height:2.65rem;
  background-color:#fffdfb;
}
.form-control:focus,.form-select:focus{
  border-color:#fb923c;
  box-shadow:0 0 0 .22rem rgba(249,115,22,.13);
}
.form-label{font-weight:700;color:#5f4b40}

.table{--bs-table-bg:transparent;vertical-align:middle;margin-bottom:0}
.table thead th{
  color:#6f584b;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.045em;
  border-bottom:2px solid #f2d8c6;
  background:#fff8f2;
}
.table td{border-color:#f3e5dc}
.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:#fffaf6;color:inherit}
.table tbody tr:hover{background:#fff5ec}

.alert{border:0;border-radius:.8rem;font-weight:600}
.alert-warning{background:#fff1d6;color:#8a4b08}
.alert-danger{background:#fee9e5;color:#9f2d20}
.alert-success{background:#ecf8ee;color:#2f6b39}
.alert-info{background:#fff2e8;color:#8c4618}

.section-heading{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem}
.section-heading::before{content:"";width:.35rem;height:1.7rem;border-radius:999px;background:linear-gradient(var(--ps-orange),var(--ps-amber))}

.hero-panel{
  position:relative;
  overflow:hidden;
  background:linear-gradient(115deg,#7c2d12 0%,#c2410c 40%,#f97316 100%);
  color:#fff;
  border:0;
}
.hero-panel::after{
  content:"";
  position:absolute;
  right:-4rem;
  top:-5rem;
  width:15rem;
  height:15rem;
  border-radius:50%;
  background:rgba(255,255,255,.09);
}
.hero-panel .text-muted,.hero-panel small{color:rgba(255,255,255,.78)!important}

@media(max-width:991.98px){
  .app-navbar .container{align-items:flex-start;flex-direction:column}
  .app-nav{width:100%}
  .app-navbar .nav-link{padding:.42rem .55rem!important;font-size:.86rem}
}
@media(max-width:575.98px){
  .card-body{padding:1rem}
  .display-5{font-size:2.2rem}
  .display-6{font-size:1.9rem}
  .app-nav{gap:.1rem}
}

/* Navigation V2.3 */
.app-navbar .navbar-toggler{
  border-color:rgba(255,255,255,.35);
  border-radius:.7rem;
  padding:.4rem .55rem;
}
.app-navbar .navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.16)}
.app-navbar .dropdown-menu{
  border:1px solid rgba(240,215,198,.95);
  border-radius:.85rem;
  box-shadow:0 14px 32px rgba(87,53,34,.14);
  padding:.45rem;
  min-width:13.5rem;
}
.app-navbar .dropdown-item{
  border-radius:.6rem;
  padding:.55rem .7rem;
  color:var(--ps-ink);
  font-weight:600;
}
.app-navbar .dropdown-item:hover,
.app-navbar .dropdown-item:focus{
  background:var(--ps-orange-light);
  color:var(--ps-orange-deep);
}
.app-navbar .dropdown-divider{border-color:#f2dfd3}
@media(max-width:991.98px){
  .app-navbar .container{align-items:center;flex-direction:row}
  .app-navbar .navbar-collapse{width:100%;padding-top:.75rem}
  .app-navbar .navbar-nav{align-items:stretch!important}
  .app-navbar .nav-link{padding:.6rem .7rem!important}
  .app-navbar .dropdown-menu{
    box-shadow:none;
    border:0;
    background:rgba(255,255,255,.98);
    margin:.15rem 0 .45rem;
  }
}

/* PelletStock V2.5 branding */
.navbar-brand-logo { width: 25.2px; height: 25.2px; object-fit: cover; border-radius: 10px; margin-right: .55rem; box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.login-brand-logo { display:block; width:min(70%, 252px); height:auto; margin:0 auto 1.25rem; border-radius:18px; }
