/* Frontend v2.1.0 */
.kgvkp-wrap { --gap:18px; --radius:14px; }
.kgvkp-grid { display:grid; grid-template-columns: repeat(var(--cols,3), minmax(0,1fr)); gap: var(--gap); }
.kgvkp-tile { position:relative; background: var(--bg,#f5f5f5); color: var(--fg,#111); border-radius: var(--radius); padding: var(--tile-padding,20px); transition: transform .12s ease-in-out; }
.kgvkp-tile:hover { transform: translateY(-1px); }
.kgvkp-tile .kgvkp-link, .kgvkp-tile .kgvkp-expand-trigger { position:absolute; inset:0; background:transparent; border:0; cursor:pointer; }
.kgvkp-tile-inner { display:flex; align-items:center; gap:14px; }
.kgvkp-wrap[data-icon-pos="top"] .kgvkp-tile-inner, .kgvkp-wrap[data-icon-pos="bottom"] .kgvkp-tile-inner { flex-direction:column; align-items:flex-start; }
.kgvkp-wrap[data-icon-pos="right"] .kgvkp-tile-inner { flex-direction:row-reverse; }
.kgvkp-icon { width:var(--icon-size,48px); min-width:var(--icon-size,48px); height:var(--icon-size,48px); display:flex; align-items:center; justify-content:center; }
.kgvkp-icon img { width:calc(var(--icon-size,48px) - 4px); height:calc(var(--icon-size,48px) - 4px); object-fit:contain; }
.kgvkp-icon .dashicons { font-size:calc(var(--icon-size,48px) - 2px); width:calc(var(--icon-size,48px) - 2px); height:calc(var(--icon-size,48px) - 2px); }
.kgvkp-icon i { font-size:calc(var(--icon-size,48px) * .8); width:var(--icon-size,48px); text-align:center; line-height:1; }
.kgvkp-title { font-weight:700; font-size: var(--title-size,1.1rem); line-height:1.2; }
.kgvkp-subtitle { opacity:.9; margin-top:2px; font-size: var(--subtitle-size,.95rem); }
.kgvkp-expand { grid-column: 1 / -1; background:#fff; border-radius: var(--radius); box-shadow:0 6px 16px rgba(0,0,0,.06); overflow:hidden; position:relative; --sep-color:transparent; --sep-thickness:0px; will-change:height,opacity; }
.kgvkp-expand::before, .kgvkp-expand::after { content:""; position:absolute; left:0; right:0; height:var(--sep-thickness); background:var(--sep-color); }
.kgvkp-expand::before { top:0; } .kgvkp-expand::after { bottom:0; }
.kgvkp-expand-inner { padding:22px; contain:layout paint; }
.kgvkp-toolbar{display:flex;justify-content:flex-end;margin-bottom:6px}
.kgvkp-close-all{border:0;background:#eaeaea;border-radius:6px;width:28px;height:28px;line-height:28px;text-align:center;font-size:18px;cursor:pointer}
.kgvkp-close-all:hover{background:#e0e0e0}
.kgvkp-greeting { display:grid; grid-template-columns:220px 1fr; gap:32px; align-items:start; }
.kgvkp-greet-photo { text-align:center; }
.kgvkp-greet-avatar { width:180px; height:180px; border-radius:50%; overflow:hidden; margin:0 auto 12px; }
.kgvkp-greet-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.kgvkp-greet-name { font-weight:600; margin-top:6px; }
.kgvkp-greet-role { color:#555; font-size:.95rem; }
@media (max-width:900px){ .kgvkp-greeting{ grid-template-columns:1fr; } .kgvkp-greet-photo{ order:-1; } }
.kgvkp-wrap .kgvkp-grid { --cols:3; }
@media (max-width: 1024px) { .kgvkp-wrap .kgvkp-grid { --cols:2; } }
@media (max-width: 640px)  { .kgvkp-wrap .kgvkp-grid { --cols:1; } }
@media (min-width:1025px){ .kgvkp-tile.hide-desktop{ display:none !important; } }
@media (min-width:641px) and (max-width:1024px){ .kgvkp-tile.hide-tablet{ display:none !important; } }
@media (max-width:640px){ .kgvkp-tile.hide-mobile{ display:none !important; } }
@media (prefers-reduced-motion: reduce){ .kgvkp-tile{ transition:none } }