
:root{
  --ficco-blue:#102a9e;
  --ficco-blue-2:#0535b7;
  --ficco-navy:#051d74;
  --ficco-yellow:#ffd000;
  --ficco-red:#e5282f;
  --ficco-green:#2fa84f;
  --ficco-soft:#f6f8ff;
  --ficco-dark:#12182f;
  --ficco-muted:#667085;
  --radius-xl:1.2rem;
  --shadow-soft:0 1rem 2.5rem rgba(16,42,158,.12);
  --shadow-card:0 .65rem 1.6rem rgba(17,24,39,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ficco-dark);background:#f7faff;overflow-x:hidden}
a{text-decoration:none}
.text-ficco{color:var(--ficco-blue)!important}.text-green{color:var(--ficco-green)!important}.text-yellow{color:var(--ficco-yellow)!important}
.btn-ficco{--bs-btn-color:#fff;--bs-btn-bg:var(--ficco-blue);--bs-btn-border-color:var(--ficco-blue);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#071e87;--bs-btn-hover-border-color:#071e87;font-weight:800;border-radius:.7rem;padding:.78rem 1.2rem;box-shadow:0 .85rem 1.4rem rgba(16,42,158,.22)}
.btn-yellow{--bs-btn-color:var(--ficco-navy);--bs-btn-bg:var(--ficco-yellow);--bs-btn-border-color:var(--ficco-yellow);--bs-btn-hover-color:var(--ficco-navy);--bs-btn-hover-bg:#f0c400;--bs-btn-hover-border-color:#f0c400;font-weight:800;border-radius:.7rem;padding:.78rem 1.2rem;box-shadow:0 .65rem 1.15rem rgba(255,208,0,.25)}
.btn-outline-ficco{--bs-btn-color:var(--ficco-blue);--bs-btn-bg:#fff;--bs-btn-border-color:var(--ficco-blue);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--ficco-blue);--bs-btn-hover-border-color:var(--ficco-blue);font-weight:800;border-radius:.7rem;padding:.78rem 1.2rem}
.app-header{min-height:90px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(16,42,158,.08);box-shadow:0 .75rem 1.8rem rgba(5,29,116,.06);z-index:1030}
.header-brand-img{width:min(680px,72vw);max-height:86px;object-fit:contain;object-position:left center}
.navbar-nav .nav-link{color:#111429;font-weight:700;padding-inline:1rem!important;position:relative}
.navbar-nav .nav-link.active,.navbar-nav .nav-link:hover{color:var(--ficco-blue)}
.navbar-nav .nav-link.active::after{content:"";position:absolute;left:1rem;right:1rem;bottom:.1rem;height:3px;border-radius:99px;background:var(--ficco-yellow)}
.hero{position:relative;min-height:620px;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 32%,rgba(255,255,255,.78) 46%,rgba(255,255,255,.36) 58%,rgba(255,255,255,.08) 74%,rgba(255,255,255,0) 100%),url('../img/hero-clean-bg.png') center right/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 34% 24%,rgba(255,208,0,.18),transparent 28%),radial-gradient(circle at 80% 80%,rgba(47,168,79,.14),transparent 26%);z-index:-1}
.hero-content{padding-top:5rem;padding-bottom:8rem;max-width:640px;position:relative;z-index:2}
.red-line{width:108px;height:4px;background:var(--ficco-red);border-radius:99px;margin-bottom:1.25rem}
.hero h1{font-size:clamp(2.45rem,5.3vw,4.85rem);line-height:.99;color:var(--ficco-blue);font-weight:800;letter-spacing:-.045em;margin-bottom:1.2rem}
.hero h1 span{color:var(--ficco-green)}.hero h1 .dot{color:var(--ficco-red)}
.hero p{color:#172035;font-size:1.08rem;line-height:1.68;margin-bottom:1.75rem;max-width:590px;font-weight:500}
.hero-badge{display:inline-flex;gap:.45rem;align-items:center;border-radius:99px;background:#fff;border:1px solid rgba(16,42,158,.12);box-shadow:var(--shadow-card);padding:.55rem .85rem;font-weight:800;color:var(--ficco-blue);margin-bottom:1rem}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;height:96px;z-index:1;pointer-events:none}.hero-wave svg{display:block;width:100%;height:100%}
.section-title{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--ficco-blue);font-size:clamp(1.55rem,3vw,2.05rem);font-weight:800;letter-spacing:.02em;margin-bottom:1.2rem}.section-title::before,.section-title::after{content:"";display:inline-block;width:42px;height:3px;border-radius:99px;background:var(--ficco-yellow)}
.feature-card,.auth-card,.dashboard-card,.table-card{background:#fff;border:1px solid rgba(16,42,158,.10);border-radius:1rem;box-shadow:var(--shadow-card)}
.feature-card{height:100%;padding:1.25rem;transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{transform:translateY(-5px);box-shadow:0 1.3rem 2.2rem rgba(16,42,158,.15)}
.feature-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fff,#f7faff);color:var(--ficco-blue);font-size:1.8rem;border:1px solid rgba(16,42,158,.12);box-shadow:0 .7rem 1.5rem rgba(16,42,158,.10);margin-bottom:.9rem}
.auth-icon{width:46px;height:46px;font-size:1.35rem}
.auth-section{padding:3rem 0;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(247,250,255,.96)),url('../img/hero-clean-bg.png') center right/cover no-repeat}
.auth-card{padding:1.25rem}
.admin-note{padding:1rem;background:#f8faff;border:1px dashed rgba(16,42,158,.2);border-radius:.85rem}
.form-label{font-weight:700;color:#25304b}.required{color:var(--ficco-red)}.form-control,.form-select{border-radius:.7rem;border-color:#d9e0f2;padding:.72rem .85rem}.form-control:focus,.form-select:focus{border-color:var(--ficco-blue);box-shadow:0 0 0 .2rem rgba(16,42,158,.12)}
.hidden{display:none!important}
.app-shell{min-height:calc(100vh - 90px);background:linear-gradient(180deg,rgba(246,248,255,.96),rgba(255,255,255,.90)),url('../img/hero-clean-bg.png') center right/cover fixed no-repeat}
.app-shell .container{position:relative;z-index:1}
.sidebar{position:sticky;top:105px;background:#fff;border:1px solid rgba(16,42,158,.10);border-radius:1rem;box-shadow:var(--shadow-card);padding:.8rem}
.side-link{width:100%;border:0;background:transparent;color:#273142;font-weight:800;border-radius:.8rem;padding:.8rem .95rem;text-align:left;display:flex;align-items:center;gap:.65rem}
.side-link:hover,.side-link.active{background:var(--ficco-blue);color:#fff}
.dashboard-card{padding:1.1rem}.kpi-card{border-radius:1rem;border:1px solid rgba(16,42,158,.10);background:#fff;box-shadow:var(--shadow-card);padding:1rem;height:100%}.kpi-card .icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--ficco-soft);color:var(--ficco-blue);font-size:1.35rem}.kpi-card .value{font-size:1.8rem;font-weight:800;color:var(--ficco-blue);line-height:1}.kpi-card .label{color:var(--ficco-muted);font-weight:700;font-size:.85rem}.status-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:99px;padding:.25rem .65rem;font-size:.75rem;font-weight:800;background:#eef3ff;color:var(--ficco-blue)}.status-active{background:#eaf8ee;color:#197a37}.status-warning{background:#fff6d6;color:#9b6f00}.status-muted{background:#f1f3f5;color:#667085}.status-danger{background:#ffecec;color:#bd1d2a}
.table-card{overflow:hidden}.table-card .table-toolbar{padding:1rem;border-bottom:1px solid rgba(16,42,158,.10);background:linear-gradient(180deg,#fff,#fbfcff)}.table{margin:0}.table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#475467;background:#f8faff}.table td{vertical-align:middle}.action-btn{border:0;border-radius:.55rem;padding:.45rem .55rem;font-weight:800}.action-edit{background:#eef3ff;color:var(--ficco-blue)}.action-delete{background:#ffecec;color:var(--ficco-red)}.action-green{background:#eaf8ee;color:#197a37}.empty-state{padding:2.2rem 1rem;text-align:center;color:var(--ficco-muted)}
.toast-wrap{position:fixed;right:1rem;bottom:1rem;z-index:2000;max-width:360px}.toast-message{border:0;border-radius:.8rem;padding:.9rem 1rem;background:#111827;color:#fff;box-shadow:0 1rem 2rem rgba(0,0,0,.25);margin-top:.6rem}.toast-message.success{background:#157347}.toast-message.error{background:#bd1d2a}.toast-message.warning{background:#9b6f00}
footer{background:linear-gradient(135deg,#062a9d,#031f74 62%,#06185e);color:#fff;padding:1.4rem 0}.footer-brand{width:min(520px,90vw);height:auto;filter:drop-shadow(0 .4rem .8rem rgba(0,0,0,.14));background:#fff;border-radius:.6rem;padding:.2rem}.copyright{margin-top:.9rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.82);font-size:.82rem;text-align:center}
@media(max-width:1199.98px){.hero{background-position:68% center}.header-brand-img{width:min(560px,70vw)}}
@media(max-width:991.98px){.app-header{min-height:76px}.header-brand-img{width:min(420px,72vw);max-height:64px}.navbar-nav .nav-link.active::after{display:none}.hero{min-height:auto;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.84)),url('../img/hero-clean-bg.png') center/cover no-repeat}.hero-content{padding:3.5rem 0 6.5rem}.sidebar{position:static}.side-link{justify-content:center}.side-link span{display:none}}
@media(max-width:575.98px){.header-brand-img{width:min(320px,68vw)}.hero h1{letter-spacing:-.03em}.hero p{font-size:.98rem}.hero .d-flex{width:100%}.hero .btn{width:100%}.section-title{gap:.6rem}.section-title::before,.section-title::after{width:28px}.table-responsive{font-size:.86rem}}

/* Hybrid module enhancements */
.btn-group-sm .btn{font-weight:700;border-radius:.45rem!important;margin-right:.25rem}
.table .btn-ficco{padding:.45rem .75rem;border-radius:.55rem;box-shadow:none}
.form-check-input:checked{background-color:var(--ficco-blue);border-color:var(--ficco-blue)}
.dash-section{animation:ficcoFade .16s ease-in-out}
@keyframes ficcoFade{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.side-link i{min-width:1.2rem;text-align:center}
.table td .small{line-height:1.25}
.admin-note strong{color:var(--ficco-blue)}

/* Enhanced ecommerce, rider, inventory, and accounting modules */
.ecommerce-cart-card{border-left:5px solid var(--ficco-yellow, #ffd000);}
.admin-supplier-select,.admin-rider-select{min-width:220px;}
.cart-qty{max-width:105px;}
.table td{vertical-align:middle;}
.text-yellow{color:#ffd000!important;}
.text-yellow:hover{color:#fff!important;}
