@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; background: #f1f5f9; min-height: 100vh; }
.input-field { background: white; border: 1px solid #e2e8f0; transition: all 0.2s; }
.input-field:focus { outline: none; border-color: #64748b; box-shadow: 0 0 0 3px rgba(100,116,139,0.1); }
.tab-btn { transition: all 0.2s; }
.tab-btn.active { background: #334155; color: white; }
.tab-btn:not(.active) { color: #64748b; }
.tab-btn:not(.active):hover { background: #e2e8f0; }
.tab-group-label { font-size: 0.65rem; font-weight: 600; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.05em; padding: 0 0.25rem; white-space: nowrap; flex-shrink: 0; }
.tab-divider { width: 1px; height: 1.25rem; background: #e2e8f0; margin: 0 0.25rem; flex-shrink: 0; }
.system-section { border-left: 4px solid; }
.system-section.system1 { border-color: #3b82f6; }
.system-section.system3 { border-color: #8b5cf6; }
.group-header { cursor: pointer; user-select: none; }
.group-header:hover { background: #f8fafc; }
.perm-item { transition: all 0.15s; }
.perm-item.checked { background: #f0f9ff; border-color: #93c5fd; }
.toast-message { transition: all 0.3s ease; }
.fade-in { opacity: 0; transform: translateY(10px); transition: opacity 0.4s, transform 0.4s; }
.fade-in.visible { opacity: 1; transform: translateY(0); }

/* Mobile responsive */
@media (max-width: 768px) {
  #tabNav {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0.25rem 0;
    position: relative;
  }
  #tabNav::-webkit-scrollbar { display: none; }
  #tabNav button { white-space: nowrap; flex-shrink: 0; font-size: 0.8rem; padding: 0.375rem 0.75rem; }
  .tab-group-label { font-size: 0.6rem; padding: 0 0.125rem; }
  .tab-divider { margin: 0 0.125rem; }
  .tab-scroll-hint {
    position: absolute; right: 0; top: 0; bottom: 0; width: 2rem;
    background: linear-gradient(to right, transparent, #fff);
    pointer-events: none;
  }
  input, select, textarea { font-size: 16px !important; }
}
