:root{
  --bg:#050806; --panel:#0b1110; --panel2:#111918; --border:rgba(142,255,61,.14);
  --text:#edf7ee; --muted:#92a19a; --green:#8ce03f; --green2:#4caf50; --lime:#c5ff68;
  --danger:#ff6b6b; --warning:#ffd166; --blue:#60a5fa; --shadow:0 20px 55px rgba(0,0,0,.45);
}
*{box-sizing:border-box} body{margin:0;background:radial-gradient(circle at top left,rgba(140,224,63,.14),transparent 28%),linear-gradient(135deg,#030504,#07100d 55%,#050806);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}
.app{display:flex;min-height:100vh}.sidebar{width:282px;background:linear-gradient(180deg,rgba(10,18,15,.96),rgba(3,5,4,.98));border-right:1px solid var(--border);position:sticky;top:0;height:100vh;padding:18px 14px;transition:.28s;z-index:20;box-shadow:var(--shadow)}.sidebar.collapsed{width:86px}.brand{display:flex;align-items:center;gap:12px;padding:7px 8px 18px}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--green),#2c5d24);display:grid;place-items:center;color:#061006;box-shadow:0 0 30px rgba(140,224,63,.35)}.brand h2{margin:0;font-size:20px}.brand span{font-size:11px;color:var(--muted)}.sidebar.collapsed .hide-collapsed{display:none}.toggle{margin-left:auto;background:#0f1815;border:1px solid var(--border);color:var(--green);border-radius:11px;width:34px;height:34px;cursor:pointer}.menu-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#698077;margin:18px 12px 7px}.nav{display:flex;flex-direction:column;gap:5px}.nav-link,.nav-parent{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#cddbd3;width:100%;padding:12px;border-radius:14px;cursor:pointer;transition:.2s}.nav-link svg,.nav-parent svg{width:18px;height:18px;color:#9ddf6b}.nav-link:hover,.nav-parent:hover,.nav-link.active{background:linear-gradient(90deg,rgba(140,224,63,.2),rgba(140,224,63,.06));color:white}.submenu{padding-left:35px;display:none}.submenu.open{display:block}.submenu a{display:block;color:#98aaa0;padding:8px 8px;border-radius:10px;font-size:13px}.submenu a:hover{background:#0f1916;color:#fff}.sidebar-card{position:absolute;left:14px;right:14px;bottom:18px;background:linear-gradient(135deg,rgba(140,224,63,.15),rgba(25,35,31,.92));border:1px solid var(--border);border-radius:18px;padding:16px}.sidebar.collapsed .sidebar-card{display:none}.main{flex:1;min-width:0}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(16px);position:sticky;top:0;background:rgba(5,8,6,.72);z-index:10}.topbar h1{font-size:22px;margin:0}.topbar small{color:var(--muted)}.top-actions{display:flex;align-items:center;gap:12px}.pill{border:1px solid var(--border);background:#0c1311;border-radius:12px;padding:10px 12px;color:#cfe0d5}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#1a2521;border:1px solid var(--border)}.content{padding:24px 28px 60px}.grid{display:grid;gap:16px}.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{background:linear-gradient(180deg,rgba(18,27,25,.94),rgba(8,13,12,.95));border:1px solid rgba(151,255,79,.13);border-radius:18px;padding:18px;box-shadow:0 14px 35px rgba(0,0,0,.25)}.metric{position:relative;overflow:hidden}.metric:before{content:"";position:absolute;inset:auto -40px -80px auto;width:130px;height:130px;border-radius:50%;background:rgba(140,224,63,.12);filter:blur(6px)}.metric-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(140,224,63,.14);color:var(--green);margin-bottom:10px}.metric-title{font-size:11px;color:#a5b5ad;text-transform:uppercase;font-weight:700;letter-spacing:.04em}.metric-value{font-size:26px;font-weight:800;margin-top:5px}.metric-sub{font-size:12px;color:var(--green);margin-top:6px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title h2{font-size:16px;margin:0}.btn{border:1px solid var(--border);background:rgba(140,224,63,.1);color:var(--green);padding:10px 13px;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.btn:hover{background:rgba(140,224,63,.18)}.btn-solid{background:linear-gradient(135deg,var(--green),#5ba72f);color:#061006;border:0;font-weight:800}.btn-danger{background:rgba(255,107,107,.12);border-color:rgba(255,107,107,.25);color:#ff9a9a}.table-wrap{overflow:auto;border-radius:16px;border:1px solid rgba(255,255,255,.06)}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}th{color:#a7b8af;font-weight:700;background:#0a1110;text-transform:uppercase;font-size:11px}tr:hover td{background:rgba(140,224,63,.04)}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.07);font-size:12px;color:#cddbd3}.badge.green{background:rgba(140,224,63,.16);color:#baff7b}.badge.warn{background:rgba(255,209,102,.16);color:#ffe18d}.badge.blue{background:rgba(96,165,250,.16);color:#93c5fd}.badge.red{background:rgba(255,107,107,.16);color:#ff9a9a}.form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;color:#a8b8af;font-size:12px;margin:0 0 7px}.field input,.field select,.field textarea{width:100%;background:#080f0d;border:1px solid rgba(255,255,255,.1);color:#eef8f0;border-radius:12px;padding:11px 12px;outline:0}.field textarea{min-height:95px}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(140,224,63,.45);box-shadow:0 0 0 4px rgba(140,224,63,.08)}.filterbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.progress{height:9px;background:#18231e;border-radius:999px;overflow:hidden}.progress span{height:100%;display:block;background:linear-gradient(90deg,#4caf50,var(--green),var(--lime));box-shadow:0 0 18px rgba(140,224,63,.5)}.timeline{display:flex;align-items:center;gap:8px;overflow:auto;padding:10px 2px}.step{min-width:138px;text-align:center;position:relative}.step-bubble{margin:0 auto 8px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#0a130f;border:1px solid rgba(140,224,63,.28);color:#7ca}.step.done .step-bubble{background:radial-gradient(circle,var(--green),#35671e);color:#061006}.step.running .step-bubble{animation:pulse 1.5s infinite;border-color:var(--green);color:var(--green)}.step-name{font-size:12px}.step-meta{font-size:11px;color:var(--muted);margin-top:4px}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(140,224,63,.45)}50%{box-shadow:0 0 0 14px rgba(140,224,63,0)}}.impact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.donut{width:180px;height:180px;border-radius:50%;background:conic-gradient(var(--green) 0 54%,#60a5fa 54% 74%,#b6c1ba 74% 86%,#27312d 86%);display:grid;place-items:center;margin:auto}.donut-inner{width:112px;height:112px;border-radius:50%;background:#0a1110;display:grid;place-items:center;text-align:center}.alert{padding:12px 14px;border-radius:14px;border:1px solid rgba(140,224,63,.22);background:rgba(140,224,63,.08);margin-bottom:14px}.error{border-color:rgba(255,107,107,.25);background:rgba(255,107,107,.08)}.landing{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 20% 20%,rgba(140,224,63,.18),transparent 30%),linear-gradient(135deg,#030504,#08120f)}.hero{max-width:1150px;display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}.hero h1{font-size:64px;line-height:.98;margin:0 0 18px}.hero p{font-size:18px;color:#b3c4bb;line-height:1.7}.hero-art{position:relative;height:530px;border-radius:28px;background:linear-gradient(180deg,rgba(22,36,31,.8),rgba(6,10,8,.98));border:1px solid var(--border);overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(1px);background:rgba(140,224,63,.18)}.orb.one{width:220px;height:220px;right:40px;top:40px}.orb.two{width:360px;height:360px;left:-80px;bottom:-100px}.floating-card{position:absolute;background:rgba(10,17,15,.9);border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.fc1{left:40px;top:60px}.fc2{right:35px;top:190px}.fc3{left:65px;bottom:85px}.actions{display:flex;gap:12px;flex-wrap:wrap}.pagination{display:flex;gap:6px;margin-top:16px}.pagination nav{width:100%}.hidden{display:none!important}@media(max-width:1100px){.grid-5,.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.impact-grid,.hero{grid-template-columns:1fr}.sidebar{position:fixed;transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main{width:100%}.topbar{padding:0 16px}.content{padding:18px}.mobile-toggle{display:inline-flex!important}}@media(max-width:720px){.grid-2,.grid-3,.grid-4,.grid-5,.form-grid{grid-template-columns:1fr}.hero h1{font-size:42px}.hero-art{height:430px}.topbar h1{font-size:18px}}
.mobile-toggle{display:none}.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.check{background:#08100e;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;display:flex;gap:8px;align-items:center}.kpi-line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}.kpi-line:last-child{border-bottom:0}.certificate{background:#f7fff2;color:#11220d;border-radius:24px;padding:38px;max-width:760px;margin:0 auto;border:10px solid #d6f5c2;box-shadow:0 24px 80px rgba(0,0,0,.35)}.certificate h1{font-size:44px;text-align:center;color:#2f7b24}.certificate .big{font-size:34px;font-weight:900;text-align:center;color:#174a16}
.tiny-icon{width:14px;height:14px;color:var(--muted)}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#7bbf48;margin-right:7px}.card-lite{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:14px;margin-bottom:14px}.menu-check{display:flex;align-items:center;gap:10px;margin-bottom:12px}.menu-check span{margin-left:auto}.permission-map{display:grid;gap:10px}.perm-details{background:#08100e;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:12px}.perm-details summary{cursor:pointer;font-weight:800;color:#e9f7ee}.perm-details summary span{float:right;color:var(--muted);font-size:12px}.perm-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.perm-list div{background:#050a08;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:8px}.perm-list code{color:#baff7b;display:block}.perm-list small{color:var(--muted)}
.process-card{overflow:hidden}.flow-strip{display:flex;gap:10px;align-items:stretch;overflow:auto;padding:8px 2px 14px}.flow-step{position:relative;min-width:142px;text-align:center}.flow-step:not(:last-child):after{content:"";position:absolute;right:-12px;top:35px;width:24px;border-top:2px dashed rgba(140,224,63,.45)}.flow-icon{width:70px;height:70px;border-radius:50%;margin:0 auto 9px;display:grid;place-items:center;border:1px solid rgba(140,224,63,.35);background:radial-gradient(circle,rgba(140,224,63,.12),rgba(4,10,7,.88));color:var(--green)}.flow-icon svg{width:28px;height:28px}.flow-step.done .flow-icon{background:radial-gradient(circle,var(--green),#264b1c);color:#071006;box-shadow:0 0 24px rgba(140,224,63,.36)}.flow-step.running .flow-icon{animation:pulse 1.4s infinite;border-color:var(--lime);box-shadow:0 0 28px rgba(140,224,63,.34)}.flow-step strong{display:block;font-size:12px}.flow-step small{display:block;color:#a7b8af;font-size:10.5px;line-height:1.35;margin-top:5px}.flow-step em{display:block;font-style:normal;color:var(--green);font-size:10px;margin-top:5px}.latest-stage{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.07);padding-top:14px;margin-top:4px}.flow-progress{height:7px;background:#202a25;border-radius:999px;margin-top:14px;overflow:hidden}.flow-progress span{display:block;height:100%;background:linear-gradient(90deg,#4caf50,var(--green),var(--lime));box-shadow:0 0 18px rgba(140,224,63,.6)}.flow-dots{display:flex;justify-content:space-between;margin-top:-11px}.flow-dots span{width:17px;height:17px;border-radius:50%;border:2px solid #48534e;background:#101715}.flow-dots span.done,.flow-dots span.running{border-color:var(--green);background:#86db3e;box-shadow:0 0 12px rgba(140,224,63,.45)}
.product-card{min-height:100%}.output-item{display:grid;grid-template-columns:104px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}.output-item:last-child{border-bottom:0}.output-image{height:92px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#e8efe8,#809086);color:#071006;overflow:hidden}.output-image.granules{background:radial-gradient(circle at 30% 30%,#313534,#070807 75%);color:#d9f9d4;font-size:22px;letter-spacing:2px}.output-image.hanger,.output-image.hangers{background:linear-gradient(135deg,#101513,#424a45);color:#d9f9d4}.output-item small{color:#a9d18f;font-weight:700}.output-item strong{display:block;font-size:24px;margin:2px 0;color:#fff}.output-item em{font-style:normal;color:var(--muted);font-size:12px}.impact-row{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.impact-row:last-child{border-bottom:0}.impact-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(140,224,63,.13);color:var(--green)}.impact-row small{display:block;color:var(--muted);text-transform:uppercase;font-size:10px}.impact-row strong{font-size:18px}.legend{display:grid;gap:8px;margin-top:14px}.legend span{color:var(--muted);font-size:12px}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--green);margin-right:6px}.legend .blue-dot{background:#60a5fa}.legend .gray-dot{background:#93a39c}.report-grid{display:grid;grid-template-columns:280px 1fr;gap:18px}.certificate-mini{position:relative;min-height:290px;background:#f8fff2;color:#173018;border-radius:12px;padding:34px 22px 20px;overflow:hidden;text-align:center;border:1px solid #d0e7c5}.certificate-mini .cert-ribbon{position:absolute;left:-55px;top:-30px;width:130px;height:360px;background:linear-gradient(160deg,#0c4a2d,#8ed95c,#eff9e9);transform:rotate(16deg)}.certificate-mini strong,.certificate-mini small,.certificate-mini b,.certificate-mini em,.certificate-mini a{position:relative;z-index:2}.certificate-mini strong{display:block;font-size:24px;color:#12391e;letter-spacing:.05em}.certificate-mini small{display:block;margin-top:18px}.certificate-mini b{display:block;font-size:26px;margin:15px 0;color:#163d20}.certificate-mini em{display:block;font-style:normal;margin-bottom:18px}.report-list{display:grid;gap:10px}.report-download{width:100%;display:grid;grid-template-columns:40px 1fr 26px;gap:12px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.08);background:#101815;color:#edf7ee;border-radius:13px;text-align:left}.report-download svg{color:var(--green)}.report-download span{font-weight:700}.report-download small{font-weight:400}.dashboard-kpis .metric-value{font-size:24px}@media(max-width:900px){.report-grid{grid-template-columns:1fr}.flow-strip{display:grid}.flow-step:not(:last-child):after{display:none}.perm-list{grid-template-columns:1fr}.latest-stage{display:block}}
.output-tile{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center;color:inherit}.output-tile h3{margin:3px 0;font-size:16px}.output-tile strong{font-size:22px}.output-tile p{font-size:12px;line-height:1.45}
.thumb{width:54px;height:46px;object-fit:cover;border-radius:10px;border:1px solid rgba(140,224,63,.18);background:#0b1210}.thumb.empty{display:grid;place-items:center;color:#708078}.stage-chip{display:inline-flex;align-items:center;gap:7px}.stage-chip svg{width:16px;height:16px;color:var(--green)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.gallery img{width:100%;height:120px;object-fit:cover;border-radius:14px;border:1px solid rgba(140,224,63,.18)}.empty-photo{height:140px;border:1px dashed rgba(140,224,63,.28);border-radius:14px;display:grid;place-items:center;color:var(--muted);grid-column:1/-1}.finance-scene{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finance-scene div{background:#08100e;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:14px}.finance-scene small{display:block;color:var(--muted);margin-bottom:6px}.finance-scene strong{font-size:22px}.profit-good{color:var(--green)}.profit-bad{color:var(--danger)}.process-complete-grid{display:grid;grid-template-columns:repeat(3,86px) 92px;gap:6px}.process-complete-grid .pill{width:100%;font-size:12px;padding:8px}.curve-card{min-height:320px}.landing-eco{min-height:100vh;background:#020705;overflow:hidden;color:var(--text);position:relative}.landing-eco:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 18% 22%,rgba(142,224,63,.2),transparent 30%),radial-gradient(circle at 82% 18%,rgba(88,255,166,.15),transparent 28%),linear-gradient(135deg,#050806,#07120e 55%,#020403);z-index:0}.landing-eco:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at center,black,transparent 70%);z-index:0}.landing-wrap{position:relative;z-index:1;max-width:1220px;margin:0 auto;padding:30px}.landing-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:70px}.landing-logo{display:flex;align-items:center;gap:12px;font-weight:900;font-size:22px}.landing-logo span{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--green),#2b6b1c);display:grid;place-items:center;color:#061006}.landing-hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.landing-hero h1{font-size:72px;line-height:.96;margin:0 0 20px;letter-spacing:-.06em}.landing-hero p{font-size:18px;line-height:1.7;color:#b5c7bd;max-width:620px}.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.hero-tag{padding:8px 12px;border:1px solid rgba(140,224,63,.18);background:rgba(140,224,63,.08);border-radius:999px;color:#cdf6b0;font-size:12px}.recycle-stage{position:relative;min-height:560px;border-radius:32px;background:linear-gradient(180deg,rgba(17,27,24,.78),rgba(3,8,6,.94));border:1px solid rgba(140,224,63,.16);box-shadow:0 40px 100px rgba(0,0,0,.45);overflow:hidden}.orbit{position:absolute;left:50%;top:50%;width:360px;height:360px;margin-left:-180px;margin-top:-180px;border-radius:50%;border:1px dashed rgba(140,224,63,.32);animation:spin 18s linear infinite}.orbit:nth-child(2){width:250px;height:250px;margin-left:-125px;margin-top:-125px;animation-duration:12s;animation-direction:reverse}.recycle-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:142px;height:142px;border-radius:36px;background:linear-gradient(135deg,var(--green),#236718);display:grid;place-items:center;color:#061006;box-shadow:0 0 80px rgba(140,224,63,.38)}.recycle-core svg{width:72px;height:72px}.orbit-card{position:absolute;width:190px;background:rgba(7,15,12,.88);border:1px solid rgba(140,224,63,.18);border-radius:18px;padding:14px;box-shadow:var(--shadow);animation:floaty 4s ease-in-out infinite}.orbit-card b{display:block;font-size:22px}.orbit-card small{color:var(--muted)}.oc1{left:34px;top:72px}.oc2{right:34px;top:120px;animation-delay:.6s}.oc3{left:50px;bottom:90px;animation-delay:1.1s}.oc4{right:42px;bottom:70px;animation-delay:1.7s}@keyframes spin{to{transform:rotate(360deg)}}@keyframes floaty{50%{transform:translateY(-14px)}}@media(max-width:900px){.landing-hero{grid-template-columns:1fr}.landing-hero h1{font-size:46px}.recycle-stage{min-height:440px}.orbit-card{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin:10px}.orbit,.recycle-core{display:none}.gallery{grid-template-columns:1fr}.process-complete-grid{grid-template-columns:1fr}}
