.sokom-form{max-width:560px;display:flex;flex-direction:column;gap:12px}
.sokom-form label{display:flex;flex-direction:column;gap:6px}
.sokom-form input, .sokom-form textarea, .sokom-form select{padding:8px 10px;border:1px solid #d0d0d0;border-radius:8px}
.sokom-btn{padding:10px 14px;border:0;border-radius:10px;background:#111;color:#fff;cursor:pointer;width:fit-content}
.sokom-alert{padding:10px 12px;border-radius:10px;margin:12px 0}
.sokom-alert--ok{background:#eaffea;border:1px solid #9adf9a}
.sokom-alert--error{background:#ffecec;border:1px solid #f2a0a0}
.sokom-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sokom-form--compact label{margin-bottom:6px}
.sokom-list{padding-left:18px}
.muted{opacity:.7}
.sokom-tablewrap{overflow:auto}
.sokom-table{border-collapse:collapse;width:100%}
.sokom-table th,.sokom-table td{border:1px solid #eee;padding:10px;vertical-align:top}
.sokom-pre{white-space:pre-wrap;margin:0;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;font-size:12px}
@media (max-width: 720px){.sokom-grid2{grid-template-columns:1fr}}
/* Simulated phone UI */
.sokom-phone-wrap{max-width:520px;margin:0 auto;}
.sokom-phone{border:1px solid #e5e5e5;border-radius:28px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.06);background:#fff;}
.sokom-phone__top{padding:14px 14px 10px;border-bottom:1px solid #eee;background:linear-gradient(180deg,#fafafa,#fff);}
.sokom-phone__title{font-weight:700;margin-bottom:8px;}
.sokom-phone__tabs{display:flex;flex-wrap:wrap;gap:6px;}
.sokom-chip{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid #ddd;background:#fff;text-decoration:none;font-size:13px;}
.sokom-chip.is-active{border-color:#111;background:#111;color:#fff;}
.sokom-phone__screen{padding:12px;background:#f6f7fb;min-height:420px;max-height:520px;overflow:auto;}
.sokom-bubble{background:#fff;border:1px solid #e6e6e6;border-radius:16px;padding:10px 12px;margin:10px 0;}
.sokom-bubble__meta{font-size:12px;color:#666;margin-bottom:6px;}

/* Tabs for notifications/phone */
.sokom-tabs{display:flex;gap:10px;margin:10px 0 14px;}
.sokom-tab{display:inline-block;padding:8px 12px;border-radius:12px;border:1px solid #ddd;background:#fff;text-decoration:none;font-weight:600;}
.sokom-tab.is-active{border-color:#111;background:#111;color:#fff;}

/* Consents grid */
.sokom-consents{display:grid;grid-template-columns:140px 120px 120px;gap:8px;align-items:center;margin:10px 0;}
.sokom-consents__head{font-size:13px;color:#444;}
.sokom-consents__rowlabel{font-weight:600;}
.sokom-consents__cell{display:flex;align-items:center;justify-content:flex-start;}

/* Portal form alignment fixes (themes sometimes center forms) */
.sokom-form--compact { max-width: 520px; }
.sokom-form--compact label { text-align:left; justify-content:flex-start !important; }
.sokom-form--compact input[type="checkbox"] { margin:0 8px 0 0; vertical-align:middle; }
.sokom-form--compact button.sokom-btn { display:inline-block; }


.sokom-cell label{display:flex;align-items:center;justify-content:flex-start;}

/* Table strong */
.sokom-matrix{width:100%;max-width:860px;border-collapse:separate;border-spacing:0;margin:16px 0;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;background:#fff;}
.sokom-matrix th,.sokom-matrix td{padding:12px 14px;border-bottom:1px solid #e5e7eb;}
.sokom-matrix tr:last-child td{border-bottom:none;}
.sokom-matrix th{background:#f8fafc;font-weight:700;}
.sokom-matrix tbody tr:nth-child(odd) td{background:#fcfcfd;}
.sokom-matrix tbody tr:hover td{background:#f5f5f5;}
.sokom-matrix td:nth-child(2),.sokom-matrix td:nth-child(3),.sokom-matrix th:nth-child(2),.sokom-matrix th:nth-child(3){text-align:center;width:110px;}
.sokom-matrix input[type="checkbox"]{width:18px;height:18px;}
