:root{--ink:#102b25;--green:#176b52;--green-2:#2f9d74;--mint:#e8f8f0;--cream:#fffaf0;--gold:#e5a838;--muted:#6c7d77;--line:#deebe5;--shadow:0 18px 55px rgba(15,63,50,.12)}
*{box-sizing:border-box}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#f7fbf9}.text-muted{color:var(--muted)!important}a{text-decoration:none}.navbar{transition:.25s}.navbar-brand{font-weight:800;letter-spacing:-.03em;color:var(--ink)!important}.brand-mark{display:inline-grid;place-items:center;width:39px;height:39px;border-radius:13px;background:linear-gradient(145deg,var(--green),var(--green-2));color:#fff;box-shadow:0 8px 22px rgba(23,107,82,.25)}.nav-link{font-weight:600;color:#466058!important}.nav-link:hover,.nav-link.active{color:var(--green)!important}.btn{border-radius:12px;font-weight:700;padding:.7rem 1.15rem}.btn-primary{background:var(--green);border-color:var(--green)}.btn-primary:hover{background:#0f573f;border-color:#0f573f;transform:translateY(-1px)}.btn-soft{background:var(--mint);color:var(--green);border:1px solid #ccebdc}.btn-soft:hover{background:#d8f2e6;color:#105c44}.hero{position:relative;overflow:hidden;padding:7.5rem 0 5rem;background:radial-gradient(circle at 80% 10%,#d8f5e6 0,transparent 32%),linear-gradient(140deg,#fbfffd,#f2fbf7 58%,#fff9ed)}.hero:after{content:"";position:absolute;width:450px;height:450px;border:80px solid rgba(47,157,116,.08);border-radius:50%;right:-180px;bottom:-250px}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.display-title{font-size:clamp(2.8rem,6vw,5.5rem);line-height:.95;letter-spacing:-.065em;font-weight:850;max-width:850px}.display-title .accent{color:var(--green)}.hero-copy{font-size:1.15rem;line-height:1.75;max-width:650px;color:#526a62}.hero-panel{position:relative;background:rgba(255,255,255,.85);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);border-radius:30px;padding:1.4rem}.flow-line{position:absolute;left:24px;top:34px;bottom:34px;width:2px;background:linear-gradient(var(--green-2),#dcebe5)}.flow-item{position:relative;display:flex;gap:1rem;padding:1rem .75rem}.flow-dot{flex:0 0 34px;height:34px;display:grid;place-items:center;border-radius:11px;color:#fff;background:var(--green);z-index:1}.flow-item:nth-child(even) .flow-dot{background:var(--gold)}.stat-strip{margin-top:-2rem;position:relative;z-index:2}.stat-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.25rem;box-shadow:0 12px 35px rgba(24,75,61,.08)}.stat-value{font-size:1.65rem;font-weight:850;color:var(--green);letter-spacing:-.04em}.section-pad{padding:5.5rem 0}.section-title{font-size:clamp(2rem,4vw,3.25rem);font-weight:850;letter-spacing:-.05em}.type-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.5rem;transition:.25s;position:relative;overflow:hidden}.type-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--green-2);opacity:0;transition:.25s}.type-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.type-card:hover:before{opacity:1}.icon-box{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--mint);color:var(--green);font-size:1.4rem}.code-pill{font-size:.72rem;background:#eff6f3;color:#49645b;border-radius:30px;padding:.35rem .6rem;font-weight:800;letter-spacing:.08em}.step-card{padding:1.6rem;border-left:1px dashed #b9d9cc;position:relative}.step-number{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;position:absolute;left:-19px;top:24px}.cta-panel{border-radius:32px;padding:clamp(2rem,6vw,5rem);background:linear-gradient(130deg,#102f27,#176b52);color:#fff;position:relative;overflow:hidden}.cta-panel:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.06);right:-80px;top:-130px}.auth-shell{min-height:100vh;background:radial-gradient(circle at 15% 20%,#d8f5e6,transparent 32%),#f7fbf9}.auth-card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:clamp(1.5rem,4vw,3rem)}.form-control,.form-select{min-height:48px;border-radius:11px;border-color:#d9e5df;padding:.7rem .9rem}.form-control:focus,.form-select:focus{border-color:#63b793;box-shadow:0 0 0 .22rem rgba(47,157,116,.12)}.form-label{font-size:.84rem;font-weight:750;color:#365149}.form-hint{font-size:.76rem;color:var(--muted)}.preview-box{border:1px dashed #bdd7cb;background:#f8fcfa;border-radius:14px;padding:1rem;text-align:center}.preview-box img{max-width:150px;max-height:120px;border-radius:10px}.dashboard-shell{min-height:100vh;background:#f4f8f6}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:#102b25;color:#d8e7e1;padding:1.5rem;z-index:1040;overflow-y:auto}.sidebar .brand{color:#fff;font-size:1.12rem;font-weight:850}.side-link{display:flex;align-items:center;gap:.8rem;color:#bcd0c8;padding:.78rem .9rem;border-radius:12px;margin:.18rem 0;font-weight:650}.side-link:hover,.side-link.active{color:#fff;background:rgba(255,255,255,.1)}.side-link i{font-size:1.15rem}.main-panel{margin-left:260px;min-height:100vh}.topbar{height:76px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 2rem;position:sticky;top:0;z-index:1020}.content-wrap{padding:2rem}.metric-card,.panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 30px rgba(15,63,50,.055)}.metric-card{padding:1.3rem}.metric-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:1.35rem}.metric-value{font-size:1.6rem;font-weight:850;letter-spacing:-.04em}.panel-head{padding:1.25rem 1.35rem;border-bottom:1px solid var(--line)}.panel-body{padding:1.35rem}.table{--bs-table-bg:transparent}.table th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#769087;border-bottom-color:var(--line);padding:.9rem}.table td{padding:.95rem .9rem;border-bottom-color:#edf3f0;vertical-align:middle}.badge{padding:.5em .72em;border-radius:20px}.status-pending,.status-submitted,.status-requested{background:#fff3cd;color:#7b5b00}.status-approved,.status-received,.status-delivered,.status-completed,.status-paid{background:#dff7ea;color:#176b52}.status-rejected,.status-cancelled{background:#fee7e7;color:#a13232}.status-changes_requested,.status-part_paid,.status-matched,.status-in_transit{background:#e8efff;color:#3456a4}.empty-state{text-align:center;padding:3rem;color:var(--muted)}.empty-state i{font-size:2.8rem;color:#a7c9bb}.kyc-banner{border-radius:20px;padding:1.4rem;background:linear-gradient(120deg,#fff9e9,#fff);border:1px solid #f4ddb1}.certificate{background:#fff;border:12px solid #183f34;outline:2px solid #d6a63d;outline-offset:-20px;padding:65px;min-height:700px;text-align:center;position:relative}.certificate:before{content:"";position:absolute;inset:28px;border:1px solid #d6a63d;pointer-events:none}.certificate-code{font-family:ui-monospace,monospace;font-size:1.35rem;letter-spacing:.12em;color:var(--green);font-weight:800}.animate-up{opacity:0;transform:translateY(22px);transition:.65s ease}.animate-up.visible{opacity:1;transform:none}.manual-nav{position:sticky;top:100px}.manual-nav a{display:block;padding:.55rem .8rem;color:#557068;border-left:2px solid #dce9e4}.manual-nav a:hover{color:var(--green);border-color:var(--green)}
@media(max-width:991.98px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main-panel{margin-left:0}.content-wrap{padding:1rem}.topbar{padding:0 1rem}.display-title{font-size:3.3rem}.hero{padding-top:5rem}.manual-nav{position:static}}
@media print{.no-print,.sidebar,.topbar{display:none!important}.main-panel{margin:0}.content-wrap{padding:0}.certificate{box-shadow:none}.dashboard-shell{background:#fff}}
.notification-bell{width:43px;height:43px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-size:1.25rem;position:relative;transition:.2s}.notification-bell:hover{background:var(--mint);color:var(--green);transform:translateY(-1px)}.notification-count{position:absolute;right:-6px;top:-6px;min-width:21px;height:21px;padding:0 5px;border-radius:20px;background:#dc3545;color:#fff;font-size:.68rem;font-weight:800;display:grid;place-items:center;border:2px solid #fff}.notification-menu{width:min(420px,calc(100vw - 24px));border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(10,44,35,.2)}.notification-menu-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.15rem;border-bottom:1px solid var(--line)}#notificationFeed{max-height:420px;overflow-y:auto}.notification-menu-footer{display:flex;justify-content:center;align-items:center;gap:.4rem;padding:.85rem;background:#f7fbf9;border-top:1px solid var(--line);font-weight:750;color:var(--green)}.notification-mini,.notification-row{display:flex;align-items:flex-start;gap:.8rem;color:var(--ink);border-bottom:1px solid #edf3f0;transition:.2s}.notification-mini{padding:.9rem 1rem}.notification-row{padding:1.1rem}.notification-mini:hover,.notification-row:hover{background:#f5fbf8}.notification-mini.is-unread,.notification-row.is-unread{background:#effaf5}.notification-mini.is-unread strong:after,.notification-row.is-unread strong:after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green-2);margin-left:7px}.notification-icon{flex:0 0 39px;height:39px;display:grid;place-items:center;border-radius:13px;background:#edf3ff;color:#3456a4;font-size:1.1rem}.notification-icon.level-success{background:#dff7ea;color:#176b52}.notification-icon.level-warning{background:#fff3cd;color:#7b5b00}.notification-icon.level-danger{background:#fee7e7;color:#a13232}.notification-mini strong,.notification-mini span{font-size:.85rem}.notification-mini small{color:#789087;font-size:.7rem}.complaint-low{background:#edf2f7;color:#536275}.complaint-normal{background:#e8efff;color:#3456a4}.complaint-high{background:#fff3cd;color:#7b5b00}.complaint-urgent{background:#fee7e7;color:#a13232}.status-open,.status-acknowledged,.status-investigating,.status-processing,.status-queued,.status-sent{background:#e8efff;color:#3456a4}.status-resolved,.status-closed,.status-delivered{background:#dff7ea;color:#176b52}.status-failed{background:#fee7e7;color:#a13232}
