.kf-hero{background:linear-gradient(135deg,#073f34,#0b5a49);color:#fff;border-radius:24px;padding:30px;display:grid;grid-template-columns:1.35fr .65fr;gap:22px;box-shadow:var(--shadow)}
.kf-hero h2{font-size:34px;margin:8px 0 10px}.kf-hero p{color:#d7ebe4;line-height:1.6;max-width:760px}.kf-hero-panel{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:20px}.kf-hero-panel strong{display:block;font-size:36px;margin:6px 0}.kf-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:22px}.kf-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.kf-stat small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.kf-stat strong{display:block;font-size:29px;color:var(--green);margin:7px 0 4px}.kf-stat span{font-size:12px;color:var(--muted)}
.kf-workflow{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;align-items:stretch}.kf-stage{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;text-align:center;position:relative}.kf-stage:not(:last-child):after{content:'›';position:absolute;right:-9px;top:50%;transform:translateY(-50%);z-index:2;color:var(--gold);font-size:23px;font-weight:900}.kf-stage b{display:grid;place-items:center;width:30px;height:30px;margin:0 auto 8px;border-radius:50%;background:#eaf4f0;color:var(--green)}.kf-stage strong{display:block;font-size:12px}.kf-stage small{display:block;color:var(--muted);margin-top:4px;font-size:10px}.kf-stage.complete{border-color:#91cbb8;background:#f3fbf7}.kf-stage.current{border-color:var(--gold);box-shadow:0 0 0 3px rgba(215,169,40,.12)}
.kf-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.65fr);gap:18px;align-items:start}.kf-table{width:100%;min-width:850px}.kf-table td,.kf-table th{vertical-align:middle}.kf-name strong,.kf-name small{display:block}.kf-name small{color:var(--muted);margin-top:3px}.kf-progress{height:8px;background:#e9efec;border-radius:999px;overflow:hidden;min-width:110px}.kf-progress span{display:block;height:100%;background:linear-gradient(90deg,#0b5a49,#d7a928);border-radius:inherit}.kf-status{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 9px;font-size:11px;font-weight:800;color:var(--green)}.kf-status.ready{background:#e7f7ef;color:#176447}.kf-status.review{background:#fff2c5;color:#80600d}.kf-status.draft{background:#eef2f1;color:#5f706b}.kf-actions{display:flex;gap:6px}.kf-actions button,.kf-actions a{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:800;color:var(--green);cursor:pointer}.kf-actions button:hover,.kf-actions a:hover{border-color:#8bb6a8;background:#f1f7f4}
.kf-side{display:grid;gap:16px}.kf-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px}.kf-panel h3{margin:0 0 6px}.kf-panel>p{color:var(--muted);font-size:13px;line-height:1.5}.kf-score-row{display:grid;grid-template-columns:1fr 45px;gap:12px;align-items:center;margin:14px 0}.kf-score-row span{font-size:12px;font-weight:750}.kf-score-row b{text-align:right;color:var(--green)}.kf-mini-bar{grid-column:1/-1;height:7px;background:#e9efec;border-radius:999px;overflow:hidden;margin-top:-6px}.kf-mini-bar i{display:block;height:100%;background:#0b5a49}.kf-gates{display:grid;gap:9px;margin-top:14px}.kf-gate{display:flex;align-items:flex-start;gap:9px;padding:10px;background:#f4f8f6;border-radius:11px;font-size:12px}.kf-gate b{color:#0b7b61}.kf-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.kf-toolbar input,.kf-toolbar select{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 12px}.kf-toolbar input{flex:1;min-width:220px}.kf-batch-banner{background:#fffaf0;border:1px solid #efd789;border-radius:16px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.kf-batch-banner strong{display:block}.kf-batch-banner small{display:block;color:#725f2c;margin-top:4px}.kf-empty{text-align:center;padding:34px;color:var(--muted)}
@media(max-width:1250px){.kf-stat-grid{grid-template-columns:repeat(3,1fr)}.kf-workflow{grid-template-columns:repeat(4,1fr)}.kf-stage:after{display:none}.kf-layout{grid-template-columns:1fr}}
@media(max-width:760px){.kf-hero{grid-template-columns:1fr;padding:22px}.kf-stat-grid{grid-template-columns:1fr 1fr}.kf-workflow{grid-template-columns:1fr 1fr}.kf-batch-banner{align-items:flex-start;flex-direction:column}}
