.ks-pb{max-width:var(--ks-wrap-width,800px);margin:0 auto}
.ks-topbar{display:flex;flex-direction:column;gap:10px;margin:0 0 12px 0}
.ks-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:860px){.ks-top{grid-template-columns:1fr}}
.ks-view{display:flex;gap:10px;flex-wrap:wrap}
.ks-viewbtn{appearance:none;border:1px solid rgba(0,0,0,.18) !important;background:#fff !important;padding:10px 12px;border-radius:999px;cursor:pointer;font-weight:900;color:#111 !important}
.ks-viewbtn.is-active{background:#e9eef6 !important}

/* Proxy (now under calendar) */
.ks-proxy{border:1px solid rgba(0,0,0,.10);border-radius:14px;padding:10px 12px;background:#fff;margin:12px 0 0 0}
.ks-proxy-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ks-proxy-label{font-weight:900}
.ks-proxy-input{flex:1;min-width:220px;padding:10px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.18)}
.ks-proxy-results{margin-top:10px;border-top:1px solid rgba(0,0,0,.08);padding-top:10px;display:grid;gap:6px}
.ks-proxy-item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 10px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#f7f7f7;cursor:pointer}
.ks-proxy-item:hover{background:#f0f0f0}
.ks-proxy-chip{padding:6px 10px;border-radius:999px;background:#e9eef6;font-weight:800;cursor:pointer}

/* Accordion */
.ks-acc{border:1px solid rgba(0,0,0,.12);border-radius:14px;overflow:hidden;background:#fff}
.ks-acc-h{width:100%;text-align:left;padding:12px 14px;border:0 !important;cursor:pointer;font-weight:900;display:flex;justify-content:space-between;align-items:center;color:#111 !important;background:#f2f2f2 !important}
.ks-acc.is-open .ks-acc-b{display:grid}
.ks-acc-b{display:none;padding:10px 12px 12px 12px;background:#fff;gap:10px}
.ks-caret{opacity:.85}
.ks-acc[data-cat-key="kattskotare"] .ks-acc-h{background:#d9f5d9 !important;color:#111 !important}
.ks-acc[data-cat-key="utbildning"] .ks-acc-h{background:#fff5c7 !important;color:#111 !important}
.ks-acc[data-cat-key="avvard"] .ks-acc-h{background:#ffd6d6 !important;color:#111 !important}
.ks-btn{width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.18) !important;background:#f3f3f3 !important;cursor:pointer;font-weight:800;color:#111 !important}
.ks-btn:hover{background:#ededed !important}
.ks-btn small{opacity:.75;font-weight:700;color:#111 !important}

/* Calendar */
.ks-framewrap{position:relative;border:1px solid rgba(0,0,0,.10);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.ks-cal{width:100%;height:var(--ks-cal-height,600px);border:0;display:block}
.ks-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:900;opacity:.65;pointer-events:none}

/* Modal */
.ks-modal{position:fixed;inset:0;display:none;z-index:99999}
.ks-modal[aria-hidden="false"]{display:block}
.ks-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.ks-modal-card{position:relative;width:var(--ks-modal-width,350px);max-width:calc(100% - 28px);height:calc(100% - 28px);margin:14px auto;border-radius:14px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.ks-modal-close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer}
.ks-modal-head{padding:14px 46px 10px 14px;border-bottom:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:8px}
.ks-modal-title{font-weight:900}
.ks-modal-proxy{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ks-modal-proxy-label{opacity:.8;font-weight:800}
.ks-modal-proxy-name{font-weight:900}
.ks-mini{border:1px solid rgba(0,0,0,.18);background:#fff;border-radius:999px;padding:6px 10px;cursor:pointer;font-weight:800}
.ks-mini:hover{background:#f1f1f1}
.ks-modal-body{flex:1;min-height:0}
.ks-modal-iframe{width:100%;height:100%;border:0}
