.role-module-picker { min-width: 0; }
.role-module-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 10px; }
.role-module-buttons { display: flex; gap: 8px; }
.role-module-buttons button { font-size: 12px; padding: 7px 12px; border-radius: 7px; }
.role-module-count { color: #748579; font-size: 11px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.role-module-options { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; padding: 12px; overflow: hidden; isolation: isolate; user-select: none; }
.role-module-options .role-module-option { min-width: 0; min-height: 49px; border: 1px solid transparent; border-radius: 7px; padding: 9px; font-size: 12px; line-height: 1.55; cursor: pointer; }
.role-module-option input { flex: 0 0 16px; margin: 0; cursor: pointer; }
.role-module-option span { overflow-wrap: anywhere; }
.role-module-section { grid-column:1/-1; padding:8px 0 2px; color:#254f44; font-size:13px; font-weight:700; }
.role-module-label { display:block; }
.role-module-note { display:block; margin-top:4px; font-size:10px; line-height:1.5; color:#7c8c80; font-weight:400; }
.role-module-options .role-module-option.is-special { grid-column:span 2; border-color:#bfd2c4; }
.role-module-options .role-module-option.is-fixed { background:#edf0e9; border-color:#dce3d7; color:#738075; cursor:default; }
.role-module-option.is-fixed input { cursor:default; }
.role-module-option:has(input:checked) { background: #fff0e5; border-color: #efb597; color: #a34825; }
.role-module-option:has(input:focus-visible) { outline: 2px solid #dd7443; outline-offset: 2px; }
.role-module-options.is-dragging, .role-module-options.is-dragging label, .role-module-options.is-dragging input { cursor: crosshair; }
.role-module-marquee { position: absolute; z-index: 1; pointer-events: none; border: 1px solid #e8753c; background: #ef6b2c16; border-radius: 3px; }
.field .role-module-help { margin: 8px 0 0; color: #819083; font-size: 11px; line-height: 1.6; }
@media(max-width:600px) { .role-module-options { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 10px; } .role-module-toolbar { gap: 8px; } }
@media(pointer:coarse) { .field .role-module-help { display: none; } }
