.s2-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:21px}.s2-page-heading h1{margin:0 0 5px;font-size:28px;line-height:1.2}.s2-page-heading p{margin:0;color:var(--muted)}.s2toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 180px auto auto;gap:10px;margin-bottom:18px}.s2form-table{width:100%;min-width:920px;border-collapse:collapse}.s2form-table th,.s2form-table td{padding:15px 16px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.s2form-table th{background:var(--surface-soft);color:#475467;font-size:12px;font-weight:750}.s2form-table tbody tr:hover{background:#fafaff}.s2form-title{font-weight:700}.s2form-id,.s2form-description{margin-top:3px;color:var(--muted);font-size:12px}.s2table-actions{display:flex;justify-content:flex-end;gap:7px}.s2menu-wrap{position:relative}.s2menu{position:absolute;z-index:100;top:calc(100% + 6px);right:0;display:grid;gap:3px;min-width:160px;padding:7px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-md)}.s2menu[hidden]{display:none}.s2menu button{width:100%;border:0;background:transparent;text-align:left}.s2menu button:hover{background:var(--brand-soft)}.s2menu .danger{color:var(--danger)}.s2status{min-height:23px;margin-top:12px;color:var(--brand-dark)}.s2empty{display:grid;place-items:center;min-height:180px;padding:30px;color:var(--muted);text-align:center}.s2pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.s2pagination-actions{display:flex;gap:8px}.s2editor-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:17px}.s2editor-toolbar-spacer{flex:1}.s2editor-card,.s2section{padding:22px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.s2section{margin-top:15px}.s2title{width:100%;border:0;border-bottom:1px solid var(--border);padding:8px 2px 12px;background:transparent;color:var(--text);font-size:27px;font-weight:750}.s2desc{width:100%;min-height:80px;margin-top:10px;padding:10px 2px;border:0;background:transparent;color:var(--text);resize:vertical}.s2title:focus,.s2desc:focus{outline:none;border-color:var(--brand)}.s2dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.s2choice{display:grid;gap:10px;margin:14px 0}.s2choice label{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--border);border-radius:9px;cursor:pointer}.s2choice label:hover{background:var(--surface-soft)}@media(max-width:760px){.s2-page-heading{flex-direction:column}.s2toolbar{grid-template-columns:1fr}.s2pagination{align-items:stretch;flex-direction:column}.s2editor-toolbar{align-items:stretch;flex-direction:column}.s2editor-toolbar-spacer{display:none}.s2dialog-actions{flex-direction:column-reverse}.s2dialog-actions .btn{width:100%}}


/* Floating action menu: appended to body to avoid table overflow clipping. */
.s2menu.s2menu-floating {
  position: fixed;
  z-index: 2500;
  min-width: 190px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.s2menu.s2menu-floating button {
  min-height: 44px;
  padding: 10px 12px;
}

@media (max-width: 760px) {
  .s2menu.s2menu-floating {
    width: auto;
    min-width: 0;
    padding: 10px;
    border-radius: 14px;
    box-shadow:
      0 20px 55px rgba(12, 18, 30, 0.3);
  }

  .s2menu.s2menu-floating button {
    min-height: 48px;
    font-size: 16px;
  }
}
