:root{--pine:#1e3a6b;--pine-deep:#16284a;--teal:#3569b4;--teal-soft:#5b8ad4;--mint:#f3f7fc;--tint:#e5eef9;--coral:#fbb040;--coral-bright:#ffc766;--coral-dark:#b26a12;--ink:#171716;--muted:#5e6b82;--line:#e8edf5;--alert:#ec162c;--radius:18px;--radius-sm:12px;--shadow-soft:0 2px 10px rgba(30,58,107,0.05);--shadow-card:0 10px 30px rgba(30,58,107,0.08);--shadow-glow:0 8px 20px rgba(53,105,180,0.28)}*{box-sizing:border-box}body{margin:0}.kf-admin{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--mint);min-height:100vh;-webkit-font-smoothing:antialiased;letter-spacing:-.01em}.kf-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(1100px 560px at 50% -15%,#dcebfb,var(--mint) 62%)}.kf-login{width:100%;max-width:392px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:var(--shadow-card)}.kf-logo{width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,var(--teal-soft),var(--teal));display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:18px;box-shadow:var(--shadow-glow)}.kf-login-logo{display:block;width:100%;max-width:260px;height:auto;margin:4px auto 8px}.kf-login h1{font-size:23px;margin:0 0 4px;letter-spacing:-.02em}.kf-login p{color:var(--muted);font-size:14px;margin:0 0 24px;text-align:center}.kf-shell{display:flex;min-height:100vh}.kf-side{width:244px;background:linear-gradient(180deg,var(--pine),var(--pine-deep));color:#dff0ec;padding:24px 16px;flex:none;display:flex;flex-direction:column}.kf-brand{gap:11px;font-weight:800;color:#fff;margin-bottom:28px;padding:0 6px;letter-spacing:-.02em}.kf-brand,.kf-brand .dot{display:flex;align-items:center;font-size:17px}.kf-brand .dot{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.16);justify-content:center}.kf-brand-logo{width:168px;height:auto;display:block}.kf-nav{display:flex;flex-direction:column;gap:4px}.kf-nav a{color:#c4d8ef;text-decoration:none;padding:11px 13px;border-radius:11px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.kf-nav a:hover{background:rgba(255,255,255,.07);color:#fff}.kf-nav a.active{background:linear-gradient(135deg,var(--teal-soft),var(--teal));color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.18)}.kf-side form{margin-top:auto}.kf-logout{width:100%;background:rgba(255,255,255,.08);color:#fff;border:none;cursor:pointer;padding:11px;border-radius:11px;font-size:13px;font-weight:600;transition:background .15s}.kf-logout:hover{background:rgba(255,255,255,.14)}.kf-main{flex:1 1;padding:38px 42px;max-width:1000px}.kf-main h2{font-size:27px;margin:0 0 4px;letter-spacing:-.03em}.kf-sub{color:var(--muted);font-size:14.5px;margin:0 0 28px}.kf-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-bottom:32px}.kf-stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-soft);transition:transform .15s,box-shadow .15s}.kf-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.kf-stat .n{font-size:34px;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--teal-soft),var(--teal));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.kf-stat .l{font-size:13px;color:var(--muted);margin-top:4px}.kf-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-soft)}.kf-card h3{margin:0 0 18px;font-size:17px;letter-spacing:-.02em}.kf-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.kf-field{display:flex;flex-direction:column;gap:6px}.kf-field.full{grid-column:1/-1}.kf-field label{font-size:12px;font-weight:700;color:var(--muted)}.kf-field input,.kf-field select,.kf-field textarea{border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}.kf-field input:focus,.kf-field select:focus,.kf-field textarea:focus{outline:none;border-color:var(--teal-soft);box-shadow:0 0 0 3px rgba(53,105,180,.12)}.kf-field textarea{min-height:74px;resize:vertical}.kf-btn{background:linear-gradient(135deg,var(--teal-soft),var(--teal));color:#fff;border:none;border-radius:var(--radius-sm);padding:12px 20px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-glow);transition:transform .12s,box-shadow .15s,opacity .15s}.kf-btn:hover{transform:translateY(-1px)}.kf-btn:active{transform:translateY(0)}.kf-btn:disabled{opacity:.55;cursor:default;box-shadow:none;transform:none}.kf-btn.ghost{background:#fff;color:var(--muted);border:1.5px solid var(--line);box-shadow:none}.kf-btn.ghost:hover{border-color:var(--teal-soft);color:var(--teal)}.kf-btn.danger{background:#fff;color:var(--alert);border:1.5px solid #f3b6bc;padding:8px 13px;font-size:13px;box-shadow:none}.kf-btn.danger:hover{background:#fff5f5}.kf-btn.sm{padding:8px 13px;font-size:13px}.kf-actions{display:flex;gap:10px;margin-top:6px}.kf-list{display:flex;flex-direction:column;gap:12px}.kf-row{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;box-shadow:var(--shadow-soft);transition:transform .15s,box-shadow .15s}.kf-row:hover{transform:translateY(-1px);box-shadow:var(--shadow-card)}.kf-row .meta{font-size:12.5px;color:var(--muted);margin-top:4px}.kf-row .title{font-weight:700;font-size:15px;letter-spacing:-.01em}.kf-row .row-actions{display:flex;gap:8px;flex:none}.kf-badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;background:var(--tint);color:var(--teal)}.kf-badge.draft{background:#fdebe4;color:var(--coral-dark)}.kf-badge.cancelled{background:#f3f3f3;color:#999}.kf-error{background:#fdecec;color:#c0392b;border-radius:var(--radius-sm);padding:11px 14px;font-size:13px;margin-bottom:16px}.kf-empty{color:var(--muted);font-size:14px;padding:18px 0}