.ek-admin{max-width:1180px}.ek-admin .gatecard-wrap{display:flex;justify-content:center;padding:4rem 1.5rem}.ek-admin .gatecard{max-width:420px;text-align:center;background:var(--white);border:1px solid var(--navy-100);border-radius:var(--r-2xl);padding:2.2rem;box-shadow:var(--shadow-sm)}.ek-admin .gateicon{font-size:2.4rem}.ek-admin .gatecard h1{font-family:var(--font-display);font-size:1.4rem;color:var(--navy-900);margin:.6rem 0}.ek-admin .gatecard p{color:var(--navy-500);margin-bottom:1.3rem}.ek-admin .ahead{margin-bottom:1.3rem;padding-bottom:1.05rem;border-bottom:1px solid var(--navy-100)}.ek-admin .ahead-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem}.ek-admin .eyebrow{font-family:var(--font-display);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--orange-600)}.ek-admin #hello{font-family:var(--font-display);font-size:1.7rem;letter-spacing:-.02em;color:var(--navy-900);line-height:1.1}.ek-admin .tabs{display:flex;gap:.25rem;background:var(--navy-50);padding:.3rem;border-radius:99px;flex-wrap:wrap;box-shadow:inset 0 1px 2px #0a0e260d}.ek-admin .tab{position:relative;padding:.5rem .95rem;min-height:40px;border:0;background:transparent;border-radius:99px;font-family:var(--font-display);font-weight:600;font-size:.86rem;color:var(--navy-500);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}.ek-admin .tab:hover:not(.active){color:var(--navy-800);background:#ffffff8c}.ek-admin .tab.active{background:#fff;color:var(--navy-900);box-shadow:var(--shadow-sm)}.ek-admin .tab[data-tab=live]:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange-500);display:inline-block;margin-left:.45rem;vertical-align:1px;box-shadow:0 0 0 3px var(--orange-100)}@media(max-width:720px){.ek-admin .tabs{flex-wrap:nowrap;overflow-x:auto;border-radius:var(--r-lg);scrollbar-width:none}.ek-admin .tabs::-webkit-scrollbar{display:none}}.ek-admin .tab-cap{color:var(--navy-400);font-size:.88rem;margin:-.2rem 0 1.15rem}.ek-admin .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:1rem;margin-bottom:1.4rem}.ek-admin .mcard{position:relative;background:var(--white);border:1px solid var(--navy-100);border-radius:var(--r-xl);padding:1.05rem 1.1rem 1.05rem 1.25rem;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s}.ek-admin .mcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.ek-admin .mcard:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--navy-300)}.ek-admin .mcard.k-reach:before{background:var(--navy-400)}.ek-admin .mcard.k-comp:before{background:var(--orange-500)}.ek-admin .mcard.k-comm:before{background:var(--green-600)}.ek-admin .mcard.k-gain:before{background:linear-gradient(180deg,var(--green-600),#0bbf7a)}.ek-admin .mcard .lbl{font-size:.74rem;font-weight:600;color:var(--navy-400);text-transform:uppercase;letter-spacing:.05em}.ek-admin .mcard .val{font-family:var(--font-display);font-weight:800;font-size:2rem;line-height:1.05;color:var(--navy-900);margin-top:.25rem;font-variant-numeric:tabular-nums}.ek-admin .mcard .val.good{color:var(--green-600)}.ek-admin .mcard .val.org{color:var(--orange-600)}.ek-admin .mcard .sub{font-size:.74rem;color:var(--navy-400);margin-top:.2rem}.ek-admin .panel{background:var(--white);border:1px solid var(--navy-100);border-radius:var(--r-xl);padding:1.15rem 1.25rem;margin-bottom:1.2rem;box-shadow:var(--shadow-sm)}.ek-admin .panel h2{font-family:var(--font-display);font-size:1.06rem;color:var(--navy-900);display:flex;align-items:center;gap:.5rem}.ek-admin .panel h2:before{content:"";width:4px;height:1.05em;border-radius:2px;background:var(--orange-400);flex:none}.ek-admin .panel .ph-sub{font-size:.82rem;color:var(--navy-400);margin:.25rem 0 .9rem}.ek-admin .panel-2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.ek-admin .panel-2 .panel{margin:0}@media(max-width:820px){.ek-admin .panel-2{grid-template-columns:1fr}}.ek-admin .chart{display:block;max-width:100%}.ek-admin .legend{display:flex;gap:1.2rem;justify-content:center;font-size:.78rem;color:var(--navy-500);margin-top:.4rem}.ek-admin .legend span{display:inline-flex;align-items:center;gap:.35rem}.ek-admin .legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.ek-admin .lg-pre{background:var(--navy-300)}.ek-admin .lg-post{background:var(--orange-500)}.ek-admin .hbar{display:grid;grid-template-columns:130px 1fr 42px;align-items:center;gap:.6rem;padding:.32rem 0;font-size:.84rem}.ek-admin .hbar-l{color:var(--navy-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ek-admin .hbar-track{background:var(--navy-50);border-radius:99px;height:14px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--navy-100)}.ek-admin .hbar-fill{display:block;height:100%;background:linear-gradient(90deg,var(--orange-400),var(--orange-600));border-radius:99px}.ek-admin .hbar-v{font-family:var(--font-display);font-weight:700;color:var(--navy-700);text-align:right;font-variant-numeric:tabular-nums}.ek-admin table.t{width:100%;border-collapse:collapse;font-size:.88rem}.ek-admin table.t th{text-align:left;font-family:var(--font-display);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--navy-400);padding:.5rem .55rem;border-bottom:1.5px solid var(--navy-100);white-space:nowrap}.ek-admin table.t td{padding:.6rem .55rem;border-bottom:1px solid var(--navy-50);vertical-align:middle}.ek-admin table.t tr.clk{cursor:pointer}.ek-admin table.t tr.clk:hover{background:var(--cream)}.ek-admin table.t tr:last-child td{border-bottom:0}.ek-admin .pill{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-display);font-size:.7rem;font-weight:700;padding:.18rem .55rem;border-radius:99px;white-space:nowrap}.ek-admin .pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.ek-admin .pill.flat:before{display:none}.ek-admin .pill.green{color:var(--green-600);background:var(--green-50)}.ek-admin .pill.amber{color:var(--orange-700);background:var(--orange-50)}.ek-admin .pill.red{color:var(--red-500);background:var(--red-50)}.ek-admin .pill.gray{color:var(--navy-400);background:var(--navy-50)}.ek-admin .chip{font-size:.74rem;padding:.12rem .42rem;border-radius:4px;margin-right:.2rem}.ek-admin .chip.ok{background:var(--green-50);color:var(--green-600)}.ek-admin .chip.no{background:var(--navy-50);color:var(--navy-300)}.ek-admin .delta.up{color:var(--green-600);font-weight:700}.ek-admin .delta.dn{color:var(--red-500);font-weight:700}.ek-admin .delta.eq{color:var(--navy-400)}.ek-admin .crumbs{display:flex;gap:.4rem;align-items:center;font-size:.82rem;color:var(--navy-400);margin-bottom:.8rem}.ek-admin .crumb-link{color:var(--orange-600);cursor:pointer;font-weight:600}.ek-admin .crumb-link:hover{text-decoration:underline}.ek-admin .crumb-sep{color:var(--navy-200)}.ek-admin .fn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:1rem}.ek-admin .fn-card{position:relative;background:var(--white);border:1px solid var(--navy-100);border-radius:var(--r-xl);padding:1.2rem 1.2rem 1.2rem 1.35rem;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;overflow:hidden}.ek-admin .fn-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--fn-accent,var(--orange-400))}.ek-admin .fn-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--navy-200)}.ek-admin .fn-card h3{font-family:var(--font-display);font-size:1.05rem;color:var(--navy-900);margin-bottom:.4rem}.ek-admin .fn-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--navy-500);margin-bottom:.5rem}.ek-admin .fn-gain{font-family:var(--font-display);font-weight:800;font-size:1.3rem;color:var(--green-600)}.ek-admin .fn-gl{font-size:.7rem;color:var(--navy-400);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.ek-admin .concepts{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}@media(max-width:680px){.ek-admin .concepts{grid-template-columns:1fr}}.ek-admin .concept-col h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.ek-admin .concept-col.best h4{color:var(--green-600)}.ek-admin .concept-col.worst h4{color:var(--orange-700)}.ek-admin .concept-item{padding:.45rem .1rem;border-bottom:1px solid var(--navy-50)}.ek-admin .concept-item:last-child{border-bottom:0}.ek-admin .concept-stem{color:var(--navy-800);line-height:1.35;font-size:.85rem}.ek-admin .concept-meta{display:flex;gap:.5rem;margin-top:.2rem;font-size:.73rem;color:var(--navy-400)}.ek-admin .concept-rate{font-weight:800;font-family:var(--font-display);font-size:.9rem}.ek-admin .concept-rate.hi{color:var(--green-600)}.ek-admin .concept-rate.lo{color:var(--red-500)}.ek-admin .concept-rate.mid{color:var(--navy-600)}.ek-admin .btn.sm{padding:.35rem .7rem;font-size:.8rem}.ek-admin .row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:flex-end}.ek-admin .field{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:600;color:var(--navy-600)}.ek-admin .field input,.ek-admin .field select{padding:.55rem .65rem;border:1.5px solid var(--navy-100);border-radius:var(--r-md);font-size:.9rem;min-width:150px;background:#fff;transition:border-color .15s,box-shadow .15s}.ek-admin .field input:focus,.ek-admin .field select:focus{outline:0;border-color:var(--orange-400);box-shadow:0 0 0 3px var(--orange-100)}.ek-admin .field textarea{padding:.55rem .65rem;border:1.5px solid var(--navy-100);border-radius:var(--r-md);font-size:.92rem;font-family:var(--font-body);line-height:1.5;background:#fff;resize:vertical;transition:border-color .15s,box-shadow .15s}.ek-admin .field textarea:focus{outline:0;border-color:var(--orange-400);box-shadow:0 0 0 3px var(--orange-100)}.ek-admin .codebig{font-family:var(--font-display);font-size:1.3rem;letter-spacing:.05em;color:var(--orange-600)}.ek-admin .muted{color:var(--navy-400);font-size:.84rem}.ek-admin .muted2{color:var(--navy-400);font-size:.8rem}.ek-admin .empty{color:var(--navy-400);font-size:.88rem;padding:1.1rem .4rem;text-align:center}.ek-admin .fn-section{background:var(--white);border:1px solid var(--navy-100);border-radius:var(--r-2xl);box-shadow:var(--shadow-sm);margin-bottom:1.3rem;overflow:hidden}.ek-admin .fn-band{position:relative;display:flex;align-items:center;gap:.85rem;padding:.95rem 1.2rem;background:linear-gradient(135deg,var(--navy-800),var(--navy-600));color:#fff}.ek-admin .fn-band:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--fn-accent,var(--orange-500)),transparent 55%);opacity:.75}.ek-admin .fn-band .fn-ic{width:42px;height:42px;flex:none;border-radius:12px;background:var(--fn-accent,rgba(255,255,255,.14));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:.95rem;letter-spacing:.02em;box-shadow:inset 0 0 0 1px #ffffff2e;overflow:hidden}.ek-admin .fn-band .fn-ic img{width:100%;height:100%;object-fit:contain;background:#fff}.ek-admin .fn-band h2{font-family:var(--font-display);font-size:1.16rem;color:#fff;margin:0;line-height:1.1}.ek-admin .fn-band h2:before{display:none}.ek-admin .fn-band .fn-sub{font-size:.76rem;color:var(--navy-200);margin-top:.12rem}.ek-admin .fn-band-actions{margin-left:auto;display:flex;gap:.4rem;flex-wrap:wrap}.ek-admin .fl-preview{display:flex;align-items:center;justify-content:center;min-height:120px;padding:.8rem;border:1.5px dashed var(--navy-200);border-radius:var(--r-lg);background:var(--navy-50)}.ek-admin .fl-preview img{max-width:100%;max-height:160px;object-fit:contain}.ek-admin .fn-band .btn.ghost{color:#fff;border-color:#fff6;background:#ffffff0f}.ek-admin .fn-band .btn.ghost:hover:not(:disabled){background:#ffffff29;color:#fff}.ek-admin .proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;padding:1.2rem;background:linear-gradient(180deg,var(--navy-50),transparent 60%)}.ek-admin .proj-card{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--navy-100);border-radius:var(--r-xl);padding:.95rem 1rem 1rem 1.15rem;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s}.ek-admin .proj-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--navy-200)}.ek-admin .proj-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px}.ek-admin .proj-card.t-ecb:before{background:var(--navy-400)}.ek-admin .proj-card.t-capb:before{background:var(--orange-400)}.ek-admin .proj-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.ek-admin .proj-name{font-family:var(--font-display);font-weight:700;font-size:1.04rem;color:var(--navy-900);line-height:1.2}.ek-admin .proj-prog{font-size:.72rem;color:var(--navy-400);font-weight:600;margin-top:.14rem;font-variant-numeric:tabular-nums}.ek-admin .badge{display:inline-block;font-family:var(--font-display);font-size:.64rem;font-weight:700;padding:.22rem .5rem;border-radius:99px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;flex:none}.ek-admin .badge.c-epc{background:var(--navy-50);color:var(--navy-600)}.ek-admin .badge.c-bess{background:var(--orange-50);color:var(--orange-700)}.ek-admin .badge.c-om{background:var(--green-50);color:var(--green-600)}.ek-admin .badge.c-earthkeepers{background:#e6f3f7;color:#0e7490}.ek-admin .badge.c-none{background:var(--navy-50);color:var(--navy-300)}.ek-admin .proj-stat{margin:.8rem 0 .1rem}.ek-admin .proj-stat .plabel{display:flex;justify-content:space-between;font-size:.7rem;color:var(--navy-400);font-weight:600;margin-bottom:.3rem}.ek-admin .proj-stat .plabel b{font-family:var(--font-display);color:var(--navy-800);font-variant-numeric:tabular-nums}.ek-admin .proj-stat .pbar{height:8px;background:var(--navy-50);border-radius:99px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--navy-100)}.ek-admin .proj-stat .pfill{display:block;height:100%;border-radius:99px;transition:width .45s cubic-bezier(.2,.7,.2,1)}.ek-admin .pfill.hi{background:linear-gradient(90deg,var(--green-600),#0bbf7a)}.ek-admin .pfill.mid{background:linear-gradient(90deg,var(--orange-400),var(--orange-600))}.ek-admin .pfill.lo{background:linear-gradient(90deg,var(--red-500),#f0795f)}.ek-admin .proj-meta{display:flex;flex-wrap:wrap;gap:.35rem .9rem;align-items:center;font-size:.78rem;color:var(--navy-500);margin-top:.7rem}.ek-admin .proj-meta b{font-family:var(--font-display);color:var(--navy-800);font-weight:700;font-variant-numeric:tabular-nums}.ek-admin .proj-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.7rem;border-top:1px solid var(--navy-50)}.ek-admin .proj-card .proj-foot{margin-top:.85rem}.ek-admin .proj-code{font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.05em;color:var(--orange-700);background:var(--orange-50);padding:.22rem .55rem;border-radius:6px;border:1px solid var(--orange-100)}.ek-admin .msg{font-size:.85rem;min-height:1.1rem;margin-top:.5rem}.ek-admin .msg.err{color:var(--red-500)}.ek-admin .msg.ok{color:var(--green-600)}.ek-admin .drawer{position:fixed;inset:0;background:#0a0e2666;display:flex;justify-content:flex-end;z-index:50}.ek-admin .drawer-inner{width:min(480px,92vw);height:100%;background:#fff;overflow:auto;padding:1.4rem;box-shadow:-8px 0 30px #0003}.ek-admin .modal{position:fixed;inset:0;background:#080c1eb8;display:flex;align-items:center;justify-content:center;z-index:60;padding:1.2rem}.ek-admin .modal-card{background:#fff;border-radius:var(--r-2xl);padding:1.6rem 1.5rem;max-width:420px;width:100%;position:relative;box-shadow:0 24px 60px #0006}.ek-admin .modal-x{position:absolute;top:.7rem;right:.9rem;background:none;border:0;font-size:1.1rem;color:var(--navy-300);cursor:pointer}.ek-admin .modal-card h2{font-family:var(--font-display);font-size:1.3rem;color:var(--navy-900);margin:.2rem 0 .3rem}.ek-admin #report-overlay{position:fixed;inset:0;background:var(--navy-50);z-index:70;overflow:auto}.ek-admin .rep-toolbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border-bottom:1px solid var(--navy-100);padding:.7rem 1.2rem}.ek-admin .report-doc{max-width:820px;margin:1.5rem auto;background:#fff;box-shadow:var(--shadow-md)}.ek-admin .rep-cover{background:linear-gradient(135deg,var(--navy-900),#16224a);color:#fff;padding:3rem 2.4rem 2.6rem}.ek-admin .rep-logos{display:flex;align-items:center;gap:1rem;margin-bottom:2.2rem}.ek-admin .rep-logos img{height:46px;background:#fff;padding:6px 10px;border-radius:8px}.ek-admin .rep-cover .eyebrow{color:var(--orange-400)}.ek-admin .rep-cover h1{font-family:var(--font-display);font-size:2.2rem;margin:.3rem 0 .6rem;line-height:1.1}.ek-admin .rep-cover .rep-scope{font-size:1.1rem;color:#cdd6ee}.ek-admin .rep-cover .rep-period{font-size:.9rem;color:#9fb0d8;margin-top:.3rem}.ek-admin .rep-body{padding:2rem 2.4rem 2.6rem}.ek-admin .rep-sec{margin-bottom:2rem}.ek-admin .rep-sec h2{font-family:var(--font-display);font-size:1.2rem;color:var(--navy-900);border-bottom:2px solid var(--navy-100);padding-bottom:.4rem;margin-bottom:1rem}.ek-admin .rep-big{display:flex;gap:2.5rem;flex-wrap:wrap;margin-bottom:1rem}.ek-admin .rep-stat .n{font-family:var(--font-display);font-size:2.6rem;color:var(--navy-900);line-height:1}.ek-admin .rep-stat .n.org{color:var(--orange-600)}.ek-admin .rep-stat .n.grn{color:var(--green-600)}.ek-admin .rep-stat .l{font-size:.8rem;color:var(--navy-500);font-weight:600;margin-top:.2rem}.ek-admin .rep-narr{width:100%;min-height:90px;border:1.5px dashed var(--navy-200);border-radius:var(--r-md);padding:.8rem;font-family:var(--font-body);font-size:.95rem;color:var(--navy-700);line-height:1.5;resize:vertical}.ek-admin .rep-foot{padding:1.2rem 2.4rem;border-top:1px solid var(--navy-100);font-size:.78rem;color:var(--navy-400);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}@media print{.appbar,.sitefoot,.ek-admin #app,.ek-admin .rep-toolbar{display:none!important}.ek-admin #report-overlay{position:static;background:#fff;overflow:visible}.ek-admin .report-doc{max-width:none;margin:0;box-shadow:none}.ek-admin .rep-cover{-webkit-print-color-adjust:exact;print-color-adjust:exact}.ek-admin .rep-narr{border:1px solid #ddd}.ek-admin .rep-sec{break-inside:avoid}}
